回复:【编程挑战】同一个FB使用同一个实例多次无条件调用完成功能

已锁定

yming

西门子1847工业学习平台

  • 帖子

    23148
  • 精华

    881
  • 被关注

    1253

论坛等级:至圣

注册时间:2004-03-06

钻石 钻石 如何晋级?

发布于 2022-07-08 16:39:26

10楼

展开查看
以下是引用宝冬在2022-07-08 16:17:23的发言 >8楼

这种问题的本质是:用FB内部的静态变量,做公共数据区来用,就像全局DB一样。而习惯上静态变量是做为需要封装起来的内部私有计算使用的。


弊端就是用FB的内部数据做公共区产生的。代码上固然可以实现,但丧失扩展性和可剪裁的柔性。


调度是需要封装的东西,尤其是当它变得越来越复杂。这样才能保证FB外部接口界面的使用无关性,而不是在FB外边还要再套一层机制,来解决管脚外面的调度约束。一个封装好的FB拿过来,外部管脚的使用越简单越好,而不是还要使用者在外部再自建一套管理。


这就和很多人都抢着上一个单间厕所一样,大家自主协调,有人占了你就等着,有人要是紧急憋不住了,你就让他夹塞先上。而不需要再额外设置一个厕所排序叫号的管理员。这需要每个参与者都把排序和竞争的规则,封装进各自头脑内部。


没看出有啥弊端哦。

只能说西门子编写功能块的严谨。

按版主常规这么用可以,直接一次列出多次调用也可以。给编程者最大的自由度。

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

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10587条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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