没有建立连接的S7-300中块FC 60 (AG_LRECV)可能的状态值

–>

问题:
“如果没有建立连接,那么调用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
  • 使用“TCP 连接 连接类型
    (此处有位于纯 TCP/IP 层的通讯选项,没有ISO-on-TCP连接的附加RFCn1006协议。)
  • 重新启动 CP (上电或插入模块)
  • 在建立项目与伙伴站之间的连接出错

如果这些条件得到满足,则块FC60 (AG_LRECV)返回状态值“0x8180 -n还没有数据可用而不是上述值“0x8183”。

没有建立连接的S7-300中块FC 60 (AG_LRECV)可能的状态值

状态值0x8180并非一个“错误”返回值,因为事实上没有接收到什么数据。不过,并未显示出为何没有接收到数据的实际原因。如果先前已经建立好的连接,而由于某个事件或其它原因被清掉,则会返回所期望的状态值0x8183

展望:

此现象在下一版本的 CP 中会被纠正,在功能扩充的过程中完成。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论