UNPKG

njs-modbus

Version:

A pure JavaScript implemetation of Modbus for NodeJS.

82 lines (81 loc) 4.42 kB
import type { AbstractApplicationLayer } from '../layers/application'; import type { AbstractPhysicalLayer } from '../layers/physical'; import type { DeviceIdentification, ServerId } from '../types'; import EventEmitter from 'node:events'; interface ModbusMasterEvents { error: [error: Error]; close: []; } interface ReturnValue<T> { transaction?: number; unit: number; fc: number; data: T; buffer: Buffer; } export declare class ModbusMaster<A extends AbstractApplicationLayer, P extends AbstractPhysicalLayer> extends EventEmitter<ModbusMasterEvents> { private applicationLayer; private physicalLayer; timeout: number; get isOpen(): boolean; get destroyed(): boolean; constructor(applicationLayer: A, physicalLayer: P, timeout?: number); private waitResponse; private writeFC1Or2; writeFC1: this['readCoils']; readCoils(unit: 0, address: number, length: number, timeout?: number): Promise<void>; readCoils(unit: number, address: number, length: number, timeout?: number): Promise<ReturnValue<boolean[]>>; writeFC2: this['readDiscreteInputs']; readDiscreteInputs(unit: 0, address: number, length: number, timeout?: number): Promise<void>; readDiscreteInputs(unit: number, address: number, length: number, timeout?: number): Promise<ReturnValue<boolean[]>>; private writeFC3Or4; writeFC3: this['readHoldingRegisters']; readHoldingRegisters(unit: 0, address: number, length: number, timeout?: number): Promise<void>; readHoldingRegisters(unit: number, address: number, length: number, timeout?: number): Promise<ReturnValue<number[]>>; writeFC4: this['readInputRegisters']; readInputRegisters(unit: 0, address: number, length: number, timeout?: number): Promise<void>; readInputRegisters(unit: number, address: number, length: number, timeout?: number): Promise<ReturnValue<number[]>>; writeFC5: this['writeSingleCoil']; writeSingleCoil(unit: 0, address: number, value: boolean, timeout?: number): Promise<void>; writeSingleCoil(unit: number, address: number, value: boolean, timeout?: number): Promise<ReturnValue<boolean>>; writeFC6: this['writeSingleRegister']; writeSingleRegister(unit: 0, address: number, value: number, timeout?: number): Promise<void>; writeSingleRegister(unit: number, address: number, value: number, timeout?: number): Promise<ReturnValue<number>>; writeFC15: this['writeMultipleCoils']; writeMultipleCoils(unit: 0, address: number, value: boolean[], timeout?: number): Promise<void>; writeMultipleCoils(unit: number, address: number, value: boolean[], timeout?: number): Promise<ReturnValue<boolean[]>>; writeFC16: this['writeMultipleRegisters']; writeMultipleRegisters(unit: 0, address: number, value: number[], timeout?: number): Promise<void>; writeMultipleRegisters(unit: number, address: number, value: number[], timeout?: number): Promise<ReturnValue<number[]>>; handleFC17: this['reportServerId']; reportServerId(unit: 0, timeout?: number): Promise<void>; reportServerId(unit: number, timeout?: number): Promise<ReturnValue<ServerId>>; handleFC22: this['maskWriteRegister']; maskWriteRegister(unit: 0, address: number, andMask: number, orMask: number, timeout?: number): Promise<void>; maskWriteRegister(unit: number, address: number, andMask: number, orMask: number, timeout?: number): Promise<ReturnValue<{ andMask: number; orMask: number; }>>; handleFC23: this['readAndWriteMultipleRegisters']; readAndWriteMultipleRegisters(unit: 0, read: { address: number; length: number; }, write: { address: number; value: number[]; }, timeout?: number): Promise<void>; readAndWriteMultipleRegisters(unit: number, read: { address: number; length: number; }, write: { address: number; value: number[]; }, timeout?: number): Promise<ReturnValue<number[]>>; handleFC43_14: this['readDeviceIdentification']; readDeviceIdentification(unit: 0, readDeviceIDCode: number, objectId: number, timeout?: number): Promise<void>; readDeviceIdentification(unit: number, readDeviceIDCode: number, objectId: number, timeout?: number): Promise<ReturnValue<DeviceIdentification>>; open(...args: Parameters<P['open']>): Promise<void>; close(): Promise<void>; destroy(): Promise<void>; } export {};