是刘六六哦
级别: 探索解密
精华主题: 0
发帖数量: 51 个
工控威望: 101 点
下载积分: 834 分
在线时间: 43(小时)
注册时间: 2020-07-05
最后登录: 2025-12-09
查看是刘六六哦的 主题 / 回贴
楼主  发表于: 20天前
西门子PLC通过modbustcp通讯,做轮询怎样减少轮询时间,现在的方案是 写参数(地址,长度,功能码)-执行-等待完成信号-结束 ,这样下来至少需要4个扫描周期(前提是在下个周期就拿到Done信号),有40组参数,这样下来至少需要40*4个扫描周期,算50ms一个周期就需要8s才能轮完一圈,时间太长,现在放到中断里面(10ms),这样下来轮询一次也将近2s,外部负载随着就变大了,扫描周期会将近100ms,各位有没有什么好的方法
wzbarley
好好学习,天天向上。
级别: 略有小成
精华主题: 0
发帖数量: 198 个
工控威望: 243 点
下载积分: 27352 分
在线时间: 364(小时)
注册时间: 2023-09-27
最后登录: 2025-12-24
查看wzbarley的 主题 / 回贴
1楼  发表于: 20天前
加个串口服务器,让串口服务器替PLC干这些活。
好好学习,天天向上。
不小心遇见你
自动项目、PLC、视觉、通讯等工控软件开发QQ3515716
级别: 工控侠客

精华主题: 3 篇
发帖数量: 2093 个
工控威望: 3086 点
下载积分: 25492 分
在线时间: 1561(小时)
注册时间: 2014-01-05
最后登录: 2025-12-24
查看不小心遇见你的 主题 / 回贴
2楼  发表于: 20天前
你确定要这么久吗?我用485 处理36个也比你这个快
项目、视觉、通讯QQ3515716
是刘六六哦
级别: 探索解密
精华主题: 0
发帖数量: 51 个
工控威望: 101 点
下载积分: 834 分
在线时间: 43(小时)
注册时间: 2020-07-05
最后登录: 2025-12-09
查看是刘六六哦的 主题 / 回贴
3楼  发表于: 20天前
引用
引用第2楼不小心遇见你于2025-12-04 12:30发表的  :
你确定要这么久吗?我用485 处理36个也比你这个快

我是只有一台设备,要读写40组数据,流程是 先写参数(地址,长度,功能码)--req--等待Done信号--结束   总共四个部分,用的1200,程序框架差不多就是20~30ms的扫描周期,因为地址不连续,只能一组一组的进行读写
wsxw40
级别: 探索解密
精华主题: 0
发帖数量: 51 个
工控威望: 101 点
下载积分: 381 分
在线时间: 148(小时)
注册时间: 2021-08-29
最后登录: 2025-12-23
查看wsxw40的 主题 / 回贴
4楼  发表于: 19天前
只能再多开辟几个连接,同时通讯
微信:wsxw401
yyande
级别: 探索解密
精华主题: 0
发帖数量: 73 个
工控威望: 145 点
下载积分: 2718 分
在线时间: 28(小时)
注册时间: 2020-05-23
最后登录: 2025-12-23
查看yyande的 主题 / 回贴
5楼  发表于: 昨天
mbclient多开几个,modbusTCP可以双工+并发的。不行的话加多口网关或串口服务器
hqokabc
级别: 探索解密
精华主题: 0
发帖数量: 125 个
工控威望: 139 点
下载积分: 537 分
在线时间: 8(小时)
注册时间: 2025-01-02
最后登录: 2025-12-23
查看hqokabc的 主题 / 回贴
6楼  发表于: 昨天
有时候真的不懂厂家怎么会用这种通信方式?特别是设备多时