WO2018054465A1 - Verfahren und vorrichtungen zur synchronisierten simulation und emulation von automatisierten produktionsanlagen - Google Patents

Verfahren und vorrichtungen zur synchronisierten simulation und emulation von automatisierten produktionsanlagen Download PDF

Info

Publication number
WO2018054465A1
WO2018054465A1 PCT/EP2016/072490 EP2016072490W WO2018054465A1 WO 2018054465 A1 WO2018054465 A1 WO 2018054465A1 EP 2016072490 W EP2016072490 W EP 2016072490W WO 2018054465 A1 WO2018054465 A1 WO 2018054465A1
Authority
WO
WIPO (PCT)
Prior art keywords
simulation
sim
programs
plc
time
Prior art date
Application number
PCT/EP2016/072490
Other languages
English (en)
French (fr)
Inventor
Gustavo Quiros Araya
Rene Ermler
Original Assignee
Siemens Aktiengesellschaft
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 Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to PCT/EP2016/072490 priority Critical patent/WO2018054465A1/de
Publication of WO2018054465A1 publication Critical patent/WO2018054465A1/de

Links

Classifications

    • 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
    • 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
    • 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

Definitions

  • An emulator is understood to be a program which simulates a different system in certain aspects by obtaining the same data, executing comparable programs and, if possible, obtaining the same results as the system to be emulated.
  • a synchronization mechanism In the software-based simulation of automated production, a synchronization mechanism is often ver ⁇ turns, wherein the execution of all simulation programs in steps of equal duration progresses.
  • the synchronization mechanism determines an order of all Simula ⁇ tion programs and activates the programs under this tire alternating. Between two successive executions of the sequence, a data exchange takes place between the simulation programs, output data are transmitted and delivered as corresponding input data.
  • Today's simulation systems for PLC-based automation systems mainly use the cyclic execution of the simulation component in a predefined order. This approach is a direct and natural representation of the implementation principle of an automation system, and is therefore favored in practice.
  • the object is achieved by a method according to the Merkma ⁇ len of claim 1.
  • the inventive method for software-based simulation of an automated system the simulation consists of at least two independent, mutually coupled simulation and / or emulation programs, and ⁇ each of these at least two simulation and / or emulation programs an independent simulation task in detail Performs simulation steps, and an exchange of simulation data between the simulation tasks after each simulation step is performed, and the execution of each simulation step is synchronized by a parent instance as a master, in each simulati ⁇ onsön information about in each of at least two simulation and / or emulation programs valid local time is transmitted and an external time is determined from the minimum of all local times (LT) and the determined local time of all simulation and / or Emulati ⁇ ons programs and only then Transfer the simulation data from the previous simulation step to the simulation and / or emulation programs.
  • LT minimum of all local times
  • a simulation based on virtual time offers a flexible handling of the execution speed as well as the possibility for a precise simulation process for simulation programs that are not real-time capable compared to real-time simulation. This requires the use of an active synchronization mechanism that controls the execution of all simulation programs in terms of synchronization goals.
  • I / O simulation data is in the form of a system event each before the execution of a simulation step on ⁇ occurs. This ensures global data consistency.
  • a synchronization event (so-called. Zero Message) is used in each case after the execution of a simulation step for the Mel ⁇ extension of the duration of the step.
  • the Kau ⁇ s Maschinen and continuity of distributed simulation be guaranteed.
  • Figure 2 shows a synchronization method for PLC emulation and process simulation
  • FIG. 3 shows an example of a synchronization sequence.
  • FIG 1 the general execution mechanism of a simulation program (PLC emulator or system or process ⁇ simulation), which synchronizes with other simulation programs, represented as a flowchart.
  • the program reports its internal virtual time (ie the simulation time), also called local time, to the simulation environment: send LocalTime.
  • the program then sends mulationsum ashamed its off ⁇ output data from a previous simulation step to the Si: send output data.
  • the simulation program then executes the simulation step 105: Run Cycle, and repeats the process by returning 106 back to the first step 101.
  • Synchronization of the execution on a virtual time basis of several SPS emulators in connection with various system or process simulations is achieved with the method shown in FIG.
  • SynM SynM is a software component that assumes the role of centralized coordination.
  • the synchronization master retains for its simulation program Sim its currently known virtual time (local time) and a time stamp for the input data.
  • the synchronization master SynM has a configuration of the data connections between the simulation programs.
  • a synchronization slave SimSynS is set up, which realizes the interaction between the simulation program Sim and the synchronization master SynM according to the method according to FIG.
  • the synchronization slave SimSynS preserves the current virtual clock ⁇ time of the simulation programs.
  • the synchronization slave SPSSynS, SimSynS sends the Synch ⁇ ronisationsmaster SYNM the current virtual time of Si ⁇ mulationsprograms than timestamp 1 (Local Time (time)).
  • the synchronization master SYNM updates its copy of the virtual time la and calculated for each Synchronisati- ons slave the current external time than the minimum time clock ⁇ all other Syncnronisation slaves.
  • the synchronization master SynM sends all other synchronization slaves SPSSynS, SimSynS its current external clock ⁇ time as a timestamp, lb.
  • the synchronization slave PLC-SynS, SimSynS waits for the message of the external time from the synchronization master, 2 (WaitForExternalTime).
  • the wait state is held as long as the local virtual time is greater than the external time.
  • the synchronization master SYNM sends the synchronization- slave SPSSynS, SimSynS the current external time as a time stamp ⁇ , 3.
  • the synchronization slave SPSSynS, SimSynS comparable equals the time stamp with the local time and leaves the wait state if necessary.
  • the synchronization slave SPSSynS, SimSynS reads the output data from the simulation program PLC-E, Sim out, 4.
  • the synchronization slave SPSSynS, SimSynS sends the Synch ⁇ ronisationsmaster the output data from the simulation program with the current time stamp; 5.
  • the synchronization master SynM receives the output data from the simulation program and decides which data is forwarded to which simulation programs, 5a.
  • the synchronization master SynM sends the corresponding synchronization slaves SPSSynS, SimSynS the corresponding data with the corresponding time stamp, 5b.
  • the synchronization slave SPSSynS, SimSynS writes the new ⁇ s input data to the simulation program 5c PLC E, Sim.
  • the synchronization slave updates the achievableszeitstem ⁇ pel locally, 5d.
  • the synchronization slave SPSSynS, SimSynS pushes the next simulation step and the next cycle of simulation ⁇ program PLC E Sim to, 6.
  • the simulation program Sim, PLC E notifies the synchronization slave SPSSynS, SimSynS the end of the simulation step or of the cycle and the corresponding elapsed time, 7.
  • the synchronization slave SPSSynS, SimSynS adds the reported duration to the local time, 8.
  • Figure 3 shows an example of the flow of synchronizers ⁇ tion between a PLC emulation PLC I and a process simulation Sim.
  • the timing advance t is shown from left to right, top, by way of example of the time progress of a process simulation and below that of the PLC Emulation ,
  • the execution of the simulation steps is shown with filled rectangles. Messages are represented by arrows with event identifiers and timestamps. This information is exchanged for Local Time LT and External Time ET. All time values refer to the virtual time axis. Furthermore, data, OT output data and ID, input data are sent between the elements.
  • the Jerusalemsimula ⁇ tion Sim leads in increments of 100 ms from which can be seen at the top associated timeline.
  • the step length of the PLC emulation is determined by the execution time of the program cycle and is uneven and unpredictable. Thanks to the synchronization of both programs run their simulation ⁇ steps always with currently valid input data.
  • initialization messages LT (0), ET (0), OD (0), ID (0) are exchanged.
  • the numbers in parentheses indicate the local time.
  • the messages are exchanged between the two simulation or emulation programs via the synchronization master (Syn M) and forwarded according to the time specifications.
  • the simulation data are always returned to the determined time in the simulation / emulation process so as to ensure ei ⁇ ne data-consistent implementation.

