故事作者:绫

最近创作

看看TA的故事

拨云见日S7 PUT/GET 通讯数据长度

已锁定

总坛主

  • 帖子

    1755
  • 精华

    120
  • 被关注

    283

论坛等级:至圣

注册时间:2019-03-20

钻石 钻石 如何晋级?

拨云见日S7 PUT/GET 通讯数据长度

8542

41

2021-01-26 09:01:32

star star star

     用过西门子PLC 做过通讯的各位,想必对西门子PLC之间的S7 单边通讯PUT/GET并不陌生,但是PUT/GET 通讯的数据长度到底能有多大呢?嗯,看看帮助,下面是帮助中关于PGT/GET 数据长度的图表.. 小编弱弱问一句,懂了没?有没有一种雾里看花水中望月的感觉?我估计就这个表,你去问10个人,得到的答案绝对不一样。有时候真想吐槽,德国的钢铁直男们写出来的帮助,真是不解风情,难懂!


     今天,趁着疫情居家有空,小编拿出自己压箱底儿的硬货,彻底给大家拨云见日!

     要真正理解PGT/GET 数据长度,首先要搞明白一个概念“PDU”:协议数据单元。如下图,以太网数据帧的长度就那么多,掐头去尾能放数据的就叫PDU,每个通讯层级都有自己可用的PDU长度,随着通讯层级上升可用PDU长度就会减小,S7 通讯是七层应用层协议,到了S7 这一层的PDU 能用的长度和PLC 的类型是有关系的。


     如下表,不同的CPU,S7 的PDU长度不同。而实际通讯协商过程中,通讯双方最终协商出的PDU 一定是以最小的一方为准。这样,知道了本地CPU 和远程CPU的类型就可以知道最终通讯使用的PDU 长度。

     S7通讯的PDU中除了数据外,还会包含协议层的信息,因此实际数据长度会小于PDU。理解了PDU的概念,再回到帮助中PUT/GET 数据长度就容易搞明白了。 “Data block size”就是表示本地可能的CPU和协商出来的通讯PDU,“240 (S7-300)”表示本地CPU S7-300,协商后的PDU 是240字节,比较特殊的是S7-300 CP模块,无论通讯对象和角色,虽然PDU 是240字节,但是PUT/GET 长度最大160字节。

     例如“240 (S7-400)”,本地使用S7-400 CPU,能够协商出240字节的PDU,通讯对象只可能是S7-300/S7-1200,而数据长度也和PUT/GET 定义的数据区“SD_i”、“RD_i”、 “ADDR_i”有关系,每增加一个数据区,总的数据长度就会有所减少。同理,这个长度也适用于本地S7-1500。

再例如“480 (S7-400)”,本地使用S7-400 CPU,能够协商出480的PDU,通讯对象只可能是S7-400/S7-1500,而数据长度也和PUT/GET 定义的数据区“SD_i”、“RD_i”、 “ADDR_i”有关系,每增加一个数据区,总的数据长度就会有所减少。

     小编通过给PUT/GET 在线帮助加了一些注释,结合上面说的概念,想必这下终于能一目了然了!



拨云见日S7 PUT/GET 通讯数据长度 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

自动化so酷

共有79条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。