UML中的泛化是否可以在Simatic代码(或结构化文本代码)中实现?
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.发布于 2013-02-28 11:36:21
一般情况下,答案是否定的,并不是真的。所有的PLCs编程方法(梯子、ST、FBD等)一般都是从实际机器代码中抽象出来的。它们更接近组装包装,而不是我们认为是现代开发语言的任何东西。结构化文本更接近于非常原始的Pascal --它缺乏任何类型的面向对象特性。
其理念是,PLC和PLC程序员在为他们开发程序时早已习惯了一种极端的微观管理方法。其原因是多方面的--有些理由比其他理由更为有效。斯科特·惠特洛克( Scott )写了一个很好的这里,概述了其中一些原因。一个重要的问题是,工厂层的维护人员通常是那些试图对机器进行故障排除的人,他们拥有清晰、非抽象的状态机信息比需要一个优雅的、最小的公式来满足系统开发人员的要求要有价值得多。
PLC编程是一个非常现实的行业。如果你在10%更实用的东西和90%更优雅的东西之间有选择的话,实际的解决方案总是会赢的。
话虽如此,但也有一些人在这方面发挥作用。我建议快速阅读这篇文章的一些例子,试图使ST的工作有点像你所建议的。不过,在真正的工厂里工作之前,我还是会小心谨慎的,因为真正的机器需要既安全又可靠地赚钱。
https://stackoverflow.com/questions/15131115
复制相似问题