CN113039613B - Method and system for synchronizing a first simulation system and a second simulation system - Google Patents

Method and system for synchronizing a first simulation system and a second simulation system Download PDF

Info

Publication number
CN113039613B
CN113039613B CN201880099182.9A CN201880099182A CN113039613B CN 113039613 B CN113039613 B CN 113039613B CN 201880099182 A CN201880099182 A CN 201880099182A CN 113039613 B CN113039613 B CN 113039613B
Authority
CN
China
Prior art keywords
simulation system
simulation
virtual
scale factor
speed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880099182.9A
Other languages
Chinese (zh)
Other versions
CN113039613A (en
Inventor
摩西·豪赞
盖伊·巴拉克
吉拉德·米尔曼
加尔·什尼尔
约翰内斯·奥特曼
维尔纳·赫拉
罗伯特·温特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SIEMENS INDUSTRY SOFTWARE Ltd
Original Assignee
SIEMENS INDUSTRY SOFTWARE Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SIEMENS INDUSTRY SOFTWARE Ltd filed Critical SIEMENS INDUSTRY SOFTWARE Ltd
Publication of CN113039613A publication Critical patent/CN113039613A/en
Application granted granted Critical
Publication of CN113039613B publication Critical patent/CN113039613B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13063Synchronization between modules
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13174Pc, computer connected to plc to simulate machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13176Functionality of a complex controlled systems, composed of sub-systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15126Calculate duration of cycle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/02CAD in a network environment, e.g. collaborative CAD or distributed simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses a kind ofMethods and systems for synchronizing a first simulation system (PLCSIM) and a second simulation system (Process simulation), each operating in a free-running operation, exchanging data to run the simulation systems; comprising the following steps: a) Enabling a first simulation system (PLCSIM) to run periodically at a substantially linear speed, wherein the first simulation system is configured to periodically run at a substantially linear speed by repeatedly setting a scale factor (s n ) To determine the speed; b) Enabling a second simulation system (process simulation) to run periodically at different speeds; c) Executing the first simulation system and the second simulation system, wherein the second simulation system requests a virtual timestamp from the first simulation system at the end of the period; d) Calculating a virtual duration Δt based on the requested virtual timestamp from the first simulation system nfs And calculating a virtual duration Δt based on the virtual timestamp after the period of the second simulation system is completed nss The method comprises the steps of carrying out a first treatment on the surface of the e) By the latest scale factor s n Multiplied by delta t nss /Δt nfs To calculate an update s of the scale factor n+1 The method comprises the steps of carrying out a first treatment on the surface of the And f) applying the updated scale factor s n+1 To determine the speed of the first simulation system during the next cycle of the second simulation system.

Description

