-->
问题:
“如果没有建立连接,那么调用FC60后返回用户程序的状态值是什么?”
解答:
一般来说,S7-300 和 S7-400 的CP会有所不同:
CP | 返回值 |
S7-300n | 0x8183n |
S7-400n | 0x8304n |
原因在于CPU和CP之间的背板总线上数据传输的过程不同。
使用S7-300时可能的状态值:
但在S7-300中,在以下条件下,还会把另一个状态值返回给块FC60n(AG_LRECV):
- 使用以下S7-300-CP中的一个:
- CP 343-1 TCP:
6GK7 343-1EX00-0XE0 (V5.0) - CP 343-1 多协议:
6GK7 343-1EX10-0XE0 (V1.0.0; V1.0.1)n
- CP 343-1 TCP:
- 使用“TCP 连接” 连接类型
(此处有位于纯 TCP/IP 层的通讯选项,没有ISO-on-TCP连接的附加RFCn1006协议。) - 重新启动 CP (上电或插入模块)
- 在建立项目与伙伴站之间的连接时出错
如果这些条件得到满足,则块FC60 (AG_LRECV)返回状态值“0x8180 -n还没有数据可用”而不是上述值“0x8183”。
状态值0x8180并非一个“错误”返回值,因为事实上没有接收到什么数据。不过,并未显示出为何没有接收到数据的实际原因。如果先前已经建立好的连接,而由于某个事件或其它原因被清掉,则会返回所期望的状态值0x8183。
展望:
此现象在下一版本的 CP 中会被纠正,在功能扩充的过程中完成。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc340923.html