DE69124066T2 - Prozesssteuerungsgerät - Google Patents
ProzesssteuerungsgerätInfo
- Publication number
- DE69124066T2 DE69124066T2 DE69124066T DE69124066T DE69124066T2 DE 69124066 T2 DE69124066 T2 DE 69124066T2 DE 69124066 T DE69124066 T DE 69124066T DE 69124066 T DE69124066 T DE 69124066T DE 69124066 T2 DE69124066 T2 DE 69124066T2
- Authority
- DE
- Germany
- Prior art keywords
- special function
- function module
- instruction
- module
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000004886 process control Methods 0.000 title 1
- 230000006870 function Effects 0.000 claims description 148
- 230000015654 memory Effects 0.000 claims description 109
- 238000000034 method Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13093—Using functions like arithmetic timers in program
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13157—Tape
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13172—Remote programming from computer
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13196—Check if instruction for special module is valid for that module
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Description
- Die vorliegende Erfindung betrifft ein Verfahren zum Steuern einer programmierbaren Steuerung, die Sonderfunktionseinheiten aufweist, um von der Ablaufsteuerung verschiedene Steuervorgänge in Abhängigkeit von Befehlen von einer CPU- Einheit auszuführen.
- Programmierbare Steuerungen wurden ursprünglich nur als Ersatz für Relais angesehen. Die Einfachheit, mit der diese Steuerungen programmierbar sind, sowie ihre Flexibilität und funktionelle Kapazität haben jedoch das Anwendungsgebiet der programmierbaren Steuerung erweitert. Daher werden heute programmierbare Steuerungen nicht nur für die (digitale) Ablaufsteuerung verwendet, sondern auch für die Analogsteuerung, die Positionverarbeitung, die Kommunikationsverarbeitung und die Überwachung von Displays. Die Ablaufsteuerung wird hauptsächlich von einem CPU-Modul innerhalb der programmierbaren Steuerung durchgeführt. Die übrigen Steuerungs-Anwendungen werden hauptsächlich von Sonderfunktionsmodulen ausgeführt. Das CPU-Modul führt auch die integrierte Steuerung der gesamten programmierbaren Steuerung aus durch Einschreiben von Anweisungsdaten und Lesen von resultierenden Daten aus den Sonderfunktionsmodulen. Sonderfunktionsmodule sind zur Steuerung von Systemen wichtig, deren Umfang und Komplexität ständig zunehmen.
- Nachstehend wird der Datenaustausch zwischen dem CPU-Modul und Sonderfunktionsmodulen beschrieben.
- Fig. 5 zeigt ein Systemkonfigurationsdiagramm einer bekannten programmierbaren Steuerung, die folgendes aufweist: ein CPU-Modul 1 zur Steuerung der gesamten programmierbaren Steuerung, einen Programmspeicher 11 zum Speichern von Ablaufprogrammen, einen Gerätespeicher 12, um Daten zu speichern, die in den Ablaufprogrammen verwendet werden und daraus resultieren, und eine Programmiereinrichtung 2, um die in dem Gerätespeicher 11 zu speichernden Ablaufprogramme zu schreiben. Dieses System umfaßt außerdem ein Übertragungskabel 3, um das CPU-Modul 1 und die Programmiereinrichtung 2 miteinander zu verbinden, ferner Ein/Ausgabemodule 4, Sonderfunktionsmodule 4A und einen Zweiportspeicher 41, der als ein Zweirichtungszugriffsspeicher dient, der den Datenaustausch zwischen den Sonderfunktionsmodulen 4A und dem CPU-Modul 1 ermöglicht.
- Die Fig. 6a bis 6c sind Strukturbeispiele des Zweiportspeichers 41. Fig. 6a zeigt den Zweiportspeicher 41A eines Zweikanal-D/A-Moduls. Fig. 6b zeigt einen Zweiportspeicher 41B eines Acht-Kanal-D/A-Umsetzermoduls, und Fig. 6c zeigt einen Zweiportspeicher 41C eines Displaymoduls.
- Fig. 7 zeigt das Format für Anweisungen zur Steuerung des Datenaustauschs zwischen dem CPU-Modul 1 und den Sonderfunktionsmodulen. Die Anweisung 5 zum Lesen von Daten aus dem Sonderfunktionsmodul 4A umfaßt eine E/A-Nummer 51, die der E/A-Position entspricht, an der das Sonderfunktionsmodul 4A installiert ist, und die Kopfadresse (d. h. die erste Adresse) 52 des Zweiportspeichers 41, aus dem Daten in dem Sonderfunktionsmodul 4A zu lesen sind. Die CPU-Anweisung umfaßt außerdem eine Geräte-Kopfadresse 53, die die erste Adresse in dem Einrichtungs(CPU)-Speicher 12 bezeichnet, in den die Daten zu schreiben sind, und die Anzahl von zu übertragenden Datenpunkten. Die Anweisung 6 zum Schreiben von Daten in ein Sonderfunktionsmodul umfaßt eine E/A-Nummer 61, die der E/A- Position entspricht, an der das Sonderfunktionsmodul 4A installiert ist, die Kopfadresse 62 des Zweiportspeichers 41, in den die Daten des Sonderfunktionsmoduls 4A zu schreiben sind, die Einrichtunge-Kopfadresse 63 des Einrichtungs(CPU)- Speichers 12, aus dem die Daten gelesen werden, und die Anzahl von zu übertragenden Datenpunkten 64.
- Beispiele von Anweisungen für den Datenaustausch mit dem Sonderfunktionsmodul 4A in dem CPU-Modul 1 sind in Fig. 8 gezeigt. Eine Anweisung 6A schreibt einen Datenpunkt aus den Inhalten der Einrichtung D0 an die Adresse 2 des Zweiportspeichers 41 in dem Sonderfunktionsmodul 4A, das in der E/A- Position 50 installiert ist. Die Anweisung 6B schreibt einen Datenpunkt aus den Inhalten der Einrichtung D0 an die Adresse 8 des Zweiportspeichers 41 in dem Sonderfunktionsmodul 4A, das in der E/A-Position 50 installiert ist.
- Der Stand der Technik umfaßt jedoch eine begrenzte Anzahl von Anweisungsarten für die Sonderfunktionsmodule wie etwa VON- und ZU-Anweisungen, die verwendet werden, um die Verarbeitung in bezug auf alle Sonderfunktionsmodule durchzuführen. So kann jede Anweisung eine andere Bedeutung haben, was davon abhängt, welcher Zweiportspeicher die Anweisung empfängt. Beispielsweise ist das Programm 6A manchmal als eine analoge Abgabeanweisung an den ersten Kanal und manchmal als eine Anzeigeanweisung wirksam, wie nachstehend erläutert wird.
- Der Anwender erzeugt (Fig. 4A) die in Fig. 8 gezeigten Anweisungen mit der Programmierungseinrichtung 2 und schreibt sie über das Übertragungskabel 3 in den Programmspeicher 11 des CPU-Moduls 1 ein. Wenn der Programmschritt 6A abläuft, schreibt das CPU-Modul 1 die Inhalte der Einrichtung D0 in den Einrichtungsspeicher 12 an der Adresse 2 des Zweiportspeichers 41A, 41B oder 41C für das Sonderfunktionsmodul ein, das in dem E/A-Modul an Position 50 (die in dem Programm 6A angegeben ist) installiert ist. Jedes Sonderfunktionsmodul interpretiert diese Anweisung auf jeweils verschiedene Weise.
- Wenn ein 2-Kanal-D/A-Umsetzermodul an dieser E/A-Modulposition installiert ist (deren Struktur in Fig. 6a gezeigt ist), gibt das Modul einen Analogwert ab, der den Inhalten an der Adresse 2 des Zweiportspeichers 41A entspricht.
- Wenn aber ein Display- bzw. Anzeigemodul als das Sonderfunktionsmodul 4A installiert ist, repräsentiert die Anweisung 6A ein Programm zum Anzeigen eines Zeichens, das den Inhalten der Einrichtung DO entspricht, an einer Anzeigeposition, die in der Pufferspeicher-Kopfadresse "2" gespeichert ist. In dem beispielhaften Format (Fig. 6) für ein Anzeigemodul repräsentiert diese Adresse Zeile 1 und Spalte 3. Somit gibt das Anzeigemodul ein Zeichen ab, das den Inhalten an der Adresse 2 des Zweiportspeichers 41C ent spricht.
- Der Programmschritt 6B (Fig. 8) repräsentiert eine Anweisung zur Abgabe eines Analogwerts, der den Inhalten der Einrichtung DO entspricht, an einen Kanal eines Achtkanal-D/A-Umsetzermoduls (eines Sonderfunktionsmoduls, das acht D/A- Umsetzungsmöglichkeiten hat), das in der E/A-Position 50 installiert ist. In diesem Fall werden, wie die Zweiportspeicherkonstruktion von Fig. 6b zeigt, die Inhalte der Einrichtung DO an die Adresse 8 des Zweiportspeichers 41B geschrieben.
- Der Anwender erzeugt die Anweisung 6B aus der Programmiereinrichtung 2 und schreibt sie in den Programmspeicher 11 des CPU-Moduls 1 über das Übertragungskabel 3 ein. Danach schreibt das CPU-Modul 1 die Inhalte der Einrichtung DO in den Einrichtungsspeicher 12 an der Adresse 8 des Zweiportspeichers 41B in dem Achtkanal-D/A-Umsetzermodul (Fig. 6B), der an der in diesem Programm 6B bezeichneten E/A-Position 50 installiert ist. Das Achtkanal-D/A-Umsetzermodul gibt einen Analogwert ab, der den Inhalten an der Adresse 8 des Zweiportspeichers 41B entspricht.
- Wenn ein Analogabgabewert an den ersten Kanal des D/A-Moduls abzugeben ist, ähnelt der Programmschritt dem Programm 6A oder 6B in Abhängigkeit von der Anzahl von Kanälen des D/A- Moduls. Ein anderes Programm wird angewandt, wenn das D/A- Umsetzermodul 16 Kanäle aufweist.
- Das oben beschriebene bekannte Steuerverfahren für eine programmierbre Steuerung hat nur wenige Anweisungsarten für die Sonderfunktionsmodule, die verwendet werden, um die gesamte Verarbeitung in bezug auf die Sonderfunktionsmodule auszuführen. Das hat zu den nachstehenden Problemen geführt: (1) Dieselbe Anweisung wird verwendet, um vollkommen verschiedene Operationen ausführen zu lassen, (2) das Format einer Anweisung kann nicht anzeigen, welche Operation diese Anweisung darstellt, weil die Anweisung hinsichtlich des Formats in bezug auf dieselbe Operation verschieden sein kann, und (3) beim Schreiben eines Programms müssen die Adressen des Mehrrichtungs-Zugriffsspeichers berücksichtigt werden, um sicherzustellen, daß der Programmschritt dem richtigen Sonderfunktionsmodul zugeführt wird, wodurch die Programmierung kompliziert wird.
- Es ist daher eine Aufgabe der vorliegenden Erfindung, die Nachteile des Stands der Technik dadurch zu überwinden, daß ein Steuerverfahren für eine programmierbare Steuerung bereitgestellt wird, das das Schreiben eines Programms zuläßt, ohne die Adressen des Mehrrichtungs-Zugriffsspeichers in dem Sonderfunktionsmodul zu berücksichtigen, wobei die Operation einer Anweisung ohne weiteres aus ihrem Format kenntlich ist, so daß ein leichtes Lesen des Programms gewährleistet ist.
- Gemäß der vorliegenden Erfindung wird ein Verfahren zum Betreiben einer programmierbaren Steuerung entsprechend der Definition in Anspruch 1 angegeben.
- Es wird eine Programmiereinrichtung verwendet, um ein Programm zu schreiben, das einen Anweisungsschritt hat, der ein Funktionssymbol verwendet, um kenntlich zu machen, daß die Anweisung eine Sonderfunktionseinheit betrifft, und ein Typ symbol verwendet, das diesen Typ von Sonderfunktion unabhängig von Speicheradressen bezeichnet, wobei das Programm in dem Programmspeicher der CPU-Einheit gespeichert wird.
- Wenn das Programm ausgeführt wird, bestimmt die CPU, ob ein momentan ausgeführter Anweisungsschritt auf eine Sonderfunktionseinheit bezogen ist, indem das Funktionssymbol geprüft wird, und speichert die Inhalte des Anweisungsschritts in einem Mehrrichtungs-Zugriffsspeicher der Sonderfunktionseinheit.
- Die CPU fordert die Sonderfunktionseinheit bevorzugt auf, den Anweisungsschritt auszuführen. Die Inhalte der Anweisung in der Sonderfunktionseinheit werden bevorzugt von dem Sonderfunktionsmodul auf der Basis des in dem Mehrrichtungs- Zugriffsspeicher gespeicherten Typsymbols decodiert und ausgeführt.
- Wenn ein Anweisungsschritt als eine Sonderfunktionsanweisung (auf der Basis des Funktionssymbols) identifiziert wird, werden die Inhalte des Anweisungsschritts bevorzugt in dem Mehrrichtungs-Zugriffsspeicher der Sonderfunktionseinheit gespeichert. Gleichzeitig wird die Sonderfunktionseinheit bevorzugt aufgefordert, den Anweisungsschritt auszuführen. Schließlich werden die Inhalte der Anweisung in der Sonderfunktionseinheit auf der Basis des den Sonderfunktionstyp bezeichnenden Typsymbols decodiert und ausgeführt, und zwar unabhängig von den Speicheradressen des Anweisungsschritts, die in dem Mehrrichtungs-Zugrifsspeicher gespeichert sind.
- Das Verfahren zur Steuerung einer programmierbaren Steuerung, das die vorstehenden Aufgaben löst, benötigt eine CPU- Einheit zur Durchführung einer Ablaufsteuerung und eine Vielzahl von Sonderfunktionseinheiten, um die von der Ablaufsteuerung verschiedene Steuerung in Abhängigkeit von Befehlen von der CPU-Einheit durchzuführen.
- Fig. 1 gibt ein Strukturbeispiel eines Mehrrichtungs-Zugriffsspeichers, der in einer Sonderfunktionseinheit einer programmierbaren Steuerung vorgesehen ist;
- Fig. 2 zeigt Formate von Sonderfunktions-Anweisungen;
- Fig. 3a bis 3e sind spezifische Beispiele der Sonderfunktions- Anweisungen;
- Fig. 4a bis 4c sind Flußdiagramme, die einen Ablauf der Operation der programmierbaren Steuerung zeigen;
- Fig. 5 zeigt eine allgemeine Auslegung einer programmierbaren Steuerung;
- Fig. 6a bis 6c sind Strukturbeispiele von Mehrrichtungs-Zugriffsspeichern, die in Sqnderfunktionseinheiten der bekannten programmierbaren Steuerung vorgesehen sind, die in Fig. 5 gezeigt ist;
- Fig. 7 zeigt Formate von Sonderfunktionseinheiten entsprechenden Anweisungen im Stand der Technik;
- Fig. 8 zeigt spezifische Beispiele der Sonderfunktions einheiten entsprechenden Anweisungen im Stand der Technik;
- Fig. 9a bis 9d zeigen Beispiele und den allgemeinen Aufbau für Informationen, die in dem Zweiportspeicher der Sonderfunktionsmodule gespeichert sind;
- Fig. 10 ist ein Flußdiagramm, das einen Operationsablauf der programmierbaren Steuerung für eine zweite Ausführungsform zeigt;
- In den obigen Zeichnungen sind gleiche oder entsprechende Teile durchweg mit den gleichen Bezugszeichen versehen.
- Eine erste Ausführungsform der vorliegenden Erfindung wird nachstehend unter Bezugnahme auf die Fig. 1 bis 5 beschrieben. Die Konfiguration der programmierbaren Steuerung gleicht derjenigen der programmierbaren Steuerung in Fig. 5, die für den Stand der Technik beschrieben wurde, und umfaßt eine CPU-Einheit 1, ein Programmiergerät 2, eine Sonderfunktionseinheit 4, einen Programmspeicher 11, einen Einrichtungs-Speicher 12 und einen Mehrrichtungs-Zugriffsspeicher 41.
- Fig. 1 zeigt das Format einer Sonderfunktionsmodul-Anweisung 7, wobei auf "Z_" irgendein Anweisungsname folgen kann. Eine E/A-Nummer 71, die die Installationsposition des gewünschten Sonderfunktionsmoduls bezeichnet, ist nach dem Anweisungsnamen gespeichert, und Information 72 ist nach der E/A- Nummer gespeichert.
- Fig. 2 zeigt zwei Sonderfunktionsmodul-Anweisungen. Anweisung 7A schreibt die Inhalte der Einrichtung DO als einen analogen Ausgangsbefehlswert in den ersten Kanal des D/A- Moduls, das in der E/A-Position 50 installiert ist. Anweisung 7B zeigt die Inhalte der Einrichtung DO in Zeile 0 und in Spalte 3 des Displaymoduls an, das in der E/A-Position 50 installiert ist.
- Die Fig. 3a bis 3e zeigen die allgemeine Struktur (den Inhalt) des Zweiportspeichers 41, wenn er als ein Zweirichtungs-Zugriffsspeicher dient, auf den sowohl das CPU-Modul 1 als auch Sonderfunktionsmodule 4 Zugriff haben. Fig. 3a gibt ein allgemeines Beispiel der Speicherstruktur in dem Sonderfunktionsmodul. Fig. 3b zeigt die Speicherinhalte 41BB, wenn dem ersten Kanal eines Zweikanal- oder Achtkanal-D/A- Moduls ein analoger Ausgangswert zugeführt wird. Fig. 3c zeigt die Speicherinhalte 41CC, wenn ein Displaymodul zu fällig den Befehl erhält, einen analogen Ausgangswert zu liefern. Fig. 3d zeigt die Speicherinhalte 41DD, wenn die Displayposition des Displaymoduls geändert werden soll, und Fig. 3e repräsentiert Speicherinhalte 41EE, wenn das Display an dem Displaymodul vorgesehen ist.
- Die Fig. 4a bis 4c sind Flußdiagramme der Operation der Programmiereinrichtung 2 bzw. der CPU-Einheit 1 bzw. eines Sonderfunktionsmoduls 4. Vor der Operation werden alle Anweisungsnamen, die für jedes Modul während der Operation als gültig akzeptiert werden sollen, in jedem Sonderfunktionsmodul 4 vorher definiert.
- Während des Betriebs schreibt der Anwender jedes Programm über die Programmiervorrichtung 2 (Schritt 101, Fig. 4a) unter Anwendung des in Fig. 3 gezeigten Anweisungsformats. Dieses Programm wird in Schritt 102 in dem Programmspeicher 11 in dem CPU-Modul 1 über das Übertragungskabel 3 gespeichert. Wenn die Programmfolge ausgeführt wird, wird sie in Schritt 111 zuerst in den Programmspeicher 11 geschrieben, wonach das CPU-Modul 1 in Schritt 112 die erste Programmanweisung liest und decodiert. Die CPU ermittelt dann, ob die beiden ersten Zeichen des Anweisungsnamens gleich "Z_" sind (Schritt 113), wodurch diese Anweisung (die auch als ein Programmschritt bezeichnet wird) als eine Sonderfunktionsmodul- bzw. SFM-Anweisung identifiziert wird. Wenn dieser Programmschritt keine Sonderfunktionsmodul-Anweisung darstellt, wird in Schritt 118 die normale Verarbeitung durchgeführt. Wenn der Schritt tatsächlich eine SFM-Anweisung ist, speichert das CPU-Modul 1 die Anweisungsinhalte in dem Zweiportspeicher 41 (Schritt 114) für das Sonderfunktionsmodul 4, das innerhalb der Anweisung identifiziert ist. Wie oben gesagt wird, bestimmt die Anweisung das Modul durch Bezeichnen der E/A-Positionsnummer, an der das Modul installiert ist. Die CPU überführt außerdem alle in dem durch die SFM-Anweisung bezeichneten Vorrichtungsspeicher 12 gespeicherten Daten zu dem Zweiportspeicher 41 (Schritt 115). Danach sendet die CPU ein Unterbrechungssignal als einen Ausführungsbefehl an das bezeichnete Sonderfunktionsmodul 4 (Schritt 116).
- Nachdem das Modul 4 diese Unterbrechung erkannt hat (Schritt 121, Fig. 4c), liest es die in dem Zweiportspeicher 41 gespeicherte Sonderfunktionsmodul-Anweisung (Schritt 122) und fragt ab (Schritt 123), ob diese Anweisung gültig ist (d. h. ob die Anweisungsinhalte durch dieses Sonderfunktionsmodul vordefiniert sind und den richtigen Anweisungsnamen enthalten). Wenn der Befehl nicht gültig ist (d. h. wenn der SFM- Anweisungsname nicht mit den vorher definierten Namen innerhalb des Sonderfunktionsmoduls übereinstimmt, was im Fall von Fig. 3c geschehen würde), erkennt das Modul 4 einen Fehler und führt eine Fehlerabarbeitung aus (Schritt 127). Andernfalls wird die Anweisung von dem Modul 4 decodiert und ausgeführt (Schritte 124 und 125). Wenn die Anweisung von dem Typ ist, der Vorrichtungsdaten erfordert, liest und verarbeitet das Modul 4 auch die Vorrichtungsdaten aus dem Zweiportspeicher 41 (Schritt 125). Danach speichert das Modul 4 Informationen, die von der CPU in den Zweiportspeicher 41 zu lesen sind (Schritt 127), wie etwa resultierende/Rücksprungdaten, Fehlerdaten (wenn ein Fehler aufgetreten ist; in Fig. 3c mit "1" bezeichnet) und/oder Informationen, die anzeigen, daß das Modul fehlerfrei gearbeitet hat (in Fig. 3 mit "0" bezeichnet).
- Als nächstes führt das CPU-Modul 1 eine vorbestimmte Abarbeitung (Schritt 117) entsprechend den Ergebnissen der Ausführung des bezeichneten Moduls 4 aus. Diese vorbestimmte Abarbeitung umfaßt beispielsweise keine Operation (wenn die Anweisung fehlerfrei durchgeführt wurde), eine Fehleranzeige (wenn die Anweisung in einem Fehler resultierte) und/oder Datenübertragung zu dem Vorrichtungsspeicher 12 (wenn Daten zu der CPU 1 zurückgeleitet werden). Danach springt die CPU in der Schleife zu Schritt 112 zurück und wiederholt den obigen Vorgang für den nächsten Programmschritt.
- Bei den bevorzugten Ausführungsformen ist innerhalb des Zweikanal-D/A-Moduls (eines Sonderfunktionsmoduls mit zwei D/A-Einrichtungen) Z_ANALOG_1 als eine Anweisung zur Abgabe eines Analogwerts an den ersten Kanal und Z_ANALOG_2 als eine Anweisung zur Abgabe eines Analogwerts an den zweiten Kanal definiert. Ebenso ist innerhalb des Acht-Kanal-D/A- Moduls (eines Sonderfunktionsmoduls mit acht D/A-Möglichkeiten) Z_ANALOG_1 als eine Anweisung zur Abgabe eines Analogwerts an den ersten Kanal und Z_ANALOG_2 als eine Anweisung zur Abgabe eines Analogwerts an den zweiten Kanal definiert. Außerdem wird davon ausgegangen, daß in dem Displaymodul Z__LOCATE als eine Anweisung zum Bezeichnen einer Displayposition und Z__PRINT (siehe Anweisung 7c in Fig. 1) als eine Anzeigeanweisung definiert ist.
- Mit der obigen Konfiguration wird nachstehend ein Programm zur Abgabe eines Analogwerts entsprechend den Inhalten der Einrichtung DO an den ersten Kanal in einem Zweikanal-D/A- Modul betrachtet, das an der Position der Ein/Ausgabepositionsnummer 50 installiert ist.
- In diesem Fall wird der Programmschritt 7A (Fig. 2) vom Anwender über die Programmiereinrichtung 2 erzeugt und in den Programmspeicher 11 des CPU-Moduls 1 über das Übertragungskabel 3 als eine der Programmanweisungen eingeschrieben. Wie oben ausgeführt, fragt im Betrieb das CPU-Modul 1 ab, ob die ersten beiden Zeichen des Anweisungsnamens "Z_" sind. Das CPU-Modul 1 speichert dann die Inhalte von DO (in dem durch den Programmschritt 7A bezeichneten Einrichtungsspeicher 12) in dem Zweiportspeicher 41 des in der E/A-Position 50 installierten Zweikanal-D/A-Moduls. Gleichzeitig erzeugt die CPU ein Unterbrechungssignal für das Zweikanal-D/A-Modul. Nachdem diese Unterbrechung erkannt worden ist, prüft das Zweikanal-D/A-Modul, ob die Sonderfunktionsmodul-Anweisung "Z_ANALOG_1", die in dem Zweiportspeicher 41 gespeichert ist, einer Anweisung entspricht, die von dem Zweikanal-D/A- Modul definiert ist. Wenn es sich um eine gültige Anweisung handelt, gibt das Zweikanal-D/A-Modul an den ersten Kanal einen Analogwert ab, der dem Inhalt der Einrichtung DO des Einrichtungsspeichers 12 entspricht, der in dem Zweiportspeicher 41 gespeichert wurde.
- Diese Z_ANALOG_1"-Anweisung kann auch dazu benutzt werden, um ein in der E/A-Position 50 installiertes Achtkanal-D/A- Modul anzuweisen, einen Analogwert an den ersten Kanal abzugeben, wobei der Analogwert dem Inhalt der Einrichtung DO entspricht. Diese doppelte Nutzung einer Anweisung ist in diesem Fall akzeptabel, weil sowohl Zweikanal- als auch Achtkanal-D/A-Module imstande sind, diese Operation auszuführen. Somit hat der Programmschritt 7A immer noch nur einen Zweck, und zwar die Ausführung der D/A-Umwandlung an dem Inhalt der Einrichtung DO und das Zuführen der Resultate an den ersten Kanal eines SFM-Moduls.
- Es ist ersichtlich, daß die Programmiereinheit 2 und das CPU-Modul 1, die durch das Übertragungskabel 3 bei dieser Ausführungsform verbunden sind, ohne das Übertragungskabel direkt miteinander verbunden sein können. Alternativ kann die Programmiereinheit 2 durch das Übertragungskabel 3 mit einem Sonderfunktionsmodul zur Datenübertragung verbunden sein. Außerdem kann jedes der Sonderfunktionsmodule 4 als die Programmiereinheit 2 verwendet werden. Es ist ferner ersichtlich, daß die Sonderfunktionsmodul-Anweisung, die definiert ist als die Anweisung, deren Anweisungsname mit "Z_" beginnt, eine andere Kennung verwenden kann, solange die CPU diese Kennung erkennt, um die Anweisung als Sonderanweisung zu identifizieren.
- Zwischencodes, die aus Anweisungsnamen usw. umgewandelt und in dem Programmspeicher gespeichert sind, können ebenfalls genutzt werden, um festzustellen, ob eine Anweisung eine Sonderfunktionsmodul-Anweisung ist oder nicht, und zwar anstelle von Z_, das als das Kriterium definiert ist, das die Sonderfunktionsmodul-Anweisung bestimmt.
- Während ferner das CPU-Modul eine Unterbrechung erzeugt, um ein Sonderfunktionsmodul 4 aufzufordern, eine Anweisung auszuführen, kann ein Flipflop oder eine andere Einrichtung (nicht gezeigt) von dem CPU-Modul 1 gesetzt und von dem Sonderfunktionsmodul 4 aufgerufen werden, um festzustellen, ob eine Ausführungsanforderung vorliegt. Alternativ kann ein Ausführungs-Anforderungscode von dem CPU-Modul 1 in den Zweiportspeicher 41 in dem Sonderfunktionsmodul 4 geschrieben und von dem Sonderfunktionsmodul 4 aufgerufen werden, um festzustellen, ob eine Ausführungsanforderung vorliegt.
- Eine zweite Ausführungsform der vorliegenden Erfindung wird nachstehend unter Bezugnahme auf die Fig. 9a bis 9d und 10 beschrieben. Bei dieser Ausführungsform führt die CPU selbst eine gewisse Anweisungsverarbeitung durch, anstatt einfach nur eine an einem Sonderfunktionsmodul ausführbare Anweisung "abzuschicken".
- Die Fig. 9a bis 9d zeigen Beispiele der Strukturen (Informationen über Anweisungen, die Sonderfunktionsmodulen entsprechen) von Speichern 41, auf die Zugriff sowohl von dem CPU-Modul als auch von Sonderfunktionsmodulen erfolgen kann. Die Fig. 9a bis 9d zeigen beispielhafte Speicherstrukturen 41AB, 41BB, 41CB bzw. 41DB für verschiedene Sonderfunktionsmodule, wobei jede Speicheradresse durch eine Bytestelle repräsentiert ist. Ein Speicher für jedes Sonderfunktionsmodul ist in diesem Format konfiguriert. Eine Adresse 0 speichert die Gesamtzahl von einem Sonderfunktionsmodul entsprechenden Anweisungen 420 (Fig. 9a), die für das entsprechende Modul definiert sind. Danach speichern die Adressen Informationen über jede einem Sonderfunktionsmodul entsprechende Anweisung.
- Diese Informationen werden nachstehend beschrieben, wobei die erste Anweisung 421 als Beispiel dient. Ein Anweisungsname 421a der ersten Sonderfunktionsmodul-Anweisung ist als ein Zeichencode, beginnend an Adresse 1, gespeichert (Fig. 9a verwendet Adressen 1-10 zum Speichern dieses Codes). Die Anzahl von Vorrichtungsspeichern 421b, die durch diese Anweisung definiert ist, wird anschließend an Adresse 11 gespeichert, und die entsprechend verfügbaren Vorrichtungsspeicher werden nach Umsetzung in einen Code an Adresse 12 gespeichert. Wenn es also drei Vorrichtungen gibt, die in 421b bezeichnet sind, dann listet 421c drei Vorrichtungstypen auf. Eine Schreib/Lese-Segmentierung 421d ist an Adresse 13 gespeichert, die Kopfadresse 421e des Pufferspeichers, auf den Zugriff erfolgen soll, ist an Adresse 14 gespeichert, und die Anzahl von übertragenen Datenwörtern 421f ist an Adresse 15 gespeichert. Ein Quittungssignal, das von dem CPU-Modul zum Zeitpunkt der Informationsübertragung erzeugt werden muß, und sein EIN/AUS-Zustand 4219 sind an Adresse 16 gespeichert, und ein Flag 421h (das anzeigt, ob die Anweisung ausgeführt werden kann oder nicht) ist an Adresse 17 gespeichert.
- Die Information einer Anweisung ist somit als ein Informationsset 421, das Elemente 421a bis 421h aufweist, angegeben. Die Speicherplätze, die auf die Adresse 17 folgen, speichern gleichartige Informationen für jede der definierten, Sonderfunktionsmodulen entsprechenden Anweisungen (deren Anzahl an Adresse 0 gespeichert ist). Strukturbeispiele des Speichers 41 im Fall eines Zweikanal-D/A-Umsetzermoduls 41BB, eines Achtkanal-D/A-Umsetzermoduls 41CB bzw. eines Displaymoduls 41DB sind jeweils in den Fig. 9b bis 9d gezeigt.
- Fig. 10 ist ein Flußdiagramm, das einen Verarbeitungsablauf zeigt, der von dem CPU-Modul ausgeführt wird, wenn es die Sonderfunktionsmodul-Anweisungen ausführt, die in den Fig. 9a bis 9d angegeben sind.
- Wenn zu Beginn einer Programmschreibfolge unter Anwendung der Programmiereinrichtung 2 "Z_" eingegeben wird, erlaubt die Einrichtung dem Anwender anschließend, einen Anweisungsnamen einzugeben. Der Anwender erzeugt dann Programmschritte in dem in Fig. 1 gezeigten Format unter Anwendung der Programmiereinrichtung 2 und schreibt über das Übertragungskabel 3 dieses Programm in den Programmspeicher 11 des CPU-Moduls 1 ein. Anschließend läßt das CPU-Modul 1 das geschriebene Folgeprogramm in ihrem Programmspeicher 11 ablaufen.
- Zuerst fragt das CPU-Modul 1 in Schritt 201 (Fig. 10), ob die Anweisung eine Sonderfunktionsmodul-Anweisung ist, indem erkannt wird, ob die beiden ersten Zeichen ihres Namens "Z_" sind. Wenn nicht, dann wird in Schritt 208 eine normale Ablaufverarbeitung (d. h. die Verarbeitung einer normalen Anweisung) durchgeführt. Wenn ein "Z_" gefunden wird, liest das CPU-Modul 1 (in Schritt 202) die Anzahl von Anweisungen 420 (Fig. 9a), die für dieses Modul definiert sind, aus der Sonderfunktionsmodul-Anweisungsinformation aus, die in dem als Mehrrichtungs-Zugriffsspeicher ausgelegten Zweiportspeicher 41 gespeichert ist. Der Zweiportspeicher 41 ist in dem Sonderfunktionsmodul 4A (Fig. 5) vorgesehen, das in der Position installiert ist, die der E/A-Nummer entspricht, die von der Sonderfunktionsmodul-Anweisung bezeichnet ist, und Zugriff darauf kann sowohl von dem CPU-Modul als auch dem Sonderfunktionsmodul erfolgen. Die CPU sucht in den Sonderfunktionsmodul-Anweisungen in dem Speicher 41 nach einer Anweisung, die mit dem Zeichencode übereinstimmt, der auf das "Z_" folgte (in Schritt 201 identifiziert), und stellt fest, ob diese Anweisung für dieses Sonderfunktionsmodul definiert worden ist. Wenn keine passende Anweisung gefunden wird, betrachtet das CPU-Modul 1 diesen Anweisungsnamen als in dem Sonderfunktionsmodul nicht definiert und erkennt diesen Namen als einen Fehler und führt in Schritt 207 eine Fehlerabarbeitung aus. Wenn eine entsprechende Anweisung gefunden wird, betrachtet das CPU-Modul 1 diese Anweisung als definiert und geht zum nächsten Verarbeitungsschritt weiter.
- In Schritt 204 fragt das CPU-Modul 1 ab, ob die zur Ausführung der namentlich bezeichneten Anweisung erforderliche Information definiert worden ist (d. h. ob die Struktur dieser Anweisung für das vorgesehene Sonderfunktionsmodul korrekt ist). Diese notwendige Information umfaßt die Anzahl von Einrichtungsspeichern und ihre Typen. Die Anzahl von Einrichtungsspeichern ist durch Auflisten jedes Einrichtungsspeichers in dem Bereich 72 der Anweisung (Fig. 1) bezeichnet, wobei jeder dieser Einrichtungsspeichertypen den verfügbaren Einrichtungsspeicher in einem Code (F5H, F6H usw.) bezeichnet. Wenn die Struktur der Anweisung korrekt ist, prüft das CPU-Modul 1 auf der Basis des Ausführungsprüf-Flags in Schritt 205, ob die Anweisung ausgeführt werden kann oder nicht.
- Wenn sie ausführbar ist, führt das CPU-Modul 1 in Schritt 206 die Verarbeitung entsprechend der Sonderfunktionsmodul- Anweisungsinformation wie etwa der Schreib/Lese-Segmentierung, der Schreib/Lese-Kopfadresse, der überführten Datenwörter und des Quittungssignals (Einrichtungspeicher zum Zeitpunkt der Ausführung der Anweisung ein/auszuschalten sowie seinen EIN/AUS-Zustand) aus. Wenn die Anweisung nicht ausgeführt werden kann, tritt ein Fehler auf, und in Schritt 207 wird eine vorbestimmte Fehlerabarbeitung ausgeführt. Nachdem die Verarbeitung ohne Fehler oder Fehlerabarbeitung wie etwa einen Displayfehler beendet ist, wird in Schritt 209 die Verarbeitung der genannten Anweisung beendet. Danach springt der Ablauf zu Schritt 201 zurück und beginnt mit der Ausführung der nächsten Anweisung.
- Bei dieser Ausführungsform wird angenommen, daß Z_ANALOG_1 als eine Anweisung definiert wurde, um einen Analogwert an den ersten Kanal abzugeben (im Fall beispielsweise eines Sonderfunktionsmoduls, das zwei D/A-Umwandlungsmöglichkeiten hat), und daß der Anweisungsname Z_ANALOG_2 als eine Anweisung definiert worden ist, um einen Analogwert an den zweiten Kanal abzugeben. Gleichermaßen wird angenommen, daß in dem Achtkanal-D/A-Umsetzermodul (einem Sonderfunktionsmodul mit acht D/A-Umsetzungsmöglichkeiten) Z_ANALOG_1 als eine Anweisung definiert worden ist, um einen Analogwert an den ersten Kanal abzugeben, und Z_ANALOG_2 als eine Anweisung definiert worden ist, um einen Analogwert an den zweiten Kanal abzugeben. Der Name Z_ANALOG_8 ist als eine Anweisung definiert worden, um einen Analogwert an den achten Kanal des 8-Kanal-D/A-Moduls abzugeben. Außerdem wird angenommen, daß LOCATE als eine Anweisung zum Bezeichnen einer Displayposition und PRINT als eine Anzeigeanweisung innerhalb des Displaymoduls definiert worden sind.
- Zu diesem Zeitpunkt wird nun ein Programm zur Abgabe eines Analogwerts entsprechend den Inhalten der Einrichtung DO an den ersten Kanal betrachtet, wobei ein Zweikanal-D/A-Modul in der E/A-Position 50 installiert ist.
- Der Anwender erzeugt den Programmschritt 7A (Fig. 2) mit der Programmiereinrichtung 2 und schreibt ihn zusammen mit anderen Anweisungen in den Programmspeicher 11 des CPU-Moduls 1 ein. Später, zum Zeitpunkt der Ausführung, prüft die CPU, daß die beiden ersten Zeichen des Namens dieser Anweisung Z_ sind, um festzustellen, ob es sich um eine Sonderfunktionsmodul-Anweisung handelt. Das CPU-Modul 1 liest dann die Anzahl von Sonderfunktionsmodul-Anweisungen 430 (Fig. 9b) aus, die in dem Zweiportspeicher 41 im Fall des Zweikanal-D/A- Moduls, das in der durch diese Anweisung bezeichneten E/A- Position 50 (Fig. 2) installiert ist, gespeichert sind. Unter der Annahme, daß für dieses Modul vier Sonderfunktionsmodul-Anweisungen definiert worden sind (siehe Fig. 9b), prüft das CPU-Modul 1 sequentiell die Zeichencodes der vier Anweisungen. Im vorliegenden Fall ist die richtige Anzahl in der ersten Position 431 gespeichert. Daher wird die Verarbeitung entsprechend dieser ersten Sonderfunktionsmodul-Anweisungsinformation ausgeführt.
- Diese Information bedeutet, daß diese Anweisung einen Einrichtungsspeicher 431b mit einem Einrichtungstyp FSE bezeichnet. Das CPU-Modul 1 vergleicht diese Information mit dem Inhalt von DO in dem Programmspeicher 11 (Fig. 5), um festzustellen, ob die Information übereinstimmt. Das CPU- Modul 1 liest dann die Schreib/Lese-Segmentierung 431d, die Pufferspeicher-Kopfadresse 431e, die Anzahl von übertragenen Datenwörtern 431f, das Quittungssignal 431g und das Ausführungsprüf-Flag 431h und identifiziert die Anweisung als eine Anweisung zum Schreiben der Inhalte von DO in dem Einrichtungsspeicher 12 an die Adresse 2 des Pufferspeichers. Die CPU führt die Anweisung entsprechend dem Zustand des Ausführungsprüf-Flags aus (0 = ausführbar). Das Sonderfunktionsmodul gibt wie üblich an den ersten Kanal den Analogwert ab, der dem Inhalt von DO des Einrichtungsspeichers 12 entspricht.
- Im Fall der Abgabe eines Analogwerts, der dem Inhalt der Einrichtung D0 entspricht, an den ersten Kanal eines Achtkanal-D/A-Moduls, das in der Position der E/A-Nummer 50 installiert ist (Programmschritt 7A in Fig. 2), wird ein vollständig analoger Vorgang der Anweisungsausführung durchgeführt.
- Daher hat die Sonderfunktionsmodul-Anweisung, die eine gleichartige Funktion hat, denselben Anweisungsnamen Z_ANALOG_1, und der Anweisungsname zeigt ohne weiteres an, daß es sich um eine Anweisung zur Abgabe eines Analogwerts handelt.
- Es ist ersichtlich, daß das Verfahren der vorliegenden Erfindung zuläßt, daß Programme eingeschrieben werden, ohne daß auf die Speicheradressen der Zweiportspeicher in den Sonderfunktionsmodulen Rücksicht genommen wird. Die Operationsanweisungen, die an die Sonderfunktionsmodule gegeben werden, sind ohne weiteres zu identifizieren, die Programmzuverlässigkeit wird verbessert, und die Konstruktions- und Wartungs-Effizienz werden verbessert. Außerdem erlaubt die vorliegende Erfindung, daß geeignete Sonderfunktionsmodul- Anweisungen bereitgestellt werden, ohne daß das CPU-Modul betroffen ist, wenn die Zahl der Sonderfunktionsmodul-Typen zunimmt.
- Es ist ersichtlich, daß der Zweirichtungs-Zugriffsspeicher nicht auf den für die obigen Ausführungsformen beispielhaften Zweiportspeicher beschränkt ist und durch einen gewöhnlichen Speicher ersetzt werden kann, der mit einem Hardware-Wählschalter verwendet wird, um zwischen dem Daten- und dem Adreßbus der CPU-Einheit 1 und denen der Sonderfunktionseinheit 4 umzuschalten.
- Ferner ist auch ersichtlich, daß die Erfindung der CPU-Einheit erlaubt, ein Programm ablaufen zu lassen, das einen Schritt in einem Anweisungsformat hat, wobei ein Symbol, das eine einer Sonderfunktionseinheit entsprechende Anweisung bezeichnet, und ein Symbol, das einen Sonderfunktionstyp bezeichnet, unabhängig von Speicheradressen verwendet werden, und die der Sonderfunktionseinheit entsprechende Anweisung zu bestimmen. Ferner erlaubt es der Sonderfunktionseinheit, den Inhalt dieser Anweisung zu decodieren und auszuführen. Dieses Steuerverfahren erlaubt daher das Schreiben von Programmen, ohne daß der Anwender die Speicheradressen der Sonderfunktionseinheiten berücksichtigt. Dieses Verfahren erlaubt außerdem ein leichtes Erkennen des zu steuernden Objekts auf der Basis des Anweisungsformats und ergibt eine hohe Programmlesbarkeit und gewährleistet eine hohe Effizienz hinsichtlich der Programmauslegung und der Wartung.
Claims (7)
1. Verfahren zum Betreiben eines programmierbaren
Steuergeräts, das ein CPU-Modul (1) zur Ausführung einer
Ablaufprogrammsteuerung und Sonderfunktionsmodule (4) zur
Ausführung einer anderen Steuerung als der
Ablaufprogrammsteuerung in Abhängigkeit von
Sonderfunktionsmodul-Befehlen (7) von dem CPU-Modul (1) umfaßt, wobei
das Verfahren die folgenden Schritte aufweist:
a) Schreiben eines Steuerprogramms, das folgendes hat:
Ablaufprogrammbefehle und wenigstens einen
Sonderfunktionsmodul-Befehl (7), wobei der
Sonderfunktionsmodul-Befehl ein Funktionssymbol, das ihn als
einen Sonderfunktionsmodul-Befehl (7) kennzeichnet,
ein Namenssymbol, das die Art der auszuführenden
Operation bezeichnet, und eine Positionsnummer hat,
die das gewünschte Sonderfunktionsmodul (4)
bezeichnet;
b) Speichern dieses Steuerprogramms in einem
Programmspeicher (11); und
c) Ausführen der Befehle des Steuerprogramms, wobei
die Ausführung für jeden aktuellen Befehl den
Schritt (113) aufweist: Bestimmen auf der Basis der
Anwesenheit des Funktionssymbols, ob der Befehl ein
Sonderfunktionsmodul-Befehl (7) ist.
2. Verfahren nach Anspruch 1, wobei, wenn der aktuelle
Befehl ein Sonderfunktionsmodul-Befehl (7) ist, der
Ausführungsschritt c) ferner folgendes aufweist:
den Schritt (114) des Übertragens der Inhalte des
Sonderfunktionsmodul-Befehls (7) zu einem
Mehrrichtungs-Zugriffsspeicher
(41) des bezeichneten
Sonderfunktionsmoduls (4); und
den Schritt (116) des Aufforderns des
Sonderfunktionsmoduls (4), den Sonderfunktionsmodul-Befehl
(7) auszuführen.
3. Verfahren nach Anspruch 2, wobei der Ausführungsschritt
c) ferner folgendes aufweist:
die Schritte (124, 125) des Decodierens und
Ausführens der Inhalte des
Sonderfunktionsmodul-Befehls (7) in dem Sonderfunktionsmodul (4), nachdem
die Aufforderung ergangen ist und nach einem
Schritt (123) des Bestimmens, daß das Namenssymbol
des Sonderfunktionsmodul-Befehls (7) einem der
gültigen, vorher definierten Namen entspricht, die
in dem Sonderfunktionsmodul (4) gespeichert sind.
4. Verfahren nach einem der Ansprüche 2 oder 3, wobei der
Übertragungsschritt (114) umfaßt: Speichern des
Sonderfunktionsmodul-Befehls (7) und aller entsprechenden
Daten von einem Gerätespeicher (12) in dem
Mehrrichtungs-Zugriffsspeicher (41) des bezeichneten
Sonderfunktionsmoduls (4).
5. Verfahren nach einem der Ansprüche 1 bis 5, wobei die
Ausführung durch Erkennen eines eindeutigen
Zeichencodes als das Funktionssymbol bestimmt, ob der aktuelle
Befehl ein Sonderfunktionsmodul-Befehl ist.
6. Verfahren nach Anspruch 1, wobei die Bestimmung in dem
Ausführungsschritt c) ferner aufweist: Vergleichen des
aktuellen Befehlsnamenssymbols mit einem vorher
definierten gültigen Befehlsnamen, der in dem bezeichneten
Sonderfunktionsmodul (4) gespeichert ist, um zu
bestimmen,
ob dieser Befehlsname für dieses Modul (4)
gültig ist.
7. Verfahren nach Anspruch 1, wobei bei der Ausführung des
Steuerprogramms das CPU-Modul (1) die folgenden
Schritte durchführt:
Bestimmen (201), ob der aktuelle Befehl ein
Sonderfunktionsmodul-Befehl (7) ist,
Bestimmen (203), ob das Namenssymbol des bestimmten
Sonderfunktionsmodul-Befehls mit einem vorher
definierten gültigen Namen für das bezeichnete
Sonderfunktionsmodul (4) übereinstimmt, durch Auslesen der
vorher definierten Namen aus dem Speicher (41) des
bezeichneten Moduls und Vergleichen derselben mit
dem Namenssymbol des bestimmten
Sonderfunktionsmodul-Befehls,
Bestimmen (204), ob die erforderliche Struktur zur
Ausführung des genannten Befehls für das bezeichnete
Modul (4) korrekt ist,
Auffordern (206) des bezeichneten Sonderfunktions
moduls (4), den Sonderfunktionsmodul-Befehl (7)
auszuführen,
wobei das Sonderfunktionsmodul (4) den
Sonderfunktionsmodul-Befehl (7) in Abhängigkeit von der
Befehlsinformation in seinem Mehrrichtungs-Zugriffsspeicher
(41) ausführt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29450490 | 1990-10-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69124066D1 DE69124066D1 (de) | 1997-02-20 |
DE69124066T2 true DE69124066T2 (de) | 1997-08-21 |
Family
ID=17808633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69124066T Expired - Lifetime DE69124066T2 (de) | 1990-10-31 | 1991-10-31 | Prozesssteuerungsgerät |
Country Status (4)
Country | Link |
---|---|
US (1) | US5577216A (de) |
EP (1) | EP0483862B1 (de) |
DE (1) | DE69124066T2 (de) |
HK (1) | HK1006042A1 (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5765000A (en) * | 1994-12-29 | 1998-06-09 | Siemens Energy & Automation, Inc. | Dynamic user interrupt scheme in a programmable logic controller |
US7689810B2 (en) * | 2006-06-21 | 2010-03-30 | Qualcomm Incorporated | Processor generating control signals including detection duration for satellite positioning system ranging signal detection circuit |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1024656A (en) * | 1974-06-17 | 1978-01-17 | William J. Danco | Programmable data processor and controller system |
DE3242631A1 (de) * | 1981-11-18 | 1983-05-26 | Omron Tateisi Electronics Co., Kyoto | Programmierbare steuereinrichtung |
JPS63273101A (ja) * | 1987-04-30 | 1988-11-10 | Fanuc Ltd | プログラマブル・コントロ−ラ |
US4937777A (en) * | 1987-10-07 | 1990-06-26 | Allen-Bradley Company, Inc. | Programmable controller with multiple task processors |
-
1991
- 1991-10-31 DE DE69124066T patent/DE69124066T2/de not_active Expired - Lifetime
- 1991-10-31 EP EP91118643A patent/EP0483862B1/de not_active Expired - Lifetime
-
1994
- 1994-03-30 US US08/219,874 patent/US5577216A/en not_active Expired - Lifetime
-
1998
- 1998-06-10 HK HK98105123A patent/HK1006042A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP0483862A3 (en) | 1993-11-18 |
EP0483862A2 (de) | 1992-05-06 |
HK1006042A1 (en) | 1999-02-05 |
DE69124066D1 (de) | 1997-02-20 |
EP0483862B1 (de) | 1997-01-08 |
US5577216A (en) | 1996-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3854481T2 (de) | Datenverarbeitungsverfahren in einem dezentralisierten Verarbeitungssystem. | |
DE3650233T2 (de) | Verfahren zur Wiedergewinnung verteilter Dateien und System zur Anwendung des Verfahrens. | |
DE3854594T2 (de) | Programmierbare Steuerung mit parallelen Prozessoren. | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE3346816C2 (de) | ||
DE1499182C3 (de) | Datenspeichersystem | |
DE2936913C2 (de) | Anordnung zur Steuerung von Eingabe und Ausgabe bei einer programmierbaren Logiksteuerung | |
DE69121937T2 (de) | Verfahren und Gerät zum teilweisen Lauf eines Sequenzprogramms zwecks Fehlersuche | |
DE69031782T2 (de) | Verfahren zum Ersetzen von Speichermodulen in einem Computersystem und Computersystem zur Durchführung des Verfahrens | |
DE2844357A1 (de) | Speichererweiterung | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE1524102B2 (de) | Elektronische, aus baueinheiten aufgebaute datenverarbeitungsmaschine | |
DE69122142T2 (de) | Steuerungsanlage für ein Mehrprozessorsystem | |
DE69431379T2 (de) | Dateiverwaltungssystem mit flexibler Dateigrösse | |
DE2063195C2 (de) | Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern | |
DE4106164A1 (de) | Verfahren zum suchen und beseitigen von programmfehlern durch ausfuehren eines blockmodenlaufes | |
DE2935101C2 (de) | ||
DE19739513B4 (de) | Reserve-Redunanzsystem | |
DE3938950C2 (de) | ||
DE69031361T2 (de) | Taktsignalgeneratorsystem | |
DE69124066T2 (de) | Prozesssteuerungsgerät | |
DE10218816A1 (de) | Programmierbares Steuerungssystem | |
DE19548356C2 (de) | Steuergerät für eine Nähmaschine | |
DE69213413T2 (de) | Zwischenprozessor-Kommunikationsystem und Verfahren für Mehrprozessorschaltkreis | |
DE2932394A1 (de) | Intelligente, programmierbare prozessteueranordnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) |