Landscapes

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

Abstract

Das Verfahren und die Vorrichtungen betreffen die softwarebasierte Simulation von automatisierten Produktionsanlagen. Es werden üblicherweise verschiedene Simulations- und Emulationsprogramme verwendet, die für diesen Zweck miteinander gekoppelt und gemeinsam angewendet werden, wobei jedes Programm eine bestimmte Aufgabe erfüllt. Eine Simulation basierend auf virtueller Zeit, also nicht auf Echtzeit, bietet im Vergleich zur Echtzeitsimulation eine flexible Handhabung der Ausführungsgeschwindigkeit sowie die Möglichkeit für einen präzisen Simulationsablauf bei nicht echtzeitfähigen Simulationsprogrammen an. Dafür ist der Einsatz eines aktiven Synchronisationsmechanismus erforderlich, der die Ausführung aller Simulationsprogramme im Hinblick auf die Ziele der Synchronisation steuert.

Description

Beschreibung
VERFAHREN UND VORRICHTUNGEN ZUR SYNCHRONISIERTEN SIMULATION UND
EMULATION VON AUTOMATISIERTEN PRODUKTIONSANLAGEN
Für die softwarebasierte Simulation von automatisierten Produktionsanlagen werden üblicherweise verschiedene Simulati- ons- und Emulationsprogramme verwendet. Sie werden für diesen Zweck miteinander gekoppelt und gemeinsam angewendet, wobei jedes Programm eine bestimmte Aufgabe erfüllt.
Unter einem Emulator versteht man dabei ein Programm, das ein anderes System in bestimmten Teilaspekten nachbildet, indem es die gleichen Daten erhält, vergleichbare Programme aus¬ führt und möglichst die gleichen Ergebnisse erhält wie das zu emulierende System.
Ein wesentliches Problem der Ankopplung zwischen diesen unterschiedlichen Programmen ist die Synchronisation der verteilten Ausführung. Die begleitende Ausführung aller Simulationsprogramme soll ohne erkennbares Auseinanderlaufen insbe¬ sondere auch in der zeitlichen Durchführung möglich sein. Das (sogenannte) Kausalitätsprinzip soll gewahrt werden, bei dem aktuelle Systemaktionen nur zukünftige und keine vergangene Systemaktionen beeinflussen können.
Bei einer Echtzeitsimulation werden alle Simulationsprogramme auf einer realen Zeitbasis ausgeführt, was eine zusätzliche Herausforderung darstellt. In diesem Fall sind beide Ziele der Synchronisation gegeben, und zwar durch die direkte Zuordnung von Aktionen zu realen Zeitpunkten, d. h. durch den chronologischen Ablauf.
Bei der softwarebasierten Simulation von automatisierten Produktionsanlagen wird oft ein Synchronisationsmechanismus ver¬ wendet, wobei die Ausführung aller Simulationsprogramme in Schritten von gleicher Dauer fortschreitet. Der Synchronisationsmechanismus bestimmt eine Reihenfolge von allen Simula¬ tionsprogrammen und aktiviert die Programme gemäß dieser Rei- henfolge alternierend. Zwischen zwei sukzessiven Ausführungen der Reihenfolge findet ein Datenaustausch zwischen den Simulationsprogrammen statt, es werden Ausgangsdaten übertragen und als entsprechenden Eingangsdaten geliefert.
Dieser zyklische Lösungsansatz ist relativ einfach zu realisieren, er hat aber den Nachteil, dass alle Simulationspro¬ gramme mit derselben Schrittlänge bzw. mit derselben Zyklus¬ zeit ausgeführt werden müssen. Effektiv muss das kleinste ge¬ meinsame Vielfache von allen Schrittlängen als gemeinsame Zykluszeit gewählt werden, und dafür müssen die individuellen Schrittlängen konstant und bekannt sein. Wenn diese Bedingung nicht erfüllt werden kann, dann ist dieser Synchronisations¬ mechanismus nicht einsetzbar. Ein häufiges Beispiel dafür ist eine SPS-Emulation, welche ein freilaufendes Anwenderprogramm mit unvorhersehbarer Zykluszeitlänge ausführt und auf der Ba¬ sis der Hauptprogramzyklus mit dem externen Prozess kommuni¬ ziert und synchronisiert .
Es gibt derzeit Simulationsprodukte, die keinen Synchronisa¬ tionsmechanismus für die Ankopplung von SPS-Emulatoren anbieten, obwohl sie eine Ausführung auf virtueller Zeitbasis intern unterstützen. Bei der Verwendung dieser Simulationsprodukte muss die Simulation in Verbindung mit externen SPS- Emulatoren in Echtzeit laufen.
Für große verteilte Simulationen, z. B. bei simulierten Militärübungen oder bei Verkehrs Simulationen, werden ereignisbasierte Ansätze für die Synchronisation standardmäßig verwen¬ det. Ein Beispiel hierfür findet sich in der Norm IEEE 1516- 2010.
Das algorithmische Rahmenwerk für die Synchronisation von verteilten Simulationssystemen ist Stand der Technik (siehe R. Fujimoto. Parallel and Distributed Simulation Systems. John Wiley & Sons, Inc. , New York, NY, USA, 2000. ISBN 0-471 - 18383-0) . Die Synchronisation auf Basis von virtuellen Zeitstempeln sowie Optimierungsverfahren wie „Time Warping" sind bei vielen Anwendungsgebieten (z .B. Militärübungen) in Einsatz. Die Standardalgorithmen für die verteilte Synchronisa- tion werden in der Literatur allgemein und anwendungsunabhängig auf der Basis von „Systemereignissen" definiert. Für konkrete Anwendungsszenarien müssen die Systemereignisse noch festgelegt und die Simulationslogik entsprechend definiert werden .
Die heutigen Simulationssysteme für SPS-basierte Automatisie rungssysteme verwenden hauptsächlich die zyklische Ausführun der Simulationskomponente in einer festdefinierten Reihenfol ge . Dieser Ansatz ist eine direkte und natürliche Abbildung des Ausführungsprinzips eines Automatisierungs Systems , und wird deshalb in der Praxis favorisiert.
Es ist Aufgabe der Erfindung, ein verbessertes Verfahren und Vorrichtungen zur Synchronisation von Simulations- und Emulationsprogrammen anzugeben, welche die oben genannten Nachteile nicht aufweisen. Es ist insbesondere die Aufgabe der Er¬ findung, ein Verfahren im Umfeld der Simulation von Automatisierungsanlagen anzugeben.
Die Aufgabe wird gelöst durch ein Verfahren gemäß den Merkma¬ len des Patentanspruchs 1.
Die Aufgabe wird gelöst durch Vorrichtung gemäß den Merkmalen der Patentansprüche 12 (Master) und 13 (Slave) .
Das erfindungsgemäße Verfahren zur softwarebasierten Simulation einer automatisierten Anlage, wobei die Simulation aus zumindest zwei eigenständigen, untereinander koppelbaren Simulations- und / oder Emulations-Programmen besteht, und je¬ des dieser zumindest zwei Simulations- und / oder Emulations- Programme eine eigenständige Simulationsaufgabe in einzelnen Simulationsschritten erfüllt, und ein Austausch von Simulationsdaten zwischen den Simulationsaufgaben nach jedem durchgeführten Simulationsschritt erfolgt, und die Ausführung eines jeden Simulationsschritts durch eine übergeordnete Instanz als Master zeitlich synchronisiert wird, in jedem Simulati¬ onsschritt eine Information über die in jedem der zumindest zwei Simulations- und / oder Emulations-Programme geltende lokale Zeit übermittelt wird und eine externe Zeit bestimmt wird, aus dem Minimum aller lokalen Zeiten (LT) und über die ermittelte lokale Zeit aller Simulations- und / oder Emulati¬ ons-Programme und erst dann Übermitteln der Simulationsdaten aus dem vorherigen Simulationsschritt an die Simulations- und / oder Emulations-Programme.
Eine Simulation basierend auf virtueller Zeit, also nicht auf Echtzeit, bietet im Vergleich zur Echtzeitsimulation eine flexible Handhabung der Ausführungsgeschwindigkeit sowie die Möglichkeit für einen präzisen Simulationsablauf bei nicht echtzeitfähigen Simulationsprogrammen an. Dafür ist der Einsatz eines aktiven Synchronisationsmechanismus erforderlich, der die Ausführung aller Simulationsprogramme im Hinblick auf die Ziele der Synchronisation steuert.
Der Übergang zu einem ereignisbasierten Synchronisationsansatz basierend auf virtueller Zeit kann nur durch die Einbeziehung der Theorie und Methodik von verteilten Simulationssystemen durchgeführt werden, wegen der höheren Abstraktion die beim Systementwurf erforderlich ist.
Die vorgestellte Lösung stellt eine spezielle ereignisbasier¬ te Lösung für den konkreten Anwendungsfall der Synchronisati¬ on bei der SPS-Emulation zur Verfügung. Basierend auf dem allgemeinen Synchronisationsverfahren von Chandy/Misra/Bryant (CMB) wurden Systemereignisse und Ausführungsabläufe für SPS- Emulatoren konzipiert und prototypisch erprobt. Das Ergebnis ist ein Synchronisationsverfahren, das für dieses Anwendungsszenario speziell ausgelegt und optimiert ist:
Die typische zyklische Ausführung von SPS und Prozesssimula¬ tionen wird im neuen Synchronisationsverfahren erhalten. Ein Zyklus wird durch ein internes Systemereignis realisiert.
Die übliche E/A-Kommunikation der SPS wird in das Synchronisationsverfahren integriert. Die Übertragung von E/A- Simulations-Daten erfolgt in Form eines Systemereignisses das jeweils vor der Ausführung eines Simulationsschrittes auf¬ tritt. Damit wird die globale Datenkonsistenz gewährleistet.
Ein Synchronisationsereignis (sog. Null-Message) wird jeweils nach der Ausführung eines Simulationsschrittes für die Mel¬ dung der Dauer des Schrittes verwendet. Damit werden die Kau¬ salität und die Kontinuität der verteilten Simulation gewährleistet .
Ein Vorteil des beschriebenen Ansatzes gegenüber aktuellen Lösungen ist, dass nun die Möglichkeit einer präzisen und korrekten Synchronisation eines verteilten Simulationssystems für SPS auf virtueller Zeitbasis gegeben ist.
Dabei wird komplette Flexibilität bezüglich der virtuellen Dauer der Ausführungszyklen bei der individuellen beteiligten Simulationsprogrammen realisiert .
Vorteilhaft ist auch die parallele Ausführung der Simulati¬ onsschritte, wenn die Datenabhängigkeit dies erlaubt.
Darüber hinaus ist eine Kompatibilität mit bestehenden SPS- Emulatoren und Simulationsprogrammen gegeben. Die vorgeschlagene Lösung ist mit einem überschaubaren Implementierungsauf¬ wand und geringem Mehraufwand zur Laufzeit der Simulation erreichbar .
Im Folgenden wird die Erfindung durch die Figuren erläutert. Dabei zeigt
Figur 1 einen allgemeinen Aus führungsmechanismus eines Si¬ mulationsprogramms ,
Figur 2 ein Synchronisationsverfahren für SPS Emulation und Prozesssimulation und
Figur 3 ein Beispiel für einen Synchronisationsablauf.
In Figur 1 wird der allgemeine Ausführungsmechanismus eines Simulationsprogramms (SPS-Emulator oder Anlage- bzw. Prozess¬ simulation) , das sich mit weiteren Simulationsprogrammen synchronisiert, als Ablaufdiagramm dargestellt. In einem ersten Schritt 101 meldet das Programm seine interne virtuelle Uhrzeit (d. h. die Simulationszeit), auch lokale Zeit genannt, an die Simulationsumgebung: send LocalTime . Im nächsten Schritt 102 wartet das Programm, bis die externe Zeit, also die minimale lokale Zeit von allen weiteren Simu¬ lationsprogrammen, die lokale Zeit erreicht oder überschrei¬ tet: wait until (ExternalTime >= LocalTime) .
Im dritten Schritt 103 sendet das Programm dann seine Aus¬ gangsdaten aus einem vorherigen Simulationsschritt an die Si- mulationsumgebung : send OutputData.
Bevor das Simulationsprogramm seinen Simulationsschritt bzw. Zyklus ausführt, wartet es, bis mindestens eine von zwei Be¬ dingungen erfüllt wird 104:
a) die externe Zeit überschreitet die lokale Zeit, und/oder b) der aktuelle Zeitstempel der Eingangsdaten entspricht der lokalen Zeit: Wait until
(ExternalTime > LocalTime) or (InputTime == LocalTime) . Dies bedeutet, dass die weiteren Simulationsprogramme ihre gültigen Ausgangsdaten für den nächsten Simulationsschritt bereits geliefert haben.
Anschließend führt das Simulationsprogramm den Simulations- schritt 105 aus: Run Cycle, und wiederholt den Vorgang indem es wieder zum ersten Schritt 101 zurück kehrt 106.
Die Synchronisation der Ausführung auf virtueller Zeitbasis von mehreren SPS-Emulatoren in Verbindung mit verschiedenen Anlagen- oder Prozesssimulationen wird mit dem in Figur 2 dargestellten Verfahren gelöst.
Hier wird das Verfahren für einen SPS-Emulator und für eine Simulation konkret gezeigt. Im Allgemeinen kann der Ansatz für beliebig viele SPS-Emulatoren und Simulationen erweitert werden. Dabei führen alle Simulationsprogramme mit beliebigen und variierenden Schrittlängen bzw. Zykluszeiten aus. Der Synchronisationsmaster SynM ist eine Softwarekomponente, die die Rolle der zentralen Koordination übernimmt. Der Synchronisationsmaster bewahrt für jedes Simulationsprogramm Sim seine aktuell bekannte virtuelle Uhrzeit (lokale Zeit), und einen Zeitstempel für die Eingangsdaten, auf. Ausserdem verfügt der Synchronisationsmaster SynM über eine Konfiguration der Datenverbindungen zwischen den Simulationsprogrammen .
Für jedes Simulationsprogramm wird einen Synchronisation- Slave SimSynS eingerichtet, der die Interaktion zwischen dem Simulationsprogramm Sim und dem Synchronisationsmaster SynM nach dem Verfahren gemäß Figur l realisiert. Außerdem bewahrt der Synchronisation-Slave SimSynS die aktuelle virtuelle Uhr¬ zeit des Simulationsprograms auf.
Der Ablauf der Ausführung wird für ein Simulationsprogramm wie folgt beschrieben:
Der Synchronisation-Slave SPSSynS, SimSynS sendet dem Synch¬ ronisationsmaster SynM die aktuelle virtuelle Uhrzeit des Si¬ mulationsprograms als Zeitstempel 1 (LocalTime (time ) ) .
Der Synchronisationsmaster SynM aktualisiert seine Kopie der virtuellen Uhrzeit la und berechnet, für jeden Synchronisati- ons-Slave die aktuelle externe Uhrzeit als die minimale Uhr¬ zeit aller anderen Syncnronisation-Slaves.
Der Synchronisationsmaster SynM sendet allen anderen Syncnronisation-Slaves SPSSynS, SimSynS seine aktuelle externe Uhr¬ zeit als Zeitstempel, lb.
Der Synchronisation-Slave SPS-SynS, SimSynS wartet auf die Meldung der externen Zeit vom Synchronisationsmaster, 2 (WaitForExternalTime ) .
Der Wartezustand wird gehalten, solange die lokale virtuelle Uhrzeit größer als die externe Uhrzeit ist.
Der Synchronisationsmaster SynM sendet dem Synchronisation- Slave SPSSynS, SimSynS die aktuelle externe Uhrzeit als Zeit¬ stempel, 3. Der Synchronisation-Slave SPSSynS, SimSynS ver- gleicht den Zeitstempel mit der lokalen Uhrzeit und verlässt ggf. den Wartezustand.
Der Synchronisations-Slave SPSSynS, SimSynS liest die Aus- gangsdaten aus dem Simulationsprogramm SPS-E, Sim aus, 4.
Der Synchronisations-Slave SPSSynS, SimSynS sendet dem Synch¬ ronisationsmaster die Ausgangsdaten aus dem Simulationsprogramm mit dem aktuellen Zeitstempel, 5.
Der Synchronisationsmaster SynM empfängt die Ausgangsdaten aus dem Simulationsprogramm und entscheidet, welche Daten an welche Simulationsprogramme weitergeleitet werden, 5a.
Der Synchronisationsmaster SynM sendet den entsprechenden Synchronisations-Slaves SPSSynS, SimSynS die entsprechenden Daten mit dem entsprechenden Zeitstempel, 5b.
Der Synchronisations-Slave SPSSynS, SimSynS schreibt die neu¬ en Eingangsdaten in das Simulationsprogram SPS-E, Sim, 5c. Der Synchronisations-Slave aktualisiert den Eingangszeitstem¬ pel lokal, 5d.
Der Synchronisation-Slave SPSSynS, SimSynS stößt den nächsten Simulationsschritt bzw. den nächsten Zyklus des Simulations¬ programms SPS-E, Sim an, 6. Das Simulationsprogramm Sim, SPS-E meldet dem Synchronisation-Slave SPSSynS, SimSynS das Ende des Simulationsschritts bzw. des Zyklus sowie die entsprechende vergangene Dauer, 7.
Der Synchronisations-Slave SPSSynS, SimSynS addiert die ge- meldete Dauer auf die lokale Uhrzeit, 8.
Der Zyklus ist beendet und die Ausführung fährt mit Schritt 1 fort . Mit diesem Ansatz werden die oben beschriebenen Ziele der
Synchronisation bei der Ausführung des beschriebenen Systems erfüllt. Dabei werden Deadlocks bei der Synchronisation vermieden, weil die Berechnungsart der Ausführungsbedingung die Aktivierung von mindestens einem Simulationsprogramm zu jeder Zeit ermöglicht .
Figur 3 zeigt ein Beispiel für den Ablauf einer Synchronisa¬ tion zwischen einer SPS-Emulation SPS-E und einer Prozesssimulation Sim dar. Der Zeitfortschritt t wird von links nach rechts gezeigt, oben beispielhaft der Zeitfortschritt einer Prozeßsimulation und unten der von der SPS-Emulation.
Die Ausführung der Simulationsschritte wird mit gefüllten Rechtecken dargestellt. Nachrichten werden anhand von Pfeilen mit Ereignisbezeichnern und Zeitstempeln dargestellt. Dabei werden Informationen zur Local Time LT und External Time ET ausgetauscht. Alle Zeitwerte beziehen sich auf die virtuelle Zeitachse. Weiterhin werden Daten, OT Output Data und ID, In- put Data zwischen den Elementen gesendet. Die Prozesssimula¬ tion Sim führt in Schritten von 100 ms aus was man am oberen zugehörigen Zeitstrahl erkennen kann. Die Schrittlänge der SPS-Emulation wird von der Ausführungsdauer der Programmzyklus bestimmt und ist ungleichmäßig und unvorhersehbar. Dank der Synchronisation führen beide Programme ihre Simulations¬ schritte immer mit aktuell gültigen Eingangsdaten aus.
Zu Beginn werden Initialisierungsnachrichten LT(0), ET(0), OD(0), ID(0) ausgetauscht. Die Zahlen in den Klammern geben jeweils den lokalen Zeitpunkt an. Die Nachrichten werden zwischen den beiden Simulations- bzw Emulationsprogrammen über den Synchronisations-Master (Syn M) ausgetauscht und entsprechend der zeitlichen Vorgaben weitergegeben. Die Simulationsdaten werden immer zum ermittelten Zeitpunkt wieder in den Simulations- / bzw. Emulationsprozeß zurück gegeben um so ei¬ ne datenkonsistente Durchführung zu gewährleisten.

