如果得知机械电子学这个词汇已经使用了将近40年,可能绝大多数工程师都会感到惊讶!该词汇是由Yaskawa公司的工程师Tetsuro Mori于196_9年首次使用的,那时用来描述一个由一套嵌入式系统控制的、并由一些机械和电子元器件组成的系统(见图1)。如今,很少发现有哪台机电设备没有某种类型的嵌入式系统。利用嵌入式系统的智能,可以提升性能,降低能耗,可靠性更高,操作更安全,嵌入式系统的性能是实现一套装备的差异化和价值驱动的关键。
图1:机械电子系统是由嵌入式系统控制的机械系统和电子系统的结合。
嵌入式系统的优点在于价值。随着机械电子系统利用功能更强大并为嵌入式系统提供智能的微处理器,软硬件之间的交互变得更加复杂。如何控制这个复杂度,对软硬件工程师团队来说都是挑战,他们需要提出要求,问题描述,以及提出不同方式的测试和实现方案。此外,工程师还必须设计闭环控制来补偿机电交互和外部干扰,还需要设计开环监控来监控操作环境,如开机和关机,操作人员和设备安全,故障检测和修复。在绝大多数传统的设计方案中,工程师需要在硬件模型上测试软件,而在研发阶段的才能解决软件确认问题。在这阶段发现的硬件和软件的问题,将会导致成本很高的延期,并会耗费很多时间追溯原始设计。而一些功能不完整,不正确以及冲突之类的错误甚至会导致重新设计。
利用模型设计改善研发
基于模型的设计通过为不同的工程领域的设计和通讯提供一个公共环境来简化机械电子系统的开发。基于模型的设计利用对系统级设计的感知将计算机辅助工程(CAE)加以扩展。就像计算机辅助设计(CAD)对系统进行几何的和静态的描述一样,基于模型的设计则整合了恰当地描述系统所需的动态需求和性能需求。由于该方案主要是软件实现的,故工程师可以灵活地研究竞争方案,并在没有大量的硬件开销的前提下开发新概念。在设计进程中,工程师可以不断地测试设计,检查其是否满足要求,并能在开发过程中及早地发现错误,从而能够及早地及低成本地将其纠正。此外,基于模型的设计能够为嵌入式系统自动生成代码,而无需为开环和闭环控制算法手工编写代码。
图2:基于模型的设计将系统级模型置于机械电子系统开发过程的位置。
基于模型的设计采用一个系统级模型,该模型通过数学的方法为设备的自然行为和受控行为定义了一个可执行的规范。工程师可以通过模拟系统的实际动态和性能来执行模型。该模型规定了机械电子系统的期望性能的通用数学定义。由于规范是可执行的,因此相对于需要翻译、可能导致丢失、重复、或者与其他技术要求冲突的手写文件,系统级模型具有显著的优点。
手写的技术规范将永远存在,不过工程师可以将他们的电子格式链接到系统级模型,并帮助建立与ISO9001或IEC61508这类标准兼容的规范。从手写规范到系统级模型的追踪阐释了工程师对规范的解释是否正确。规范和模型之间的链接使工程师可以纠正整个开发过程中所用测试的测试准则。
开发系统级模型
图3所示的方框图是一个描述系统级模型的普通方案。该模型具有多个外部提供的输入,以及数个度量系统实际行为的输出。这些输入和输出代表实际的量值,如电压,温度和pH。
图3:对系统级模型建立直观感觉的方框图。
在该模型中,方块代表模型的输入和输出信号之间的数??算。某些称作为工厂和工艺的方块,代表机电系统的自然行为。例如,模型中会包括一个代表一个电机的方块。该电机的数学模型可能相对简单一些,简单的话就有一个电压输入,并将其转换成一个输出力矩。可以通过向模型添加更多的输入(例如用电压表征的噪声)或者增加更多的参数(例如温度和磁饱和效应),来增加电机模型的复杂度。其中一个单独方块和一个方块组,通过对模型中产生的输出错误或事件进行过滤和处理,可以代表系统中的补偿和控制。普通微分方程(ODEs)和微分代数方程(DAEs)表示机电系统的输入与输出的关系。在电机这个例子中,一个ODE描述的是电压输入到转轴输出力矩间的关系。微分方程是一个用来描述集总动态参数的可计算的有效方法,与像有限元分析(FEA)这类基于局部微分方程的模型工具相对应。FEA软件可以被用来解决电机转轴上关键裂缝的力矩引起的应力分布。
利用ODE来描述包括多个工程学科的机械电子系统的系统级行为是不可能没有挑战的。用数学的方法描述系统行为要求必须深入了解系统深层的物理特性。机械电子系统的现实特性是所有的系统都是非线性的,必须考虑实际机械电子系统中所呈现的磁滞效应,摩擦力以及热效应。
改进系统级模型
如果系统的数学描述过难或太费时,设计师可以转向其他方式的系统建模。一种实现一个初始原理的常用方法是数据激励的经验模型,例如系统验证或神经网络。这些黑匣子方案采用测量得出的输入-输出数据来建构系统行为的线性或非线性ODE格式,将这些整合进系统级模型中。这些方法无法对系统的物理特征进行完整的描述,但能够对测试数据域中系统的动态特征进行的描述。测量数据还能利用参数估计技术来改进初始原理数学模型的。该灰盒子模型包含了调整像摩擦力系数这类模型参数的优化技术,以便使模型输出与测试数据相匹配。
基于模型的设计使工程师在开始时可以不牵涉系统级模型的细节,而是随着开发过程的深入逐步增加其逼真度。由低阶的ODE表达的经验证的概念模型开始时足以帮助工程师迅速排除贡献较少的想法。对于更有用的想法,可以通过整合供应商提供的子元件来增加逼真度,以更迅速地*估元器件的组合。模型演进到一个多域的组合中,仅提供所需的细节来确保由技术需求文件所表述的工作条件下的性能。
随着工程师通过利用从3维CAD装配文件转换过来的机械系统的质量和惯性特征来增加模型的逼真度,CAD可以满足基于模型的设计。工程师可以利用代表从CAD文件自动转换过来的机械本体和联结的模块来替代数学上的近似表达。除了能够加速复杂机械系统级模型的开发外,该方案确保系统设计师和机械工程师能采用一个基于通用模型的、能够代表实际的机械电子系统行为。
开发控制策略
在描述系统的自然行为后,下一步是开发和*估一个能够整合机械电子系统中许多不同级别上的开环和闭环控制的控制策略。包括所有接口、模式、逻辑和监控的开环控制,指的是工程师如何实现安全操、故障检测、以及故障恢复。而闭环控制的复杂度相差很大,从用于基本的比例-几分-微分(PID)补偿器到多元线性-二次-高斯(LQG)控制器的实现。
开环控制执行设备内部的监控和模式控制,解决操作员与系统的交互问题。设备设计师利用功能更强大的微处理器可以开发能够为设备操作提供更多控制的复杂用户接口。但结果是,开发商可以在设备上实现日益复杂的自诊断,故障检测和安全关机系统。基于模型的设计帮助工程师针对系统级模型开发和测试日益复杂的开环控制系统。模拟可使测试在设计过程中及早地开始,以改进设备的工效,并及早发现任何可能要起设备损坏或引起危险条件的原因。
一个机械电子系统可以采用许多工作在各种条件下的闭环控制系统。利用系统级模型有助于设计和调整控制环路中呈现关联行为的控制器。在硬件中调整控制器是困难和费时的,且为了防止不稳定性常常导致系统失调而达不到预期的性能。系统级模型帮助工程师分析控制环路的交互影响,开发去关联策略,并利用各种依赖于直接的和优化的技术来调整补偿增益。
在这一阶段,系统级模型会呈现动态不稳定性,而利用闭环补偿方法来消除该不稳定性无论是从实际上还是从成本的角度都是不可行的。该模型在识别和调整一些物理参数(包括质量,长度,电容等)方面比较容易,但会引起不稳定性。结果则是使问题可以在成本较低的软件模拟阶段即可发现,而非在物理模型的测试阶段才发现。
基于模型的设计在控制领域帮助工程师实现成本折中的研究。系统级模型是一个分析工具,它可以决定一个具有较大容差的传感器成本是否较低,是否能提供所要求的和性能。工程师利用该工具可以从实际来*估机械电子系统中任何部件的成本和系统性能。
连续测试和系统验证
研发过程中的连续测试和验证包括定义和利用与控制系统设计过程相关的标准测试。利用标准测试和测试包,能够确保工程师利用相同的测试设备和一致的测试方法对系统级模型的演进进行测试。像通过/不通过以及容差范围等测试准则与测试关联,而该测试则通过电子链接与技术要求文件相关联。利用一个标准测试包的连续测试能够即时发现任何设计变化对系统输出产生的影响,并帮助迅速地跟踪变化及其起因。
此外,工程师可以利用测试包来确定是否是完整模型覆盖,这是考察测试包是否能够覆盖到设备的所有工作场景、即是否完整的一个量度。在建模阶段中,利用能够完全覆盖系统中所有工作条件的标准测试的验证能够确保开发工程师能够在物理模型测试之前实现完整和正确的测试。基于模型的设计有助于工程师创建可以用到开发过程中所有阶段以及可以用到生产测试中的完整测试。
当控制设计策略制订和模拟测试完成后,工程师可以对用于部署的模型进行细化。这里的部署指的是将控制算法转换成用来在实时系统上执行的C代码,硬件描述语言(HDL),或者IEC-61131-3语言,例如结构化文本(ST)等。该过程包括将算法从连续(模拟)转换成离散(数字)格式,通常是定点格式。在连续测试过程中,工程师测试控制算法的数字格式,而非设备的连续格式,确定数字转换是否对系统性能起负面影响。
模型细化让工程师检查数字信号转换的其他方面。系统设计师对输入/输出(I/O)设备驱动器和任何的A/D与D/A转换器模型化,以确保在实际的系统实现中不会出现对导致信号损失或混叠失真。机械电子系统中通常采用工作速度和采样率不同的各种处理器的组合。系统级模型让工程师模拟和测试各种组合,来*估成本和实现性能,例如可以采用FPGA,而非DSP,或者采用定点运算代替浮点运算。
用实时系统测试机电系统
基于模型的设计中下一步是在实时系统上测试系统级模型。在该阶段,工程师自动地将系统级模型转换成C代码,HDL,或PLC代码。工程师可以生成控制算法的代码,或设备模型代码,或者是生成两种,具体取决于系统的测试所需。在模型设计中,将系统级模型自动转换成代码,无需系统工程师必须是手写代码,防止了错误的引入,节省了时间。
自动代码生成过程可以比拟为制造一个三维CAD文件描述的零件的工具通道。如果在零件加工后才发现错误,工程师将检查和修改CAD文件并重新生成工具通道的代码。而在基于模型的设计中,工程师改变代码与系统模型的关系,而模型就是系统的故障检测的自然环境。他们更新并测试模型,重新生成代码。
利用专用的实时测试系统时,实时测试包括两大类:快速建模(RP)和环路硬件(HIL)测试。该测试中,工程师可以在测试进行的同时实时采集数据并用代码修改参数。表1中列举了实时测试的部分选项,并说明了能够让工程师在实际硬件实现前捕捉关键的和耗时的错误方面所展现的灵活性。如上所述,追溯错误起源非常容易,因为系统级模型本身就是直接与技术要求文件紧密联系的技术规范。
表1:快速建模和环内硬件测试环境。
在快速建模过程中,实时系统连接到实时硬件。由于绝大多数情况下,模型中控制系统包含所有所需的I/O接口,系统模型能自动生成这些功能所用的代码,从而不需要工程师手工编写这些代码。HIL测试将设备的模型部署到一个实时系统中。此时,工程师将控制算法部署到实时系统中,或者是目标处理器中,并将其连接到也要在实时系统上运行的设备模型上。HIL测试也可以利用在台式或工作站计算机上运行仿真模型来实完成。
产品质量代码生成
基于模型的设计使得工程师可以利用系统级模型来部署控制算法(用C代码,HDL,或者PLC代码),产品处理器或其他实时系统。代码生成过程优化了专用处理器所需的产品质量代码。它不同于实时测试所用的代码,因为该过程剥离了测试所需的所有参量,并将代码优化成具有长度,从而减小了存储开销,将运算速度提到。工程师可以对代码生成过程进行控制,控制对象包括数据对象,用户定义存储级别,类别,以及混叠(aliase)。此外,还可以将代码生成自动地定制到某个公司的软件风格,以帮助该公司通常负责将代码整合到更大的代码段中的工程师能够对代码进行优化和简化。
本文小结
基于模型的设计是机械电子系统的系统设计的CAE。工程师利用软件来开发和测试其设备的行为模型具有如下的优点:
1. 能实现低成本设计,并能在开发初期利用便宜的模型硬件实现多种方案的测试;
2. 创建了一个采用与技术要求文件相关联的公共可执行规范的协作设计环境,并利用一种公共语言实现过工程领域的通讯;
3. 通过在仿真阶段容易地捕获和更正错误,能够降低开发成本;
4. 能够开发机械电子系统中具有更高客户价值,产品质量和复杂功能的嵌入式系统。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。