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

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

我是只有一台设备,要读写40组数据,流程是 先写参数(地址,长度,功能码)--req--等待Done信号--结束   总共四个部分,用的1200,程序框架差不多就是20~30ms的扫描周期,因为地址不连续,只能一组一组的进行读写