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

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

点击:8714 回复:29

不加成本的改东西,貌似很考验人,看好你哟表情
19-01-22 17:32
写操作优先!比如每次都操作完成之后先判断是否有写操作,如果有写操作则优先执行写操作,写操作执行完成后再继续执行读操作!你这个程序不是最优设计!就目前看到你贴出来的而言,等于是三台变频器的读电流、写频率、写启动\停止循环执行!并不能保证写操作优先执行!你先想想!实在不行我给你一个参考程序!
19-01-22 17:45
你目前只是三台变频器!如果从站个数更多的话!你这种逻辑方式造成的延迟就会更长!
19-01-22 17:49
附件 1.jpg
附件 2.jpg
附件 3.jpg
附件 4.jpg
目前把程序改成了这样,但是我不知道应该怎么去读电流了……
启动、停止、写入频率这几个动作都是由人执行的,前后动作之间的时间间隔足够PLC运行成千上万次了,应该是没有问题的。
但是如果开始执行读电流的操作的话,我不知道怎么才能提高写入动作的优先级(或者降低读的优先级)。
有大佬说用中断,我又研究了一下台达的中断指令。外部中断,只能通过外部的输入点控制;时间中断,只能设定循环中断的时间(或者我不会用?);高速计数中断,没搞明白,高速计数的输入也是用的IO点吧;通讯RS中断,我用中断的目的就是为了控制通讯,再去写个通讯指令来控制通讯指令……好像也不好……
我的想象中,这个流程应该是:停机时不通讯;停止、启动、写入频率、读电流,各动作优先级递减;开机以后读电流;读电流期间,随时优先执行写操作……而且现在这个程序只是一部分,还不能干扰PLC控制设备中其他的功能部件……
好烧脑,掉头发中表情
最后修改:2019/1/23 10:03:50
19-01-23 10:00

引用 ddt250 在 2019/1/23 10:00:12 发言【内容省略】

你的思路已然有了!画个流程图吧!程序就出来了!
19-01-23 14:44
可以跟触摸屏联系起来,启动停止在一个画面,读取电流转速在一个画面,写入频率等参数在一个,在plc里设个开关,只有进入该画面才通讯本画面的内容。这样就可以减少通讯时间。
19-01-23 19:41
把所有写指令改成有需要才写,一旦有写指令则停止读取,优先执行写入
19-01-23 22:51
目前最受启发的解决办法。
但是,做不到啊表情
曾经用过启停按钮和电流显示在一个页面,频率设定用弹窗的模式,客户嫌弹窗麻烦……更不要说换页了
19-01-24 08:33
关键就是我不知道怎么才能中断正在进行的通讯,转去执行写指令……
现有的程序长度,PLC扫描周期只有1.6ms,通讯发出、等待、接受回传这些时间加起来得有个3~5ms吧(猜的,我没测过)。也就是说,通讯数据“在电缆上跑”的时间里,PLC能扫描两次了。用上升沿或者下降沿触发的任何指令只能保持一个周期。置位和复位指令我找不到合适的监测点。用计时器的话,又回到原来的老路上了。
19-01-24 08:43

引用 ddt250 在 2019/1/23 10:00:12 发言【内容省略】

输入频率不等时输出M断开读取,延时写入频率,写入后频率相等,M自然断开了
19-01-24 10:25

上一页 下一页

工控新闻

更多新闻资讯