Method and system for synchronizing a first simulation system and a second simulation system
The present disclosure relates generally to computer-aided design (CAD), computer-aided manufacturing (CAM), computer-aided engineering (CAE), visualization, simulation and manufacturing systems, product data management (product data management, PDM) systems, product lifecycle management (product lifecycle management, PLM) systems, and the like (collectively referred to herein as product systems) for creating, using, and managing data for products and other items.
Background
In today's automated and engineering systems for designing and producing products, simulation of the design and manufacturing process can greatly facilitate efficient design and production of the product. Especially inA large number of software products are available in the market, which create a digital twinning of the product during its entire life cycle.
With respect to simulation systems, a wide variety of industrial simulation systems are available. Some systems allow for simulating the production process of a product, others simulate the product logic controller functions during the production process. In particular, simulation systems that simulate the production process of a product, such as the casting of a metal piece, etc., typically simulate the evolution of a future production process. For example, the simulation system generates a video stream for the next 100ms of the production process. These 100ms are time spans on a virtual time scale. However, calculations for these 100ms may need to be greater or less than 100ms on a practical time scale. In other words, such a simulation system observes how much time effectively passes on the actual time scale per 100ms slot on the virtual time scale. This results in a plot of virtual time versus actual time in the form of a step function.
On the other hand, the PLC simulation system (Programmable Logic Control System ) operates in linear steps, resulting in a linear bar of virtual time versus actual time in the graph.
When executing two different simulation systems exchanging data to provide information to the graphical user interface, the problem is the lack of synchronization because the two simulation systems have different virtual time systems. This may cause some timeouts during execution of the simulation system, which may create partial jerky motion (jerky motion) for the virtual production process of the product to be displayed.
To solve this problem, there is a synchronization mechanism that involves two simulation systems entering a frozen state periodically. In the frozen state, execution of the virtual time system and the simulation system is suspended. During the freeze state, the faster simulation system may wait for the slower simulation system to catch up in time. If one of these simulation systems is also visualizing the components (e.g., rendering objects), entering the freeze mode unfortunately causes harsh movements of the components. It is difficult for a user to work with a frequently frozen simulation system.
It is therefore an object of the present invention to provide a method and a system for synchronizing a first simulation system and a second simulation system which avoid the disadvantages of the conventional frozen state in order to synchronize the execution of the two simulation systems.
According to the invention, this object is achieved by a method for synchronizing a first simulation system (PLCSIM) and a second simulation system (Process Stimulate, process simulation), each operating in free-running operation, so as to exchange data to run the simulation systems; the method comprises the following steps:
a) Enabling a first simulation system (PLCSIM) to run at a substantially linear speed over an operational period, wherein the simulation system is configured to perform the simulation by setting a scaling factor (s n ) A constant to determine the speed;
b) Enabling a second simulation system (process simulation) to run with an operation period, wherein a speed within the operation period may vary with the operation period;
c) Executing the first simulation system and the second simulation system, wherein the second simulation system requests a virtual timestamp from the first simulation system at the end of the operation period;
d) Calculating a virtual duration Δt based on the requested virtual timestamp from the first simulation system nfs And calculating a virtual duration Δt based on the virtual timestamp after the completion of the operation cycle of the second simulation system nss
e) By the latest scale factor s n Multiplied by delta t nss /Δt nfs To calculate an update s of the scale factor n+1 The method comprises the steps of carrying out a first treatment on the surface of the And
f) Applying the updated scale factor s n+1 To determine a speed of the first simulation system during at least a next operating cycle of the second simulation system.
Furthermore, according to the invention, this object is achieved by a system for synchronizing a first simulation system (PLCSIM) and a second simulation system (process simulation), each operating in a free-running operation, so as to exchange data to run the simulation systems; the system comprises:
a) A first simulation system (PLCSIM) capable of running at a substantially linear speed in operational cycles, wherein the first simulation system (PLCSIM) is configured to perform at least one of the operational cycles by setting a scaling factor (s n ) A constant to determine the speed;
b) A second simulation system (process simulation) capable of running in an operation cycle, wherein the speed within the operation cycle can be varied;
c) An execution engine for executing the first simulation system and the second simulation system, wherein the second simulation system requests a virtual timestamp from the first simulation system at the end of the operation period;
d) An evaluation unit capable of calculating a virtual hold based on the requested virtual timestamp from the first simulation systemDuration Δt nfs And calculating a virtual duration Δt based on the virtual timestamp after the completion of the operation cycle of the second simulation system nss
e) An evaluation unit which is also capable of passing the latest scale factor s n Multiplied by delta t nss /Δt nfs To calculate an update s of the scale factor n+1 The method comprises the steps of carrying out a first treatment on the surface of the And
f) An execution engine that is also capable of applying the updated scale factor s n+1 To determine a speed of the first simulation system during at least a next operating cycle of the second simulation system.
Furthermore, according to the invention, the object is achieved by a non-transitory computer readable medium encoded with executable instructions that, when executed, cause at least one processor to perform a method for synchronizing a first simulation system and a second simulation system according to the independent method claim.
These measures allow to synchronize the two simulation systems during execution of the simulation systems by adjusting the speed of the simulation systems executing at linear speed. Thus, any mismatch in the timing of the two simulation systems is corrected during an operational cycle of the simulation system that is not running at a constant speed during the operational cycle.
Another example may include an article of manufacture or an apparatus that comprises a processor, computer, component, controller, device, module, and/or unit based on at least one piece of hardware, software, and/or firmware configured to perform a function corresponding to the described method.
The foregoing has outlined rather broadly the features of the present disclosure so that those skilled in the art may better understand the detailed description that follows.
Additional features and advantages of the disclosure will be described hereinafter which form the subject of the claims. Those skilled in the art will appreciate that they can readily use the disclosed conception and specific embodiment as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Those skilled in the art will also realize that such equivalent constructions do not depart from the spirit and scope of the disclosure in its broadest form.
Furthermore, before the following detailed description is made, it is to be understood that various definitions for certain words and phrases are provided throughout this document, and that those of ordinary skill in the art will understand that such definitions apply to many, if not most, cases of prior and future uses of such defined words and phrases. While some terms may include various embodiments, the appended claims may expressly limit these terms to specific embodiments.
Drawings
FIG. 1 illustrates a functional block diagram of an example system that facilitates synchronization of two simulation systems.
FIG. 2 illustrates a block diagram of a data processing system in which embodiments may be implemented.
FIG. 3 illustrates a flow chart of an example method that facilitates synchronization of two simulation systems.
Fig. 4 shows a graph indicating the effect of the method for synchronization of two simulation systems.
Detailed Description
Various techniques related to a method and system for synchronizing two simulation systems will now be described with reference to the drawings, wherein like reference numerals refer to like elements throughout. The drawings discussed below, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged device. It should be understood that functions described as being performed by certain system elements may be performed by a plurality of elements. Similarly, for example, one element may be configured to perform functions described as being performed by multiple elements. Numerous innovative teachings of the present application will be described with reference to exemplary non-limiting embodiments.
With reference to FIG. 1, an example data processing system 100 is illustrated, the example data processing system 100 being useful in performing one or more of the implementations described herein. The system 100 may include a combination 110 or portion thereof of a first simulation system 106 (in accordance with executable instructions of a software program) and a second simulation system 108 (in accordance with executable instructions of a software program) configured to execute the various processes and functions described herein by executing at least one processor 102 (e.g., microprocessor/CPU) from a memory 104.
Such memory 104 may correspond to internal or external volatile memory (e.g., main memory, CPU cache, and/or RAM) included in and/or operatively connected to the processor. Such memory 104 may also correspond to non-volatile memory (e.g., flash memory, SSD, hard drive, or other storage device or non-transitory computer readable medium) operatively connected to the processor.
The described data processing system 100 may include at least one input device 112 and at least one display device 114 operatively connected to a processor. The input device may include, for example, a mouse, keyboard, touch screen, or other type of input device capable of providing user input to the processor. The display device may include, for example, an LCD or AMOLED display screen, a monitor, or any other type of display device capable of displaying output from the processor. For example, processor 102, memory 104, software instructions 106, input device 112, and display device 114 may be included as part of a data processing system corresponding to a PC, workstation, server, notebook computer, tablet, mobile phone, or any other type of computing system or any combination thereof.
Data processing system 100 also may include one or more data stores 116. The processor 102 may be configured to manage, retrieve, generate, use, modify, and store data and/or other information described herein from/in the data store 116. Examples of data stores may include databases (e.g., oracle, microsoft SQLServer), file systems, hard drives, SSDs, memory cards, and/or any other type of device or system that stores non-volatile data.
In an example embodiment, the first simulation system 106 and the second simulation system 108 may include one or more PLM software applications, which may be adapted to perform one or more of the processes and functions described herein. PLM software may include Computer Aided Design (CAD), computer Aided Manufacturing (CAM), and Computer Aided Engineering (CAE) software. The first simulation system 106 may be, for example, a virtual PLC system, and the second simulation system 108 may be a process simulation system.
Examples of such PLM software applications may include teamcnter software, tecnomatix process planner (Tecnomatix Process Planner), easy Plan, manufactured by siemens product lifecycle management software company of Plano, texas. However, it should be understood that other product systems that manage, retrieve, generate, use, modify, simulate, and/or store product data may be used to perform the processes and functions described herein.
In an example embodiment, the 3D model may include an entity/surface model of the object corresponding to data specifying a mathematical representation of the 3D volume/surface of the object. Such 3D model data may be drawn by a user using CAD software and/or may be accessed from data store 116 and/or files (e.g., in a CAD format such as JT or STEP or other format for storing geometric curves defining the shape of the part). In addition, it should also be appreciated that 3D model data may be generated from 3D scans of existing physical parts.
FIG. 2 illustrates a block diagram of a data processing system 300 (e.g., a computer system) in which embodiments may be implemented, such as the previously described system 100, and/or other systems configured or otherwise operated on by computer/processor executable instructions, circuitry, or to perform the functions and processes described herein. The depicted data processing system includes at least one processor 302 (e.g., CPU), which processor 302 may be connected to one or more bridges/controllers/buses 304 (e.g., north bridge, south bridge).
One of the buses 304 may include, for example, one or more I/O buses, such as a PCI Express bus. In addition, connected to the various buses in the depicted example may include a main memory 506 (RAM) and a graphics controller 308. Graphics controller 308 may be connected to one or more display devices 510 (e.g., an LCD or AMOLED display screen, a monitor, a VR headset, and/or a projector). It should also be noted that the processor 302 may include a CPU cache memory. Further, in some embodiments, one or more controllers (e.g., graphics cards, south bridges) may be integrated with the CPU (on the same chip or die). Examples of CPU architectures include IA-32, x86-64, and ARM processor architectures.
Other peripheral devices connected to the one or more buses may include a communication controller 312 (ethernet controller, wiFi controller, cellular controller) operable to connect to a Local Area Network (LAN), wide Area Network (WAN), cellular network, and/or other wired or wireless network 314 or communication equipment.
Other components connected to the various buses may include one or more I/O controllers 316, such as a USB controller, a bluetooth controller, and/or a dedicated audio controller (connected to speakers and/or microphones). It should also be appreciated that various peripheral devices may be connected (via various ports and connections) to the I/O controller, including: input devices 318 (e.g., keyboard, mouse, pointer, touch screen, touch pad, drawing pad, trackball, buttons, keypad, game controller, gamepad, camera, microphone, scanner, motion sensing devices that capture motion gestures), output devices 320 (e.g., printer, speaker), or any other type of device operable to provide input to or receive output from a data processing system.
Additionally, it should be appreciated that many devices, referred to as input devices or output devices, may provide input as well as receive output in communication with the data processing system. For example, the processor 302 may be integrated in a housing (e.g., a tablet computer) that includes a touch screen that serves as both an input device and a display device. Further, it should be understood that some input devices (e.g., laptop computers) may include a number of different types of input devices (e.g., touch screens, touch pads, and keyboards). Additionally, it should be appreciated that other peripheral hardware 322 connected to I/O controller 516 may include any type of device, machine, or component configured to communicate with a data processing system.
Additional components connected to the various buses may include one or more storage controllers 324 (e.g., SATA). The storage controller may be connected to a storage device 326, such as one or more storage drives and/or any associated removable media, which may be any suitable non-transitory machine-usable or machine-readable storage medium. Examples include nonvolatile devices, volatile devices, read-only devices, writeable devices, ROM, EPROM, tape storage, hard disk drives, solid-state drives (SSDs), flash memory, optical disk drives (CD, DVD, blu-ray), and other known optical, electrical, or magnetic storage device drives and/or computer media. Also in some examples, a storage device, such as an SSD, may be directly connected to I/O bus 304, such as a PCI Express bus.
A data processing system according to embodiments of the present disclosure may include an operating system 328, software/firmware 330, and a data store 332 (which may be stored on storage device 326 and/or memory 306). Such an operating system may employ a command line interface (command line interface, CLI) shell and/or a graphical user interface (graphical user interface, GUI) shell. The GUI shell allows multiple display windows to be presented simultaneously in a graphical user interface, where each display window provides an interface for a different application or a different instance of the same application. A cursor or pointer in the graphical user interface may be manipulated by a user through a pointing device such as a mouse or touch screen. The position of the cursor/pointer may be changed and/or an event such as clicking a mouse button or touching the touch screen may be generated to activate the desired response. Examples of operating systems that may be used in the data processing system may include Microsoft Windows, linux, UNIX, iOS and Android operating systems. Additionally, examples of data stores include data files, data tables, relational databases (e.g., oracle, microsoft SQL Server), database servers, or any other structure and/or device capable of storing data that may be retrieved by a processor.
Communication controller 312 may be connected to a network 314 (which may or may not be part of data processing system 300), which network 314 may be any local, wide area, remote, private, and/or public data processing system network or combination of networks as known to those skilled in the art, including the Internet. Data processing system 300 may communicate with one or more other data processing systems, such as server 334 (which may correspond, in combination, to a larger data processing system) via network 314. For example, a larger data processing system may correspond to multiple smaller data processing systems implemented as part of a distributed system in which processors associated with several smaller data processing systems may communicate over one or more network connections and may collectively perform tasks described as being performed by a single larger data processing system. Thus, it should be appreciated that when referring to a data processing system, such a system may be implemented across several data processing systems organized in a distributed system in communication with each other via a network.
It should also be understood that the term "controller" refers to any device, system, or part thereof that controls at least one operation, whether such device is implemented in hardware, firmware, software, or any combination thereof. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. The processor and memory described may be included in a controller. Further, the controller may correspond to the described data processing system or any other hardware circuitry operable to control at least one operation.
Additionally, it should be appreciated that the data processing system may include a virtual machine in a virtual machine architecture or cloud environment. For example, processor 302 and associated components may correspond to a combination of one or more virtual machine processors of a virtual machine operating in one or more physical processors of a physical data processing system. Examples of virtual machine architectures include VMware ESCi, microsoft Hyper-V, xen, and KVM.
Further, it should be noted that the processor described herein may correspond to a remote processor located in a data processing system, e.g., a server remote from the display device and input device described herein. In such examples, the described display device and input device may be included in a client data processing system (which may have its own processor) that communicates with a server (which includes a remote processor) over a wired or wireless network (which may include the internet). In some implementations, such a client data processing system may execute, for example, a remote desktop application or may correspond to a portal (portal) device that performs a remote desktop protocol with a server to send input from an input device to the server and receive visual information from the server for display by a display device. Examples of such remote desktop protocols include the RDP and RFB protocols of PCoIP, microsoft of teradic. In another example, such a client data processing system may execute a web browser or a thin client application. Input from the user may be transmitted from the web browser or thin client application for evaluation on the server, presentation by the server, and the image (or series of images) sent back to the client data processing system for display by the web browser or thin client application. Further, in some examples, the remote processor described herein may correspond to a combination of virtual processors of a virtual machine executing in a physical processor of a server.
Those of ordinary skill in the art will appreciate that the hardware depicted for a data processing system may vary with the particular implementation. For example, the data processing system 300 in this example may correspond to a controller, a computer, a workstation, a server, a PC, a notebook computer, a tablet, a mobile phone, and/or any other type of device/system operable to process data and perform the functions and features described herein associated with the operation of the data processing system, computer, processor, software component, and/or controller discussed herein. The depicted examples are provided for purposes of explanation only and are not meant to imply architectural limitations with respect to the present disclosure.
Now, fig. 3 shows the workflow of a method for synchronizing the two simulation systems 106 and 108. The first simulation system and the second simulation system (VPLC, process simulation) operate in a free-running mode. During this operation, they exchange data to run the simulation system and provide the data to display device 114. With respect to method steps, step 1 enables the first simulation system 106 to run at a substantially linear speed in operational cycles, wherein the first simulation system is configured to perform the simulation by setting a scaling factor (s n ) A constant determines the speed.
Step 2 enables the second simulation system 108 (here a 3D simulation tool) to run in an operational cycle, wherein the speed within the operational cycle may vary for the operational cycle.
In step 3, the first simulation system 106 and the second simulation system 108 are executed, wherein the second simulation system 108 requests a virtual timestamp from the first simulation system 106 at the end of the operation period.
In step 4, based on the requested virtual timestamp from the first simulation system, the virtual duration Δt is also calculated using the previous virtual timestamp from the first simulation system 106 nfs . Based on the virtual timestamp after completion of the operational cycle of the second simulation system 108, a virtual duration Δt for the operational cycle is also calculated nss
In step 5, the latest scale factor s is used n Multiplied by delta t nfs /Δt nss Calculating an update s of the scale factor n+1
In step 6, the updated scale factor s is applied n+1 To determine the speed of the first simulation system 106 during the next operating cycle of the second simulation system 108. This process is also shown in FIG. 4, where FIG. 4 shows the actual time t for executing the two simulation systems 106, 108 r And virtual time t v Graph of characteristics. As mentioned previously, the second simulation system 108 shows a step functionDigital features because after each time span (e.g., 100 ms) of an operational cycle on a virtual time scale, a shorter or longer time may have elapsed on an actual time scale. This produces a step function of the graph for the second simulation system 108 in FIG. 4, producing a constant Δy height of the step, but a different Δx width of the step. To cope with the delay (Deltax>Δy) or acceleration (Δx<Δy), after an execution period (e.g., 100ms virtual time), the second simulation system 108 queries the first simulation system for a virtual timestamp. If the virtual stamp of the first simulation system (106) is greater than the timestamp of the second simulation system (108) (the first simulation system is in front of the second simulation system 108), the scale factor of the next cycle of the first simulation system 106 is reduced to enable the second simulation system to catch up. If the virtual stamp of the first simulation system (106) is less than the timestamp of the second simulation system (108) (the second simulation system 108 is in front of the first simulation system 106), the scale factor of the next cycle of the first simulation system 106 is increased to enable the first simulation system 106 to catch up. Thus, a constant synchronization of the first simulation system and the second simulation system is achieved at the granularity of the virtual cycle time of the second simulation system (108).
In other words, if, for example, the first simulation system 106 is advanced in time compared to the second simulation system 108, the method will slow down the first simulation system 106 because of s n+1 Less than s n . On the other hand, if the first simulation system 106 is temporally lagging, the second simulation system 108 will determine s n+1 Greater than s n To accelerate the first simulation system.
This approach enables the two simulation systems 106, 108 to be synchronized without freezing the operation of the simulation systems. Thus, the harsh representation on the display device 114 is eliminated.
Those skilled in the art will recognize that the complete structure and operation of all data processing systems suitable for use with the present disclosure are not depicted or described herein for simplicity and clarity. Rather, only those data processing systems that are unique to the present disclosure or that are necessary for an understanding of the present disclosure are depicted and described. The remaining construction and operation of data processing system 300 may conform to any of a variety of current implementations and practices known in the art.
As used herein, the terms "component" and "system" are intended to encompass hardware, software, or a combination of hardware and software. Thus, for example, a system or component may be a process, a process executing on a processor, or a processor. Additionally, a component or system may be located on a single device or distributed across several devices.
Further, it is to be understood that the words or phrases used herein should be construed broadly unless otherwise specifically limited in some examples. For example, the terms "include" and "comprise" and their derivatives are intended to be non-limiting inclusive. The singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. Furthermore, the term "and/or (and/or)" as used herein refers to and includes any and all possible combinations of one or more of the associated listed items. The term "or" is inclusive, meaning and/or (and/or), unless the context clearly dictates otherwise. The phrases "associated with … …" and "associated therewith," as well as derivatives thereof, may mean including, being included within … …, interconnected with … …, contained within … …, connected to or connected with … …, coupled to or coupled with … …, communicable with … …, cooperating with … …, interleaved, juxtaposed, proximate, coupled to or combined with … …, having properties of … …, and the like.
Furthermore, although the terms "first," "second," "third," and the like may be used herein to connote various elements, information, functions or acts, the elements, information, functions or acts should not be limited by the terms. Rather, these numerical adjectives are used to distinguish one element, information, function or act from another. For example, a first element, information, function, or act may be referred to as a second element, information, function, or act, and similarly, a second element, information, function, or act may be referred to as a first element, information, function, or act, without departing from the scope of the disclosure.
In addition, unless the context clearly indicates otherwise, the term "adjacent to … …" may mean: an element is relatively close to but not in contact with another element; or the element may be in contact with other parts. Furthermore, unless explicitly stated otherwise, the phrase "based on" is intended to mean "based, at least in part, on".
Although exemplary embodiments of the present disclosure have been described in detail, those skilled in the art will understand that various changes, substitutions, variations and alterations herein disclosed can be made without departing from the spirit and scope of the disclosure in its broadest form.
No description in this application should be construed as implying that any particular element, step, act, or function is a basic element that must be included in the scope of the claims: the scope of patented subject matter is defined only by the allowed claims.
Furthermore, unless the exact word "means for … …" is followed by a word, none of the claims are intended to recite an apparatus plus a function claim structure.

