quote:以下是引用Automann在2013-01-24 12:21:46的发言:
手册里看到下面一段话:
使用S7 通信函数时,例如 PUT/GET 或通过OP通信进行写/读时,在编程或组态期间必须考虑一致数据区的大小, 因为在目标设备 (服务器) 的用户程序中没有通信块可用于向用户程序发送同步通信数据。
在 S7-300 和C7-300 中 (例外:CPU 318-2 DP),在操作系统的周期检测点上,通信数据以 32 个字节的数据块为单位,一致地复制到用户存储区。对于较大数据区,不能保证数据一致性。如果要求定义数据的一致性,则用户程序中的通信数据不可以超出 32个字节。
与此相反,在S7-400 中,通信数据不是在周期检测点上处理,而是在程序循环周期的固定时间段上进行处理。变量的一致性由系统来确保。
看来300和400的区别在于一致性数据的长度是否有限制,和什么时候处理。但是不清楚400“在程序循环周期的固定时间段上进行处理”是什么意思,是指的时间片吗?“固定”是什么意思?400处理通信数据是否比300更及时?
借回答Automann的问题同时也回答一下“n次看你的背影”的问题。
手册中提到的是“周期检测点”就是CCP,而“固定时间段”就是时间片。明白了这两个名词,我们看看PUT/GET,我想大家都使用过这个功能进行编程,原因是方便,只需一方编程。那么大家想想不编程的一方如何和编程的一方通信呢?答案就是服务器使用操作系统,那操作系统为什么能完成通信呢?大家都知道SFC/SFB这些都是系统功能,也就是操作系统的功能。OK,下面来说说300/400的不同,300的服务器PUT/GET通信通过CCP,就是每个循环周期的结束进行与客户端的数据交换,即,即使客户端多次请求,服务器仅在一个周期的结尾进行数据交换,即通信速度为300周期的倍数。而400不同,是通过时间片进行的,即,客户端多次请求,服务器会在一个周期的时间片中多次相应。这与我给大家举PG和300/400进行通信的例子是一样的!大家的感想呢?
现在又回到20%,我想问问大家同样对于300/400的服务器PUT/GET通信,20%通信负荷对其的影响是什么?一样吗?