Claims

Patentansprüche
Verfahren zur softwarebasierten Simulation einer automatisierten Anlage
wobei die Simulation aus zumindest zwei eigenständigen, untereinander koppelbaren Simulations- und / oder Emulations-Programmen (SPS-E, Sim) besteht,
und jedes dieser zumindest zwei Simulations- und / oder Emulations-Programme (SPS-E, Sim) eine eigenständige Si¬ mulationsaufgabe in einzelnen Simulations schritten erfüllt,
und ein Austausch von Simulationsdaten zwischen den Simulationsaufgaben nach jedem durchgeführten Simulationsschritt erfolgt, und
die Ausführung eines jeden Simulationsschritts durch ei¬ ne übergeordnete Instanz als Master (Syn M) zeitlich synchronisiert wird,
dadurch gekennzeichnet, dass
in jedem Simulationsschritt eine Information über die in jedem der zumindest zwei Simulations- und / oder Emula¬ tions-Programme geltende lokale Zeit (LT) übermittelt wird (101) und
eine externe Zeit (ET) bestimmt wird, aus dem Minimum aller lokalen Zeiten (LT) und über die ermittelte lokale Zeit (LT) aller Simulations- und / oder Emulations- Programme und erst dann
Übermitteln der Simulationsdaten (OD) aus dem vorherigen Simulationsschritt an die Simulations- und / oder Emula¬ tions-Programme (103) .
Verfahren gemäß Patentanspruch 1,
dadurch gekennzeichnet, dass
der nächste Simulationsschritt in jedem der zumindest zwei Simulations- und / oder Emulations-Programme (SPS E, Sim) erst begonnen wird, wenn alle der beteiligten zumindest zwei Simulations- und / oder Emulations- Programme (SPS-E, Sim) Simulationsdaten an den Simulat ons-Master (Syn M) abgeliefert haben (104) . Verfahren gemäß Patentanspruch 1 oder 2,
dadurch gekennzeichnet, dass die Zeitdauer zur Durchfüh rung eines Simulationsschritts variabel ist.
Verfahren gemäß einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass
jedes der zumindest zwei Simulations- und / oder Emula¬ tions-Programme (SPS-E, Sim) auf einer eigenständigen virtuellen Zeitbasis ausgeführt wird.
Verfahren gemäß einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass
eines der zumindest zwei Simulations- und / oder Emula¬ tions-Programme (SPS-E, Sim) mit einer festen Schritt¬ länge durchgeführt wird.
Verfahren gemäß einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass
die Ausführung der Simulationsschritte in gleicher Rei¬ henfolge wiederholt, also zyklisch ausgeführt wird.
Verfahren gemäß einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass
die Ausführung der Simulationsschritte auf verschiedene Simulationssysteme verteilt ist.
Verfahren gemäß einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass
eines der Emulations-Programme eine Speicherprogrammier bare Steuerung (SPS-E) emuliert.
Verfahren gemäß einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass
eines der Simulations-Programme einen Anwendungsprozeß (Sim) simuliert. Verfahren gemäß einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass
die Datenverbindung zwischen Simulations- und Emulati onsprogrammen (SPS-E, Sim) immer über den Simulations Master erfolgt.
Verfahren gemäß einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass
ein Simulations-Slave (SPS-SynS, Sim Syn-S) die Kommuni- kation zwischen Sim-Programm und Sim. -Master übernimmt.
Vorrichtung zur Verwendung als Simulations-Master (Syn M) ,
mit einem Empfänger zum Empfangen von Mitteilungen von einem Simulations- und/oder Emulationsprogramm (SPS-E, Sim) enthaltend Simulations-Daten (ID) und/oder lokalen Zeitinformationen (LT)
mit einem Rechenmittel zum Ermitteln einer externen Zeit (ET) ,
mit einem Speicher zum Sammeln der empfangenen enthaltend Simulations-Daten und/oder lokalen Zeitinformationen (LT)
mit einem Sender zum zeitverzögerten Senden von Mitteilungen an das zumindest eine Simulations- und/oder Emu¬ lationsprogramm (SPS-E, Sim) enthaltend Simulations- Daten (OD) und/oder lokalen Zeitinformationen (ET) mit einem Zeitstempel.
13. Vorrichtung zur Verwendung als Simulations-Slave (Sim SynS, SPS-SynS)
mit einem Sender zum Senden von Mitteilungen an einen Simulations-Master (Syn-M) enthaltend Simulations-Daten (5) und/oder lokalen Zeitinformationen (1)
mit einem Empfänger zum Empfangen von Mitteilungen enthaltende externen Zeitinformationen (lb) von einem Simulations-Master, (SynM)
mit einem Sender zum Senden von Mitteilungen an ein Simulations- oder Emulationsprogramm (SPS-E, Sim) , enthal- tend eine Startnachricht (6) oder Simulations-Daten (5c) mit einem Empfänger zum Empfangen von Mitteilungen von dem das zumindest eine Simulations- und/oder Emulations¬ programm (SPS-E, Sim) enthaltend Simulations-Daten (7, 4 ) , und
mit einer Aus führungseinheit zur Bestimmung der lokalen Zeitinformationen (5d, 8) mit einem Zeitstempel.
PCT/EP2016/072490 2016-09-22 2016-09-22 Verfahren und vorrichtungen zur synchronisierten simulation und emulation von automatisierten produktionsanlagen WO2018054465A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2016/072490 WO2018054465A1 (de) 2016-09-22 2016-09-22 Verfahren und vorrichtungen zur synchronisierten simulation und emulation von automatisierten produktionsanlagen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2016/072490 WO2018054465A1 (de) 2016-09-22 2016-09-22 Verfahren und vorrichtungen zur synchronisierten simulation und emulation von automatisierten produktionsanlagen