Claims (3)

1. A method for synchronizing a first simulation system and a second simulation system, each simulation system operating in a free-running operation, exchanging data to run the simulation systems; the method comprises the following steps:
a) Enabling the first simulation system to run at a substantially linear speed in operational cycles, wherein the first simulation system is configured to operate at a substantially linear speed by setting a scaling factor s over at least one operational cycle n A constant to determine the speed;
b) Enabling the second simulation system to run with an operational cycle, wherein a speed within the operational cycle is variable;
c) Executing the first simulation system and the second simulation system, wherein the second simulation system requests a virtual timestamp from the first simulation system at the end of an operational cycle;
d) Calculating a virtual duration Δt based on the requested virtual timestamp from the first simulation system nfs And calculating a virtual duration Δt based on the virtual timestamp after the operation cycle of the second simulation system is completed nss
e) By the latest scale factor s n Multiplied by delta t nss /Δt nfs To calculate an update s of the scale factor n+1 The method comprises the steps of carrying out a first treatment on the surface of the And
f) Applying the updated scale factor s n+1 To determine a speed of the first simulation system during at least a next operating cycle of the second simulation system.
2. A system for synchronizing a first simulation system and a second simulation system, each simulation system operating in a free-running operation, exchanging data to run the simulation systems; the system comprises:
a) The first simulation system is capable of running at a substantially linear speed over an operational period, wherein the first simulation system is capable of operating at a substantially linear speed over an operational period by setting a scale factor s in at least one operational period n A constant to determine the speed;
b) The second simulation system is operable with an operational cycle, wherein a speed within the operational cycle is variable;
c) An execution engine for executing the first simulation system and the second simulation system, wherein the second simulation system requests a virtual timestamp from the first simulation system at the end of an operation period;
d) An evaluation unit capable of calculating a virtual duration Δt based on the requested virtual timestamp from the first simulation system nfs And calculating a virtual duration Δt based on the virtual timestamp after the operation cycle of the second simulation system is completed nss
e) The evaluation unit is also capable of passing the latest scale factor s n Multiplied by delta t nss /Δt nfs To calculate an update s of the scale factor n+1 The method comprises the steps of carrying out a first treatment on the surface of the And
f) The execution engine is further capable of applying the updated scale factor s n+1 To determine a speed of the first simulation system during at least a next operating cycle of the second simulation system.
3. A non-transitory computer readable medium encoded with executable instructions that, when executed, cause at least one processor to perform the method for synchronizing a first simulation system and a second simulation system of claim 1.
CN201880099182.9A 2018-10-29 2018-10-29 Method and system for synchronizing a first simulation system and a second simulation system Active CN113039613B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2018/001211 WO2020089664A1 (en) 2018-10-29 2018-10-29 A method and a system for synchronizing a first and a second simulation system

