揭秘10种主流PLC在ModbusTCP通信中的速度表现!
大家好!我是付工。
前面给大家介绍了一系列关于Modbus和ModbusTCP的知识。
今天给大家来实测一下,对于不同品牌的PLC或板卡实现ModbusTCP通信时,通信速度有多快。
一、测试界面
我们使用自己开发的通信库进行测试,不同通信库会有细微区别,测试结果仅供参考,并不针对具体产品及厂家。
下面是我们的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个寄存器耗时时间差别不大,上位机开发中尽量采用批量读取的方式。


揭秘10种主流PLC在ModbusTCP通信中的速度表现!的更多相关文章
- C#/VB.NET与西门子PLC进行ModbusTcp通信
进入自动化行业半年多了,每天都与机器打交道. 前段时间接手一个任务,需要将我们机台与下站机台进行通讯,我们机台是PC,下站机台为西门子S7-1200. 想想完成这个任务,领导就会对我这个新人刮目相看, ...
- Vue通信的10种方式
1.10种通信方式 10种:https://juejin.im/post/5bd18c72e51d455e3f6e4334 2.除此之外,还有children和ref. 需要注意 $children ...
- 性能追击:万字长文30+图揭秘8大主流服务器程序线程模型 | Node.js,Apache,Nginx,Netty,Redis,Tomcat,MySQL,Zuul
本文为<高性能网络编程游记>的第六篇"性能追击:万字长文30+图揭秘8大主流服务器程序线程模型". 最近拍的照片比较少,不知道配什么图好,于是自己画了一个,凑合着用,让 ...
- python三大web框架Django,Flask,Flask,Python几种主流框架,13个Python web框架比较,2018年Python web五大主流框架
Python几种主流框架 从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python We ...
- Django,Flask,Tornado三大框架对比,Python几种主流框架,13个Python web框架比较,2018年Python web五大主流框架
Django 与 Tornado 各自的优缺点Django优点: 大和全(重量级框架)自带orm,template,view 需要的功能也可以去找第三方的app注重高效开发全自动化的管理后台(只需要使 ...
- 10 种最常见的 Javascript 错误(频率最高)
本文是小编给大家收藏的JavaScript 中频度最高的 10 种错误,我们会告诉你什么原因导致了这些错误,以及如何防止这些错误发生.写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学 ...
- 【新阁教育】台达DVP-ES3 ModbusTCP通信案例
本文主要针对台达DVP-ES3系列PLC,实现上位机与PLC之间的ModbusTCP通信. 一.硬件说明 DVP-ES3 系列为高阶应用可编程控制器, CPU 内置4 组高速计数器输入.4组轴输出(脉 ...
- 支持10种格式的 HTML 表格导出 jQuery 插件
HTML 表格导出 jQuery 插件可以帮助用户导出 HTML 表格到 JSON.XML.PNG.CSV.TXT.SQL.MS-Word.MS-Excel.MS-PowerPoint 和 PDF 格 ...
- 让C程序更高效的10种方法(转)
原文:http://blog.jobbole.com/1198/ 代码之美,不仅在于为一个给定问题找到解决方案,而且还在代码的简单性.有效性.紧凑性和效率(内存).代码设计比实际执行更难 .因此,每一 ...
- 30个深度学习库:按Python、C++、Java、JavaScript、R等10种语言分类
30个深度学习库:按Python.C++.Java.JavaScript.R等10种语言分类 包括 Python.C++.Java.JavaScript.R.Haskell等在内的一系列编程语言的深度 ...
随机推荐
- orange pi 香橙派 zero 刷openwrt当作有wifi的小路由器用
前面写过我用香橙派zero来测量温度 https://www.cnblogs.com/jar/p/15848178.html 最近准备把他改造成路由器 https://www.right.com.cn ...
- rust 终端输出 debug 信息
配置方法 将 env_logger log 添加到 Cargo.toml : 打开 Cargo.toml 文件并在 [dependencies] 部分下添加 env_logger log . [pac ...
- Python prometheus_client使用方式
#!/usr/bin/env python # -*- coding: utf8 -*- import socket,re from prometheus_client import generate ...
- Spring MVC 3.2 技术预览(三):动手写一个异步Controller方法
原文地址:http://blog.springsource.org/2012/05/10/spring-mvc-3-2-preview-making-a-controller-method-async ...
- 秒懂Java为什么只有值传递
在Java语言中,数据类型分为基本数据类型和引用数据类型. 基本数据类型(如int.double.char等)的值直接保存在栈上.这些类型的变量在栈内存中有固定的大小,并且值是直接存储在这些变量中的, ...
- golang之go-spew
github: https://github.com/davecgh/go-spew 我们在使用Golang(Go语言)开发的过程中,会通过经常通过调试的方式查找问题的原因,解决问题,尤其是当遇到一个 ...
- Django之form表单的数据验证
1.先导入forms模块 from django import forms 2.创建模板的类 class loginform(forms.Form): # 2.模板中的元素 name = forms. ...
- tmux之常见问题
1. 使用tmux ls的时候显示错误 failed to connect to server: Connection refused 解决: 查看进程是否存在 ps -aux|grep tmux 发 ...
- 销讯通-CRM系统的功能远远不止于用来打卡
在信息化的过程中,CRM系统其实很多企业都在用,最开始的设想是很好的,大家用着之后发现它可能最终只会沦为一个上班打卡考核或者是最基础的一个签到工具了,没有发挥它应有的一个功能. 最基础的一个诉求 我们 ...
- ClickHouse 物化视图学习总结
物化视图 物化视图源表--基础数据源 创建源表,因为我们的目标涉及报告聚合数据而不是单条记录,所以我们可以解析它,将信息传递给物化视图,并丢弃实际传入的数据.这符合我们的目标并节省了存储空间,因此我们 ...