掌桥专利:专业的专利平台
掌桥专利
首页

用于使第一仿真系统和第二仿真系统同步的方法和系统

文献发布时间:2023-06-19 11:35:49


用于使第一仿真系统和第二仿真系统同步的方法和系统

本公开内容总体上涉及用于创建、使用和管理用于产品和其他项目的数据的计算机辅助设计(computer-aided design,CAD)、计算机辅助制造(computer-aidedmanufacturing,CAM)、计算机辅助工程(computer-aided engineering,CAE)、可视化、仿真和制造系统、产品数据管理(product data management,PDM)系统、产品生命周期管理(product lifecycle management,PLM)系统和类似系统(在本文中被统称为产品系统)。

背景技术

在当今用于设计和生产产品的自动化和工程系统中,设计和制造过程的仿真可以大大有助于产品的有效设计和生产。特别是在

关于仿真系统,各种各样的工业仿真系统是可用的。一些系统允许仿真产品的生产过程,另一些系统在生产过程期间仿真产品逻辑控制器功能。特别地,仿真产品的生产过程例如金属件的铸造等的仿真系统通常仿真未来生产过程的演变。例如,仿真系统针对生产过程的下一100ms生成视频流。这些100ms是虚拟时间尺度上的时间跨度。然而,对于这些100ms的计算可能需要在实际时间尺度上大于或小于100ms。换言之,这种仿真系统观察在虚拟时间尺度上每个100ms的时隙,在实际时间尺度上有效地经过了多少时间。这致使虚拟时间与实际时间的阶跃函数形式的曲线图。

另一方面,PLC仿真系统(Programmable Logic Control System,可编程逻辑控制系统)以线性阶跃运行,从而导致曲线图中的虚拟时间与实际时间呈线性条形。

当执行交换数据以便向图形用户接口提供信息的两个不同仿真系统时,问题在于缺少同步,这是因为两个仿真系统拥有不同的虚拟时间系统。这可能会引起在仿真系统的执行期间的一些超时,这对于要显示的产品的虚拟生产过程产生部分生涩运动(jerkymotion)。

为了解决该问题,存在同步机制,该同步机制涉及两个仿真系统定期进入冻结状态。在冻结状态下,虚拟时间系统和仿真系统的执行被暂停。在冻结状态期间,较快的仿真系统可以等待较慢的仿真系统在时间方面赶上。如果这些仿真系统之一也在使部件可视化(如渲染对象),则进入冻结模式不幸地引起这些部件的生涩运动。对于用户来说,难以利用频繁冻结的仿真系统进行工作。

因此,本发明的目的是提供一种用于使第一仿真系统和第二仿真系统同步的方法和系统,其避免了常规冻结状态的缺点,以便使两个仿真系统的执行同步。

根据本发明,通过一种用于使第一仿真系统(PLCSIM)和第二仿真系统(ProcessStimulate,过程仿真)同步的方法来实现该目的,每个仿真系统以自由运行操作进行操作,从而交换数据以运行仿真系统;所述方法包括下述的步骤:

a)使第一仿真系统(PLCSIM)能够以基本上线性的速度以操作周期运行,其中,通过在至少一个操作周期上设置比例因子(s

b)使第二仿真系统(过程仿真)能够以操作周期运行,其中,操作周期内的速度可以随操作周期而变化;

c)执行第一仿真系统和第二仿真系统,其中,第二仿真系统在操作周期结束时请求来自第一仿真系统的虚拟时间戳;

d)基于所请求的来自第一仿真系统的虚拟时间戳,计算虚拟持续时间Δt

e)通过最新的比例因子s

f)应用所更新的比例因子s

此外,根据本发明,通过一种用于使第一仿真系统(PLCSIM)和第二仿真系统(过程仿真)同步的系统来实现该目的,每个仿真系统以自由运行操作进行操作,从而交换数据以运行仿真系统;所述系统包括:

a)第一仿真系统(PLCSIM),该第一仿真系统(PLCSIM)能够以基本上线性的速度以操作周期运行,其中,通过在至少一个操作周期中设置比例因子(s

b)第二仿真系统(过程仿真),该第二仿真系统(过程仿真)能够以操作周期运行,其中,操作周期内的速度可以变化;

c)执行引擎,该执行引擎用于执行第一仿真系统和第二仿真系统,其中,第二仿真系统在操作周期结束时请求来自第一仿真系统的虚拟时间戳;

d)评估单元,该评估单元能够基于所请求的来自第一仿真系统的虚拟时间戳,计算虚拟持续时间Δt

