我国当前在大规模工业过程控制技术方面,与西方国家相比,到底落不落后?落后在哪里?
对此问题,可能许多在工业控制领域“潜水”多年的老手会抱有不屑一顾的态度:我国的工业控制技术根本就不存在落后的问题,因为世界上最先进的组态软件、PLC或DCS我们都可以毫不受约束地予以应用,质量及可靠性俱佳的知名品牌电器元件及材料也同样早就得到了大范围的普及!
事情果真如此么?对于工业过程控制来讲,是不是使用上了最先进的组态软件、PLC、先进的仪表及电气元器件,一个工业控制系统自然而然地就成为了“最先进”的呢?
绝不是如此!
在笔者看来,这种论调就仿如说,一个普通人只要经过一定时间的训练,那么面对一架价值几百万元的斯坦威钢琴,他就可以弹出世界最美妙的钢琴曲来。
所以这部分人的这种论调是否站的住脚,恐怕任何人都能给出答案。
不过拿钢琴的问题来理解我国工业控制系统与西方先进技术之间的差距毕竟有些风马牛不相及,有没有什么更确切的例子让我们一下子就能大致了解我们与西方国家在控制技术方面“软实力”差距的大小呢?
Windows系统是大家再熟悉不过的东西,在这方面我国与西方国家之间的差距,几乎就相当于我国在工业控制体系上与西方国家之间的差距!
导致出现这样巨大差距的问题本质何在?
问题的本质其实就是眼下许多大学生经常问的这个问题答案:C语言的能力也非常强大,为什么不能采用C语言来参与Windows的程序编制,而必须是C++?
中国的大学毕业生总是“乐于”追究这类问题的真正原因,缘于中国的大学教育中,“面向对象”的思维还没有成为大学教师们在系统构建方面的主流意识。
看到这里,那些并不认为中国的控制技术落的技术人员一定随之产生这样的诘问:控制系统就是控制系统,它跟面向对象有什么关系?
当然有关系。因为在当代控制系统的规模和复杂程度跳跃式发展的今天,当我们面对的问题的体量和复杂程度迅速发展到通过有限的方法和简单的管理手段已无法应对的时候,唯有面向对象的思维和手段,才是寻求破解当今越来越复杂问题的根本出路!
看到这里,可能很多读者对本文所欲叙述问题核心内容产生了疑问:无论是面向对象还是面向过程,这都是软件世界中的概念,工业控制系统当中固然可通过工控机实现“面向对象”,但构成工控系统的除了工控机,还有PLC、尤其是还有以低压控制柜、仪表等所组成的硬件系统,难道这些部分也存在“面向过程”还是“面向对象”的问题?
没错!我国工业控制系统与西方国家先进的系统构建理念的真正差距就在于此!就是因为无论是我国当下从事工控系统设计的技术人员的设计思路,还是几乎全部的设计规范当中,还完全看不到以面向对象的思想构筑系统的一点点影子。在我国整个工控界,以面向过程的思路,而非以面向对象的方法来构筑控制系统,是我国当前工业控制系统远远落后于西方国家的真正原因!
为什么说以面向过程的方法来构筑大的系统就必然是落后的?
因为庞大和复杂的对象无法用简单、原始的技术和材料通过无限堆积来构建。只有将庞大、复杂的目标的构筑过程细分为一个个独立的小目标,且建立起这些目标间的科学关系,复杂对象的构筑过程才可完成及实现。
这个问题其实可以用简单的例子来说明。
在农村,以农村泥瓦匠的“技术”来垒猪圈,这通常绝对没问题;农村的民宅如果不是太复杂,这种“技术”通常也都能应付。但是面对以规范设计的住宅楼,这种“技术”就绝对不行了。
问题出在哪里?
问题出在住宅施工过程必须是由服从于现代化管理体制下的“建筑公司”、“工段”、“班组”等不同层级的施工单位,以及单位内不同专业的技术人员及工人,以各自解决自己负责的技术任务的运作形式,才能最终实现构建现代化住宅这个高层次的目标,而非一帮不分专业、没有专业化的管理方法、不采用外购的商品化半成品材料,仅凭破石头、烂泥巴作材料的农村泥瓦匠就可为之的。
在这里,现代化施工队伍的作业方式就是面向对象的,而农村的泥瓦匠的施工方法便是面向过程的。
显然,农村的泥瓦匠的技术不是不好,也不是没有用处,而是拿这种“技术”来应对“建现代化住宅楼”这个目标时,它是落后的,是无法应付、无以为继的。
问题谈到了这里,其实也就点到了本文的标题所指的问题的实质:我国的技术人员在工控系统的系统构建过程当中,所采用的系统构建的方法,其实与农村泥瓦匠并无太大差异!
怎样判断控制系统构筑过程中“面向过程”的问题是否存在?
其实只要一个系统具备如下几方面特征之一,便至少就可确定其构建过程存在面向过程的因素;同时具备1、2项,或具备第3项,便被认为这个系统是完全的面向过程的:
1 在由PLC构成MCC的系统构成模式下,硬件控制回路被设计成全部控制回路均位于一个个现场控制箱之内,或每台设备的控制回路与其他设备的控制回路一同集中固定在大的电气控制箱之内;
2 PLC的程序编制中,代表电机主接触器的DO分量由梯形图的梯形逻辑直接驱动,而非由导出功能块(施耐德系列PLC将其命名为DFB,西门子系列PLC将其命名为DB)实例化对象的输出函数控制;
3 工业总线模式构成的大型系统(此系统模式下由于没有PLC从而可形成“虚拟MCC”)中,组态软件应用程序的编制过程未采用“对象模型”,而是直接对现场受控对象实施控制。
在上述几条严格的考核标准面前,我国控制系统的设计者可以想想,在自己手下“诞生”的系统当中,有哪些项目能够跳出这三条之外呢?
看到这里,可能许多读者会更加不服气:我现在设计的控制系统即便就是面向过程的,我也并没觉得这样做有什么不好,更无法想象得出面向对象的系统就一定会给我带来什么样的益处。
或许这些人真的没见识过“面向对象的现代控制系统”到底是什么样子,对这种控制系统的种种优点缺乏体验。
实际上两者之间的性能差异有如天壤!
后者同前者相比,其巨大的长处及优点如下:
1 大大降低设计、制造及系统调试难度
实现了控制系统的全面的面向对象,就意味着无论是PLC控制程序的功能和硬件功能便都可以通过类对象来实现。而一个控制系统再复杂,构成系统的类对象虽然数量很庞大,但类的种类最多只须十几种便足以应付,所以一旦“软件类”及“硬件类”设计完成,剩下的程序及硬件(低压控制柜)的“设计”、“制造”过程便简单的多、容易得多了;
2 大大降低系统运行的故障率及故障排除时间
以一个个类对象的有机结合所构筑的控制系统,其故障的查找及排查立刻就变得方便得多了,尤其是硬件部分,整个控制柜中绝大部分都是由有限的几种硬件模块构建,一旦哪个“类对象”(即硬件模块)的运行出了问题,那么维修人员只需用备用的或其他未运行设备的模块实施替换,一插一拔之间,问题便得到了解决。而这种简单的“修复”过程相比照于那种电气工程师及电工必须在带电的大柜子里小心、仔细查找故障的硬件系统能够快上多少倍、方便多少倍,想必任何一位读者都能算计得过来。有统计表明,面向对象的模块化控制系统相比照于面向过程的集中控制柜控制系统,控制系统的故障率占总故障率的比率,能从30%一步降到5%以下,系统的总的故障率一下子降低了1/4!
3 系统从“刚性”一步跨越到“柔性”
控制系统,尤其是控制系统中的低压控制柜如能实现面向对象的模块化设计,系统的构建真的几乎接近于像“搭积木”那样简单了,系统根据需要几乎可做到可大可小,想扩容只需再插上几个模块便可完成大部分工作,甚至面向对象语言中“继承”、“多态”的特征都不难实现。这些难得的特性,是过去那种将控制回路一排排地固定在大柜子内的面向过程的“刚性”系统无法实现、无法想象的。
4 使控制系统的标准化成为现实
无论哪个工业门类,设计工作能否做到标准化,这是检验这个部门及行业现代化程度的重要标志。
由于控制系统自身的特殊性,这个领域的标准化工作的实现相比照于其他行业要困难得多。
在以往以面向过程构建控制系统的思想指导下,我国化工部等部门曾试图采用以各种受控对象的“标准电路”的形式来实现标准化。但在实际应用中,受控对象的特性、种类千差万别,建立起足以应对自然界各种受控对象的“标准电路”,这就仿如VB越来越庞大的标准函数库,不改变思路,VB的标准函数库的“建立”过程早晚有无以为继的那一天。
面向对象的设计方法给上述已走入死胡同的思维指明了一条生路:在控制系统的设计过程中,可以将“硬件类”设计得很简单,而那些复杂的性能则通过“软件类(即DFB类)”,以及这些类所能达到的继承、多态等特性来实现。
如果面向对象的控制系统设计体系真的能够得到完全贯彻,笔者估计,那么对于常规的工业过程控制而言,大概只需推广不到20种标准化的“硬件模块(类)”,便足以应付工业控制过程当中99%以上的应用条件的需求。
以区区二十种不到的“标准模块”,来代替现在就已达到不下200种的“标准电路”,进步该有多么巨大、效益该有多么明显?!
不用笔者再去向各位读者宣传和讲解面向对象的工业控制系统的种种好处了吧?
可读者看到这里一定会很着急:面向对象的工业控制系统确实很好,但它成熟么?它已经得到了大规模的应用了么?具体我们该上哪里学、看那本书呢?
答案都在清华大学刚刚出版的一部学术专著——《面向对象的现代工业控制系统实用设计技术》当中,读者的上述几点迫切要求,此书都能给出圆满的答案。此外,读者在该书中还一定能看到另外让读者大感意外、大觉收获的宝贵东西。
当然,话说回来,阅读这本书,对于当下我国的绝大多数自控、电气、仪表专业的学生来说并非易事。
学吧,“啃”下了这本书,你绝对要比你现在的大学老师强多了。