3990|0

8

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

“面向对象”技术在PLC上的全面突破 ZT [复制链接]

注:有替施耐德做广告的嫌疑。

工业控制领域实现全面的“面向对象”,这历来是有远见的工业控制技术领军者多少年以来梦寐以求却始终没有重大突破的难点。
面向对象是人类在总结了现代社会解决生产、生活中困难问题的经验和教训及所走过的道路,经过归纳和总结后所得出得最佳的方法论,至少在可预见的未来,人类大概很少有可能总结出更优于它的其他方法。
面向对象的系统构建方法,可以通过“类”所具有的封装及数据隐藏、继承、多态等专有属性,实现过程控制安全、系统构建方便、系统可重用,进而使未来以类对象构件的系统具备维护简便,重复劳动少,系统更易实现柔性化,制造过程可实现社会化分工协作等诸多优点。
以往面向对象的理论主要应用在计算机高级语言领域,其他领域很少涉及。即便涉及也是被限定在与计算机技术紧密相关的如嵌入式系统、IN公司开发的图形化编程工具、某些品牌的计算机组态软件的面向对象组件等领域。
要想实现在大规模工业过程控制中控制系统全面的面向对象,有两个系统层级的难题必须解决:
1如何解决PLC程序编制中的“面向对象”;
2如何解决硬件系统(即低压控制系统)的“面向对象”。
日前,由清华大学出版社出版的《面向对象的现代工业控制系统实用设计技术》(以下简称“专著”),给出了破解上述两个重大难题的答案,这部专著给出的破解难题的道路是这样的:
一通过极大限度地发掘DFB类的潜质及特性,创造性地发掘出了梯形图语言中的“DFB类”的概念

DFB,即导出功能块,又被称为用户定义可重用功能块,是施耐德旗下昆腾等系列PLC的专用编程软件包CONCEPT中,最有价值、最富创意的子模块。
其实DFB这个概念建立的本身就是面向对象的产物,只不过这么好的东西自其建立之日起,很少为结构化编程禁锢住头脑的我国技术人员所重视、鲜见大规模应用,从而被打入进冷宫中罢了。
但是,是不是DFB可以被赋予“类”的角色,就意味着只要存在应用DFB的程序,那么这种编程方法就自然是“面向对象”的、这段程序中实例化的DFB对象就是“类对象”了呢?
完全不是如此。这就比方说,湖南人出了伟大领袖,那么我们决不能说“湖南人人人都是领袖”一样。
要想将DFB打造成“DFB类”,有几大难题摆在眼前,其中最重要的是如何实现类的封装问题。
而恰恰也就是这个问题,难倒了当今多少业界英豪。
因为工控系统不同于纯粹的软件环境,它有“硬”的东西,即硬件控制回路摆在那里。你想做到“封装”,硬件回路不“听”你的,或者它并不能完全做到,你的“封装”设想便“泡汤”了。
专著中是如何破解这个难题的呢?
专著的作者不愧是工控领域的大师级人物,他创造性地提出了将DFB类同一种或数种硬件模块(下一部分称这种模块为“硬件类”)绑定(专业术语中称为“拥有紧密的关联关系”)的,从而实现类的彻底封装。
通过这种技术手段,DFB类便具备了特征非常明显“专有接口”及“公、私有成员变量及函数”,类的最重要特性从此具备。
封装及数据隐藏实现了,那么继承如何实现呢?
这同样是一个难倒业界诸多大侠的巨大难题。网上个别探讨“面向对象的PLC程序编制”的文章中公开声称,PLC程序编制的封装可以做到,但继承、多态根本无法实现。
同样是专著作者这位大师的法力高远,他一针见血地指出,在父类的基础上,只需增加一个新的Section,即可形成一个新的子类,而且从两种DFB图符的外形上,还能很好地反映两种类之间的派生关系!(见专著P160)
看到这里,可能多少拍青了大腿、悔青了肠子的高手会拿出一个“绝杀级”的难题:专著的作者通过绑定硬件模块、增加Section解决了封装、继承,那么作为“面向对象”重要特征的“多态”该怎么实现?
这绝对是个对一流武林高手都够得上是个绝杀级的“大杀器”!
但专著的作者是个什么人?那是个“超一流”的大侠。对于这样绝杀级的东西,他同样有本事见招拆招。
他的“招法”是,将DFB类与专门用于与该类绑定的几种硬件类之间采用的不同组合,又成功地实现了DFB类的多态!
在脱离开高级语言的现实环境中,控制系统中DFB类的“多态”现象具体是怎样表现的?
专著的第五章给出了多种这方面的例子。例如,当一种DFB类与一种专有的硬件类绑定使用时,受控对象是变频电机,但更换另一种硬件类后,这种DFB类便可以用于控制给定信号电动调节阀门。
这就好比丐帮帮主“老顽童”手中的打狗棍,棍头绑上匕首,便成为了一件可以用其杀入敌阵的“长枪”,棍头挂上招魂幡,它便成为了降妖除魔的令旗。在这里,这根打狗棍便具备了“多态”的特征。
专著作者的这三招儿,彻底实现了普通的DFB向DFB类的华丽转身。
二通过对模块化低压控制系统中“模块”的深层设计,创造性地发掘出了“硬件模块类”的概念
读者由上一部分可以看出,要想实现PLC程序编制的“面向对象”,硬件回路中模块的设计是至关重要的。必须将“硬件模块”上升到“硬件模块类”的高度,上述目标方可实现。
事实上,采用模块化设计方法的低压控制设备早就有,无论是国内的GCS系列还是引入国外技术标准生产的MNS系列,都是非常成熟的模块化低压控制柜。
但这一部分面临的问题同上一部分一样,通常意义下的“模块”与本文语境下的“模块类”同样相距十分遥远。
由前者过渡到后者的道路在哪里?
专著中指明的道路同样有两步要走:
1实现主回路及控制回路在同一模块中的彻底封装;
2硬件模块与同其绑定的几种专有DFB类的组合选择。

