UNPKG

@zandor300/jsmodbus

Version:

Implementation for the Serial/TCP Modbus protocol.

86 lines 6.51 kB
import { EventEmitter } from 'events'; import { Socket } from 'net'; import ModbusAbstractRequest from './abstract-request'; import { BooleanArray } from './constants'; import ModbusServerClient from './modbus-server-client'; type AbstractRequest = ModbusAbstractRequest; export interface IModbusServerOptions { coils: Buffer; discrete: Buffer; holding: Buffer; input: Buffer; } export type BufferCB = (buffer: Buffer) => void; export default class ModbusServer extends EventEmitter { private _options; private get _coils(); private get _discrete(); private get _holding(); private get _input(); constructor(options?: Partial<IModbusServerOptions>); get coils(): Buffer; get discrete(): Buffer; get holding(): Buffer; get input(): Buffer; on(event: 'connection', listener: (client: ModbusServerClient<any, any, any>) => void): this; on(event: 'readCoils', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'preReadCoils', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'postReadCoils', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'readDiscreteInputs', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'preReadDiscreteInputs', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'postReadDiscreteInputs', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'readHoldingRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'preReadHoldingRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'postReadHoldingRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'readInputRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'preReadInputRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'postReadInputRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'writeSingleCoil', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'preWriteSingleCoil', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'postWriteSingleCoil', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'writeSingleRegister', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'preWriteSingleRegister', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'postWriteSingleRegister', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'writeMultipleCoils', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'preWriteMultipleCoils', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'writeMultipleCoils', listener: (coils: Buffer, oldStatus: BooleanArray) => void): this; on(event: 'postWriteMultipleCoils', listener: (coils: Buffer, newStatus: BooleanArray) => void): this; on(event: 'postWriteMultipleCoils', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'writeMultipleRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'preWriteMultipleRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'writeMultipleRegisters', listener: (holdingRegisters: Buffer) => void): this; on(event: 'postWriteMultipleRegisters', listener: (holdingRegisters: Buffer) => void): this; on(event: 'postWriteMultipleRegisters', listener: (request: AbstractRequest, cb: BufferCB) => void): this; on(event: 'connection', listener: (socket: Socket) => void): this; emit(event: 'connection', client: ModbusServerClient<any, any, any>): boolean; emit(event: 'readCoils', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'preReadCoils', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'postReadCoils', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'readDiscreteInputs', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'preReadDiscreteInputs', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'postReadDiscreteInputs', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'readHoldingRegisters', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'preReadHoldingRegisters', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'postReadHoldingRegisters', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'readInputRegisters', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'preReadInputRegisters', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'postReadInputRegisters', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'writeSingleCoil', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'preWriteSingleCoil', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'postWriteSingleCoil', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'writeSingleRegister', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'preWriteSingleRegister', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'postWriteSingleRegister', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'writeMultipleCoils', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'preWriteMultipleCoils', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'writeMultipleCoils', coils: Buffer, oldStatus: BooleanArray): boolean; emit(event: 'postWriteMultipleCoils', coils: Buffer, newStatus: BooleanArray): boolean; emit(event: 'postWriteMultipleCoils', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'writeMultipleRegisters', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'preWriteMultipleRegisters', request: AbstractRequest, cb: BufferCB): boolean; emit(event: 'writeMultipleRegisters', holdingRegisters: Buffer): boolean; emit(event: 'postWriteMultipleRegisters', holdingRegisters: Buffer): boolean; emit(event: 'postWriteMultipleRegisters', request: AbstractRequest, cb: BufferCB): boolean; } export {}; //# sourceMappingURL=modbus-server.d.ts.map