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


plc与电脑通信,数据发送正常,接收也正常。
但是如果电脑没有发送数据的话,plc通信超时标志位不会接通。哪怕是一顿午饭的时间,依然没有通信超时。
中午饭后发现没有通信超时,我尝试从电脑发送一段数据给plc,plc接收了,完成一次发送接收。
我查看手册,手册里部分内容如下。
“当接收数据中途中断时,从这一刻开始,如果经过了超时时间设定中的时间,却依然没有收到下一个数据,则通信超时判定标志位置ON。”
是不是数据发送结束后,并没有进入”数据接收“的状态,要有数据或着其他什么东西来触发接收。
所以没有搞明白为什么通信超时不起作用。
先谢谢各位大神了。
ntbigcg
级别: 探索解密
精华主题: 0
发帖数量: 132 个
工控威望: 170 点
下载积分: 52675 分
在线时间: 58(小时)
注册时间: 2020-02-22
最后登录: 2024-11-18
查看ntbigcg的 主题 / 回贴
1楼  发表于: 2020-03-23 07:44
这个有点复杂了,1、你PLC里用的是什么方式发送数据的,用RS?如果用了,就会一直在发送接收,除非指令不发送接收。你如果加了超时判定标志断开了发送接收,那你得有程序来恢复发送接收。2、如果你没用RS,而是用上位机,那上位机程序里判断超时设置后有没有用恢复通讯功能?还有要检查上位机的每次发送接收之间有没有加延时防止通讯来不及反应导致的通讯错误,通讯错误就会发生超时。
从问题来看,你是用了RS的,你用RS发送的时候与上位机怎样协商的,是不是需要上位机回发数据,如果有回发,你PLC里有没有等回发结束再给上位机发送,如果没有加这个判断,很容易发生错误的,一发生错误通讯就死掉了。
[ 此帖被ntbigcg在2020-03-23 07:49重新编辑 ]