Publications (2)

Publication Number Publication Date
CN113039613A CN113039613A (en) 2021-06-25
CN113039613B true CN113039613B (en) 2024-03-29

Family

ID=70463558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880099182.9A Active CN113039613B (en) 2018-10-29 2018-10-29 Method and system for synchronizing a first simulation system and a second simulation system

Country Status (4)

Country Link
US (1) US20220004159A1 (en)
EP (1) EP3874521A4 (en)
CN (1) CN113039613B (en)
WO (1) WO2020089664A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112351618A (en) * 2020-11-10 2021-02-09 河南工业职业技术学院 Electric automatization control cabinet display device
CN112989627B (en) * 2021-04-16 2021-08-13 成都赢瑞科技有限公司 Multidisciplinary joint simulation system and method based on virtual time

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102867081A (en) * 2012-08-23 2013-01-09 西南交通大学 Coupling control method for multi-field collaborative simulation computation
CN104678778A (en) * 2013-11-08 2015-06-03 洛克威尔自动控制技术股份有限公司 Time synchronization of signal transmission intervals for simulating a machine in industrial automation
WO2018054465A1 (en) * 2016-09-22 2018-03-29 Siemens Aktiengesellschaft Method and devices for the synchronised simulation and emulation of automated production systems

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7564809B1 (en) * 2004-05-06 2009-07-21 Cornell Research Foundation, Inc. Event-synchronization protocol for parallel simulation of large-scale wireless networks
US8543367B1 (en) * 2006-02-16 2013-09-24 Synopsys, Inc. Simulation with dynamic run-time accuracy adjustment
US8069021B2 (en) * 2007-09-28 2011-11-29 Rockwell Automation Technologies, Inc. Distributed simulation and synchronization
US20090089029A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Enhanced execution speed to improve simulation performance
JP5528294B2 (en) * 2010-10-20 2014-06-25 インターナショナル・ビジネス・マシーンズ・コーポレーション Simulation control method, system and program
KR20140098602A (en) * 2013-01-31 2014-08-08 한국전자통신연구원 System and method for performing distributed simulation
WO2015166563A1 (en) * 2014-04-30 2015-11-05 三菱電機株式会社 Simulation system, programmable controller, simulation device, and engineering tool
US20180189431A1 (en) * 2017-12-18 2018-07-05 Hosni I. Adra Dynamic simulation models constantly adapting to the changes of complex systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102867081A (en) * 2012-08-23 2013-01-09 西南交通大学 Coupling control method for multi-field collaborative simulation computation
CN104678778A (en) * 2013-11-08 2015-06-03 洛克威尔自动控制技术股份有限公司 Time synchronization of signal transmission intervals for simulating a machine in industrial automation
WO2018054465A1 (en) * 2016-09-22 2018-03-29 Siemens Aktiengesellschaft Method and devices for the synchronised simulation and emulation of automated production systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
分布式虚拟现实仿真系统的时间同步研究;金星 等;《信息与控制》;第37卷(第4期);第391-395页 *

