回复:关于优先级使用到的阵列问题?

已锁定

yming

西门子1847工业学习平台

  • 帖子

    23198
  • 精华

    881
  • 被关注

    1254

论坛等级:至圣

注册时间:2004-03-06

钻石 钻石 如何晋级?

发布于 2024-03-11 19:28:19

18楼

第三步,处理多个同等优先级的任务。

完成当前任务后,若有优先级任务,则应处理优先任务。

原本,TIA是提供了这个指令的。它就是ENCO(编码指令)



当你把PAW送入ENCO后会输出值,表示最低置位的位!例如:3

若PAW全部执行完,没有需要执行的,那PAW=0,这时ENCO的ENO输出FALSE。你只需将其送入一个位变量,即表示该优先级没有需要执行的任务。这个位变量,可以用于多优先级的处理。

但是,存在一个缺点,它总是最低位优先。尤其是不同工位任务处理时;当完成位15后,出现位3,它也会不顾较近的位8呼叫而去处理位3。

因此,我写了《短路径带优先级的任务处理》

它总已当前完成位置(位)开始,利用左移、右移两个基本指令;(只要PAW不是零)双向搜索,方法仍是与操作 PAW;很容易找到最近的待处理优先“请求”呼叫。


最后,说一下任务



学而时习之,不亦说乎?温故而知新,不亦乐乎?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15227条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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