回复:MODBUS轮询中的某个MB-CLIENT指令可以放到OB30里面吗

已锁定

YangtzeDu

  • 帖子

    10
  • 精华

    0
  • 被关注

    1

论坛等级:游民

注册时间:2022-03-06

普通 普通 如何晋级?

发布于 2023-05-10 12:39:40

7楼

展开查看
以下是引用hhyx9在2023-05-09 23:09:30的发言 >4楼

“给变频器频率(写频率)的MB-CLIENT指令要放到OB30里面,便于变频器能及时作出频率改变反应”,这因果关系成立吗。轮询是轮询,PID是PID,PID放中断中是因为要保证运算和采样周期,轮询则完全没必要,直接放在程序循环内即可,楼上有人也说了,根据串口的负载情况和PLC循环周期时间,轮询周期不定,但是几十至几百ms的时间在工程当中作为PID的反馈和给定值完全够了,你要考虑到执行机构的调整频率跟的上吗。

所以用户提出的所谓放在中断内,以保证周期性的通信和及时给PID完全是无稽之谈,有害无益,”莫名其妙掉频率”就是由其造成,Modbus直接放回程序循环内,同时根据“放中断内,变频器莫名其妙的掉频率“现象,我觉得你放回程序循环内后,死区好好设置下,否则也可能出现这类问题。

我个人也是觉得没有必要放在中断里面,轮询就是轮询。如果说按照他的理论,中断时间如果是100ms,那岂不是刚执行完中断,其他轮询还没轮几个指令又得去执行写频率指令,那其他指令还怎么轮询。

我目前完整的程序就是每组泵的轮询是一个独立的子程序,实际运行也都正常。频率给定正常,也不会出现掉频率现象,其他读回来的也都正常。

我认为要实现他要的目的,那就把中断时间调整成比轮询一圈的时间稍微长点,这样就能保证,本次OB30里面的数值在下次执行OB30前,已经全部下达给每台变频器了,不知这个思路是否正确。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15707条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。