用的300plc(313C-2DP)做项目,还是主从通讯。由于数据量很大(超过130),我查了下这个CPU的参数,上面有:I/O过程映像:输入128字节,输出128字节。
I/O地址区总计:输入1024字节,输出1024字节
请问意思是不是我打包通讯的数据总量不能超过128个字节?
DP从站组态通讯数据时只要起始地址不超过1024都可以?
这个CPU组从通讯最多能传送多少数据?
答:
1、 I/O过程映像:输入128字节,输出128字节.......... 输出1024字节.......请问意思是不是我打包通讯的数据总量不能超过128个字节?
不是的。打包通讯的数据与I/O过程映像没有关系。数据块DB,连续的标志区M均可作为打包的数据区。
2、 DP从站组态通讯数据时只要起始地址不超过1024都可以?
没有这种说法。
3、 这个CPU组从通讯最多能传送多少数据?
a、DP通讯讲究一致性数据传输。
b、有关DP的一致性数据传输:
通 讯作业不在循环程序的执行处来处理,而是在程序循环过程中的一个固定的时间段里处理。从系统来讲,数据格式字节,字 和双字永远可以得到一致性的处理,就是说传输一个字节,一个字(两个字节)或双字(4个字节)是不会被打断的。
c、不同的通讯卡CP,不同的CPU通讯数据的xx长度也不一样,例如:
CP342-5 作为PROFIBUS DP主站时,和每个从站最多可以交换244个输入字节(Input)和244个输出字节(Output)。CP342-5 作为从站时,与主站最多能够交换240个输入字节和240个输出字节。
在S7-300中,通过SFC14和SFC15,读写一致性数据传输的字节xx长度是32个字节。
CPU 在程序循环处理过程中有一段连续的地址区域存储过程信号叫做过程映象区,他处于CPU的系统存储区中。这样CPU 可以访问内部存储区获得I/O 信号而不用直接访问I/O 模块。
过程映象区中的I/O 值不反映当前的I/O 信号,他记录的是循环扫描起始期的I/O 值。当输入模块中的一个信号状态发生改变,过程映象区中该信号的状态直到下次循环开始时才会更新。
通过过程映像区访问时,地址格式是I/Q(输入/输出),最小可以访问到位,如I0.0,Q10.0
一般通过过程映像区访问的循环程序运行流程如下:
1. 执行CPU 内部任务
2. 将过程映像区输出区(PIQ)送到模块输出通道
3. 从模块的输入通道到过程映像区输入区(PII)
4. 执行用户程序段
但是过程映象区仅有128 个字节,而对于新型的CPU315-2DP(2AG10),它支持的数字量通道是16384,即有2048byte,有时候在I/O 量很大的情况下有必要采用直接I/O 访问的方式而不占用过程映像区,最小访问单位是字节。地址格式如下:
PIB/ PQB 256 ,PIW / PQW 256,PID / PQD 256。
注意:直接I/O 访问,最小按字节进行,不能单独对位进行操作。
CPU 系统循环扫描周期:
一般在循环扫描周期中,过程映象区会自动地更新,但在S7-400 和CPU 318 中您可以取消这样的更新方式,进行直接的I/O 访问或者在程序的不同地方调用SFC26”UPDAT_PI”
和SFC27”UPDAT_PO”来更新过程映象区。