恭喜,你发布的帖子
发布于 2024-03-11 19:28:19
18楼
第三步,处理多个同等优先级的任务。
完成当前任务后,若有优先级任务,则应处理优先任务。
原本,TIA是提供了这个指令的。它就是ENCO(编码指令)
当你把PAW送入ENCO后会输出值,表示最低置位的位!例如:3
若PAW全部执行完,没有需要执行的,那PAW=0,这时ENCO的ENO输出FALSE。你只需将其送入一个位变量,即表示该优先级没有需要执行的任务。这个位变量,可以用于多优先级的处理。
但是,存在一个缺点,它总是最低位优先。尤其是不同工位任务处理时;当完成位15后,出现位3,它也会不顾较近的位8呼叫而去处理位3。
因此,我写了《短路径带优先级的任务处理》
它总已当前完成位置(位)开始,利用左移、右移两个基本指令;(只要PAW不是零)双向搜索,方法仍是与操作 PAW;很容易找到最近的待处理优先“请求”呼叫。
最后,说一下任务。
请填写推广理由:
分享
只看
楼主