e)评估单元,该评估单元还能够通过最新的比例因子s

f)执行引擎,该执行引擎还能够应用所更新的比例因子s

此外,根据本发明,通过利用可执行指令编码的非暂态计算机可读介质来实现该目的,该可执行指令在被执行时使至少一个处理器执行根据独立方法权利要求的用于使第一仿真系统和第二仿真系统同步的方法。

这些措施允许通过调整以线性速度执行的仿真系统的速度来在执行仿真系统的过程中使两个仿真系统同步。因此,在两个仿真系统的时序中的任何不匹配在在操作周期内不以恒定速度运行的仿真系统的操作周期的过程中被校正。

另一示例可以包括产品或装置,该产品或装置包括被配置成用于执行与该描述的方法对应的功能的基于至少一个硬件、软件和/或固件的处理器、计算机、部件、控制器、装置、模块和/或单元。

前面已经相当广泛地概述了本公开内容的技术特征,使得本领域技术人员可以更好地理解以下的详细描述。

在下文中将描述形成权利要求的主题的本公开内容的附加特征和优点。本领域技术人员将理解的是,他们可以容易地使用所公开的构思和具体实施方式作为用于修改或设计用于实现本公开内容的相同目的的其他结构的基础。本领域的技术人员还将认识到,这样的等同的构造没有偏离本公开内容在其最广泛的形式上的精神和范围。

此外,在进行下面的详细描述之前,应当理解的是,在整个该文档中提供了针对某些词和短语的各种定义,并且本领域的普通技术人员将理解的是,这样的定义适用于这种定义的词和短语的先前和未来使用的许多(如果不是大多数)的情况。虽然一些术语可以包括各种实施方式,但是所附权利要求可以明确地将这些术语限制到具体实施方式。

附图说明

图1示出了有助于两个仿真系统的同步的示例系统的功能框图。

图2示出了可以实现实施方式的数据处理系统的框图。

图3示出了有助于两个仿真系统的同步的示例方法的流程图。

图4示出了指示用于两个仿真系统的同步的方法的效果的曲线图。

具体实施方式

现在将参照附图描述与使两个仿真系统同步的方法和系统有关的各种技术,其中相同的附图标记始终表示相同的元件。下面讨论的附图以及用于描述本专利文件中的本公开内容的原理的各种实施方式仅是示例性的,并且不应当以任何方式解释为限制本公开内容的范围。本领域技术人员将理解,本公开内容的原理可以在任何适当布置的设备中实现。应当理解,被描述为通过某些系统元件执行的功能可以由多个元件执行。类似地,例如,一个元件可以被配置成执行被描述为由多个元件执行的功能。将参照示例性非限制性实施方式描述本申请的众多创新性教导。

参照图1,示出了示例数据处理系统100,该示例数据处理系统100有助于执行本文描述的实施方式中的一个或更多个。系统100可以包括被配置成通过执行来自存储器104来执行本文描述的各种过程和功能的至少一个处理器102(例如,微处理器/CPU),被编程为使至少一个处理器执行本文描述的各种处理和功能的第一仿真系统106(根据软件程序的可执行指令)和第二仿真系统108(根据软件程序的可执行指令)的组合110或其部分。

这样的存储器104可以对应于包括在处理器中并且/或者与处理器操作时连接的内部或外部易失性存储器(例如,主存储器、CPU高速缓存和/或RAM)。这样的存储器104还可以对应于与处理器操作时连接的非易失性存储器(例如,闪速存储器、SSD、硬盘驱动器或其他存储设备或非暂态计算机可读介质)。

所描述的数据处理系统100可以包括与处理器操作时连接的至少一个输入设备112和至少一个显示设备114。输入设备例如可以包括鼠标、键盘、触摸屏或能够向处理器提供用户输入的其他类型的输入设备。显示设备例如可以包括LCD或AMOLED显示屏、监视器或能够显示来自处理器的输出的任何其他类型的显示设备。例如,可以包括处理器102、存储器104、软件指令106、输入设备112和显示设备114作为与PC、工作站、服务器、笔记本计算机、平板电脑、移动电话或任何其他类型的计算系统或者其任何组合对应的数据处理系统的一部分。

数据处理系统100还可以包括一个或更多个数据存储库116。处理器102可以被配置成管理、检索、生成、使用、修改和存储本文描述的来自数据存储库116/在数据存储库116中的数据和/或其他信息。数据存储库的示例可以包括数据库(例如,Oracle、MicrosoftSQLServer)、文件系统、硬盘驱动器、SSD、存储卡和/或存储非易失性数据的任何其他类型的设备或系统。

