easymodbus串口模式调试测试
easymodbus串口模式调试测试
public int EasyModbusReadInputRegisters() { ModbusClient modbusClient = new ModbusClient(_spHelper.ConfigSerialPort.PortName); try { modbusClient.UnitIdentifier = _dcuInfo.siteId; modbusClient.Baudrate = _spHelper.ConfigSerialPort.BaudRate; modbusClient.Parity = (System.IO.Ports.Parity)_spHelper.ConfigSerialPort.Parity; modbusClient.StopBits = (System.IO.Ports.StopBits)_spHelper.ConfigSerialPort.StopBits; modbusClient.ConnectionTimeout = 500; modbusClient.Connect(); int[] result = modbusClient.ReadInputRegisters(54, 1); //PLC地址号 modbusClient.Disconnect(); return result[0]; } catch (Exception ex) { modbusClient.Disconnect(); return -1; } } public bool EasyWriteMultipleRegisters() { ModbusClient modbusClient = new ModbusClient(_spHelper.ConfigSerialPort.PortName); try { modbusClient.UnitIdentifier = _dcuInfo.siteId; //从机地址,0x01,0x02 modbusClient.Baudrate = _spHelper.ConfigSerialPort.BaudRate;//波特率 modbusClient.Parity = (System.IO.Ports.Parity)_spHelper.ConfigSerialPort.Parity; modbusClient.StopBits = (System.IO.Ports.StopBits)_spHelper.ConfigSerialPort.StopBits; modbusClient.ConnectionTimeout = 500; modbusClient.Connect(); int[] registers = new int[] { 3250, 3110 }; //要写的值 ushort startAddress = 54; //PLC从某个地址开始写 modbusClient.WriteMultipleRegisters(startAddress, registers); modbusClient.Disconnect(); return true; } catch (Exception ex) { if (modbusClient.Connected) { modbusClient.Disconnect(); } return false; } }
欢迎讨论,相互学习。
cdtxw@foxmail.com
分类:
C#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2021-07-04 Oracle VM VirtualBox 虚拟机中桥接模式一直不能用 ,需要安装 VBoxNetLwf.inf