仿真控制系统中的输入/输出模块的系统及方法

文档序号:6309759阅读:706来源:国知局
专利名称:仿真控制系统中的输入/输出模块的系统及方法
技术领域
本文公开的主g涉及控制系统,并且具体地涉及仿真控制系统中的输入/输出(I/O)模块。
背景技术
计算机化的控制系统用于控制任何数量的不同类型的系统的操作。例如,可以利用控制系统来控制单机或包括若干机器的复杂系统的操作。在一些情况下,控制系统被完全自动化并且几乎不需要用户交互。在其他情况下,控制系统需要不同程度的用户交互。在这两种情况的任ー情况下,一定水平的系统仿真可以是可取的,以便向控制系统用户提供关于如何与它交互或如何测试新的控制算法的训
练。 仿真典型地包括人机界面,其由从控制系统的控制模块移植到个人计算机或其他计算机的应用代码驱动。为了完成该仿真,创建基于软件的模型来馈送输入到该应用代码,该基于软件的模型可来源于正受控的机器或其他装置的第一原理物理、应用统计、经验或数据驱动技术或其组合。控制模块在个人计算机或其他计算机上的仿真有时称为“虚拟控制器”。该虚拟控制器执行块件和应用代码。目前,模型提供代表在正被仿真的控制系统中存在的I/O组件或卡(在本文中大体上称为I/O模块)的输出的输入。在一些情况下,这些I/O模块的输出代表多个输入的处理表示。例如,在三模冗余(TMR)系统中,I/O模块可以接收来自三个不同的传感器的三个參数(例如,温度)读数,并且基于表决程序选择这些输入中的ー个作为输出,或形成是这些输入的混合的输出。当前的虚拟控制器不包括任何方式来模型化这些I/O模块的操作,并且如此,未实现系统仿真的某些训练或测试能力。

发明内容
根据本发明的ー个方面,公开了仿真系统,其包括仿真界面、模型化正被仿真的系统的操作并且提供系统模型输出的系统模型,以及耦合于该仿真界面的虚拟控制器。该方面的虚拟控制器包括应用层,其接收应用层输入并且提供输出给仿真界面;和耦合于该系统模型和该应用层的输入/输出(I/o)层。该I/O层包括ー个或多个I/O模块模型,其接收系统模型输出并且采用与正被仿真的系统中的I/o模块相同或相似的方式创建应用层输入。根据本发明的另ー个方面,公开了仿真系统的方法。该方法包括在计算装置上创建系统模型,其创建代表由系统中的传感器做出的测量的值;创建输入/输出(I/o)层,其包括由系统中的I/o模块利用的操作代码的至少一部分;在I/O层处接收来自系统模型的值;根据操作代码将从系统模型接收的值转换为I/o层输出;以及提供I/O层输出给应用层,其包括用于系统的控制算法。根据本发明的再另ー个方面,公开了制造物品,其包括存储计算机可读程序代码用于促使系统的仿真的非暂时性存储介质。该计算机可读程序代码包括用于促使计算机进行方法的计算机可读指令,该方法包括存储系统模型,其创建代表由系统中的传感器做出的测量的值;创建输入/输出(I/o)层,其包括由系统中的I/O模块利用的操作代码的至少一部分;在I/o层处接收来自系统模型的值;根据操作代码将从系统模型接收的值转换为I/o层输出;以及提供I/O层输出给应用层,其包括用于系统的控制算法。这些和其他优势和特征将通过下列与附图结合来看的说明变得更明显。


