安全、系统生存能力以及进入市场的时间,通过仿真与模拟的结合而日益得到满足。
当构建一个控制系统以前要求您先确定其工作方式,这似乎是一对矛盾,但它却代表着一种相当大的挑战。几年前--当该行业还不成熟时--您可能会先制造一个原型样机、然后试验、修改、再试验。今天,人们一般已经不再采用这种方式,这其中有以下3个主要原因。
首先,构建原型是一件既费时又费钱的事。以今天日益加快的开发速度以及对更短的进入市场时间的要求,制造商们很少能有使用这种费时技术的奢侈。
其次,也是同等重要的,今天的系统一般不是太大就是太小,以至于很难轻易就制造出一个原型。专用集成电路(ASIC)以及其他复杂元件一般并不是马上就能用于原型制造,因此构建的原型并不能精确地达到所预期的最终系统性能。
最后,构建原型只须制造出一件产品,因此,它并不能使人们对正式生产所面临的挑战有深入的了解。
同室操戈
但可替代的方案又是什么呢?今天,各公司日趋转向一对孪生技术--仿真与模拟。
尽管很多人交替使用仿真与模拟这两个术语,但它们之间仍有很大的区别。仿真完全利用软件来对一种产品或子系统进行建模,因此工程师们首先可试验各种备选方案,并通过改进设计来帮助制造或提高产品性能。当产品尚处于设计制图阶段时,仿真不失为一种功能强大的工具,但它在生产启动时却只能提供很少的收益,因为仿真虽然能告诉你产品应该具有什么样的性能,但它却不能告诉你产品(或其特定复制品)究竟具有什么样的性能。而且,仿真一种相对复杂的控制系统,在很多情况下可能是一项非常耗时的工作,从而进一步限制了它在生产环境中的可应用性。
模拟与仿真之间存在几个关键的不同。根据Dennis Howe的“免费在线计算词典”的解释,一个系统只有在它以同样的方式运行时(尽管并非必须是在同样的速度上),它才能被称为是在仿真另一个系统。仿真用于代替软件及特定硬件来成为产品架构的一部分,它允许对产品或其子系统进行实时试验,其中包括控制软件的功能。它能“让时钟停下来”以使工程师们能查看那些在正常运行时不可能有足够的时间进行观察或测量的瞬时状态。
仿真器(仿真程序)可将产品的整个设计映射到FPGA(现场可编程门阵列)或其他定制可编程装置上。仿真设置在程序控制下可模拟系统的几个子部分,在生产测试过程中,分别模仿这些子系统,可通过严格限制每一测试部分的范围来减少整个测试过程的复杂性。此外,利用仿真器将信号与产品的“真实”部分挂钩,工程师们可观察这些信号对各种软硬件版本的实际反应,这种方法可预测产品运行实际控制应用时它将具有怎样的性能,以及修改与修订将对性能产生怎样的影响等。
将仿真结果与其他基于软件的模拟进行组合可进一步提高产品设计。仿真对于大型控制系统尤其有用,因为制造商可以在产品生命周期的前期对其进行调试,这要优于为产品制造一个样机或全尺寸工作系统,从而可显著地缩短产品开发周期。芯片或设备制造商经常通过提供带有仿真或模拟功能的测试或开发工具来帮助用户进行技术集成,这对于开发小型系统来说尤其有用。
捷径
在试生产及起步制造阶段,即使有些部件还没来得及生产,通过仿真也能对整个产品进行测试。当这些部件制造出来后(假设它们能工作),便能以最少的工作量将其无缝地“安插”到产品中。在制造过程中从这些点上所获得的早期反馈,可帮助预测产品的现场表现,同时还能以更少的意外在现场进行更快的启动。
高级仿真系统允许数据从自由运行的系统(以正常速度运行的系统)上输入而无需中断系统的运行,从而能提高精度及结果的有效性。例如德州仪器公司基于扫描的PCIBus JTAG型仿真器,即能提供帮助减少由处理器速度的提高而造成的“可视性消失”问题,也就是说,仿真器无需对控制系统的印制电路板进行针床接入,也无需光学检查中所需的视线可见性,即能对控制系统进行测试。
此外,仿真还能使工程师们对系统的外围设备控制、数据总线以及其他驻留在板上设备中的部件有更深入的了解。而在这种情况下,想要跟踪实际应用如何在芯片内执行或者找到一个数据访问测试点却几乎是不可能的。但仿真器却能将数据传输至(或从中传出)一个托管开发平台及目标处理器上,下载代码,“即时”查看复杂的数据序列,同时还能不牺牲产品的全速运行。
尽管大多数厂商在开发周期的某些点上已经采用了模拟与仿真,但根据Verisity的“Testbench Acceleration(测试平台加速)”白皮书的说法,一个小组一般只能处理其中一项技术。在模拟与仿真中所关心的一个关键问题是测试及检验模型的来源。
例如,仿真小组可能采用专为某一步骤而创建的随机测试向量,但为了能提供可体现产品性能的最佳及最精确的仿真画面,他们也经常使用一些在“如果-即”这样的仿真中所收集并记录下来的刺激源,或者使用一些由专用测试程序或由“真实”环境所产生的数据流量(比如实际网络的数据包流量)等。在3种备选方案中,仿真刺激被证明是最有用的,因为它们最可能包含极端条件,例如产生一种“除以零”的数据等。假如这种条件十分罕见,则随机产生的测试向量以及真实情况运算向量子集就很可能发现不了它们。
练习使用模拟过程中收集到的刺激源,要求将每一个向量发给仿真工作平台,以软件来执行,并对所产生的结果进行监视。一些厂商尝试通过利用一种类似于API(应用编程接口)的通信总线(大多数仿真器都能提供)将工作站与仿真器相连、或通过创建一些准备仿真的测试台来将这两个过程整合在一起。
例如,Cimetrix公司即为多轴机器控制应用提供了一系列开放架构机器建模及运动控制软件产品。由该公司提供的这种所谓的“仿真环境”,通过模拟最终产品的运行而能同时进行软、硬件开发。Cimetrix还提供一种离线环境,用于构建机器模型以及开发一些可相同地运行于这些模型及最终控制系统上的软件应用。此外,制造商还能在实际硬件可用--甚至被充分定义以前即开始相关应用软件的开发工作。Cimetrix公司声称,由它提供的方案最多可将产品实现时间缩短70%。
实例
根据Rockwell Automation(它开发了一种称为RSTestStand的仿真器)的说法,通过使制造商离线测试控制系统,系统仿真可将这一测试步骤从开始时的关键阶段撤除。这种工具允许以一种可控方式来测试设备的故障及系统响应。它简化了软件与测试平台的连接过程,因为它不需要进行实际的物理设备连线,但却能创建被测控制系统运行进程的快照。而且,由于大多数仿真是通过软件来进行,因此工程师们可以很容易地通过保存及重装软件应用来检验各种可能的刺激源组合及替代方案。Rockwell开发的TestStand可将仿真结果以可视形式呈现在传统的PC显示器上。制造商们争辩说,可视化能使人们更好地了解众多控制元素之间的复杂关系,而这些元素可能会以各种无法预料的方式对相对罕见的条件起反应。同时还能用这些显示器来培训操作及维护人员,从而无需在工厂中购置其他昂贵的设备。
为阐明这一概念,请看Voith Siemens公司(宾州约克市)为纽约州Massena市巨大的St.Lawrence Franklin D.Roosevelt电力项目所安装的新型控制系统。该项目包括位于美国及加拿大两侧的16台70兆瓦的水电涡轮发电机组,每台机组由一个Rockwell Automation控制器(Allen-Bradley ControlLogix)控制,来对告警触发、冷却与润滑、自动关机以及泵与阀门操作进行全面控制。
过去,Voith Siemens曾试验过一种带有硬连线测试台的单元控制系统,这种系统需要有实际的设备来接收测试输入并产生相应的输出。控制过程昂贵而耗时,且经常将其自身的错误带入控制系统中。这一类试验仅允许采用数量有限的开关、灯泡以及其他测试部件。结果,Voith Siemens 不得不在测试中途交换设备或将测试台重新连线,从而不能对一个系统进行连续且一次性的测试,而有时错误的设备连线又产生出不可信的测试结果。
避免硬连线测试
“硬连线测试需要很长的时间才能建立,且任何设备误配置均会降低它们的精度”,Voith Siemens公司项目主管Darryl Stevenson评述说,“我们需要缩短过程并改进测试结果”。他还说,除硬件以外,Voith Siemens 经常不得不去开发定制的仿真程序来完成适当的测试,而额外的程序又增加了另一种层次上的复杂性并有可能成为另一种错误源。
通过用RSTestSTand来取代物理设备输入--泵、传感器等,用户使用软件操作即能对控制器的实际性能进行检查。通过这种新的系统,向系统配置中增添泵或开关只需改变软件即能完成,从而排除了在可用测试资源数量上的限制。操作员通过软件接口可以很容易对测试工作台进行配置,以代表各种控制过程--离散或连续等,然后再对控制过程中的许多不同控制信号做出响应。
以这种新的方法,Voith Siemens可在一种全集成的环境下对整个单元控制进行完全地测试,从而提高结果的精度及时效性。另外,更少的定制程序开发,也使工程师们能更多地关注测试端的应用。同时,系统模块化也使程序再利用变得更加容易,从而在需要进行改动或升级时能节省更多的时间。
成本与收益
软件的经济性迫使电子设备制造商及其他厂商重新思考上升至全能力生产过程中的成本与回报。在测试过程中用仿真来代替系统的某些部分,可实现软硬件及应用的并行开发。关键问题是--总是如此--进入市场的时间。与硬件原型及纯模拟相比,