3

次のケースがあります: PTV 画面に表示されるタグ 400001 から 400006 に情報を送信する必要があります。modbus を使用した経験はあまりありませんが、関数コード 16 を使用してタグ値を設定する必要があることを理解しています。

現在、次のコードがあり、シミュレーターで動作するようです:

// Open the connection
TCPMasterConnection connection = new TCPMasterConnection(address);
connection.setPort(Modbus.DEFAULT_PORT);
connection.connect();

ModbusTCPTransaction trans = new ModbusTCPTransaction(connection); //the transaction

// Prepare the request
SimpleRegister[] registers = new SimpleRegister[1];
registers[0] = new SimpleRegister(15);

WriteMultipleRegistersRequest req = new WriteMultipleRegistersRequest(400001, registers);

req.setUnitID(1);
trans.setRequest(req);
//No we are ready for action. The last part is executing the prepared transaction the given (repeat) number of times and then for cleanup, close the connection:
log.debug("ModbusSlave: FC" + req.getFunctionCode() + " ref=" + req.getReference() + " value=" + registers[0].getValue());
trans.execute();

// Close the connection
connection.close();

しかし、「0010323」のような文字列を設定する方法は?

4

0 に答える 0