Publications (1)

Publication Number Publication Date
WO2018054465A1 true WO2018054465A1 (de) 2018-03-29

Family

ID=57123959

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/072490 WO2018054465A1 (de) 2016-09-22 2016-09-22 Verfahren und vorrichtungen zur synchronisierten simulation und emulation von automatisierten produktionsanlagen

Country Status (1)

Country Link
WO (1) WO2018054465A1 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111985082A (zh) * 2020-07-23 2020-11-24 西安理工大学 一种高守恒性水文水动力耦合模拟方法
CN113039613A (zh) * 2018-10-29 2021-06-25 西门子工业软件有限公司 用于使第一仿真***和第二仿真***同步的方法和***
CN115459897A (zh) * 2022-09-02 2022-12-09 南方电网科学研究院有限责任公司 电力实时仿真中的步长同步校准方法、装置及相关设备
CN115642980A (zh) * 2022-12-13 2023-01-24 中国铁道科学研究院集团有限公司通信信号研究所 一种分布式仿真同步方法及***
CN109543349B (zh) * 2018-12-21 2023-10-24 核动力运行研究所 一种核电模拟机多外挂集成方法
CN117033252A (zh) * 2023-10-09 2023-11-10 中核武汉核电运行技术股份有限公司 一种基于opcua的联合仿真通信***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0314370A2 (de) * 1987-10-28 1989-05-03 AT&T Corp. Verfahren und Gerät zur Simulation von begrenzten verteilten diskreten Ereignissen
JP3916727B2 (ja) * 1997-05-30 2007-05-23 新日鉄ソリューションズ株式会社 シミュレーション装置およびその方法、コンピュータ読み取り可能な記録媒体
US20070130219A1 (en) * 2005-11-08 2007-06-07 Microsoft Corporation Traversing runtime spanning trees
WO2013026483A1 (de) * 2011-08-24 2013-02-28 Siemens Aktiengesellschaft Verfahren zur rechnergestützten synchronisation einer mehrzahl von rechenprozessen
EP2871540A2 (de) * 2013-11-08 2015-05-13 Rockwell Automation Technologies, Inc. Zeitsynchronisation von Signalübertragungsintervallen zur Simulation einer Maschine in der industriellen Automatisierung

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0314370A2 (de) * 1987-10-28 1989-05-03 AT&T Corp. Verfahren und Gerät zur Simulation von begrenzten verteilten diskreten Ereignissen
JP3916727B2 (ja) * 1997-05-30 2007-05-23 新日鉄ソリューションズ株式会社 シミュレーション装置およびその方法、コンピュータ読み取り可能な記録媒体
US20070130219A1 (en) * 2005-11-08 2007-06-07 Microsoft Corporation Traversing runtime spanning trees
WO2013026483A1 (de) * 2011-08-24 2013-02-28 Siemens Aktiengesellschaft Verfahren zur rechnergestützten synchronisation einer mehrzahl von rechenprozessen
EP2871540A2 (de) * 2013-11-08 2015-05-13 Rockwell Automation Technologies, Inc. Zeitsynchronisation von Signalübertragungsintervallen zur Simulation einer Maschine in der industriellen Automatisierung

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ROGER D SMITH: "Synchronizing Distributed Virtual Worlds", 1 January 2000 (2000-01-01), pages 1 - 22, XP055336500, Retrieved from the Internet <URL:www.modelbenders.com/papers/sim2000/SynchDistVW.PDF> [retrieved on 20170118] *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113039613A (zh) * 2018-10-29 2021-06-25 西门子工业软件有限公司 用于使第一仿真***和第二仿真***同步的方法和***
CN113039613B (zh) * 2018-10-29 2024-03-29 西门子工业软件有限公司 用于使第一仿真***和第二仿真***同步的方法和***
CN109543349B (zh) * 2018-12-21 2023-10-24 核动力运行研究所 一种核电模拟机多外挂集成方法
CN111985082A (zh) * 2020-07-23 2020-11-24 西安理工大学 一种高守恒性水文水动力耦合模拟方法
CN111985082B (zh) * 2020-07-23 2024-04-26 西安理工大学 一种高守恒性水文水动力耦合模拟方法
CN115459897A (zh) * 2022-09-02 2022-12-09 南方电网科学研究院有限责任公司 电力实时仿真中的步长同步校准方法、装置及相关设备
CN115459897B (zh) * 2022-09-02 2024-06-04 南方电网科学研究院有限责任公司 电力实时仿真中的步长同步校准方法、装置及相关设备
CN115642980A (zh) * 2022-12-13 2023-01-24 中国铁道科学研究院集团有限公司通信信号研究所 一种分布式仿真同步方法及***
CN115642980B (zh) * 2022-12-13 2023-03-21 中国铁道科学研究院集团有限公司通信信号研究所 一种分布式仿真同步方法及***
CN117033252A (zh) * 2023-10-09 2023-11-10 中核武汉核电运行技术股份有限公司 一种基于opcua的联合仿真通信***
CN117033252B (zh) * 2023-10-09 2024-04-12 中核武汉核电运行技术股份有限公司 一种基于opcua的联合仿真通信***

