回复:【开源】Modbus设备的单FB封装和多设备平行调用的通用架构 ------ 一个温控器案例的完整项目文件

已锁定

宝冬

  • 帖子

    236
  • 精华

    26
  • 被关注

    249

论坛等级:奇侠

注册时间:2016-07-06

白金 白金 如何晋级?

发布于 2023-07-07 09:22:46

66楼

关于优先权和设计

 

读写任务都可以获得优先权。优先权是赋予给非周期性执行的任务,否则有些任务永远执行不了。优先权是一次性的。随机偶发的或周期性偶发的任务,可以获得优先权,也可以没有。

 

优先权可以分为不同的等级。本案例中只设置了一个优先级。不同等级的优先任务之间,可以通过判断让高优先级执行。相同等级的优先任务之间,按照先来后到执行。

 

本案例的通信层3和通信层6中,都包含有优先权的调度元素,适合不同的扫描时序场景。

 

下面的Trace描述了一个设备的优先权,触发了另一个设备的通信层6中的优先调度元素的执行,实现了执行权切换。


在Spin Launch层中,也有优先调度因素。它出现在了多个地方。

 

解耦的一个含义:设计一个局部元素的时候,你当然会去看全局设计中其它各处的关联。但不必严格介意,其它层的局部元素做了什么或者没做什么。

 

设计一个层,一个元素,是因为这个东西出现在这个位置有它自己的任务。重要的是让这个元素,在这个位置做它该做的事情,而不是时时刻刻盯着别人做了什么。这是一种开放性。把演化留给未来的迭代。

 

一个局部元素能实现自己的任务即可。至于其它的,如果有任何冲突或重叠浮出水面,成为一个被观察到的问题的时候,去解决这个新问题就好。合理的架构自然会把问题以明确的方式Pop出来。

 

不要死盯全局。去解决局部问题,修理局部元素。不必穷尽,恰在取中。

 

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15228条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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