uml - 如何在SCL中实现 "Generalisation"

标签 uml plc

能否在 Simatic SCL 代码(或结构化文本代码)中实现 UML 的概括

UML 中泛化的定义:

A generalisation is a relationship between a morew general classifier and a 
more specific classifier. Each Instance of the specific classifier is also an
indirect instance of the general clasifier. Thus, the specific classifier
inherits the features of the more general classifier.

Features specified for instances of the general classifier are implicitly
specified for instances of the specific classifier. Any constraint applying
to instances of the general classifier also applies to instances of the 
specific classifier.

最佳答案

总的来说,这个问题的答案是否定的,不是真的。所有 PLC 编程方法(梯形图、ST、FBD 等)通常都只是从实际机器代码中非常简单地抽象出来。它们更接近于汇编包装器,而不是我们所认为的现代开发语言。结构化文本更接近于非常原始的 Pascal - 它缺乏大多数面向对象的功能。

这个概念是,PLC 和 PLC 程序员在为其开发程序时早已习惯了极端微观管理的方法。造成这种情况的原因有很多——其中一些比其他更合理。斯科特·惠特洛克写了一点here概述其中一些原因。一个重要的问题是,工厂车间的维护人员通常是试图对机器进行故障排除的人,为他们提供清晰的、非抽象的状态机信息比需要一个优雅的、最小的公式来解决更有值(value)。系统开发人员的 self 。

PLC编程是一个残酷的实践行业。如果您可以在实用 10% 和优雅 90% 之间做出选择,那么实用的解决方案总是会获胜。

话虽如此 - 有些人正在这个领域玩耍。我建议快速阅读 this article一些尝试让 ST 工作得像你建议的那样的例子。尽管如此,在将这样的东西投入到拥有真实机器的真实工厂中之前,我会保持谨慎,这些机器需要既安全又可靠地赚钱。

关于uml - 如何在SCL中实现 "Generalisation",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15131115/

相关文章:

python - 如何让opcua在python中更加高效?

visual-studio - Visual Studio UML 类图和泛型建模

uml - 如何在UML序列图中绘制多个返回

java - 子类之间的组合

PLC能力及工作原理

opc - 什么是历史学家?

plc - 如何在 CX-programmer 中使用梯形图逻辑在 PLC 程序的输入之间开发互斥功能?

open-source - 我在哪里可以找到开源项目的 UML 图?

java - Eclipse 的免费 UML 工具/插件可以生成 Java 代码吗?

algorithm - PLC ST 语言 - 传感器信号导调用机反转