Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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"));
            }
        }