コード例 #1
0
        static void Main(string[] args)
        {
            var logger = new ConsoleModbusLogger();

            var channelProvider = new TcpServerModbusChannelProvider(502)
                                  //var channelProvider = new UdpServerModbusChannelProvider(502)
            {
                Logger = logger
            };

            var modbusSlaveService = new ModbusSlaveService(channelProvider)
            {
                //Serializer = new ModbusRtuSerializer(),
                Serializer = new ModbusTcpSerializer(),
                //Serializer = new ModbusAsciiSerializer(),
                Logger = logger,
                [1]    = new ModbusSlave()
            };

            modbusSlaveService[1].InputRegisters.Allocate(100, 1.23f);

            channelProvider.Start();

            Console.ReadKey();
        }
コード例 #2
0
        static void Main(string[] args)
        {
            var logger = new ConsoleModbusLogger();

            var modbusMaster = new ModbusMaster
            {
                Channel = new TcpClientModbusChannel("127.0.0.1", 502, 1000)
                          //Channel = new UdpClientModbusChannel("127.0.0.1", 502)
                {
                    Logger = logger
                },
                //Serializer = new ModbusRtuSerializer(),
                Serializer = new ModbusTcpSerializer(),
                //Serializer = new ModbusAsciiSerializer(),
                Logger = logger,
            };

            while (true)
            {
                Thread.Sleep(1000);

                try
                {
                    var request  = new ModbusReadRequest(1, ModbusObjectType.InputRegister, 100, 2);
                    var resposne = modbusMaster.Request(request, 1000);

                    Console.WriteLine((resposne as ModbusReadRegisterResponse).GetSingle(100));
                }
                catch
                {
                }
            }
        }