2007-03-09
(I):前言及仿真校验篇
一、前言
近年来,国内工控行业的发展日新月异,国内企业在DCS领域也有了长足的发展,涌现出一大批优秀企业和产品。然而,国内工控行业的发展并不平衡:一方面,在工控硬件方面和国际水平全面接轨;另一方面,在工控软件设计方面却遇到发展瓶颈,全面落后于国外先进水平。这方面的介绍文章也很少见到。
在目前国际上较通用的自控软件开发工程中,编写源代码只占整个开发过程的30%。而从工程角度对产品功能进行划分,并形成一系列相关文档(编写详细的代码说明、相关支持文档等)将占去70%的开发时间。大多数设计在现场安装调试前就已经通过仿真进行了校验测试,进而确保整个系统的现场安装调试可以在很短的时间内完成。而在我国,这一情况正好相反,甚至尤有过之,编写源代码占去了开发的绝大部分时间,冗长的现场调试更是费时费力。造成大多数项目不能按时完工,且频繁超过预算。由于缺乏完善的规范化的设计方法,国内的自控设计在控制精度和控制效果方面仍然处于落后水平,同时也极大地限制了完成复杂的大规模控制系统的能力。
造成这一情况固然有我国工程化开发水平较低的原因,开发观念、工具平台上的不足也是很重要的因素。从当前我国从事工控软件开发的人员构成来看,一方面大多数开发人员工程化软件开发方面的知识较为缺乏;另一方面,目前的大学教育对软件工程概念仍然认识不足,教学方法和教育平台仍较落后。这两方面原因造成了我国工控软件的开发水平、尤其是工程化水平仍然较低。与国外优秀的工控软件开发过程相比,我们自己开发的软件常常有源代码而无流程图、无详细说明文档、质量不高、设计复用困难、需要长时间在现场进行调试以及升级维护困难。
从国际上来看,自控软件设计的发展已经进入到自动化、图形化开发阶段。用户通过功能强大的系统级图形化软件开发工具对所开发的项目进行描述,建立整套系统的形式化模型。只要能够建立起正确的系统模型,图形化开发工具就可以根据该模型生成PLC或C语言的源代码,提供完善的系统流程图、标准化的软件说明文档,并对系统功能进行仿真校验,显著缩短现场调试时间,可以极大提高自控软件的开发效率。下面,我们将从几个方面介绍一下国外先进的工控软件设计的理念,希望能给国内自控界的朋友带来一些启示,早日赶超国际先进水平。
评论4
楼主 2007/2/11 21:01:00
二、仿真校验测试
目前国际上已经普遍采用的是在现场之前校验测试自控系统的设计,从而节省大量的现场工作时间和劳动。国内则刚好相反,全面软件测试和综合软件测试全部需要到现场去做。在现场边安装边调试成为国内所有系统集成商的唯一选择。大多数工程都必须花费数个月的现场时间,不仅严重影响用户的产品上市时间,对于系统集成商本身也是巨大人力和物力的浪费。
今天,长时间的现场调试已经变得不可容忍!最终用户给予系统集成商的时间越来越短,并且对工程延误处以高额罚金。这就迫使自控系统集成商在现场调试之前对自控代码设计进行校验测试,发现并更正绝大多数设计错误,从而确保使用最短的现场时间完成系统的安装调试。
很显然,通过仿真方法建立现场对象的形式化模型,然后在此仿真环境中对自控软件进行校验和验证是最自然的解决方案。当然,这样的仿真校验必须是在完整的仿真环境下(仿真整个生产线甚至是整个工厂环境)进行,而各硬件厂商自带的仿真工具由于只能仿真测试单个功能块,是无法担此重任的,需要使用一些先进的自控软件设计CASE(计算机辅助软件工程)工具,如ControlBuild等。
通过仿真进行校验测试具有无可比拟的优点:
1、在仿真环境下校验测试自控软件,发现并更正绝大多数的设计错误,大大缩短现场安装调试时间。从国外的经验来看,通过仿真校验可以将数个月的现场安装调试时间缩短到数个星期,极大地提高了效率。
2、在仿真环境下,改变环境及生产条件,测试设计的反应
3、在仿真环境下,可以引入各种异常,失灵情况,对设计进行破坏性测试
4、在仿真环境下,虚拟机器100%可使用
5、在仿真环境下,有更多的时间去测试和修改
6、仿真环境提供了更好的工作环境,避免进入一些高危险性的场合(高温、酸、易爆、有毒等)
7、在物理设备或系统没有实际安装或联接的情况下,可以提早校验测试、提早投产
8、系统操作员和维护人员可以提早接受培训,提高操作维护水平。
仿真校验在欧美自控界已被广泛使用。更由于仿真校验对最终用户的巨大好处(几乎没有坏处)而受到最终用户的强烈推崇。许多公司甚至硬性规定必须使用仿真校验。例如,PSA标志雪铁龙集团就强迫要求所有自控系统集成商,在现场安装之前必须使用仿真对设计进行校验测试,确保生产线按时高质量完工。事实上,来自最终用户的强力推动正是仿真校验在欧美迅速推广起来的重要原因之一。然而令人惊讶的是,这样的先进理念在国内却无声无息,我们迟迟看不到这方面的介绍和探讨。而最终用户更是在不知情的情况下被迫接受效率极其低下的现场调试,并且对频繁的工程延误和预算超标束手无策。当然我们相信这样的状况不会持久。随着国外自控系统集成商和工程公司的逐步进入,先进的自控设计理念也必然随之进入中国。仿真校验作为一股不可阻挡的潮流,在国内自控界的流行将指日可待。
楼主 2007/2/11 21:03:32
国内有些单位也已经认识到基于文本的设计说明书的缺陷,有时在和用户沟通的过程中也会使用Visio之类的工具画出高层功能分解,并拿给用户看。不过,这种做法的缺陷在于,这样的图形表示实际上只是一个示意性的说明,无法进行模块间连接有效性的检查。另一方面,这种示意图在实际系统实现时仅能作为参考,无法与实现过程紧密结合并强制地要求实际实现与其完全一致,从而大大削弱了其实际作用。
2、设计:自顶向下、自底向上的设计方法
通过对高层需求的功能性分解,把整个系统逐步分解为最基本的组件,可以通过图形化语言描述组件,完成设计。这是自顶向下的设计方法。
另一方面,在系统存在许多有共性或相同的组件,设计一个组件模板,就可以通过复制生成许多实例,像搭积木一样把整个系统设计出来。这是自底向上的设计方法。最有效的设计工具应该支持两种方法的混合使用。
每当做完一个组件设计,应该可以很容易地进行单元测试,确保组件的正确。另外,对由多个组件组成的复杂组件,最好能复用各单元测试的结果进行集成测试。
3、自动设计文档生成
在传统的自控设计中,手工编写设计文档占去了设计人员相当多的时间和精力,是设计人员最不愿意做的事情之一。手工编写设计文档不但费时费力,更重要的是,难以保证所编写的设计文档和设计完全符合。对设计的每次更改,都会带来设计文档的更改甚至完全重新编写,浪费大量精力和时间。自动设计文档生成工具可以有效地解决这个难题。设计人员需要做的就是点击一下鼠标,所有的设计都会自动生成文档,随时随地。小到基本组件,大到整个系统,都可以生成用户定制的设计文档。当设计发生修改时,只需点击一下鼠标就可以轻松地再次生成文档,并保证生成的设计文档和设计是完全一致的,节省大量编写文档的时间和人力。
4、控制代码自动生成
随着控制代码自动生成工具的普及,越来越多的设计人员开始放弃手工编写控制代码,转向使用自动工具。设计人员通过系统级图形化软件开发工具(如使用IEC61131-3语言)对所开发的项目进行描述,建立整套系统的形式化模型。然后代码自动生成工具就可以根据该模型生成PLC或C语言的源代码。自动生成代码能够大幅提高设计品质:
* 提高代码质量
* 提高代码的可复用性
* 降低开发时间和成本
* 缩短调试时间
* 与设计完全吻合。如果设计更改,程序代码保持一致
* 这是一种充分的、能够完全被理解的系统设计方法,因为开发者的想法被自动地实现
* 在集成到目标设备之前允许在一台主机上进行仿真,验证更加规范和全面。
5、仿真校验
这部分内容我们已经在上一篇文章中详细介绍过了,有兴趣者请查看“中华工控网”的技术文摘:http://www.gkong.com/learn/learn_detail.asp?learn_id=862。
6、透明设计:维护与升级
在目前国内传统的设计方法中,自控系统集成商的设计对于最终用户来说完全是“黑箱”设计。工程结束后,供应商留下的设计文档和控制代码往往令人难以理解,用户变成了“瞎子”,完全不知道自己的自控系统是如何设计和运作的。这会给用户的系统维护、系统将来的升级改造带来巨大困难!
这些年国际上普遍使用的是“透明设计”理念,自控集成商在设计过程中,采用了标准化的CASE工具进行设计,从最开始的设计规格说明书到系统实施阶段全程和用户沟通,全程对用户透明,用户完全知道是如何设计的,这样对将来的系统维护和升级都极有好处。
7、全流程的自控软件解决方案
虽然在每个设计阶段都存在着若干CASE工具帮助设计人员进行设计,但对于一个完整的设计流程来说,设计人员往往需要掌握和使用多个工具,这显然不能令人满意。一个全流程的解决方案自然会成为设计人员的最爱。全流程的设计工具涵盖了从设计规格说明书、设计、代码生成、仿真校验、到系统实施的全部过程,在享用CASE工具带来的巨大好处的同时,设计人员无需在不同的工具间捕获数据,无需同时学习掌握多种工具,从而大大降低设计成本,提高了设计效率。
四、总结
至此我们简要介绍了一些目前国际上流行的自控软件设计的先进理念和技术,因为篇幅有限,不能深入进行探讨。大家在读这篇文章的时候,可能也在思考我们的差距。是的,差距是显而易见的,并且软件设计方面的差距导致了我们的控制水平在精度和质量等方面都落后于国际先进水平。然而,我们也大可不必妄自菲薄。我们拥有一支数量众多的高水平自控设计人员队伍,不但专业知识扎实,实际经验丰富,接受新思想的速度也很快。从这几年自控硬件的飞速发展就可以略窥一二。中国又是目前世界上最具活力的经济体,全球的制造中心,成千上万的新工厂、新生产线每天都在建成,这无疑为自控领域的飞速发展提供了肥沃的土壤。只要我们坚持开放的心态,经常了解国外先进的理念和技术并为我所用,赶上并超过国外的日子也就指日可待了。
愿这篇简短的介绍文章能起到抛砖引玉的作用,为广大自控从业人员带来一点启示,为我国自控领域的进一步发展尽绵薄之力!
楼主 2007/3/9 9:27:03
很好,国内软件业应加快步伐。