-Begin-
测试界面
我们使用自己开发的通信库进行测试,不同通信库会有细微区别,测试结果仅供参考,并不针对具体产品及厂家。
下面是我们的PLC平台,我们选择其中几个比较常用的支持ModbusTCP通信协议的PLC来进行测试。
测试软件设计界面如下所示:
ModbusTCP默认端口号是502,所以不同设备仅仅只是IP地址不同而已,为了保证数据的准确性,我们使用循环读取的方式,循环三组,每组连续读取10000次,观察总耗时。
同时,我们读取的存储区也是一样的,读取4区从0开始的100个寄存器。
西门子200Smart
西门子200Smart PLC,我们采用的是CPU ST40,大家都知道西门子PLC想要支持ModbusTCP通信,是需要写一点PLC程序的,如下图所示:
测试结果如下所示:
西门子1200
西门子1200 PLC,我们采用的是CPU 1215C DC/DC/DC,西门子1200 同样也需要写一点PLC程序的,如下图所示:
测试结果如下所示:
西门子1500
西门子1500 PLC,我们采用的是CPU 1511-1 PN,西门子1500 同样也需要写一点PLC程序的,如下图所示:
测试结果如下所示:
三菱FX5U
三菱FX5U PLC,我们采用的是FX5U-32MT/ES,三菱FX5U PLC是直接支持ModbusTCP的,但是需要做下配置,在以太网配置里加上ModbusTCP连接设备,端口号设置为502。
测试结果如下所示:
施耐德M241
施耐德PLC,我们采用的是施耐德M241,这个不需要额外写PLC程序。
测试结果如下所示:
信捷XD5E
信捷PLC,我们采用的是信捷XD5E,国产PLC对Modbus协议支持比较好,不需要额外写PLC程序。
测试结果如下所示:
台达DVP
台达PLC,我们采用的是台达DVP-32ES,这个不需要额外写PLC程序。
测试结果如下所示:
汇川AM600
汇川PLC,我们采用的是汇川AM600-CPU1608TN,这个不需要额外写PLC程序。
测试结果如下所示:
汇川H5U
汇川PLC,我们采用的是汇川H5U,这个不需要额外写PLC程序。
测试结果如下所示:
汇川EASY
汇川PLC,我们采用的是汇川EASY521,这个不需要额外写PLC程序。
测试结果如下所示:
正运动板卡
正运动运动控制卡,我们采用的是ECI1408,这个不需要额外写程序。
测试结果如下所示:
总结
通过以上测试结果,我们可以得出以下几个结论:
1、由于不同设备对ModbusTCP的处理方式不同,因此最终通信速率有所区别,但平均周期均在10ms以内,此时间为单次交互的时间。
2、上位机通信很稳定,连续百万次交互都没有失败次数。
3、读取1个寄存器的耗时与读取100个寄存器耗时时间差别不大,上位机开发中尽量采用批量读取的方式。
写在最后
今年8月,历经2年,我出版了一本上位机书籍——《C#上位机开发实战指南》。
大家如果需要购买,可以通过京东旗舰店购买。
-END-
感谢大家阅读,关注我,分享上位机开发技术。