回复:标准化编程的一点实践

已锁定

yming

西门子1847工业学习平台

  • 帖子

    21988
  • 精华

    830
  • 被关注

    1095

论坛等级:至圣

注册时间:2004-03-06

钻石 钻石 如何晋级?

发布于 2021-12-22 16:56:02

43楼

展开查看
以下是引用宝冬在2021-12-22 14:09:56的发言 >42楼

是状态字和控制字,但关键不在这。需要再明确一下。


正如您提到的ProfiBus 和 ProfiNet 的标准化,他们的状态字和控制字只是适用于ProfiBus 和 ProfiNet ,超出这个范围就不行了。

事实上状态字和控制字与标准化与否无关。所有的程序员都会用到状态字和控制字,不管是不是标准化。它们只是常见的描述和控制方式,几乎所用东西中都有它们的身影。每一种状态字和控制字的作用,取决于设计目标。


我这里的状态字和控制字是给单元预备的。这里说的单元与行业和工艺无关。只要是把代码做成模块就是单元,就可以使用它做接口,而不管是做什么行业和应用。换句话说它可以用于千变万化的各种模块,只要是模块就行,而不管是什么模块,是做什么的。

这里的状态字和控制字的目标:模块的启停控制和执行状态反馈,包括正常执行和故障报警和禁用等。这些需求是任何工艺模块的最基本也是最关键的共性。我寻求和设计的是可以在所有工艺中描述这一角度问题的通用耦合结构,而不是其它问题。

状态字和控制字描述事物的角度可以有千万种,但我需要的是可以描述所有模块的运转基本层面的状态控制字,这是我的目标。而不是事无巨细的去描述很多其它信息。问题描述的越细致,特定性越强,也就只能应用于某一领域。


我实现的是任意单元执行的最基本状态信息可以沿着耦合网络的上下透明传递,从IO到HMI。模块需要调用其它模块,模块的执行和故障需要在调用中反馈。

这是一种去中心化分布式设计。任何模块只要采用这个接口传递调用,按照接口规范来用,它的基本执行信息就可以通过调用与被调用关系自动向四周传播,而不需要集中控制。

任何采用这种接口的模块,只要把彼此管脚连接上,对方的信息自动获得和继续传播,所以模块是可以胡乱任意连接的。

这样的好处是灵活性。工艺可以随便改,随便打乱,随意架构。只要模块间的调用关系存在,基本信息自动传递,就像病毒感染。也就是这种信息的传递方式与工艺和架构无关。

这些基本信息的自动获得,对任何项目的调试都是非常重要的效率关键点。


这个结构的最大用途就是:在现场屏幕上对产生信息的源头单元快速定位,工艺观察或故障追索。至于每个单元的更多详细信息,由各单元的局部功能来进行详细展示。第一步这顺藤摸瓜很重要。


感谢版主提的这点,要不也想不起特地明确一下这个东西的作用到底是啥。不知道说清楚没有。我这个帖子通篇空荡荡,没说具体东西。因为我考虑的标准化应该是与工艺无关的,所以就没提到任何具体东西,显得抽象空洞。但可能事情就得这样才行。

越是抽象不具体的东西,用起来才不受具体事物的限制。


我个人喜欢去中心化设计风格。建立一套规则,每个单元在信息对称的前提下,按照规则自动运转,而不是靠集中式的指挥结构。好处是可以模块可以随意拆卸增减和剪裁组装。只要规则在,再乱也不怕。

在通信中也是这么做的,规则都封装在模块内部,模块会根据信息自动调度行为,彼此自动协调。


以下是引用yming在2021-12-22 12:16:52的发言 >41楼:你说了那么多。不知...

引用41楼详细内容:

你说了那么多。

不知道你是否意识到:你那些图上的这些点,实际上是西门子控制系统的 状态字和控制字

不管是面对什么样的系统,该系统总是处于某一种状态。在该状态下,只能(允许)做某种控制

正是由于西门子 自动化与驱动的标准化做的细致,才有了 ProfiBus 和 ProfiNet 这样的标准化组织。

其关键的内涵就是 状态字控制字

所有流程、顺控都是根据条件(从当前状态和操作)进入到其他状态。

在每一个状态中,只操作控制字,其他什么操作也没有。

而实际的输出操作:由控制字来操作各个功能块。所有功能块都是标准块,都是无量纲的。,结果输出状态字。



所以我说你没有意识到这一点呀。

完全和通讯没有关系的西门子数字化驱动设备,仍然是使用状态字、控制字

不管是大容量的、还是小容量的;不管是简单的一体机、还是有好多功能模块组合而成的多传系统用的是同一套 状态字、控制字。

换句话说,这些与 PN/IO、PB/DP一点儿关系也没有。

同理,PN/IO、PB/DP应用,也可以与驱动一点关系也没有。为什么?

不是使用这些,去配合PN、PB。恰恰相反。是PN、PB标准化组织来适应这些应用规范。

又:(没有”特定领域“?其实是有的,例如:有汽车领域的专用规范。状态字、控制字、专用的功能块。)

再深入一点,它主状态的控制、局部状态的控制,不牵扯到任何 操作功能块。在该状态字下,仅操作控制字。

这就是它的标准化程序结构。


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

请填写推广理由:

本版热门话题

谈天说地

共有12195条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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