原始数据的最大长度受限于所要传送的数据块之一的长度。S7通讯驱动程序能够传送的数据块最大长度取决于连接建立期间所设置的PDU长度减去报头以及其它附加信息。S7-300:PDU长度240字节,数据块长度最大208字节。
上面这段话应该怎样理解?我每次从下位机向上位机传送的原始数据如果大于240字节,应该怎么办?是不是要把这些数据分着放在PLC的多个DB块中?PDU是不是限制单个DB块的长度?
最佳答案
楼主的理解基本是正确的,当对于S7-300的RawData定义长度不能大于208byte,否则数组所有的返回值都会是0;如果长度超过208byte的限制,最好再定义一个或多个RawData变量,但不必再占用另一个DB块,接着前一个RawData的结束地址就可以。PDU只是CPU循环读取服务处理的协议数据单元的大小,并不对单个DB块的长度进行限制。
RawData是少量数据的集中采集方式,除了能节省外部点数,作用不大;如果楼主需要较大规模数据亮的采集,可以采用BSEND/BRECV的方式,可以参考以下链接:
http://www2.ad.siemens.com.cn/download/Upload/AS/application/A0204.pdf
http://www2.ad.siemens.com.cn/download/Upload/AS/faq/F0323.pdf
提问者对于答案的评价:
谢谢,你说的非常详细!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc273630.html