认作本发明的主g被特别地指出并且在说明书总结处的权利要求中清楚地要求保护。本发明的前面的和其他特征和优势通过下列与附图结合来看的详细说明是明显的,这些附图中图I图示根据ー个实施例的用于提供仿真的系统; 图2图示根据ー个实施例的形成图I中示出的系统的组成部分的虚拟控制器的一部分;图3是示出根据ー个实施例的仿真控制系统的方法的流程图;通过示例參照图,详细的说明解释了本发明的实施例连同优势和特征。
具体实施例方式本发明的实施例具有允许仿真虚拟控制器中的I/O模块的仿真的技术效果。这样的仿真可以增强操作者的训练以及促进控制系统的发展、验证和证实。在一些情况下,为了仿真I/O模块,需要“硬件在回路中(HWTL) ”配置。在HTWL配置中,使用实际控制器来代替虚拟控制器。在HWTL配置中仿真系统可能是昂贵并且耗时的。另外,基于HWTL配置,发展操作者训练仿真器的复杂性(从故障模式的角度来看)和费用必须由终端用户承担。这样的结果在仿真エ业中是不太可取的。应该理解,仿真从I/O模块接收的实际数据是相对平常的。然而,所缺乏的是仿真I/O模块本身的能力。如此,包括关于I/o模块中故障模式和表决程序的信息的仿真未被有效地仿真。现在參照图1,图示了耦合于仿真界面102的虚拟控制器100。该仿真界面102在本文中还可称为人机界面(HMI)并且经由通信链路101与虚拟控制器100通信。该通信链路101可以是以太网连接或任何其他类型的电子通信介质。具体地,该通信链路可以从支持所谓的厂级数据高速公路O3DH)或単元数据高速公路(UDH)中的一个或两者的通信介质选择。仿真界面102将从虚拟控制器100接收的信息提供给用户并且还可以接收来自用户的输入并且将它们提供给虚拟控制器100。如此,仿真界面102可以提供位置,用户可以通过该位置与正由虚拟控制器100创建的仿真交互。虚拟控制器100和仿真界面102可以在单个计算装置上提供或在两个或以上的计算装置上全部或部分分开以及分布。可以对虚拟控制器100编程来仿真任何数量的不同类型的系统或机器。例如,虚拟控制器100可以用于仿真在发电中使用的涡轮机(燃气或蒸气)的操作。不管由正被仿真的控制系统控制的系统或机器的特定类型如何,虚拟控制器100包括应用层104。该应用层104包括软件,其采用与正被仿真的控制系统中的控制软件/硬件在功能上相似(或相同)的方式操作。这样的软件或硬件在本文中应称为“操作算法”。在应用层104是采用软件形成的情况下,软件可以简单地从控制系统移植到应用层104。应用层104接收采用应用层104预期的形式输入,将编程进入应用层104中的逻辑(例如,操作算法)应用于该输入以及将创建输出,该输出被提供给仿真界面102。在图I中图示的虚拟控制器100还包括I/O层108。该I/O层108包括一个或多个I/o模块模型IlOaUlOb. . . IlOn0每个I/O模块模型110代表正被仿真的系统中的I/O模块。I/O模块模型110中的ー个或多个包括仿真它所代表的I/O模块的操作的软件。为此,I/o模块模型110在一个实施例中包括以下中的ー个或多个1/0操作代码、事件检测器序列和诊断检测器用于检查可能的I/O模块故障模式。
共享存储器112耦合于I/O层108和应用层104两者并且能由这两者访问。I/O层108可以配置成向该共享存储器112写入数据以及从该共享存储器112读取数据。相似地,应用层104还可以配置成向该共享存储器単元112写入数据以及从该共享存储器単元112读取数据。该共享存储器112可以是独立的存储器単元、较大的存储器単元的一部分,或跨ー个或若干计算装置中的各种存储器位置分布。不管如何配置,共享存储器112向I/O层108和应用层104提供位置来交換信息。在一个实施例中,虚拟控制器100 I禹合于系统模型114、接收来自系统模型114的信息并且提供信息给系统模型114。该系统模型114可以包括允许这样的通信的应用程序接ロ(API)。该系统模型114可以采用软件、硬件或其组合实现。该系统模型114提供由应用层104使用的输入来仿真受控系统的操作。该系统模型114产生“測量”值,其由应用层104使用来呈现对HMI 102的仿真。在以前的系统中,系统模型114直接耦合于应用层104并且例如将代表从I/O模块接收的数字(或可能地,模拟)值的值直接提供给应用层104。相比之下,在图I中图示的系统模型114提供代表电压或电流的值给I/O层108。这些值路由到对应的I/o模块模型110。该I/O模块模型110配置成采用与实际I/O模块将采用的相同或相似的方式将接收的值转换成数字表示。如此,在一个实施例中,用于I/O模块模型110的操作代码可以被复制或从实际I/O模块移植进入I/O层108。当然,I/O模块模型110不必包括来自它所代表的I/o模块的操作代码或參数的全部。在一个实施例中,I/o模块模型110从包括正被仿真的特定类型的I/O模块的模型的数据库选择。应该理解系统模型114和虚拟控制器100两者可以在相同或不同的计算装置上操作。I/O模块模型110的输出提供给共享存储器単元112。应用层104可以与写入共享存储器112的值交互,其中采用好像它直接从系统模型114接收ー样的相同的方式。提供给共享存储器112的输出可以包括先前没有提供给应用层104的附加信息。例如,I/O模块模型110还可以将关于其自身的诊断警报信息写入共享存储器112。图2图示在系统模型114和共享存储器112之间耦合的I/O层108。图示的I/O层108包括I/O模块模型IlOaUlOb和110c。当然,I/O层108可以包括任何数量的I/O模块模型110,其彼此相同、互不相同或是其的某种组合。为了简明性,本文只描述I/O模块模型110a。然而,应假定其他I/O模块模型(例如,IlObUlOc)采用相同或相似的方式操作。不管如何,如上文描述的,I/O模块模型110包括用于正被仿真的系统中的I/O模块的操作代码。在图2中,I/O模块模型110起到将从系统模型114接收的传感器值的表示转换成I/O模块输出格式的作用。例如,系统模型114可以提供代表模拟电压或电流的值给I/O模块模型110。I/O模块模型110通过将I/O操作代码204应用于该值而将接收的值转换成采用由应用层104(图I)预期的格式的输出,并且将结果写入共享存储器112。在一些情况下,正被仿真的系统或机器的參数由多个传感器测量。这些传感器的每个提供输出给独立的I/o模块。例如,三个不同的I/O模块可以从在单个位置中測量温度的三个不同的温度传感器接收三个温度值。如上文描述的,这样的配置称为三模块冗余(TMR)。在这样的情况下,I/O层108可以包括用于选择这些值中的ー个、采用加权或未加权的方式平均化它们或用另外的方式利用接收的值中的一个或多个来创建输出值的表决规则211。在现有技术中,这些表决规则未被仿真。相反,只仿真I/O模块的输出。如此,
在一个实施例中,I/O层108包括表决控制器210,其配置成从两个或以上的I/O模块模型110a、110b、110c接收两个或以上的输入值。当然,I/O模块模型110的准确配置取决于正被模块的I/O模块。表决控制器210从I/O模块模型110a、110b、IIOc接收输入值并且配置成实现如在表决规则211中限定的表决程序。表决控制器210可以提供表决值给共享存储器112,并且可选地,可以提供接收的值的全部给共享存储器112。采用该方式,共享存储器112可以被提供有更多关于由I/O模块模型110仿真的I/O模块的操作的信息。S卩,所有接收的值和表决值可以对应用层104变得可用,而不是单个表决输出值。应理解,I/O模块模型110和表决控制器212可以采用其他方式(如需要)提供信息给应用层104。在一个实施例中,I/O模块模型110中的ー个或多个连接到诊断引擎212。该诊断引擎212配置成进行正被仿真的I/O模块所进行的诊断测试中的ー些或全部。例如,该诊断引擎212可以监视由I/O模块模型110a、110b、110c提供的值并且确定那些值是否指示例如这些传感器中的一个没有正常运行。当然,诊断引擎212可以基于从系统模型114接收的信息进行任何其他诊断测试。诊断测试的结果提供给共享存储器112。I/O模型模块110a、110b、110c还可以包括诊断检测器206,其确定特定的I/O模型模块是否正常运行。在这样的情况下,诊断引擎212可以从系统模型114或I/O模型模块110a、110b、110c接收指示I/O模块是否有故障的指示。在这样的情况下,诊断引擎212可以提供指示这样的故障的输出给共享存储器112。I/O模块模型110还包括连接到操作代码204的事件序列(SOE)检测器202。该SOE检测器耦合于事件序列(SOE)报告器214,其图示为耦合于SOE检测器202和系统模型114。当然,SOE报告器214可以是没有耦合于传感器接收模型202和系统模型114中的任一个或两者的独立式元件。一般地,SOE指正被仿真的I/O模块的输入和输出位置处的数字状态变化。为此,在一个实施例中,SOE检测器202和SOE报告器214对I/O模块模型110的数字输入和输出加上时戳并且记录它们,以及将值和它们关联的时戳作为SOE日志存储在共享存储器112中。该信息例如在确定系统故障的原因或确定由诊断引擎212进行的故障诊断测试的原因中可以是有用的。图3是图示根据ー个实施例操作仿真的方法的流程图。在框302,创建系统模型。该系统模型创建可以包括创建由控制系统控制的系统的仿真。为此,该系统模型可以配置成实时或以增量时间为基础提供一系列代表来自传感器或系统的其他元件的值的仿真值。在先前的仿真中,这些值典型地直接提供给正运行用于控制器的应用代码的应用层。相比之下,在306,将本来会提供给受控系统中的I/O模块的至少I/O值从系统模型提供给ー个或多个I/o模块模型。应理解,在这些值可以提供给I/O模块模型之前,在框304创建I/O模块模型。在一个实施例中,并且如上文描述的,I/O模块模型的创建可以包括将正被仿真的系统中的被配置的I/O模块的配置设定值、基本负载和固件(准确地或大体上)复制到I/O 层 108 (图 2)。在框308,接收的值由I/O模块模型处理。由I/O模块模型进行的该处理在上文详细描述,但大体上可以包括转换值、SOE报告和诊断测试。在框310,I/O模块模型的输出提供给共享存储器,其中在框312这些输出可以由应用层访问。在仿真没有停止的情况下(框314),处理回到框306。当然,如本领域内普通技术人员将认识到的,方法还可以包括接收来自HMI的输入并旦那些输入可以影响系统模型或应用层的操作中的一个或两者。如本文公开的,在图I和2中示出的系统的实施例可以包括存储在机器可读介质(例如,硬盘)上用于如本文公开的那样进行方法或创建系统的机器可读指令。在一个非限制性实施例中,机器(计算机)可读介质是非暂时性的。如本文论述的,指令称为“软件”。 该软件可使用如本领域内已知的软件开发工具而产生。该软件可包括用于提供如本领域内已知的用户交互能力的各种工具和特征。在一些实施例中,提供软件作为到另一个程序的覆盖。例如,软件可以作为“插件(add-in)”提供给应用(或操作系统)。在一个实施例中,该“插件”提供给控制系统仿真系统。在这样的实施例中,根据本发明的HMI显示仿真的而不是实际的数据。注意术语“插件”大体上指如本领域内已知的补充程序代码。在这样的实施例中,软件可代替它与之配合的应用或操作系统的结构或对象。如将由本领域内技术人员意识到的,本发明的方面可体现为系统、方法或计算机程序产品。因此,本发明的方面可采取完全硬件实施例、完全软件实施例(其包括固件、常驻软件、微代码等)或结合软件和硬件方面的实施例(其在本文中可大体上全部称为“电路”、“模块”或“系统”)的形式。此外,本发明的方面可采取包含在一个或多个计算机可读介质(其具有包含在其上的计算机可读程序代码)中的计算机程序产品的形式。在一个实施例中,计算机可读介质是非暂时性计算机可读存储介质。计算机可读存储介质可以是,例如但不限于,电子、磁、光学、电磁、红外或半导体系统、设备或装置,或前面的任何适合的组合。计算机可读存储介质的更具体的示例(非详尽的列表)将包括以下具有ー个或多个线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPR0M或闪速存储器)、光纤、便携式压缩盘只读存储器(CD-ROM)、光存储装置、磁存储装置或前面的任何适合的组合。在本文件的上下文中,计算机可读存储介质可以是任何有形的介质,其可以包含程序或存储程序供指令执行系统、设备或装置使用或用于连同指令执行系统、设备或装置一起使用。尽管本发明仅连同有限数量的实施例详细描述,应该容易理解本发明不限于这样公开的实施例。相反,本发明可以修改以包含此前未描述的任何数量的变化、改动、替代或等同设置,但其与本发明的精神和范围相当。另外,尽管已经描述了本发明的各种实施例,要理解本发明的方面可仅包括描述的实施例中的ー些。因此,本发明不视为由前面的描述限制,而仅由附上的权利要求的范围限制。部件列表
权利要求
1.一种用于在控制系统仿真中仿真输入/输出I/o模块的仿真系统,包括 仿真界面(102); 模型化正被仿真的系统的操作并且提供系统模型输出的系统模型(114);以及 耦合于所述仿真界面(102)的虚拟控制器(100),所述虚拟控制器(100)包括 应用层(104),其接收应用层(104)输入并且提供输出给所述仿真界面(102);和耦合于所述系统模型和所述应用层(104)的I/O层(108),所述I/O层(108)包括ー个或多个I/O模块模型(110),其接收所述系统模型输出并且采用与正被仿真的系统中的I/O模块相同或相似的方式创建所述应用层(104)输入。
2.如权利要求I所述的仿真系统,其中所述虚拟控制器(100)进ー步包括 共享存储器(112),其在所述I/O层(108)和所述应用层(104)之间耦合,所述共享存储器(112)存储所述应用层(104)输入。
3.如权利要求2所述的仿真系统,其中所述I/O层(108)接收提供给所述I/O模块模型(Iio)中的一个或多个的单个參数的多个值并且包括表决控制器(210),其从所述多个值创建单个应用层(104)输入。
4.如权利要求3所述的仿真系统,其中所述单个应用输入由所述I/O层(108)写入所述共享存储器(112)。
5.如权利要求4所述的仿真系统,其中对于所述I/O模块模型(110)中的ー个或多个的所述多个值也由所述I/o层(108)写入所述共享存储器(112)。
6.如权利要求2所述的仿真系统,其中所述I/O层(108)进ー步包括 诊断引擎(212),其仿真由正被仿真的所述I/O模块进行的诊断测试并且将所述诊断测试的结果写入所述共享存储器(112)。
7.如权利要求2所述的仿真系统,其中所述I/O层(108)进ー步包括 事件序列(SOE)报告器(214),其对ー个或多个I/O模块模型(110)的数字输入和输出加时戳并且记录所述数字输入和输出以及将所述数字输入和输出提供给所述共享存储器(112)。
8.—种仿真包含在系统中的输入/输出I/O模块的方法,其包括 在计算装置上创建系统模型,其创建代表由所述系统中的传感器做出的测量的值; 创建I/O层(108),其包括由所述I/O模块利用的操作代码的至少一部分; 在所述I/O层(108)处接收来自所述系统模型的值; 根据所述操作代码(204)将从所述系统模型接收的值转换为I/O层输出;以及 提供所述I/O层输出给应用层(104),其包括用于所述系统的控制算法。
9.如权利要求8所述的方法,其中所述系统模型提供相同的操作參数的两个或以上的仿真值给所述I/O层(108)。
10.一种制造物品,其包括存储计算机可读程序代码用于促使包含在系统中的输入/输出I/o模块的仿真的非暂时性存储介质,所述计算机可读程序代码包括用于促使计算机进行方法的计算机可读指令,所述方法包括 在计算装置上创建系统模型,其创建代表由所述系统中的传感器做出的测量的值; 创建I/o层(108),其包括由所述I/O模块利用的操作代码(204)的至少一部分; 在所述I/O层(108)处接收来自所述系统模型的值;根据所述操作代码将从所述系统模型接收的值转换为I/o层输出;以及提供所 述I/o层输出给应用层(104),其包括用于所述系统的控制算法。
全文摘要
本发明涉及仿真控制系统中的输入/输出模块的系统及方法。仿真系统包括仿真界面(102)和耦合于该仿真界面的虚拟控制器(100)。该虚拟控制器包括应用层(104),其接收应用层输入并且提供输出给该仿真界面;和耦合于系统模型(114)和应用层的输入/输出(I/O)层(108)。该I/O层包括一个或多个I/O模块模型(110),其接收系统模型输出并且采用与正被仿真的系统中的I/O模块相同或相似的方式创建应用层输入。
文档编号G05B17/02GK102692876SQ20121008035
公开日2012年9月26日 申请日期2012年3月16日 优先权日2011年3月18日
发明者M·H·麦金利, M·R·萨胡, M·V·S·杜武里, R·K·穆泰亚拉普蒂 申请人:通用电气公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1