-
Bereich
-
Die vorliegende Erfindung betrifft ein Simulationssystem, eine programmierbare Steuerung, eine Simulationsvorrichtung und ein Engineering-Werkzeug.
-
Hintergrund
-
Beim Debuggen unter Verwendung aktueller Anlagen in einem Entwicklungsprozess für Herstellungsanlagen ist eine sorgfältige Einstellung nötig, um eine Beschädigung von Einrichtungen und Werkstücken aufgrund von Überlappungen von Maschinen zu verhindern, weshalb viel Entwicklungszeit benötigt wird. Deshalb gibt es einen großen Bedarf an einem dreidimensionalen computergestützten Entwicklungssimulator (3D-CAD-Simulator) welcher die Trajektorien und Überlappungen von Maschinen unter Verwendung eines PC prüft. Bei dem 3D-CAD-Simulator kann ein Debuggen durchgeführt werden, ohne Beschädigungen von Geräten und Werkstücken aufgrund der Überlappung von Maschinen zu verursachen. Deshalb ist bei dem 3D-CAD-Simulator eine sorgfältige Einstellung nicht notwendig, und es ist möglich, eine Debugg-Zeit stark zu reduzieren.
-
Bei der Simulation einer tatsächlichen programmierbaren Steuerung unter Verwendung eines 3D-CAD-Simulators ist jedoch die Anzahl von Zyklen der tatsächlichen programmierbaren Steuerung pro Zyklus in dem 3D-CAD-Simulator nicht definiert. Deshalb ist es möglich, dass die durch die tatsächliche programmierbare Steuerung berechneten Daten in die Simulation des 3D-CAD-Simulators nicht eingehen. Ein solcher Dateneingangsfehler verursacht eine Abnahme der Simulationsgenauigkeit.
-
Deshalb wurde als eine Technik zum Anpassen des Zyklus der Simulationsvorrichtung an den Zyklus der tatsächlichen programmierbaren Steuerung beispielsweise ein Verfahren vorgeschlagen, in einen Wartezustand einzutreten, nachdem eine programmierbare Steuerung einen Zyklus des Abtastens durchführt, und einen nächsten Zyklus in Antwort auf einen Befehl von einer Simulationsvorrichtung durchzuführen (siehe beispielsweise Patentliteratur 1)
-
Zitierungsliste
-
Patentliteratur
-
- Patentliteratur 1: offengelegte japanische Patentanmeldung Nr. 2002-297226
-
Überblick
-
Technisches Problem
-
Gemäß dem Stand der Technik muss ein Entwickler jedoch, um die Simulationsgenauigkeit zu erhöhen, Maßnahmen treffen, um ein Benutzerprogramm einer programmierbaren Steuerung oder dergleichen zu ändern. Das heißt, dass ein Entwickler im Stand der Technik einen Zyklus der Zeit des 3D-CAD-Simulators mit einem Zyklus der Zeit der tatsächlichen programmierbaren Steuerung synchronisiert, indem er das Benutzerprogramm der programmierbaren Steuerung oder dergleichen korrigiert. Dieser Vorgang zwingt den Entwickler jedoch, eine unnötige Last zu tragen und verursacht ein Problem dahingehend, dass die Belastung des Entwicklers groß ist.
-
Die vorliegende Erfindung wurde unter Berücksichtigung der oben genannten Umstände getätigt, und es ist deren Ziel, ein Simulationssystem, eine programmierbare Steuerung, eine Simulationsvorrichtung und ein Engineering-Werkzeug bereitzustellen, welche eine Entwicklungszeit reduzieren können, indem eine Simulation mit großer Genauigkeit durchgeführt wird, ohne einem Entwickler eine Belastung aufzuerlegen.
-
Lösung des Problems
-
Um das oben beschriebene Problem zu lösen und das Ziel zu erreichen, umfasst ein Simulationssystem gemäß der vorliegenden Erfindung: eine programmierbare Steuerung, welche unter Verwendung eines Benutzerprogramms eine zu steuernde Vorrichtung steuert; und eine Simulationsvorrichtung, welche eine Simulation durch Simulieren eines Steuerungsbetriebs der zu steuernden Vorrichtung unter Verwendung des Benutzerprogramms durchführt. Die programmierbare Steuerung umfasst: eine Berechnungseinheit, welche das Benutzerprogramm ausführt und einen Berechnungsprozess durchführt; und eine Speichereinheit, welche ein Ergebnis des Berechnungsprozesses speichert. Die Berechnungseinheit geht in einen zeitweisen Haltezustand über, in welchem ein neuer Zyklus des Berechnungsprozesses nicht durchgeführt wird, und speichert das Ergebnis eines Zyklus des Berechnungsprozesses in der Speichereinheit, wenn der Zyklus des Berechnungsprozesses in dem Benutzerprogramm endet, und sie gibt den zeitweisen Haltezustand frei und überträgt das in der Speichereinheit gespeicherte Ergebnis eines Zyklus des Berechnungsprozesses an die Simulationsvorrichtung, wenn die Berechnungseinheit von der Simulationsvorrichtung ein Haltefreigabeinstruktionskommando empfängt, welches instruiert, den zeitweisen Haltezustand freizugeben. Die Simulationsvorrichtung umfasst: eine Simulationseinheit, welche die Simulation durchführt, den Betrieb des Steuerns der zu steuernden Vorrichtung durch Steuern eines zweidimensionalen Gastaltmodells oder eines dreidimensionalen Gestaltmodells der zu steuernden Vorrichtung zu simulieren; und eine Haltefreigabeinstruktionskommando-Erzeugungseinheit, welche das Haltefreigabeinstruktionskommando erzeugt. Die Simulationseinheit führt einen Zyklus der Simulation basierend auf dem Ergebnis des von der programmierbaren Steuerung übertragenen Ergebnisses des Zyklus des Berechnungsprozesses des Benutzerprogramms durch und geht in einen zeitweisen Haltezustand über, in welchem ein neuer Zyklus der Simulation nicht durchgeführt wird, und überträgt das durch die Haltefreigabeinstruktionskommando-Erzeugungseinheit erzeugte Haltefreigabeinstruktionskommando an die programmierbare Steuerung, wenn der Zyklus der Simulation endet.
-
Vorteilhafte Wirkungen der Erfindung
-
Gemäß der vorliegenden Erfindung ist es möglich, eine Entwicklungszeit zu reduzieren, indem eine Simulation mit hoher Genauigkeit ausgeführt wird, ohne einem Entwickler eine Belastung aufzuerlegen.
-
Kurzbeschreibung der Zeichnungen
-
1 ist ein Diagramm, welches ein Simulationssystem gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt.
-
2 ist ein Flussdiagramm, welches eine Prozedur in einer PLC unter Simulationsprozeduren in dem Simulationssystem gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt.
-
3 ist ein Flussdiagramm, welches eine Prozedur in einer Simulationsvorrichtung unter den Simulationsprozeduren in dem Simulationssystem gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt.
-
4 ist ein Diagramm, welches einen Prozessablauf einer Simulation in dem Simulationssystem gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt.
-
5 ist ein Diagramm, welches eine Konfiguration eines Engineering-Werkzeugs gemäß einer zweiten Ausführungsform der vorliegenden Erfindung zeigt.
-
6 ist ein Blockdiagramm, welches ein Beispiel einer Konfiguration eines Computers schematisch zeigt, welcher Funktionen der Simulationsvorrichtung und der PLC gemäß den Ausführungsformen der vorliegenden Erfindung realisiert.
-
Beschreibung von Ausführungsformen
-
Nachfolgend werden ein Simulationssystem, eine programmierbare Steuerung, eine Simulationsvorrichtung und ein Engineering-Werkzeug gemäß Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen im Detail erläutert. Die vorliegende Erfindung ist nicht auf die nachfolgende Beschreibung beschränkt und kann geeignet modifiziert werden, ohne von dem Gedanken der vorliegenden Erfindung abzuweichen.
-
Erste Ausführungsform
-
1 ist ein Diagramm, welches ein Simulationssystem gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt. Das Simulationssystem gemäß dieser Ausführungsform umfasst eine Simulationsvorrichtung 100 und eine programmierbare Steuerung (PLC: speicherprogrammierbare Steuerung („programmable logic controller”)) 200. Die Simulationsvorrichtung 100 simuliert einen Betrieb einer Vorrichtung, welche basierend auf einem Berechnungsergebnis zu steuern ist, welches von der PLC 200 gewonnen wird, und stellt diesen dar. Die PLC 200 berechnet einen Befehl in Übereinstimmung mit einem Benutzerprogramm und gibt das Berechnungsergebnis an die zu steuernde Vorrichtung (nicht dargestellt) aus, welche an die PLC 200 angeschlossen ist, um den Betrieb der zu steuernden Vorrichtung zu steuern.
-
Die Simulationsvorrichtung 100 umfasst eine Eingabeeinheit 111, eine Anzeigeeinheit 113, nichtflüchtigen Speicher 115, flüchtigen Speicher 117, eine Simulationseinheit 119, eine Haltefreigabeinstruktionskommandoerzeugungseinheit 121, eine Datenübertragungsbefehlsanalysiereinheit 123, eine Kommunikationseinheit 125 und eine Steuereinheit 127. Diese konstituierenden Einheiten sind miteinander über einen internen Bus 129 verbunden.
-
Die Eingabeeinheit 111 ist ein Eingabemittel, welches dazu konfiguriert ist, eine Vielzahl von Informationen von einem Entwickler oder einer externen Vorrichtung einzugeben.
-
Die Anzeigeeinheit 113 ist ein Anzeigemittel, welches dazu konfiguriert ist, ein zweidimensionales Gestaltmodel oder ein dreidimensionales Gestaltmodel einer zu steuernden Vorrichtung, ein Programm und eine Vielzahl anderer Informationen in einer Simulation anzuzeigen, und ein Beispiel hierfür ist eine LCD (Flüssigkristall-Anzeigevorrichtung).
-
Der nichtflüchtige Speicher 115 ist eine Speichereinheit, welche einen Datenspeicherbereich 131 umfasst, in welchem ein Berechnungsergebnis 133 PLC der 200 gespeichert ist, welches aus einem von der PLC 200 übertragenen Datenübertragungsbefehl als ein Analyseergebnis des. Datenübertragungsbefehls gespeichert ist. Prozessdaten in der Simulationsvorrichtung 100 werden ebenfalls in dem Datenspeicherbereich 131 gespeichert. Der nichtflüchtige Speicher 115 umfasst einen Programmspeicherbereich 135, in welchem verschiedene Programme 137 gespeichert sind, welche dazu verwendet werden, die Simulationsvorrichtung 100 zu betreiben, wie etwa Programme, welche durch die Simulationseinheit 119 verwendet werden, um eine Simulation durchzuführen.
-
Der flüchtige Speicher 117 ist eine Speichereinheit, welche einen Arbeitsbereich 139 umfasst, welcher für verschiedene Prozesse in der Simulationsvorrichtung 100 verwendet wird. In dem Arbeitsbereich 139 werden Flags, Befehle und Daten verwaltet und Information, wie etwa ein Zeitsynchronisierungsfunktionsflag 141 und ein Haltefreigabeinstruktionsbefehl 143, gespeichert.
-
Die Simulationseinheit 119 führt eine Simulation durch. Die Simulationseinheit 119 umfasst eine Simulationsberechnungseinheit 145 und eine Zeicheneinheit 147. Die Simulationsberechnungseinheit 145 führt eine Simulationsberechnung zu einem Betrieb einer Vorrichtung durch, welche basierend auf dem Berechnungsergebnis der PLC 200 zu steuern ist. Die Zeicheneinheit 147 führt eine Berechnung zum Zeichnen eines zweidimensionalen Gestaltmodels oder eines dreidimensionalen Gestaltmodels der Vorrichtung durch, welche basierend auf dem Berechnungsergebnis der Simulationsberechnungseinheit 145 zu steuern ist, und zeichnet das zweidimensionale Gestaltmodell oder das dreidimensionale Gestaltmodell auf der Anzeigeeinheit 113 basierend auf dem Berechnungsergebnis.
-
Die Haltefreigabeinstruktionsbefehlserzeugungseinheit 121 erzeugt einen Haltefreigabeinstruktionsbefehl, welcher dazu instruiert, einen zeitweisen Haltezustand der PLC 200 freizugeben, wenn ein Flag für einen zeitweisen Haltemodus als das Zeitsynchronisierungsfunktionsflag 141 dem Arbeitsbereich 139 des flüchtigen Speichers 117 gesetzt ist.
-
Die Datenübertragungsbefehlsanalyseeinheit 123 analysiert den von der PLC 200 empfangenen Datenübertragungsbefehl und wandelt den Datenübertragungsbefehl in ein Format um, welches in der Simulationsvorrichtung 100 verwendbar ist.
-
Die Kommunikationseinheit 125 kommuniziert mit einer Kommunikationseinheit 225 der PLC 200, um Daten zwischen der Simulationsvorrichtung 100 und der PLC 200 zu übertragen und zu empfangen. Die Kommunikationseinheit 125 und die Kommunikationseinheit 225 der PLC 200 sind miteinander über eine Kommunikationsleitung 149 verbunden. Kommunikationsmittel mit der Kommunikationseinheit 225 sind nicht irgendwie beschränkt.
-
Die Steuereinheit 124 steuert die Prozesse in der Simulationsvorrichtung 100 als Ganzes.
-
Die Konfiguration der PLC 200 wird nachfolgend beschrieben. Die PLC 200 umfasst eine Eingabeeinheit 211, eine Anzeigeeinheit 213, nichtflüchtigen Speicher 215, flüchtigen Speicher 217, eine Befehlsausführungs-Engine-Einheit 219, eine Datenübertragungsbefehlserzeugungseinheit 221, eine Empfangsdatenbefehlsanalyseeinheit 223, eine Kommunikationseinheit 225 und eine Steuereinheit 227. Diese konstituierenden Einheiten sind miteinander über einen internen Bus 229 verbunden.
-
Die Eingabeeinheit 211 ist ein Eingabemittel, welches dazu konfiguriert ist, eine Vielzahl von Informationen von einem Benutzer oder einer externen Vorrichtung einzugeben.
-
Die Anzeigeeinheit 213 ist ein Anzeigemittel, welches dazu konfiguriert ist, ein durch einen Entwickler erzeugtes Benutzerprogramm und eine Vielzahl von Informationen anzuzeigen, welche an die PLC 200 eingegeben und von dieser ausgegeben werden, und ein Beispiel hierfür ist eine LCD (Flüssigkristall-Anzeigevorrichtung).
-
Der nichtflüchtige Speicher 215 ist eine Speichereinheit, welche einen Programmspeicherbereich 231 umfasst, in welchem ein Programm 233 gespeichert ist, wie etwa verschiedene Programme zum Betreiben der PLC 200 oder das Benutzerprogramm. Der nichtflüchtige Speicher 215 umfasst ferner einen Datenspeicherbereich 235, in welchem ein Berechnungsergebnis 237 des Benutzerprogramms gespeichert ist. Hierbei umfassen spezifische Beispiele des Berechnungsergebnisses des Benutzerprogramms eine Position eines Armendes und eine Bewegungsgeschwindigkeit des Armendes, wenn die zu steuernde Vorrichtung beispielsweise ein Roboter ist. Wenn die zu steuernde Vorrichtung eine Drehpresse ist, umfassen spezielle Beispiele hiervon eine Anzahl von Umdrehungen und die Drehgeschwindigkeit. Wenn die zu steuernde Vorrichtung beispielsweise eine Fabrik ist, umfassen die speziellen Beispiele davon eine Prozessqualität.
-
Der flüchtige Speicher 217 ist eine Speichereinheit, welche einen Arbeitsbereich 239 umfasst, welcher für verschiedene Prozesse in der PLC 200 verwendet wird. In dem Arbeitsbereich 239 werden Flags, Befehle und Daten verwaltet und Informationen, wie etwa ein Zeitsynchronisierungsfunktionsflag 241 und ein Datenübertragungsbefehl 243, gespeichert.
-
Die Befehlsausführungs-Engine-Einheit 219 ist eine Berechnungseinheit, welche eine Berechnung durchführt, und zwar durch Ausführen von Befehlen des Benutzerprogramms basierend auf dem Benutzerprogramm. Das Berechnungsergebnis sind Steuerdaten zum Steuern der zu steuernden Vorrichtung.
-
Die Datenübertragungsbefehlserzeugungseinheit 221 erzeugt einen Datenübertragungsbefehl basierend auf den Daten in dem Arbeitsbereich 239.
-
Die Empfangsdatenbefehlsanalyseeinheit 223 analysiert Empfangsdaten, welche von der Simulationsvorrichtung 100 empfangen werden, und wandelt die Empfangsdaten in ein Format um, welches in der PLC 200 verwendbar ist.
-
Die Kommunikationseinheit 225 kommuniziert mit der Kommunikationseinheit 125 der Simulationseinheit 100, um Daten zwischen der PLC 200 und der Simulationsvorrichtung 100 zu übertragen und zu empfangen. Kommunikationsmittel mit der Kommunikationseinheit 125 sind nicht irgendwie beschränkt.
-
Die Steuereinheit 227 steuert die Prozesse in der PLC 200 als Ganzes.
-
Eine Simulationsprozedur in dem Simulationssystem wird nachfolgend beschrieben. 2 ist ein Flussdiagramm, welches eine Prozedur in der PLC 200 unter den Simulationsprozeduren in dem Simulationssystem gemäß der ersten Ausführungsform zeigt. 3 ist ein Flussdiagramm, welches eine Prozedur in der Simulationsvorrichtung 100 unter den Simulationsprozeduren in dem Simulationssystem gemäß der ersten Ausführungsform zeigt. 4 ist ein Diagramm, welches einen Prozessablauf in der Simulation des Simulationssystems gemäß der ersten Ausführungsform zeigt. In 4 geben schraffierte Bereiche Zeiten an, in welchen Befehle des Benutzerprogramms in der Simulationsvorrichtung 100 ausgeführt werden, um einen Berechnungsprozess durchzuführen, oder Zeiten, in welchen die Simulation in der PLC 200 durchgeführt wird.
-
Wenn die Simulationsvorrichtung 100 und die PLC 200 eingeschaltet werden, führt die Befehlsausführungs-Engine-Einheit 219 in der PLC 200 zunächst einen Zyklus von Befehlen des zu simulierenden Benutzerprogramms, basierend auf vorbestimmten Anfangsdaten aus, und sie führt eine Berechnung durch. Wenn die Berechnung eines Zyklus des Benutzerprogramms endet, führt die Befehlsausführungs-Engine-Einheit 219 einen Ende-Prozess durch (Schritt S110). Der Ende-Prozess ist ein Prozess, welcher von der Ausführung von Befehlen verschieden ist, wie etwa die Kommunikation mit einer externen Vorrichtung, wie etwa der Simulationsvorrichtung 100. In dem Ende-Prozess speichert die Befehlsausführungs-Engine-Einheit 219 das Berechnungsergebnis 237 des Benutzerprogramms in dem Datenspeicherbereich 235 des nichtflüchtigen Speichers 215.
-
Wenn der Ende-Prozess endet erzeugt die Datenübertragungsbefehlserzeugungseinheit 221 einen Datenübertragungsbefehl, welcher das Berechnungsergebnis 237 des Benutzerprogramms umfasst, welches in dem Datenspeicherbereich 235 gespeichert ist, und sie speichert den erzeugten Datenübertragungsbefehl als den Datenübertragungsbefehl 243 in dem Arbeitsbereich 239 des flüchtigen Speichers 217 (Schritt S120).
-
Wenn der Ende-Prozess endet, setzt die Befehlsausführungs-Engine-Einheit 219 das Flag für den zeitweisen Haltemodus als das Zeitsynchronisierungsfunktionsflag 241 in dem Arbeitsbereich 239, das heißt, sie schaltet das Flag für den zeitweisen Haltemodus in einen AN-Zustand (Schritt S130). Die Befehlsausführungs-Engine-Einheit 219 geht somit in den zeitweisen Haltemodus über und führt eine Berechnung und eine Ausführung des Benutzerprogramms nicht durch, sondern tritt vielmehr in einen zeitweisen Haltezustand ein.
-
Das Flag für den zweitweisen Haltemodus in dem Zeitsynchronisierungsfunktionsflag 241 der PLC 200 ist ein Flag, welches angibt, dass die Befehlsausführungs-Engine-Einheit 219 in den zeitweisen Haltezustand übergeht, in welchem Befehle des Benutzerprogramms nicht ausgeführt werden. Wenn das Flag für den zeitweisen Haltemodus gesetzt ist, geht die Befehlsausführungs-Engine-Einheit 219 in den zeitweisen Haltezustand über. Wenn das Flag für den zeitweisen Haltemodus freigegeben wird, das heißt, wenn das Flag für den zeitweisen Haltemodus in einen AUS-Zustand geschaltet wird, geht die Befehlsausführungs-Engine-Einheit 219 von dem zeitweisen Haltezustand in einen Normalmodus über, in welchem Befehle des Benutzerprogramms ausgeführt werden.
-
Die Funktion, die Befehlsausführungs-Engine-Einheit 219 zu veranlassen, durch Setzen des Flags für den zeitweisen Haltemodus in den zweitweisen Haltezustand überzugehen, ist beispielsweise vorab in Firmware installiert. Deshalb sind Prozesse, wie etwa das Erzeugen eines Benutzerprogramms durch einen Entwickler zum Verwenden der Funktion zum Veranlassen der Befehlsausführungs-Engine-Einheit 219, in den zeitweisen Haltezustand überzugehen, und das Ändern des Benutzerprogramms nicht notwendig, und dem Entwickler wird eine Belastung nicht auferlegt.
-
Wenn andererseits die Simulationsvorrichtung 100 eingeschaltet wird, führt die Simulationseinheit 119 einen Zyklus der Simulation des Betriebs der steuernden Vorrichtung basierend auf vorbestimmten Anfangsdaten durch (Schritt S210). Die Simulationsberechnungseinheit 145 führt eine Simulationsberechnung zu dem Betrieb der zu steuernden Vorrichtung basierend auf den vorbestimmten Anfangsdaten durch. Dann führt die Zeichenvorrichtung 147 eine Berechnung zum Zeichnen eines dreidimensionalen Gestaltmodels der zu steuernden Vorrichtung basierend auf dem Berechnungsergebnis der Simulationsberechnungseinheit 145 durch und zeichnet das dreidimensionale Gestaltmodel auf der Anzeigeeinheit 113 basierend auf dem Berechnungsergebnis. Vorliegend wird das dreidimensionale Gestaltmodell gezeichnet, ein zweidimensionales Gestaltmodell kann jedoch auf gleiche Weise gezeichnet werden. Das gleiche gilt für die nachfolgende Beschreibung.
-
Wenn eine Simulation für einen Zyklus endet, setzt die Simulationsberechnungseinheit 145 das Flag für den zeitweisen Haltemodus als das Zeitsynchronisierungsfunktionsflag 141 in dem Arbeitsbereich 139 des flüchtigen Speichers 117 (Schritt S220). Die Simulationseinheit 119 geht somit in den zeitweisen Haltemodus über, ohne eine Simulation durchzuführen, und tritt in den zeitweisen Haltezustand ein.
-
Das Flag für den zeitweisen Haltemodus in dem Zeitsynchronisierungsfunktionsflag 141 der Simulationsvorrichtung 100 ist ein Flag, welches angibt, dass die Simulationseinheit 119 in den zeitweisen Haltezustand übergeht, in welchem die Simulation nicht durchgeführt wird. Wenn das Flag für den zeitweisen Haltemodus gesetzt ist, geht die Simulationseinheit 119 in den zeitweisen Haltezustand über. Wenn das Flag für den zeitweisen Haltemodus freigegeben wird, das heißt, wenn das Flag für den zeitweisen Haltemodus in den AUS-Zustand geschaltet wird, geht die Simulationseinheit 119 von dem zeitweisen Haltezustand in den Normalmodus über, in welchem die Simulation durchgeführt wird.
-
Wenn das Flag für den zeitweisen Haltemodus gesetzt wird, erzeugt die Haltefreigabeinstruktionsbefehlserzeugungseinheit 121 einen Haltefreigabeinstruktionsbefehl und speichert den erzeugten Haltefreigabeinstruktionsbefehl als den Haltefreigabeinstruktionsbefehl 143 in dem Arbeitsbereich 139 des flüchtigen Speichers 117.
-
Wenn der Haltefreigabeinstruktionsbefehl 143 in dem Arbeitsbereich 139 des flüchtigen Speichers 117 gespeichert wird, überträgt die Simulationsberechnungseinheit 145 den Haltefreigabeinstruktionsbefehl 143 an die Kommunikationseinheit 225 der PLC 200 über die Kommunikationseinheit 125 und die Kommunikationsleitung 149 (Schritt S230). Zu diesem Zeitpunkt endet Zyklus 1, welches der erste Zyklus des Simulationsprozesses in dem Simulationssystem ist.
-
Die Kommunikationseinheit 225 der PLC 200 empfängt den Haltefreigabeinstruktionsbefehl 143, welcher von der Simulationsvorrichtung 100 über die Kommunikationsleitung 149 übertragen wird (Schritt S140). Die Kommunikationseinheit 225 der PLC 200 überträgt den empfangenen Haltefreigabeinstruktionsbefehl 143 an die Empfangsdatenbefehlsanalyseeinheit 223. Die Empfangsdatenbefehlsanalyseeinheit 223 analysiert den Haltefreigabeinstruktionsbefehl 143 und wandelt den Haltefreigabeinstruktionsbefehl 143 in ein Format um, welches in der PLC 200 verwendbar ist. Die Empfangsdatenbefehlsanalyseeinheit 223 überträgt den analysierten Haltefreigabeinstruktionsbefehl 143 an die Befehlsausführungs-Engine-Einheit 219.
-
Die Befehlsausführungs-Engine-Einheit 219 überträgt den Datenübertragungsbefehl 243, welcher das Berechnungsergebnis 237 des Benutzerprogramms enthält, welches in dem Arbeitsbereich 239 des flüchtigen Speichers 217 gespeichert ist, an die Kommunikationseinheit 125 der Simulationsvorrichtung 100 über die Kommunikationseinheit 225 und die Kommunikationsleitung 149 (Schritt S150).
-
Nach Empfang des analysierten Haltefreigabeinstruktionsbefehls 143 gibt die Befehlsausführungs-Engine-Einheit 219 das Flag für den zeitweisen Haltemodus des Zeitsynchronisierungsfunktionsflags 241 in dem Arbeitsbereich 239 frei (Schritt S160). Somit gibt die Befehlsausführungs-Engine-Einheit 219 das Flag für den zeitweisen Haltemodus frei. Zu diesem Zeitpunkt endet Zyklus 1, welches der erste Zyklus in der PLC 200 ist. Dann führt die Befehlsausführungs-Engine-Einheit 219 Befehle eines zweiten Zyklus des Benutzerprogramms aus, welches ein nächster Zyklus in dem Benutzerprogramm ist, und sie führt eine Berechnung durch.
-
Die Funktion, die Befehlsausführungs-Engine-Einheit 219 zu veranlassen, den zeitweisen Haltezustand durch Freigeben des Flags für den zeitweisen Haltezustand freizugeben, ist beispielsweise in Firmware vorab installiert. Folglich sind Prozesse, wie etwa das Erzeugen eines Benutzerprogramms durch einen Entwickler zum Verwenden der Funktion des Veranlassens der Befehlsausführungs-Engine-Einheit 219 zum Freigeben des zeitweisen Haltezustands und zum Ändern des Benutzerprogramms nicht notwendig, und eine Belastung wird dem Entwickler nicht auferlegt.
-
Wenn der nächste Zyklus der Berechnung in dem Benutzerprogramm endet, führt die Befehlsausführungs-Engine-Einheit 219 den Ende-Prozess durch (Schritt S170). In dem Ende-Prozess speichert die Befehlsausführungs-Engine-Einheit 219 ein neues Berechnungsergebnis 237 des Benutzerprogramms in dem Datenspeicherbereich 235 des nichtflüchtigen Speichers 215.
-
Dann kehrt die PLC 200 zu dem Schritt S120 zurück und wiederholt Prozesse in Bezug auf das Benutzerprogramm, welches ein gewünschtes Simulationsziel ist. Die Datenübertragungsbefehlserzeugungseinheit 221 erzeugt den Datenübertragungsbefehl, welcher das neueste Berechnungsergebnis 237 des Benutzerprogramms ist, welches in dem Datenspeicherbereich 235 gespeichert ist, und speichert den erzeugten Datenübertragungsbefehl als den Datenübertragungsbefehl 243 in dem Arbeitsbereich 239 des flüchtigen Speichers 217.
-
Auf der anderen Seite empfängt die Kommunikationseinheit 125 der Simulationsvorrichtung 100 den Datenübertragungsbefehl 243, welcher von der PLC 200 über die Kommunikationsleitung 149 übertragen wurde (Schritt S240). Bei Empfang des Datenübertragungsbefehls 243 überträgt die Kommunikationseinheit 125 den empfangenen Datenübertragungsbefehl 243 an die Datenübertragungsbefehlsanalyseeinheit 123. Die Datenübertragungsbefehlsanalyseeinheit 123 analysiert den Datenübertragungsbefehl 243 und wandelt den Datenübertragungsbefehl 243 in ein Format um, welches in der Simulationsvorrichtung 100 verwendbar ist. Die Datenübertragungsbefehlsanalyseeinheit 123 speichert das Berechnungsergebnis der PLC 200, welches aus dem Datenübertragungsbefehl 243 gewonnen wurde, als das Berechnungsergebnis 133 der PLC 200 in dem Datenspeicherbereich 131 des nichtflüchtigen Speichers 115.
-
Wenn das Berechnungsergebnis 133 der PLC 200 in dem Datenspeicherbereich 131 gespeichert ist, gibt die Simulationseinheit 119 das Flag für den zeitweisen Haltemodus in dem Arbeitsbereich 139 des flüchtigen Speichers 117 frei (Schritt S250). Somit gibt die Simulationseinheit 119 den zeitweisen Haltemodus frei und führt einen nächsten Zyklus der Simulation basierend auf dem Berechnungsergebnis 133 der PLC 200 durch, welches in dem Datenspeicherbereich 131 gespeichert ist (Schritt S260). Das heißt, die Simulationsberechnungseinheit 145 berechnet die Simulation der Operation der zu steuernden Vorrichtung basierend auf dem Berechnungsergebnis 133 der PLC 200. Dann führt die Zeicheneinheit 147 eine Berechnung zum Zeichnen eines dreidimensionalen Gestaltmodels der zu steuernden Vorrichtung basierend auf dem Berechnungsergebnis der Simulationsberechnungseinheit 145 durch und zeichnet das dreidimensionale Gestaltmodel auf der Anzeigeeinheit 113 basierend auf dem Berechnungsergebnis.
-
Die Simulationsvorrichtung 100 kehrt von Schritt S260 zu Schritt S220 zurück und wiederholt die Prozesse ausgehend von dem Schritt S220 jedes Mal, wenn der Datenübertragungsbefehl 243 von der PLC 200 übertragen wird.
-
In dem vorangehend beschriebenen Simulationssystem gemäß der vorliegenden Ausführungsform hält die PLC 200 einen Befehlsausführungsprozess, das heißt einen Berechnungsprozess in der Befehlsausführungs-Engine-Einheit 219, zeitweise an und speichert das Ergebnis des Berechnungsprozesses eines Zyklus zum Zeitpunkt des Endes des einen Zyklus, das heißt, wenn der Ende-Prozess endet, jedes Mal wenn ein Zyklus des Benutzerprogramms ausgeführt wird. In der Simulationsvorrichtung 100 hält die Simulationseinheit 119 auf der anderen Seite den Simulationsprozess zeitweise an und überträgt den Haltefreigabeinstruktionsbefehl 143 an die PLC 200, wenn ein Zyklus der Simulation endet.
-
Bei Empfang des Haltefreigabeinstruktionsbefehls gibt die Befehlsausführungs-Engine-Einheit 219 der PLC 200 den zeitweisen Haltezustand frei, überträgt das Ergebnis von einem Zyklus des Berechnungsprozesses unmittelbar vor dem zeitweisen Haltezustand an die Simulationsvorrichtung 100, führt den nächsten Zyklus von Befehlen des Benutzerprogramms durch und hält dann zeitweise an. Wenn das Ergebnis des einen Zyklus des Berechnungsprozesses von der Simulationsvorrichtung 100 empfangen wird, gibt die Simulationseinheit 119 den zeitweisen Haltezustand frei und beginnt einen nächsten Zyklus der Simulation basierend auf dem Ergebnis des Zyklus des Berechnungsprozesses. Wenn der Simulationsprozess endet, hält die Simulationseinheit 119 den Simulationsprozess zeitweise an und überträgt den Haltefreigabeinstruktionsbefehl an die PLC 200.
-
Durch wiederholtes Ausführen dieses Prozessabschnitts kann der Befehlsausführungsstartzeitpunkt des Benutzerprogramms, welches ein Zyklusstartzeitpunkt in der PLC 200 ist, mit dem Simulationsstartzeitpunkt weitgehend in Übereinstimmung gebracht werden, welches ein Zyklusstartzeitpunkt in der Simulationsvorrichtung 100 ist, und es ist somit möglich, die Prozessierungszyklusstartzeitpunkte der PLC 200 und der Simulationsvorrichtung 100 miteinander zu synchronisieren.
-
Ein Zyklus der PLC 200 umfasst: Die Zeit, während der ein Zyklus des Benutzerprogramms ausgeführt wird; und die Zeit zwischen dem Start des zeitweisen Haltezustandes, wenn die Ausführung des Benutzerprogramms endet bis der zeitweise Haltezustand freigegeben wird, wenn der Haltefreigabeinstruktionsbefehl empfangen wird. Andererseits umfasst ein Zyklus der Simulationsvorrichtung 100 die Zeit bis die Simulation endet und der Haltefreigabeinstruktionsbefehl an die PLC 200 übertragen wird, nachdem die Simulation startet.
-
Der Zeitpunkt, zu dem die Simulationsvorrichtung 100 den Haltefreigabeinstruktionsbefehl an die PLC 200 sendet und der einen Zyklus beendet, und der Zeitpunkt, zu dem die PLC 200 den zeitweisen Haltezustand freigibt und der einen Zyklus in Antwort auf den Empfang des Haltefreigabeinstruktionsbefehls beendet, sind einander im Wesentlichen gleich, und die Zeitsynchronisierung hierfür wird erreicht. Der Zeitpunkt, zu dem die PLC 200 den Datenübertragungsbefehl an die Simulationsvorrichtung 100 überträgt und den nächsten Zyklus startet, und der Zeitpunkt, zu dem die Simulationsvorrichtung 100 den Datenübertragungsbefehl empfängt und den nächsten Zyklus startet, sind einander im Wesentlichen gleich und die Zeitsynchronisierung hierfür wird erreicht.
-
Deshalb ist es bei dem Simulationssystem gemäß der vorliegenden Ausführungsform möglich, den Zyklus der PLC 200 und den Zyklus der Simulationsvorrichtung 100 miteinander zu synchronisieren. Deshalb wird das Berechnungsergebnis der PLC 200 auf die Simulation in der Simulationsvorrichtung 100 Zyklus für Zyklus sicher angewendet. Beispielsweise werden Daten, welche aus dem ersten Zyklus der Berechnung in der PLC 200 gewonnen werden, in dem zweiten Zyklus in der Simulationsvorrichtung 100 sicher verwendet. Beispielsweise werden Daten, welche aus dem dritten Zyklus der Berechnung in der PLC 200 gewonnen werden, in dem vierten Zyklus in der Simulationsvorrichtung 100 sicher verwendet.
-
Wenn die Simulationsvorrichtung 100 einen neuen Zyklus durchführt, wird die Simulation deshalb unter Verwendung des Berechnungsergebnisses der PLC 200 in dem unmittelbar vorher synchronisierten Zyklus verwendet. Es ist deshalb möglich, zu verhindern, dass aufgrund einer Nicht-Synchronisierung zwischen dem Zyklus der PLC 200 und dem Zyklus der Simulationsvorrichtung 100 ein Fehler in dem Simulationsergebnis in der Simulationsvorrichtung 100 auftritt, und es ist möglich, die Simulationsgenauigkeit zu verbessern.
-
Durch das Installieren der Funktion zum Synchronisieren des Zyklus der PLC 200 mit dem Zyklus der Simulationsvorrichtung 100 während einer Zyklusdauer, das heißt der Funktion des Setzens und der Freigabe des zeitweisen Haltezustands der Befehlsausführungs-Engine-Einheit 219, in der PLC 200 vorab, ist es hiermit möglich, eine Belastung für einen Entwickler zu reduzieren. Das heißt, dass bei dem Simulationssystem gemäß dieser Ausführungsform ein Entwickler eine Zyklusdauer der PLC 200 nicht mit einer Zyklusdauer der Simulationsvorrichtung 100 durch korrigieren des Benutzerprogramms der PLC 200 oder dergleichen synchronisieren muss. Deshalb muss bei dem Simulationssystem gemäß dieser Ausführungsform ein Entwickler Operationen zum Korrigieren oder zum Wiederherstellen des Benutzerprogramms der PLC 200 in den ursprünglichen Zustand nicht durchführen, und es ist möglich, Mannstunden zum Debuggen des Benutzerprogramms zu reduzieren und Mannstunden zum Entwickeln der PLC zu reduzieren.
-
Während der erste Zyklus der PLC 200 und der erste Zyklus der Simulationsvorrichtung 100, wie vorangehend beschrieben, gleichzeitig gestartet werden, müssen der erste Zyklus der PLC 200 und der erste Zyklus der Simulationsvorrichtung 100 nicht gleichzeitig gestartet werden. Wenn der erste Zyklus der PLC 200 und der erste Zyklus der Simulationsvorrichtung 100 zu verschiedenen Zeitpunkten gestartet werden und der erste Zyklus der PLC 200 früher endet als der erste Zyklus der Simulationsvorrichtung 100, geht die PLC 200 in den zeitweisen Haltezustand über, nachdem der erste Zyklus endet, und die vorangehend beschriebenen Prozesse werden durchgeführt. Entsprechend sind ab dem zweiten Zyklus die Zyklen der PLC 200 und die Zyklen der Simulationsvorrichtung 100 miteinander synchronisiert.
-
Deshalb ist es gemäß der ersten Ausführungsform möglich, den Debugg-Prozess des Benutzerprogramms und die Entwicklung der PLC 200 in einer kurzen Zeit durchzuführen, und zwar durch Durchführen einer Simulation mit hoher Genauigkeit ohne einem Entwickler eine Belastung aufzuerlegen.
-
Zweite Ausführungsform
-
In einer zweiten Ausführungsform wird eine Funktion des Umschaltens eines Betriebsmodus zwischen einem Simulationsbetriebsmodus, in welchem die Befehlsausführungs-Engine-Einheit 219 der PLC 200 in jedem Zyklus zeitweise hält, wenn ein wie in der ersten Ausführungsform beschriebenes Benutzerprogramm ausgeführt wird, und einem Normalbetriebsmodus, in welchem die Befehlsausführungs-Engine-Einheit 219 der PLC 200 nicht in jedem Zyklus des Benutzerprogramms zeitweise hält, sondern das Benutzerprogramm kontinuierlich ausführt, nachfolgend beschrieben.
-
Wie in der ersten Ausführungsform beschrieben, wird der Simulationsbetriebsmodus, in welchem die PLC 200 in jedem Zyklus beim Ausführen des Benutzerprogramms zeitweise hält, in der Simulation und nicht zum Betrieb tatsächlicher Geräte verwendet. Entsprechend ist es beim tatsächlichen Betreiben der Geräte notwendig, den Betriebsmodus der PLC 200 von dem Simulationsbetriebsmodus in den Normalbetriebsmodus umzuschalten.
-
Das Umschalten der PLC 200 zwischen dem Simulationsbetriebsmodus und dem Normalbetriebsmodus wird beispielsweise unter Verwendung des Zeitsynchronisierungsfunktionsflags in dem Arbeitsbereich 239 des flüchtigen Speichers 217 in der PLC 200 verwaltet. In diesem Fall wird ein Simulationsbetriebsmodusumschaltflag als das Zeitsynchronisierungsfunktionsflag bereitgestellt. Das Simulationsbetriebsmodusumschaltflag ist ein Flag zum Setzen des Betriebsmodus der PLC 200 in den Simulationsbetriebsmodus.
-
Wenn das Simulationsbetriebsmodusumschaltflag in dem Zeitsynchronisierungsfunktionsflag des Arbeitsbereichs 239 gesetzt ist, arbeitet die PLC 200 in dem in der ersten Ausführungsform beschriebenen Simulationsbetriebsmodus. Wenn andererseits das Simulationsbetriebsmodusumschaltflag nicht gesetzt ist, arbeitet die PLC 200 in dem Normalbetriebsmodus. Das heißt, die Befehlsausführungs-Engine-Einheit 219 erfasst den Einstellzustand des Simulationsbetriebsmodusumschaltflags in dem Zeitsynchronisierungsfunktionsflag des Arbeitsbereichs 239, bevor das Benutzerprogramm ausgeführt wird. Wenn das Simulationsbetriebsmodusumschaltflag gesetzt ist, arbeitet die Befehlsausführungs-Engine-Einheit in dem Simulationsbetriebsmodus. Wenn das Simulationsbetriebsmodusumschaltflag nicht gesetzt ist, arbeitet die Befehlsausführungs-Engine-Einheit 219 in dem Normalbetriebsmodus.
-
Das Setzen und Freigeben des Simulationsbetriebsmodusumschaltflags kann beispielsweise durch ein Engineering-Werkzeug 300 ausgeführt werden, welches das Benutzerprogramm der PLC 200 erzeugt und editiert. 5 ist ein Diagramm, welches die Konfiguration des Engineering-Werkzeugs 300 gemäß der zweiten Ausführungsform zeigt. Das Engineering-Werkzeug 300 umfasst eine Eingabeeinheit 311, eine Anzeigeeinheit 313, eine Programmeditiereinheit 315, eine Betriebsmodus-Setzeinheit 317, eine Kommunikationseinheit 319, eine Speichereinheit 321 und eine Steuereinheit 323. Diese konstituierenden Einheiten sind miteinander über einen internen Bus 325 verbunden. Das Engineering-Werkzeug kann von einem portablen Typ sein, welcher zu dem Installationsort der PLC 200 transportiert werden kann, oder es kann von einem stationären Typ sein, welcher in einem Überwachungsraum oder dergleichen installiert ist.
-
Die Eingabeeinheit 311 ist ein Eingabemittel, welches dazu konfiguriert ist, eine Vielzahl von Informationen von einem Entwickler oder einer externen Vorrichtung einzugeben.
-
Die Anzeigeeinheit 313 ist ein Eingabemittel, welches dazu konfiguriert ist, eine Vielzahl von Informationen anzuzeigen, welche an das Engineering-Werkzeug 300 eingegeben oder von diesem ausgegeben werden, wie etwa Informationen zum Erzeugen und Editieren eines Benutzerprogramms und Information über das Setzen und Freigeben des Simulationsbetriebsmodusumschaltflags, und ein Beispiel hierfür ist eine LCD (Flüssigkristall-Anzeigevorrichtung).
-
Die Programmeditiereinheit 315 erzeugt und editiert das Benutzerprogramm basierend auf der Information, welche von der Eingabeeinheit 311 eingegeben wird.
-
Die Betriebsmodussetzeinheit 317 setzt das Simulationsbetriebsmodusumschaltflag in dem Arbeitsbereich 239 der PLC 200 und gibt dieses frei.
-
Die Kommunikationseinheit 319 kommuniziert mit der Kommunikationseinheit 225 der PLC 200, um Daten zwischen dem Engineering-Werkzeug 300 und der PLC 200 zu übertragen und zu empfangen. Die Kommunikationseinheit 319 und die Kommunikationseinheit 225 der PLC 200 sind miteinander beispielsweise über eine Kommunikationsleitung 327 verbunden. Die Kommunikationsmittel zwischen der Kommunikationseinheit 319 und der Kommunikationseinheit 225 sind nicht irgendwie beschränkt.
-
Die Speichereinheit 321 speichert Information, wie etwa verschiedene Programme zum Betreiben des Engineering-Werkzeugs 300 und verschiedene Daten, welche in verschiedenen Prozessen in dem Engineering-Werkzeug 300 erzeugt werden.
-
Die Steuereinheit 323 steuert die Prozesse in dem Engineering-Werkzeug 300 als Ganzes.
-
Wenn das Simulationsbetriebsmodusumschaltflag der PLC 200 durch das Engineering-Werkzeug 300 gesetzt ist gibt beispielsweise ein Entwickler dem Engineering-Werkzeug 300 unter Verwendung der Eingabeeinheit 311 Information ein, welche das Setzen des Simulationsbetriebsmodusumschaltflags angibt. Die Steuereinheit 323 überträgt einen Setzinstruierungsbefehl, welcher das Setzen des Simulationsbetriebsmodusumschaltflags instruiert, basierend auf der eingegebenen Information über die Kommunikationseinheit 319 an die PLC 200.
-
Die Kommunikationseinheit 225 der PLC 200 empfängt den Setzinstruktionsbefehl, welcher von dem Engineering-Werkzeug 300 über die Kommunikationsleitung 327 übertragen wurde. Die Kommunikationseinheit 225 der PLC 200 überträgt den empfangenen Setzinstruktionsbefehl an die Empfangsdatenbefehlsanalyseeinheit 223. Die Empfangsdatenbefehlsanalyseeinheit 223 analysiert den Setzinstruktionsbefehl und wandelt den Setzinstruktionsbefehl in ein Format um, welches in der PLC 200 verwendbar ist. Dann überträgt die Empfangsdatenbefehlsanalyseeinheit 223 den analysierten Setzinstruktionsbefehl an die Steuereinheit 227.
-
Bei Empfang des analysierten Setzinstruktionsbefehls setzt die Steuereinheit 227 das Simulationsbetriebsmodusumschaltflag des Zeitsynchronisierungsfunktionsflags in dem Arbeitsbereich 239 des flüchtigen Speichers 217 basierend auf dem Setzinstruktionsbefehl.
-
Beim Freigeben des Simulationsbetriebsmodusumschaltflags der PLC 200 durch das Engineering-Werkzeug 300 überträgt die Steuereinheit 323 statt dem Setzinstruktionsbefehl einen Freigabeinstruktionsbefehl, welcher zur Freigabe des Simulationsbetriebsmodusumschaltflags instruiert, über die Kommunikationseinheit 319 an die PLC 200. In der PLC 200 werden die Prozesse auf die vorangehend beschriebene Weise durchgeführt, und die Steuereinheit 227 gibt das Simulationsbetriebsmodusumschaltflag des Zeitsynchronisierungsfunktionsflags in dem Arbeitsbereich 239 des flüchtigen Speichers 217 basierend auf dem Freigabeinstruktionsbefehl frei.
-
Das Setzen und Freigeben des Simulationsbetriebsmodusumschaltflags ist beispielsweise auch möglich, indem ein Programm zum Setzen und Freigeben des Simulationsbetriebsmodusumschaltflags in der PLC 200 gespeichert wird. In diesem Fall gibt ein Entwickler beispielsweise unter Verwendung der Eingabeeinheit 211 der PLC 200 Setzinstruktionsinformationen ein, welche dazu instruiert, das Simulationsbetriebsmodusumschaltflag zu setzen, oder er gibt Freigabeinstruktionsinformation ein, welche dazu instruiert, das Simulationsbetriebsmodusumschaltflag freizugeben. Die Steuereinheit 227 der PLC 200 setzt das Simulationsbetriebsmodusumschaltflag des Zeitsynchronisierungsfunktionsflags in dem Arbeitsbereich 239 des flüchtigen Speichers 217, oder gibt dieses frei, und zwar basierend auf der Setzinstruktionsinformation oder der Freigabeinstruktionsinformation.
-
Wie vorangehend beschrieben kann bei der zweiten Ausführungsform der Betriebsmodus der PLC 200 einfach in den Simulationsbetriebsmodus oder den Normalbetriebsmodus umgeschaltet werden, und zwar unter Verwendung des Programms zum Setzen und Freigeben des Simulationsbetriebsmodusumschaltflags, welches in dem Engineering-Werkzeug 300 oder der PLC 200 gespeichert ist. Somit kann sogar ein Entwickler, welcher mit dem Zeitsynchronisierungsverfahren zwischen der Simulationsvorrichtung 100 und der PLC 200 nicht vertraut ist, den Betriebsmodus der PLC 200 einfach in den Simulationsbetriebsmodus oder den Normalbetriebsmodus umschalten.
-
Dritte Ausführungsform
-
Das Simulationsverfahren, welches in der Simulationsvorrichtung 100 und der PLC 200 in dem Simulationssystem gemäß den vorangehend beschriebenen Ausführungsformen ausgeführt wird, kann als ein Programm konstruiert sein, in welchem die Prozedur des Simulationsverfahrens gespeichert ist, und es kann verkörpert sein durch Veranlassen eines Computers, welcher eine CPU und eine Speichervorrichtung umfasst, das Programm auszuführen, wie es in 6 gezeigt ist.
-
6 ist ein Blockdiagramm, welches ein Beispiel einer Konfiguration eines Computers 400 schematisch zeigt, welcher die Funktionen der Simulationsvorrichtung 100 und der PLC 200 gemäß der vorangehend erläuterten Ausführungsformen realisiert. Wie in 6 gezeigt, weist der Computer 400 eine Konfiguration auf, in welcher eine Anzeigevorrichtung 401, wie etwa eine Flüssigkristall-Anzeige (LCD), eine Eingabevorrichtung 402, wie etwa eine Tastatur, eine CPU 403, welche eine Berechnung ausführt, nichtflüchtiger Speicher 404, wie etwa ROM („read only memory”), flüchtiger Speicher 405, wie etwa RAM („random access memory”), ein Anzeigespeicher 406, welcher einen auf der Anzeigevorrichtung 401 anzuzeigenden Anzeigebildschirm speichert, eine Schnittschnelle für externen Speicher 407, welche eine Schnittstelle zu einem entfernbaren externen Speicher, wie etwa einem Flash-Speicher, ist, und eine Kommunikationsschnittstelle 408, welche mit einer externen Vorrichtung kommuniziert, miteinander über einen internen Bus 409 verbunden sind.
-
Ein Programm, in welchem die Prozedur des in dem nichtflüchtigen Speicher 404 gespeicherten Simulationsverfahrens beschrieben ist, wird in den flüchtigen Speicher 405 geladen und durch die CPU 403 ausgeführt. Das Programm kann auf einem computerlesbaren Aufzeichnungsmedium, wie etwa einer Festplatte, einer Compact-Disk (CD), einem Nur-Lese-Speicher (ROM), einer magneto-optischen Disk (MO) oder einer digital versatile Disk oder digital video Disk (DVD), aufgezeichnet sein, oder das Programm kann über ein Netzwerk (Kommunikationsleitung), wie etwa das Internet, verteilt sein. In diesem Fall ist das Programm in dem nichtflüchtigen Speicher 404 durch ein Informationsverarbeitungsterminal gespeichert, welches daran über die Kommunikationsschnittstelle 408 angeschlossen ist.
-
Industrielle Anwendbarkeit
-
Wie vorangehend beschrieben können das Simulationssystem, die programmierbare Steuerung, die Simulationsvorrichtung und das Engineering-Werkzeug gemäß der vorliegenden Erfindung auf nützliche Weise verwendet werden, wenn ein Debugg-Prozess für ein Benutzerprogramm einer PLC durchgeführt wird.
-
Bezugszeichenliste
-
- 100
- SIMULATIONSVORRICHTUNG
- 111
- EINGABEEINHEIT
- 113
- ANZEIGEEINHEIT
- 115
- NICHTFLÜCHTIGER SPEICHER
- 117
- FLÜCHTIGER SPEICHER
- 119
- SIMULATIONSEINHEIT
- 121
- HALTEFREIGABEINSTRUKTIONSBEFEHLSERZEUGUNGSEINHEIT
- 123
- DATENÜBERTRAGUNGSBEFEHLSANALYSEEINHEIT
- 125
- KOMMUNIKATIONSEINHEIT
- 127
- STEUEREINHEIT
- 129
- INTERNER BUS
- 131
- DATENSPEICHERBEREICH
- 133
- BERECHNUNGSERGEBNIS DER PLC
- 135
- PROGRAMMSPEICHERBEREICH
- 137
- PROGRAMM
- 139
- ARBEITSBEREICH
- 141
- ZEITSYNCHRONISIERUNGSFUNKTIONSFLAG
- 143
- HALTEFREIGABEINSTRUKTIONSBEFEHL
- 145
- SIMULATIONSBERECHNUNGSEINHEIT
- 147
- ZEICHENEINHEIT
- 149
- KOMMUNIKATIONSLEITUNG
- 200
- PROGRAMMIERBARE STEUERUNG (PLC)
- 211
- EINGABEEINHEIT
- 213
- ANZEIGEEINHEIT
- 215
- NICHTFLÜCHTIGER SPEICHER
- 217
- FLÜCHTIGER SPEICHER
- 219
- BEFEHLSAUSFÜHRUNGS-ENGINE-EINHEIT
- 221
- DATENÜBERTRAGUNGSBEFEHLSERZEUGUNGSEINHEIT
- 223
- EMPFANGSDATENBEFEHLSANALYSEEINHEIT
- 225
- KOMMUNIKATIONSEINHEIT
- 227
- STEUEREINHEIT
- 229
- INTERNER BUS
- 231
- PROGRAMMSPEICHERBEREICH
- 233
- PROGRAMM
- 235
- DATENSPEICHERBEREICH
- 237
- BERECHNUNGSERGEBNIS
- 239
- ARBEITSBEREICH
- 241
- ZEITSYNCHRONISIERUNGSFUNKTIONSFLAG
- 243
- DATENÜBERTRAGUNGSBEFEHL
- 300
- ENGINEERING-WERKZEUG
- 311
- EINGABEEINHEIT
- 313
- ANZEIGEEINHEIT
- 315
- PROGRAMMEDITIEREINHEIT
- 317
- BETRIEBSMODUSSETZEINHEIT
- 319
- KOMMUNIKATIONSEINHEIT
- 321
- SPEICHEREINHEIT
- 323
- STEUEREINHEIT
- 325
- INTERNER BUS
- 327
- KOMMUNIKATIONSLEITUNG
- 400
- COMPUTER
- 401
- ANZEIGEVORRICHTUNG
- 402
- EINGABEVORRICHTUNG
- 403
- CPU
- 404
- NICHTFLÜCHTIGER SPEICHER
- 405
- FLÜCHTIGER SPEICHER
- 406
- ANZEIGESPEICHER
- 407
- SCHNITTSTELLE FÜR EXTERNEN SPEICHER
- 408
- KOMMUNIKATIONSSCHNITTSTELLE
- 409
- INTERNER BUS