在示例实施方式中,第一仿真系统106和第二仿真系统108可以包括一个或更多个PLM软件应用,所述一个或更多个PLM软件应用可以适于执行本文描述的过程和功能中的一个或更多个。PLM软件可以包括计算机辅助设计(CAD)、计算机辅助制造(CAM)和计算机辅助工程(CAE)软件。第一仿真系统106可以是例如虚拟PLC系统,而第二仿真系统108可以是过程仿真系统。

这样的PLM软件应用的示例可以包括由美国德克萨斯州普莱诺(Plano)的西门子产品生命周期管理软件公司生产的Teamcenter软件、Tecnomatix过程规划器(TecnomatixProcess Planner)、Easy Plan。然而,应当理解,可以使用管理、检索、生成、使用、修改、仿真和/或存储产品数据的其他产品系统来执行本文描述的过程和功能。

在示例实施方式中,3D模型可以包括与指定对象的3D体积/表面的数学表示的数据对应的对象的实体/表面模型。这样的3D模型数据可以由用户使用CAD软件绘制并且/或者可以从数据存储库116和/或文件(例如,以CAD格式例如JT或STEP或者其他用于存储限定零件的形状的几何曲线的格式)中访问。另外,还应当理解,3D模型数据可以从现有的物理零件的3D扫描中生成。

图2示出了可以实现实施方式的数据处理系统300(例如,计算机系统)的框图,例如先前描述的系统100,和/或由计算机/处理器可执行指令、电路操作时配置或以其他方式执行本文所述的功能和过程的其他系统。所描绘的数据处理系统包括至少一个处理器302(例如,CPU),该处理器302可以连接至一个或更多个桥/控制器/总线304(例如,北桥、南桥)。

总线304中的一个例如可以包括一个或更多个I/O总线,例如PCI Express总线。另外,在所描绘的示例中连接至各种总线的可以包括主存储器506(RAM)和图形控制器308。图形控制器308可以连接至一个或更多个显示设备510(例如,LCD或AMOLED显示屏、监视器、VR耳机和/或投影仪)。还应当注意,处理器302可以包括CPU高速缓存存储器。此外,在一些实施方式中,一个或更多个控制器(例如,显卡、南桥)可以与CPU集成(在同一芯片或裸片上)。CPU架构的示例包括IA-32、x86-64和ARM处理器架构。

连接至一个或更多个总线的其他外围设备可以包括可操作成连接至局域网(LAN)、广域网(WAN)、蜂窝网络和/或其他有线或无线网络314或通信装备的通信控制器312(以太网控制器、WiFi控制器、蜂窝控制器)。

连接至各种总线的其他部件可以包括一个或更多个I/O控制器316,例如USB控制器、蓝牙控制器和/或专用音频控制器(连接至扬声器和/或麦克风)。还应当理解,各种外围设备可以(经由各种端口和连接部)连接至I/O控制器,I/O控制器包括:输入设备318(例如,键盘、鼠标、指示器、触摸屏、触摸垫、绘图板、轨迹球、按钮、小键盘、游戏控制器、游戏手柄、摄像装置、麦克风、扫描仪、捕获运动姿势的运动感测设备)、输出设备320(例如,打印机、扬声器)或者可操作成将输入提供至数据处理系统或从数据处理系统接收输出的任何其他类型的设备。

另外,应当理解,被称为输入设备或输出设备的许多设备既可以提供输入,也可以接收与数据处理系统的通信的输出。例如,处理器302可以被集成在包括用作输入设备和显示设备两者的触摸屏的壳体(例如平板电脑)中。此外,应当理解,一些输入设备(例如膝上型计算机)可以包括多个不同类型的输入设备(例如,触摸屏、触摸垫和键盘)。另外,应当理解,连接至I/O控制器516的其他外围硬件322可以包括被配置成与数据处理系统通信的任何类型的设备、机器或部件。

连接至各种总线的附加部件可以包括一个或更多个存储控制器324(例如,SATA)。存储控制器可以连接至存储设备326,例如一个或更多个存储驱动器和/或任何相关联的可移动介质,该可移动介质可以是任何合适的非暂态机器可用或机器可读存储介质。示例包括非易失性设备、易失性设备、只读设备、可写设备、ROM、EPROM、磁带存储装置、硬盘驱动器、固态驱动器(solid-state drive,SSD)、闪速存储器、光盘驱动器(CD、DVD、蓝光)和其他已知的光学、电或磁存储设备驱动器和/或计算机介质。另外在一些示例中,存储设备例如SSD可以直接连接至I/O总线304例如PCI Express总线。

