示例#1
0
        public async Task TestBits()
        {
            var           factory = new ModbusFactory();
            IModbusMaster modbus  = factory.CreateMaster(_client);
            await _client.ConnectAsync(MODBUS_IP, MODBUS_PORT);

            BitArray data = await modbus.ReadBitsAsync(MODBUS_SLAVE, 0);

            Assert.Equal(16, data.Length);
            await modbus.WriteBitsAsync(MODBUS_SLAVE, 0, new BitArray(16, true));

            data = await modbus.ReadBitsAsync(MODBUS_SLAVE, 0);

            Assert.Equal(16, data.Length);
            Assert.Equal(new BitArray(16, true), data);
            await modbus.WriteBitsAsync(MODBUS_SLAVE, 0, new BitArray(16, false));

            data = await modbus.ReadBitsAsync(MODBUS_SLAVE, 0);

            Assert.Equal(16, data.Length);
            Assert.Equal(new BitArray(16, false), data);
            data = await modbus.ReadOnlyBitsAsync(MODBUS_SLAVE, 0);

            Assert.Equal(16, data.Length);
        }