diff --git a/src/modbus-rtu-server.ts b/src/modbus-rtu-server.ts index 36359f3..e410588 100644 --- a/src/modbus-rtu-server.ts +++ b/src/modbus-rtu-server.ts @@ -16,7 +16,8 @@ export default class ModbusRTUServer extends ModbusServer { const fromBuffer = ModbusRTURequest.fromBuffer const fromRequest = ModbusRTUResponse.fromRequest as any - const client = new ModbusServerClient(this, socket, fromBuffer, fromRequest) + const slaveId = options && typeof options.slaveId !== 'undefined' ? options.slaveId : -1 + const client = new ModbusServerClient(this, socket, fromBuffer, fromRequest, slaveId) this.emit('connection', client) } } diff --git a/src/modbus-server-client.ts b/src/modbus-server-client.ts index b84103e..8965bfa 100644 --- a/src/modbus-server-client.ts +++ b/src/modbus-server-client.ts @@ -20,12 +20,13 @@ export default class ModbusServerClient< server: ModbusServer, socket: S, fromBufferMethod: ReqFromBufferMethod, - fromRequestMethod: ResFromRequestMethod + fromRequestMethod: ResFromRequestMethod, + slaveId: number = -1 ) { this._server = server this._socket = socket - this._requestHandler = new ModbusServerRequestHandler(fromBufferMethod) + this._requestHandler = new ModbusServerRequestHandler(fromBufferMethod, slaveId) this._responseHandler = new ModbusServerResponseHandler(this._server, fromRequestMethod) this._socket.on('data', this._onData.bind(this)) diff --git a/src/modbus-server-request-handler.ts b/src/modbus-server-request-handler.ts index 9f7abe7..751389f 100644 --- a/src/modbus-server-request-handler.ts +++ b/src/modbus-server-request-handler.ts @@ -7,11 +7,13 @@ export default class ModbusServerRequestHandler void