用过西门子 plc做过通讯的各位,想必对 西门子plc之间的S7单边通讯PUT/GET并不陌生,但是PUT/GET通讯的数据长度到底能有多大呢?嗯,看看帮助,下面是帮助中关于PUT/GET数据长度的图表.. 大师兄弱弱问一句,懂了没?有没有一种雾里看花水中望月的感觉? 我估计就这个表,你去问10个人,得到的答案绝对不一样。有时候真想吐槽,德国的钢铁直男们写出来的帮助,真是不解风情,难懂!
今天,趁着疫情居家有空,大师兄拿出自己压箱底儿的硬货,彻底给大家拨云见日! 要真正理解PUT/GET 数据长度,首先要搞明白一个概念“PDU”:协议数据单元。如下图,以太网数据帧的长度就那么多,掐头去尾能放数据的就叫PDU,每个通讯层级都有自己可用的PDU长度,随着通讯层级上升可用PDU长度就会减小,S7 通讯是七层应用层协议,到了S7 这一层的PDU 能用的长度和PLC 的类型是有关系的。
如下表,不同的CPU,S7 的PDU长度不同。而实际通讯协商过程中,通讯双方最终协商出的PDU 一定是以最小的一方为准。这样,知道了本地CPU 和远程CPU的类型就可以知道最终通讯使用的PDU 长度。
来源:西门子工业技术论坛 |