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

            float[] data = await modbus.ReadFloatArrayAsync(MODBUS_SLAVE, 0, 5);

            Assert.Equal(5, data.Length);
            await modbus.WriteFloatArrayAsync(MODBUS_SLAVE, 0, new float[] { 0.12345F, 1.2345F, 12.345F, 123.45F, 1234.5F });

            data = await modbus.ReadFloatArrayAsync(MODBUS_SLAVE, 0, 5);

            Assert.Equal(5, data.Length);
            Assert.Equal(new float[] { 0.12345F, 1.2345F, 12.345F, 123.45F, 1234.5F }, data);
            await modbus.WriteFloatArrayAsync(MODBUS_SLAVE, 0, new float[] { 0, 0, 0, 0, 0 });

            data = await modbus.ReadFloatArrayAsync(MODBUS_SLAVE, 0, 5);

            Assert.Equal(5, data.Length);
            Assert.Equal(new float[] { 0, 0, 0, 0, 0 }, data);
            data = await modbus.ReadOnlyFloatArrayAsync(MODBUS_SLAVE, 0, 5);

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