勤工俭学
deep throat
级别: 论坛先锋
精华主题: 0
发帖数量: 188 个
工控威望: 1567 点
下载积分: 5955 分
在线时间: 120(小时)
注册时间: 2016-03-10
最后登录: 2024-09-27
查看勤工俭学的 主题 / 回贴
楼主  发表于: 2020-01-13 22:45
参数配置如图。


程序是手册里的例程。





  
与no.2设备通信时,用调试助手发现可以连接得上,sd10680.1接通。
但是置位M2000发送时数据会出现c1b1的报警,接收也会出现c1b1报警。
手册里的内容,C1B1H 指定连接的开放处理未结束。 处理方法,进行开放处理,并在开放结束后进行通信。


plc作为服务器只是侦听,被动等待链接,不需要像客户端那样主动要求连接。

有个问题,上图参数配置中,plc与no.2设备连接时,plc是作为服务器,no.2设备是作为客户端吧?

20200114
no.2设备连接改为用unpassive方式,和调试助手连上了,无论收发都会出现上述报警。

终于找到问题了。还是自己没有仔细看好手册,没有对指令理解好。


上述指令通道2时应该选择k2,而不是k1,该参数的取值范围是从k1~k8。我一开始以为指令输入参数中的“u0”就可以表示通道了,其实这个也是错的。
为什么报错指定连接的开放处理未结束,其实就是我一直对通道1进行操作,而通道1中plc是作为客户端的,需要主动连接。
这也解释中间遇到其他因为这个错误而造成的现象。
1:中间遇到如果no.1设备连上后,那么与no.2设备进行连接后通信收发是不会报错的,no.1连上后,已经打开完成了,no.2程序中使用收发指令不会出现开放处理未结束报警。
2:当no.1和no.2都连上后,与no.2的数据发送都出现在no.1中。


感谢给予帮助的网友!
[ 此帖被勤工俭学在2020-01-14 10:47重新编辑 ]
本帖最近评分记录:
  • 下载积分:+1(啊对对对对对)
    zoujiasheng
    同是天涯沦落人
    级别: 略有小成
    精华主题: 0
    发帖数量: 124 个
    工控威望: 228 点
    下载积分: 587 分
    在线时间: 55(小时)
    注册时间: 2019-09-12
    最后登录: 2024-07-14
    查看zoujiasheng的 主题 / 回贴
    1楼  发表于: 2021-01-07 16:58
    问一下,5U作为客户端,可以MODEBUS/TCP同时与两台机器人进行通信吗,机器人端都作为服务器端 。不是socket,走的通信协议
    ...
    zoujiasheng
    同是天涯沦落人
    级别: 略有小成
    精华主题: 0
    发帖数量: 124 个
    工控威望: 228 点
    下载积分: 587 分
    在线时间: 55(小时)
    注册时间: 2019-09-12
    最后登录: 2024-07-14
    查看zoujiasheng的 主题 / 回贴
    2楼  发表于: 2021-01-07 17:04
    图片:
    还有这个模块ID,是不是我与第一台设备作为客户端通信我应该【MOV H1 模块ID地址】,与第二台设备作为客户端通信应该【MOV H2 模块ID地址】。还有轮询应该是单独轮询还是两台机器人一起轮询。万分感谢
    ...