前言
Modbus通讯是最常用的硬件通讯协调,我PLC接触的不多。Modbus保证了简单又高效的数据传输。
Modbus协议简单介绍
Modbus简单介绍
Modbus Poll和Modbus Slave 软件下载:必须下载
NModbus
一般带N开头的都是.NET平台移植版本。比如NLog,Log4Net。
NModbus Github仓库地址
NModbus使用
一般这种GitHub小项目都是没有详细的github项目介绍,都是以Demo的形式给你的。对于编程能力不强,英语能力不强的同学来说有点困难。
NModbus 官方文档,只是单纯列了一些函数
NModbus Demo
NModbus Simple
简单使用
注意:一定要先把Modbus Poll和Modbus Slave软件用明白。再去调试C# 程序。
这里以Modbus TCP 为例
static void Main(string[] args){Task.Run(ReadModbusTcp) ;Console.WriteLine("运行完毕");Console.ReadKey();}//简单的Task任务public async static Task ReadModbusTcp(){using (TcpClient client = new TcpClient("127.0.0.1", 502)){Console.WriteLine("启动Tcp连接");var factory = new ModbusFactory();IModbusMaster master = factory.CreateMaster(client);master.Transport.ReadTimeout = 2000;master.Transport.Retries = 10;// 从地址0开始,读取10个数据。ushort startAddress = 0;ushort numInputs = 10;while (true){var inputs = master.ReadInputRegisters(1, startAddress, numInputs);for (int i = 0; i < numInputs; i++){Console.WriteLine($"Input {( startAddress + i )}={( inputs[i] )}");}await Task.Delay(1000);}}}