仿真方法和仿真装置的制作方法

文档序号:6420978阅读:206来源:国知局
专利名称:仿真方法和仿真装置的制作方法
技术领域
本发明涉及一种使用计算机来仿真机器、设备等的行为的方法和装置,尤其涉及一种使用混合模型的方法和装置。
背景技术
当使用计算机来仿真机器、车间等的行为时,称作混合模型的方案经常使用。使用混合模型的仿真称作“混合仿真”。执行这种仿真行为的系统也称作“混合系统”。
为了仿真而生成的混合模型将由常微分方程或代数方程的联立方程组表示的连续系统模型和用来表示当事件发生(建立)时的状态转换的状态转换模型。也就是,混合模型表示这样的系统,系统的状态由连续系统模型来表示并且响应例如外部事件等而瞬时切换。
作为描述混合模型的语言,Xerox(TM)Palo Alto研究中心创建的HCC(混合并发约束编程)是已知的(参见美国专利5,831,853号和“http//www2.parc.com/spl/projects/mbc/publications.htm1#cclainguages”)。HCC还在发展中,并且目前在NASA Ames研究中心研究。HCC是一种称作约束编程的技术,可以处理作为约束来表示连续系统模型的常微分方程或代数方程,并且可以以任意的顺序来描述这些方程。混合模型通过将控制状态转换的描述加到这种约束描述来完成。这种HCC可以直接列出(编程)方程作为约束,并且可以描述复杂模型。
如上所述,混合模型技术可以使用常微分方程等将系统特征表示成模型,并且可以从初始状态开始沿着时间来仿真行为。
作为可以充分地模拟可由微分方程等表示的对象和事件的混合模型技术的一个应用实例,机械电子学设备的机械仿真是已知的,其中机械电子学设备的机械由软件来控制。根据这种机械仿真,即使没有实际的机械可用,控制机械的控制软件也可以经历原型设计,测试,调试等。
但是,可以处理混合模型的已知编程语言并不总是为了应用于机械电子学设备的机械仿真而研发的,并且遭遇下面的问题。
例如,Xerox公司(TM)的HCC是一种解释型编程语言,并且称作GC(无用存储单元收集)的处理在仿真过程中装入。仿真(其程序)中止直到该处理完成。因此,仿真的执行时间不能准确地确认。并且,由于一些其他原因,HCC不适合于实现应用。例如,很难以产生仿真程序。例如,当送给传动器的从控制软件传送到机械的激活命令,作为来自仿真器外部的控制信号接收时,外部函数等必须独立地定义,并且在编程中需要许多设计。

发明内容
本发明涉及一种仿真方法和一种仿真装置,其可以使用混合模型来容易且准确地模拟复杂机械系统,并且适合于与控制机械系统的控制软件协作来仿真。
根据本发明的一个方面,提供一种使用包括状态转换模型和连续系统模型的混合模型来仿真机械的行为的仿真方法,该方法包括分析混合模型以提取状态转换模型的第一描述数据和连续系统模型的第二描述数据;基于提取的第一描述数据,产生表示连续系统方程及其切换条件之间的关系的表格;基于提取的第二描述数据,产生连续系统方程的多个内部数据表示;根据事件的发生、通过查找所述表格选择有效的连续系统方程;以及通过使用对应于所选择的有效的一个或多个连续系统方程的一个或多个内部数据表示的数值积分求解所选择的有效的连续系统方程,来输出表示机械的行为的数据。


图1是说明根据本发明第一实施方案的机械仿真器的配置的示意框图;图2显示根据用来说明混合模型描述的实施例的气缸装置的给出状态;图3显示根据用来说明混合模型描述的实施例的气缸装置的另一种状态;图4显示根据用来说明混合模型描述的实施例的气缸装置的状态转换;图5显示混合模型描述的内容;图6是作为语法分析一个连续系统方程的结果而获得的内部数据结构的说明视图;图7是说明机械控制软件和机械仿真器的协作的框图;图8是包含运动学仿真部件的框图;图9是说明机械仿真器的处理顺序的流程图;并且图10是说明根据本发明第二实施方案的机械仿真器的配置的示意框图。
具体实施例方式
本发明的实施方案将参考附图在下面描述。
(第一实施方案)图1是说明根据本发明第一实施方案的机械仿真器的配置的示意框图。
根据本发明第一实施方案的机械仿真器(混合模型仿真部件101)包括模型方程控制信息分析部件111,方程语法分析部件112,以及混合模型仿真执行部件102。混合模型描述104是以混合模型描述语言例如HCC描述的源程序,并且是到根据本实施方案的机械仿真器101的输入。控制信号106也是到机械仿真器101的输入,并且从机械控制软件或它的仿真器(随后描述)给出。根据本实施方案的机械仿真器101的输出是作为仿真结果的变量值计算结果和时间历程,并且提供给存储部件105。
如图1中所示,混合模型仿真执行部件102包括模型方程控制信息存储部件113,方程数据存储部件114,连续系统方程切换部件115,以及连续系统仿真部件103。应当注意,本实施方案可以使用通用计算机来实施,通用计算机作为其基本硬件部分包括中央处理器(CPU),存储器,外部记录设备,通信接口(I/F),显示设备,以及输入设备(鼠标,键盘等)(它们都没有显示)。而且,计算机包括用于控制这些硬件部分的操作系统(OS)。根据本发明该实施方案的机械仿真器可以作为在这种操作系统上运行的应用软件来实施。
在描述根据本实施方案的机械仿真器的配置和处理顺序之前,如何描述混合模型104将采用实施例在下面说明。
图2和3显示机械装置,其混合模型将根据实施例来描述。该机械装置是具有简单结构的气缸装置,其包括阀门301,弹簧303和活塞302。
阀门301响应外部指令(事件)而打开/关闭。将气流改变到右侧的事件,如图2中所示,将在下文称为“Right”,并且将气流改变到左侧的事件,如图3中所示,将在下文称为“Left”。图2显示其中“Right”事件发给阀门301的状态,并且图2纸面上向左的力作用于活塞302上。表示该状态的动力学方程是[-F=mx"],如由气缸装置下面的方程所示。相反,图3显示其中“Lift”事件发给阀门301的状态,气流方向已经改变,并且动力学方程改变为[F=mx"],如图3中所示。
图4作为状态转换图显示这种状态改变和对应于这些状态的动力学方程。混合模型表示图4中所示的使用微分方程或代数方程描述的状态转换和各个状态。如从图4可以看到,有两种状态,并且状态转换在这两种状态之间发生。
图5显示基于图4中的状态转换图,使用HCC(混合并发约束编程)语言来描述实际混合模型内容的程序的实例。参考图5,假设L1至L10是(源)程序的逻辑行号。L3,L4和L10描述该机械装置的初始状态和驱动条件例如阀门操作时间等。L6和L8对应于图4中所示的状态转换表示。
在HCC中,动力学方程可以在程序中直接描述,如可以从图5看到。转换到各个状态所需的条件可以在“always if”后面描述,并且从各个状态转换所需的条件可以在“watching”后面描述。
应当注意,以HCC描述的程序并不总是根据它的描述顺序(图5中逻辑行号L1至L10的顺序)来执行。在HCC中,待激活的语句沿着执行仿真所沿的时间轴来搜索,然后执行。也就是,逻辑行号L1至L10的顺序与它们的执行顺序无关。例如,在仿真的开始,只有L3和L10被激活。因为事件“Right”(ev1)在L3中发生,作为L8前置条件的“Right”被激活,并且图8中描述的动力学方程eq2被激活。也就是,仿真从图4中的左边状态开始执行。
此外, 当时间到达“50”,L4被激活,并且事件“Left”(ev2)发生而实现L8的转换条件(在“Watching”后面,即Left),从而退激活L8中的动力学方程eq2。代替地,L6的前置条件被激活,并且动态方程eq1被激活。
应当注意,上述程序实例描述其中状态转换响应外部事件而发生的情况。当然,状态可以依赖与于内部事态来改变。例如, 当阀门301不在图2中切换时,移动的活塞302接触弹簧303并且受到弹簧303的反力。也就是,状态转换可以与活塞302的位置关联地发生,即使没有外部事件输入。在这种情况下,状态转换的必要性可以通过计算指示例如x是否为正的评价公式(不等式)来确定。
一般地,混合模型合并由常微分方程或代数方程的联立方程表示的连续系统模型和用来表示当事件发生时的状态转换的状态转换模型。混合模型可以表示这样的系统,其中系统的状态由连续系统模型来表示,并且响应例如外部事件等而瞬时切换。
图1中的模型方程控制信息分析部件111接收上述图5中所示的混合模型描述104。部件111在执行仿真之前分析模型描述,并且以适合于仿真的形式登记所有需要的连续系统方程。
更具体地说,模型方程控制信息分析部件111在执行仿真之前,从混合模型描述104提取连续系统方程例如图5中所示的动力学方程eq1和eq2等的全部描述,以及响应事件例如图5中所示的“Right”、“Left”等的状态转换的控制信息的全部描述。同时,部件111分离这些描述,并且将它们传递给方程语法分析部件112和模型方程控制信息存储部件113。
模型方程控制信息分析部件111产生一个表格,该表格存储条件公式、当条件公式成立时被激活的连续系统方程的ID和基于响应事件的状态转换的控制信息的描述,根据相互关联而退激活的连续系统方程的ID。由该表格表示的信息对应于模型方程控制信息存储部件113中的信息。连续系统方程切换部件115在仿真执行过程中定时地查找该表格,并且依次检查内容。如果条件公式成立,激活或退激活相应的连续系统方程所需的另一个API(应用程序接口)函数与相应的连续系统方程ID关联地调用。该API函数设置/复位一个标记,该标记被保证对应那个连续系统方程,并且指示该方程是否有效/无效。这样,连续系统方程被切换。在后面将描述的第二实施方案中,代替产生这种表格(模型方程控制信息存储部件113中的信息),而产生调用API函数的第二种编程语言(例如,C)的源程序。
方程语法分析部件112语法分析输入的连续系统方程,将它们转换成使可以执行仿真的数据结构,并且将它们登记到方程数据存储部件114中。更具体地说,方程语法分析部件112语法分析每个单独连续系统方程的描述,以将它分解成许多字符串。构成连续系统方程的描述的这些字符串作为参数传递给登记连续系统方程所需的预先确定的API(应用程序接口)函数。登记连续系统方程所需的该API函数将每个连续系统方程的描述转换成使可以执行仿真的数据结构(内部数据表示),并且将它登记到方程数据存储部件114中。应当注意,唯一的ID号指定给每个单独连续系统方程。
例如,假设给出公式“ab/cos(a·(c+b))·3c”。那么,API函数产生图6中所示的作为内部数据表示的树状结构。树状结构包括线性多项式的父结点61,其中乘法结点62、除法结点63、外部函数(除四则运算以外)结点64和构成线性多项式的每个项的结点65依次连接到父结点。在本实例中,树状结构的所有叶子对应于变量(a,b,c)和添加给这些变量以形成线性方程的实数系数。每个线性方程变成外部函数例如cos等的参数,或者经历乘法或除法。每个变量独立地具有一个指示其值是否已经设定的标志,并且变量的当前值基于这种树状结构数据来保存。如果树状结构的所有叶子的值(即变量的值)已经被设定,公式的值可以被计算。在方程数据存储部件114中,树状结构通过预先联结内部数据结构来形成,以便以高速计算公式的值等。这样,根据预先准备方程数据(使用树状结构的内部数据表示)的本实施方案,与其中公式“ab/cos(a·(c+b))·3c”的描述在执行仿真时语法分析的情况相比,仿真可以以更高的速度执行。
作为本实施方案的比较实施例,其中混合模型的程序描述由解释型语言处理系统来执行的情况将在下面说明。这种比较实施例是例如在现有技术中说明的Xerox公司(TM)的HCC。
因为解释型使可以在仿真执行过程中添加方程,将待求解的有效方程列成联立方程组的处理、语法分析列出的方程以将它们转换成适合于内部计算的内部数据结构(例如图6中所示)的处理、实际求解联立方程组的处理等每当数值积分通过前进一个时间步长而执行时必须被执行。因为有多少个方程可以联立求解不能在执行这些处理时预先确定,所需的存储每当一个方程被列出时动态分配。因为所需的存储容量依赖处理而不同,一般惯例是预先分配大的存储区,并且所需的存储从该区域分配。同样地,释放存储的处理当方程退激活时必须执行。释放的存储可以在随后的处理中用于其它目的。但是,因为难以直接使用释放后动态确保为小片段的存储,无用存储单元收集处理必须执行,以收集释放的存储片段并将它们重新配置为可再用存储区。这种语法分析和存储管理是复杂的并需要高计算成本,并且可能不利地影响作为最初目的的仿真的执行。例如,无用存储单元收集处理被装入而仿真的执行被出乎意料地暂停。
相反,在本方法的实施方案中,模型方程控制信息分析部件111和方程语法分析部件112被提供,如上所述,以便分析整个混合模型描述104和产生并管理所需的内部数据表示(数据,例如可以高速存取的简单数组)。因此,比较实施例的问题都不会引起。
当执行仿真时,混合模型仿真执行部件102被装入,并且当接收从机械控制软件仿真器108等获得的控制信号106时,通过计算连续系统方程值来执行仿真。这时,连续系统方程切换部件115查找模型方程控制信息存储部件113的内容,并且使用有效/无效标志来切换连续系统方程。在图2中所示的状态中,图5中的动力学方程eq1无效,而动力学方程eq2有效。在图3中所示的在“Left”事件发生之后的状态中,部件115操作标志,以激活图5中的动力学方程eq1并退激活动力学方程eq2。这些有效/无效标志作为存储于方程数据存储部件114的方程的属性数据来管理。
连续系统仿真部件103查找方程数据存储部件114,并且以时间步长为增量执行数值积分,以把以树状结构的形式存储在存储部件114中每个连续系统方程的内部数据表示作为计算目标。仿真是作为常微分方程和代数方程的联立方程组的非线性联立方程组的初始值问题。因此,图2中所示的初始状态被给出,并且解值使用例如流行的Runge-Kutta算法来计算。
需要的数据从机械仿真器输出,并且控制回到连续系统方程切换部件115的处理并重复上述处理,从而执行仿真至所需的一段时间。仿真结果保存在变量值/时间历程存储部件105,并且在仿真之后用于分析等。
图7显示已经参考图1说明的机械仿真器和机械控制软件之间的协作。图7将机械仿真器(混合模型仿真部件101)简单地图解为黑盒。
机械控制软件(或机械控制软件仿真器)108发出操作命令给作为待仿真机械的构成部分的传动器例如电动机,电磁铁等作为控制信号106。响应该信号,混合模型仿真部件101执行仿真,以产生所需数据例如提供给待仿真机械的光电传感器等的传感信息,并且将它们发送给机械控制软件108。机械控制软件108可以在适当的时间与机械仿真器107虚拟地交换跟与实际机器交换的数据相同的数据,并且当没有实际机器可用时,可以实施软件的验证操作。
图8显示其中运动学仿真部件109添加到图7中所示配置的情况。通过图8的配置,机械仿真器(混合模型仿真部件101)还可以基于运动学仿真部件109来获得运动学分析信息(例如,随着时间消逝电动机传动轴的角度改变)。运动学仿真部件109还可以基于每个时间步长中的获得的电动机角度等来计算例如机械的姿态等。结果,机械仿真器可以检查例如机械手是否拦截光电传感器的光束。也就是,当具有复杂形状的机械物体在三维(3D)空间中移动时,传感器的状态等可以高效地计算。关于运动学仿真部件109的实际实施方法和所需的基本技术的细节,参考日本专利申请公开2000-137740号、2001-282877号、2002-215697号等,它们与本发明受让人的日本专利申请关联。
并且,可以使用市场上可买到的机械分析软件,3D CAD的机械仿真函数等。并且,可以参考在日本专利申请公开2001-222572号中描述的技术,虽然它不提供使用模型描述语言例如与图8中所示配置结合的混合模型来模拟机械行为的任何函数。
图9是说明根据上述本发明第一实施方案的一系列处理的顺序的流程图。应当注意,图9的流程图显示图8中所示的配置,即包含运动学仿真部件109的配置的处理。
模型方程控制信息分析部件111和方程语法分析部件112接收并语法分析混合模型描述104(步骤501)。部件111产生一个表格,该表格存储条件公式、当条件公式成立时成立的连续系统方程的ID和基于响应事件的状态转换的控制信息的描述,根据相互关联而退激活的连续系统方程的ID,并且将该表格存储到模型方程控制信息存储部件113中。并且,部件112将连续系统方程的描述转换成使可以基于它们的语法分析结果来执行仿真的数据结构,并且将转换的结构登记到方程数据存储部件114中(步骤502)。
仿真的预处理已经完成,然后开始仿真执行处理。从机械控制软件仿真器108等提供的控制信号106的接收处理被执行(步骤503)。在这种情况下,基于已接收控制信号的值代入需要的变量,如果必要的话。然后,在步骤504中,确定状态改变是否必要。如果状态改变不是必要的,连续系统方程切换部件115通过操作相应连续系统方程的有效/无效标志来切换需要的连续系统方程(步骤505)。
连续系统仿真部件执行数值积分(步骤506)。然后,执行混合模型仿真部件101和运动学仿真部件109之间的通信处理(步骤507)。更具体地说,混合模型仿真部件101和运动学仿真部件109交换电动机角度信息、传感信息等。在如图7中不包含任何运动学仿真部件109的配置中,步骤507被跳过。
机械仿真器将传感信息等传送给机械控制软件仿真器108(步骤508)。此外,在步骤509中,检查处理是否结束。然后,时间前进一个步长,直到预先确定的结束条件被满足(步骤510)。仿真通过重复步骤503和随后步骤中的处理序列来执行。
为了使混合模型仿真部件101可以与作为整体的机械控制软件仿真器108和运动学仿真部件109协作而有效地执行仿真,专门执行根据混合模型描述104内容的处理的步骤504、505和506,以及专门执行数据传输/接收的步骤503、507和508等之间的执行顺序必须有效地控制。如前面已经描述的,在常规系统中,为了编程以准确并有效地控制执行顺序,由于混合模型描述语言的特征(待首先执行的行不能被确定),必须执行需要非常高的技巧和困难的操作。另外,必须准备与具有外部处理的接口关联的特殊外部函数等(例如,在外部获得的信息必须在处理混合模型时代入每个变量,而不是简单地处理变量值),并且模型创建者必须描述它们。
相反,根据本发明的实施方案,因为混合模型仿真执行部件102被配置来执行图9中的一系列处理,上述问题可以避免。也就是,对应于与外部处理例如机械控制软件仿真器108等通信的软件模块独立于混合模型而常驻地安装。这种软件模块通常称作“(仿真)引擎”,并且作为根据本发明的实施方案来提供。在外部获得的数据将代入的变量必须独立于混合模型描述104而输入。但是,在产生混合模型描述104时,用户仅需要了解在外部获得的数据代入的变量名,并且可以建立(编程)模型,而不管通信的顺序等。
如上所述,根据本实施方案,在执行仿真之前分析混合模型描述104,并且所有需要的连续系统方程以适合于仿真的形式来登记。另外,特别地在第一实施方案中,产生与基于发生事件的状态转换等有关的用于执行控制的表格。在仿真中,连续系统方程切换部件115查找该表格。如果确定方程必须关于状态转换而切换(替换),该处理可以通过操作(设置/复位)相应连续系统方程的有效/无效标志而容易实现。根据这种方案,由于在仿真过程中的模型描述语法分析、无用存储单元收集(GC)处理等引起的仿真执行速度下降可以避免。第一实施方案的机械仿真器在内部执行上述本发明独有的处理序列,但是在外表上象解释器。例如,存储表格、方程数据等的存储部件113、114等使用存储设备例如RAM等来形成。
(第二实施方案)本发明的第二实施方案将在下面描述。
图10是说明根据本发明第二实施方案的机械仿真器的配置的示意框图。第二实施方案的配置与第一实施方案的配置基本相同,除了模型方程控制信息分析部件111独立于混合模型仿真执行部件102作为混合模型前处理器201。在第二实施方案中,混合模型描述104由混合模型前处理器201来处理,以产生模型方程登记程序202和模型方程控制程序203。同样地,作为构成混合模型仿真执行部件102的软件模块,登记模型方程需要的函数和切换连续系统方程的函数作为API(应用程序接口)函数来提供。
模型方程登记程序202和模型方程控制程序203通过根据输入的混合模型描述104适当地组合调用上述API函数的描述来准备,并且由模型方程控制信息分析部件111产生。根据该观点,混合模型前处理器201可以认为是一种编译器,其接收混合模型描述104并输出例如C程序(源),该C程序包含以C调用API函数的描述。模型方程登记程序202和模型方程控制程序203由C编译器等来编译,以产生执行时可以动态链接的库。混合模型仿真执行部件102在执行仿真时与产生的动态链接库连接,从而完成忠实地再现混合模型并容易执行的仿真程序。在执行该程序时,装入方程语法分析部件112的API函数被调用,然后切换连续系统所需的API函数被执行,从而执行仿真。
具有图1中所示的配置的第一实施方案和具有图10中所示的配置的第二实施方案之间的差别将在下面更详细地描述。
在这些实施方案的每个中,构成混合模型仿真部件102的许多详细软件模块说明可以获得。但是,为了简单,至少下面的三个API函数被定义。应当注意,编程语言是C。
int XXX_AddEqnData(char*eqn,int*err)int XXX_ActivateEqn(int eqnid)int XXX_DeActivateEqn(int eqnid)第一个API函数XXX_AddEqnData指定表示一个连续系统方程的字符串指针作为参数。XXX_ADDEqnData执行以下处理语法分析该连续系统方程以将它转换成上面图9中所示的数据结构,并且将这种内部数据表示登记到方程数据存储部件114中。如果在该处理中出现任何错误,错误代码设置在err中。如果处理正常地结束,登记方程的ID号作为返回值输出。
第二个API函数XXX_ActivateEqn激活对应于作为参数指定的方程ID号的方程。如果已激活的方程被指定,不做任何处理。返回值时错误代码。
第三个API函数XXX_DeActivateEqn退激活(deactivate)对应于作为参数指定的方程ID号的方程。如果已退激活的方程被指定,不做任何处理。
在第一实施方案中,如上所述,模型方程控制信息分析部件111从混合模型描述104提取各个方程,并且方程语法分析部件112将每个方程分解成许多字符串。构成方程的这些字符串作为参数传递给XXX_AddEpnData。这样,方程的内部数据表示被登记并存储到方程数据存储部件114中。同时,每个方程被分配唯一的ID号。模型方程控制信息分析部件111产生一个表格作为模型方程控制信息存储部件113的内部数据,该表格存储条件公式、当该条件公式成立时被激活的方程的ID和因此退激活的方程的ID。连续系统方程切换部件115在执行仿真过程中定时地检查该表格,并且依次检查表格的内容。如果条件公式成立,XXX_ActivateEpn或XXX_DeActivateEpn被调用,以根据相应的连续系统方程ID激活或退激活连续系统方程。
相反,在第二实施方案中,模型方程控制信息分析部件111产生函数(InitEqnData),该函数又为所需的方程调用XXX_AddEqnData。这对应于模型方程登记程序202。
模型方程控制信息分析部件111也产生函数(ChangeEqn),每当时间前进Δt时该函数检查条件并改变(替换)方程。这对应于模型方程控制程序203。在第一实施方案中,该函数对应于内表格数据和查找表格数据的方程切换机械。在第二实施方案中,该函数以实际源程序的形式来实现。例如,下面的C源程序为图5中所示的混合模型实施例自动产生。
<pre listing-type="program-listing">static char eqn1[]=“f=mx””;static char eqn2[]=“-f=mx””;static int eqn1id;static int eqn2id;&lt;!-- SIPO &lt;DP n="13"&gt; --&gt;&lt;dp n="d13"/&gt;int InitEqnData(){int err;eqn1id=XXX_AddEqnData(eqn1,&amp;amp;err);if(err!=0)return err;eqn2id=XXX_AddEqnData(eqn2,&amp;amp;err);if(err!=0)return err;return 0;}int ChangeEqn(){int err;BOOL GetEvent(char*eventname);if(GetEvent(Left)){err=XXX_ActivateEqn(eqn1id);if(err!=0)return err;XXX_DeActivateEqn(eqn2id);if(err!=0)return err;}if(GetEvent(Right)){XXX_ActivateEqn(eqn2id);if(err!=0)return err;XXX_DeActivateEqn(eqn1id);if(err!=0)return err;}return 0;}</pre>应当注意,GetEvent是检查由名字指定的事件是否发生的函数。上述程序由C编译器来编译,如上所述,并且被转换成在执行时连接的动态链接库。这样,在自动产生(源)程序的该实施方案的情况下,源程序包含eqn1id和eqn2id的声明,即指定仅出现两个方程。因此,优选地,执行时分配的存储容量仅需要足够保证这两个方程。在第一实施方案中,作为模型方程控制信息存储部件113的内部数据的表格在仿真开始之后原则上不扩大。当表格在仿真开始之前第一次产生时,保存表格所需的存储可以根据从模型方程控制信息分析部件111获得的表格尺寸来保证。
另外的优点和修改将容易被本领域技术人员想到。因此,本发明在其更广泛的方面并不局限于这里显示并描述的具体细节和代表实施方案。因此,可以不背离由附加的权利要求及其等价物定义的一般发明概念的本质或范围而做许多修改。
权利要求
1.一种使用包括状态转换模型和连续系统模型的混合模型来仿真机械的行为的仿真方法,该方法包括分析混合模型以提取状态转换模型的第一描述数据和连续系统模型的第二描述数据;基于提取的第一描述数据,产生表示连续系统方程及其切换条件之间的关系的表格;基于提取的第二描述数据,产生连续系统方程的多个内部数据表示;根据事件的发生、通过查找所述表格选择有效的连续系统方程;以及通过使用对应于所选择的有效的一个或多个连续系统方程的一个或多个内部数据表示的数值积分求解所选择的有效的连续系统方程,来输出表示机械的行为的数据。
2.根据权利要求1的方法,还包括通过操作确保每个连续系统方程的标志,来将连续系统方程中有效的一个切换成另一个连续系统方程。
3.根据权利要求1的方法,其中事件响应控制信号和内部变量评价结果的一个,控制信号从包括控制机械的机械控制软件的外部处理来提供。
4.根据权利要求1的方法,还包括执行使用表示机械行为的数据的运动学仿真。
5.一种使用包括状态转换模型和连续系统模型的混合模型来仿真机械的行为的仿真方法,该方法包括分析混合模型以提取状态转换模型的第一描述数据和连续系统模型的第二描述数据;基于提取的第一描述数据,产生表示连续系统方程及其切换条件之间的关系的表格;基于提取的第二描述数据,产生连续系统方程的多个内部数据表示;以及参考表格和连续系统方程的多个内部数据表示,执行机械的行为的仿真。
6.一种使用包括状态转换模型和连续系统模型的混合模型来仿真机械的行为的仿真方法,该方法包括分析混合模型以提取状态转换模型的第一描述数据和连续系统模型的第二描述数据;基于提取的第一描述数据来产生第一程序代码;基于提取的第二描述数据来产生第二程序代码;通过执行第二程序来产生连续系统方程的多个内部数据表示;通过执行第一程序根据连续系统方程的切换条件来切换连续系统方程;以及通过使用内部数据表示的数值积分求解连续系统方程,来输出表示机械的行为的数据。
7.一种使用包括状态转换模型和连续系统模型的混合模型来仿真机械的行为的仿真装置,该仿真装置包括分析部件,配置以分析混合模型来提取状态转换模型的第一描述数据和连续系统模型的第二描述数据;第一产生部件,配置以基于提取的第一描述数据产生表示连续系统方程及其切换条件之间的关系的表格;第二产生部件,配置以基于提取的第二描述数据产生连续系统方程的多个内部数据表示;仿真执行部件,配置以根据事件的发生,通过查找所述表格选择有效的连续系统方程;以及通过使用对应于所选择的有效的一个或多个连续系统方程的一个或多个内部数据表示的数值积分求解所选择的有效的连续系统方程,来输出表示机械的行为的数据。
8.根据权利要求7的装置,其中仿真执行部件通过操作确保每个连续系统方程的标志来将连续系统方程中有效的一个切换成另一个连续系统方程。
9.根据权利要求7的装置,其中事件响应于控制信号和内部变量评价结果中的一个,控制信号从包括控制机械的机械控制软件的外部处理来提供。
10.根据权利要求7的装置,还包括运动学仿真执行部件,配置以执行使用表示机械行为的数据的运动学仿真。
11.一种使用包括状态转换模型和连续系统模型的混合模型来仿真机械的行为的仿真装置,该仿真装置包括分析部件,配置以分析混合模型来提取状态转换模型的第一描述数据和连续系统模型的第二描述数据;第一产生部件,配置以基于提取的第一描述数据,产生表示连续系统方程及其切换条件之间的关系的表格;第二产生部件,配置以基于提取的第二描述数据,产生连续系统方程的多个内部数据表示;以及仿真执行部件,配置以参考表格和连续系统方程的多个内部数据表示,执行机械的行为的仿真。
12.一种使用包括状态转换模型和连续系统模型的混合模型来仿真机械的行为的仿真装置,该仿真装置包括分析部件,配置以分析混合模型来提取状态转换模型的第一描述数据和连续系统模型的第二描述数据;第一产生部件,配置以基于提取的第一描述数据来产生第一程序代码;第二产生部件,配置以基于提取的第二描述数据来产生第二程序代码;第三产生部件,配置以通过执行第二程序来产生连续系统方程的多个内部数据表示;切换部件,配置以通过执行第一程序根据连续系统方程的切换条件来切换连续系统方程;以及输出部件,配置以通过使用内部数据表示的数值积分求解连续系统方程,输出表示机械的行为的数据。
全文摘要
公开一种使用包括状态转换模型和连续系统模型的混合模型来仿真机械的行为的仿真方法。混合模型被分析以提取状态转换模型的第一描述数据和连续系统模型的第二描述数据。该方法包括基于提取的第一描述数据,产生表示连续系统方程及其切换条件之间的关系的表格。该方法也包括基于提取的第二描述数据,产生连续系统方程的多个内部数据表示。
文档编号G06F19/00GK1503188SQ20031011865
公开日2004年6月9日 申请日期2003年11月27日 优先权日2002年11月27日
发明者近藤浩一 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1