根据本公开内容的实施方式的数据处理系统可以包括操作系统328、软件/固件330和数据存储库332(其可以存储在存储设备326和/或存储器306上)。这样的操作系统可以采用命令行接口(command line interface,CLI)壳层和/或图形用户接口(graphicaluser interface,GUI)壳层。GUI壳层允许在图形用户接口中同时呈现多个显示窗口,其中每个显示窗口为不同的应用或同一应用的不同实例提供接口。图形用户接口中的光标或指示器可以由用户通过诸如鼠标或触摸屏的指示设备来操纵。可以改变光标/指示器的位置以及/或者可以生成诸如点击鼠标按钮或触摸触摸屏的事件以激励期望的响应。可以在数据处理系统中使用的操作系统的示例可以包括Microsoft Windows、Linux、UNIX、iOS和Android操作系统。另外,数据存储库的示例包括数据文件、数据表、关系数据库(例如,Oracle、Microsoft SQL Server)、数据库服务器或能够存储可由处理器检索的数据的任何其他结构和/或设备。

通信控制器312可以连接至网络314(其可以是或可以不是数据处理系统300的一部分),该网络314可以是如本领域技术人员所知的任何本地、广域、远程、私有和/或公共数据处理系统网络或网络的组合,包括因特网。数据处理系统300可以通过网络314与一个或更多个其他数据处理系统例如服务器334(其可以组合地对应于较大的数据处理系统)通信。例如,较大的数据处理系统可以对应于实现为分布式系统的一部分的多个较小的数据处理系统,在分布式系统中与若干个较小的数据处理系统相关联的处理器可以通过一个或更多个网络连接通信,并且可以共同地执行被描述为由单个较大的数据处理系统执行的任务。因此,应当理解,在提及数据处理系统时,这样的系统可以跨若干个数据处理系统来实现,所述若干个数据处理系统被组织在分布式系统中、经由网络彼此通信。

还应当理解,术语“控制器”是指控制至少一个操作的任何设备、系统或其零件,不管这样的设备是以硬件、固件、软件还是它们的任何组合来实现。应当注意,与任何特定控制器相关联的功能可以是集中式或分布式,不管是本地还是远程。所描述的处理器和存储器可以被包括在控制器中。此外,控制器可以对应于所描述的数据处理系统或可操作成控制至少一个操作的任何其他硬件电路。

另外,应当理解,数据处理系统可以包括虚拟机架构或云环境中的虚拟机。例如,处理器302和相关联的部件可以对应于在物理数据处理系统的一个或更多个物理处理器中操作的虚拟机的一个或更多个虚拟机处理器的组合。虚拟机架构的示例包括VMware ESCi、Microsoft Hyper-V、Xen和KVM。

另外,应当注意,本文描述的处理器可以对应于位于数据处理系统例如远离本文描述的显示设备和输入设备的服务器中的远程处理器。在这样的示例中,所描述的显示设备和输入设备可以被包括在客户端数据处理系统(其可以具有其自己的处理器)中,该客户端数据处理系统通过有线或无线网络(其可以包括因特网)与服务器(其包括远程处理器)通信。在一些实施方式中,这样的客户端数据处理系统例如可以执行远程桌面应用或者可以对应于与服务器执行远程桌面协议的门户(portal)设备,以将来自输入设备的输入发送至服务器并且从服务器接收视觉信息以通过显示设备进行显示。这样的远程桌面协议的示例包括Teradici的PCoIP、Microsoft的RDP和RFB协议。在另一示例中,这样的客户端数据处理系统可以执行网络浏览器或瘦客户端应用。来自用户的输入可以从网络浏览器或瘦客户端应用传输,以在服务器上进行评估、由服务器呈现、并且图像(或一系列图像)被发送回至客户端数据处理系统以由网络浏览器或瘦客户端应用显示。另外在一些示例中,本文描述的远程处理器可以对应于在服务器的物理处理器中执行的虚拟机的虚拟处理器的组合。

本领域普通技术人员将理解,针对数据处理系统描绘的硬件可以针对特定实现方式而变化。例如,该示例中的数据处理系统300可以对应于控制器、计算机、工作站、服务器、PC、笔记本计算机、平板电脑、移动电话和/或任何其他类型的装置/系统,所述任何其他类型的装置/系统可操作成处理数据并且执行本文描述的与本文讨论的数据处理系统、计算机、处理器、软件部件和/或控制器的操作相关联的功能和特征。所描绘的示例仅出于解释的目的而提供,并不意味着暗示关于本公开内容的架构限制。