要实现主、控制回路的彻底封装,低压控制柜就必须由专著中第1章中所介绍的,从第3代控制系统上升为第4代。而我国目前在广泛使用的“模块化低压控制柜”,普遍都是第3代,即控制模块中通常仅有主回路,控制回路仍然位于一个大的集中控制柜中。这样一来,莫大的一个低压控制柜中的一个个“抽屉”,里面其实空空如也,只有一个大的空气开关,而控制系统中的结构化设计所具有问题仍然没有解决,弄得整个“模块化”过程“白忙乎”一场,面向过程的系统设计方式所面临的问题依旧。
当这种彻底封装的模块与专门设计用于与其配合的DFB类组合到一起时,这种经过封装后的“硬件模块类”便如同机器人的“四肢”,DFB类便如同机器人的“大脑”和“神经系统”,只要更换机器人的“大脑”和“神经系统”,那么这个由DFB类和硬件模块类所组成的“机器人”便可形成不同的型号,用于执行不同的任务。
以上两招儿,便完成了“硬件类”的封装、多态的特征。
看到这里,可能某些“武林高手”会认为机会来了:这种硬件类能实现继承么?
的确,纯粹的硬件“继承”真的很难达到,因为在硬件模块上的确很难通过“挂”上些东西、“插”进某些板卡完成硬件的升级。但不要忘了,硬件模块是需要与DFB类绑定(即形成紧密的关联关系),才能体现和完成“类”的角色使命的。而与其绑定的DFB类是可以继承的。人类社会之所以近几十年来科技进步、生产力水平突飞猛进,就是因为许多过去必须通过硬件实现的过程,如今通过软件便大部分予以实现了。所以,硬件类的“继承”,只需通过对与其存在紧密关联DFB类的继承手段即可完全实现。
而硬件类的多态,则完全与DFB的多态的实现过程一样,可以通过更换不同的DFB类来实现。
例如,一种用于控制电机正反转运行的硬件模块类,同与其绑定的不同用途的DFB类灵活组合,便可用其控制星-角起动电机、刮泥机等其他设备的运行。

以上两大类的建立、其中五种“特殊招法”的使用,彻底地实现了现代控制系统中PLC层级、硬件层级“面向对象”的伟大跨越,这步跨越的缔造者--《面向对象的现代工业控制系统实用设计技术》的作者,请各位读者牢牢记住他的名字--祝瓛冰,一个成功实现了工业控制系统全面地面向对象,并将这种技术完全推向实用化的当代工业控制大师!

不过在此提请各位读者注意的是,这种“控制系统全面的面向对象”,未必在所有品牌的PLC中都能实现。目前仅在其他品牌的少数高端机中有与施耐德的DFB类似的可重用功能模块,没有这类东西,上述过程则无法实现。
此帖出自工控电子论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表