DE69625041T2 - Verfahren und vorrichtung zur informationsbehandlung - Google Patents

Verfahren und vorrichtung zur informationsbehandlung

Info

Publication number
DE69625041T2
DE69625041T2 DE69625041T DE69625041T DE69625041T2 DE 69625041 T2 DE69625041 T2 DE 69625041T2 DE 69625041 T DE69625041 T DE 69625041T DE 69625041 T DE69625041 T DE 69625041T DE 69625041 T2 DE69625041 T2 DE 69625041T2
Authority
DE
Germany
Prior art keywords
sequence
processing
information processing
execution
processing device
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 - Fee Related
Application number
DE69625041T
Other languages
English (en)
Other versions
DE69625041D1 (de
Inventor
Goro Fukutome
Katsuhiko Ichimura
Takeshi Nakata
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Publication of DE69625041D1 publication Critical patent/DE69625041D1/de
Application granted granted Critical
Publication of DE69625041T2 publication Critical patent/DE69625041T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13076Interprete in pc a ladder diagram, use of sequence engine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15101Personal computer pc and plc, slot plc, same kernel

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Description

  • Die vorliegende Erfindung betrifft eine Informationsverarbeitungsvorrichtung und ein Informationsverarbeitungsverfahren zum Durchführen einer Ablauf Verarbeitung wie z. B. eine programmierbare Logiksteuereinheit (die nachstehend als "PLC" bezeichnet wird), sowie einer Informationsverarbeitung, und betrifft insbesondere eine Vorrichtung und ein Verfahren zur Informationsverarbeitung, die eine kostengünstige Konstruktion eines gesamten Systems unter Verwendung eines Universalcomputers ermöglichen und auch eine Informationsverarbeitung mit einem minimalen Einfluss, der auf einen Zyklus der Ablaufverarbeitung ausgeübt wird, ermöglichen.
  • Solche Informationsverarbeitungsvorrichtungen wurden in letzter Zeit vorgeschlagen, die eine Ablauf Verarbeitung einer PLC oder dergleichen unter Verwendung eines Universal-Personalcomputers durchführen und auch eine Informationsverarbeitung durchführen. Diese Informationsverarbeitungsvorrichtungen, die Universalpersonalcomputer verwenden, können in die folgenden klassifiziert werden:
  • (1) Ein Typ, bei dem eine PLC-Platine mit einem Steckplatz eines Universalcomputers verbunden ist (welcher als "Platinen-PLC" bezeichnet wird).
  • (2) Ein Typ, bei dem ein Universal-Personalcomputer zu einer PLC hinzugefügt ist (welcher als "PLC + Personalcomputer" bezeichnet wird), und
  • (3) ein Typ, bei dem eine vorgesehene Funktion durch eine Software in einem Universal-Personalcomputer bereitgestellt wird (welcher als "Software-PLC" bezeichnet wird).
  • Fig. 16 ist ein Blockdiagramm, das eine schematische Struktur der Platinen-PLC zeigt. Die Platinen-PLC 15 weist eine Struktur auf, bei der eine PLC-Platine 20 durch einen Personalcomputer-Erweiterungsbus 30 mit einem Steckplatz eines Universal-Personalcomputers 10 (welcher nachstehend einfach als "Personalcomputer" bezeichnet wird) verbunden ist.
  • Der Personalcomputer 10 umfasst eine Mikroprozessoreinheit (MPU1) 11 und einen Arbeitsspeicher 12.
  • Die PLC-Platine 20 umfasst einen Steuerinterpretierer 21, einen Speicher 22, eine Mikroprozessoreinheit (MPU2) 23, einen Festwertspeicher (ROM) 24 und einen Puffer 25.
  • Der Speicher 22 umfasst einen Benutzerspeicher UM zum Speichern eines Steuerprogramms, das ein Benutzerprogramm ist, und einen Eingabe/Ausgabe-Speicher IOM zum Speichern einer Eingabe/Ausgabe-Information.
  • In der obigen Struktur weist der Steuerinterpretierer 21 eine Funktion als Bussteuereinheit auf, so dass die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 auf den Speicher 22 der PLC-Platine 20 über den Personalcomputer-Erweiterungsbus 30 zugreifen kann. Der Steuerinterpretierer 21 kann auf den Arbeitsspeicher 12 des Personalcomputers 10 über den Personalcomputer- Erweiterungsbus 30 zugreifen.
  • Die Verarbeitung der PLC kann grundsätzlich in zwei Verarbeitungsarten klassifiziert werden, d. h. "Befehlsausführung" zum Interpretieren und Ausführen eines Steuerprogramms und "Peripherieverarbeitung" zum Durchführen einer Eingangsauffrischung (EIN-Auffrischung) und Ausgangsauffrischung (AUS-Auffrischung) eines Eingangs/Ausgangs-Anschlusses (E/A) und andere.
  • In der in Fig. 16 gezeigten Platinen-PLC ruft der Steuerinterpretierer 21 ein Steuerprogramm, das im Benutzerspeicher UM des Speichers 22 gespeichert ist, für die obige "Befehlsausführung" ab und decodiert es.
  • Im Festwertspeicher (ROM) 24 in der PLC-Platine 20 ist ein Peripherieverarbeitungsprogramm für die vorangehende "Peripherieverarbeitung" gespeichert. Die Mikroprozessoreinheit (MPU2) 23 führt die "Peripherieverarbeitung" unter Verwendung des im Festwertspeicher (ROM) 24 gespeicherten Peripherieverarbeitungsprogramms aus.
  • Bei der vorangehenden Struktur verwendet der Personalcomputer 10 den Arbeitsspeicher 12 zum Ausführen einer vorbestimmten Informationsverarbeitung.
  • Die vorstehend beschriebene "PLC + Personalcomputer" unterscheidet sich von der obigen Platinen-PLC insofern, als die PLC nicht aus einer PLC-Platinen-Struktur besteht, und ist grundsätzlich dieselbe wie die PLC-Platine.
  • Fig. 17 zeigt Schritte der Verarbeitung durch die obige PLC und "PLC + Personalcomputer". Obwohl Fig. 17 die Schritte der Verarbeitung durch die in Fig. 16 gezeigte Platinen-PLC zeigt, werden die Schritte der Verarbeitung durch die "PLC + Personalcomputer" ähnlich zu den in Fig. 17 gezeigten durchgeführt.
  • In Fig. 17 ruft der Steuerinterpretierer 21 der PLC-Platine 20 zuerst ein Steuerprogramm, das im Benutzerspeicher UM des Speichers 22 in der PLC-Platine 20 gespeichert ist, auf und decodiert es, um eine "Befehlsausführung" durchzuführen (Schritt S101). Die Ergebnisse dieser "Befehlsausführung" werden in den E/A-Speicher IOM geschrieben und dadurch werden die Ergebnisse der "Befehlsausführung" im E/A- Speicher IOM des Speichers 22 der PLC-Platine 20 widergespiegelt. Wenn eine "Befehlsausführung" vollendet ist, wird eine Anforderung zur "Peripherieverarbeitung" zur Mikroprozessoreinheit (MPU2) 23 der PLC-Platine 20 gesandt, und die Mikroprozessoreinheit (MPU2) 23 der PLC-Platine 20 führt die "Peripherieverarbeitung" auf der Basis eines im Festwertspeicher (ROM) 24 gespeicherten Peripherieverarbeitungsprogramms durch (Schritt S102).
  • Anschließend liest der Personalcomputer 10 den Inhalt des E/A-Speichers IOM aus, um Daten, die im Personalcomputer 10 gespeichert sind, mit Daten, die in der PLC-Platine 20 gespeichert sind (d. h. Daten, die im Speicher 22 der PLC- Platine 20 gespeichert sind), zu vergleichen, und ein "Datenaustausch" zwischen dem Personalcomputer 10 und der PLC-Platine 20 wird durchgeführt (Schritt S103).
  • Anschließend arbeitet die Vorrichtung ähnlich und führt insbesondere eine "Befehlsausführung" durch den Steuerinterpretierer 21 (Schritt S104), eine "Peripherieverarbeitung" durch die Mikroprozessoreinheit (MPU2) 23 (Schritt S105), eine "Befehlsausführung" durch den Steuerinterpretierer 21 (Schritt S106), eine "Peripherieverarbeitung" durch die Mikroprozessoreinheit (MPU2) 23 (Schritt S107), einen "Datenaustausch" zwischen dem Personalcomputer 10 und der PLC-Platine 20 (Schritt S108), eine "Befehlsausführung" durch den Steuerinterpretierer 21 (Schritt S109) und eine "Peripherieverarbeitung" durch die Mikroprozessoreinheit (MPU2) 23 (Schritt S110) durch.
  • Der Personalcomputer 10 führt eine vorbestimmte "Informationsverarbeitung" durch, während der "Datenaustausch" zwischen dem Personalcomputer 10 und der PLC-Platine 20 des Personalcomputers 10 nicht durchgeführt wird (Schritte S112 und S113).
  • Die Platinen-PLC und die "PLC + Personalcomputer" sind dazu ausgelegt, folgendermaßen zu arbeiten. Die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10, die eine Informationsverarbeitung durchführt, wird jedes Mal benachrichtigt, dass der "Datenaustausch" zugelassen wird, wenn die PLC-Platine 20 oder die nicht dargestellte PLC einen Zyklus einer Ablaufsteuerung vollendet, der aus einer "Befehlsausführung" und einer "Peripherieverarbeitung" besteht. Wenn die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 zu diesem Zeitpunkt bereits einen Zyklus der "Informationsverarbeitung" vollendet hat, wird der "Datenaustausch" durchgeführt. Wenn die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 noch nicht einen Zyklus der "Informationsverarbeitung" vollendet hat, wird der "Datenaustausch" nicht durchgeführt, und die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 fährt mit der "Informationsverarbeitung" fort. Somit wird in der Platinen-PLC und der "PLC + Personalcomputer" eine "Informationsverarbeitung" durch die Mikroprozessoreinheit (MPU1) 11 oder den Personalcomputer 10 derart durchgeführt, dass der "Datenaustausch" zwischen dem Personalcomputer 10 und der. PLC-Platine 20 nicht während eines Zyklus der "Informationsverarbeitung" vom Beginn bis zur Vollendung der "Informationsverarbeitung" durchgeführt wird.
  • Fig. 18 zeigt Schritte einer Verarbeitung durch die vorangehende Software-PLC. In dieser Software-PLC werden die "Befehlsausführung", die "Peripherieverarbeitung" und die "Informationsverarbeitung" nur vom Personalcomputer 10, der in Fig. 16 dargestellt ist, durchgeführt.
  • Zuerst ruft die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 ein Steuerprogramm, das im Benutzerspeicher UM gespeichert ist, auf und decodiert es, um eine "Befehlsausführung" durchzuführen (Schritt S121). Dann führt die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 eine "Peripherieverarbeitung" (Schritt S122) und einen "Datenaustausch" (Schritt S124) durch, und anschließend führt die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 die "Informationsverarbeitung" durch (Schritt S124).
  • Anschließend arbeitet die Vorrichtung ähnlich und insbesondere wiederholt die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 die "Befehlsausführung" (Schritt S125), die "Peripherieverarbeitung" (Schritt S125), den "Datenaustausch" (Schritt S127) und die "Informationsverarbeitung" (Schritt S128).
  • In den obigen Schritten der Verarbeitung durch die Software-PLC wird die "Informationsverarbeitung" jedes Mal durchgeführt, wenn die "Ablaufsteuerung" mehrere Male durchgeführt wird, angesichts eines Volumens der "Informationsverarbeitung" und einer Periode der "Ablaufsteuerung", die aus der "Befehlsausführung" und der "Peripherieverarbeitung" besteht.
  • Fig. 19 ist ein Ablaufplan, der speziell Schritte der Verarbeitung der in Fig. 18 gezeigten Software-PLC zeigt. Mit Bezug auf Fig. 19 werden beim Start (Schritt S161) das Einschalten und insbesondere das anfängliche Setzen durchgeführt (Schritt S162), und dann wird ein im Benutzerspeicher UM gespeichertes Steuerprogramm abgerufen und decodiert (Schritt S163), um die "Befehlsausführung" durchzuführen (Schritt S164).
  • Die Ergebnisse der Ausführung werden in den E/A-Speicher IOM geschrieben, so dass die Ergebnisse der Ausführung im E/A-Speicher IOM widergespiegelt werden (Schritt S165).
  • Dann wird festgestellt, ob diese "Befehlsausführung" beendet ist oder nicht (S166). Wenn nicht (NEIN in Schritt S166), kehrt der Prozess zu Schritt S163 zurück und die Verarbeitung von Schritt S163 bis Schritt S166 wird wiederholt. Wenn festgestellt wird, dass die "Befehlsausführung" beendet ist (JA in Schritt S166), dann wird die Peripherieverarbeitung wie z. B. E/A-Auffrischung ausgeführt (Schritt S167).
  • Es wird festgestellt, ob das im Benutzerspeicher UM gespeicherte Steuerprogramm vollständig beendet ist oder nicht (Schritt S168). Wenn nicht (NEIN in Schritt S168), kehrt der Prozess zu Schritt S163 zurück. Wenn festgestellt wird, dass das Steuerprogramm beendet ist (JA in Schritt S168), wird der Prozess beendet (Schritt S169).
  • Fig. 20 ist ein Ablaufplan, der die Schritte der Verarbeitung durch den Personalcomputer in der Platinen- PLC, der "PLC + Personalcomputer" und der Software-PLC zeigt. Wenn der Personalcomputer startet (Schritt S131), wird zuerst festgestellt, ob eine Anforderung für einen Datenaustausch vorliegt oder nicht (Schritt S132). Wenn sie vorliegt (JA in Schritt S132), wird der "Datenaustausch" durchgeführt (Schritt S133), und dann wird die "Informationsverarbeitung" ausgeführt (Schritt S134). Dann wird festgestellt, ob die "Informationsverarbeitung" beendet ist oder nicht (Schritt S135). Wenn nicht (NEIN in Schritt S135), kehrt der Prozess zu Schritt S134 zurück und diese "Informationsverarbeitung" wird fortgesetzt. Wenn in Schritt S135 festgestellt wird, dass die "Informationsverarbeitung" beendet ist (JA in Schritt 135), dann wird festgestellt, ob die gesamte Verarbeitung beendet ist oder nicht (Schritt S136). Wenn nicht (NEIN in Schritt S136), kehrt der Prozess zu Schritt S132 zurück und die Verarbeitung von Schritt S132 bis zu Schritt 136 wird wiederholt. Wenn in Schritt S136 festgestellt wird, dass die gesamte Verarbeitung beendet ist (JA in Schritt S136), wird dieser Prozess beendet (Schritt S137).
  • Fig. 21 zeigt insbesondere Schritte der Verarbeitung in der Platinen-PLC und der "PLC + Personalcomputer". Mit Bezug auf Fig. 21 wird eine Beschreibung der Schritte der Verarbeitung durch die in Fig. 16 gezeigte Platinen-PLC gegeben. Die Schritte der Verarbeitung durch die "PLC + Personalcomputer" sind jedoch im Wesentlichen dieselben wie die in Fig. 21 gezeigten.
  • Mit Bezug auf Fig. 21 werden beim Start (Schritt S141) die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 sowie die Mikroprozessoreinheit (MPU2) 23 und der Steuerinterpretierer 21 der PLC-Platine 20 eingeschaltet und das anfängliche Setzen von diesen wird durchgeführt (Schritt S142). Dann wird der Start der PLC befohlen (Schritt S143), und dadurch befiehlt die Mikroprozessoreinheit (MPU2) 23 der PLC-Platine 20 den Start des Steuerinterpretierers 21 (Schritt S151).
  • Nach dem Start des Steuerinterpretierers 21 der PLC-Platine 20 (Schritt S152) führt der Steuerinterpretierer 21 die "Befehlsausführung" durch Abrufen und Decodieren eines im Benutzerspeicher UM des Speichers 22 in der PLC-Platine 20 gespeicherten Steuerprogramms durch (Schritt S153). Die Ergebnisse dieser Ausführung werden in den E/A-Speicher IOM des Speichers 22 geschrieben, so dass die Ergebnisse der Ausführung im E/A-Speicher IOM widergespiegelt werden.
  • Nach der Beendung einer "Befehlsausführung" sendet der Steuerinterpretierer 21 eine Anforderung für eine "Peripherieverarbeitung" zur Mikroprozessoreinheit (MPU2) 23 der PLC-Platine 20 und die Mikroprozessoreinheit (MPU2) 23 der PLC-Platine 20 führt die "Peripherieverarbeitung" auf der Basis eines im Festwertspeicher (ROM) 24 gespeicherten Peripherieverarbeitungsprogramms durch (Schritt S154).
  • Die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 befiehlt den Start der PLC in Schritt S143 und stellt dann fest, ob Daten, die eine Informationsverarbeitung benötigen, vorhanden sind oder nicht (Schritt S144). Wenn Daten, die eine Informationsverarbeitung erfordern, vorhanden sind (JA in Schritt S144), wird die "Informationsverarbeitung" durchgeführt (Schritt S145). Wenn diese "Informationsverarbeitung" beendet ist, wird die Mikroprozessoreinheit (MPU2) 23 der PLC-Platine 20 benachrichtigt, dass auf einen Datenaustausch gewartet wird (Schritt S146).
  • Wenn in Schritt S144 festgestellt wird, dass keine Daten, die eine Informationsverarbeitung erfordern, vorhanden sind (NEIN in Schritt S144), geht der Prozess zu Schritt 146 weiter, ohne in Schritt S145 eine "Informationsverarbeitung" durchzuführen, und die Tatsache, dass auf einen Datenaustausch gewartet wird, wird an die Mikroprozessoreinheit (MPU2) 23 der PLC-Platine 20 gemeldet.
  • Wenn die "Peripherieverarbeitung" in Schritt S154 beendet ist, stellt die Mikroprozessoreinheit (MPU2) 23 der PLC- Platine 20 fest, ob die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 eine Meldung zum Warten auf einen Datenaustausch ausgegeben hat (Schritt S155). Wenn nicht (NEIN in Schritt S155), kehrt der Prozess zu Schritt S153 zurück.
  • Wenn in Schritt S155 festgestellt wird, dass eine Benachrichtigung zum Warten auf einen Datenaustausch vorliegt (JA in Schritt S155), wird eine Benachrichtigung, dass ein Datenaustausch zugelassen wird, zur Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 gesandt (Schritt S156).
  • Die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 stellt fest, ob die Mikroprozessoreinheit (MPU2) 23 der PLC-Platine 20 gemeldet hat oder nicht, dass ein Datenaustausch zugelassen ist, d. h. ob ein Datenaustausch zugelassen ist oder nicht (Schritt S147), nach dem Benachrichtigen der Mikroprozessoreinheit (MPU2) 23 der PLC-Platine 20, dass auf einen Datenaustausch gewartet wird. Wenn ein Datenaustausch nicht zugelassen ist (NEIN in Schritt S147), kehrt der Prozess zu Schritt S146 zurück.
  • Wenn in Schritt S147 festgestellt wird, dass ein Datenaustausch zugelassen ist (JA in Schritt S147), wird der "Datenaustausch" zwischen der Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 und der Mikroprozessoreinheit (MPU2) 23 der PLC-Platine 20 durchgeführt (Schritte S148 und S157).
  • Die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 stellt dann fest, ob die gesamte "Informationsverarbeitung" beendet ist oder nicht (Schritt S149). Wenn die gesamte "Informationsverarbeitung" nicht beendet ist (NEIN in Schritt S149), kehrt der Prozess zu Schritt S145 zurück und die Verarbeitung von Schritt S145 bis zu Schritt S149 wird wiederholt. Wenn in Schritt S149 festgestellt wird, dass die gesamte "Informationsverarbeitung" beendet ist (JA in Schritt S149), beendet die Mikroprozessoreinheit (MPU1) 11 des Personalcomputers 10 die Verarbeitung (Schritt S150).
  • Die Mikroprozessoreinheit (MPU2) 23 der PLC-Platine 20 stellt fest, ob die gesamte "Ablauf Verarbeitung" beendet ist oder nicht, wenn der "Datenaustausch" beendet ist (Schritt S158). Wenn die gesamte "Ablauf Verarbeitung" nicht beendet ist (NEIN in Schritt S158), kehrt der Prozess zu Schritt S153 zurück und die Verarbeitung ausgehend von Schritt S153 wird wiederholt. Wenn in Schritt S158 festgestellt wird, dass die gesamte "Ablaufverarbeitung" beendet ist (JA in Schritt S158), wird die Verarbeitung durch die Mikroprozessoreinheit (MPU2) 23 der PLC-Platine 20 beendet (Schritt S159).
  • Die vorstehend beschriebene Platinen-PLC, "PLC + Personalcomputer" und Software-PLC erfordern einen "Datenaustausch" durch Auslesen des Inhalts des E/A- Speichers ION durch den Personalcomputer. Die Feststellung, ob der "Datenaustausch" durch den Personalcomputer durchgeführt werden soll oder nicht, wird jedoch nur durchgeführt, wenn die "Informationsverarbeitung" vom Personalcomputer beendet ist. Somit fährt gemäß der Platinen-PLC, "PLC + Personalcomputer" und Software-PLC der Personalcomputer mit der "Informationsverarbeitung" bis zum Ende der "Informationsverarbeitung" fort und stellt fest, ob der "Datenaustausch" durchgeführt werden soll oder nicht, wenn die "Informationsverarbeitung" beendet ist.
  • Gemäß der Software-PLC" wird die Operation der "Informationsverarbeitung" nur durchgeführt, wenn eine konstante Anzahl von Anforderungen für einen Datenaustausch gezählt wird. In diesem Fall wird die obige konstante Anzahl verwendet, um ein Verhältnis zwischen den Malen der "Ablaufsteuerung" und den Malen der "Informationsverarbeitung" einzustellen.
  • Die Platinen-PLC und die "PLC + Personalcomputer" müssen zweckgebundene Mikroprozessoreinheiten zum Durchführen der "Befehlsausführung" und der "Peripherieverarbeitung" sowie Speicher zum Speichern des Peripherieverarbeitungsprogramms verwenden, was zu teuren Strukturen führt.
  • Gemäß der Software-PLC werden ein Zyklus der "Ablauf Verarbeitung" und ein Zyklus der "Informationsverarbeitung" nacheinander durchgeführt, so dass vor dem Start eines anschließenden Zyklus der "Ablaufsteuerung" nachteiligerweise eine lange Zeit erforderlich ist.
  • Gemäß der Software-PLC wird das Benutzerprogramm durch Abrufen und Decodieren des im Benutzerspeicher UM gespeicherten Steuerprogramms ausgeführt und dadurch wird die "Befehlsausführung", die Ergebnisse der Ausführung im E/A-Speicher IOM widerspiegelt, durchgeführt. Nachdem das Steuerprogramm, das im Benutzerspeicher UM gespeichert ist, vollständig ausgeführt ist, wird die "Peripherieverarbeitung" durchgeführt und insbesondere der Zustand von jedem E/A-Anschluss E/A wird im E/A-Speicher IOM durch eine E/A-Auffrischung widergespiegelt. Da die vorangehenden Operationen als ein Zyklus des Prozesses durchgeführt werden, ist eine Ausführungsgeschwindigkeit nachteiligerweise langsam.
  • Folglich besteht eine Aufgabe der vorliegenden Erfindung darin, eine Informationsverarbeitungsvorrichtung und ein Informationsverarbeitungsverfahren bereitzustellen, die eine kostengünstige Struktur eines gesamten Systems ermöglichen und eine Informationsverarbeitung mit einem minimierten Einfluss, der auf einen Zyklus einer Ablauf Verarbeitung ausgeübt wird, durchführen können.
  • Eine weitere Aufgabe der Erfindung besteht darin, eine Vorrichtung und ein Verfahren zur Ablaufsteuerung bereitzustellen, die eine kostengünstige Struktur eines gesamten Systems ermöglichen und eine Ausführungsgeschwindigkeit erhöhen können.
  • In EP-A-0 647 891 ist ein Verarbeitungsmodul für ein Automatisierungssystem mit einer Zentralverarbeitungseinheit und nachfolgenden Peripherieeinheiten, z. B. E/A-Einheiten, offenbart, wobei diese Peripherieeinheiten über einen Vorrichtungsbus gekoppelt werden können, wobei das Verarbeitungsmodul einen Speicher aufweist.
  • In EP-A-0 586 813 ist eine programmierbare Steuereinheit mit Kettendiagramm-Makrobefehlen offenbart.
  • In EP-A-0 473 086 ist ein Prozessor für eine programmierbare Steuereinheit offenbart.
  • Diese Dokumente umfassen den Stand der Technik, wie beschrieben, und auf diese wird durch den Oberbegriff der unabhängigen Ansprüche Bezug genommen.
  • Eine Informationsverarbeitungsvorrichtung nach Anspruch 1 umfasst eine Datenverarbeitungsvorrichtung, die mit einem Prozessor und einem internen Bus, der mit dem Prozessor verbunden ist, versehen ist, und eine Ablaufbefehls- Ausführungseinheit, die mit dem internen Bus verbunden ist. In dieser Informationsverarbeitungsvorrichtung umfasst die Datenverarbeitungsvorrichtung oder die Ablaufbefehls- Ausführungseinheit einen Benutzerspeicher zum Speichern eines Ablauf Programms, das von einem Benutzer vorbereitet wird, und einen E/A-Seicher zum Speichern eines Zustands einer Eingabe/Ausgabe. Eine E/A-Platine, die mit einer externen Vorrichtung verbunden ist, die durch einen Befehl des Ablaufprogramms gesteuert wird, ist unabhängig von der Ablaufbefehls-Ausführungseinheit mit dem internen Bus verbunden.
  • Da die E/A-Platine, die mit der externen Vorrichtung verbunden ist, welche durch den Befehl des vom Benutzer vorbereiteten Ablaufprogramm gesteuert wird, unabhängig von der Ablaufbefehls-Ausführungseinheit mit dem internen Bus verbunden ist, kann die Systemkonstruktion vereinfacht werden. Ferner tritt zwischen der Operation der externen Vorrichtung und der Operation der Ablaufbefehls- Ausführungseinheit, die durch den Befehl des Ablaufprogramms gesteuert wird, keine gegenseitige Störung auf, so dass die Informationsverarbeitung mit einem minimierten Einfluss, der auf den Zyklus der Ablauf Verarbeitung ausgeübt wird, durchgeführt werden kann.
  • Gemäß einem weiteren Aspekt, umfasst eine Informationsverarbeitungsvorrichtung eine Datenverarbeitungsvorrichtung, die mit einem Prozessor und einem internen Bus, der mit dem Prozessor verbunden ist, versehen ist, und eine Ablaufbefehls-Ausführungseinheit, die mit dem internen Bus verbunden ist. Die Datenverarbeitungsvorrichtung oder die Ablaufbefehls- Ausführungseinheit umfasst einen Benutzerspeicher zum Speichern eines von einem Benutzer vorbereiteten Ablaufprogramms und einen E/A-Speicher zum Speichern eines Zustands einer Eingabe/Ausgabe. Die Informationsverarbeitungsvorrichtung umfasst ferner eine E/A-Platine, die mit dem internen Bus verbunden ist und einen Speicher aufweist, und ist mit einer externen Vorrichtung über die E/A-Platine verbunden. Die Datenverarbeitungsvorrichtung umfasst eine Ausführungsverarbeitungseinheit zum Ausführen einer vorbestimmten Peripherieverarbeitung nach der Interpretation und Ausführung eines Befehls im Benutzerspeicher durch die Ablaufbefehls- Ausführungseinheit.
  • Die E/A-Platine mit dem Speicher, die mit der externen Vorrichtung verbunden ist, ist unabhängig von der Ablaufbefehls-Ausführungseinheit mit dem internen Bus verbunden, und die vorbestimmte Peripherieverarbeitung wird nach der Interpretation und Ausführung des Befehls im Benutzerspeicher durch die Ablaufbefehls-Ausführungseinheit ausgeführt. Daher wird die Übertragung von Daten zwischen der externen Vorrichtung und dem E/A-Speicher oder dergleichen unabhängig nach der Ausführung des Befehls im Benutzerspeicher durchgeführt, so dass das gesamte System eine kostengünstige Struktur aufweisen kann und ein auf einen Zyklus der Ablaufverarbeitung ausgeübter Einfluss minimiert werden kann.
  • Vorzugsweise besteht das Ablaufprogramm aus einem Steuerprogramm und die Ablaufbefehls-Ausführungseinheit umfasst einen Steuerinterpretierer, der die Befehlsausführungsverarbeitung durch Interpretieren und Ausführen des Steuerprogramms durchführt.
  • Bevorzugter umfasst die Ablaufbefehls-Ausführungseinheit ein Register zum Verwalten der Befehlsausführungsverarbeitung durch den Steuerinterpretierer.
  • Ferner umfasst das Register vorzugsweise ein Programmzählregister mit einem Wert, der nach dem Start des Steuerinterpretierers anfänglich gesetzt und nach jeder Ausführung eines Befehls des Steuerprogramms inkrementiert werden soll, ein Zustandsregister, das einen Zustand der Ausführung des Steuerprogramms durch den Steuerinterpretierer speichert, und ein Adressenregister, das eine führende Adresse des vom Steuerinterpretierer ausgeführten Steuerprogramms speichert.
  • Ferner speichert das Zustandsregister vorzugsweise ein erstes Kennzeichen, das den Start und Stopp des Steuerinterpretierers angibt, und ein zweites Kennzeichen, das angibt, ob die Datenverarbeitungsvorrichtung aufgefordert werden soll, die Befehlsausführungsverarbeitung mit dem Steuerprogramm durchzuführen, oder nicht.
  • Gemäß noch einem weiteren Aspekt stellt die Erfindung ein Ablaufsteuerverfahren mit dem Schritt des Verbindens einer Ablaufbefehls-Ausführungseinheit mit einer Datenverarbeitungsvorrichtung über einen Bus und des Speicherns eines Ablaufprogramms in einer Datenverarbeitungsvorrichtung bereit, wobei die Ablaufbefehls-Ausführungseinheit den Schritt der Ausführung des Ablaufprogramms durch Zugreifen auf das in der Datenverarbeitungsvorrichtung gespeicherte Ablaufprogramm über den Bus auf der Basis eines aus der Datenverarbeitungsvorrichtung ausgegebenen Befehls umfasst.
  • Da die Ablaufbefehls-Ausführungseinheit bei dem Ablaufsteuerverfahren das in der Datenverarbeitungsvorrichtung gespeicherte Ablaufprogramm auf der Basis des Befehls, der von der Datenverarbeitungsvorrichtung gesandt wird, ausführt, ist es möglich, das Ablaufsteuerverfahren bereitzustellen, das die Kosten des gesamten Systems verringern kann und die Ausführungsgeschwindigkeit erhöhen kann.
  • Gemäß einem weiteren Aspekt der Erfindung umfasst ein Ablaufprozessor, der keine Funktion zum Ausführen einer Peripherieverarbeitung aufweist, einen Steuerinterpretierer, der mit einem internen Bus einer Datenverarbeitungsvorrichtung verbunden ist und durch die Datenverarbeitungsvorrichtung aktiviert wird, um einen Steuerbefehl zu interpretieren und auszuführen, und ein Register zum Verwalten und Speichern eines Zustands der Ausführung des Steuerprogramms durch den Steuerinterpretierer.
  • Da das Register den Zustand der Ausführung des Steuerprogramms durch den Steuerinterpretierer, welcher durch die Datenverarbeitungsvorrichtung gestartet wird, um den Steuerbefehl zu interpretieren und auszuführen, verwaltet und speichert, kann der Zustand der Ausführung des Steuerprogramms zuverlässig verwaltet werden.
  • Fig. 1 ist ein Blockdiagramm, das eine schematische Struktur einer Software-PLC mit einem Ablaufprozessor zeigt, welche eine Vorrichtung und ein Verfahren zur Informationsverarbeitung gemäß einem ersten Ausführungsbeispiel der Erfindung verwendet;
  • Fig. 2 zeigt Schritte der Verarbeitung in der Software-PLC mit dem in Fig. 1 gezeigten Ablaufprozessor;
  • Fig. 3 ist ein Ablaufplan, der Schritte einer Informationsverarbeitung durch eine Mikroprozessoreinheit eines in Fig. 1 gezeigten Personalcomputers zeigt;
  • Fig. 4 zeigt ein Beispiel eines Programmzählregisters zur Informationsverarbeitung, das in diesem Ausführungsbeispiel verwendet wird;
  • Fig. 5 zeigt ein Beispiel eines in diesem Ausführungsbeispiel verwendeten Datenadressenregisters;
  • Fig. 6 zeigt ein Beispiel eines in diesem Ausführungsbeispiel verwendeten Datenadressenregisters;
  • Fig. 7 ist ein Ablaufplan, der insbesondere Schritte der. Verarbeitung durch eine Software-PLC gemäß einem Ausführungsbeispiel der Erfindung zeigt, welches in Fig. 1 dargestellt ist;
  • Fig. 8 ist ein Blockdiagramm, das eine schematische Struktur der Software-PLC mit dem Ablaufprozessor zeigt, welche eine Informationsverarbeitungsvorrichtung eines zweiten Ausführungsbeispiels der Erfindung verwendet;
  • Fig. 9 ist ein Ablaufplan, der Schritte der Verarbeitung in der Software-PLC mit dem Ablaufprozessor des zweiten Ausführungsbeispiels zeigt;
  • Fig. 10 zeigt ein Beispiel eines Prograrmmzählregisters, das ein Register des Ablaufprozessors im zweiten Ausführungsbeispiel bildet;
  • Fig. 11 zeigt ein Beispiel eines Zustandsregisters, das das Register des Ablaufprozessors im zweiten Ausführungsbeispiel bildet;
  • Fig. 12 zeigt ein Beispiel eines UM-Adressenregisters, das das Register des Ablaufprozessors im zweiten Ausführungsbeispiel bildet;
  • Fig. 13 ist ein Ablaufplan, der Schritte der Verarbeitung eines weiteren Ausführungsbeispiels der Erfindung zeigt, bei dem eine Mikroprozessoreinheit eines Personalcomputers die von einem Steuerinterpretierer des Ablaufprozessors im zweiten Ausführungsbeispiel durchgeführte Befehlsausführung unterstützt;
  • Fig. 14 zeigt ein weiteres Beispiel eines Zustandsregisters in dem in Fig. 13 gezeigten Ausführungsbeispiel der Erfindung;
  • Fig. 15 zeigt den Übergang der Verarbeitung auf der Basis eines Startkennzeichens und eines MPU- Ausführungskennzeichens in dem in Fig. 13 gezeigten Ausführungsbeispiel;
  • Fig. 16 ist ein Blockdiagramm, das eine schematische Struktur einer Platinen-PLC im Stand der Technik zeigt;
  • Fig. 17 zeigt Schritte der Verarbeitung durch die Platinen- PLC und die "PLC + Personalcomputer";
  • Fig. 18 zeigt Schritte der Verarbeitung durch eine Software-PLC;
  • Fig. 19 ist ein Ablaufplan, der insbesondere Schritte der Verarbeitung durch die Software-PLC zeigt;
  • Fig. 20 ist ein Ablaufplan, der Schritte einer Informationsverarbeitung durch einen Personalcomputer in der Platinen-PLC, "PLC + Personalcomputer" und Software-PLC zeigt; und
  • Fig. 21 ist ein Ablaufplan, der insbesondere Schritte der Verarbeitung in der Platinen-PLC und der "PLC + Personalcomputer" zeigt.
  • Die Erfindung wird nachstehend weiter im einzelnen mit Bezug auf die Zeichnungen beschrieben.
  • (1) Erstes Ausführungsbeispiel
  • Mit Bezug auf Fig. 1 weist eine Software-PLC 100, die mit einem Ablaufprozessor versehen ist und die durch Verwendung einer Vorrichtung und eines Verfahrens zur Informationsverarbeitung gemäß der Erfindung konstruiert ist, eine solche Struktur auf, dass ein Ablaufprozessor 300 mit einem internen Bus 203 eines Personalcomputers 200 über einen Personalcomputer-Erweiterungsbus 500 verbunden ist und eine Eingabe/Ausgabe-Platine (d. h. E/A-Platine) 400 mit dem internen Bus 203 verbunden ist.
  • Der Personalcomputer 200 umfasst eine Mikroprozessoreinheit (MPU1) 201 und einen Arbeitsspeicher 202.
  • Der Ablaufprozessor 300 umfasst einen Steuerinterpretierer 301, der ein in einem Benutzerspeicher UM gespeichertes Steuerprogramm interpretiert und ausführt, ein Register 302, das einen Zustand der Ausführung des Steuerprogramms durch den Steuerinterpretierer 301 verwaltet und speichert, und einen Speicher 303 mit einem Benutzerspeicher UM, der das Steuerprogramm speichert, das ein Benutzerprogramm ist, und einem E/A-Speicher IOM, der eine Eingabe/Ausgabeinformation speichert.
  • Da der Steuerinterpretierer 301 eine Funktion als Bussteuereinheit aufweist, kann die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 auf das Register 302 und den Speicher 303 des Ablaufprozessors 300 über den Personalcomputer-Erweiterungsbus 500 zugreifen. Der Steuerinterpretierer 301 kann auch auf den Arbeitsspeicher 202 des Personalcomputers 200 über den Personalcomputer- Erweiterungsbus 500 zugreifen.
  • Die Eingabe/Ausgabe-Platine (d. h. E/A-Platine) 400 umfasst einen Puffer 401, der vorübergehend eine Information speichert, die in einen und von einem Eingabe/Ausgabe- Anschluss (d. h. E/A-Anschluss) gesandt wird.
  • Wie bereits beschrieben, kann die Verarbeitung der PLC grundsätzlich in eine "Befehlsausführung" zum Interpretieren und Ausführen des Steuerprogramms und eine "Peripherieverarbeitung" zum Durchführen einer Eingangsauffrischung (die nachstehend als "EIN- Auffrischung" bezeichnet wird) und einer Ausgangsauffrischung (die nachstehend als "AUS- Auffrischung" bezeichnet wird) des E/A-Anschlusses klassifiziert werden.
  • Hier umfasst die "Peripherieverarbeitung" eine Verarbeitung zum Speichern von Daten, die von einer externen Vorrichtung gesandt wurden und im Puffer 401 der E/A-Platine 400 gespeichert werden, im E/A-Speicher IOM und zum Senden von Daten, die im E/A-Speicher IOM gespeichert werden, über den Puffer 401 zur externen Vorrichtung.
  • In der Software-PLC 100 mit dem in Fig. 1 gezeigten Ablaufprozessor dieses Ausführungsbeispiels führt der Steuerinterpretierer 301 des Ablaufprozessors 300 die obige "Befehlsausführung" durch Abrufen und Decodieren des im Benutzerspeicher UM des Speichers. 303 gespeicherten Steuerprogramms durch, und die Ergebnisse der "Befehlsausführung" werden im E/A-Speicher IOM des Speichers 303 widergespiegelt.
  • Die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 führt einen "Datenaustausch" durch Zugreifen auf den E/A-Speicher IOM des Speichers 303 über den Steuerinterpretierer 301 des Ablaufprozessors 300 durch und führt eine "Informationsverarbeitung" auf der Basis eines vorbestimmten Informationsverarbeitungsprogramms durch.
  • Gemäß der obigen Struktur ist es nicht erforderlich, eine zweckgebundene Mikroprozessoreinheit und einen zweckgebundenen Speicher im Ablaufprozessor 300 bereitzustellen, so dass die Struktur im Vergleich zur Platinen-PLC 15, die in Fig. 16 gezeigt ist, signifikant kostengünstig sein kann. Ferner wird die "Befehlsausführung" von der zweckgebundenen Hardware, d. h. dem Steuerinterpretierer 301 des Ablaufprozessors 300, durchgeführt, so dass die Verarbeitung schneller sein kann als jene von der Software-PLC, die bereits mit Bezug auf Fig. 18 beschrieben wurde.
  • In diesem Ausführungsbeispiel besteht ein vorbestimmt es Informationsverarbeitungsprogramm, das von der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 ausgeführt wird, aus einer Vielzahl von Blöcken, und bei jeder Vollendung der Verarbeitung eines Blocks stellt die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 fest, ob eine vor bestimmte Verarbeitungsanforderung, die vom Ablaufprozessor 300 ausgegeben wird, vorhanden ist oder nicht.
  • Daher ist die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 derart ausgelegt, dass sie selbst während der Informationsverarbeitung die "Informationsverarbeitung" unterbrechen kann und eine "Peripherieverarbeitung" ausführen kann, sobald der Ablaufprozessor 300 eine Anforderung zur Peripherieverarbeitung ausgibt.
  • In diesem Ausführungsbeispiel wird folglich der interne Zustand bei jeder Unterbrechung der "Informationsverarbeitung" im Register gespeichert. Wenn die "Informationsverarbeitung" nach der Beendung der "Peripherieverarbeitung" neu gestartet wird, wird der im Register gespeicherte interne Zustand zum Neustart der "Informationsverarbeitung" ausgelesen.
  • Fig. 2 zeigt Schritte der Verarbeitung in der Software-PLC 100 mit dem in Fig. 1 gezeigten Ablaufprozessor. Mit Bezug auf Fig. 2 führt der Steuerinterpretierer 301 des Ablaufprozessors 300 zuerst eine "Befehlsausführung" durch Abrufen und Decodieren des im Benutzerspeicher UM des Speichers 303 gespeicherten Steuerprogramms durch (Schritt S211).
  • Wenn der Steuerinterpretierer 301 des Ablaufprozessors 300 diese "Befehlsausführung" beendet, sendet der Steuerinterpretierer 301 des Ablaufprozessors 300 eine "Peripherieverarbeitungsanforderung" an die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200.
  • Die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200, die die "Peripherieverarbeitungsanforderung" vom Steuerinterpretierer 301 des Ablaufprozessors 300 empfangen hat, führt die "Peripherieverarbeitung" aus (Schritt S212). Wenn diese "Peripherieverarbeitung" beendet ist, greift die Mikroprozessoreinheit (MPU1) 201 auf den E/A-Speicher IOM des Speichers 303 des Ablaufprozessors 300 zu und führt einen "Datenaustausch", d. h. Lesen von Daten aus dem E/A- Speicher IOM, durch (Schritt S213). Anschließend wird die "Informationsverarbeitung" ausgeführt (Schritt S215). Das Informationsverarbeitungsprogramm der "Informationsverarbeitung", die von der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 ausgeführt wird, besteht aus einer Vielzahl von (z. B. n) unterteilten Blöcken. Die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 führt zuerst einen ersten Block des Informationsverarbeitungsprogramms, d. h. 1/n des Informationsverarbeitungsprogramms, aus.
  • Im Steuerinterpretierer 301 des Ablaufprozessors 300 wird ein nächster Befehl im Steuerprogramm, das im Benutzerspeicher UM des Speichers 303 gespeichert ist, abgerufen und decodiert, um die "Befehlsausführung" durchzuführen, wenn der "Datenaustausch" beendet ist (Schritt S214).
  • Wenn diese "Befehlsausführung" beendet ist, wird die "Peripherie Verarbeitungsanforderung" zur Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 gesandt.
  • Wenn die Ausführung des ersten Blocks, d. h. 1/n des Informationsverarbeitungsprogramms, beendet ist (Schritt S215), wird in der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 die vorbestimmte "Unterbrechungsverarbeitung" ausgeführt, und es wird festgestellt, ob der Steuerinterpretierer 301 des Ablaufprozessors 300 eine "Peripherieverarbeitungsanforderung" ausgegeben hat oder nicht.
  • Da festgestellt wird, dass der Steuerinterpretierer 301 des Ablaufprozessors 300 die "Peripherieverarbeitungsanforderung" ausgegeben hat, wird in diesem Fall die "Informationsverarbeitung", die durchgeführt wird, unterbrochen und die "Peripherieverarbeitung" wird ausgeführt (Schritt S216).
  • Anschließend wird die Verarbeitung in einer ähnlichen Weise durchgeführt und insbesondere führt die Vorrichtung eine "Befehlsausführung" durch den Steuerinterpretierer 301 des Ablaufprozessors 300 (Schritt S217), eine "Informationsverarbeitung" durch die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 (Schritt S218), eine "Peripherieverarbeitung" (Schritt S219), einen "Datenaustausch" (Schritt S220), eine "Befehlsausführung" durch den Steuerinterpretierer 301 des Ablaufprozessors 300 (Schritt S221), eine "Informationsverarbeitung" durch die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 (Schritt S222) und eine "Peripherieverarbeitung" durch die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 (Schritt S223) durch.
  • Gemäß der obigen Struktur stellt die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 nach jeder Vollendung der Verarbeitung eines Blocks fest, ob der Ablaufprozessor 300 eine "Peripherieverarbeitungsanforderung" ausgegeben hat oder nicht. Wenn die "Peripherieverarbeitungsanforderung" ausgegeben wurde, wird die "Informationsverarbeitung" unterbrochen und die "Peripherieverarbeitung" wird ausgeführt. Daher kann die "Informationsverarbeitung" mit einem minimalen Einfluss, der auf einen Zyklus der "Ablaufverarbeitung" ausgeübt wird, die vom Steuerinterpretierer 301 des Ablaufprozessors 300 durchgeführt wird, durchgeführt werden.
  • Fig. 3 ist ein Ablaufplan, der Schritte der Informationsverarbeitung durch die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 zeigt und Fig. 20 entspricht, die bereits beschrieben wurde.
  • Wenn in Fig. 3 die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 aktiviert wird (Schritt S231), stellt sie fest, ob der Steuerinterpretierer 301 des Ablaufprozessors 300 die "Peripherieverarbeitungsanforderung" ausgegeben hat oder nicht (Schritt S232). Wenn festgestellt wird, dass der Steuerinterpretierer 301 des Ablaufprozessors 300 die "Peripherieverarbeitungsanforderung" nicht ausgegeben hat (NEIN in Schritt S232), kehrt der Prozess zu Schritt S232 zurück. Wenn festgestellt wird, dass die "Peripherieverarbeitungsanforderung" ausgegeben wurde (JA in Schritt S232), dann wird festgestellt, ob die "Unterbrechungsverarbeitung" in der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 durchgeführt wurde oder nicht (Schritt S233). Wenn die "Unterbrechungsverarbeitung" nicht durchgeführt wurde (NEIN in Schritt 233), wird der "Datenaustausch" ausgeführt (Schritt S234) und dann wird die "Informationsverarbeitung" ausgeführt (Schritt S235).
  • Wenn festgestellt wird, dass die "Unterbrechungsverarbeitung" durchgeführt wurde (JA in Schritt 233), geht der Prozess zu Schritt S235 weiter, ohne in Schritt S234 den "Datenaustausch" durchzuführen, und die "Informationsverarbeitung" wird ausgeführt.
  • Dann wird festgestellt, ob diese "Informationsverarbeitung" beendet ist oder nicht (Schritt S236). Wenn festgestellt wird, dass die "Informationsverarbeitung" nicht beendet ist (NEIN in Schritt S236), dann wird festgestellt, ob der Steuerinterpretierer 301 des Ablaufprozessors 300 eine "Peripherieverarbeitungsanforderung" ausgegeben hat oder nicht (Schritt S237). Wenn die "Peripherieverarbeitungsanforderung" ausgegeben wurde (JA in Schritt 237), wird die "Unterbrechungsverarbeitung" der "Informationsverarbeitung" ausgeführt (Schritt S238).
  • Wenn in Schritt 236 festgestellt wird, dass die "Informationsverarbeitung" beendet ist (JA in Schritt 236), kehrt der Prozess zu Schritt S232 zurück. Wenn in Schritt S237 festgestellt wird, dass die "Peripherieverarbeitungsanforderung" nicht ausgegeben wurde (NEIN in Schritt S237), kehrt der Prozess zu Schritt S235 zurück.
  • Wenn die "Unterbrechungsverarbeitung" in Schritt S238 beendet wird, dann wird festgestellt, ob die gesamte "Informationsverarbeitung" beendet ist oder nicht (Schritt S239). Wenn festgestellt wird, dass die gesamte "Informationsverarbeitung" nicht beendet ist (NEIN in Schritt S239), kehrt der Prozess zu Schritt S232 zurück. Wenn festgestellt wird, dass die gesamte "Informationsverarbeitung" beendet ist (JA in Schritt S239), wird diese Verarbeitung beendet (Schritt S240).
  • Da in der Software-PLC mit dem Ablaufprozessor die "Befehlsausführung" durch die zweckgebundene Hardware, d. h. den Steuerinterpretierer 301 des Ablaufprozessors 300, durchgeführt wird, wird eine schnelle Verarbeitung ermöglicht.
  • Da der Prozess durch die vorstehend beschriebenen Schritte ausgeführt wird, umfasst er die Verarbeitung für den "Start des Ablaufprozessors 300" und den "Stopp des Ablaufprozessors 300" auf der Basis der Befehle von der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200.
  • Der Zustand der Ausführung des im Benutzerspeicher UM des Speichers 303 im Ablaufprozessor 300 gespeicherten Steuerprogramms wird zwischen der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 und dem Steuerinterpretierer 301 des Ablaufprozessors 300 übertragen. Für diesen Zweck sowie für die "Befehlsausführung" durch den Steuerinterpretierer 301 umfasst das Steuerregister 302 des Ablaufprozessors 300:
  • (1) ein Programmzählregister,
  • (2) ein Zustandsregister, und
  • (3) ein UM-Adressenregister.
  • Der "Start des Ablaufprozessors 300" wird durch eine solche Operation durchgeführt, dass die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 das Programmzählregister des Registers 302 im Ablaufprozessor 300 auf einen Anfangswert setzt und das "Startkennzeichen" des Zustandsregisters in den Startzustand setzt.
  • Wenn das "Startkennzeichen" des Zustandsregisters in den Startzustand gesetzt wird, nimmt der Steuerinterpretierer 301 des Ablaufprozessors 300 auf den im Programmzählregister gesetzten Anfangswert Bezug und startet das Abrufen und Decodieren des im Benutzerspeicher UM des Speichers 303 gespeicherten Steuerprogramms.
  • Der "Stopp des Ablaufprozessors" wird durch Setzen des "Startkennzeichens" des Zustandsregisters in den Stoppzustand durchgeführt.
  • Wenn das "Startkennzeichen" des Zustandsregisters in den Stoppzustand gesetzt wird, stoppt der Steuerinterpretierer 301 des Ablaufprozessors 300 seine Verarbeitung und benachrichtigt die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 über diesen Stopp in einer Unterbrechungsweise.
  • Im Programmzählregister wird der Anfangswert beim Start des Steuerinterpretierers 301 des Ablaufprozessors 300 gesetzt und wird bei jeder Ausführung eines Befehls im Steuerprogramm, das im Benutzerspeicher UM gespeichert ist, inkrementiert.
  • Das UM-Adressenregister speichert eine führende Adresse (führende UM-Adresse) des im Benutzerspeicher UM des Speichers 303 gespeicherten Steuerprogramms für die "Befehlsausführung".
  • Für die vorstehend beschriebene "Unterbrechungsverarbeitung" der "Informationsverarbeitung" umfasst der Personalcomputer 200 in diesem Ausführungsbeispiel:
  • (4) ein Programmzählregister für die Informationsverarbeitung,
  • (5) ein Datenadressenregister, und
  • (6) ein Datengrößenregister.
  • Diese Register, d. h.
  • (4) das Programmzählregister für die Informationsverarbeitung,
  • (5) das Datenadressenregister, und
  • (6) das Datengrößenregister werden nachstehend im einzelnen beschrieben.
  • Fig. 4 zeigt ein Beispiel des Programmzählregisters für die Informationsverarbeitung. Das Programmzählregister für die Informationsverarbeitung besteht aus zwei Registern, d. h. einem ersten Register 311 mit 16 Bits und einem zweiten Register 312 mit 16 Bits. Bei der Operation des anfänglichen Setzens bewahrt die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 einen Bereich im Arbeitsspeicher 202. Wenn die Unterbrechung der "Informationsverarbeitung" stattfindet, speichert sie einen Wert des Programmzählers, der das Informationsverarbeitungsprogramm zur Ausführung der "Informationsverarbeitung" verwaltet.
  • Hier speichern 16 Bits von einem Bit 0 bis zu einem Bit 15 im ersten Register 311 eine Adresse H, die eine hohe Adresse ist, im Programmzähler zum Zeitpunkt des Auftretens der Unterbrechung der "Informationsverarbeitung", und 16 Bits von einem Bit 0 bis zu einem Bit 15 im zweiten Register 312 speichern eine Adresse L, die eine niedrige Adresse ist, im Programmzähler zum Zeitpunkt des Auftretens der Unterbrechung der "Informationsverarbeitung". Der Anfangswert dieses Programmzählers für die Informationsverarbeitung wird auf "00000000h" gesetzt.
  • Fig. 5 zeigt ein Beispiel des vorher beschriebenen Datenadressenregisters. Ähnlich dem Programmzählregister für die Informationsverarbeitung besteht das Datenadressenregister aus zwei Registern, d. h. einem ersten Register 313 mit 16 Bits und einem zweiten Register 314 mit 16 Bits. Wenn der Anfangswert gesetzt wird, bewahrt die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 einen Bereich für diesen im Arbeitsspeicherbereich 202. Wenn die Unterbrechung der "Informationsverarbeitung" stattfindet, bewahrt sie einen Datenblock zum Speichern der Ausgabe des bereits verarbeiteten Informationsverarbeitungsblocks und speichert die führende Adresse dieses Datenblocks.
  • Hier speichern 16 Bits von einem Bit 0 bis zu einem Bit 15 im ersten Register 313 eine führende Adresse H des Datenblocks, die eine hohe Adresse der führenden Adresse des Datenblocks ist, und 16 Bits von einem Bit 0 bis zu einem Bit 15 im zweiten Register 314 speichern eine führende Adresse L des Datenblocks, die eine niedrige Adresse der führenden Adresse des Datenblocks ist. Der Anfangswert dieses Datenadressenregisters wird auf "00000000h" gesetzt.
  • Fig. 6 zeigt ein Beispiel des Datengrößenregisters. Das Datengrößenregister besteht aus einem 16-Bit-Register 315. Beim anfänglichen Setzen bewahrt die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 einen Bereich für dieses im Arbeitsspeicher 202. Wenn die Unterbrechung der "Informationsverarbeitung" stattfindet, bewahrt sie einen Datenblock zum Speichern der Ausgabe des bereits verarbeiteten Informationsverarbeitungsblocks und speichert die Größe (Bytes) dieses Datenblocks.
  • In diesem Beispiel wird die Größe (Bytes) des Datenblocks in acht Bits von einem Bit 8 bis zu einem Bit 15 im Register 315 gespeichert und acht Bits von einem Bit 0 bis zu einem Bit 7 werden auf Reserve gesetzt. Die Reserve dieser Datengröße wird auf "0" gesetzt und der Anfangswert wird auf "0000h" gesetzt. Die Größe (Bytes) des Datenblocks, die im Datengrößenregister gespeichert wird, wenn die Unterbrechung der "Informationsverarbeitung" nicht stattfindet, ist "000h".
  • Nun wird eine Beschreibung von speziellen Schritten der Verarbeitung in diesem Ausführungsbeispiel gegeben.
  • Fig. 7 ist ein Ablaufplan, der spezielle Schritte der Verarbeitung in diesem Ausführungsbeispiel zeigt. Mit Bezug auf Fig. 7 werden nach dem Starten (Schritt S251) zuerst das Einschalten und das anfängliche Setzen durchgeführt (Schritt S252).
  • Für das anfängliche Setzen gibt die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 ein Rücksetzsignal an den Ablaufprozessor 300 zum Initialisieren der folgenden Einheiten, die im Register 302 des Ablaufprozessors 300 angeordnet sind, aus.
  • (1) Programmzählregister
  • (2) Zustandsregister
  • (3) UM-Adressenregister
  • Dann bewahrt die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 im Arbeitsspeicher 202 die Bereiche für die folgenden Register und initialisiert sie dadurch.
  • (4) Programmzählregister für die Informationsverarbeitung
  • (5) Datenadressenregister
  • (6) Datengrößenregister
  • Die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 schreibt eine führende UM-Adresse in das UM- Adressenregister und liest sie anschließend, um festzustellen, ob das Schreiben in das UM-Adressenregister erfolgreich durchgeführt wurde oder nicht. Wenn das Schreiben in das UM-Adressenregister erfolgreich war, wird dieses anfängliche Setzen beendet. Wenn das Schreiben in das UM-Adressenregister misslang, wird das Schreiben in das UM-Adressenregister noch einmal durchgeführt.
  • Dann führt die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 eine Startverarbeitung für den Steuerinterpretierer 301 des Ablaufprozessors 300 durch (Schritt S253).
  • Die Startverarbeitung für den Steuerinterpretierer 301 des Ablaufprozessors 300 wird durch Setzen eines Anfangswerts im Programmzählregister des Registers 302 im Ablaufprozessor 300 und Setzen des "Startkennzeichens" des Zustandsregisters in den Startzustand durchgeführt.
  • Wenn der Steuerinterpretierer 301 des Ablaufprozessors 300 startet (Schritt S264), führt der Steuerinterpretierer 301 die "Befehlsausführung" durch Abrufen und Decodieren des im Benutzerspeicher UM des Speichers 303 gespeicherten Steuerprogramms durch (Schritt S265). Die Ergebnisse dieser Ausführung werden in den E/A-Speicher IOM des Speichers 303 geschrieben und werden dadurch im E/A-Speicher IOM widergespiegelt.
  • Wenn eine "Befehlsausführung" beendet ist, sendet der Steuerinterpretierer 301 eine "Peripherieverarbeitungs- Anforderungsbenachrichtigung", die eine "Peripherieverarbeitung" anfordert, zur Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 (Schritt S266) und stoppt anschließend (Schritt S267).
  • Wenn die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 die Startverarbeitung für den Steuerinterpretierer 301 des Ablaufprozessors 300 beendet, stellt sie fest, ob die Peripherieverarbeitungsanforderung, die vom Steuerinterpretierer 301 des Ablaufprozessors 300 ausgegeben wird, vorliegt oder nicht (Schritt S254). Wenn festgestellt wird, dass die Peripherieverarbeitungsanforderung, die vom Steuerinterpretierer 301 des Ablaufprozessors 300 ausgegeben wird, vorliegt (JA in Schritt S254), wird die "Peripherieverarbeitung" ausgeführt (Schritt S255).
  • Dann wird festgestellt, ob die "Unterbrechungsverarbeitung" in der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 durchgeführt wurde oder nicht (Schritt S256). Wenn die "Unterbrechungsverarbeitung" nicht durchgeführt wurde (NEIN in Schritt S256), wird der "Datenaustausch" ausgeführt (Schritt S257) und anschließend wird die "Informationsverarbeitung" ausgeführt (Schritt S258).
  • Wenn in Schritt S256 festgestellt wird, dass die "Unterbrechungsverarbeitung" durchgeführt wurde (JA in Schritt S256), geht der Prozess zu Schritt S258 weiter, ohne den "Datenaustausch" in Schritt S257 durchzuführen, und die "Informationsverarbeitung" wird ausgeführt.
  • Dann wird festgestellt, ob diese "Informationsverarbeitung" beendet ist oder nicht (Schritt S259). Wenn festgestellt wird, dass diese "Informationsverarbeitung" nicht beendet ist (NEIN in Schritt 259), dann wird festgestellt, ob der Steuerinterpretierer 301 des Ablaufprozessors 300 eine "Peripherieverarbeitungsanforderung" ausgegeben hat oder nicht (Schritt S260). Wenn die "Peripherieverarbeitungsanforderung" ausgegeben wurde (JA in Schritt S260), wird die "Unterbrechungsverarbeitung" zum Unterbrechen der "Informationsverarbeitung" ausgeführt (Schritt S261).
  • Wenn in Schritt S259 festgestellt wird, dass die "Informationsverarbeitung" beendet ist (JA in Schritt S259), kehrt der Prozess zu Schritt S254 zurück. Wenn in Schritt S260 festgestellt wird, dass die "Peripherieverarbeitungsanforderung" nicht ausgegeben wurde (NEIN in Schritt S260), kehrt der Prozess zu Schritt S258 zurück.
  • Wenn in Schritt S254 festgestellt wird, dass die "Peripherieverarbeitungsanforderung" nicht ausgegeben wurde (NEIN in Schritt S254), wird festgestellt, ob die gesamte "Peripherieverarbeitung" beendet ist oder nicht (Schritt S262). Wenn festgestellt wird, dass die gesamte "Informationsverarbeitung" nicht beendet ist (NEIN in Schritt S262), kehrt der Prozess zu Schritt S254 zurück. Wenn festgestellt wird, dass die gesamte "Informationsverarbeitung" beendet ist (JA in Schritt S262), dann wird festgestellt, ob die gesamte "Ablaufverarbeitung" beendet ist oder nicht (Schritt S263). Wenn die gesamte "Ablaufverarbeitung" nicht beendet ist (NEIN in Schritt S263), kehrt der Prozess zu Schritt S253 zurück. Wenn die gesamte "Ablauf Verarbeitung" beendet ist (JA in Schritt S263), ist dieser Prozess beendet (Schritt S268).
  • In diesem Ausführungsbeispiel besteht ein vorbestimmtes Informationsverarbeitungsprogramm, das von der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 ausgeführt wird, aus einer Vielzahl von Blöcken und die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 ist dazu ausgelegt, die "Informationsverarbeitung" an den Grenzen zwischen diesen Blöcken zu unterbrechen. Um die unterbrochene "Informationsverarbeitung" wieder zu starten, ist es erforderlich, die Ergebnisse der Verarbeitung der Informationsverarbeitungsblöcke, die bereits verarbeitet wurden, zu speichern.
  • Um die unterbrochene "Informationsverarbeitung" wieder zu starten, bilden die Ergebnisse der Verarbeitung des N-ten Informationsverarbeitungsblocks, der bereits verarbeitet wurde, insbesondere eine Eingabe des (N + 1)-ten Informationsverarbeitungsblocks.
  • In diesem Ausführungsbeispiel wird bei jeder Vollendung des Informationsverarbeitungsblocks festgestellt, ob eine "Peripherieverarbeitungsanforderung" vom Ablaufprozessor 300 vorliegt oder nicht, und die "Informationsverarbeitung" wird gemäß den folgenden Schritten unterbrochen, wenn die "Peripherieverarbeitungsanforderung" vorliegt.
  • (1) Ein Programmzählwert wird im Programmzählregister für die Informationsverarbeitung gespeichert.
  • (2) Ein Bereich entsprechend einer Menge einer Datenausgabe durch die "Informationsverarbeitung" wird im Arbeitsspeicher 202 des Personalcomputers 200 bewahrt.
  • (3) Eine führende Adresse des Datenblocks wird im Datenadressenregister gespeichert.
  • (4) Eine Größe des Datenblocks wird im Datengrößenregister gespeichert.
  • Wenn die Bedingungen zum Ermöglichen der Ausführung der "Informationsverarbeitung" erfüllt sind, wird die "Informationsverarbeitung" gemäß den folgenden Schritten neu gestartet.
  • (1) Ein im Programmzählregister für die Informationsverarbeitung gespeicherter Wert wird ausgelesen und wird in den Programmzähler geschrieben.
  • (2) Die im Datenregister gespeicherte führende Adresse des Datenprogramms wird ausgelesen.
  • (3) Daten von nur der Datenblockgröße, die im Datengrößenregister gespeichert ist, und ausgehend von der führenden Adresse des Datenblocks, die bei (2) gelesen wird, werden abgerufen und eingegeben.
  • Bei der obigen Struktur kann die Anwesenheit oder Abwesenheit der "Unterbrechungsverarbeitung" auf der Basis eines im "Datengrößenregister" gespeicherten Werts ermittelt werden. Dies liegt an der folgenden Tatsache. Wenn die Unterbrechung der "Informationsverarbeitung" aufgetreten ist, wird, wie vorher beschrieben, eine Größe des Datenblocks im "Datengrößenregister" gespeichert. Alternativ ist der im "Datengrößenregister" gespeicherte Wert "000h", wenn die Unterbrechung der "Informationsverarbeitung" nicht aufgetreten ist.
  • (2) Zweites Ausführungsbeispiel
  • Fig. 8 ist ein Blockdiagramm, das eine schematische Struktur einer Software-PLC 101 mit einem Ablaufprozessor zeigt, welche eine Vorrichtung und ein Verfahren zur Ablaufsteuerung gemäß einem zweiten Ausführungsbeispiel verwendet.
  • In Fig. 8 weist die Software-PLC 101 mit dem Ablaufprozessor eine Struktur ähnlich jener des ersten Ausführungsbeispiels auf und weist daher eine solche Struktur auf, dass der Ablaufprozessor 300 mit dem internen Bus 203 des Universal-Personalcomputers 200 über den Personalcomputer-Erweiterungsbus 500 verbunden ist und die E/A-Platine 400 auch mit diesem verbunden ist. Die gleichen Elemente und Komponenten wie jene im ersten Ausführungsbeispiel tragen dieselben Bezugszeichen.
  • Der Personalcomputer 200 umfasst eine Mikroprozessoreinheit (MPU1) 201 und einen Arbeitsspeicher 204, der mit einem Benutzerspeicher UM, der ein Benutzerprogramm, d. h. ein Steuerprogramm, speichert, und einem E/A-Speicher IOM, der eine Eingabe/Ausgabe-Information speichert, versehen ist.
  • Der Ablaufprozessor 300 umfasst einen Steuerinterpretierer 301 zum Interpretieren und Ausführen des im Benutzerspeicher UM gespeicherten Steuerprogramms und ein Register 302 zum Verwalten und Speichern eines Zustands der Ausführung des Steuerprogramms durch den Steuerinterpretierer 301.
  • Da der Steuerinterpretierer 301 eine Funktion als Bussteuereinheit aufweist, kann die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 auf das Register 302 des Ablaufprozessors 300 über den Personalcomputer- Erweiterungsbus 500 zugreifen und der Steuerinterpretierer 301 kann auf den Arbeitsspeicher 202 des Personalcomputers 200 über den Personalcomputer-Erweiterungsbus 500 zugreifen.
  • Die E/A-Platine 400 umfasst einen Puffer 401, der vorübergehend eine Information speichert, die in einen und aus einem E/A-Anschluss gesandt wird.
  • Wie bereits beschrieben, kann die Verarbeitung der PLC grundsätzlich in eine "Befehlsausführung" zur Interpretation und Ausführung des Steuerprogramms und eine "Peripherieverarbeitung" zur Eingangsauffrischung (EIN- Auffrischung) und Ausgangsauffrischung (AUS-Auffrischung) des E/A-Anschlusses klassifiziert werden.
  • In der Software-PLC 101 mit dem in Fig. 8 gezeigten Ablaufprozessor dieses Ausführungsbeispiels wird die "Befehlsausführung" durch Abrufen und Decodieren des im Benutzerspeicher UM des Arbeitsspeichers 204 in der. Vorladung 200 gespeicherten Steuerprogramms durchgeführt und die Ergebnisse dieser "Befehlsausführung" werden im E/A-Speicher IOM des Arbeitsspeichers 204 des Personalcomputers 200 widergespiegelt.
  • Da die "Befehlsausführung" gemäß dieser Struktur durch die zweckgebundene Hardware, d. h. den Steuerinterpretierer 301 des Ablaufprozessors 300, durchgeführt wird, wird im Vergleich zur in Fig. 16 gezeigten Software-PLC eine schnelle Verarbeitung ermöglicht.
  • Fig. 9 ist ein Ablaufplan, der Schritte der Verarbeitung in der Software-PLC 101 mit dem in Fig. 8 gezeigten Ablaufprozessor zeigt. In dem in Fig. 9 gezeigten Ablaufplan werden nach dem Starten (Schritt S311) zuerst das Einschalten und das anfängliche Setzen der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 und des Steuerinterpretierers 301 des Ablaufprozessors 300 durchgeführt (Schritt S312).
  • Die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 befiehlt den Start des Steuerinterpretierers 301 des Ablaufprozessors 300 (Schritt S313).
  • Der Steuerinterpretierer 301 des Ablaufprozessors 300 startet als Reaktion auf einen Startbefehl, der von der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 gesandt wird (Schritt S411), und arbeitet zuerst zum Abrufen und Decodieren des im Benutzerspeicher UM des Arbeitsspeichers 204 im Personalcomputer 200 gespeicherten Steuerprogramms (Schritt S412). Dadurch wird die "Befehlsausführung" auf der Basis des Steuerprogramms durchgeführt (Schritt S413).
  • Anschließend wird der Programmzähler, der im Register 302 des Ablaufprozessors 300 vorgesehen ist, inkrementiert (Schritt S415) und dann wird festgestellt, ob ein Endbefehl, der aus der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 ausgegeben wird, vorliegt oder nicht (Schritt S416). Wenn festgestellt wird, dass der Endbefehl nicht vorliegt (NEIN in Schritt S416), kehrt der Prozess zu Schritt S412 zurück und die Verarbeitung von Schritt S412 bis Schritt S416 wird wiederholt.
  • Wenn in Schritt S416 festgestellt wird, dass die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 den Endbefehl ausgegeben hat (JA in Schritt S416), wird der Programmzähler, der im Register 302 des Ablaufprozessors 300 vorgesehen ist, initialisiert (Schritt S417) und die Verarbeitung durch den Steuerinterpretierer 301 des Ablaufprozessors 300 stoppt (Schritt S418).
  • Wenn der Steuerinterpretierer 301 des Ablaufprozessors 300 seine Verarbeitung stoppt, führt die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 eine Peripherieverarbeitung wie z. B. eine E/A-Auffrischung aus (Schritt S314).
  • Dann wird festgestellt, ob das im Benutzerspeicher UM des Arbeitsspeichers 204 im Personalcomputer 200 gespeicherte Steuerprogramm vollständig ausgeführt wurde (Schritt S315). Wenn festgestellt wird, dass das Steuerprogramm nicht vollständig ausgeführt wurde (NEIN in Schritt S315), kehrt der Prozess zu Schritt S313 zurück. Wenn festgestellt wird, dass das Steuerprogramm vollständig ausgeführt wurde (JA in Schritt S315), wird dieser Prozess beendet (Schritt S316).
  • In dieser Software-PLC 101 mit dem Ablaufprozessor führt der Steuerinterpretierer 301 des Ablaufprozessors 300 folglich die "Befehlsausführung" durch und führt insbesondere das Benutzerprogramm durch Abrufen und Decodieren des im Benutzerspeicher UM des Arbeitsspeichers 204 im Personalcomputer 200 gespeicherten Steuerprogramms aus, und die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 führt die "Peripherieverarbeitung" wie z. B. Eingangsauffrischung (EIN-Auffrischung) und Ausgangsauffrischung (AUS-Auffrischung) des E/A-Anschlusses aus.
  • In dieser Software-PLC mit dem Ablaufprozessor wird folglich die "Befehlsausführung" durch die zweckgebundene Hardware, d. h. den Steuerinterpretierer 301 des Ablaufprozessors 300, durchgeführt, wie es beim ersten Ausführungsbeispiel durchgeführt wird. Daher wird eine schnelle Verarbeitung ermöglicht.
  • Für die obigen Verarbeitungsschritte umfasst der Prozess die Verarbeitung des "Starts des Ablaufprozessors 300" und des "Stopps des Ablaufprozessors 300" auf der Basis der Befehle von der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200, und für die "Befehlsausführung" durch den Steuerinterpretierer 301 ist das Register 302 des Ablaufprozessors 300 mit dem Programmzählregister, dem Zustandsregister und dem UM-Adressenregister versehen.
  • Operationen wie z. B. "Start des Ablaufprozessors 300" sind ähnlich zu jenen im ersten Ausführungsbeispiel und werden folglich nachstehend nicht beschrieben.
  • Eine Beschreibung der Einzelheiten der folgenden Register wird gegeben, die das Register 302 des Ablaufprozessors 300 bilden und bereits in Verbindung mit dem ersten Ausführungsbeispiel beschrieben wurden.
  • (1) Programmzählregister
  • (2) Zustandsregister
  • (3) UM-Adressenregister
  • Fig. 10 zeigt ein Beispiel des Programmzählregisters, das das Register 302 des Ablaufprozessors 300 bildet.
  • Das Programmzählregister, das das Register 302 des Ablaufprozessors 300 bildet, besteht aus zwei Registern, d. h. einem ersten Register 331 mit 16 Bits und einem zweiten Register 332 mit 16 Bits. In diesem Programmzählregister wird sein Anfangswert beim Start des Steuerinterpretierers 301 des Ablaufprozessors 300 gesetzt und sein Zählwert wird bei jeder Ausführung eines Befehls des im Benutzerspeicher UM des Arbeitsspeichers 202 im Personalcomputer 200 gespeicherten Steuerprogramms inkrementiert.
  • In acht Bits von einem Bit 0 bis zu einem Bit 7 im ersten Register 331 wird eine Verschiebung (H) von einer führenden UM-Adresse gespeichert, d. h. die höheren acht Bits des Verschiebungswerts (Verschiebung von der führenden UM- Adresse) von der führenden Adresse des im Benutzerspeicher UM gespeicherten Steuerprogramms für die "Befehlsausführung". In 16 Bits von einem Bit 0 bis zu einem Bit 15 im zweiten Register 332 wird eine Verschiebung (L) von der führenden UM-Adresse gespeichert, d. h. die unteren 16 Bits der Verschiebung von der führenden UM- Adresse. Acht Bits von einem Bit 8 bis zu einem Bit 15 im ersten Register 331 werden auf Reserve gesetzt.
  • Die Reserve dieses Programmzählregisters wird auf "0" gesetzt und der Anfangswert wird auf "00000000h" gesetzt.
  • Fig. 11 zeigt ein Beispiel des Zustandsregisters, das das Register 302 des Ablaufprozessors 300 bildet.
  • Das Zustandsregister, das das Register 302 des Ablaufprozessors 300 bildet, besteht aus einem 16-Bit- Register 333. Ein Bit, d. h. das Bit 15 des Registers 333, wirkt als Startkennzeichenregister, das das Startkennzeichen speichert. Fünfzehn Bits von einem Bit 0 bis zu einem Bit 14 im Register 333 werden auf Reserve gesetzt. Die Reserve dieses Zustandsregisters wird auf "0" gesetzt und sein Anfangswert wird auf "0000h" gesetzt.
  • Wenn das Startkennzeichen beim Bit 15 im Zustandsregister "0" ist, stoppt der Steuerinterpretierer 301 des Ablaufprozessors 300. Wenn das Startkennzeichen beim Bit 15 im Zustandsregister "1" ist, startet der Steuerinterpretierer 301 des Ablaufprozessors 300.
  • Fig. 12 zeigt ein Beispiel des UM-Adressenregisters, das das Register 302 des Ablaufprozessors 300 bildet.
  • Das UM-Adressenregister, das das Register 302 des Ablaufprozessors 300 bildet, besteht aus zwei Registern, d. h. einem ersten Register 334 mit 16 Bits und einem zweiten Register 335 mit 16 Bits, und speichert die führende Adresse (führende UM-Adresse) des im Benutzerspeicher UM gespeicherten Steuerprogramms für die "Befehlsausführung".
  • Hier speichern 16 Bits von einem Bit 0 bis zu einem Bit 15 im ersten Register 334 eine führende UM-Adresse H, d. h. die höheren 16 Bits der führenden UM-Adresse, und 16 Bits von einem Bit 0 bis zu einem Bit 15 im zweiten Register 335 speichern eine führende UM-Adresse L, d. h. die unteren 16 Bits der führenden UM-Adresse.
  • Der Anfangswert dieses UM-Adressenregisters wird auf "00000000h" gesetzt und dieser Anfangswert wird durch die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 bei der Operation des anfänglichen Setzens dieses Systems gesetzt.
  • Im obigen Ausführungsbeispiel wird die "Befehlsausführung" vom. Steuerinterpretierer 301 des Ablaufprozessors 300 durchgeführt. Die vom Steuerinterpretierer 301 des Ablaufprozessors 300 durchgeführte "Befehlsausführung" kann jedoch durch die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 unterstützt werden.
  • Fig. 13 zeigt eine Modifikation des zweiten Ausführungsbeispiels der Erfindung, wobei die "Befehlsausführung", die vom Steuerinterpretierer 301 des Ablaufprozessors 300 durchgeführt wird, durch die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 unterstützt wird. Die Hardwarestruktur bei dieser Modifikation kann dieselbe wie die in Fig. 8 gezeigte sein.
  • Wenn in der in Fig. 13 gezeigten Struktur die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 anstelle des Steuerinterpretierers 301 des Ablaufprozessors 300 arbeitet, um die "Befehlsausführung" durchzuführen, die vom Steuerinterpretierer 301 des Ablaufprozessors 300 durchgeführt werden soll, sendet die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 einen "MPU- Ausführungsbefehl" an den Steuerinterpretierer 301 des Ablaufprozessors 300. In diesem Fall fordert der Steuerinterpretierer 301 des Ablaufprozessors 300 die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 auf, die "Befehlsausführung" durchzuführen, die zu diesem "MPU-Ausführungsbefehl" gehört.
  • In dem in Fig. 13 gezeigten Ablaufplan werden nach dem Start der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 (Schritt S321) zuerst das Einschalten und das anfängliche Setzen der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 und des Steuerinterpretierers 301 des Ablaufprozessors 300 durchgeführt (Schritt S322).
  • Die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 befiehlt den Start des Steuerinterpretierers 301 des Ablaufprozessors 300 (Schritt S323).
  • Der Steuerinterpretierer 301 des Ablaufprozessors 300 startet als Reaktion auf den von der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 ausgegebenen Startbefehl (Schritt S421) und ruft zuerst das im Benutzerspeicher UM des Arbeitsspeichers 204 im Personalcomputer 200 gespeicherte Steuerprogramm ab und decodiert dieses (Schritt 422).
  • In Verbindung mit der "Befehlsausführung" des so abgerufenen und decodierten Steuerprogramms wird festgestellt, ob die Mikroprozesspreinheit (MPU1) 201 des Personalcomputers 200 einen "MPU-Ausführungsbefehl" zum Steuerinterpretierer 301 des Ablaufprozessors 300 gesandt hat oder nicht (Schritt S423). Wenn der "MPU- Ausführungsbefehl" gesandt wird (JA in Schritt S423), wird ein "MPU-Ausführungskennzeichen" gesetzt (Schritt S424) und diese "Befehlsausführung" wird an die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 angefordert.
  • Wenn diese "Befehlsausführung" angefordert wird, liest die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 das Programmzählregister, das das Register 302 des Ablaufprozessors 300 bildet (Schritt S324), und führt dann den "MPU-Ausführungsbefehl" (Schritt S326) durch Abrufen und Decodieren des im Benutzerspeicher UM des Arbeitsspeichers 204 im Personalcomputer 200 gespeicherten Steuerprogramms aus (Schritt S325). Anschließend wird der im Register 302 des Ablaufprozessors 300 vorgesehene Programmzähler inkrementiert (Schritt S327) und der Prozess kehrt zu Schritt S422 zurück.
  • Wenn in Schritt S423 festgestellt wird, dass der "MPU- Ausführungsbefehl" nicht ausgegeben wird (NEIN in Schritt S423), wird die "Befehlsausführung" in Schritt S425 auf der Basis des in Schritt S422 abgerufenen und decodierten Steuerprogramms durchgeführt.
  • Durch Schreiben der Ergebnisse der Ausführung in den E/A- Speicher IOM werden die Ergebnisse der Ausführung im E/A- Speicher IOM widergespiegelt (Schritt S426).
  • Anschließend wird der Programmzähler, der im Register 302 des Ablaufprozessors 300 vorgesehen ist, inkrementiert (Schritt S427) und dann wird festgestellt, ob die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 einen Endbefehl ausgegeben hat oder nicht (Schritt S428). Wenn festgestellt wird, dass der Endbefehl nicht ausgegeben wurde (NEIN in Schritt S428), kehrt der Prozess zu Schritt S422 zurück und die Verarbeitung ausgehend von Schritt S422 wird wiederholt.
  • Wenn in Schritt S428 festgestellt wird, dass die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 den Endbefehl ausgegeben hat (JA in Schritt S428), wird der im Register 302 im Ablaufprozessor 300 vorgesehene Programmzähler initialisiert (Schritt S429) und der Steuerinterpretierer 301 des Ablaufprozessors 300 stoppt die Verarbeitung (Schritt S430).
  • Wenn der Steuerinterpretierer 301 des Ablaufprozessors 300 die Verarbeitung stoppt, führt die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 die Peripherieverarbeitung wie z. B. E/A-Auffrischung aus (Schritt S328).
  • Dann wird festgestellt, ob das im Benutzerspeicher UM des Arbeitsspeichers 202 im Personalcomputer 200 gespeicherte Steuerprogramm vollständig beendet ist oder nicht (Schritt S329). Wenn festgestellt wird, dass das Steuerprogramm nicht vollständig beendet ist (NEIN in Schritt S329), kehrt der Prozess zu Schritt S323 zurück. Wenn festgestellt wird, dass das Steuerprogramm vollständig beendet ist (JA in Schritt S329), wird diese Verarbeitung beendet.
  • Bei der Modifikation des zweiten Ausführungsbeispiels der Erfindung führt der Steuerinterpretierer 301 des Ablaufprozessors 300 die "Befehlsausführung", d. h. die Ausführung des Benutzerprogramms durch Abrufen und Decodieren des im Benutzerspeicher UM des Arbeitsspeichers 204 im Personalcomputer 200 gespeicherten Steuerprogramms durch. Wenn er den "MPU-Ausführungsbefehl" von der Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 empfängt, fordert der Steuerinterpretierer 301 des Ablaufprozessors 300 die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 auf, die "Befehlsausführung" durchzuführen, die zu diesem "MPU-Ausführungsbefehl" gehört, und dadurch kann die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 die "Befehlsausführung", die vom Steuerinterpretierer 301 des Ablaufprozessors 300 durchgeführt wird, unterstützen.
  • Fig. 14 zeigt ein Beispiel des Zustandsregisters, das das Register 302 des Ablaufprozessors 300 in der vorstehend beschriebenen Struktur bildet.
  • In diesem Fall wirkt das Zustandsregister, das das Register 302 des Ablaufprozessors 300 bildet, als Startkennzeichenregister, welches das Startkennzeichen speichert, und als MPU-Ausführungskennzeichen-Register, das das MPU-Ausführungskennzeichen speichert.
  • In diesem Fall besteht das Zustandsregister, das das Register 302 des Ablaufprozessors 300 bildet, aus einem 16- Bit-Register 336, wie in Fig. 14 gezeigt. Ein Bit, d. h. ein Bit 15, im Register 336 wirkt als Startkennzeichenregister, das das Startkennzeichen speichert, und ein Bit, d. h. ein Bit 14, wirkt als MPU-Ausführungskennzeichen-Register, das das MPU-Ausführungskennzeichen speichert. Vierzehn Bits von einem Bit 0 bis zu einem Bit 13 im Register 336 werden auf Reserve gesetzt. Die Reserve des Zustandsregisters wird auf "0" gesetzt und der Anfangswert wird auf "0000h" gesetzt.
  • Die Formen der Verarbeitung durch den Steuerinterpretierer 301 des Ablaufprozessors 300 und die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 werden auf der Basis des im Bit 15 des Zustandsregisters gespeicherten Startkennzeichens und des im Bit 14 gespeicherten MPU- Ausführungskennzeichens gesteuert.
  • Fig. 15 ist ein Zustandsübergangsdiagramm, das den Übergang der Verarbeitung auf der Basis des Startkennzeichens und des MPU-Ausführungskennzeichens in dieser Modifikation zeigt.
  • In Fig. 15 wird ein Satz von zwei Ziffern zu jedem Übergang hinzugefügt. Die Ziffer an einer hohen Stelle stellt das Startkennzeichen dar und die Ziffer an einer niedrigen Stelle stellt das MPU-Ausführungskennzeichen dar.
  • Wenn in Fig. 15 das Startkennzeichen "1" ist und das MPU- Kennzeichen "0" ist, führt die "Befehlsausführung" durch den Steuerinterpretierer 301 des Ablaufprozessors 300 die "Befehlsausführung" durch. Wenn das Startkennzeichen in diesem Zustand auf "0" geht, und mit anderen Worten, wenn das Startkennzeichen auf "0" geht und das MPU- Ausführungskennzeichen auf "0" geht, geht der Prozess zur "Peripherieverarbeitung" durch die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 über.
  • Das Startkennzeichen kann auf "1" gehen, während die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 die "Peripherieverarbeitung" durchführt, und mit anderen Worten, während das Startkennzeichen "0" ist und das MPU- Ausführungskennzeichen "0" ist. Mit anderen Worten, das Startkennzeichen und das MPU-Ausführungskennzeichen können auf "1" bzw. "0" gehen. In diesem Fall geht der Prozess zur "Befehlsausführung" durch den Steuerinterpretierer 301 des Ablaufprozessors 300 über.
  • Das MPU-Ausführungskennzeichen kann auf "1" gehen, während die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 die "Peripherieverarbeitung" durchführt, und mit anderen Worten, wenn sowohl das Startkennzeichen als auch das MPU-Ausführungskennzeichen "0" sind. Mit anderen Worten, das Startkennzeichen und das MPU- Ausführungskennzeichen können auf "0" bzw. "1" gehen. Sowohl das Startkennzeichen als auch das MPU- Ausführungskennzeichen können auch auf "1" gehen. Somit kann das Startkennzeichen auf "1" gehen und das MPU- Ausführungskennzeichen kann auf "1" gehen. In diesen Fällen wird der Zustand als Fehler festgestellt und der Prozess geht zur Verarbeitung für einen Fehler über.
  • Das MPU-Ausführungskennzeichen kann auf "1" gehen, während der Steuerinterpretierer 301 des Ablaufprozessors 300 die "Befehlsausführung" durchführt, und mit anderen Worten, wenn das Startkennzeichen und das MPU- Ausführungskennzeichen "1" bzw. "0" sind. In diesem Fall geht der Prozess zum "MPU-Ausführungsbefehl" durch die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 über.
  • Das MPU-Ausführungskennzeichen kann auf "0" gehen, während die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 den "MPU-Ausführungsbefehl" durchführt, und mit anderen Worten, wenn sowohl das Startkennzeichen als auch das MPU- Ausführungskennzeichen "1" sind. In diesem Fall, d. h. wenn das Startkennzeichen und das MPU-Ausführungskennzeichen auf "1" bzw. "0" gehen, geht der Prozess zur "Befehlsausführung" durch den Steuerinterpretierer 301 des Ablaufprozessors 300 über.
  • Das MPU-Ausführungskennzeichen kann auf "1" gehen, während die Mikroprozessoreinheit (MPU1) 201 des Personalcomputers 200 den "MPU-Ausführungsbefehl" durchführt, und mit anderen Worten, wenn sowohl das Startkennzeichen als auch das MPU- Ausführungskennzeichen "1" sind. In diesem Fall, d. h. wenn sowohl das Startkennzeichen als auch das MPU- Ausführungskennzeichen auf "1" gehen, und in solchen Fällen, in denen das Startkennzeichen auf "0" geht und das MPU-Ausführungskennzeichen auf "1" geht, und in denen sowohl das Startkennzeichen als auch das MPU- Ausführungskennzeichen auf "0" gehen, d. h. das Startkennzeichen auf "0" geht und das MPU- Ausführungskennzeichen auf "0" geht, wird der Zustand als Fehler festgestellt und der Prozess geht zur Verarbeitung für einen Fehler über.
  • Das Startkennzeichen und das MPU-Ausführungskennzeichen können auf "0" bzw. "1" gehen, während der Steuerinterpretierer 301 des Ablaufprozessors 300 die "Befehlsausführung" durchführt, d. h. wenn das Startkennzeichen "1" ist und das MPU-Ausführungskennzeichen "0" ist. In diesem Fall wird der Zustand ebenso als Fehler festgestellt und der Prozess geht zur Verarbeitung für einen Fehler über.
  • INDUSTRIELLE ANWENDBARKEIT
  • Gemäß der Informationsverarbeitungsvorrichtung der Erfindung, wie vorstehend beschrieben, ist eine Ablaufbefehls-Ausführungseinheit mit einer Datenverarbeitungsvorrichtung über einen Bus verbunden, die Ablaufbefehls-Ausführungseinheit führt einen Ablaufbefehl auf der Basis eines vorbestimmten Ablaufprogramms als Reaktion auf einen von der Datenverarbeitungsvorrichtung ausgegebenen Befehl aus und die Datenverarbeitungsvorrichtung führt eine Informationsverarbeitung auf der Basis eines vorbestimmten Informationsverarbeitungsprogramms durch und führt eine Peripherieverarbeitung gemäß einer Peripherieverarbeitungsanforderung, die von einer Ablaufbefehls-Ausführungseinheit ausgegeben wird, aus. Daher kann das gesamte System kostengünstig sein und ein Einfluss, der auf einen Zyklus der Ablauf Verarbeitung ausgeübt wird, kann minimiert werden, was für die Informationsverarbeitung geeignet ist.

Claims (18)

1. Informationsverarbeitungsvorrichtung (100, 101) mit einer Datenverarbeitungsvorrichtung (200), die mit einem Prozessor (201) und einem internen Bus (203) versehen ist, welcher mit dem Prozessor (201) verbunden ist und innerhalb einer Vorrichtung untergebracht ist, und einem Ablaufbefehls-Ausführungsmittel (300), das mit dem internen Bus (203) verbunden ist, wobei
die Datenverarbeitungsvorrichtung (200) oder das Ablaufbefehls-Ausführungsmittel (300) einen Benutzerspeicher (204, 303) zum Speichern eines Ablaufprogramms, das von einem Benutzer vorbereitet wird, und einen E/A-Speicher zum Speichern eines Zustands einer Eingabe/Ausgabe umfasst, und
eine E/A-Platine (400), die mit einer externen Vorrichtung verbunden ist, durch einen Befehl des Ablaufbefehls-Ausführungsmittels (300) gesteuert wird,
dadurch gekennzeichnet, dass
das Ablaufbefehls-Ausführungsmittel (300) mit dem internen Bus (203) der Datenverarbeitungsvorrichtung (200) über einen Personalcomputer-Erweiterungsbus (500) verbunden ist,
die E/A-Platine (400) durch den internen Bus (203) angeschlossen ist,
die Datenverarbeitungsvorrichtung (100, 101) ein Verarbeitungsausführungsmittel zum Ausführen einer vorbestimmten Peripherieverarbeitung nach Interpretation und Ausführung eines Befehls in dem Benutzerspeicher (303) durch das Ablaufbefehls-Ausführungsmittel (300) umfasst, und
das Verarbeitungsausführungsmittel umfasst:
ein Informationsverarbeitungs-Ausführungsmittel zum Ausführen einer Informationsverarbeitung auf der Basis eines vorbestimmten Informationsverarbeitungsprogramms,
ein Verarbeitungsunterbrechungs-Steuermittel zum Steuern einer Unterbrechung der von dem Informationsverarbeitungs-Ausführungsmittel ausgeführten Informationsverarbeitung,
ein Feststellungsmittel zum Feststellen der Anwesenheit oder Abwesenheit einer Peripherieverarbeitungsanforderung, die von dem Ablaufbefehls-Ausführungsmittel ausgegeben wird, auf die Unterbrechung der Informationsverarbeitung durch das Verarbeitungsunterbrechungs-Steuermittel hin,
ein Peripherieverarbeitungs-Ausführungsmittel zum Ausführen der Peripherieverarbeitung, wenn das Feststellungsmittel die Anwesenheit der Peripherieverarbeitungsanforderung, die von dem Ablaufbefehls-Ausführungsmittel ausgegeben wird, feststellt, und
ein Verarbeitungsneustart-Steuermittel zum Steuern des Neustarts der Informationsverarbeitung, die von dem Verarbeitungsunterbrechungs-Steuermittel unterbrochen wurde.
2. Informationsverarbeitungsvorrichtung nach Anspruch 1, wobei
das Informationsverarbeitungsprogramm aus einer Vielzahl von Blöcken besteht, und
das Informationsverarbeitungs-Ausführungsmittel die Informationsverarbeitung mit einem Block auf einmal ausführt.
3. Informationsverarbeitungsvorrichtung nach Anspruch 2, wobei
das Feststellungsmittel die Anwesenheit oder Abwesenheit der Peripherieverarbeitungsanforderung, die von dem Ablaufbefehls-Ausführungsmittel ausgegeben wird, bei jeder Vollendung der mit einem Block auf einmal durchgeführten Informationsverarbeitung feststellt.
4. Informationsverarbeitungsvorrichtung nach Anspruch 1, wobei
das Ablaufprogramm aus einem Steuerprogramm besteht, und
das Ablaufbefehls-Ausführungsmittel (300) einen Steuerinterpretierer (301) umfasst, der eine Befehlsausführungsverarbeitung durch Interpretieren und Ausführen des Steuerprogramms durchführt.
5. Informationsverarbeitungsvorrichtung nach Anspruch 4, wobei
das Ablaufbefehls-Ausführungsmittel (300) ein Registermittel (302) zum Verwalten der Befehlsausführungsverarbeitung durch den Steuerinterpretierer (301) umfasst.
6. Informationsverarbeitungsvorrichtung nach Anspruch 5, wobei
das Registermittel (302) umfasst:
ein Programmzählregister (311, 312; 331, 332) mit einem Wert, der anfänglich beim Start des Steuerinterpretierers (301) gesetzt und bei jeder Ausführung eines Befehls des Steuerprogramms inkrementiert werden soll,
ein Zustandsregister (333), das einen Zustand der Ausführung des Steuerprogramms durch den Steuerinterpretierer speichert, und
ein Adressenregister (334, 335), das eine führende Adresse des Steuerprogramms, das vom Steuerinterpretierer ausgeführt wird, speichert.
7. Informationsverarbeitungsvorrichtung nach Anspruch 6, wobei
das Zustandsregister (333) ein Startkennzeichen speichert, das den Start und den Stopp des Steuerinterpretierers (301) anzeigt.
8. Informationsverarbeitungsvorrichtung nach Anspruch 7, wobei
der Steuerinterpretierer (301) die Befehlsausführungsverarbeitung auf der Basis der führenden Adresse, die im Adressenregister (302) gespeichert ist, durchführt, wenn das Startkennzeichen den Start des Steuerinterpretierers (301) anzeigt, und die Datenverarbeitungsvorrichtung auffordert, die Peripherieverarbeitung durchzuführen, wenn das Startkennzeichen den Stopp des Steuerinterpretierers (301) anzeigt.
9. Informationsverarbeitungsvorrichtung nach Anspruch 6, wobei
das Startkennzeichen in das Zustandsregister (333) auf der Basis eines Befehls, der aus der Datenverarbeitungsvorrichtung (100, 101) ausgegeben wird, geschrieben wird.
10. Informationsverarbeitungsvorrichtung nach Anspruch 1, welche ferner umfasst:
ein Ablaufprogramm-Ausführungsunterstützungsmittel zum Ausführen eines im Benutzerspeicher (204) gespeicherten Ablaufprogramms anstelle des Ablaufbefehls- Ausführungsmittels.
11. Informationsverarbeitungsvorrichtung nach Anspruch 6, wobei
das Zustandsregister (333) ein erstes Kennzeichen, das den Start und Stopp des Steuerinterpretierers (301) anzeigt, und ein zweites Kennzeichen, das anzeigt, ob die Befehlsausführungsverarbeitung durch den Steuerinterpretierer (301) an die Datenverarbeitungsvorrichtung anzufordern ist oder nicht, speichert.
12. Informationsverarbeitungsvorrichtung nach Anspruch 11, wobei
der Steuerinterpretierer (301) die Befehlsausführungsverarbeitung auf der Basis der führenden Adresse, die im Adressenregister (311, 312; 331, 332) gespeichert ist, ausführt, wenn das erste Kennzeichen den Start des Steuerinterpretierers (301) anzeigt und das zweite Kennzeichen keine Aufforderung an die Datenverarbeitungsvorrichtung für die Befehlsausführungsverarbeitung anzeigt; die Datenverarbeitungsvorrichtung auffordert, die Befehlsausführungsverarbeitung durchzuführen, wenn das erste Kennzeichen den Start des Steuerinterpretierers anzeigt und das zweite Kennzeichen eine Aufforderung an die Datenverarbeitungsvorrichtung für die Befehlsausführungsverarbeitung anzeigt; und die Datenverarbeitungsvorrichtung auffordert, eine Peripherieverarbeitung durchzuführen/wie z. B. Auffrischen des E/A-Anschlusses (400), wenn das Startkennzeichen den Stopp des Steuerinterpretierers (301) anzeigt und das zweite Kennzeichen keine Aufforderung an die Datenverarbeitungsvorrichtung für die Befehlsausführungsverarbeitung anzeigt.
13. Informationsverarbeitungsvorrichtung nach Anspruch 11, wobei
ein Prozess als Fehler festgestellt wird und eine Verarbeitung für einen Fehler während der Befehlsausführungsverarbeitung durch den Steuerinterpretierer (301) in einem solchen Fall ausgeführt wird, dass das erste Kennzeichen den Stopp des Steuerinterpretierers (301) anzeigt und das zweite Kennzeichen eine Aufforderung an die Datenverarbeitungsvorrichtung für die Befehlsausführungsverarbeitung anzeigt; während der Befehlsausführungsverarbeitung durch die Datenverarbeitungsvorrichtung in solchen Fällen, dass das erste Kennzeichen den Start des Steuerinterpretierers (301) anzeigt und das zweite Kennzeichen eine Aufforderung an die Datenverarbeitungsvorrichtung für die Befehlsausführungsverarbeitung anzeigt, dass das erste Kennzeichen den Stopp des Steuerinterpretierers (301) anzeigt und das zweite Kennzeichen eine Aufforderung an die Datenverarbeitungsvorrichtung für die Befehlsausführungsverarbeitung anzeigt, und dass das Startkennzeichen den Stopp des Steuerinterpretierers (301) anzeigt und das zweite Kennzeichen keine Aufforderung an die Datenverarbeitungsvorrichtung für die Befehlsausführungsverarbeitung anzeigt; und während der Peripherieverarbeitung durch die Datenverarbeitungsvorrichtung, in solchen Fällen, dass das erste Kennzeichen den Start des Steuerinterpretierers anzeigt und das zweite Kennzeichen eine Aufforderung an die Datenverarbeitungsvorrichtung für die Befehlsausführungsverarbeitung anzeigt, und dass das erste Kennzeichen den Stopp des Steuerinterpretierers (301) anzeigt und das zweite Kennzeichen eine Aufforderung an die Datenverarbeitungsvorrichtung für die Befehlsausführungsverarbeitung anzeigt.
14. Informationsverarbeitungsvorrichtung nach Anspruch 11, wobei
das erste und das zweite Kennzeichen in das Zustandsregister (333) auf der Basis eines Befehls, der von der Datenverarbeitungsvorrichtung ausgegeben wird, geschrieben werden.
15. Ablaufsteuerverfahren für eine Informationsverarbeitungsvorrichtung (100, 101) mit einer Datenverarbeitungsvorrichtung (200), die mit einem Prozessor (201) und einem internen Bus (203) versehen ist, der mit dem Prozessor (201) verbunden ist und innerhalb einer Vorrichtung untergebracht ist, und einem Ablaufbefehls-Ausführungsmittel (300), das mit dem internen Bus (203) verbunden ist, mit den Schritten:
Speichern eines Ablaufprogramms, das von einem Benutzer vorbereitet wird, in einem Benutzerspeicher in der Datenverarbeitungsvorrichtung (200) oder dem Ablaufbefehls- Ausführungsmittel (300) und Speichern eines Zustands einer Eingabe/Ausgabe in einem E/A-Speicher, und
Steuern einer E/A-Platine (400), die mit einer externen Vorrichtung verbunden ist, durch einen Befehl des Ablaufbefehls-Ausführungsmittels (300),
dadurch gekennzeichnet, dass
das Ablaufbefehls-Ausführungsmittel (300) mit dem internen Bus (203) der Datenverarbeitungsvorrichtung (200) über einen Personalcomputer-Erweiterungsbus (500) verbunden ist,
die E/A-Platine (400) durch den internen Bus (203) angeschlossen ist,
eine vorbestimmte Peripherieverarbeitung nach der Interpretation in dem Verarbeitungsausführungsmittel, das in der Datenverarbeitungsvorrichtung (100, 101) enthalten ist, ausgeführt wird und ein Befehl in dem Benutzerspeicher (303) durch das Ablaufbefehls-Ausführungsmittel (300) ausgeführt wird, wobei das Ablaufbefehls-Ausführungsmittel (300) das Ablaufprogramm durch Zugreifen über den Bus (203) ausführt,
wobei das Ablaufbefehls-Ausführungsmittel (300) die Datenverarbeitungsvorrichtung auffordert, das Ablaufprogramm auszuführen, gemäß einem Befehl, der aus der Datenverarbeitungsvorrichtung ausgegeben wird, und die Ausführung des Ablaufprogramms erneut startet, wenn die angeforderte Ausführung des Ablaufprogramms durch die Datenverarbeitungsvorrichtung beendet ist.
16. Ablaufsteuerverfahren nach Anspruch 15, wobei
das Ablaufbefehls-Ausführungsmittel (300) die Ausführung des Ablaufprogramms beendet, und die Datenverarbeitungsvorrichtung auffordert, die Peripherieverarbeitung auszuführen, gemäß einem Befehl, der aus der Datenverarbeitungsvorrichtung ausgegeben wird.
17. Ablaufsteuerverfahren nach Anspruch 15, wobei
das Ablaufbefehls-Ausführungsmittel (300) mit einem Registermittel (302) zum Verwalten der Ausführung des Ablaufprogramms versehen ist,
ein Startkennzeichen, das den Start und Stopp des Ablaufbefehls-Ausführungsmittels (300) anzeigt, in das Registermittel (302) gemäß einem Befehl, der aus der Datenverarbeitungsvorrichtung ausgegeben wird, geschrieben wird, und
der Start und Stopp der Datenverarbeitungsvorrichtung mit Bezug auf das geschriebene Startkennzeichen gesteuert werden.
18. Ablaufsteuerverfahren nach Anspruch 15, wobei
das Ablaufbefehls-Ausführungsmittel. (300) mit einem Registermittel (302) zum Verwalten der Ausführung des Ablaufprogramms versehen ist,
ein Startkennzeichen, das den Start und Stopp des Ablaufbefehls-Ausführungsmittels anzeigt, und ein zweites Kennzeichen, das anzeigt, ob die Datenverarbeitungsvorrichtung aufgefordert werden soll, die Befehlsausführungsverarbeitung durchzuführen, die von dem Ablaufbefehls-Ausführungsmittel (300) durchgeführt werden soll, in das Registermittel gemäß einem Befehl, der aus der Datenverarbeitungsvorrichtung ausgegeben wird, geschrieben werden, und
der Start und Stopp der Datenverarbeitungsvorrichtung und die Aufforderungen an die Datenverarbeitungsvorrichtung für die Befehlsausführungsverarbeitung und die Peripherieverarbeitung mit Bezug auf das geschriebene erste und zweite Kennzeichen gesteuert werden.
DE69625041T 1995-09-26 1996-09-26 Verfahren und vorrichtung zur informationsbehandlung Expired - Fee Related DE69625041T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP24751695 1995-09-26
JP25091395 1995-09-28
PCT/JP1996/002782 WO1997012304A1 (fr) 1995-09-26 1996-09-26 Procede et equipement de traitement de l'information

Publications (2)

Publication Number Publication Date
DE69625041D1 DE69625041D1 (de) 2003-01-09
DE69625041T2 true DE69625041T2 (de) 2003-07-24

Family

ID=26538302

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69625041T Expired - Fee Related DE69625041T2 (de) 1995-09-26 1996-09-26 Verfahren und vorrichtung zur informationsbehandlung

Country Status (5)

Country Link
US (1) US6078969A (de)
EP (1) EP0800126B1 (de)
JP (1) JP3156253B2 (de)
DE (1) DE69625041T2 (de)
WO (1) WO1997012304A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19740775A1 (de) * 1997-09-17 1999-03-18 Focke & Co Steuerungssystem für insbesondere Palettieranlagen mit Robotern
JP2001242915A (ja) * 2000-03-01 2001-09-07 Yaskawa Electric Corp プログラマブルコントローラのメッセージ通信方法
US20060190106A1 (en) 2001-07-30 2006-08-24 Rockwell Automation Technologies, Inc. Method for consistent storage of data in an industrial controller
US7272453B2 (en) * 2004-11-30 2007-09-18 Air Products And Chemicals, Inc. Method and apparatus for utilizing a sequence interpreter approach to control logic of a programmable logic controller
FR2879314B1 (fr) * 2004-12-09 2007-05-11 Chaveriat Robotique Soc Par Ac Dispositif de gestion d'une chaine de fabrication
JP4383476B2 (ja) * 2007-10-05 2009-12-16 新日本製鐵株式会社 プラント制御システム及び方法
EP2210153B1 (de) 2007-11-13 2013-04-24 Rockwell Automation Technologies, Inc. Industrieregler mit gemeinsamer multicore-speicherarchitektur
DE102008064674B4 (de) * 2008-11-18 2018-04-12 Abb Ag Zentralbaugruppe für ein flexibles erweiterbares Automatisierungsgerät
EP2367083B1 (de) * 2010-03-19 2016-10-05 Sick Ag Vorrichtung zur Erstellung eines Programms für eine speicherprogrammierbare Steuerung, Programmiereinrichtung und Verfahren zur Programmierung einer speicherprogrammierbaren Steuerung
US9632777B2 (en) * 2012-08-03 2017-04-25 International Business Machines Corporation Gather/scatter of multiple data elements with packed loading/storing into/from a register file entry
US9575755B2 (en) 2012-08-03 2017-02-21 International Business Machines Corporation Vector processing in an active memory device
US9569211B2 (en) 2012-08-03 2017-02-14 International Business Machines Corporation Predication in a vector processor
US9594724B2 (en) 2012-08-09 2017-03-14 International Business Machines Corporation Vector register file

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3713107A (en) * 1972-04-03 1973-01-23 Ncr Firmware sort processor system
US4302820A (en) * 1979-08-20 1981-11-24 Allen-Bradley Company Dual language programmable controller
US4901232A (en) * 1983-05-19 1990-02-13 Data General Corporation I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor
US4870614A (en) * 1984-08-02 1989-09-26 Quatse Jesse T Programmable controller ("PC") with co-processing architecture
US4920481A (en) * 1986-04-28 1990-04-24 Xerox Corporation Emulation with display update trapping
DE3808135A1 (de) * 1988-03-11 1989-09-28 Kloeckner Moeller Elektrizit Speicherprogrammierbares steuerungssystem
US5225975A (en) * 1988-04-04 1993-07-06 Square D Company Network programmable logic controller system with ladder editor and parallel and synchronous logic and I/O scanning
JP2685518B2 (ja) * 1988-07-22 1997-12-03 株式会社日立製作所 プログラマブルコントローラ
JPH02141806A (ja) * 1988-11-24 1990-05-31 Matsushita Electric Ind Co Ltd シーケンス制御装置
JP2834837B2 (ja) * 1990-03-30 1998-12-14 松下電工株式会社 プログラマブルコントローラ
JPH03288906A (ja) * 1990-04-05 1991-12-19 Fanuc Ltd Pcの命令実行方式
US5249157A (en) * 1990-08-22 1993-09-28 Kollmorgen Corporation Collision avoidance system
CA2048944A1 (en) * 1990-08-31 1992-03-01 Otomar S. Schmidt Processor for a programmable controller
US5295059A (en) * 1992-09-09 1994-03-15 Allen-Bradley Company, Inc. Programmable controller with ladder diagram macro instructions
DE59308478D1 (de) * 1993-10-11 1998-06-04 Siemens Ag Verarbeitungsmodul für ein modulares Automatisierungssystem

Also Published As

Publication number Publication date
WO1997012304A1 (fr) 1997-04-03
DE69625041D1 (de) 2003-01-09
EP0800126A1 (de) 1997-10-08
EP0800126B1 (de) 2002-11-27
JP3156253B2 (ja) 2001-04-16
US6078969A (en) 2000-06-20
EP0800126A4 (de) 1998-07-08

Similar Documents

Publication Publication Date Title
DE69023018T2 (de) Prozessor-Unterbrechungssteuerung.
DE3854594T2 (de) Programmierbare Steuerung mit parallelen Prozessoren.
DE69625041T2 (de) Verfahren und vorrichtung zur informationsbehandlung
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3751426T2 (de) Busschnittstellenschaltung für digitalen Datenprozessor.
DE3788354T2 (de) Eingangs-/ausgangssteuerungstechnik.
DE69900797T2 (de) Cache-Speicherkohärenzprotokoll mit unabhängiger Implementierung von optimierten Cache-Speicheroperationen
DE69905287T2 (de) Unterbrechungsarchitektur für ein rechnersystem mit nichtuniformem speicherzugriff
DE69630355T2 (de) Dynamische gerätanpassung unter verwendung von treiber-kandidatlisten
DE69727407T2 (de) Verteilte Ausführung von modusungeeigneten Befehlen in Multiprozessorsysteme
DE3854481T2 (de) Datenverarbeitungsverfahren in einem dezentralisierten Verarbeitungssystem.
DE3881414T2 (de) Datenverarbeitungssystem mit einer steckbaren optionellen Karte.
DE69524564T2 (de) Kohärenz- und synchronisationsmechanismus für ein-/ausgangkanalsteuereinheiten in einem datenverarbeitungssystem
DE3889578T2 (de) Vorrichtung zur Sicherung und Rückspeicherung einer Registerinformation.
DE60036465T2 (de) Rechneradapterkarte für die kombinierung von eingang-/ausgangfertigstellungsberichten und verwendung derselben
DE69626485T2 (de) Schnittstellenbildung zwischen Direktspeicherzugriffsvorrichtung und einem nicht-ISA-Bus
DE3851928T2 (de) Steuerung von asynchron arbeitenden Peripheriegeräten.
DE3751399T2 (de) Parallelrechner mit verteilten, gemeinsam genutzten Speichern und verteilten, aufgabenaktivierenden Schaltungen.
DE69127851T2 (de) Direktspeicherzugriffübertragungssystem und Benutzung
DE3852257T2 (de) Anwenderprogramm-Schnittstelle für Vollbild-Eingabe/Ausgabe.
DE69320122T3 (de) Speicherprogrammierbare Steuerung mit Leiterdiagramm-Makroinstrucktionen
DE69428538T2 (de) Verfahren zum konfigurieren von mehreren adapterkarten auf einem bus
DE68922545T2 (de) Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen.
DE69122142T2 (de) Steuerungsanlage für ein Mehrprozessorsystem
DE602004010399T2 (de) Neuadressierbare virtuelle dma-steuer und statusregister

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee