发布于 2010-08-25 14:55:34
3楼
而是在于分析系统的特性
是因为此系统的数据跳动非常快速,为了不遗漏数据才需要这么高的通讯速度吗?
关于VB定时器可以设置为1MS,但是就像S7-300程序中的定时器的精度与扫描周期有关那样,时间已经到达,因为没有扫描到所以没有触发出事件。在Windows系统每秒给出18次时基,我理解为每秒检测18次时间是否到达,因此最小精度为55MS。一般通讯接口都会使用VC++或.NET编程的,可以创建一个专门的线程,用Do语句做死循环一直在与PLC通讯,或是使用线程计时器隔段时间与PLC通讯。
以太网其实只是物理层而已,是否实时还要取决于你用了什么协议,TCP/IP的话由于功能较多、层次较多,从数据链路层、网络层到传输层都需要进行解包(我们平常Socket编程都是只操作应用层,底层Windows系统会自动帮我们做好的),导致其实时性不是很好。譬如Profinet IRT实时协议印象中就是跳过了好几层的。
楼主如果用的网卡、网络连接都是专用网络(交换机没接入别的网线,没有别的程序一起调用网卡),用TCP/IP与PLC通讯的话不会比Profibus慢。但是如果用prodave的DLL,其应该用的是S7以太网协议,此协议好像是基于TCP/IP基础上的