Also Published As

Publication number Publication date
WO2020089664A1 (en) 2020-05-07
EP3874521A1 (en) 2021-09-08
CN113039613A (en) 2021-06-25
US20220004159A1 (en) 2022-01-06
EP3874521A4 (en) 2022-06-22

Similar Documents

Publication Publication Date Title
US20190188346A1 (en) System and method for modeling characteristics of a melt pool that forms during an additive manufacturing process
CN110168546B (en) System and method for adaptive domain reduction for thermo-structural simulation of additive manufacturing processes
CN110268402B (en) Systems and methods for providing bead size variation during additive manufacturing to improve geometric accuracy of deposited layers
CN110050270B (en) System and method for visual traceability for product requirements
US20190339670A1 (en) System and method for lattice structure design for additive manufacturing
CN113039613B (en) Method and system for synchronizing a first simulation system and a second simulation system
JP6538879B2 (en) System and method for generating annotations
WO2018160163A1 (en) System and method for determining grasping positions for two-handed grasps of industrial objects
EP3443490A1 (en) System and method for finite element analysis of parts having variable spatial density graded regions produced via 3d printers
JP2022527454A (en) Systems and methods for predicting overheating for additive manufacturing using simulation
US10780642B2 (en) System and method for computing surfaces in a multi-layer part
EP3217302A1 (en) System and method for solving and enforcing associative constraints
US11232237B2 (en) System and method for perception-based selection of features in a geometric model of a part
CN107636681B (en) Drawing object inference system and method
CN115576473B (en) Waveform display method, computer device, and storage medium
US20230274042A1 (en) Engineering a physical system involving enhanced consistency of engineering-related information
CN110199280A (en) For including the method and system for the multiple view CAD that edit operation is propagated across view when ensuring constraint consistency
TW201508614A (en) Method and device for displaying layout information of user interface

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant