技术频道

国际自控软件设计的最新趋势(II):CASE工具篇及总结

三、CASE工具篇
  在上篇介绍文章中我们介绍了国际自动软件设计领域中仿真校验的趋势,接下来我们来谈谈CASE这个概念。CASE 是英文 Computer Aided Software Engineering的缩写,主要是指利用一整套的方法和工具对系统规则进行建模,并自动生成合适的程序。CASE概念在IT界已经流行多年,现在已经是必不可少的常用手段。而在自控软件设计领域,CASE概念的流行还是最近几年的事情,但发展速度之迅速却是出乎许多人的预料。由于CASE概念为自控软件设计领域带来脱胎换骨般的变化,使整个领域提升至一个全新的高度,在短短一两年的时间内就迅速在欧美自控界普及开来。令人遗憾的是在国内自控界却几乎无人谈及,也很少有这方面的介绍文章。
  CASE概念在自控软件设计领域中的应用主要还是围绕着标准V型设计流程来展开(见图)。在设计的各个阶段,尽量多的使用计算机手段帮助设计人员高质量地完成设计,并尽可能地减少需要使用的不同工具或产品种类,减少不同工具之间的数据重新捕获,提高设计复用性,减轻设计人员掌握不同工具所需的学习量,降低整个设计和运营成本。下面,我们就根据V型图的设计流程,逐一介绍一下CASE概念在自控软件设计领域中的应用。

 1、设计规格说明书:可执行的规格说明书(形式化设计)
  自控软件设计的第一步是根据用户需求完成设计规格说明书。设计说明书是后面所有工作的基础,它的好坏直接影响到整个设计的好坏。目前国内普遍使用基于文本的工具编写(如Word、Excel等)。但是,由于文本语言自身的特点,对于相同的文本每个人的理解经常会出现差异,基于文本的设计说明书不可避免地在用户和设计人员之间造成歧义和误解。这些错误往往要到设计的最后阶段甚至到现场安装阶段才被发现,造成巨大浪费并付出重大代价。因此,如何在设计的最初始阶段解决所有的歧义,充分和用户沟通并确保设计规格说明书完全符合用户需求就显得极为重要。
   目前国际上的做法是在文本说明书的基础上,全面使用“可执行”的说明书。所谓“可执行”,是指在设计的最开始阶段,设计人员通过对用户需求的分析,对系统进行高层设计,使用用户熟悉的图形化方法对系统进行分解和形式化建模。这就把基于文本的设计规格说明书可视化,同时清晰准确地和客户沟通。对现场对象的形式化建模能够清除在用户需求清单中含糊不清的条款,降低在项目后期再对设计进行修改的风险。从而在设计的开始阶段就避免所有的歧义、误解和含糊不清的地方。这就是可执行的规格说明书,也是目前国际上非常流行的形式化设计的一种形式。

  国内有些单位也已经认识到基于文本的设计说明书的缺陷,有时在和用户沟通的过程中也会使用Visio之类的工具画出高层功能分解,并拿给用户看。不过,这种做法的缺陷在于,这样的图形表示实际上只是一个示意性的说明,无法进行模块间连接有效性的检查。另一方面,这种示意图在实际系统实现时仅能作为参考,无法与实现过程紧密结合并强制地要求实际实现与其完全一致,从而大大削弱了其实际作用。

 2、设计:自顶向下、自底向上的设计方法
  通过对高层需求的功能性分解,把整个系统逐步分解为最基本的组件,可以通过图形化语言描述组件,完成设计。这是自顶向下的设计方法。
  另一方面,在系统存在许多有共性或相同的组件,设计一个组件模板,就可以通过复制生成许多实例,像搭积木一样把整个系统设计出来。这是自底向上的设计方法。最有效的设计工具应该支持两种方法的混合使用。
每当做完一个组件设计,应该可以很容易地进行单元测试,确保组件的正确。另外,对由多个组件组成的复杂组件,最好能复用各单元测试的结果进行集成测试。

 3、自动设计文档生成
  在传统的自控设计中,手工编写设计文档占去了设计人员相当多的时间和精力,是设计人员最不愿意做的事情之一。手工编写设计文档不但费时费力,更重要的是,难以保证所编写的设计文档和设计完全符合。对设计的每次更改,都会带来设计文档的更改甚至完全重新编写,浪费大量精力和时间。自动设计文档生成工具可以有效地解决这个难题。设计人员需要做的就是点击一下鼠标,所有的设计都会自动生成文档,随时随地。小到基本组件,大到整个系统,都可以生成用户定制的设计文档。当设计发生修改时,只需点击一下鼠标就可以轻松地再次生成文档,并保证生成的设计文档和设计是完全一致的,节省大量编写文档的时间和人力。
 4、控制代码自动生成
  随着控制代码自动生成工具的普及,越来越多的设计人员开始放弃手工编写控制代码,转向使用自动工具。设计人员通过系统级图形化软件开发工具(如使用IEC61131-3语言)对所开发的项目进行描述,建立整套系统的形式化模型。然后代码自动生成工具就可以根据该模型生成PLC或C语言的源代码。自动生成代码能够大幅提高设计品质:
  * 提高代码质量
  * 提高代码的可复用性
  * 降低开发时间和成本
  * 缩短调试时间
  * 与设计完全吻合。如果设计更改,程序代码保持一致
  * 这是一种充分的、能够完全被理解的系统设计方法,因为开发者的想法被自动地实现
  * 在集成到目标设备之前允许在一台主机上进行仿真,验证更加规范和全面。
 5、仿真校验
 6、透明设计:维护与升级
  在目前国内传统的设计方法中,自控系统集成商的设计对于最终用户来说完全是“黑箱”设计。工程结束后,供应商留下的设计文档和控制代码往往令人难以理解,用户变成了“瞎子”,完全不知道自己的自控系统是如何设计和运作的。这会给用户的系统维护、系统将来的升级改造带来巨大困难!
  这些年国际上普遍使用的是“透明设计”理念,自控集成商在设计过程中,采用了标准化的CASE工具进行设计,从最开始的设计规格说明书到系统实施阶段全程和用户沟通,全程对用户透明,用户完全知道是如何设计的,这样对将来的系统维护和升级都极有好处。
 7、全流程的自控软件解决方案
  虽然在每个设计阶段都存在着若干CASE工具帮助设计人员进行设计,但对于一个完整的设计流程来说,设计人员往往需要掌握和使用多个工具,这显然不能令人满意。一个全流程的解决方案自然会成为设计人员的最爱。全流程的设计工具涵盖了从设计规格说明书、设计、代码生成、仿真校验、到系统实施的全部过程,在享用CASE工具带来的巨大好处的同时,设计人员无需在不同的工具间捕获数据,无需同时学习掌握多种工具,从而大大降低设计成本,提高了设计效率。
四、总结
  至此我们简要介绍了一些目前国际上流行的自控软件设计的先进理念和技术,因为篇幅有限,不能深入进行探讨。大家在读这篇文章的时候,可能也在思考我们的差距。是的,差距是显而易见的,并且软件设计方面的差距导致了我们的控制水平在精度和质量等方面都落后于国际先进水平。然而,我们也大可不必妄自菲薄。我们拥有一支数量众多的高水平自控设计人员队伍,不但专业知识扎实,实际经验丰富,接受新思想的速度也很快。从这几年自控硬件的飞速发展就可以略窥一二。中国又是目前世界上最具活力的经济体,全球的制造中心,成千上万的新工厂、新生产线每天都在建成,这无疑为自控领域的飞速发展提供了肥沃的土壤。只要我们坚持开放的心态,经常了解国外先进的理念和技术并为我所用,赶上并超过国外的日子也就指日可待了。
  愿这篇简短的介绍文章能起到抛砖引玉的作用,为广大自控从业人员带来一点启示,为我国自控领域的进一步发展尽绵薄之力!

文章版权归西部工控xbgk所有,未经许可不得转载。