登录
首页 PLC论坛 台达PLC
回帖 发帖
正文

主题:轮询造成的通讯延迟如何减少

点击:8801 回复:29

公司在生产的设备上有三块台达的变频器,两块VFD-MS300系列,一块C2000系列。用一块台达的PLC,ES2系列,通过COM2口用modbus协议485通讯,格式7E1,ASCII。分别写H2000变频器启动停止控制,写H2001设定频率,读H2104变频器工作电流。
现在存在一个问题,虽然还没酿成大祸。轮询造成的控制动作有延迟。启动还好说,停止的时候能明显感觉到1秒左右的延迟。即按下停止按钮后,变频器要1秒以后才停止工作。不知道在程序上还能不能优化,请教各位大神。附上程序截图,牵扯到一些保密的东西(虽然我觉得没啥好保密的,但是有协议),原程序就不放了。
附件 1.jpg
附件 2.jpg
附件 3.jpg
附件 4.jpg
附件 5.jpg
附件:
[本地下载]
改了三天,才搞出来一个凑合用的东西……
启动/停止和频率写入有30ms~40ms的延迟,再小会有有问题。
最后修改:2019/1/24 16:44:26
19-01-22 11:33
变频器启动停止还是硬接线来的实在。
19-01-22 13:19
使用中断
19-01-22 13:27
变频器停止有减速时间
19-01-22 13:42
定时轮询只能尽量缩短周期
几个反问题抛给你,你能够明白了就不会有问题了:
1.领导叫你做一件事,他需要每隔几分钟跟你反复说一次吗?
2.你在事情没有做完之前,需要时刻去问领导,是不是可以停下来不用做了吗?
3.你在做这件事的时候,领导可以在旁边指导你,难道你停下来休息了,领导还要继续指导你吗?
19-01-22 13:45
拆分处理,启停还是硬接线好使,电流定时读取,写频率就触发一次写一次
19-01-22 14:52
1S貌似不单单是程序这边的问题的,检查下变频器设置吧,一般都有减速停止;还有如果要求比较高的话最好还是硬接线,
19-01-22 14:57
如果需要同步控制的话就另改方案吧,如不需要同步控制,变频器起停使用端子控制,读写使用通讯。变频器设自由停车,加制动电阻。
19-01-22 15:12
启动停止还是外部IO控制来得保险些!
19-01-22 16:37
用I/O口做硬接线我知道,确实能解决这个问题。但是牵扯到公司管理的一些烂事,改这两根线兴师动众,最后还不一定能捞个好。
我尝试过写频率的时候前面加一个比较指令,比如写变频器1#的频率,比较D410与D510的值,相同不动作,不相同时把D410赋值给D510同时置位M1122与变频器通讯。这样又会与轮询过程产生冲突。没找到好的思路。
实时读取电流值是为了在触摸屏上显示。这个总不好让客户想看电流的时候去按按钮吧……
中断我没用过,我看到手册上只有外部中断,时间中断等等,好像都不是很符合需要,希望各位大佬给个思路,谢谢。
4#楼大佬的说法,我大概能理解,需要写频率的时候再去写频率,需要启停的时候去启停,停机以后就不用读电流了 ……
大概有点思路,明天写个程序试一下
19-01-22 17:10

上一页下一页

工控新闻

更多新闻资讯