当今控制系统的可靠性越来越依赖于软件。制造商为保证稳定的性能付出了很大努力,然而控制工程师们可能需要通过另一种途径来解决这个问题。除了要使用更加稳定和高质量的代码以外,降低工程成本、工程时间和工程风险将会是主要考虑的对象。
总部位于荷兰Gorinchem的工业控制组织PLCopen的管理总监Eelco van der Wal,正在为控制工程师们所负责的软件可靠性应用而努力着。尽管他的努力只提供了一部分解决办法。
可靠的控制软件需要有一个坚实的基础,这只有供应商可以提供。van der Wal发现,当程序从数行扩大到数千行甚至更多代码的时候,其成本就会不断膨胀,相应风险也会飙升。他同时指出,可以确定一个应用实施在控制器前后发生的变化。
van der Wal指出节约成本和降低风险的关键,是依照全球工业控制编程标准IEC 61131-3中规定的接口进行结构编程。但是结构编程本身需要改变传统的编程方法,van der Wal表示这些付出可以提高软件的稳定性能,物超所值。尤其是在需要同一时间考虑许多工程的时候,它的作用会更加明显。
van der Wal说:“如果主次项目在时
节省费用的途径多种多样,而van der Wal指出其中只有40%的花费是不可缺少的。因此,更可靠的软件也可以成本更低。
上面简单介绍了控制工程师提高软件可靠性的方法,由于工具的存在使工作更加简便。另外,控制器制造商之间的讨论揭示了他们如何应对提高软件可靠性时所面临的挑战。
功能块的基本原理
van der Wal表示,提倡一种以标准为依据的结构编程方法所带来的好处不是免费的,这需要改变以往开发代码的方式。“你必须为此形成一套完整的软件开发理念,”他说。
这意味着控制工程师要采用结构化的方法,即先将问题分解成数个单独部分www.cechina.cn,用定义的输入和已知输出的功能块表示。
功能块使用IEC 61131-3标准中规定的图形或文本语言编写。框图后台有定义好的变量和数据类型,如整型、实数型、布尔型和阵列等,可以在脱机状态下进行模拟。符合要求后,该框图就同其他功能块整合到一起进入使用阶段,在该阶段须进行配置和维护。
van der Wal表示,稳定性提高、成本的降低都归功于功能块的使用。由于功能块本身相对小且简单,这使得成批添加功能块进行测试与了解其功能成为可能。功能块成品重新用于后续项目中,直接降低了工程成本。由于功能块改动更加方便控制工程网版权所有,维护次数减少也使得成本降低。
结构化编程方法确实需要非常多的前期工作,尤其是对第一个项目来说。这也意味着你不可能总是钻研于同一个问题控制工程网版权所有,不管它有多么诱人。控制问题的划分工作,却得益于这种顺序功能图。
IEC 61131-3规定了工业自动化编程的标准化语言,提供了对结构编程环境的定义,其中还包括了功能块的概念。
基于模型的设计工具
座落在麻省Natick市的私人控股公司Mathworks,拥有另外一套理念相似的系统稳定性控制软件。随技术计算软件一起,公司开发了一系列基于模型的设计工具,这可以作为控制软件的基础。这种基于模型的控制系统开发方法与结构编程方法类似,都要求事先定义问题并将其分解为几个小步骤。完成上述工作之后,该公司的Simulink过程建模软件就可以模拟功能快的功能了。
Mathworks公司控制设计自动化的营销总监Paul Barnard解释道,过程建模后该软件可以用来开发代码。“使用图形描述一个运算法则,代码生成系统会自动产生C语言代码www.cechina.cn,并对某些嵌入式目标汇编和调试。”
NI的LabView采用了一种相似的方法——使用图形开发,其好处是可以将控制问题抽象化控制工程网版权所有,让一个单独的开发者掌握更多的功能。正如编译器可以产生机器指令一样,代码生成系统移除了过程中的人为因素。由此产生的代码比由程序员编写的代码形式更一致——虽然无定论,但或许更加可靠。
Mathworks负责核查、验证和测定的市场技术经理Brett Murphy指出,Mathworks公司已经意识到代码生成系统并非总是正确的,为此我们提供了相应解决方法和模型。“比方说我们现在已经出台了模型校验的标准,”他说。
其他种类的工具提供了更多对模型和代码的校验形式,并验证特定故障是否有可能产生。这些工具允许在组件和模型的层次上进行校验,但目前为止还不能形成大规模的系统。
Opto22的工程师Tommy Leung在公司位于加州的办公室里使用QA wall检测软件和公司组件,以确保可靠性。
机器并非是孤立的
缺乏升级能力是很不幸的,因为应用是作用在大型网络的平台或系统。这种组合带来的一系列全新问题往往超出了一个控制工程师的控制范围,将直接影响