您现在所在的是:

PLC论坛

回帖:15个,阅读:1871 [上一页] [1] [2] [下一页]
27959
guanyumou 版主
文章数:10552
年度积分:1142
历史总积分:27959
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2019/4/18 16:10:59
#10楼
以下是引用ddt2502019/4/18 8:14:14的发言:
加液泵只能用8,n,1,9600,这是不可调的,变频器倒是能改,我去改下试试。
你用的这款变频器当设置成8位数据、无校验时,好像停止位可以设置1位、也可以设置2位!
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
27959
guanyumou 版主
文章数:10552
年度积分:1142
历史总积分:27959
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2019/4/18 16:25:19
#11楼
以下是引用ddt2502019/4/18 8:14:14的发言:
加液泵只能用8,n,1,9600,这是不可调的,变频器倒是能改,我去改下试试。
把变频器通信参数也改成Modbus RTU、8、N、1、9600,几个从站站号区分开来,重新写个程序!
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
4551
ddt250
文章数:892
年度积分:536
历史总积分:4551
注册时间:2016/12/26
发站内信
发表于:2019/4/20 10:04:03
#12楼
通讯变频器用了MODRW指令,通讯加液泵用了RS指令。把通讯参数改成了8N1,9600,RTU。然后改成了计时器做轮询,轮询时间小于110ms就有问题。
最终程序扫描周期18.5ms,参数显示有1s左右的延迟。再小就会丢包。

耗时6天,我一共弄了5个版本的程序,算是基本交差了。
附件 QQ截图20190420100841.jpg
[此贴子已经被作者于2019/4/20 10:08:52编辑过]
27959
guanyumou 版主
文章数:10552
年度积分:1142
历史总积分:27959
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2019/4/20 17:51:30
#13楼
以下是引用ddt2502019/4/20 10:04:03的发言:
通讯变频器用了MODRW指令,通讯加液泵用了RS指令。把通讯参数改成了8N1,9600,RTU。然后改成了计时器做轮询,轮询时间小于110ms就有问题。
最终程序扫描周期18.5ms,参数显示有1s左右的延迟。再小就会丢包。

耗时6天,我一共弄了5个版本的程序,算是基本交差了。
附件 QQ截图20190420100841.jpg
[此贴子已经被作者于2019/4/20 10:08:52编辑过]
不明白你!既然通信参数可以统一到8N1,9600,MODBUS RTU,那么PLC和这几个从站通信,为什么不都用MODRW指令呢?
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
4551
ddt250
文章数:892
年度积分:536
历史总积分:4551
注册时间:2016/12/26
发站内信
发表于:2019/4/22 8:31:52
#14楼
回复 #13楼 guanyumou
加液泵不是标准modbus协议,modrw指令识别不了。
比如变频器通讯的时候,通讯1号变频器的H2001地址,发送的数据帧是01 03 20 01 00 02 FF FF(校验胡写的),返回01 03 04 XX XX XX XX FF FF。加液泵通讯的时候,发送数据帧没问题,都是一样的。返回数据帧01 03 00 04 XX XX XX XX FF FF。问题就出在01 03后面的数据字节数这个位置,它是两个8位,前面是00,这样的格式MODRW识别不了,接不到返回的数据。
27959
guanyumou 版主
文章数:10552
年度积分:1142
历史总积分:27959
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2019/4/22 10:17:43
#15楼
以下是引用ddt2502019/4/22 8:31:52的发言:
加液泵不是标准modbus协议,modrw指令识别不了。
比如变频器通讯的时候,通讯1号变频器的H2001地址,发送的数据帧是01 03 20 01 00 02 FF FF(校验胡写的),返回01 03 04 XX XX XX XX FF FF。加液泵通讯的时候,发送数据帧没问题,都是一样的。返回数据帧01 03 00 04 XX XX XX XX FF FF。问题就出在01 03后面的数据字节数这个位置,它是两个8位,前面是00,这样的格式MODRW识别不了,接不到返回的数据。
加液泵返回数据中的字节个数这个占用2个字节,而标准的Modbus协议占用1个字节!
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003