您的位置:控制工程论坛网论坛 » 自动化软件 » 循环中断OB,改如何设置循环OB的循环时间呢。

haoster

haoster   |   当前状态:在线

总积分:67  2024年可用积分:0

注册时间: 2008-10-10

最后登录时间: 2022-04-27

空间 发短消息加为好友

循环中断OB,改如何设置循环OB的循环时间呢。

haoster  发表于 2022/4/26 14:35:35      1039 查看 3 回复  [上一主题]  [下一主题]

手机阅读

设置大了,程序精度不够,设置小了,循环OB内程序执行不完全。该如何设设定发挥循环OB的最大效力。


1楼 0 0 回复
  • yhyyttrt

    yhyyttrt   |   当前状态:在线

    总积分:141  2024年可用积分:0

    注册时间: 2008-10-09

    最后登录时间: 2022-04-26

    空间 发短消息加为好友

    yhyyttrt   发表于 2022/4/26 14:37:23

    可以在循环OB内使用RUNTIME计算出OB的执行时间,然后根据执行时间来设置循环OB的时间;如果使用PID的话还需要考虑PID自身采样的时间

    2楼 回复本楼

    引用 yhyyttrt 2022/4/26 14:37:23 发表于2楼的内容

  • osmaosi

    osmaosi   |   当前状态:在线

    总积分:1122  2024年可用积分:0

    注册时间: 2008-10-09

    最后登录时间: 2022-04-26

    空间 发短消息加为好友

    osmaosi   发表于 2022/4/26 14:38:03

    循环OB内程序执行不完全是,你在OB3?中的程序没有执行完整?
    建议在OB3?中不要编辑过多的程序段,仅仅编辑简单的调用标志位,再用这些标志位在其它FB/FC或者OB1中编辑控制程序,这样是比较优化的一种程序编辑方式。

    3楼 回复本楼

    引用 osmaosi 2022/4/26 14:38:03 发表于3楼的内容

  • hgggttrr

    hgggttrr   |   当前状态:在线

    总积分:94  2024年可用积分:0

    注册时间: 2008-10-09

    最后登录时间: 2022-04-27

    空间 发短消息加为好友

    hgggttrr   发表于 2022/4/26 14:38:47

    在不影响其它工艺控制的前提下循环中断执行时间小于间隔时间就是可以的。这个根据精度慢慢调。
    程序有指令可以改循环中断的间隔时间,用这个指令慢慢调,调得满足要求了,最后在组态中固定下来。
    还有一些注意的地方
    1、循环中断 + 延时中断数量 <= 4;
    2、循环间隔时间1~60000ms,通过指令“SET_CINT”设置错误的时间将报错16#8091;
    3、CPU 运行期间,可通过“SET_CINT”指令设置循环中断间隔时间、 相移时间;
    4、如果“SET_CINT”指令的使能端 EN 为脉冲信号触发;则 CPU 的操作模式从 STOP 切换到 RUN 时执行一次,包括启动模式处于 RUN 模式时上电和执行 STOP 到 RUN 命令切换,循环中断间隔时间将复位为 OB 块属性中设置的数值;
    5、如果循环中断执行时间大于间隔时间,将会导致时间错误。
    http://www.ad.siemens.com.cn/productportal/Prods/S7-1200_PLC_EASY_PLUS/function/S7-1200_OB_block/OB30.htm

    4楼 回复本楼

    引用 hgggttrr 2022/4/26 14:38:47 发表于4楼的内容

总共 , 当前 /