diff --git a/modbus/client-serial-modbus.py b/modbus/client-serial-modbus.py index 8ae44f5..982065f 100644 --- a/modbus/client-serial-modbus.py +++ b/modbus/client-serial-modbus.py @@ -80,21 +80,21 @@ def run_sync_client(udp_addr, udp_port_rx, udp_port_tx, serial_port, serial_baud rc = False if message['code'] == 'write': data = message['data'] - rq = client.write_registers(data[0], data[1:], unit=unit_num) + rq = client.write_registers(data[0], data[1:], unit=message['unit']) rc = rq.isError() if not rc: tx_data = json_encoder.encode({'code': 'resp_write', 'data': ''}) sock.sendto(bytes(tx_data, 'utf-8'), (udp_addr, udp_port_tx)) elif message['code'] == 'read_holding': data = message['data'] - rq = client.read_holding_registers(data[0], data[1], unit=unit_num) + rq = client.read_holding_registers(data[0], data[1], unit=message['unit']) rc = rq.isError() if not rc: tx_data = json_encoder.encode({'code': 'resp_holding', 'data': [data[0]] + rq.registers}) sock.sendto(bytes(tx_data, 'utf-8'), (udp_addr, udp_port_tx)) elif message['code'] == 'read_input': data = message['data'] - rq = client.read_input_registers(data[0], data[1], unit=unit_num) + rq = client.read_input_registers(data[0], data[1], unit=message['unit']) rc = rq.isError() if not rc: tx_data = json_encoder.encode({'code': 'resp_input', 'data': [data[0]] + rq.registers}) @@ -106,7 +106,7 @@ def run_sync_client(udp_addr, udp_port_rx, udp_port_tx, serial_port, serial_baud code = message['code'] data = message['data'] rc_msg = EXCEPT_MSGS[code] - tx_data = json_encoder.encode({'code': 'exception', 'data': rc_msg}) + tx_data = json_encoder.encode({'code': 'exception', 'data': rc_msg, 'unit': message['unit']}) sock.sendto(bytes(tx_data, 'utf-8'), (udp_addr, udp_port_tx)) log.error( 'ошибка при выполнении команды: \"%s\". данные: \"%s\", порт: \"%s\", скорость: %s'