机电液一体化系统建模与仿真技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 系统仿真技术的研究内容

系统仿真技术是以相似性原理、信息技术,系统技术及应用领域有关专门技术为基础,以计算机和专用设备为工具,利用系统模型对系统开展实验研究的一门技术性学科。

1.3.1 仿真计算机

计算机是进行系统仿真的主要工具,用于仿真的计算机可以是模拟计算机、数字计算机、混合计算机、并行多处理机系统等。

1.模拟计算机

模拟计算机是利用具备各种数学模型特征的典型电路组成的基本运算部件,如加法器、乘法器、积分器等。这些基本运算部件的输入和输出都是电压,可以相互连接,以完成更为复杂的数学运算。模拟计算机是一种连续计算装置,它是把实际的系统物理量用电压量表示,通过各连续运算部件求解来描述系统动态特性的微分方程,它的输入和输出均为连续的电压量,因此,“连续”是模拟仿真的突出特点。20世纪50年代,是模拟计算机发展的黄金时期。

2.数字计算机

数字计算机是用“0”、“1”断续变化的电脉冲数码串表示被运算量的数字式运算装置,主要由运算器、控制器、存储器、输入和输出设备5大部分组成。1946年提出的计算机Von Neumann(冯·诺依曼)结构模型,奠定了现代计算机的发展基础。20世纪70年代末,使用全数字计算机的计算机仿真成为主流。

3.混合计算机

混合计算机是将模拟计算机与数字计算机相结合构成的混合计算机。它有两种形式:一种是在普通模拟计算机的基础上,增加一些数字逻辑功能和存储元件,使之成为混合模拟计算机;另一种则是通过一个中间界面将一台数字计算机与一台模拟计算机连接起来,组成一个新的计算机系统,称为数字-模拟混合计算机。混合仿真综合了数字仿真与模拟仿真的优点,克服了它们各自的缺点。但由于它涉及的器件较多,价格比较昂贵,应用场合受到限制。20世纪50年代末,混合计算机系统诞生,20世纪60年代到20世纪70年代中期,混合计算机的发展进入鼎盛时期。

4.并行多处理机系统

目前,一般的仿真应用使用通用的计算机或工作站即可,但是在时间要求苛刻、含硬件在回路中的实时仿真等场合,需要使用专用仿真计算机,如并行多处理机系统、高性能图形工作站,而由于高速、宽带网络通信及分布式计算技术的发展,使分布式计算环境成为仿真计算机平台的重要发展方向。

1.3.2 建模方法学

模型是系统行为特性的描述,一般情况下,是与研究目的有关的系统行为子集的特性描述。模型建立的任务是要确定模型的结构和参数。根据具体情况,建模方法的一般途径可以归纳为以下几步:

(1)对于内部结构和特性清楚的系统(“白箱”),可利用一些已知的基本定律,经过分析和演绎导出系统模型;

(2)对于内部结构和特性不清楚的系统(“黑箱”)或不很清楚的系统(“灰箱”),若允许直接进行实验观测,则可假设模型并通过实验数据对假设的模型加以验证和修正;

(3)对属于“黑箱”,但又不允许直接实验观测的系统,则可采用数据收集和统计归纳的方法来假设模型。

实际上,建模的有效办法往往不是单一地采用某一途径,而是混合地采用多种途径。关键问题是如何“合理”地混合。一个满意模型的获得,尽可能避免受建模者主观意志的影响,这往往就要进行多次反复探索,以提高其可信度。

随着仿真技术的日益发展和广泛应用,仿真模型的VV&A(校核、验证及确认技术)也成为复杂系统建模与仿真技术中的重要课题。

1.3.3 仿真算法

在建立系统的数学模型后,需要将其转变成能够在计算机上运行的仿真模型。例如,由于计算机只能进行离散的数值计算,所以必须推导出连续系统的递推数学公式,如求解微分方程的龙格-库塔算法。这实际上就是计算机仿真算法的设计,即把数学模型转化为能在计算机上运行的仿真模型。

可见,计算机仿真算法是将系统数学模型转换成仿真模型的一类算法,在数字仿真模型中起核心和关键作用。通常这些仿真算法并不需要仿真人员去编制,因为这些仿真算法往往已经内嵌于各种面向仿真用途的专用软件中了。但是对这些算法的了解无疑有助于用户更好地完成仿真任务。

仿真算法可以分为连续系统仿真算法、离散事件系统仿真算法等,而连续系统仿真算法又可分为数值积分法、离散相似法等。此外,仿真算法的研究还经历了从串行算法到并行算法的发展过程。目前,连续系统与离散事件系统的非实时串行算法已经相当完善,研究的重点是实时连续系统仿真算法、各类系统的并行仿真算法及定性仿真算法等。

1.3.4 仿真软件

仿真软件是一类面向仿真用途的专用软件,它可能是面向通用的仿真,也可能是面向某个领域的仿真。它的功能可以概括为以下几点。

(1)为仿真提供算法支持。

(2)模型描述,用来建立计算机仿真模型。

(3)仿真实验的执行和控制。

(4)仿真数据的显示、记录和分析。

(5)对模型、实验数据、文档资料和其他仿真信息的存储、检索和管理,即用于仿真数据信息管理的数据库系统。

根据软件功能,仿真软件可分为以下3个层次。

(1)仿真程序库,是一组完成特定功能的程序的集合,专门面向某一问题或某一领域。它可能是用通用的语言(如C++,Fortran等)开发的程序软件包,也可能是依附于某种集成仿真环境的函数库或模块库。很多这样的软件包是开放的,可以免费使用和扩展,如C++SIM,Mathtools(for MATLAB,C,C++,Fortran)等。

(2)仿真语言,多属于面向专门问题的高级语言,它是针对仿真问题,在高级语言的基础上研制而成的。它不要求用户掌握复杂烦琐的高级语言,只需用户按照要求书写方程代码,而无须考虑数学模型到仿真模型的转换,这种代码往往更接近于系统本身的数学模型。最终,由机器自动完成由仿真语言到通用高级语言或汇编语言的转换,这样的语言有ACSL,Easy5等。

(3)集成仿真环境,是一组用于仿真的软件工具的集合,包括设计、分析、编制系统模型,编写仿真程序,创建仿真模型,运行、控制、观察仿真实验,记录仿真数据,分析仿真结果,校验仿真模型等。它涉及许多功能软件,如建模软件、仿真执行软件、结果分析软件,各功能软件之间存在着信息联系,为了提高效率,必须将它们集成起来,加上方便的操作界面、环境,就形成了集成仿真环境。典型的集成仿真环境,如MathWorks公司的MATLAB/Simulink,就是一个集成的通用建模与仿真平台。

当前,仿真软件的发展十分迅速,其发展方向是建立智能化的建模与仿真环境、支持分布交互仿真的综合仿真环境等,将为仿真技术的应用提供更加方便、易用和功能强大的软件支撑。