public byte[] Get_byte_array(ushort adress, ushort data) { WRITE_SINGLE_REGISTER p = new WRITE_SINGLE_REGISTER(); p.function_code = (byte)0x06; p.st_adr_hi = (byte)(adress >> 8); p.st_adr_lo = (byte)adress; p.value_hi = (byte)(data >> 8); p.value_lo = (byte)data; CreateMBSend(p); Thread.Sleep(50); return(p.DataBuffer); }
public void WriteSingleRegister(ushort adress, ushort data) { WRITE_SINGLE_REGISTER p = new WRITE_SINGLE_REGISTER(); p.function_code = (byte)ModbusCodes.MOD_WRITE_SINGLE_REGISTER; p.st_adr_hi = (byte)(adress >> 8); p.st_adr_lo = (byte)adress; p.value_hi = (byte)(data >> 8); p.value_lo = (byte)data; CreateMBSend(p); WRITECOMPORT(p.DataBuffer, 0, p.BufferSize); int TrustSize = p.BufferSize; ReadSingleReg(p, p); if (p.BufferSize != TrustSize) { throw (new Exception("Ошибка WRITE_SINGLE_REGISTER")); } }