组态王与网关设备的通讯(京金华TNode-M多网口网关)

1.网关设备选取的是京金华多网口网关,网关采取透明传输的模式,进行数据透传。
2.组态王需安装Modbus TCP驱动(可从组态王官网下载)

第一步:首先设置京金华网关,选择工作模式为Server模式
在这里插入图片描述
然后设置波特率停止位,以及串口所对应的TCP IP端口。
在这里插入图片描述
这样一来,网关设置完毕

第二步:配置组态王
选择志诚油机下的TCP通讯
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里选择志诚油机的原因是,京金华所对应的ModbusTCP协议不是标准的莫迪康下ModbusTCP协议,因为莫迪康下载的是Modbus Master协议,只是在Master协议下包含了TCP协议,而志诚油机则是单独的ModbusTCP协议,故选择志诚油机。一般情况下都是在莫迪康下选择,这个大家根据自己的网关做相应的选择。
这样基本设置已经完成,其次创建变量
在这里插入图片描述
然后在组态王建立变量并运行,运行结果如下
在这里插入图片描述

注意点:
1.在调试Modbus RTU通讯,和Modbus TCP通讯时,发现在传输速率上,RTU明显超过了TCP,后来进行相关资料的查阅发现是因为所带的485设备,经过网关后转成了TCP协议的数据包,步骤上多了,其次多了繁琐的校验,所以在最终传输的速率上慢了下来,延迟的时间大概在1到2秒左右。而485基本可以做到ms级别,这个是正常的。
2.有时候会遇到,串口助手调试的值与组态王的值,对应不上,这个问题的解决,首先要从使用产品的手册查看,一般厂家会标明,如何读取传感器正确的数值,而这样读取的数值就是标准值。
以此为标准来调整组态王,调整组态王首先找到协议驱动的安装地址,以组态王软件安装在C盘为例子,驱动地址在C:\Program Files (x86)\kingview\Driver
找到安装的驱动文件ModbusTCP.ini (因为我们之前安装的驱动就是ModbusTCP.dll)
打开ini文件
在这里插入图片描述
调整,SwapF,SwapL,就会得出正确的结果,用户根据组态王设定的变量类型,来调整。

swapf寄存器是修改浮点型数据的高低位的
swapl寄存器是修改长整型数据的高低位的

在组态王数据词典中建立变量高地位调整,关联swapf寄存器,读写,然后在画面中建立文本,关联此变量,往里面写0,1,2,3
当SWAP = 0时,转换后浮点数对应的内存值为: HV4 HV3 HV2 HV1。
当SWAP = 1时,转换后浮点数对应的内存值为: HV3 HV4 HV1 HV2。
当SWAP = 2时,转换后浮点数对应的内存值为: HV1 HV2 HV3 HV4。
当SWAP = 3时,转换后浮点数对应的内存值为: HV2 HV1 HV4 HV3。

TCP连接方式:
[PackLen_]IP[:Port] Address[/TimeOut] [|SwapF|SwapL|SwapC]
PackLen 0-200 打包长度
IP 0-255 设备IP地址或域名
Port 0-65535 设备IP地址端口,(不写时默认为502)
Address 0-255 设备地址
TimeOut 0-65535 网络超时(不写时默认3秒)
SwapF 0-3 浮点数的字节顺序,默认为配置文件中所写
SwapL 0-3 长整型的字节顺序,默认为配置文件中所写
SwapC 0-1 CRC校验的字节顺序,默认为配置文件中所写

每个厂家对寄存器地址存储的方式不尽相同,可能存在高低位的差别,用户根据安装驱动手册的说明,进行相应的调整。
调试过程结束。

猜你喜欢

转载自blog.csdn.net/qq_18671205/article/details/88526347
今日推荐