public byte[] getMessage() { byte result[] = new byte[4]; result[0] = (byte) ((m_Reference >> 8) & 0xff); result[1] = (byte) (m_Reference & 0xff); result[2] = (byte) ((m_Register.getValue() >> 8) & 0xff); result[3] = (byte) (m_Register.getValue() & 0xff); return result; }
public ModbusResponse createResponse() { WriteSingleRegisterResponse response = null; Register reg = null; // 1. get process image ProcessImage procimg = ModbusCoupler.getReference().getProcessImage(); // 2. get register try { reg = procimg.getRegister(m_Reference); // 3. set Register reg.setValue(m_Register.toBytes()); } catch (IllegalAddressException iaex) { return createExceptionResponse(Modbus.ILLEGAL_ADDRESS_EXCEPTION); } response = (WriteSingleRegisterResponse) getResponse(); return response; }
public void writeData(DataOutput dout) throws IOException { dout.writeShort(m_Reference); dout.write(m_Register.toBytes()); }