libmodbus g070 485响应时间

libmodbus g070 485响应时间,第1张

1 下载qextserialport源码(自己可以百度搜索下载)。
2 如果是linux下的工程,将该压缩包中的posix_qextserialport,qextserialbase的cpp以及h文件加入到工程中,然后在工程中定义一个posix_qextserialport变量(假设变量名为RS232),即可对串口进行 *** 作。
3 若是在windows下,则将win_qextserialport,qextserialbase的cpp以及h文件加入到工程中。
4 找一个modbus标准协议,将 Modbus CRC的两个表格放在数组中供查询,该表格用于计算CRC校验值。一般 modbus协议规范中会附CRC的计算方法。
5 在通讯数据组织好后,计算其CRC校验值,放在组织好的通讯数据(假设通讯数据存放在TxData中)的最后,然后RS232->writeData(TxData,Count)。其中writeData是qextserialport定义的函数,Count是要写入的数据量。

当然要依赖硬件,协议类似于对情报的加密规则,有了加密规则才知道情报的密文是什么。情报本身肯定需要人员来传送的。modbus一般用在485的接口上,实现一主机多从机的通信,你可以去看一下modbus中文协议,有个国家标准,详细说到这个了。
modbus涉及到通信的第六七层,应用层,485接口属于物理层。
国家标准叫 GB-T19582-2008通信协议(三部分)[基于Modbus的工业自动化网络协议]

(1)Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。在NI的产品中,Modbus主要用于实现PLC的通信。LabVIEW和PLC通信最简单的方式有两种:Modbus或者NIOPCServer前者需要PLC安装Modbus模块;后者需要对特定PLC设备支持才能保证正常连接,OPCServer支持的设备列表。在实现方面,Modbus实现方式的物理接口有以太网与串口两种,在LabVIEW编程中也得到了体现。(2)需要安装LabVIEWDataloggingandSupervisoryControlModule,NI官方网站上现在只能搜索到DSC-2011以及DSC-86Module的下载,客户可以点击下载后,将下载地址最后改为2010即可下载2010版本。(3)Modbus地址为包含数据类型和偏移量的6个字符的数值。左边两个字符决定数据类型,右边四个字符是该数据类型中的序号。客户所描述的40001~4xxxx是美国modicon公司和ge公司plc使用的Modbus地址,它是基于1的地址,即同类元件的首地址为1。西门子plc的Modbus地址是基于0的地址。美国的Modbus地址左起第2位用来表示元件的类型,例如i00的Modbus地址为010001。因为数据类型已经包含在功能码中了,西门子的i00的Modbus地址实际上为000000,i20的Modbus地址为000016(或十六进制数16#0010),而不是010017。某些时候,Modbus地址的后4位被标记为偏置。这时,可能在第一位和第二位之间添0致使5位地址变为6位。比如,如果您的用户手册上建议您使用地址40001和某个寄存器通信,你可以在LabVIEWDSC或者在ModbusI/O服务器上使用400001来与之通信。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13212960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-21
下一篇 2023-06-21

发表评论

登录后才能评论

评论列表(0条)

保存