徐 威 , 梁 全 , 赵文川
(沈阳工业大学机械工程学院,辽宁 沈阳 110870)
半实物仿真能够在实际控制中对仿真控制模型中的算法进行检验,对存在的不足和缺陷进行调整,能够进行广泛应用,然而半实物仿真理论和应用技术仍然存在许多不足和欠缺[1-4]。高峰等[5]基于分层、分设计理念对半仿真平台进行研究,确定了平台具有较好通用性,并且测试效率以及精度较高,但是该平台相对较复杂,成本较高。孙强龙[6]根据分布式原理搭建出半实物仿真平台,通过上、下位机能够实现仿真平台良好运行,然而研究过程缺乏理论基础。王志佳[7]根据列车辅助驾驶系统设计出一种半实物仿真平台,能够实现平台内部数据通信,并完成了准确性和实时性验证,然而该仿真平台效率较低。孙起麟等[8]解决了半仿真实物平台缺乏横向数据采集与实时对比、数据分析各环节集成度低等问题,但是缺乏一定的应用性。针对以上问题,课题组提出一种以AMESim仿真软件为载体的半实物仿真系统,其中,半实物部分为AMESim仿真软件的仿真模型,实物部分为实际的控制器。本研究不仅利用了AMESim仿真软件进行准确建模,而且能够结合实际控制器,对控制参数进行调整,对系统的优化调试能够起到一定的技术支持。
半实物仿真平台的实现主要涉及仿真系统动态模型描述、动态模型数值求解器、高精度定时器、实物和非实物模型之间的计算机接口技术等方面[9-12]。
仿真系统动态模型的描述主要通过AMESim仿真建模软件实现,通过AMESim仿真软件的功率键合图进行仿真建模。具体流程是将整个仿真系统划分为若干子模块,每个子模块能够直观抽象表达实物仿真模型,并且每个子模块可以重复使用,减少仿真建模工作。该过程所建立的仿真模型草图能够高度契合实物模型的工作原理,AMESim仿真模型图如图1所示。
图1 AMESim仿真模型图
课题组根据AMESim仿真软件开发仿真模型的数值求解器,通过算法将功率键合图模型转换为适合计算机求解的微分方程组,再利用计算机对所建立的微分方程进行数值计算和求解,从而完成半实物系统中非实物部分的设计。将图1所示的仿真模型草图转换为如式(1)所示的微分方程组。
需要注意的是,该方程组可能是线性的、也可能是非线性的,可能是定常的、也可能是时变的。但无论是什么形式,都可以通过数值计算方法进行求解,并且能够得到模型在任意时刻的输入、输出的数值数据。另外,由于AMESim仿真软件集成了快速、稳定的微分方程组数值算法求解器,该数值算法求解器是完全可靠的,并且能够避免用户重新开发数值算法,方便了半实物仿真系统的实现。
为了保证半实物仿真具有可靠性,半实物仿真系统需要在时间维度和空间维度上有效模拟真实系统。在空间维度上,半实物仿真通过输出计算数据来进行模拟;在时间维度上,半实物仿真通过高精度定时器来完成。本研究所开发的半实物仿真平台,借助了Windows系统的QueryPerformanceCounter函数,该函数能够获取实物计算机系统的最高频率,并以该最高频率的倒数作为定时器的定时精度,因而定时较准确,能够适合半实物仿真系统的开发。
半实物仿真系统实现的关键是能够完成“非实物”部分和“实物”部分之间的计算机通信,将非实物部分的数值计算结果,输出给实物控制器,作为位置传感器的检测数据。而实物控制器的计算结果,也能够通过计算机接口,输出给非实物仿真模型,作为该仿真模型的控制参数。在本半实物仿真平台的开发中,将数据采集卡模拟量通道作为实物部分和非实物部分的通信接口,并且整个半实物仿真系统包括两块带有模拟量输入输出信号的数据采集卡。其中,一块数据采集卡用来读入实物控制器的输出信号,其方法是利用模拟量输入通道读入,同时将AMESim仿真模型计算得到的数值计算结果通过模拟量输出通道输出;而另一块数据采集卡,则充当半实物仿真系统中的实物控制器,该控制器通过模拟量输入通道读取仿真模型的数据采集信号,通过模拟量输出通道将控制器计算结果输出到仿真模型板卡的模拟量输入通道,从而完成半实物仿真通信。
对于AMESim数值计算结果的获得,需要利用AMESim的联合仿真技术(Co-simulation),通过TCP/IP、共享内存(Shared Memory)或DLL输入方式,实现上位机和AMESim的通信,从而才能将AMESim仿真软件的计算结果输出给数据采集卡。本研究采用了AMESim仿真软件的TCP/IP功能,通过C语言编程,实现了AMESim仿真软件和数据采集卡的通信。
为了验证本半实物仿真平台的正确性,课题组开展了基于本半实物仿真平台的液压伺服系统PID控制算法的验证性实验,仿真试验的液压原理图如图2所示。
图2 液压伺服系统极点配置算法半实物仿真验证原理图
由图2可知,AMESim所构建的阀控缸液压伺服系统是将位移传感器作为极点配置算法所需要的系统状态变量,通过AMESim软件联合仿真库中的TCP/IP模块,使该变量输出给数据采集卡的模拟量输出通道,并且TCP/IP模块将从数据采集卡中采集到的模拟量信号输出给图2中的伺服阀,使之作为阀控缸系统的输入信号,从而完成半实物仿真系统中实物和非实物部分的通信。
为了验证实物PID控制的正确性,本研究将AMESim自带PID控制器的控制效果与半实物仿真系统的PID控制效果进行对比,如图3所示。
图3 AMEsim仿真模型和半实物仿真模型控制对比图
由图3可知,虚线为伺服系统纯软件仿真的PID控制效果,实线为半实物仿真系统在相同PID控制参数下的控制效果。两种仿真方法的曲线分布趋势大致相同,产生的误差主要是Windows仿真环境延时所导致的,则能够证明本半实物仿真系统具有可行性和正确性。
本研究基于AMESim仿真软件,开发了半实物仿真系统原型样机,解决了半实物仿真系统中的模型建立、模型求解、高精度定时器和计算机接口等关键问题。最后通过液压伺服系统的半实物仿真PID控制,验证了本半实物仿真平台开发方案具有可行性。本半实物仿真平台能够为控制器开发和参数整定提供一定的借鉴。