S7-200 SMART PUT/GET通讯问题

向各位大神请教一个问题:

S7-200 SMART 利用PUT/GET向导生成了NET_EXE子程序,两台S7-200 SMART通讯。想实现在通讯出现问题时发出报警,以提醒人员前去检查故障。

我们知道NET_EXE有一输入参数:超时(timeout),和一输出参数:错误(error)。我做了测试:把被动通讯的PLC的网线拔掉,然后观察主动通讯PLC的NET_EXE的参数“错误”,发现其被置为1的时机和其参数“超时”的设置值没有关联,几乎是刚拔掉网线,错误就被置为1了,把“超时”改大改小都一样。同时通过符号表NET_SYMS找到的PUT或GET的相应状态字节,放到状态表中观察,发现这些字节的各个位中,只是第6位:Active的值变为了1,第0到3位(错误代码)仍为零,并没有变为某一个值,比如变为5(在帮助文档里面 “GET 和 PUT 指令 TABLE 参数的错误代码“中所述,与远程 CPU 之间的连接丢失(CPU 断电、物理断开),其值应为5)。

问题:

1.NET_EXE子程序的参数:超时,它的意义是什么?起什么作用?

2.GET 和 PUT 指令 TABLE 参数中,状态字节中的错误代码(第0到3位)为什么在网线断开后没有变化,其值仍一直为零?

3.想要实现在PUT/GET通信中当网络出现问题时发出报警的功能,能否用判断NET_EXE子程序的某状态位的值来实现,比如当参数“错误“被置为1且保持一段时间,就可以判定为网络出问题了?或者有没有其他更好的办法?

非常感谢!

产品版区:SIMATIC S7-200 SMART
悬赏西币:5 | 解决时间:2018-09-16 21:41:38 | 提问者: 手机用户20180911391229 – 新生&nbsp&nbsp第1级

问题ID:199286

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc256225.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月10日 下午8:58
下一篇 2019年6月10日 下午8:58

相关推荐