恭喜,你发布的帖子
发布于 2023-09-03 14:58:14
30楼
引用宝冬:
所谓全局,即是共用。而共用就是单元之间的交互。而交互就是界面。
所以任何单元,应该根据其在过程中的真相地位,被设计成严格区分Interface和Core。
我是把DB作为存放单元界面(Interface)的地方,而IDB是存放单元内核(Core)的地方。严格区分内外。
就像物理实体设备,都有各自的按钮、面板菜单和接口,也都有其内部看不到的实现机制。
站在万物互联的角度去理解,众多不同单元,都存在于大的空间中。
它们彼此之间,既可以存在于同一个节点(比如一个PLC)之内,也可以在于不同节点(比如HMI,上位机,云,等第三方)之间。
所以如果能把通信当作接口IO理解,那么所有不同单元之间的交流,不管是数据传递,物理IO,网络通信,都在本质上是抽象的IO。
IO就是交互界面。就像每个FB都有自己的IO一样。
对于PLC和工控,交流的对象是数据,所以DB中的UDT元素就适合做UI。如果拿IDB做交互载体,非顺势而为。是把core当UI用,是一种混淆。
-------------------------------------------------------
你说得对。
我以前也这么做的,只不过看了LBP以后觉得如果直接用FB的静态数据作为和HMI的接口就会方便许多。我之后也就这样实践了。
看了你的论述,我试着回到以前看看吧。比较一下它们的不同,也许我会更明白。
如果用DB作为接口,则FB中把以前的静态数据改为InOut接口,外部调用时需要给出实参DB接口。似乎没有什么多余的东西。
可明明多了个DB需要管理呀:命名/和FB实例配套的命名,我还得自己管理作为接口的DB到底和哪个实例联系在一起的,是存在额外的东西。
我还是慢慢琢磨吧。
请填写推广理由:
分享
只看
楼主