在自动化中使用面向对象的编程方法

时间:2023-03-20来源:佚名

  我们知道面向对象编程(OOP:Object Oriented Programming)是一种面向对象的程序设计方法。所谓"对象"就是一个或一组数据以及处理这些数据的方法和过程的集合。面向对象的程序设计完全不同于传统的面向过程的程序设计,它大大地降低了应用程序开发的难度,使编程就像搭积木一样简单,是当今计算机编程的一股势不可挡的潮流。
在自动化中使用面向对象的编程方法
  图1:类
  面向对象编程 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。面向对象主要有以下的概念和组件:
  ● 组件:数据和功能一起在运行着的计算机程序中形成的单元,组件在面向对象的编程中是模块和结构化的基础。
  ● 抽象:程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。
  ● 封装:也叫做信息封装,确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。
  ● 多态:组件的引用和类集会涉及到其它许多不同类型的组件,而且引用组件所产生的结果得依据实际调用的类型。
  ● 继承:允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型地来说就是用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就可以把类组织成树形或网状结构,这体现了动作的通用性。
在自动化中使用面向对象的编程方法
  图2:继承
  最近,一家德国的媒体把精力集中到控制系统工程的主题上,特别是关于编程的问题。让他们对这个问题如此大的投入原因是软件编程在自动化工程中占有很大的比重。在编程问题上,他们又特别对面向对象编程的话题最感兴趣。你可能同意这样的观点:面向对象的编程已经不知不觉地进入了自动化,并且建立了它们自己的领地。
  有些题目不值得争论。控制系统的面向对象编程似乎是其中的之一。这家媒体的编辑马丁 布克维茨一直在拜访几个控制器的生产商,与他们探讨控制工程的问题。到现在,已经进行了若干次会面,得出的信息如下:
在自动化中使用面向对象的编程方法
  图3:封装
  至今为止,我已经看到一些有趣的发展。我还没有遇到一位供应商对面向对象的编程没有兴趣。但控制器生产商之间的不同只是实施策略和实现级别。有些公司已经在广告中声称他们使用了面向对象编程的方法;他们的产品使用了这种方法编程的结果,而且可以看出它的竞争优势。另外有些公司没有一直使用这项技术,而且今后很少或者不再使用这个概念。
  第三组生产商的情况是,软件工程师只是为了工作更有趣和增加编码的重用性,在这儿或那儿使用面向对象编程,不作为常态或要求来使用。虽然这组的声音不大,但却在静静地使用。
  如果对准了控制器编程人员的巨大市场,为他们一步一步地介绍面向对象的编程是比较明智的。有些概念,诸如类、继承、实例化,明显会让 plc系统的编程人员吓坏。 使用程序调用来替换程序的手动输入已经有很多年了,因此,使用面向对象的编程是一种进化,不会令人惊讶。
  其实,在国际电工委员会颁布了可编程控制器的标准IEC61131-3标准后,很多控制器生产商都在两种图形编程语言:梯形图(LD)和功能块图(FB)中支持一种称为自编功能块(Add-On Instructions)或导出功能块(Derived Function Block)它就具有前面所说的封装、继承和实例化的特性。所以,虽然没有声明是否采用了面向对象的编程技术,但实际上在用户熟悉的编程环境中,已经采用了这项技术和概念。这种方法可能更容易被自动化和控制工程师所采用,因为电气工程师最习惯梯形图,而流程工程师最偏好功能块图,只有软件编程人员比较熟悉面向对象的技术。
在自动化中使用面向对象的编程方法
  图4:自编功能块
  这项技术具有很多的先进性:
  ● 大大提高了编码的重用性;
  ● 程序具有良好的质量;
  ● 在团队中工作更简化;
  ● 管理编程也更加简单;
  ● 对程序修改也很简单。
  不管用户个人对面向对象编程的选择是什么,在自动化中已经绕不开面向对象的编程了。尽快设计和打包这项技术,展示它的用途,消除概念和理论中不必要的障碍是生产商的责任。建议用户在自动化中尽早使用面向对象的编程方法,因为OOP是未来的发展方向。

相关阅读

水电安装小知识之钢管暗敷设施工工艺

14.3.1 钢管暗敷设 1.工艺流程 2.材料准备防腐 (1)根据图纸要求准备好相应规格的管材及附件。 (2)非镀锌管应进行防腐处理,内外均应涂刷两遍防腐漆,埋在混凝土内的钢管外表可...
2023-06-11
水电安装小知识之钢管暗敷设施工工艺

变频器维修中的电阻器检测方法与经验

1、固定电阻器的检测。 A、将两表笔(不分正负)分别与电阻的两端引脚相接即可测出实际电阻值。为了提高测量精度,应根据被测电阻标称值的大小来选择量程。由于欧姆挡刻度的非线...
2023-03-21

家庭装修电路布线,超详细,速收藏!

布线原则 ① 强弱电的间距要在30-50公分,因为强电会干扰你的电视信号。 布线原则 ② 强弱电不能同穿一根管内。 强电主要指家里用的交流电。弱电主要是指网线,电话线一类的电线...
2023-06-11
家庭装修电路布线,超详细,速收藏!

常用的典型电子电路知识

本节要点复习: (1) 了解常用元件及主要参数 (2) 常用集成电路的分类、结构与选用 (3) 数字逻辑电路化简的一般方法 (4) 简单电子电路读图及识别错误 (5) 修理作业的一般...
2023-06-05
常用的典型电子电路知识

“多个开关控制一盏灯”的多种程序写法

一个开关控制一盏灯、两个开关控制一盏灯、三个开关控制一盏灯 ... 这些在家装电路中很经常使用。在家装电工朋友的眼中,这些无非就是多加几条线,这样并一下这样串一下就解决...
2024-03-18
“多个开关控制一盏灯”的多种程序写法

热销商品

EPDM配电箱机柜密封条三元乙丙橡胶半圆海绵自粘发泡胶条20*10mm

EPDM配电箱机柜密封条采用优质三元乙丙橡胶(EPDM)材质,具备优异的耐候性、耐臭氧、耐高低温(-40℃~+120℃)及抗老化性能,适用于户外及严苛环境。其半圆海绵结构设计,兼具...
1.08

加长球头内六角扳手L型六方棱套装万能2 2.5 3 4 5 6 8 10-30号mm

加长球头内六角扳手L型六方棱套装(22.5–30mm)专为高扭矩与深孔作业设计,适用于机械维修、工业装配及精密设备维护。套装涵盖22.5、3、4、5、6、8、10至30mm等多种规...
1.15

京生国标包塑金属软管 穿线波纹管电线套管蛇皮护线管16 20 25 40

京生国标包塑金属软管(穿线波纹管/电线套管/蛇皮护线管)规格涵盖16、20、25、40mm,采用优质镀锌钢带为基材,外层包覆阻燃PVC,兼具柔韧性与抗压性。产品符合国家标准,具...
1.05

内六角扳手套装梅花螺丝刀6角六棱内六方六边形加长万能板手工具

内六角扳手套装是一款多功能精密工具,适用于拧紧或拆卸内六角螺丝,广泛应用于家具组装、自行车维修、机械设备及电子产品等领域。套装包含多种规格(如1.5mm至10mm)的6...
8.9

L型内六角扳手内六角螺丝刀单个内六方形匙套装0.9-2-3-4-5-6-8mm

L型内六角扳手套装,包含0.9、2、3、4、5、6、8mm共七种常用规格,适用于各类内六角螺丝的拧紧与拆卸。采用高强度合金钢制造,表面经防锈处理,坚固耐用,抗磨损性强。L型...
2.23

网站栏目