S7协议,作为西门子的专有协议,广泛应用于多种通讯服务中,如PG通讯、OP通讯以及S7基本通讯等。它独立于西门子的各种通讯总线,能够在MP、PROFIBUS、Ethernet以及PROFINET等多种网络上运行。S7协议实质上是一个由多种应用层协议构成的集合,为以太网上的通讯提供了ISO和ISO on TCP等底层协议支持。
在S7通讯中,Data block size,即PDU(协议数据单元),扮演着至关重要的角色。PDU不仅表示S7通讯中Data数据块的最大尺寸,还决定了数据传输的效率和稳定性。对于S7-300PLC而言,以太网上传输的最大数据块PDU尺寸为240Bytes。值得注意的是,PDU的前28个字节被专门用于传输起始信息,而剩余的字节,例如212bytes,则被用于用户数据。
各区的定义:
areas = ADict({'PE': 0x81, #input 输入区'PA': 0x82, #output 输出区'MK': 0x83, #bit memory 中间存储区(M区)'DB': 0x84, #DB区'CT': 0x1C, #counters'TM': 0x1D, #Timers
})