回复:擅用博图中的Trace功能

已锁定

宝冬

  • 帖子

    425
  • 精华

    28
  • 被关注

    256

论坛等级:至圣

注册时间:2016-07-06

钻石 钻石 如何晋级?

发布于 2022-11-17 13:54:10

14楼


Trace应用和场景分析一例


上图的物理场景:我在HMI上的一号温控器操作页面上,反复快速点击切换一个Bool量的控制按钮,让它在1和0之间来回切换,让温控器改变工作模式。


在第3行中,那些和水平虚线等高的任务,也就是下标iJob为11号的任务,就是这个写任务。它被多次执行。


在第2行(IndexPrivileged 优先申请站点的调度序号)中,可以很明显看到:优先申请出现的数量明显高于,第3行中被执行的优先任务数量。那些用红色箭头标出的优先申请并未被执行,且每个优先申请都被释放了。


这是为什么呢?


优先执行某个任务的申请,经常是在其它任务正在执行的过程中出现的。对于485通信,正在执行的任务是不应被打断的,这样做有害无益行不通。所以优先权要等到当前任务结束后再切换过去。


写任务是偶发的。因其任务数据发生变化而被触发。


当我在HMI上肆意快速点击鼠标左键的时候,如果连续两次点击之间的间隔太短,也就是当另一个Modbus任务正在执行中,11号任务的数值从0变成1,又迅速从1变成0。而这时候当前的任务依然没有执行完毕,优先任务触发条件被自动复位了。


在任务被执行前,数值变回0等于撤销了这项临时任务的申请,所以优先权自动释放。等到当前任务执行完毕后,就像什么都没发生过一样。


类似这种事在生活中经常发生:领导把你叫过去,布置个任务。还没等你走出办公室,又把你叫回去,告诉你这个任务取消了。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15707条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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