-
Die vorliegende Erfindung betrifft ein Steuerverfahren
in einer programmierbaren Steuereinheit und insbesondere
eine Verbesserung einer Verarbeitungsgeschwindigkeit einer
programmierbaren Steuereinheit.
-
Die EP-A-0 156 162 betrifft die Ausführung eines
Programms einer programmierbaren Steuereinheit. Hierbei
wird ein erster Speicher zum Speichern eines
Ablaufprogramms vorgesehen, das eine Kombination aus
Ablaufbefehlen enthält. Weiterhin werden Maschinenbefehle
entsprechend der Ablaufbefehle in einem zweiten Speicher an
Adressen gespeichert, die in den Operationscodes der
Ablaufbefehle gekennzeichnet sind. Der zweite Speicher ist
als Nur-Lese-Speicher (ROM) entworfen und wird als "System-
ROM" bezeichnet. Offensichtlicherweise wird innerhalb der
Steuereinheit keine Kompilierung durchgeführt. Wie oben
erwähnt, besteht der zweite Speicher aus einem ROM und wird
als "System-ROM" definiert. Wenn ein in dem ersten Speicher
gespeichertes Ablaufprogramm geändert oder sogar
vollständig neu geschrieben werden soll, werden bzw. können
die Inhalte des zweiten Speicher-ROMs aufgrund der Natur
eines ROMs nicht verändert werden. Daher wird keine auf
Änderungen eines Ablaufprogramms beruhende Kompilierung
durchgeführt.
-
Die US-A-4 309 756 offenbart eine Technik, bei der
maschinenausführbare Befehle direkt von automatisch
ausgewerteten logischen Zustandssätzen einer
Kompilersprache kompiliert werden. Hierbei wird sowohl eine
Anordnung von primären Verbindungscodes als auch eine
Anordnung von sekundären Verbindungscodes vorgesehen, bei
denen die Verbindungscodes logische Wechselbeziehungen
zwischen Quelldeckkarten und den darauf befindlichen
Eintragungen darstellen. Unter Verwendung dieser primären
und sekundären Verknüpfungscodes ist eine direkte
Kompilierung der maschinenausführbaren Befehle möglich.
-
Figur 5 zeigt ein Flußdiagramm, das eine Verarbeitung
darstellt, die durchgeführt wird, während eine
programmierbare Steuereinheit im Stand der Technik (im
folgenden mit "PC" abgekürzt) im Betrieb ist. Wie es dort
gezeigt ist, wird eine Ablaufsteuerverarbeitung, welche aus
einer I/O-Übertragung (S1) und einer Ausführung eines PC-
Programms (S2) besteht, wiederholt durchgeführt.
-
Fig. 6 zeigt ein Flußdiagramm, das Details der I/O-
Übertragungsverarbeitung darstellt, in welcher eine
Eingangszustandsinformation von einer mit dem PC verbundenen
Eingabeschaltungsbaugruppe empfangen wird und
Ausführungsergebnisse eines PC-Programms an eine
Ausgabeschaltungsbaugruppe übertragen werden. Im Schritt S10 wird eine
Information in einer Schaltungsbaugruppe aus der in einer
Speichervorrichtung des PCs gespeicherten I/O-Karten-
Information (d.h., eine Information in den mit dem PC
verbundenen Schaltungsbaugruppen) aufgenommen. Anschließend
wird im Schritt S11 beurteilt, ob keine zu verarbeitende
Schaltungsbaugruppe übriggeblieben ist. Wenn eine oder
mehrere Schaltungsbaugruppen übriggeblieben sind, wird eine
in der oben beschriebenen Art aufgenommene Schaltungsgruppe
im Schritt S12 analysiert, und wird im Schritt S13
beurteilt, ob die Schaltungsbaugruppe eine
Eingabeschaltungsbaugruppe ist oder nicht. Wenn die
Beurteilung bejahend ausfällt, wird im Schritt S14 eine
Eingabeverarbeitung durchgeführt, um
Eingabezustandsinformation von der Eingabeschaltungsbaugruppe aufzunehmen.
Wenn andererseits die Beurteilung negativ ausfällt, d.h.,
wenn die Schaltungsbaugruppe eine
Ausgabeschaltungsbaugruppe ist, wird im Schritt S15 eine Ausgabeverarbeitung
durchgeführt, um Ausführungsergebnisse eines PC-Programms
für die aufgenommene Ausgabeschaltungsbaugruppe vorzusehen.
Nach Vollendung der Eingabe- bzw. Ausgabeverarbeitung wird
im Schritt S16 eine Nachverarbeitung ausgeführt, um eine
Leseadresse der I/O-Karten-Information wieder zu erneuern,
und die Verarbeitung kehrt zum Schritt S10 zurück. Auf
diese Art und Weise wird die Eingabe- bzw.
Ausgabeverarbeitung für alle Schaltungsbaugruppen auf der Grundlage der
Beurteilung der Art der jeweiligen Baugruppe ausgeführt,
das heißt, bis die Beurteilung des Schritts S11 bejahend
wird.
-
Fig. 7 zeigt ein Flußdiagramm, das Details der
Ausführungsverarbeitung eines PC-Programms darstellt, in
der ein von einem Anwender erstelltes
Ablaufsteuerungsanwenderprogramm ausgeführt wird. Eine vorbereitende
Verarbeitung, wie beispielsweise ein Initialisieren, wird
zuerst im Schritt S20 ausgeführt. Dann wird im Schritt S21
ein Befehl des PC-Programms aus der Speichervorrichtung
gelesen und im Schritt S22 analysiert. Dann wird es im
Schritt S23 beurteilt, ob der Befehl ein Endebefehl ist.
Wenn die Beurteilung negativ ausfällt, wird im Schritt S24
eine Vorbereitung zur Ausführung des Auslesebefehls
durchgeführt, und im Schritt S25 der Befehl tatsächlich
ausgeführt. Abschließend wird im Schritt S26 eine
Nachverarbeitung durchgeführt, um eine Leseadresse des PC-
Programms wieder zu erneuern, und die Verarbeitung kehrt
zum Schritt 21 zurück. Die obige Verarbeitung wird solange
wiederholt, bis es beurteilt wird, daß der Endebefehl im
Schritt S23 gelesen worden ist.
-
Wenn man jedoch die Details der obigen I/O-
Übertragungsverarbeitung und der
PC-Programmausführungsverarbeitung untersucht, die in PCS im Stand der Technik
durchgeführt werden, kann man feststellen, daß auch andere
Verarbeitungen als solche durchgeführt werden, die in der
Ablaufsteuerung unbedingt benötigt werden, d.h., die I/O-
Verarbeitung und die Befehlsausführungsverarbeitung. Dies
wird unvermeidbar zu einer zusätzlichen Verarbeitungszeit
führen.
-
Die vorliegende Erfindung ist angesichts des obigen
Problems in der Technik geschaffen worden. Eine Aufgabe der
Erfindung ist es, ein Steuerverfahren in einer
programmierbaren Steuereinheit (PC) zu schaffen, welches
eine Verarbeitungszeit einer Ablaufsteuerung verringern
kann.
-
Gemäß der Erfindung weist das Steuerverfahren die im
Anspruch 1 definierten Merkmale auf.
-
Fig. 1 zeigt ein Flußdiagramm eines Steuerverfahren in
einer programmierbaren Steuereinheit (PC) gemäß einer
Ausführungsform der vorliegenden Erfindung;
-
Fig. 2 zeigt ein Blockschaltbild eines Hardware-Aufbaus
zum Realisieren des Steuerverfahrens in Fig. 1;
-
Fig. 3 stellt eine I/O-Karten-Information in der
Ausführungsform dar;
-
Fig. 4 stellt dar, wie ein Anwenderprogramm und
Objektprogramme in einem Speicher mit wahlfreiem Zugriff
(RAM) in der Ausführungsform gespeichert werden;
-
Fig. 5 zeigt ein Flußdiagramm eines
Ablaufsteuerungsverfahrens im Stand der Technik in einem PC;
-
Fig. 6 zeigt ein Flußdiagramm einer
I/O-Übertragungsverarbeitung im Stand der Technik; und
-
Fig. 7 zeigt ein Flußdiagramm einer
PC-Programmausführungsverarbeitung im Stand der Technik.
-
Figur 2 zeigt ein Blockschaltbild, das einen Hardware-
Aufbau einer programmierbaren Steuereinheit (PC) gemäß
einer Ausführungsform der vorliegenden Erfindung darstellt.
-
In der Figur stellt das Bezugszeichen 1 eine zentrale
Verarbeitungseinheit (CPU) dar; das Bezugszeichen 2 einen Nur-
Lese-Speicher (ROM) zum Speichern eines Systemprogramms der
CPU 1; das Bezugszeichen 3 einen Speicher mit wahlfreiem
Zugriff (RAM) zum Speichern eines Anwendungsprogramms usw.;
das Bezugszeichen 4 ein RAM zum Speichern von I/O-Karten-
Information usw. und das Bezugszeichen 5 ein RAM zum
Speichern von I/O-Daten entsprechend der Eingabe- und
Ausgabeschaltungsbaugruppen. Die Bezugszeichen 10 bis 14
stellen die Eingabeschaltungsbaugruppen und die
Ausgabeschaltungsbaugruppen dar.
-
Figur 3 stellt die in dem RAM 4 gespeicherte I/O-
Karten-Information dar. Die I/O-Karten-Information
beinhaltet eine Information, die aufgrund des Einbauplatzes
die Art (d.h., Eingabe- oder Ausgabeschaltungsbaugruppe)
einer mit dem PC verbundenen Schaltungsbaugruppe und die
Anzahl seiner Eingabe- oder Ausgabepunkte angibt.
-
Figur 4 zeigt, wie ein Anwenderprogramm 3a und
Objektprogramme 3b und 3c in dem RAM 3 gespeichert werden, wobei
die beiden letzteren Programme durch nachfolgend
beschriebene Ausführungsverarbeitungen erzeugt worden sind.
-
Figur 1 zeigt ein Flußdiagramm, das Details einer
Verarbeitung darstellt, die, während der PC in Figur 2
arbeitet, durchgeführt wird.
-
Zuerst führt der PC eine Verarbeitung eines
Konvertierungsausführungsverfahren einer I/O-Übertragung
durch. Im Schritt S30 wird als vorbereitendes Verarbeiten
ein Initialisieren durchgeführt, welches das Setzen einer
Lesestartadresse (z.B. einer Kopfadresse bzw.
Anfangsadresse) der I/O-Karten-Information beinhaltet. Im
Schritt S31 wird dann eine sich auf einer
Schaltungsbaugruppe an der Kopfadresse der Karteninformation befindliche
Information aus dem RAM 4 gelesen. Abhängig von der Art der
Schaltungsbaugruppe wird im Schritt S32 ein
Eingabeverarbeitungsausführungsverfahren oder ein
Ausgabeverarbeitungsausführungsverfahren in der Form eines Maschinenprogramms
erzeugt, welches direkt durch die CPU 1 ausgeführt werden
kann, und in einem anderen Bereich als dem des
Anwenderprogrammbereichs des RAM 3 gespeichert. Wenn keine
Schaltungsbaugruppe zum Verarbeiten übriggeblieben ist,
wird weiterhin im Schritt S32 ein
Nachverarbeitungsausführungsverfahren in Form eines Maschinenprogramms
erzeugt, welches direkt durch die CPU 1 ausgeführt werden
kann, und an Adressen gespeichert, die denen des oben
erzeugten Maschinenspracheprogramms des
Eingabeverarbeitungsausführungsverfahrens nachfolgen. Diese
Nachverarbeitung ist zum Beispiel eine Verarbeitung eines
Zurückkehrens zu einer Hauptroutine durch eine
Sprunganweisung oder eine Verarbeitung eines Bestimmens einer Adresse,
auf die als nächstes zugegriffen werden soll. Dann wird im
Schritt S33 beurteilt, ob keine Schaltungsbaugruppe zum
Verarbeiten übriggeblieben ist. Wenn beurteilt worden ist,
daß eine Schaltungsbaugruppe (bzw -baugruppen) übrig
geblieben ist (sind), wird im Schritt S34 eine
Nachverarbeitung ausgeführt, um eine Leseadresse der
I/O-Karten-Information und eine Speicheradresse der Ausführungsverfahren
wieder zu erneuern, und die Verarbeitung kehrt zu Schritt
S31 zurück. Die obige Verarbeitung wird wiederholt, bis
alle Schaltungsbaugruppen sie durchlaufen haben, d.h., bis
die Beurteilung des Schritts S33 bejahend ausfällt.
-
Als nächstes führt der PC eine Verarbeitung eines
Konvertierens eines PC-Programms durch. Im Schritt S35 wird
als ein vorbereitendes Verarbeiten eine Initalisierung
durchgeführt, welche das Setzen einer Lesestartadresse des
in dem RAM 3 gespeicherten PC-Programms und ein Setzen
einer Speicherstartadresse eines Ausführungsverfahrens
beinhaltet, welches nun konvertiert und in dem RAM 3
gespeichert wird. Im Schritt S36 wird dann eine sich an dem
Kopf des PC-Programms befindender Befehl von den RAM 3
gelesen und im Schritt S37 analysiert. Im Schritt S38 wird
ein Ausführungsverfahren dieses Befehls in ein Programm
einer Maschinensprache konvertiert, welches direkt durch
die CPU 1 ausgeführt werden kann, und an Adressen, die
denen der oben beschriebenen Ausführungsverfahren einer
I/O-übertragung nachfolgen, in dem RAM 3 gespeichert. Wenn
der Befehl eine Endebefehl ist, wird im Schritt S38
weiterhin ein Ausführungsverfahren einer Nachverarbeitung
in der Form einer Maschinensprache erzeugt, welches direkt
durch die CPU 1 ausgeführt werden kann, und an Adressen
gespeichert, die solchen des Programms der vorhergehenden
Anweisungen in Maschinensprache nachfolgen. Diese
Nachverarbeitung ist zum Beispiel eine Verarbeitung eines
Rückkehrens zu dem Hauptprogramm durch einen Sprungbefehl.
Dann wird im Schritt S39 beurteilt, ob der Befehl ein
Endebefehl ist. Wenn er kein Endebefehl ist, wird im
Schritt S40 eine Nachverarbeitung durchgeführt, um eine
Leseadresse des PC-Programms und eine Speicheradresse der
Ausführungsverfahren wieder zu erneuern, und die
Verarbeitung kehrt zu Schritt S36 zurück. Die obige
Verarbeitung wird wiederholt, bis der Endebefehl
(Programmvollendungsbefehl) ausgelesen wird, d.h., bis die
Beurteilung im Schritt S39 bejahend ausfällt.
-
Nach Ausführung der obigen Verarbeitungen sind die
Ausführungsverfahren der I/O-Übertragungsverarbeitung und
des PC-Programms in Maschinenprogramme (Objektprogramme) 3b
und 3c konvertiert worden, welche direkt durch die CPU 1
ausgeführt werden können, und in dem RAM 3 gespeichert
worden, wie es in Figur 4 gezeigt ist.
-
Wenn die Ablaufsteuerung gestartet wird, greift im
Schritt S41 die CPU 1 auf die Adressen des RAM 3 zu, in
welchen die Ausführungsverfahren der
I/O-Übertragungsverarbeitung gespeichert sind, und führt direkt deren
Maschinenprogramme aus, um die Eingabe- oder Ausgabeverarbeitung
durchzuführen. Nach einer Ausführung aller
Maschinenprogramme
der I/O-Übertragungsausführungsverfahren greift
im Schritt S42 die CPU 1 auf die Adressen zu, in welchen
die Ausführungsverfahren des PC-Programms gespeichert sind,
und führt deren Maschinenprogramme direkt aus, um die
Betriebsverarbeitung des PC-Programms durchzuführen. Die
obigen I/O-Übertragungsverarbeitung und die
Betriebsverarbeitung des PC-Programms werden wiederholt durchgeführt,
bis ein Endebefehl vorgesehen wird, d.h., bis die
Beurteilung im Schritt S43 bejahend ausfällt.
-
In der obigen Ausführungsform wird im Schritt S32, wenn
keine Schaltungsbaugruppe übriggeblieben ist, das
Nachverarbeitungsausführungsverfahren in der Form eines
Maschinenprogramms erzeugt. Alternativ dazu kann es nach
dem bejahenden Urteil des Schritts S33 erzeugt werden.
Ähnlich kann im Fall des Schrittes S38 das
Nachverarbeitungsausführungsverfahren in der Form eines
Maschinenprogramms erzeugt werden, nachdem der Befehl als
der Endebefehl im Schritt S39 beurteilt worden ist.
-
Während in der obigen Ausführungsform die
Ausführungsverfahren sowohl der I/O-Übertragungsverarbeitung als auch
der PC-Programmbetriebsverarbeitung in Maschinenprogramme
konvertiert werden, können die Ausführungsverfahren von
lediglich einer der beiden Verarbeitungen in ein
Maschinenprogramm gewandelt werden. Auch in dem letzteren
Fall kann die Verarbeitungsgeschwindigkeit verglichen mit
den Steuerverfahren im Stand der Technik verbessert werden.
Weiterhin ist für den Fall, daß die Ausführungsverfahren
beider Verarbeitungen in Maschinenprogramme konvertiert
werden, die Reihenfolge der Konvertierung der
Ausführungsverfahren der zwei Verarbeitungen nicht auf die in Figur 1
beschrinkt, sondern kann umgekehrt zu der Reihenfolge in
Figur 1 sein.
-
Wie es vorangehendend beschrieben worden ist, werden
gemäß der Erfindung die Ausführungsverfahren von einem oder
beiden der I/O-Übertragungsverarbeitung und der PC-
Programmbetriebsverarbeitung im voraus in ein
Maschinenprogramm (Objektprogramm) konvertiert, und dann tatsächlich
ausgeführt. Folglich kann die Verarbeitungsgeschwindigkeit
des PCs verbessert werden. Da der PC aus der CPU und den
Speichern gebildet werden kann, und keine speziell
entworfene Hardware benötigt wird, kann die Erfindung
kostengünstig realisiert werden.