回复:把启动、停止、MOVE数据等等放进OB30会有什么后果?

已锁定

昔日如诗

  • 帖子

    826
  • 精华

    3
  • 被关注

    10

论坛等级:侠圣

注册时间:2018-04-17

钻石 钻石 如何晋级?

发布于 2023-11-30 10:43:14

40楼

展开查看
以下是引用Zane在2023-11-29 23:35:29的发言 >38楼

只说对了一部分


OB1与OB30都是有看门狗的,当然机制略有不同,详细看手册,不罗嗦了。


简单地说,中断程序的执行延长了OB1的执行时间,但OB1总执行时间,即OB1自身的程序执行时间与中断程序执行的时间,包括系统程序执行的时间,加起来这个总执行时间是不能超过看门狗时间的,明白吗?

所以你理解的例子,看上去对,本质上不对。


反过来,再问一句,OB1为啥不能固定周期呢?博途的的CPU属性里我设置最小扫描周期为20ms,而我确保实际的所有程序的执行最多只要10ms,这时候OB1的20ms等间隔周期与OB30的20ms定时中断在程序等间隔执行上有多大区别?这时PID放在OB1里执行不行吗?



以下是引用昔日如诗在2023-11-29 19:27:48的发言 >35楼:    你这话我看了...

引用35楼详细内容:

    你这话我看了三遍。

    一、“OB30是有多少程序,就执行多少时间,不是固定时间宽度的,只是OB30的触发时间间隔是根据设定固定的。”

   OB30里程序的执行时间必须短于循环周期,否则CPU会报错。所以,假设OB30的循环周期是6秒,里面的程序的执行时间不能超过6秒,比如可以是200ms,但是不能是7s,是这样吗?

    二、“其次,OB30执行程序的时间是会计入扫描周期的,增加扫描周期的时长。”比如OB30里的程序的执行时间是350ms,而OB1的扫描周期是150ms,加到一起,系统的扫描周期是500ms,是这样吗?


以下是引用Zane在2023-11-29 10:55:40的发言 >19楼:错!OB30是有多少...

引用19楼详细内容:

错!

OB30是有多少程序,就执行多少时间,不是固定时间宽度的,只是OB30的触发时间间隔是根据设定固定的。

其次,OB30执行程序的时间是会计入扫描周期的,增加扫描周期的时长。

这是计算机的基本原理

建议楼主还是认真学习一下PLC的程序扫描机制,就那么几页纸,比在论坛里东一锤西一棒地瞎琢磨好


再问楼主一个基本问题,知道PID问什么要在定时中断里调用吗?


感觉楼主的知识体系完全是键在沙滩上的

以下是引用昔日如诗在2023-11-29 08:04:55的发言 >11楼:那OB30就类似于...

引用11楼详细内容:

那OB30就类似于一个脉冲,脉宽100ms,周期6s,,是这样吗?

以下是引用zhangli0在2023-11-28 15:15:33的发言 >2楼:胖哥理解的对,ob...

引用2楼详细内容:

胖哥理解的对,ob30每6秒执行一次。执行完就输出了,这个执行过程可以是100ms或者更短时间,剩余时间内ob30没有任何动作,等待下一个6秒的到来。所以不会出现执行结果6秒后才输出的情况。

PID放在OB1里的话,OB1固然可以设置20ms的扫描周期,且其里面的程序执行时间可以保证为10ms,但是这个10ms可能这次是从20ms的第1ms开始执行,下次可能是从20ms的第5ms开始执行,再下次可能是从20ms的第10秒开始执行,这样,一连串的10ms间隔并不相同,导致PID接收的数据不是等距的。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15117条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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