NModbus类库使用
更新时间:2024-01-23 14:53:01 阅读量: 教育文库 文档下载
通过串口进行通信:
1、将NMobus类库导入工程中,添加引用、命名空间。工程属性必须配置为.NET 4.0。
2、创建SerialPort类的一个实例,配置参数,打开串口,如: 组
bool[] ReadCoils(byte slaveAddress, ushort startAddress, ushort numberOfPoints);
public SerialPort port = new SerialPort(“COM1”)//创建串口 port.BaudRate = 9600;//配置 port.DataBits = 8; port.Parity = Parity.None; port.StopBits = StopBits.One; port.Open();//打开串口
IModbusSerialMaster master = ModbusSerialMaster.CreateRtu(port);
//创建Rtu传输模式、通过串口port通信的主站master //ASCII传输模式
IModbusSerialMaster master = ModbusSerialMaster.CreateAscii(port);
3、调用相应方法创建Modbus主站,如:
4、配置参数,如:
master.Transport.ReadTimeout = 1000;//读取串口数据超时为1000ms master.Transport.WriteTimeout = 1000;//写入串口数据超时 master.Transport.Retries = 3;//重试次数
master.Transport.WaitToRetryMilliSeconds = 250;//重试间隔 try { }
master.WriteMultipleRegisters(slaveId, startAddress, registers);
5、调用相应方法执行功能,如:
有以下几种功能:
//读线圈,参数:从站地址(8位)、起始地址(16位)、数量(16位);返回布尔型数
//读输入离散量,参数:从站地址(8位)、起始地址(16位)、数量(16位);返回布尔型数组
bool[] ReadInputs(byte slaveAddress, ushort startAddress, ushort numberOfPoints);
//读保持寄存器,参数:从站地址(8位)、起始地址(16位)、数量(16位);返回16位整型数组
ushort[] ReadHoldingRegisters(byte slaveAddress, ushort startAddress, ushort
numberOfPoints);
//读输入寄存器,参数:从站地址(8位)、起始地址(16位)、数量(16位);返回16位整型数组
ushort[] ReadInputRegisters(byte slaveAddress, ushort startAddress, ushort numberOfPoints);
//写单个线圈,参数:从站地址(8位),线圈地址(16位),线圈值(布尔型) void WriteSingleCoil(byte slaveAddress, ushort coilAddress, bool value);
//写单个寄存器,参数:从站地址(8位),寄存器地址(16位),寄存器值(16位) void WriteSingleRegister(byte slaveAddress, ushort registerAddress, ushort value);
//写多个寄存器,参数:从站地址(8位),起始地址(16位),寄存器值(16位整型数组)
void WriteMultipleRegisters(byte slaveAddress, ushort startAddress, ushort[] data);
//写多个线圈,参数:从站地址(8位),起始地址(16位),线圈值(布尔型数组) void WriteMultipleCoils(byte slaveAddress, ushort startAddress, bool[] data);
//读写多个寄存器,参数:从站地址(8位),读起始地址(16位),数量(16位),写起始地址(16位),写入值(16位整型数组);返回16位整型数组
ushort[] ReadWriteMultipleRegisters(byte slaveAddress, ushort startReadAddress, ushort numberOfPointsToRead, ushort startWriteAddress, ushort[] writeData);
6、使用catch语句捕捉异常:
如果执行没有出错,则不抛出异常,如果是执行读操作则能得到相应的响应超时会抛出TimeoutException类型的异常;
接收到从站的异常响应时会抛出SlaveException类型的异常,这一类异常
返回值。
包含SlaveExceptionCode属性,即异常码,通过判断异常码能得知出错的原因。
正在阅读:
NModbus类库使用01-23
2014年公开遴选 - 安顺市直机关遴选公务员报名9月底结束11-30
2019高三数学(理)二轮专题复习文档:考前冲刺四溯源回扣四数列与不等式12-21
装饰装修工程监理工作详解09-02
网络管理103-14
用虽然但造句02-11
圣诞节的由来作文06-14
福建省棉纺行业工艺流程规范导引05-04
主要病虫害防治第4部分07-29
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- NModbus
- 使用
- 《爱护公共设施》教案
- 16秋《大学语文》离线作业1
- 2016护士执业资格考试预测过关(专业实务2)来试试吧
- 学校中层竞聘演讲稿
- 最新2017人教版中华成语千字文(打印稿)
- 2006年下半年会计基础题
- 人工汗液配制方法
- 危险源辩识、风险评价和控制管理程序(第3版)
- 省直机关意识形态暨文化建设推进会发言材料和交流材料(妇女联合会)
- 论语选读:高山仰止(重点版)
- 2009年新目标英语7-9年级总复习精品讲义
- 科普知识进社区专题活动试题及答案(184)
- 福建师范大学17年8月课程考试《微观经济学》作业考核试题 - 图文
- 土地评估报告 - 图文
- 各类原产地证证书填制规范
- 15级16班(口香糖)结题 - 图文
- 2014-2019年中国物业服务行业市场分析与发展趋势预测报告
- 施工班组考核评比管理办法
- 中国桌面显示器行业市场前景分析预测年度报告(目录) - 图文
- 关于开展公安机关主题教育实践活动专题调研的汇报