现在,图3示出了用于使两个仿真系统106和108同步的方法的工作流程。第一仿真系统和第二仿真系统(VPLC,过程仿真)以自由运行模式操作。在该操作期间,它们交换数据以运行仿真系统并且将数据提供至显示设备114。关于方法步骤,步骤1使第一仿真系统106能够以基本线性的速度以操作周期运行,其中,通过在第一仿真系统的至少一个操作周期中设置比例因子(s

步骤2使第二仿真系统108(此处为3D仿真工具)能够以操作周期运行,其中,操作周期内的速度可以针对操作周期而变化。

在步骤3中,执行第一仿真系统106和第二仿真系统108,其中,第二仿真系统108在操作周期结束时请求来自第一仿真系统106的虚拟时间戳。

在步骤4中,基于所请求的来自第一仿真系统的虚拟时间戳,也使用来自第一仿真系统106的先前的虚拟时间戳来计算虚拟持续时间Δt

在步骤5中,使用最新的比例因子s

在步骤6中,应用所更新的比例因子s

换言之,如果例如第一仿真系统106与第二仿真系统108相比在时间上领先,则本方法将减慢第一仿真系统106,这是因为s

该方法使得两个仿真系统106、108能够同步,而不会冻结仿真系统的操作。因此,消除了显示设备114上的生涩表示。

本领域技术人员将认识到,为了简单和清楚起见,在本文中未描绘或描述适合与本公开内容一起使用的所有数据处理系统的完整结构和操作。相反,仅描绘和描述了对于本公开内容是唯一的或者对于理解本公开内容是必要的这些数据处理系统。数据处理系统300的其余构造和操作可以符合本领域中已知的各种当前实现方式和实践中的任何一种。

如本文中所使用的,术语“部件”和“系统”旨在涵盖硬件、软件、或硬件和软件的组合。因此,例如,系统或部件可以是过程、在处理器上执行的过程、或处理器。附加地,部件或系统可以位于单个设备上或分布在若干个设备上。

此外,应当理解,除非在一些示例中明确地限制,否则本文中使用的词或短语应当被广义地解释。例如,术语“包括”和“包含”及其派生词意指非限制性包括。除非上下文另外明确指出,否则单数形式“一(a)”、“一个(an)”和“该(the)”也旨在包括复数形式。此外,本文中所使用的术语“并且/或者(以及/或者)”指代以及包括一个或更多个相关联列出项目的任何可能的组合和全部可能的组合。除非上下文另外明确地指示,否则术语“或”是包含性的,意思是并且/或者(以及/或者)。短语“与……相关联”和“与此相关联”以及其派生词可以意指包括、被包括在……内、与……互连、包含、被包含在……内、连接至或与……连接、耦接至或与……耦接、可与……通信、与……合作、交织、并置、接近、结合至或与……结合、具有、具有……的属性等。

此外,尽管术语“第一”、“第二”、“第三”等在本文中可以用于指代各种元素、信息、功能或动作,但是这些元素、信息、功能或动作不应受这些术语的限制。相反,这些数字形容词用于对不同的元素、信息、功能或动作彼此进行区分。例如,在不脱离本公开内容的范围的情况下,第一元素、第一信息、第一功能或第一动作可以被称为第二元素、第二信息、第二功能或第二动作,并且类似地,第二元素、第二信息、第二功能或第二动作可以被称为第一元素、第一信息、第一功能或第一动作。

另外,除非上下文另外明确指出,否则术语“与……邻近”可以意指:元件相对接近另一元件但不与另一元件接触;或者元件与其他部分接触。此外,除非另有明确说明,否则短语“基于”旨在意指“至少部分地基于”。

尽管已经详细描述了本公开内容的示例性实施方式,但是本领域技术人员将理解的是,在不脱离本公开内容的最广泛形式的精神和范围的情况下,可以做出本文中所公开的各种改变、替换、变化和改进。

本申请中的任何描述都不应被理解为暗示任何特定的元件、步骤、动作或功能是必须包括在权利要求范围内的基本元件:专利主题的范围仅由允许的权利要求来限定。

此外,除非确切的词“用于……的装置”后面是分词,否则这些权利要求都并非旨在援引装置加功能的权利要求结构。

相关技术
  • 用于使第一仿真系统和第二仿真系统同步的方法和系统
  • 用于测量第一构件和第二构件以及使第一构件和第二构件相对于彼此对齐的装置和方法
技术分类

06120112979116