Similar Documents

Publication Publication Date Title
WO2018054465A1 (de) Verfahren und vorrichtungen zur synchronisierten simulation und emulation von automatisierten produktionsanlagen
DE102018132290B4 (de) Fahrzeuginternes System, Gateway, Relais, nichttransitorisches computerlesbares Medium zum Speichern eines Programms, Informationsverarbeitungsverfahren, Informationsverarbeitungssystem und Fahrzeug
DE112014002985B4 (de) Simulationssystem und programmierbare Steuerung
LU93299B1 (de) Ablaufsteuerung von Programmmodulen
DE102005029422A1 (de) System und Verfahren zum Koordinieren der Aktionen einer Mehrzahl von Vorrichtungen über ein Planen der Aktionen basierend auf synchronisierten lokalen Takten
DE112013000758T5 (de) Erzeugen von Taktsignalen für einen zyklusgenauen, zyklusreproduzierbaren FPGA-gestützten Hardware-Beschleuniger
DE112006000520T5 (de) Synchronisaton von durch ein Kommunikationsnetzwerk verbundenen Steuervorrichtungen
WO2012038234A1 (de) Verfahren zur zeitsynchronisation in einem kommunikationsnetz
DE112012006762T5 (de) Kommunikationsvorrichtung, Kommunikationssystem und synchrones Steuerverfahren
EP3014438A1 (de) Verfahren und vorrichtung zur zeitrichtigen datenübergabe an die zyklischen tasks in einem verteilten echtzeitsystem
EP3454234A1 (de) Verfahren zum bereitstellen einer echtzeitfähigen simulation für die steuergerätentwicklung und simulationsvorrichtung für die steuergerätentwicklung
DE69816592T2 (de) Radio mit Synchronisierungsvorrichtung und zugehöriges Verfahren
DE10347078A1 (de) Simulations-Verifikationsverfahren für eine Steuerlogik und Simulations-Verifikations-Personal-Computer
DE2449660C3 (de) Verfahren und Einrichtung zur Synchronisation von im Zeitmultiplex arbeitenden, untereinander gleichberechtigten autonomen Geberstationen
EP3152967A1 (de) Verfahren zur deterministischen drahtlosen übertragung von zeitgesteuerten echtzeitnachrichten in einem verteilten echtzeitsystem
DE112016007339T5 (de) Simulationsvorrichtung
DE102013224700A1 (de) Vorrichtung und Verfahren zur Änderung von Betriebseinstellungen einer technischen Anlage
EP2982063A1 (de) Automatisierungseinrichtung und verfahren zur reduzierung von jittern
WO2005111746A1 (de) Verfahren und vorrichtung zur simulation eines automatisierungssystems
EP3422218A1 (de) Synchronisation mehrerer simulationen
DE102015200300A1 (de) Verfahren zum Simulieren einer Maschine
DE102017120450A1 (de) Verfahren zum Bereitstellen einer echtzeitfähigen Simulation für die Steuergerätentwicklung und Simulationsvorrichtung für die Steuergerätentwicklung
WO2016205842A1 (de) Vorrichtung und verfahren zur integration von softwarekomponenten in ein verteiltes zeitgesteuertes echtzeitsystem
DE60310893T2 (de) Taktübertragung in einem Mehrfach-Kanalsystem
DE60307513T2 (de) Synchronisation von semi-synchronen verarbeitungselementen

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16779011

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16779011

Country of ref document: EP

Kind code of ref document: A1