勤工俭学
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(啊对对对对对)
    勤工俭学
    deep throat
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 188 个
    工控威望: 1567 点
    下载积分: 5955 分
    在线时间: 120(小时)
    注册时间: 2016-03-10
    最后登录: 2024-09-27
    查看勤工俭学的 主题 / 回贴
    1楼  发表于: 2020-01-13 23:07
    引用
    引用第1楼蒲城风信子于2020-01-13 22:59发表的  :
    你自己不是已经选择了吗 是的 与通道1连接 PLC做的是客户端。与通道2连接 PLC做的是服务端

    我不明白的是为什么还会出现报警,报警代码的内容是指定连接的开放处理未结束。这时候plc作为服务器应该是一直侦听,侦听到no.2的连接请求后置位sd10680.1。然后就可以进行数据的收发。不明白为什么报警。是不是我哪里没有理解到位,导致错误了?
    勤工俭学
    deep throat
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 188 个
    工控威望: 1567 点
    下载积分: 5955 分
    在线时间: 120(小时)
    注册时间: 2016-03-10
    最后登录: 2024-09-27
    查看勤工俭学的 主题 / 回贴
    2楼  发表于: 2020-01-13 23:29
    引用
    引用第3楼999感冒灵于2020-01-13 23:17发表的  :
    近期玩5U以太网功能   你很多东西道搞错了,有点懵哦。。SD10680.0才是通道1 SD10680.1是通道2  。。你的以太网也没有设服务器的端口。 你现在两个通道PLC道是客户端

    sd10680.0是给no.1连接设备用的,也就是通道1。sd10680.2是给no.2连接设备用的,也就是通道2。这样理解对吗?
    可以从哪里设置以太网服务器端口?上面参数配置的192.168.3.250:60002为什么不是服务器端口?
    我也是这几天开始弄的,有挺多不了解的地方。问题可能比较低级,不要介意。
    勤工俭学
    deep throat
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 188 个
    工控威望: 1567 点
    下载积分: 5955 分
    在线时间: 120(小时)
    注册时间: 2016-03-10
    最后登录: 2024-09-27
    查看勤工俭学的 主题 / 回贴
    3楼  发表于: 2020-01-13 23:37
    引用
    引用第5楼999感冒灵于2020-01-13 23:29发表的  :
    玩了 套接字TCP/UDP 客户端 服务器 ..Modbus TCP 和西门子200Smrat 通讯

    厉害!
    我通道2连接是连上了,只是收发数据的时候会出现报错。c1b1的报警,说是开放处理未结束,难道是客户端侧的no.2设备出问题了?开放处理未结束,是不是建立连接时,缺少某一个握手信号?
    勤工俭学
    deep throat
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 188 个
    工控威望: 1567 点
    下载积分: 5955 分
    在线时间: 120(小时)
    注册时间: 2016-03-10
    最后登录: 2024-09-27
    查看勤工俭学的 主题 / 回贴
    4楼  发表于: 2020-01-13 23:39
    引用
    引用第6楼999感冒灵于2020-01-13 23:34发表的  :

    不是哦 SD10680.0-7 对应的是 1-8个通道 。那个我说错了 通道2确实是服务器,不过没必要用Fullpassive这样方式,做服务器还要知道客户端IP和端口太烦,直接用Unpassive

    我明天试一下unpassive的方式看看,我现在对tcp/ip通信还不是很熟悉。