DE4011278A1 - Programmierbare steuereinheit - Google Patents

Programmierbare steuereinheit

Info

Publication number
DE4011278A1
DE4011278A1 DE4011278A DE4011278A DE4011278A1 DE 4011278 A1 DE4011278 A1 DE 4011278A1 DE 4011278 A DE4011278 A DE 4011278A DE 4011278 A DE4011278 A DE 4011278A DE 4011278 A1 DE4011278 A1 DE 4011278A1
Authority
DE
Germany
Prior art keywords
processor
program
command
board
standard
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.)
Withdrawn
Application number
DE4011278A
Other languages
English (en)
Inventor
Masaaki Yonezawa
Kiyoshi Hasegawa
Yasunori Kawata
Kouji Matsuoka
Takasi Kadowaki
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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
Priority claimed from JP1104052A external-priority patent/JPH02281365A/ja
Priority claimed from JP1129707A external-priority patent/JPH02307151A/ja
Priority claimed from JP1275513A external-priority patent/JPH03136105A/ja
Priority claimed from JP1275512A external-priority patent/JPH03136103A/ja
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Publication of DE4011278A1 publication Critical patent/DE4011278A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor

Landscapes

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

Description

Die Erfindung betrifft eine programmierbare Steuerein­ heit (controller), in welcher ein Folgesteuerprogramm vorgesehen (abgespeichert) ist, zwecks Ein- und Aus­ gebens von Informationen in/von einer Vielzahl von lo­ kalen Intelligenzgeräten auf dem Fabrik- oder Ferti­ gungsautomations- bzw. FA-Gebiet für die effektive Steuerung von Fabrik-Fertigungsstraßen oder auf einem Prozeßautomations- bzw. PA-Gebiet für die Steuerung mehrerer industrieller Prozesse.
Insbesondere betrifft die Erfindung ein verbessertes Umschaltsystem, das einem 1-Bit-Prozessor zur Ausfüh­ rung des Folgesteuerprogramms und eines gewöhnlichen oder normalen (ordinary) Prozesses zugeordnet ist. Zu­ dem betrifft die Erfindung eine Verbesserung einer Funktion für einen beliebig oder willkürlich durch einen Anwender gesetzten bzw. vorgegebenen Basis- oder Standardprozeß, einer Steuerfunktion über eine Gruppe von Ein/Ausgabe- bzw. E/A-Karten für die Übertragung von Signalen zu den zentralen Geräten und zum Empfangen oder Abnehmen der Signale von diesen, sowie einer Pro­ grammierverarbeitung des internen (set inside) Folge­ steuerprogramms.
Im allgemeinen ist eine Zentraleinheit- bzw. CPU-Pla­ tine (board) in der programmierbaren Steuereinheit mit einem typischen Universalprozessor (z.B. einem 16-Bit- Mikroprozessor (Typ) 68000 o.dgl.), der als erster Pro­ zessor dient, und einem Prozessor (z.B. aus der 68000- Reihe o.dgl.) versehen, der ausschließlich für die Durchführung einer Rechenoperation an numerischen Grö­ ßen oder einer Logik zugewiesen ist und als zweiter Prozessor dient. Diese Prozessoren arbeiten, während sie entsprechend einem in einem Programmspeicher abge­ speicherten Folgesteuerprogramm umgeschaltet werden.
Fig. 1 veranschaulicht ein Beispiel für ein Modul (einen Baustein), bei dem erster und zweiter Prozessor für das Auslesen aus einem einzigen Programmspeicher abwechselnd arbeiten bzw. betrieben werden.
Beim Baustein nach Fig. 1 sind ein erster Prozessor 1 (CPU) als typischer Universalprozessor (z.B. 16-Bit- Mikroprozessor 68000) und ein zweiter Prozessor 2 (BPU) als Prozessor (z.B. der Baureihe 68000) zur Durchfüh­ rung der Rechenoperation an numerischen Größen oder einer Logik über einen Informations-Bus b mit einem Programmspeicher 3 verbunden. Der zweite Prozessor 2 (BPU) wird zeitweilig auch als 1-Bit-Prozessor bezeich­ net.
Der Programmspeicher 3 speichert Maschinensprachbefehle als Programmbefehle für den Prozessor (CPU) 1. Letzte­ rer führt die Verarbeitung durch sequentielles Auslesen der Maschinensprachbefehle aus. Wenn die ausgelesenen Befehle durch den Prozessor 2 (BPU) ausgeführt bzw. ab­ gearbeitet werden sollen, liefert der Prozessor 1 An­ weisungen (instructions) für Operation und Datenvorbe­ reitung zum Prozessor 2. Anschließend werden die aus dem Programmspeicher 3 ausgelesenen Befehle (commands) im Hinblick auf die Übertragung des Rechts für Steuer­ ausführung sequentiell zum Prozessor 2 ausgegeben.
Diese bekannte programmierbare Steuereinheit benutzt eine Kombination aus Prozessoren 1 (CPU) und 2 (BPU), so daß sich bezüglich Auslegung oder Konstruktion die Schwierigkeit ergibt, daß die im Programmspeicher 3 enthaltenen Maschinensprachbefehle zum Zeitpunkt des Systementwurfs im voraus den Prozessoren 1 bzw. 2 zu­ gewiesen werden müssen.
Andererseits sind neuerdings häufig benutzte Befehle Interpretier(typ)befehle (Interpretierprogrammbefehle), die unabhängig von den dem Prozessor 1 eigenen Maschi­ nensprachbefehlen ausgelegt sind und im Programmspei­ cher 3 abgespeichert werden (sollen).
Ein die Interpretierbefehle benutzendes Gerät vermag die durch den Prozessor 2 ausgeführten Befehle zusätz­ lich zu den durch den Prozessor 1 ausgeführten Befehlen frei vorzugeben (setting). Es ist dabei nicht notwen­ dig, die Befehle in der Entwurfs- oder Konstruktions­ phase des Prozessors 1 jeweils den Prozessoren 1 bzw. 2 zuzuweisen. Der Prozessor 1 oder 2 wird in Überein­ stimmung mit dem Inhalt der aus dem Programmspeicher 3 ausgelesenen Befehlen spezifiziert oder bezeichnet; damit ist es möglich, die praktische Wirksamkeit zu erhöhen und die durch den Prozessor 2 (BPU) auszufüh­ renden Befehle zu erweitern.
Im Fall der Anwendung der Maschinensprach- und Inter­ pretierbefehle liest jedoch der Prozessor 1 (CPU) , wenn der Prozessor 2 (BPU) arbeitet, die Programmbefehle se­ quentiell aus dem Programmspeicher 3 aus, und er lie­ fert diese Befehle zum Prozessor 2; hierfür ist ein großer Programmübertragungs-Zeitaufwand nötig.
Bei Verwendung der Interpretierbefehle muß der Prozes­ sor 1 die ausgelesenen Befehle interpretieren und einen Prozessor für die Ausführung bestimmen. Insbesondere bei einem Gerät, bei dem ein häufiges Umschalten zwi­ schen den Prozessoren 1 und 2 erfolgt, bedingt dies einen übermäßig großen Zeitaufwand.
Im Hinblick auf diese Gegebenheiten liegt damit der Er­ findung die Aufgabe zugrunde, eine programmierbare Steuereinheit zu schaffen, welche einen Vorgang des Um­ schaltens von (zwischen) Prozessoren (CPU und BPU) zu vereinfachen und die Prozesse insgesamt zu beschleuni­ gen vermag.
Gegenstand der Erfindung ist eine programmierbare Steu­ ereinheit, bei welcher nicht nur die interne Geometrie von Zentraleinheit- oder CPU-Platinen, sondern auch die Leistungsfähigkeiten der arithmetischen oder Rechenver­ arbeitung für Universalzwecke, Informationsverarbei­ tung, eine Steueroperation, Basis- oder Standardpro­ grammverarbeitung in Zuordnung zu einem an eine Hilfs­ (rechner)seite angeschlossenen Rechnersystem sowie Fol­ gesteuerprogrammverarbeitung verbessert sind.
Gegenstand der Erfindung ist auch eine programmierbare Steuereinheit, mit welcher Daten sicher und mit hoher Geschwindigkeit übertragbar sind, und zwar durch Ver­ besserung einer Funktion des Datentransfers zu einer Gruppe von an die CPU-Platinen angeschlossenen Ein/Aus­ gabe- bzw. E/A-Karten (I/O cards) zum Übertragen von Signalen zu zentralen Geräten und zum Abnehmen der Signa­ le von diesen.
Gegenstand der Erfindung ist ferner eine programmier­ bare Steuereinheit, bei welcher die Erzeugung eines Folgesteuerprogramms vereinfacht ist und die auch eine eigene Betriebsabnormalität (-störung) und eine Abnor­ malität im Ablauf des Folgesteuerprogramms festzustel­ len vermag.
Im folgenden sind bevorzugte Ausführungsformen der Er­ findung im Vergleich zum Stand der Technik anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 ein Blockschaltbild einer bisherigen pro­ grammierbaren Steuereinheit,
Fig. 2 ein Blockschaltbild einer programmierbaren Steuereinheit (controller) gemäß einer Aus­ führungsform der Erfindung,
Fig. 3 eine Darstellung des Inhalts eines Pro­ grammspeichers zur Erläuterung der Opera­ tionen der Steuereinheit nach Fig. 2,
Fig. 4 ein Blockschaltbild einer anderen Ausfüh­ rungsform der Erfindung,
Fig. 5a und 5b Darstellungen zur Verdeutlichung der Operationen (Arbeitsweise) der Steuerein­ heit nach Fig. 4,
Fig. 6 ein Blockschaltbild einer teilweisen Ab­ wandlung der Ausführungsform nach Fig. 4,
Fig. 7a und 7b Darstellungen zur Verdeutlichung der Operationen der Steuereinheit nach Fig. 6,
Fig. 8 ein Blockschaltbild noch einer anderen Aus­ führungsform der Erfindung,
Fig. 9a und 9b Darstellungen der Inhalte von ersten und zweiten Programmspeicherbereichen nach Fig. 8,
Fig. 10a und 10b ein Blockschaltbild bzw. eine (tabellarische) Darstellung für eine teil­ weise Abwandlung der Ausführungsform nach Fig. 8,
Fig. 11 eine schematische Darstellung einer Prozes­ sorplatine (board) der erfindungsgemäßen programmierbaren Steuereinheit und der Geo­ metrie einer Ein/Ausgabe- bzw. E/A-Platine bzw. Schaltungsplatte,
Fig. 12 eine schematische Darstellung eines (Ket­ ten-)Leiterprogramms (ladder program) zur Erläuterung der Operationen der erfindungs­ gemäßen programmierbaren Steuereinheit,
Fig. 13 eine Darstellung zur Verdeutlichung der Ope­ rationen von Prozessoren (CPU 1 und BPU 2) bei der erfindungsgemäßen Steuereinheit,
Fig. 14 eine schematische Darstellung eines die programmierbare Steuereinheit verwendenden Systems,
Fig. 15 eine Darstellung der Korrelation zwischen Standardprozeß und Folgesteuerprozeß bei der programmierbaren Steuereinheit gemäß der Er­ findung,
Fig. 16 ein Ablaufdiagramm für die Einstellung von Verarbeitungs- oder Prozeßsprachen von einem Hilfsrechner für die programmierbare Steuer­ einheit gemäß der Erfindung,
Fig. 17 einen Ablaufplan für Operationen eines Stan­ dard-E/A-Treibers bei der programmierbaren Steuereinheit gemäß der Erfindung,
Fig. 18 ein Ablaufdiagramm eines Modus zum Erzeugen oder Aufstellen einer Prozeßdefinitions­ tabelle im Standard-E/A-Treiber,
Fig. 19 ein Ablaufdiagramm für E/A-Platinen-Zu­ griffsvorgänge mittels des Standard-E/A- Treibers,
Fig. 20 und 21 Zeitsteuerdiagramme zur Darstellung eines Datentransfers zwischen der E/A-Plati­ ne und einer CPU-Platine bei der Steuerein­ heit,
Fig. 22 eine schematische Darstellung des Aufbaus eines in die programmierbare Steuereinheit gemäß der Erfindung einbezogenen (inte­ grierten) Abnormalitätsregistrier-Bausteins,
Fig. 23 eine (tabellarische) Darstellung für den Fall, daß Informationseinheiten des Bau­ steins nach Fig. 22 auf einem Kathodenstrahl­ röhren-Bildschirm des Hilfsrechners wieder­ gegeben werden,
Fig. 24 eine Darstellung einer (Ketten-)Leiterschal­ tung, zu der eine Vielfalt von durch ein Programmierwerkzeug erzeugten Bemerkungen (comments) hinzugefügt sind,
Fig. 25 ein Blockschaltbild des Programmierwerkzeugs gemäß der Erfindung und (zur Darstellung) einer Funktion zum Wiedergeben (bzw. Anzei­ gen) der Bemerkungen entsprechend Schritt­ zahlen,
Fig. 26 eine Darstellung einer intrafunktionellen Kommentar- oder Bemerkungsdatei in Bezug zu Fig. 25,
Fig. 27 eine Intrafunktionalschaltungs/Bemerkungs- Entsprechungstabelle in Bezug zu Fig. 25,
Fig. 28 eine schematische Darstellung von Übergän­ gen der Kathodenstrahlröhren-Bildanzeige im Programmierwerkzeug, bezogen auf die Funk­ tion nach Fig. 25,
Fig. 29 ein Diagramm einer Verarbeitungsroutine bei der programmierbaren Steuereinheit gemäß der Erfindung,
Fig. 30 ein Diagramm von Funktionsblöcken bei der Leiterschaltungsprogrammierung bei der pro­ grammierbaren Steuereinheit gemäß der Er­ findung,
Fig. 31 eine schematische Darstellung einer Ausbil­ dung (creation) einer Leiterschaltung (ladder circuit),
Fig. 32 ein Diagramm der Entsprechungen von Signal­ bezeichnungen der Leiterschaltung zu Adres­ sen,
Fig. 33 ein Diagramm von Zuweisungen detaillierter Adressen zu den Signalbezeichnungen der Lei­ terschaltung nach Fig. 32,
Fig. 34a bis 34c schematische Darstellungen jeweils eines pro Block erzeugten Leiterprogramms,
Fig. 35 eine schematische Darstellung eines Falls, in welchem eine Reihe von Folgesteuerprogram­ men durch mehrere programmierbare Steuerein­ heiten ausgeführt werden, und
Fig. 36 eine (tabellarische) Darstellung eines Bei­ spiels für ein Standardprogramm zum Steuern des Systems nach Fig. 35.
Fig. 1 ist eingangs bereits erläutert worden.
Fig. 2 veranschaulicht eine Ausführungsform einer pro­ grammierbaren Steuereinheit gemäß der Erfindung. Ein charakteristisches Merkmal dieser Ausführungsform ist, daß Signale zwischen Prozessoren (CPU) 1 und (BPU) 2 übertragbar und empfangbar sind, weil eine von einem Informations-Bus b getrennte Steuerleitung L vorgesehen ist.
Die Prozessoren 1 und 2 kommunizieren miteinander (post each other) an Startsignal- und Ausleseadressen eines Programmspeichers 3 mittels der Steuerleitung L.
Der Programmspeicher 3 dient zum Speichern von Folge- Standardbefehlen für den Prozessor 2 sowie der eingangs erwähnten Interpretier(typ)befehle. Insbesondere be­ steht das Folgesteuerprogramm aus den Folge-Standard- oder Standardfolgebefehlen für eine 1-Bit-Rechenopera­ tion, die durch Maschinensprachen erzeugt sind, und Folgeanwendungsbefehlen für einen Vergleich zwischen numerischen Größen (oder Werten) und Datenverarbeitung, in einem Interpretierformat erzeugt oder aufgestellt, wobei das Folgesteuerprogramm entsprechend der Folge bzw. Sequenz im Programmspeicher 3 (ab) gespeichert ist.
Im folgenden sind die Operationen der Steuereinheit speziell anhand der Darstellungen von Fig. 3 erläutert, welche die innere Geometrie (Innenaufbau) des Programm­ speichers 3 veranschaulicht.
Gemäß Fig. 3 können Anwendungsbefehle 1 bis 4 als Be­ fehle (Interpretierbefehle) für den Prozessor (CPU) 1 gedacht sein, deren Basis- oder Standardbefehle 1 bis 4 als Befehle (Maschinensprachen) für den Prozessor (BPU) 2 definiert sein können.
Der Prozessor 1 bewirkt das sequentielle Auslesen der Anwendungsbefehle 1 und 2 aus dem Programmspeicher 3 in der durch einen Pfeil A bezeichneten Reihenfolge. Der Prozessor 1 interpretiert diese Befehle und führt sie aus.
Sodann liest der Prozessor 1 den Standardbefehl 1 (Pfeil B) einer Adresse X 1 aus und interpretiert die­ sen Befehl. Wenn er als Befehl für den Prozessor 2 ge­ wertet wird, überträgt der Prozessor 1 die Adresse X 1 der Standardbefehle 1 im Programmspeicher 3 zum Prozes­ sor 2 über die Steuerleitung L, und er setzt im gleichen Augenblick den Prozessor 2 in Gang.
Als Ergebnis erhält oder gewinnt der Prozessor 2 ein Recht zur Benutzung des Informations-Busses b, um dann, wie durch einen Pfeil C angedeutet, die Standardbefeh­ le 1 bis 4 in Übereinstimmung mit der vom Prozessor 1 erhaltenen Adresse X 1 des Programmspeichers 3 auszufüh­ ren bzw. abzuarbeiten.
Dabei erhält der Prozessor 2 nicht, wie bei der bishe­ rigen Vorrichtung, Standardbefehle über den Prozessor 1, sondern liest selbst die Standardbefehle 1 bis 4 un­ mittelbar aus dem Programmspeicher 3 aus. Diese Stan­ dardbefehle sind die dem Prozessor (BPU) 2 eigenen Be­ fehle, und der Prozessor 2 bewirkt bei deren Ausführung oder Abarbeitung keine Interpretation derselben.
Dabei liest der Prozessor 2 den Anwendungsbefehl 3 einer Adresse X 2 aus und bestimmt, daß dieser Befehl durch den Prozessor (CPU) 1 ausgeführt werden soll (vgl. Pfeil D). Der Prozessor 2 überträgt seinerseits über die Steuerleitung L zum Prozessor 1 die Adresse X 2 des Anwendungsbefehls 1 im Programmspeicher 3, um da­ mit den Prozessor 1 in Gang zu setzen bzw. zu starten.
Als Folge dieses Prozesses erwirbt der Prozessor 1 das Recht der Benutzung des Informations-Busses b, und er führt anschließend den Ausleseprozeß bezüglich der Adresse X 2 vom Programmspeicher 3 durch und führt die Operation aus (vgl. Pfeil E).
Die Prozessoren 1 und 2 übertragen und empfangen somit die Startsignale und die Adressen vom/zum Programm­ speicher 3 über die Steuerleitung L, und sie arbeiten abwechselnd. Insbesondere liest der Prozessor die Be­ fehle nicht über den Prozessor 1, sondern unmittelbar aus dem Programmspeicher 3 aus, so daß damit ein ent­ sprechender Hochgeschwindigkeitsbetrieb möglich wird.
Wie erwähnt, benötigt der Prozessor 2 bei der Ausfüh­ rung der Standardbefehle die Interpretieroperation nicht, so daß die entsprechende Zeitspanne daher ent­ fallen kann.
Fig. 4 veranschaulicht eine andere Ausführungsform der erfindungsgemäßen programmierbaren Steuereinheit. Dabei ist der Prozessor (CPU) 1 über einen ersten Informa­ tions-Bus b 1 mit dem Prozessor (BPU) 2 verbunden, der seinerseits über einen zweiten Informations-Bus b 2 mit dem Programmspeicher 3 verbunden ist.
Der Prozessor 2 enthält eine Programmbefehlseingabe­ schaltung 21, die an der Seite des Programmspeichers 3 mit dem Informations-Bus b 2 verbunden ist, eine mit dem Informations-Bus b 1 an der Seite des Prozessors 1 ver­ bundene Programmbefehlsausleseschaltung 22 und weiter­ hin eine Pseudobefehlserzeugungsschaltung 23 zum Halten (oder Speichern) eines Pseudobefehls, der "keine Aus­ führung" bezüglich des Prozessors 1 angibt. Die Aus­ leseschaltung 22 enthält einen Umschaltkreis 24 zum Wählen der Programmbefehlseingabeschaltung 21 oder der Pseudobefehlserzeugungsschaltung 23.
Ähnlich wie bei der Ausführungsform gemäß Fig. 2, spei­ chert bei dieser Ausführungsform ebenfalls der Pro­ grammspeicher 3 die Interpretierbefehle sowie auch die Standardbefehle für den Prozessor 2.
Die Operationen der beschriebenen Steuereinheit gemäß der Erfindung sind nachstehend anhand der Fig. 5a und 5b erläutert. Fig. 5a veranschaulicht dabei einen Fall, in welchem der Prozessor 1 die Befehle ausführt.
Der Prozessor 2 entscheidet, daß der an einer Adresse Y 1 ausgelesene Befehl 1 für den Prozessor 1 geliefert ist, und er schaltet den Umschaltkreis 24 auf die Pro­ grammbefehlseingabeschaltung 21 in einem (ausschließ­ lich) zugewiesenen Prozessor 2 um. Der Auslesebefehl 1 wird von der Programmbefehlsausleseschaltung 22 über den Prozessor 2 zum Prozessor 1 geliefert, der darauf­ hin seinerseits zu arbeiten beginnt.
Die Ausleseadressen bezüglich des Programmspeichers 3 werden vom Prozessor 2 auch im Betrieb des Prozessors 1 erzeugt.
Fig. 5b veranschaulicht einen Fall, in welchem der Pro­ zessor 2 die Befehle ausführt.
Der Prozessor 2 entscheidet, daß der an der Adresse Y 2 ausgelesene Befehl 2 durch ihn selbst verarbeitet wer­ den soll, wobei die Pseudobefehlsschaltung 23 über den Umschaltkreis 24 mit der Programmbefehlsausleseschal­ tung 22 verbunden ist bzw. wird. Bei dieser Anordnung liest der Prozessor 2 den Befehl aus dem Programmspei­ cher 3 in Übereinstimmung mit der von ihm selbst er­ zeugten oder gelieferten Ausleseadresse aus, um sodann den Befehl auszuführen, während der Prozessor 1 ent­ sprechend einem vom Prozessor 2 gelieferten Pseudobe­ fehl N, der "keine Ausführung" angibt, keine Verarbei­ tung ausführt.
Auf diese Weise werden die aus dem Programmspeicher 3 ausgelesenen Befehle sicher zum Prozessor 1 oder Prozes­ sor 2 geliefert (imparted), wobei ein zügiges Umschal­ ten zwischen den Prozessoren 1 und 2 ohne Zeitvergeu­ dung gewährleistet wird.
Beim Beispiel gemäß Fig. 4 mittelt der Prozessor 2 zwi­ schen dem Prozessor 1 und dem Programmspeicher 3. Bei einer anderen, gleichwertigen Anordnung kann jedoch der Prozessor 1 durch in ihm vorgesehene Schaltkreise zwi­ schen diesen Einheiten mitteln bzw. vermitteln, wobei diese Schaltkreise der Eingabeschaltung 21, der Aus­ leseschaltung 22, der Pseudobefehlserzeugungsschaltung 23 und dem Umschaltkreis 24 entsprechen.
Beim vorliegenden Beispiel dient der zwischengeschal­ tete Prozessor zum Erzeugen von Adressen bezüglich des Programmspeichers 3. Auch nach dem Umschalten des Pro­ zessors, der den Befehl ausführen soll, wird daher der Programmablauf durch den vermittelnden bzw. zwischen­ geschalteten (middled) Prozessor ständig erfaßt, so daß eine Zeitspanne für Übertragung und Empfang der Adres­ sen zum/vom Programmspeicher 3 entfallen kann.
Fig. 6 veranschaulicht eine Anordnung, bei welcher die an der Seite des Prozessors 1 erzeugten Adressen bei der Ausführungsform von Fig. 4 zum Programmspeicher 3 gesandt werden können.
Bei diesem Ausführungsbeispiel enthält der Prozessor (BPU) 2 eine Adreßleseschaltung 25 zum Eingeben von durch den Prozessor (CPU) 1 erzeugten Adressen zum Informations- Bus b 1, eine Adreßübertragungsschaltung 26 zum Liefern der ausgelesenen Adressen des Programmspeichers zum Informations-Bus b 2 und einen Umschaltkreis 27. Letzte­ rer dient zum Verbinden der Adreßübertragungsschaltung 26 mit der Adreßleseschaltung 25 oder einer im Inneren des zugewiesenen Prozessors 2 vorgesehenen Adreßerzeu­ gungsschaltung.
Die Operationen dieser Ausführungsform sind nachstehend anhand der Fig. 7a und 7b beschrieben.
Fig. 7a veranschaulicht einen Fall, in welchem der Pro­ zessor 1 die Befehle ausführt. Der im Prozessor 2 vor­ gesehene Umschaltkreis 24 ist mit der Programmbefehlsein­ gabeschaltung 21 verbunden, während der Umschaltkreis 27 mit der Adreßleseschaltung 25 verbunden bzw. auf diese umgeschaltet ist. Eine im Prozessor 1 erzeugte Adresse Z 1 wird über den Prozessor 2 zum Programmspei­ cher 3 übertragen, wobei der entsprechende Befehl 1 den Prozessor 2 durchläuft und zum Prozessor 1 geliefert wird.
Fig. 7b veranschaulicht einen Fall, in welchem der Pro­ zessor 2 die Befehle ausführt. Der im Prozessor 2 vor­ gesehene Umschaltkreis 24 ist dabei mit der Pseudobe­ fehlserzeugungsschaltung 23 verbunden, während der Um­ schaltkreis 27 mit der Adreßerzeugungsschaltung 28 ver­ bunden ist. Der Prozessor 2 bewirkt das Auslesen und Ausführen des Befehls 2 nach Maßgabe einer intern er­ zeugten Adresse Y 3, während der Prozessor 1 nach dem Auslesen eines Pseudobefehls N vom Prozessor 2 keine Operation ausführt.
Die in Fig. 6 beispielhaft dargestellte Anordnung macht den Prozessor 1 für eine beliebige oder willkürliche Po­ sition des Programmspeichers 3 zugänglich bzw. zu­ griffsfähig, und sie ist auch dann vorteilhaft, wenn ein Sprungbefehl oder dergleichen ausgeführt wird.
Bei der Ausführungsform gemäß Fig. 4 oder 6 arbeiten somit die Prozessoren 1 und 2 abwechselnd in Überein­ stimmung mit aus dem Programmspeicher 3 ausgelesenen Befehlen. Insbesondere liest der Prozessor 2 die Befeh­ le unmittelbar aus dem Programmspeicher 3 aus, so daß ein entsprechender Hochgeschwindigkeitsbetrieb reali­ sierbar ist.
Da die Standardbefehle als die dem Prozessor 2 eigenen Befehle definiert werden können, besteht keine Notwen­ digkeit für die Interpretation im Verlauf der Ausfüh­ rung durch den Prozessor 2, so daß damit der entspre­ chende Zeitaufwand eingespart werden kann.
Fig. 8 veranschaulicht eine weitere Ausführungsform der Erfindung. Dabei ist der Prozessor 1 über den Informa­ tions-Bus b 1 mit einem ersten Programmspeicherbereich 31 verbunden, in welchem nur Anwendungsbefehle abge­ speichert sind. Über den Informations-Bus b 2 ist mit dem Prozessor 2 ein zweiter Programmspeicherbereich 32 verbunden, in welchem nur Basis- oder Standardbefehle abgespeichert sind. Eine erste Ausgabestelle 41 ist mit dem Informations-Bus b 1 verbunden, während eine zweite Ausgabestelle 42 an den Informations-Bus b 2 angeschlos­ sen ist. Die Ausgaben oder Ausgangssignale von den Aus­ gabestellen 41 und 42 werden einer Signalzusammensetz­ einheit 43 eingespeist, die ihrerseits Anweisungen für Einleitung oder Beendigung der Operation zu den Prozes­ soren 1 und 2 liefert.
Die Fig. 9a und 9b veranschaulichen Inhalte von Pro­ grammspeicherbereichen 31 und 32. Der Programmspeicher­ bereich 31 dient zum Speichern von Anwendungsbefehlen 1 bis 5 und eines Anwendungsbefehls OUT zum Anweisen der Einleitung der Operation für den Prozessor 2, während der Programmspeicherbereich 32 Standardbefehle 1 bis 4 und einen Basis- oder Standardbefehl OUT zum Anweisen der Einleitung der Operation für den Prozessor 1 spei­ chert. Die folgende Beschreibung richtet sich auf diese Ausführungsform. Zunächst sei angenommen, daß der Pro­ zessor (CPU) 1 arbeitet bzw. in Betrieb steht.
Zu diesem Zeitpunkt gibt die Signalzusammensetzeinheit 43 eine Arbeits- oder Operationsanweisung zum Prozessor 1 aus. Der Prozessor 2 erhält dagegen eine Anweisung für Beending der Operation.
Der Prozessor 1 liest die Anwendungsbefehle 1 und 2 sequentiell aus dem Programmspeicher 3 aus und führt sodann diese Befehle aus. Anschließend liest der Prozes­ sor 1 den Anwendungsbefehl OUT zum Ausgeben der Opera­ tionsanweisung zum Prozessor 2 aus und überträgt die­ sen Befehl zur Ausgabestelle 41.
Die Signalzusammensetzeinheit 43 bewirkt einen Ausle­ seprozeß von der Ausgabestelle 41 und erkennt den An­ wendungsbefehl OUT, wobei zu diesem Zeitpunkt der Pro­ zessor 1 eine Anweisung zur Beendigung der Operation erhält, während er eine Operationsstartanweisung zum Prozessor 2 liefert.
Als Ergebnis wird der Prozessor 2 seinerseits für Ope­ rationseinleitung wirksam, und er führt den Standard­ befehl nach dem Auslesen desselben aus dem Programm­ speicherbereich 32 aus. Sodann wird der Standardbe­ fehl 2 ausgeführt, und der Standardbefehl OUT wird aus­ gelesen. Der Standardbefehl OUT wird zur Ausgabestelle 42 übertragen.
Die Signalzusammensetzeinheit 43 führt einen Leseprozeß an der Ausgabestelle 42 aus und erkennt den Standard­ befehl OUT. Daraufhin liefert die Signalzusammensetz­ einheit 43 eine Operationsstopanweisung zum Prozessor 2 und eine Operationsstartanweisung zum Prozessor 1. Dem­ zufolge nimmt der Prozessor 1 seinen Betrieb wieder auf.
Auf die beschriebene Weise erfolgt das Umschalten zwi­ schen den Prozessoren 1 und 2 zügig oder stufenlos durch die Signalzusammensetzeinheit 43.
Die Fig. 10a und 10b veranschaulichen gemeinsam ein im wesentlichen der Ausführungsform nach Fig. 7 entspre­ chendes Beispiel, bei dem die Ausgabestellen 41 und 42 sowie die Signalzusammensetzeinheit 43 gemeinsam an einem Informations-Bus b angeschlossen sind.
Dabei ist der Programmspeicher 3 so ausgelegt, daß in ihm gemäß Fig. 10b im voraus ein Bereich A 1 zum Spei­ chern nur der Anwendungsbefehle und ein Bereich A 2 zum Speichern nur der Standardbefehle festgelegt sind.
Die Arbeitsweise dieser Ausführungsform entspricht völlig derjenigen der Steuereinheit nach Fig. 8.
Auf die beschriebene Weise arbeiten die Prozessoren 1 und 2 abwechselnd in Übereinstimmung mit Befehlen, die aus den Programmspeicherbereichen 31 und 32 oder aus den Zwischenprogrammspeicherbereichen A 1 und A 2 bei der Ausführungsform gemäß Fig. 8 bzw. Fig. 10 ausgelesen werden. Insbesondere liest der Prozessor 2 die zuge­ wiesenen Befehle unmittelbar (aus diesen Bereichen) aus, wodurch eine hohe Operationsgeschwindigkeit ge­ währleistet ist.
Da die Standardbefehle als dem Prozessor 2 eigene (intrinsic) Befehle klassifiziert sind, ist bei ihrer Ausführung durch den Prozessor 2 keine Interpretation nötig, so daß die entsprechende Interpretierzeitspanne entfallen kann.
Fig. 11 veranschaulicht ein Ausführungsbeispiel, bei dem die programmierbare Steuereinheit tatsächlich aus ein­ zelnen Schaltkreisen aufgebaut ist.
Gemäß Fig. 11 sind die Prozessoren 1 und 2 sowie der Programmspeicher 3 in einer Zentraleinheit- bzw. CPU- Platine 100 mit dem Informations-Bus b verbunden. Der Prozessor (CPU) 1 ist dabei ein Mikroprozessor, z.B. MC68000 oder dergleichen, zum Steuern der gesamten CPU- Platine 100. Der Mikroprozessor (CPU) 1 ist parallel zum Prozessor (BPU) 2, mit dem Bus b verbunden, der die Ausführung eines Folgestandardbefehls (eines 1-Bit- Verarbeitungsbefehls) übernimmt, angeordnet. Ein CPU-Gatearray 5 ist ein Block für die Ausgabesteuerung von Zeitsteuer- bzw. Taktsignalen, so daß der Prozessor 1 die Befehls­ ausführung mit hoher Wirtschaftlichkeit bzw. Leistungs­ fähigkeit durchführen kann.
Der Prozessor 2 besteht aus einem Gatearray zum Verar­ beiten des als 1-Bit-Verarbeitungsbefehl vorgesehenen Folgestandardbefehls mit hoher Geschwindigkeit, wobei der Prozessor 2 über einen nicht dargestellten Befehls­ bus unmittelbar mit dem Programmspeicher (RAM128KB) zum Speichern eines Folgesteuerprogramms, wie eines Lei­ terprogramms oder dergleichen, verbunden ist.
Der Informations-Bus b umfaßt einen Adreßbus, einen Datenbus und einen Steuerbus.
Eine Vielfalt von Befehlen, die durch den Prozessor 1 zum Steuern der gesamten Platine (Schaltungsplatte) ausgeführt werden sollen, sind in einem Festwertspei­ cher ROM (256KB) 6 gespeichert. Ein Datenspeicher (RAM64KB) 7 ist ein Betriebs- oder Operationsbereich des Prozessors 1, in welchem auch ein noch näher zu beschreibendes Standardprogramm gespeichert ist oder wird.
Eine Ein/Ausgabe- bzw. E/A-Schnittstelle (I/F) 8 ist für einen E/A-Bus bb vorgesehen, der mit E/A-Platinen C 1 und C 2 verbunden ist. Obgleich in Fig. 11 nur zwei derartige Platinen (Schaltungsplatten) dargestellt sind, kann die Zahl der E/A-Platinen in Abhängigkeit von der Systemkonfiguration auch größer sein.
Mit dem Informations-Bus b sind ein Echtzeit-Taktgene­ rator 9 mit einer Zeitgeberfunktion, ein Kommunika­ tionspuffer (RAM32KB) 10 für Kommunikations- bzw. Ver­ bindungszwecke und eine mit dem Puffer 10 verbundene Hilfsschnittstelle (I/F) 11 verbunden, die als Schnitt­ stelle zu einem Hilfsbus B dient. Außerdem ist eine RS232C-Stelle 12 zur Verbindung mit einem Programmier­ werkzeug vorgesehen.
An den E/A-Bus bb sind mehrere E/A-Platinen zweier ver­ schiedener Arten angeschlossen, d.h. eine Allgemein- bzw. Universalregister/Schnittstellen-E/A-Platine C 1 und eine Befehls/Schnittstellen-E/A-Platine C 2 mit einem Mikroprozessor, zur Durchführung von (Daten-)Ver­ bindungen durch Übertragen von Befehlen zu einer pro­ grammierbaren Hilfssteuereinheit und zum Empfangen der Befehle von dieser.
Die genannte E/A-Platine C 1 mit dem Mikroprozessor be­ steht hauptsächlich aus einer Schnittstelle C 11 zum Bus bb und einer Schnittstelle C 12 zu einem außenseitigen Kontakt. Die E/A-Platine 2 besteht aus einer Schnitt­ stelle (I/F) c 21 zum Bus bb, einem Mikroprozessor c 22 (z.B. 8-Bit-Zentraleinheit), einem Datenspeicher c 23 (z.B. RAM8KB) und einer Schnittstelle (I/F) c 24 zur Außenseite.
Im folgenden sind die Merkmale dieser CPU-Platine 100 erläutert. Das charakteristische Merkmal bezüglich ihrer Geometrie besteht darin, daß der Prozessor (BPU) 2 einen Direktzugriff zum Programmspeicher 3 nicht über den Informations-Bus b, sondern lediglich über den nicht dargestellten Befehlsbus herstellt. Die Funktionen der CPU-Platine 100 sind nachstehend anhand der Fig. 12 und 13 erläutert. Fig. 12 veranschaulicht ein (Ketten-)Lei­ terprogramm (ladder program) als Beispiel für das Fol­ gesteuerprogramm. Fig. 13 veranschaulicht eine Reihe von Programmbefehlen entsprechend dem Leiterprogramm.
Beim Einleiten der Folgesteuerung betätigt der Prozes­ sor (CPU) 1 den Prozessor (BPU) 2, der seinerseits eine Reihe oder Kette von Programmen aus dem Programmspei­ cher 3 ausliest und dann die Verarbeitung ab einem La­ debefehl "LD" einleitet, der als Folgestandardbefehl definiert ist.
Im Anschluß an diesen Vorgang führt der Prozessor 2 einen UND-Befehl, einen ODER-Befehl, einen OUT-Befehl und einen LD-Befehl aus. Wenn die Ausleseprogrammbe­ fehle unter den durch den Prozessor 1 auszuführenden Anwendungsbefehl (1) fallen, übernimmt der Prozessor 1 ein Steuerausführungsrecht, einschließlich eines Bele­ gungsrechts für den Adreßbus und den Datenbus, vom Pro­ zessor 2. Folglich wird der Anwendungsbefehl (1) durch den Prozessor (CPU) 1 ausgeführt. Nach Abschluß der Verarbeitung des Anwendungsbefehls (1) informiert der Prozessor 1 den Prozessor (BPU) 2 von der erfolgten Ausführung dieses Befehls, und der Prozessor 2 liest den nächsten Befehl aus. Wenn der nächste Anwendungs­ befehl (2) durch den Prozessor 1 ausgeführt werden soll, übergibt der Prozessor 2 das Ausführungsrecht wiederum an den Prozessor 1.
Ein Programmbefehl, den der Prozessor 2 als nächstes auslesen soll, ist der Ladebefehl LD, den daraufhin der Prozessor 2 selbst ausführt.
Wie erwähnt, liest der Prozessor 2, der den Folgestan­ dardbefehl ausführt, unveränderbar eine Reihe oder Kette von Programmbefehlen aus. Wenn der ausgelesene Befehl als ein durch den Prozessor 1 auszuführender Folgeanwendungsbefehl klassifiziert ist oder wird, übernimmt der Prozessor 1 das Steuerausführungsrecht (vom Prozessor 2). In diesem Fall liegt in der Kette oder Reihe der Programmbefehle eine große Mehrheit von Folgestandardbefehlen vor, wobei sich die Verarbei­ tungsgeschwindigkeit des Prozessors erhöht. Nach Aus­ führung der Befehle liefert der Prozessor 1 lediglich eine Beendigungsnotiz zum Prozessor 2 zurück.
Wenn der durch den Prozessor 2 ausgelesene Programm­ befehl ein falscher, im System undefinierter Befehl ist, wird der Prozessor 2 voreingestellt (preset), um dem Prozessor 1 einen Pseudobefehl entsprechend einer Form des falschen Befehls zuzuspeisen. Dieser Pseudo­ befehl wird mit der Absicht gesetzt oder vorgegeben, keinen ungünstigen Einfluß auf das System auszuüben, in­ dem der Prozessor 1 zur Ausführung des falschen Be­ fehls, so wie er ist, veranlaßt wird.
Wenn der Prozessor 1 den Folgesteuerprozeß auf diese Weise auszuführen beginnt, liest der Prozessor 2 den Programmbefehl aus dem Programmspeicher 3 aus, und er beginnt mit der Ausführung dieses Befehls. Danach liest der Prozessor 2 den Programmbefehl unmittelbar aus dem Programmspeicher 3 aus, so daß der Prozessor 1 die Pro­ grammbefehle nicht jeweils einzeln auszulesen braucht und auch die Einstellung oder Vorgabe des Steueraus­ führungsrechts nicht nötig ist.
Fig. 14 veranschaulicht ein Ausführungsbeispiel, bei dem die programmierbare Steuereinheit aus der CPU-Pla­ tine 100 und mehreren E/A-Platinen für Fabrik-Ferti­ gungsautomationszwecke eingesetzt ist.
Bei dem in Fig. 14 dargestellten System steuert eine programmierbare Steuereinheit U 1 ein mechanisches Werk­ stück-Bearbeitungssystem S 1, während eine programmier­ bare Steuereinheit U 2 eine Steuerung durch Eingeben und Ausgeben von Signalen zu/von einem mechanischen Werk­ stück-Montagesystem S 2 ausführt. Die Steuereinheiten U 1 und U 2 kommunizieren über einen Bus B mit einem einen Drucker P aufweisenden Tischrechner DTC, um damit eine Bedienungsperson bzw. einen Operator von einem System­ zustand zu informieren. Es ist darauf hinzuweisen, daß der Tischrechner TDC durch einen mittelgroßen oder großen Hilfsrechner MC über eine Verbindungsleitung A verwaltet bzw. gesteuert werden kann.
Insbesondere führen die programmierbaren Steuereinhei­ ten U 1 und U 2 für die Systeme S 1 und S 2 Folgesteuer­ operationen aus, z.B. einen Kontakt-Ein/Ausgabe-Prozeß, Motoransteuer/Stopprozesse, einen Teilepositionier­ prozeß sowie Prozesse zum Ein/Ausschalten von Lampen.
Die programmierbare Steuereinheit U 1 ist nachstehend im einzelnen erläutert.
Diese Steuereinheit U 1 umfaßt die in Fig. 11 darge­ stellte CPU-Platine 100 und die in Zwischengeräte- Schlitze eingesteckten E/A-Platinen C 1 und C 2, wobei die Steuereinheit U 1 mit einem Bus (E/A-Bus bb) ver­ bunden ist. Zusätzliche Bauteile sind eine Stromver­ sorgungsplatine PS für Stromzuspeisung und eine Er­ weiterungsplatine EX, die eine Verbindung mit der an­ deren programmierbaren Steuereinheit U 2 ermöglicht.
Bei dieser Konstruktion ist ein an das Bearbeitungs­ system S 1 angepaßtes (adaptives) Folgesteuerprogramm in der CPU-Platine 100 der programmierbaren Steuereinheit U 1 enthalten, so daß eine Folgerechenoperation auf der Grundlage von über die E/A-Platine gelieferten Infor­ mationen ausgeführt wird. Die Steuersignale werden über die E/A-Platine zum Bearbeitungssystem S 1 übertragen, um damit eine gewünschte Folgeoperation auszuführen.
Das genannte Folgesteuerprogramm wird zu einem Programm­ erzeugungswerkzeug übertragen oder übermittelt. Beim vorliegenden Ausführungsbeispiel wird ein Leiterpro­ gramm zur CPU-Platine 100 in einem Aufbereitungsformat auf einem Kathodenstrahlröhren-Bildschirm des Tisch­ rechners DTC übertragen.
Aufbau und Arbeitsweise der programmierbaren Steuer­ einheit U 2 entsprechen im wesentlichen denen bei der Steuereinheit U 1.
Im folgenden sind die Programmverarbeitung in der CPU- Platine 100 und die Verarbeitung an der Seite der E/A- Platine im einzelnen erläutert.
Der Prozessor 1 führt eine Folgesteuerung aus und führt gleichzeitig typische Operationen durch, wie Kommuni­ kation bzw. Austausch mehrfacher Daten mit einem Hilfs­ rechner, Rechenoperationen für Universalzwecke, Infor­ mationsverarbeitung und Steueroperation. Dabei ist oder wird ein Standardprogramm vorgegeben, das mittels Grund- bzw. Standardsprachen erzeugt oder aufgestellt ist. Die folgende Beschreibung bezieht sich auf eine Korrelation zwischen der Ausführung des Grund- bzw. Standardprogramms und der Ausführung des Folgesteuer­ programms.
Fig. 15 veranschaulicht schematisch die Parallelopera­ tionen eines Folgesteuerprozesses SQ und eines Grund- bzw. Standardprozesses BAS.
Der Folgesteuerprozeß SQ ist vorgesehen für die Ausfüh­ rung einer Kette oder Reihe von in den Fig. 12 und 13 dargestellten Programmbefehlen, während der Grund- oder Standardprozeß BAS einem Datenausleseprogramm zugeord­ net ist, das - wie erwähnt - beliebig bzw. willkürlich durch den Anwender oder ein einem Standardprogramm ähn­ liches Kommunikationsprogramm erzeugt bzw. vorgegeben (created) wird. Eine Ausführungsrecht-Umschaltverar­ beitungseinheit ES, ein Zeitgeber T und ein Task- Scheduler TS besitzen Funktionen, die mittels Software innerhalb der CPU-Platine 100 gesetzt bzw. vorgegeben sind. Der Task-Scheduler TS besitzt eine Funktion zur Bestimmung der Priorität für die Ausführung verschiede­ ner Prozesse im Standardprogramm. Diese Funktion ist jedoch nicht unmittelbar auf die erfindungsgemäß vor­ gesehenen Operationen bezogen. Es ist darauf hinzuwei­ sen, daß im allgemeinen mehrere 100 oder mehrere 1000 Folgesteuerprogrammreihen vorgesehen sind und die Aus­ führungszeit für einen Zyklus einem Mehrfachen von 10 ms oder einem Mehrfachen von 100 ms entspricht, wobei diese Zeit je nach der Ausgestaltung des zu steuernden Systems stark unterschiedlich sein kann.
Im folgenden sei ein System vorausgesetzt, in welchem im Zeitgeber T 10 ms gesetzt ist. Der erste Schritt im Folgesteuerprozeß SQ besteht in der Ausführung eines Ladebefehls "LD". Anschließend geht die Ausführung auf einen UND-Befehl AND, einen ODER-Befehl OR und einen Ausgabebefehl OUT über, wofür 10 ms nötig sind. Sodann wird ein Zeitablaufsignal (time-up signal) als Unter­ brechungssignal - wie angenommen - vom Zeitgeber T zur Ausführungsrecht-Umschalt- bzw. -Steuereinheit ES über­ mittelt. Der Prozessor 1 gibt dieses Unterbrechungssi­ gnal ein, wobei zu diesem Zeitpunkt das Steuerausfüh­ rungsrecht weiterhin im Prozessor 2 erhalten bleibt. Infolgedessen kann der Prozessor 1 diese Zeitablauf­ unterbrechung nicht abnehmen.
Im weiteren Ablauf des Folgesteuerprozesses führt der Prozessor 2 den Ladebefehl LD aus. Der Prozessor 1 emp­ fängt sodann ein 10-ms-Zeitablaufunterbrechungssignal erst dann, wenn das Steuerausführungsrecht auf den Pro­ zessor 1 übertragen und eine Verarbeitung des Anwen­ dungsbefehls (1) eingeleitet wird. Die Verarbeitungs­ einheit ES bewirkt daher das Ändern bzw. Umschalten eines Prozesses, der durch den Prozessor 1 ausgeführt werden soll, vom Folge(steuer)prozeß SQ auf den Grund­ bzw. Standardprozeß BAS, mit dem Ergebnis, daß der Pro­ zessor 1 die Abarbeitung des Standardprogramms BAS in Übereinstimmung mit einem Task-Scheduler TS beginnt.
Zu diesem Zeitpunkt bleibt die Ausführung des Folge­ steuerprozesses SQ unterbrochen bzw. angehalten.
Anschließend wird der Zeitgeber T in einen Zeitablauf­ zustand (time-up state) gebracht, wobei das 10-ms-Un­ terbrechungssignal erzeugt wird. Dabei speichert die Ver­ arbeitungseinheit ES im Prozessor 1 einen vorliegenden Grundprozeß-Ablauf vorübergehend in einem Datenspeicher 7 ab, wobei die angehaltene Operation oder Ausfüh­ rung des Folgesteuerprozesses SQ wieder aufgenommen wird.
Bei Abschluß oder Beendigung des Folgesteuerprozesses SQ wird von diesem bzw. durch diesen eine Mitteilung über den Abschluß zur Verarbeitungseinheit ES unabhän­ gig vom Zeitablaufsignal für 10 ms geliefert, wobei der Prozessor 1 den Standardprozeß BAS initiiert bzw. ein­ leitet.
Wie erwähnt, erfolgt die Ausführung der Operation durch Umschalten des Folgesteuerprozesses SQ und des Stan­ dardprozesses BAS für bzw. nach jeweils 10 ms, mit dem Ergebnis, daß der Folgesteuerprozeß SQ und der Stan­ dardprozeß BAS, von außen her gesehen, als gleichzeitig ausgeführt erscheinen. Damit ist eine Mehrfachverarbei­ tung realisierbar.
Es ist darauf hinzuweisen, daß die im Zeitgeber 82 (bzw. T) gesetzte Zeit nicht auf 10 ms beschränkt ist, sondern je nach der Systemausgestaltung beliebig ein­ gestellt sein kann.
Andererseits benötigen einige der Systemkonstruktionen nicht die Paralleloperationen des Folgesteuerprozesses und des Standardprozesses. Abhängig von einer entspre­ chenden Abwandlung des Systems ist in einigen Fällen entweder der Folgesteuerprozeß oder der Standardprozeß unnötig. Dabei ist in der CPU-Platine 100 ein dem Ab­ laufdiagramm von Fig. 16 entsprechendes Programm im voraus vorgesehen (bzw. abgespeichert), wobei die im folgenden beschriebenen (Gegen-)Maßnahmen getroffen werden.
Nach Ausführung einer Selbstdiagnoseoperation nach der Aktivierung des Systems wird geprüft, ob eine prozeß­ relevante Sprache von der Hilfsrechnerseite aus be­ zeichnet ist. Wenn die verfügbare oder relevante Spra­ che (available language) eine Sequenz- oder Folge­ sprache ist, wird im Datenspeicher 7 eine für die Verarbeitung der Folgesprache nötige Systemtabelle erzeugt bzw. aufgestellt. Wenn die Basis- bzw. Stan­ dardsprache bezeichnet ist, wird im Datenspeicher 7 eine für die Verarbeitung der Standardsprache erfor­ derliche Systemtabelle aufgestellt. Wenn beide Spra­ chen bezeichnet sind, werden im Datenspeicher 7 die für die Verarbeitung sowohl der Folgesprache als auch der Standardsprache erforderlichen Systemtabellen aufge­ stellt oder erzeugt.
Auf diese Weise wird das Programm zur Bestimmung der den bezeichneten Sprachen entsprechenden Systemtabel­ len gesetzt bzw. aufgestellt, wodurch die Bezeichnung der Prozeßsprachen vom Hilfsrechner, z.B. einem Tisch­ rechner, aus erleichtert wird.
Die folgende Beschreibung bezieht sich auf einen in der CPU-Platine 100 gesetzten bzw. vorgegebenen Standard- E/A-Treiber, der verschiedenen Arten von E/A-Platinen bzw. Schaltungsplatten entsprechen kann.
Ein Operationssystem OS in der CPU-Platine 100 empfängt eine Zugriffsanforderung a 1 für die Ein/Ausgabe- bzw. E/A-Platine von einem Anwenderprogramm UP, wie einem in der CPU-Platine 100 vorgegebenen Standardprogramm oder eine Unterbrechungsanforderung a 2 für die CPU-Platine 100 von der E/A-Platine. Die Zugriffsanforderung a 1 vom Anwenderprogramm UP veranlaßt die Einleitung eines E/A- Anforderungsempfangsschritts (1), während die Unter­ brechungsanforderung a 2 zur bzw. für die CPU-Platine 100 den Beginn eines Unterbrechungsanforderungsempfangs­ schritts (2) veranlaßt.
Der erfindungsgemäß vorgesehene Standard-E/A-Treiber SD erzeugt Prozeßdefinitionstabellen TBL 1, TBL 2, TBLn be­ züglich der einzelnen, in die betreffenden Schlitze ein­ geführten E/A-Platinen bei der Inbetriebnahme des Sy­ stems. Bei der Erzeugung oder Einstellung des E/A-An­ forderungsempfangsprozesses (1) oder des Unterbre­ chungsanforderungsempfangsprozesses (2) beginnt eine Vorbereitung für einen Zugriff unter Bezugnahme auf die Prozeßdefinitionstabellen TBL.
Bei Einleitung des Prozesses wird entschieden oder be­ stimmt, ob die E/A-Platine, zu der ein Zugriff erfol­ gen soll, als Register/Schnittstellentyp oder Befehls/ Schnittstellentyp klassifiziert ist; sodann wird ein entsprechender Hauptprozeß ausgeführt. Die Inhalte des Register/Schnittstellen-Hauptprozesses und des Befehls/ Schnittstellen-Hauptprozesses sind mit denen bei den her­ kömmlichen Prozessen identisch. In Register/Schnitt­ stellen E/A-Platine kann typischerweise als gewöhnliche E/A-Platine C 1 gemäß Fig. 11 ausgelegt sein. Die der E/A-Platine (Fig. 11) entsprechende Befehls/Schnitt­ stellen-E/A-Platine enthält einen Mikroprozessor für Befehlstransfer und -empfang.
Dem E/A-Anforderungsempfangsprozeß (1) und dem Unter­ brechungsanforderungsempfangsprozeß (2) gemeinsame Ope­ rationen sind als gemeinsame Prozeßroutine voreinge­ stellt bzw. vorgegeben, wobei die gemeinsame Prozeß­ routine unabhängig von der Art der Schnittstelle der E/A-Platine während der Ausführung des gemeinsamen Pro­ zesses ausgeführt wird. Daneben wird eine spezielle Prozeßroutine, die einen vom Standardprozeß verschie­ denen Prozeß erfordert, vorbereitet und für die E/A- Platine vorgegeben. Zu Betriebsbeginn wird die speziel­ le Prozeßroutine in Verknüpfung zum Standard-E/A-Trei­ ber SD benutzt, und zwar durch Durchführung eines Hoch­ ladens von der E/A-Platine. Eine Adresse für diese spe­ zielle Prozeßroutine (oder Verarbeitungsroutine) wird bei Inbetriebsetzung des Systems in der Prozeßdefini­ tionstabelle TBL gesetzt.
Im folgenden ist anhand von Fig. 18 ein Modus zum Er­ zeugen bzw. Aufstellen der Prozeßdefinitionstabellen TBL erläutert.
Bei der Ausführung des ersten E/A-Anforderungsempfangs­ prozesses der CPU-Platine 100 werden die Prozeßdefini­ tionstabellen TBL bezüglich der betreffenden E/A-Pla­ tinen dadurch erzeugt oder vorgegeben, daß verschie­ dene Arten von Informationen und Platinen-Identifizierung bzw. ID aus den E/A-Platinen ausgelesen werden.
Zunächst werden die Zahl der Kanäle (Zahl der Anschlüs­ se bzw. Eingabestellen) und ein Notwendigkeits- oder Nichtnotwendigkeitsfaktor als Parameter von der Mehr­ fachinformation der E/A-Platinen gesetzt.
Wenn die betreffende E/A-Platine Schaltungsplatte als solche des Befehls-Schnittstellentyps klassifiziert ist, wer­ den Adressen der betreffenden Befehlsregister in den Tabellen gesetzt, worauf Adressen der betreffenden Puf­ fer in den Tabellen gesetzt werden. Wenn der spezielle Prozeß nötig ist, wird eine spezielle Prozeßroutine­ adresse in der Tabelle gesetzt.
Wenn die E/A-Platine als Register-Schnitt­ stellentyp klassifiziert ist, werden entsprechende Re­ gisteradressen in der Tabelle gesetzt.
Schließlich werden Kennzeichen, in denen die Tabellen bereits erzeugt worden sind, bzw. die bereits in den Tabellen erzeugt worden sind, gesetzt (EIN), um eine Vielfalt von Anforderungsprozessen auszuführen.
Die beschriebenen Operationen werden für die jeweili­ gen, im System vorgesehenen E/A-Platinen durchgeführt, um damit die Prozeßdefinitionstabellen TBL im Standard-E/A-Treiber SD zu setzen.
Im folgenden ist der Zugriff zum Standard-E/A-Treiber SD mit den Prozeßdefinitionstabellen TBL anhand eines Ablaufdiagramms von Fig. 19 erläutert.
Nach Einleitung eines Zugriffs, d.h. eines Datentrans­ fer-Vorbereitungsprozesses, bezieht sich der Standard- E/A-Treiber SD der CPU-Platine 100 auf die Prozeßdefi­ nitionstabelle TBL der betreffenden E/A-Platine, und er prüft die Zahl der Kanäle (Zahl der Eingabe-Stellen) der betreffenden E/A-Platine und das Vorhandensein oder Nichtvorhandensein einer Ausgabe und identifiziert wei­ terhin die Art der Schnittstelle.
Bei Klassifizierung als Befehls/Schnittstellentyp wird eine Datenumwandlung ausgeführt durch Ermittlung (getting) einer Ausgabepufferadresse unter weiterer Be­ zugnahme auf die Prozeßdefinitionstabelle TBL. Die zum Ausgabepuffer ausgegebenen Daten werden gesetzt. Unter erneuter Bezugnahme auf die Prozeßdefinitionstabelle TBL wird ein Ausgabebefehl gesetzt durch Ermittlung einer Befehlsregisteradresse, und in diesem Zustand wird eine Unterbrechung von der E/A-Platine abgewartet. Unmittelbar auf den Empfang der Unterbrechung hin wird ein Rückkehrstatus ausgegeben.
Wenn die betreffende E/A-Platine von einem Register/- Schnittstellentyp ist, wird geprüft, ob sie eine Da­ ten-E/A-Schnittstelle ist oder nicht, und zwar durch Ermittlung der Ausgabedatenregisteradresse unter Be­ zugnahme auf die Prozeßdefinitionstabelle TBL. Im Fall der Daten-E/A-Schnittstelle werden 1-Bit-Daten in 1- Wort-Daten umgesetzt und Maskendaten gesetzt bzw. vor­ gegeben. Sodann werden die Daten zum Ausgabedatenre­ gister umgeschrieben. Dieser Prozeß des Umschreibens bzw. Einschreibens von Daten zum Ausgabedatenregister ist ein gemeinsamer oder gewöhnlicher Prozeß (is common).
Um den beschriebenen Standard-E/A-Treiber SD vorzuse­ hen, sind oder werden die mehrfachen E/A-Platinen in das System eingesetzt. In diesem Fall werden ebenfalls die Prozeßdefinitionstabellen für jede E/A-Platine er­ zeugt oder aufgestellt, und ein Zugriff zu den E/A- Platinen erfolgt auf der Grundlage der Prozeßdefini­ tionstabellen. Aus diesem Grund ist es nicht nötig, je einen Treiber pro E/A-Platine vorzusehen. Durch Ver­ wendung eines einzigen Standard-E/A-Treibers ist es ohne Beeinträchtigung der Leistungsfähigkeit möglich, den Zugriff zu allen E/A-Platinen in Entsprechung zu­ einander zu bringen bzw. jeweils entsprechend auszufüh­ ren. Eine Vielfalt oder Vielzahl solcher Platinen kann mit dem einzigen Standard-E/A-Treiber verwendet wer­ den, so daß die Zahl der folgenden Schritte der Ent­ wicklung des E/A-Treibers zu Null reduziert wird. Hier­ durch wird die Speicherkapazität für die Speicherung des E/A-Treibers (I/O driver) verkleinert. Weiterhin sind die Schnittstellen der E/A-Platinen als Register­ typ oder Befehlstyp standardisiert, so daß der Anwen­ der die E/A-Platine beliebig oder willkürlich auslegen und in das System integrieren kann.
Im folgenden ist anhand der Fig. 20 und 21 eine Aus­ führung des Hardware-Datentransfers zu der E/A-Platine, die über den E/A-Bus bb mit der CPU-Platine 100 verbun­ den ist, beschrieben.
Wie aus dem Blockschaltbild von Fig. 11 hervorgeht, sind Abtastsignalerzeugungseinheiten zum Erzeugen von Abtastsignalen STB auf der Steuerleitung im E/A-Bus bb, wenn die Datentransferanforderung vorliegt, für eine E/A-Schnittstelle 8 zum E/A-Bus bb der CPU-Platine 100 und für die Schnittstellen c 11 und c 12 der E/A- Platinen C 1 bzw. C 2 vorgesehen. Genauer gesagt: logi­ sche Ausgestaltungen für den Transfer bzw. die Über­ tragung der Abtastsignale zum E/A-Bus bb über ein Transferfeld in Zuordnung zur Datentransferanforderung sind zur E/A-Schnittstelle 8 aus einem Gate- oder Torarray und den Schnittstellen (I/F) c 11 und c 12 hinzugefügt.
Fig. 20 ist ein Zeitsteuerdiagramm für den Fall, daß die E/A-Platinen die Daten zur CPU-Platine 100 in Ab­ hängigkeit von der Datentransferanforderung der letzte­ ren übertragen.
Wenn die Datentransferanforderung von der CPU-Platine 100 geliefert wird, überträgt letztere einen Steuerrah­ men bzw. ein Steuerfeld (control frame) F 0 und Abtast­ signale STB* "L" zum E/A-Bus bb. Im Steuerrahmen F 0 sind Byte-Freigabebits zur Ermöglichung bzw. Freigabe des Zugriffs auf der Grundlage von Transfermodusbit-Bytes (bites) gesetzt, welche eine Lese/Einschreibidentifi­ zierung und das Spezifizieren von Datengrößen (2 oder 4 Bytes) sowie Typen von Daten (Daten- oder Steuersigna­ le) durchführen. Der Steuerrahmen F 0 wird an einer er­ sten Übergangskante S 0 des Abtastsignals STB "L" wirk­ sam.
Anschließend überträgt die CPU-Platine 100 jeweils aus einem 2-Byte-Rahmen bestehende Adreßrahmen F 1 und F 2 zum Sicherstellen eines Adreßraums von 256 KB (Kilobyte). Diese Adreßrahmen F 1 und F 2 werden an den letzten bzw. hinteren Übergangskanten S 1 und S 2 der Abtastsignale STB* "L" wirksam.
Eine Periode T 1 bis zu diesem Punkt umfaßt die von der CPU-Platine 100 durchgeführten Operationen.
Die die Rahmen (frames) F 0, F 1 und F 2 empfangende E/A- Platine entscheidet, ob sie während der Periode T 1 selbst gewählt ist oder nicht. Im positiven Fall führt diese Platine einen Datenübertragungs-Vorbereitungs­ prozeß aus.
Die gewählte E/A-Platine sendet Datenrahmen F 3 und F 4 aus, die auf den E/A-Bus bb übertragen werden sollen, und zwar während einer Periode T 3. In diesem Fall be­ stehen die Daten aus 2 Bytes. Gleichzeitig überträgt die E/A-Platine die Abtastsignale STB* "L". Die Daten­ rahmen F 3 und F 4 werden an den letzten bzw. hinteren Übergangskanten (d.h. Anstiegsflanken) S 3 und S 4 der Abtastsignale STB wirksam.
Schließlich überträgt die E/A-Platine einen Statusrahmen F 5 zusammen mit dem Abtastsignal STB* "L". Der 1-Byte-Sta­ tusrahmen F 5 kann als ein Innenzustandssignal der betref­ fenden E/A-Platine angesehen werden, d.h. als Signal zum Setzen bzw. Vorgeben einer Vielfalt von Bedingungen oder Zuständen, wie Daten-Normaltransfer, Fehlerstatus und Platinenausfallszustand.
Ein Rahmen- oder Feldsignal FRM repräsentiert das erste Feld bzw. Rahmen an seiner hinteren Übergangskante und auch das letzte Feld an seiner ersten Übergangskante (d.h. Abfallflanke), und es wird zum Detektieren eines Rah­ menbildungsfehlers (framing error) benutzt. Ein Daten­ richtung-Spezifiersignal DDIR zeigt einen Rahmentrans­ fer von der CPU-Platine 100 zur Ein/Ausgabeseite zum Zeitpunkt des Signals "H" (eines "hohen" Signals) während eines Datentransferzyklus und auch eines Rahmentransfers von der E/A-Platine zur CPU-Platine zum Zeitpunkt des Signals "L" an, und es dient zur Verhinderung einer Datenkollision zwischen der CPU-Platine 100 und der E/A-Platine. Die Signale FRM und DDIR werden auf einer Steuerleitung des E/A-Busses bb übertragen.
Fig. 21 ist ein Zeitsteuerdiagramm für den Fall, daß der Datentransfer von der CPU-Platine 100 zur E/A- Platine ausgeführt wird.
In diesem Fall gibt die CPU-Platine 100 während einer Periode T 4 den Steuerrahmen F 0, die Adreßrahmen F 1 und F 2 sowie die Datenrahmen F 3 und F 4 zusammen mit den Ab­ tastsignalen STB* "L" aus. Nachdem die E/A-Platine die erforderlichen Prozesse während einer Periode T 5 aus­ geführt hat, liefert sie während einer Peride T 6 den Statusrahmen F 5 und das Abtastsignal STB* "L" zurück.
Bei dem vorstehend in Verbindung mit den Fig. 20 und 21 beschriebenen Datentransfermodus überträgt die CPU- Platine 100 von der E/A-Platine die Abtastsignale STB* "L" beim jedesmaligen Übertragen der betreffenden Rahmen, um damit die betreffenden Rahmen effektiv zu machen. Die Rahmen werden somit nach einer Synchron­ methode übertragen. Im Fall von Fig. 20 basiert der Transfer von Prozessen für die bzw. während der Perio­ den T 1 und T 3 auf einer asynchronen Methode bezüglich des Datentransferzyklus als Ganzes. Im Fall von Fig. 21 beruht der Transfer der Prozesse für die bzw. während der Perioden T 4 und T 6 auf der asynchronen Methode. Auf diese Weise ist es möglich, eine Mischmethode der syn­ chronen Transfermethode und der asynchronen Transfer­ methode zu aktualisieren bzw. zu realisieren.
Fig. 22 veranschaulicht eine Funktion zum Registrieren einer Ausfallhysterese der programmierbaren Steuerein­ heit. Letztere enthält Abnormalitätsdetektorkreise, z.B. einen Stromversorgungsausfall-Detektorkreis 21 zum Fest­ stellen eines Ausfalls bzw. einer Unterbrechung der Stromversorgung, einen Hochtemperaturabnormalitäts- Detektorkreis 22 zum Feststellen einer Abnormalität der internen Temperatur und einen Softwareabnormalitäts- Detektorkreis 23 zum Feststellen eines Überlaufs (runaway) der intern abgearbeiteten Software. Wenn von einem dieser Detektorkreise ein Abnormalitäts-Detek­ tionssignal geliefert wird, wird dieses einem Unter­ brechungserzeugungskreis 24 eingespeist, um damit eine Unterbrechung im Prozessor 1 auszuführen.
Der das Unterbrechungssignal empfangende Prozessor (CPU) 1 leitet einen Unterbrechungsprozeß 26 für das Auftreten einer Abnormalität von einem normalen Prozeß bzw. einer Normalverarbeitung 25 ein.
Andererseits weist der Prozessor 1 eine Zeitgeberfunk­ tion TT auf, um eine Art einer hervorgerufenen oder auf­ getretenen Abnormalität auf eine Zeit zu beziehen, zu welcher die Abnormalität vorliegt, wenn der Unterbre­ chungsprozeß 26 für das Auftreten von Abnormalität ge­ startet wird. Der Prozessor 1 ordnet sodann die aufge­ tretenen Abnormalitäten in einer Zeitreihe, während eine Hilfsspeichereinheit 27 diese Abnormalitäten in einem Dateiformat speichert. Die Hilfsspeichereinheit 27 be­ inhaltet die Verwendung eines Datenspeichers 7.
Im Fall der anschließenden Bezeichnung durch den Hilfs­ rechner startet der Prozessor 1 einen Hysterese-Auslese­ prozeß 28 und liest den Inhalt der Hilfsspeicherein­ heit 27 für dessen Übertragung zur Hilfsrechnerseite aus. Diese Anordnung ermöglicht die Ausgabe von Bedin­ gungen oder Zuständen für das Auftreten von Abnormali­ tät zur Außenseite in einem in Fig. 23 dargestellten Tabellenformat mittels einer Kathodenstrahlröhren-An­ zeigeeinheit und eines Druckers an der Hilfsrechner­ seite. Es ist damit auch möglich, ohne weiteres Einzel­ heiten der aufgetretenen Abnormalitäten, die Zeit des Auftretens sowie Fehler zu untersuchen bzw. auszuwer­ ten und weiterhin Gegenmaßnahmen gegen die Fehler zu treffen.
Im folgenden ist die Art und Weise der Spezifizierung bzw. Bezeichnung einer Leiterschaltung, in welcher wäh­ rend der Ausführung des Leiterprogramms Fehler auftre­ ten, oder einer gewünschten Leiterschaltung in der pro­ grammierbaren Steuereinheit gemäß der Erfindung erläu­ tert.
Die programmierbare Steuereinheit ist z.B. über Ein­ heiten RS232C und RS422 mit einem Programmerzeugungs­ werkzeug (Programmeingabewerkzeug) verbunden. Typi­ scherweise ist gemäß Fig. 24 das Leiterprogramm in einem solchen Format gesetzt bzw. vorgegeben, daß den betreffenden Leiterschaltungen eine Vielfalt von Be­ merkungen (comments) hinzugefügt sind. Insbesondere sind im (Ketten-)Leiterprogramm ein Programmname "TEST" in der ersten Stufe, ein Titel "Versuchungsoperations­ schaltung", Schritt- oder Stufenzahlen der Leiterschal­ tungen, eine Schaltungsanmerkung "Notstopschaltung" für eine Anzahl von Leiterschaltungen sowie Nebenbemerkun­ gen "Betriebsbedingungen, Betriebszustände, ..." ent­ sprechend jeder Zeile oder Linie der Leiterschaltung vorgegeben.
Die programmierbare Steuereinheit speichert das oben beschriebene Leiterprogramm intern zur Ausführung des Steuerprozesses. Falls jedoch während eines Folge­ steuerprozesses eine Abnormalität auftritt, liest das Programmerzeugungs- oder Programmierwerkzeug alle Pro­ grammschritte aus und gibt sie auf dem Kathodenstrahl­ röhren-Bildschirm wieder, um die Lage bzw. den Ort der Störung zu bezeichnen. Andererseits enthält die Lei­ terschaltung Tausende von Schritten, so daß es schwie­ rig ist, die bezeichnete Leiterschaltung auf dem Bild­ schirm herauszusuchen, der eine auf ein Mehrfaches von zehn Zeilen begrenzte Wiedergabefähigkeit besitzt. Im allgemeinen werden alle Leiterschaltungen ausgedruckt, und die Programmliste wird zur Zentrale (locale) ge­ bracht, um die tatsächlichen Schaltungen mit den Schal­ tungen im Programm in Übereinstimmung zu bringen. Die­ se Leiterschaltungs-Bezeichnungsmethode ist jedoch mit einer ziemlich mangelhaften Arbeitsleistung verbunden.
Bei der programmierbaren Steuereinheit gemäß der Erfin­ dung werden die Leiterschaltungen nach der im folgen­ den beschriebenen Methode spezifiziert bzw. bezeichnet.
Fig. 25 veranschaulicht in einem Blockschaltbild eine Anordnung, bei welcher ein Programmierwerkzeug mit der CPU-Platine 100 der Steuereinheit verbunden ist. Aus Gründen der Übersichtlichkeit sind in der CPU-Platine 100 nur der Prozessor (CPU) 1, ein RS232C-Anschluß, ein Randomspeicher bzw. RAM 7und ein Informationsbus b dar­ gestellt. Das mit dem Anschluß 10 der CPU-Platine 100 verbundene Programmierwerkzeug enthält eine Anzeige­ einheit bzw. einen Bildschirm PTCRT, ein Tastenfeld PTKB, einen Hauptspeicher PTM 1 und einen Hilfsspeicher PTM 2.
Wie erwähnt, werden die Leiterschaltungen in Überein­ stimmung mit der Folgesteuerung am bzw. im Programmier­ werkzeug aufbereitet, und die aufbereiteten Ergebnisse werden in einer Folgeprogramm-Bilddatei IMF zwischen­ gespeichert. Ein erzeugtes oder aufgestelltes Leiter­ programm wird über einen RS232-Anschluß 12 zum Random­ speicher 7 zurückübertragen. Dabei wird eine Schal­ tung/Bemerkungs-Entsprechungstabelle CCT, in welcher die Leiterschaltungen verschiedenen Arten von Bemer­ kungen (oder Kommentaren) entsprechen, mit dem Leiter­ programm ebenfalls zurückübertragen. Diese Tabelle CCT dient dazu, die Bemerkungspositionen (Schrittzahlen) an bzw. in den Schaltungen mit den Bemerkungspositionen in einer noch näher zu beschreibenden Bemerkungsdatei CF in Entsprechung zu bringen. Mittels dieser Tabelle CCT ist es möglich, die Positionierzustände zwischen den Leiterschaltungen und ihren Bemerkungen (oder Kommen­ taren) auch dann zu speichern, wenn das Programm modi­ fiziert wird.
Bei dieser Anordnung setzt der Prozessor (CPU) 1 das übertragene Folgeprogramm SQP und die Schaltungs/Be­ merkungs-Entsprechungstabelle CCt.
In der Hilfsspeichereinheit PTM 2 an der Seite des Pro­ grammierwerkzeugs ist eine Bemerkungsdatei CF vorge­ sehen, in welcher die Schrittzahlen der Leiterschaltun­ gen und die Inhalte der zu letzteren hinzugefügten Be­ merkungen gespeichert sind, während sie zueinander in Entsprechung gebracht sind bzw. werden.
Fig. 26 veranschaulicht den Inhalt der Bemerkungsdatei CF. Fig. 27 zeigt den Inhalt der Schaltungs-Bemerkungs- Entsprechungstabelle CCT. Anstatt im Programmierwerk­ zeug vorgesehen zu sein, kann die Bemerkungsdatei CF auch im Randomspeicher (RAM) 7 an der Seite der CPU- Platine 100 vorgesehen sein. Außerdem kann zusätzlich eine Bemerkungsdatei vorgesehen sein, in welcher die Schrittzahlen den Nebenbemerkungen entsprechen.
Im folgenden ist anhand von Fig. 28 eine Operation zum Heraussuchen spezifischer Stellen (locations) der Lei­ terschaltungen am bzw. im Programmierwerkzeug beschrie­ ben. Das Programmierwerkzeug liest den Inhalt der Bemerkungsdatei CF aus, und die Schaltungs-Bemerkungs- Entsprechungstabelle CCT bewirkt im voraus eine An­ ordnung zum Anzeigen nachfolgender Wiedergabebilder S 1, S 2, S 3 und S 4 auf dem Kathodenstrahlröhren-Bildschirm.
Ein anfängliches bzw. erstes Bild auf dem Bildschirm des Programmierwerkzeugs ist ein Schaltungsmonitor-Menü­ bild S 1, aus dem ein Schaltungsbemerkungs-Wiedergabe­ bild S 2 gewählt wird. Sodann wird eine Schaltungsbe­ merkungsliste in einem Listenformat auf dem Bildschirm wiedergegeben. Aus dem Schaltungsbemerkungs-Wiederga­ bebild S 2 wird weiterhin ein Nebenbemerkungs-Wieder­ gabebild S 3 gewählt, worauf alle in der Schaltungs­ bemerkung enthaltenen Nebenbemerkungen wiedergegeben werden. Wenn ein Schaltungswiedergabebild S 4 entspre­ chend der Nebenbemerkung gewählt wird, wird die dieser Nebenbemerkung (subcomment) entsprechende Leiterschal­ tung wiedergegeben.
Zum Bezeichnen einer bestimmten Leiterschaltung aus dem Leiterprogramm gemäß Fig. 24 wird nämlich eine ge­ wünschte Schaltungsbemerkung durch Anzeigen oder Wie­ dergeben einer Liste der Schaltungsbemerkungen gewählt, und eine spezielle Leiterschaltung kann auf dem Bild­ schirm durch Bezeichnung einer Leiterschaltung wieder­ gegeben werden, welche der in dieser Schaltungsbemer­ kung enthaltenen Nebenbemerkung entspricht.
Zu beachten ist, daß das Schaltungswiedergabebild S 4 aus dem Schaltungsmonitor-Menübild S 1 oder der Schal­ tungsbemerkungsliste S 2 gewählt werden kann. Seiten­ aktualisierdrehung und Seitenaktualisierüberwachung können an den betreffenden Wiedergabebildern vorgenom­ men werden.
Wie erwähnt, werden bei der erfindungsgemäßen program­ mierbaren Steuereinheit die Bemerkungsdatei und die Schaltungsbemerkungsentsprechungstabelle gesetzt bzw. vorgegeben und dann ausgelesen. Eine Vielzahl von zu den Leiterschaltungen hinzugefügten Bemerkungen oder Kommentaren werden in Vorbereitung auf die hierarchi­ sche Wiedergabe auf dem Kathodenstrahlröhren-Bildschirm zu den Leiterschaltungen in Beziehung gesetzt. Auf die­ se Weise ist es möglich, unmittelbar bzw. sofort eine gewünschte Leiterschaltung festzustellen.
Die beschriebene Anordnung dient zur Erzielung leicht herauszusuchender Leiterschaltungen beim Einstellen der Schaltunqen oder beim Auftreten eines Fehlers. Die fol­ gende Beschreibung bezieht sich auf Verbesserungen bei der Aufstellung des Leiterprogramms und der Operation während einer Entstörung.
Typischerweise wird der das Leiterprogramm verwendende Folgesteuerprozeß mittels einer Prozeßroutine ausge­ führt, bestehend aus einem gewöhnlichen Prozeß, wie Selbstdiagnose, einem Ein/Ausgabe- bzw. E/A-Erneuerungs­ prozeß von E/A-Registern an der Seite der E/A-Platine, Ausführung des vorgegebenen Leiterprogramms und einem Serviceprozeß für ein Hilfsgerät.
Bei der programmierbaren Steuereinheit gemäß der Erfin­ dung wird der auf den Normalprozeß bzw. die Normalver­ arbeitung folgende E/A-Erneuerungsprozeß (vgl. Fig. 29) ausgelassen, um die Programmierung und Entstörung ohne Einbau der E/A-Platine durchzuführen, wenn ein Folge­ steuerprogramm erzeugt bzw. aufgestellt wird. Bei die­ ser Anordnung kann die Entstörungsoperation in Über­ einstimmung mit einer Anweisung von einer Entstörungs­ einheit, wie einem Programmierwerkzeug oder derglei­ chen, ohne die E/A-Platine erfolgen.
Fig. 30 ist ein Diagramm einer Programmierfunktion des Leiterprogramms bei der programmierbaren Steuereinheit gemäß der Erfindung. Die einzelnen Blöcke in Fig. 30 repräsentieren Software-Funktionsblöcke der programmier­ baren Steuereinheit.
Die einzelnen Funktionsblöcke gemäß Fig. 30 arbeiten wie folgt:
Eine Schaltungs-Aufbereitungsfunktion 201 dient zum Aufbereiten der betreffenden Schaltungsbauteile der Leiterschaltung, mittels welcher Funktion der Program­ mierer Adressen der betreffenden Schaltungsbauteile in Form von Signalnamen, ähnlich den Vorrichtungsnamen beim Bezeichnen der Leiterschaltung, beschreibt. Eine Signaldefinierfunktion 202 dient als Einheit zum Setzen bzw. Vorgeben eines Tabellenformats für das im voraus erfolgende Vorgeben einer Entsprechung der Adressen zu den Signalnamen oder -bezeichnungen der betreffenden Schaltungsbauteile. Eine Compiler-Funktion 203 dient zum Übertragen eines Programms in einem Ausführungs­ format zur Folgeprozeßeinheit 205 in bezug auf Namen der Signale in der Leiterschaltung, von der Signal­ definierfunktion 202 gelieferte, entsprechende Adressen und weiterhin die Signale von einer automatischen Adreß­ erzeugungsfunktion 204. Die letztere Funktion 204 ist als Funktionsblock zum automatischen Zuweisen der detaillierten Adressen zu den von der Signaldefinier­ funktion 202 gelieferten Signalnamen bzw. -bezeich­ nungen definiert.
Vorgänge zum Erzeugen oder Aufstellen des Leiterpro­ gramms unter Nutzung dieser Funktionen sind nachstehend im einzelnen erläutert.
Eine in Fig. 31 dargestellte Leiterschaltung (ladder circuit) wird im Zusammenwirken mit dem Programmier­ werkzeug und der Schaltungs-Aufbereitungsfunktion 201 erzeugt. Dabei sind oder werden die einzelnen Schal­ tungsbauteile einer Übertragereinheit, einer Ausgabe­ einheit usw. in Form von Signalnamen, wie SW 1 und COIL 1 gesetzt oder vorgegeben. In der Signaldefinier­ funktion 202 sind jedoch Signalnamen SW 1, COIL 1, COIL 2, IRL 1, TIM 1, CNT 1 und REG 1 im voraus in Entsprechung zu Adressen X, X, Y, Y, I, T, C und D gesetzt, wobei die Symbole X, Y, I, T, C und D jeweils die Adressen ent­ sprechend einer Eingabe (Eingang), einem Ausgang (Aus­ gang), einem internen Übertrager, einem Zeitgeber, einem Zähler bzw. einem Datenregister darstellen.
Die detaillierten Adressen, die nicht für die betref­ fenden Leiterschaltungsbauteile in der Compiler-Funk­ tion 203 gesetzt sind, werden in der automatischen Adreßerzeugungsfunktion 204 automatisch zugewiesen. Wenn insbesondere nicht die detaillierte Adresse Xxxx, sondern nur die Adresse X für das Schaltungselement SW 1 gesetzt werden soll, wird die detaillierte Adresse X 001 zugewiesen. Dabei werden die detaillierten Adressen se­ quentiell von den kleinsten der Zahlen, die zu den Si­ gnalnamen der Leiterschaltungsbauteile hinzugefügt sind, gesetzt bzw. vorgegeben. Die Ergebnisse sind in Fig. 33 dargestellt. Dabei sind die Adresse X 001 für den Signalnamen SW 1 und die Adresse X 002 für den Si­ gnalnamen SW 2 gesetzt.
In Übereinstimmung mit dem durch die Compiler-Funktion erhaltenen Ausführungsformatprogramm kann die Entstö­ rung, obgleich die Verarbeitung in der Folgesteuerein­ heit erfolgt, lediglich mittels der CPU-Platine 100 und ohne Anordnung der E/A-Platine ausgeführt werden, weil der E/A-Erneuerungsprozeß, wie in der eine Prozeßrou­ tine veranschaulichenden Darstellung von Fig. 29 veran­ schaulicht, auch dann umgangen wird, wenn die E/A-Pla­ tine in der Entstörungsstufe nicht eingesetzt ist. Auf der Grundlage der entstörten Ergebnisse werden die de­ taillierten Adressen je nach Bedarf hinzugefügt.
Die Signalnamen oder -bezeichnungen können somit auto­ matisch zu den detaillierten Adressen in Entsprechung gebracht werden, ohne daß die Adressen der betreffen­ den Leiterschaltungsbauteile bekannt sein müßten, wo­ durch wiederum die Auslegung des Folgesteuerprogramms vereinfacht wird. Die Entstörung kann ohne die E/A- Platine durchgeführt werden, und die Leiterprogramm­ operationen können vor Beendigung der Auslegung einer Übertragungsplatine oder -tabelle (relay board), welche dem Folgeprozeß entspricht, bestätigt werden.
Die erfindungsgemäße programmierbare Steuereinheit be­ wirkt die Programmierung bezüglich des Tausende von Schritten umfassenden Leiterprogramms durch Aufteilung der Blöcke pro Schritt auf die im folgenden beschrie­ bene Weise. Die Fig. 34a bis 34c veranschaulichen Pro­ grammierbetriebsarten.
Die Fig. 34a bis 34c stellen Schrite 1, 2 und 5 als Teile des Leiterprogramms dar.
Ein Startbefehl "ACT PROG1.2" und ein Endbefehl "INACT PROG1.1", die erfindungsgemäß neu definiert sind, wer­ den im letzten Unterschritt von Schritt 1 gesetzt bzw. vorgegeben. Wenn bei dieser Anordnung eine Steuerope­ ration von Schritt 1 den letzten Unterschritt erreicht, wird ein Blockleiterprogramm PROG1.2 des Schritts 2 durch Beendigung eines Blockleiterprogramms PROG1.1 des Schritts 1 gestartet, wodurch die Steueroperation von Schritt 2 eingeleitet wird.
Im letzten Unterschritt des Blockleiterprogramms PROG1.2 sind ein Stopbefehl "INACT PROG1.2" des Block­ leiterprogramms PROGl.2 sowie Parallelstartbefehle "2ACT PROG1.2", "ACT PROG2.1" und "ACT PROG3.1" der Schritte 3 bis 5 gesetzt. Diese Schritte 3 bis 5 wer­ den gleichzeitig gestartet.
Die Beendigungen der Schritte 3 und 4 werden im Schritt 5 überwacht. Wenn die Beendigung der Schritte 3, 4 und 5 detektiert wird, kehrt die Operation zum Schritt 1 zurück, d.h. zum Startschritt des Folgesteuerprozesses, und zwar in Abhängigkeit von Stopbefehlen "INACT PROG3.1" und "ACT PROG1.1".
Die Startbefehle "ACT" und die Stopbefehle "INACT" des Leiterprogramms sind bzw. werden auf diese Weise defi­ niert, und es ist somit möglich, die Programmierung im Parallelbetrieb durchzuführen, indem eine Reihe von Tausenden von Folgesteuerprogrammen in mehrere Blöcke aufgeteilt bzw. unterteilt wird. Außerdem informieren die Leiterprogramme einander von Start und Ende, so daß die Folgesteueroperation durch Setzen oder Vorgeben der Leiterprogramme, die in die Blöcke unterteilt sind, in einer Anzahl von CPU-Platinen ausgeführt werden kann.
Fig. 35 veranschaulicht ein Beispiel, in welchem ein zu steuerndes Objekt M auf der tatsächlichen Steuerleitung L durch eine Kombination aus einer CPU- Platine 101, in welcher der Standardprogrammprozeß ge­ setzt oder vorgegeben ist, und CPU-Platinen 102 bis 104, in denen nur der Leiterprogrammprozeß gesetzt ist, gesteuert wird.
Dabei sind Leiterprogramme LD 1 und LD 2 in der CPU- Platine 102 gesetzt, mit welcher eine E/A-Platinen­ gruppe C 10 verbunden ist; Leiterprogramme LD 3 bis LD 5 sind in der CPU-Platine 103 gesetzt, an welche eine E/A-Platinengruppe C 20 angeschlossen ist; schließlich ist ein Leiterprogramm LD 6 in der CPU-Platine 104 ge­ setzt, mit welcher eine E/A-Platinengruppe C 30 verbunden ist.
Fig. 36 veranschaulicht ein Beispiel des in der CPU- Platine 101 gesetzten Basis- oder Standardprogramms.
Die Leiterprogramme LD 1 bis LD 6 sind als eine Reihe von Folgesteuerprogrammen für das Steuerobjekt M definiert; diese Leiterprogramme besitzen den vorher angegebenen Blockaufbau und sind einzeln bzw. unabhängig program­ miert.
Das Standardprogramm der CPU-Platine 101 bewirkt das Ausgeben von Startanweisungen zu den einzelnen Leiter­ programmen und das Empfangen von Endeanweisungen von ihnen.
Beim Einleiten der Operation betätigt die CPU-Platine 101 das dem Leiterprogramm LD 1 der CPU-Platine 102 nachgeschaltete Leiterprogramm LD 2. Nachdem diese Pro­ gramme beendet worden sind, wird das Leiterprogramm LD 3 oder LD 4 der CPU-Platine 103 in Übereinstimmung mit den zu diesem Zeitpunkt vorliegenden Folgeverarbeitungs­ ergebnissen abgearbeitet. Unmittelbar nach Abschluß des Programms LD 3 oder LD 4 bewirkt im Zuge dieses Schrit­ tes das Standardprogramm das parallele Starten sowohl des in der CPU-Platine 103 enthaltenen Leiterprogramms LD 5 als auch des in der CPU-Platine 104 enthaltenen Leiterprogramms LD 5.
Auf der Grundlage des dargestellten Systems werden die Folgesteuerprogramme, in denen eine Reihe von Folge­ steueroperationen in Blöcke unterteilt sind, durch eine Anzahl von programmierbaren Steuereinheiten behandelt und abgearbeitet. Damit kann eine höchst wirkungsvolle Folgesteuerverarbeitung ausgeführt werden.
Wie vorstehend beschrieben, vermag die programmierbare Steuereinheit gemäß der Erfindung die Geschwindigkeit der Folgesteuerverarbeitung zu erhöhen und bei einer Modifizierung ein einfach neu auszulegendes System zu realisieren. Auf diese Weise kann eine programmierbare Steuereinheit einer hohen Verarbeitungsleistungsfähig­ keit realisiert werden.

Claims (13)

1. Programmierbare Steuereinheit, umfassend
einen ersten Prozessor,
einen zweiten Prozessor,
einen Programmspeicher zum Speichern eines In­ terpretier(typ)programmbefehls und eines Basis­ oder Standardbefehls,
einen Informations-Bus, über den erster und zweiter Prozessor sowie Programmspeicher mitein­ ander verbunden sind, und
eine zwischen ersten und zweiten Prozessor ein­ geschaltete Steuerleitung, über welche bidirektio­ nale Übertragungen von Signalen zwischen erstem und zweitem Prozessor ausführbar sind,
dadurch gekennzeichnet, daß dann, wenn der eine, die Ausführung übernehmende Prozessor entscheidet, daß der Befehl durch den an­ deren Prozessor ausgeführt werden soll, dieser eine Prozessor den anderen Prozessor über die Steuerlei­ tung von einer auszuführenden Adresse des Programm­ speichers informiert und eine Betätigung durch­ führt, und der Prozessor, der den Standardbefehl ausführen soll, den Standardbefehl unmittelbar aus dem Programmspeicher ausliest und diesen Standard­ befehl ausführt.
2. Programmierbare Steuereinheit, umfassend
einen ersten Prozessor,
einen zweiten Prozessor,
einen Programmspeicher,
einen ersten Informations-Bus, über den der erste Prozessor mit dem Programmspeicher verbunden ist, um einen Interpretierprogrammbefehl und einen Basis- oder Standardbefehl zu speichern, und
einen zweiten Informations-Bus, über den der zweite Prozessor mit dem ersten Prozessor verbun­ den ist,
dadurch gekennzeichnet, daß der erste Prozessor, wenn er selbst arbeitet oder in Betrieb steht, in Vorbereitung auf die Aus­ führung (Abarbeitung) des Programms den Programm­ befehl aus dem Programmspeicher ausliest und gleich­ zeitig einen Pseudobefehl zum zweiten Prozessor ausgibt, und dann, wenn der erste Prozessor ent­ scheidet, daß der Programmbefehl vom zweiten Pro­ zessor ausgeführt werden soll, der Programmbefehl anstelle des Pseudobefehls zugespeist wird.
3. Programmierbare Steuereinheit, gekennzeichnet durch
einen ersten Prozessor,
einen zweiten Prozessor,
einen ersten Programmspeicherbereich zum Speichern eines durch den ersten Prozessor auszuführenden Programmbefehls und eines Befehls zum Anweisen der Ausführung für den bzw. durch den zweiten Prozes­ sor,
einen zweiten Programmspeicherbereich zum Spei­ chern eines durch den zweiten Prozessor auszufüh­ renden Befehls und eines Befehls zum Anweisen der Ausführung für den bzw. durch den ersten Prozessor sowie
eine Signalzusammensetzeinheit zum Eingeben des Befehls für Anweisung der Ausführung zum zweiten Prozessor und des Befehls für Anweisung der Ausfüh­ rung zum ersten Prozessor sowie zum Anweisen eines Starts der Operation für den einen Prozessor und zum Anweisen eines Stops (Endes) der Operation für den anderen Prozessor.
4. Programmierbare Steuereinheit, gekennzeichnet durch
eine Gruppe von Ein/Ausgabe- bzw. E/A-Platinen (I/O boards) für Transfer und Empfang einer Viel­ zahl von Informationen bezüglich eines zu steuern­ den Objekts bzw. Steuerobjekts und
eine Prozessorplatine (processor board) zum An­ legen eines Steuersignals an das Steuerobjekt über die E/A-Platinengruppe, wobei die Prozessorplatine umfaßt:
einen Prozessor für Gesamtsteuerung und zum Aus­ führen eines Teils von Befehlen in einem Folge­ steuerprogramm und einem Basis- oder Standardpro­ gramm zwecks Durchführung einer Universal- oder Mehrzweckrechenverarbeitung, einer Informations­ verarbeitung oder einer Steueroperation durch Star­ ten des Folgesteuerprogramms und Lieferung (making) einer Endeanweisung,
einen unmittelbar mit einem Programmspeicher, in welchem das Folgesteuerprogramm gespeichert ist, verbundenen 1-Bit-Prozessor zum Ausführen von se­ quentiell aus dem Programmspeicher ausgelesenen Be­ fehlen und zum Übermitteln (imparting) der Befehle zum Prozessor, wenn die ausgelesenen Befehle durch den Prozessor auszuführende Folgeanwendungsbefehle sind,
einen Datenspeicher zum Zwischenspeichern von Daten,
einen Festwertspeicher zum Speichern eines Selbstdiagnoseprogramms,
eine Datenaustausch-Schnittstelle, die an einer Datenaustauschoperation mit einem Hilfsrechner be­ teiligt ist,
eine Ein/Ausgabe- bzw. E/A-Schnittstelle zum Verbinden des Steuerobjekts mit einem E/A-Bus, über den E/A-Platinen für Transfer und Empfang einer Vielzahl von Informationen verbunden sind, und
einen internen Bus zum gegenseitigen Verbinden des Prozessors, des 1-Bit-Prozessors, des Daten­ speichers, des Festwertspeichers, der Datenaus­ tausch-Schnittstelle und der E/A-Schnittstelle.
5. Steuereinheit nach Anspruch 4, dadurch gekennzeich­ net, daß ein zum Betriebsbeginnzeitpunkt in der Prozessorplatine gesetzter Ein/Ausgabe- bzw. E/A- Treiber eine Prozeßdefinitionstabelle für Speiche­ rung in einem Tabellenformat durch Auslesen einer Platinen-ID (Identifizierung), einer Art der Schnittstelle in der Platine, der Zahl von Kanälen, einer Befehlsregisteradresse und einer Pufferadres­ se oder einer Datenregisteradresse und einer Adres­ se zum Bezeichnen eines speziellen Prozesses, wenn sich die Notwendigkeit für den speziellen Prozeß ergibt, setzt bzw. vorgibt (sets) und sich bei Aus­ führung eines Datenausgabeprozesses auf die Prozeß­ definitionstabelle bezieht.
6. Steuereinheit nach Anspruch 4, dadurch gekennzeich­ net, daß in der Prozessorplatine und in der E/A- Platinengruppe Abtastsignalerzeugungseinheiten vor­ gesehen sind, daß beim Starten eines Datentransfer­ zyklus die Platine (board) zum Anfordern eines Da­ tentransfers Abtastsignale pro Rahmenübertragung (frame transmission) überträgt, um den betreffenden Rahmen (frame) wirksam zu machen, daß die die Da­ tentransferanforderung empfangende Platine Daten (für) einen Rahmen und einen Statusrahmen oder die Abtastsignale pro Statusrahmenübertragung überträgt und daß der Datentransferzyklus damit beendet wird.
7. Steuereinheit nach Anspruch 4, dadurch gekennzeich­ net, daß eine der Zahl von Abnormalitäten entspre­ chende Zahl von Abnormalitätsdetektorschaltungen vorgesehen sind und daß der Prozessor ein Abnorma­ litätsdetektionssignal als Unterbrechungssignal empfängt oder abnimmt und durch eine interne Zeit­ geberfunktion gegebene Zeitdaten sowie einen Inhalt der detektierten Abnormalität in einem Tabellenfor­ mat speichert.
8. Steuereinheit nach Anspruch 4, dadurch gekennzeich­ net, daß ein Ein/Ausgabe- bzw. E/A-Erneuerungs­ prozeß in einer Folgesteuerprozeßroutine ausgelas­ sen bzw. übersprungen wird, beim Erzeugen oder Auf­ stellen von (Ketten-)Leiterschaltungen Signalnamen den Schaltungselementen zugeordnet und zu Adressen in Übereinstimmung mit einer vorgegebenen Signal­ namen/Adreß-Entsprechungstabelle in Entsprechung gebracht werden und den Signalnamen entsprechende detaillierte Adressen sequentiell von der mit der kleinsten Zahl markierten Adresse zu den (für die) Signalnamen, denen die detaillierten Adressen zum Compiler-Zeitpunkt noch nicht zugewiesen sind, ge­ setzt bzw. vorgegeben (set) werden.
9. Steuereinheit nach Anspruch 4, dadurch gekennzeich­ net, daß beim Programmieren eines (Ketten-) Leiter­ programms (ladder program) eine Reihe von Folge­ steueroperationen in mehreren Schritten entspre­ chende Blöcke aufgeteilt oder unterteilt werden, ein Befehl zum Bezeichnen eines als nächstes aus­ zuführenden Blocks und ein Befehl zum Bezeichnen eines Stops des Prozesses des betreffenden Blocks in der Leiterschaltung eines letzten Unterschritts jedes Blocks gesetzt oder vorgegeben werden und das Leiterprogramm pro (für jeden) Block gesetzt und ausgeführt wird.
10. Steuereinheit nach Anspruch 4, dadurch gekennzeich­ net, daß eine Kommentar- oder Bemerkungsdatei zum Speichern von Bemerkungen, die zu den Leiterschal­ tungen in dem in einer Leitersprache erzeugten Lei­ terprogramm hinzugefügt sind, und Schrittzahlen der betreffenden Leiterschaltung dadurch gesetzt wird, daß die Bemerkungen (comments) zu den Schrittzahlen in Entsprechung gebracht werden, und auch eine Schaltung/Bemerkungstabelle, in welcher die Schritt­ zahlen der betreffenden Leiterschaltung den Bemer­ kungszahlen in der Bemerkungsdatei entsprechen, gesetzt wird und die Schaltungsbemerkungen, die Schrittzahlen und die Leiterschaltungen aus einem Programmierwerkzeug ausgelesen werden.
11. Programmierbare Steuereinheit zur Durchführung eines CPU-Prozesses durch Umschalten von periodisch ausgeführten Folge(steuer)prozessen und einer Viel­ zahl von Basis- bzw. Standardprozessen, gekenn­ zeichnet durch
einen Zeitgeber, in welchem die höchstzulässige Größe einer Verarbeitungszeit des Folgeprozesses gesetzt ist, zum Zählen einer jeweiligen (each time) Verarbeitungszeit des Folgeprozesses und
eine Ausführungsrecht-Umschaltverarbeitungsein­ heit zum Setzen einer Größe der Verarbeitungszeit im Zeitgeber durch Bestimmen der Verarbeitungszeit des Standardprozesses in Übereinstimmung mit einem Zählstand des Zeitgebers und Umschalten des Folge­ prozesses und des Standardprozesses.
12. Programmierbare Steuereinheit, gekennzeichnet durch
eine einzige Zentraleinheit (CPU), die in Über­ einstimmung mit einer bezeichneten Sprache arbei­ tet,
für den Betrieb der Zentraleinheit benötigte Elemente,
eine Setz- bzw. Vorgabeeinheit, die mindestens eine (oder mehrere) auszuführende Sprachen von außen her vorgibt, und
eine Erzeugungseinheit zum Erzeugen einer opti­ malen Ausführungsumgebung nach Maßgabe der durch die Vorgabeeinheit vorgegebenen Sprache.
13. Programmierbare Steuereinheit, umfassend eine Prozessorplatine zum Verarbeiten einer Ba­ sis- oder Standardsprache,
mindestens eine der Folgespracheverarbeitung (ausschließlich) zugewiesene Prozessorplatine zum Speichern eines oder mehrerer Folgesteuerprogramme auf Blockbasis, die jeweils der Folgespracheverar­ beitung (ausschließlich) zugewiesen sind, und
eine Gruppe von an der Unterseite der der Folge­ spracheverarbeitung zugewiesenen Prozessorplatine vorgesehenen Ein/Ausgabe- bzw. E/A-Platinen für Transfer und Empfang von Steuerinformationen be­ züglich eines Steuerobjekts,
dadurch gekennzeichnet, daß die Prozessorplatine zum Verarbeiten der Standardsprache jedes der Fol­ gesteuerprogramme auf Blockbasis in der der Folge­ spracheverarbeitung zugewiesenen Prozessorplatine über eine Startanweisung und eine Endeanweisung in­ formiert.
DE4011278A 1989-04-24 1990-04-06 Programmierbare steuereinheit Withdrawn DE4011278A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP1104052A JPH02281365A (ja) 1989-04-24 1989-04-24 情報処理装置
JP1129707A JPH02307151A (ja) 1989-05-23 1989-05-23 プロセッサ・システム
JP1275513A JPH03136105A (ja) 1989-10-23 1989-10-23 ラダー・シーケンス制御装置
JP1275512A JPH03136103A (ja) 1989-10-23 1989-10-23 シーケンサ

Publications (1)

Publication Number Publication Date
DE4011278A1 true DE4011278A1 (de) 1990-10-25

Family

ID=27469177

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4011278A Withdrawn DE4011278A1 (de) 1989-04-24 1990-04-06 Programmierbare steuereinheit

Country Status (7)

Country Link
US (1) US5553297A (de)
KR (2) KR940002324B1 (de)
CN (1) CN1046987A (de)
DE (1) DE4011278A1 (de)
FR (1) FR2646254B1 (de)
GB (1) GB2232514B (de)
NL (1) NL9000984A (de)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2848060B2 (ja) * 1991-10-24 1999-01-20 株式会社日立製作所 プログラマブルコントローラおよびシーケンス制御方法
JPH08123515A (ja) * 1994-10-25 1996-05-17 Fanuc Ltd シーケンス・プログラムの表示方式
JP3868541B2 (ja) * 1996-07-16 2007-01-17 東芝機械株式会社 ダイカスト機の制御装置
US20040194101A1 (en) * 1997-08-21 2004-09-30 Glanzer David A. Flexible function blocks
US7146230B2 (en) * 1996-08-23 2006-12-05 Fieldbus Foundation Integrated fieldbus data server architecture
US6424872B1 (en) 1996-08-23 2002-07-23 Fieldbus Foundation Block oriented control system
US5963446A (en) * 1996-08-27 1999-10-05 Steeplechase Software, Inc. Extended relay ladder logic for programmable logic controllers
JPH10240522A (ja) * 1997-02-26 1998-09-11 Matsushita Electric Works Ltd 演算装置
US6999824B2 (en) * 1997-08-21 2006-02-14 Fieldbus Foundation System and method for implementing safety instrumented systems in a fieldbus architecture
US6157970A (en) * 1997-09-24 2000-12-05 Intel Corporation Direct memory access system using time-multiplexing for transferring address, data, and control and a separate control line for serially transmitting encoded DMA channel number
US6104875A (en) * 1997-12-18 2000-08-15 Honeywell Inc. Method for field programming an industrial process transmitter
US6272398B1 (en) 1998-09-21 2001-08-07 Siebolt Hettinga Processor-based process control system with intuitive programming capabilities
DE19946096A1 (de) * 1999-09-27 2001-04-12 Mannesmann Vdo Ag Steuergerät, insbesondere für ein Kraftfahrzeug
JP2001265412A (ja) * 2000-03-15 2001-09-28 Omron Corp プログラマブルコントローラ
US20050240286A1 (en) * 2000-06-21 2005-10-27 Glanzer David A Block-oriented control system on high speed ethernet
DE10195787D2 (de) * 2000-12-29 2004-01-08 Sticht Fertigungstech Stiwa Betriebsleiteinrichtung für eine Fertigungs- und/oder Montageeinrichtung
JP4783527B2 (ja) 2001-01-31 2011-09-28 株式会社ガイア・システム・ソリューション データ処理システム、データ処理装置およびその制御方法
JP4865960B2 (ja) 2001-06-25 2012-02-01 株式会社ガイア・システム・ソリューション データ処理装置およびその制御方法
US6993674B2 (en) 2001-12-27 2006-01-31 Pacific Design, Inc. System LSI architecture and method for controlling the clock of a data processing system through the use of instructions
CA2522755A1 (en) 2003-04-16 2004-11-04 Drexel University Acoustic blood analyzer for assessing blood properties
EP1582948B1 (de) * 2004-03-31 2009-06-24 Omron Corporation Vorrichtung zur Entwicklungsunterstützung
KR20060076884A (ko) * 2004-12-29 2006-07-05 두산인프라코어 주식회사 수치제어장치의 소프트웨어 plc 접점 처리장치 및 방법
TWI279711B (en) 2005-08-19 2007-04-21 Mitac Technology Corp Dual-processor multimedia system, and method for fast activation of the multimedia system
JP2007156824A (ja) * 2005-12-05 2007-06-21 Nec Electronics Corp プロセッサシステム、タスク制御方法
US7489977B2 (en) * 2005-12-20 2009-02-10 Fieldbus Foundation System and method for implementing time synchronization monitoring and detection in a safety instrumented system
US8676357B2 (en) * 2005-12-20 2014-03-18 Fieldbus Foundation System and method for implementing an extended safety instrumented system
US20090083719A1 (en) * 2007-09-20 2009-03-26 Delta Electronics, Inc. Method of compiling machine code program for programmable logic controller
JP5155646B2 (ja) * 2007-12-13 2013-03-06 アイシン高丘株式会社 熱間プレス成形装置及び熱間プレス成形方法
US20090302588A1 (en) * 2008-06-05 2009-12-10 Autoliv Asp, Inc. Systems and methods for airbag tether release
WO2010014033A1 (en) * 2008-07-31 2010-02-04 Ge Healthcare Bio-Sciences Ab Separation device
JP5454783B2 (ja) * 2009-03-13 2014-03-26 オムロン株式会社 Plcのプログラミングにおける変数名の入力支援方法、plcのプログラミングにおける変数名の入力支援装置、及びコンピュータプログラム
US8688964B2 (en) * 2009-07-20 2014-04-01 Microchip Technology Incorporated Programmable exception processing latency
CN102096390B (zh) * 2011-01-30 2014-04-09 深圳市合信自动化技术有限公司 可编程逻辑控制器、组态程序编译器及方法
EP2537591B1 (de) * 2011-06-21 2014-06-18 Siemens Aktiengesellschaft Verfahren zur Gewinnung von nichtmagnetischen Erzen aus einer Erzpartikel-Magnetpartikel-Agglomerate enthaltenden Suspension
JP5702811B2 (ja) 2013-01-30 2015-04-15 ファナック株式会社 動作プログラム作成装置
CN103529749B (zh) * 2013-10-29 2017-07-25 威海麦科电气技术有限公司 一种plc可编程控制器的梯形图程序开发系统及方法
JP5937637B2 (ja) * 2014-04-30 2016-06-22 ファナック株式会社 シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置
DE112014003085T5 (de) * 2014-07-14 2016-03-17 Mitsubishi Electric Corporation SPS-System und Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke
JP6122054B2 (ja) * 2015-03-13 2017-04-26 ファナック株式会社 ラダープログラムの分岐回路抽出表示機能を有するモニタ装置
JP6325500B2 (ja) * 2015-09-17 2018-05-16 ファナック株式会社 Cncの動作状況をコメント中に追加表示可能なラダー図モニタ装置
CN106762414B (zh) * 2016-11-23 2020-05-22 北京华电天仁电力控制技术有限公司 一种用于风力发电机组变桨控制系统的板式可编程控制器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2028543A (en) * 1978-08-24 1980-03-05 Texas Instruments Inc Intelligent programmable process control system
EP0120194A2 (de) * 1983-01-28 1984-10-03 Siemens Aktiengesellschaft Speicherprogrammierbare Steuerung mit Wort- und Bitprozessor
GB2177826A (en) * 1985-03-28 1987-01-28 Allen Bradley Co Programmable controller

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4303990A (en) * 1976-07-01 1981-12-01 Gulf & Western Industries, Inc. Programmable controller using microprocessor
JPS54114687A (en) * 1978-02-27 1979-09-06 Toyoda Mach Works Ltd Sequence controller
DE3236302A1 (de) * 1982-09-30 1984-04-05 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
JPS59119405A (ja) * 1982-12-27 1984-07-10 Hitachi Ltd 複数台運転可能なシ−ケンスコントロ−ラ
DE3302929A1 (de) * 1983-01-28 1984-08-02 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
JPS59172008A (ja) * 1983-03-22 1984-09-28 Mitsubishi Electric Corp 数値制御装置
US4750110A (en) * 1983-04-18 1988-06-07 Motorola, Inc. Method and apparatus for executing an instruction contingent upon a condition present in another data processor
DE3323824A1 (de) * 1983-07-01 1985-01-03 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
EP0134386A2 (de) * 1983-08-05 1985-03-20 Ten X Technology, Inc. Verfahren und Vorrichtung zur Ausführung von aus einer Quelle mit hoher Programmiersprache übersetzten Maschinensprachebefehlen
US4862351A (en) * 1983-09-01 1989-08-29 Unisys Corporation Method of executing called activities via depictor-linked low level language microcode, hardware logic, and high level language commands; and apparatus for same
US4942552A (en) * 1986-11-20 1990-07-17 Allen-Bradley Company, Inc. Method and apparatus for saving and performing industrial control commands
US4972365A (en) * 1987-05-01 1990-11-20 Allen-Bradley Company, Inc. Executing downloaded user programs in a programmable controller
DE3720006A1 (de) * 1987-06-15 1988-12-29 Siemens Ag Datenverarbeitungsanlage mit einem bitprozessor und einem wortprozessor
US4858101A (en) * 1987-08-26 1989-08-15 Allen-Bradley Company, Inc. Programmable controller with parallel processors
US4937777A (en) * 1987-10-07 1990-06-26 Allen-Bradley Company, Inc. Programmable controller with multiple task processors
US5287548A (en) * 1988-02-29 1994-02-15 Allen-Bradley Company, Inc. Programmable controller having a stored program with both machine language instructions and source code data
US4985831A (en) * 1988-10-31 1991-01-15 Evans & Sutherland Computer Corp. Multiprocessor task scheduling system
US5068778A (en) * 1988-11-28 1991-11-26 Reliance Electric Industrial Company Industrial control system device
US5068821A (en) * 1989-03-27 1991-11-26 Ge Fanuc Automation North America, Inc. Bit processor with powers flow register switches control a function block processor for execution of the current command

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2028543A (en) * 1978-08-24 1980-03-05 Texas Instruments Inc Intelligent programmable process control system
EP0120194A2 (de) * 1983-01-28 1984-10-03 Siemens Aktiengesellschaft Speicherprogrammierbare Steuerung mit Wort- und Bitprozessor
GB2177826A (en) * 1985-03-28 1987-01-28 Allen Bradley Co Programmable controller

Also Published As

Publication number Publication date
GB9006947D0 (en) 1990-05-23
KR900016842A (ko) 1990-11-14
KR940002339B1 (ko) 1994-03-23
NL9000984A (nl) 1990-11-16
FR2646254A1 (fr) 1990-10-26
CN1046987A (zh) 1990-11-14
KR940002324B1 (ko) 1994-03-23
GB2232514B (en) 1993-09-01
US5553297A (en) 1996-09-03
FR2646254B1 (fr) 1996-10-31
GB2232514A (en) 1990-12-12

Similar Documents

Publication Publication Date Title
DE4011278A1 (de) Programmierbare steuereinheit
DE19813203B4 (de) Verfahren zum Steuern einer Vielzahl von Servosteuerungen und Servosteuersystem
DE4431315A1 (de) Steuerungsverfahren und Steuerungsvorrichtung für Fabrik-Automatisierungssystem
DE2810977A1 (de) Anordnung zum erzeugen und korrigieren eines benutzerprogramms
DE19654593A1 (de) Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
DE102008055660A1 (de) Verfahren und Vorrichtung zum Zugreifen auf ein Funktionsmodul eines Automatisierungssystems
DE112006000988T5 (de) Wechselrichter und Programmiervorrichtung für denselben
DE102016013434A1 (de) Folgesteuerprogrammiervorrichtung, Folgesteuerprogrammierverfahren und Arbeitssystem
DE19702158A1 (de) Kommunikationssteuersystem für Bedienungspult und getrennte I/O-Einheiten
DE2911909C2 (de) Digitales Datenverarbeitungsgerät
DE69727646T2 (de) Numerische steuereinrichtung
DE4104568A1 (de) Verfahren und vorrichtung zur programmverarbeitung
DE10026145A1 (de) Programmierbare Steuereinheit
DE4226536A1 (de) Programmierbare steuerung mit einer benutzernachrichtenfunktion
DE4445651A1 (de) Verfahren zur Steuerung von technischen Vorgängen
DE10200377B4 (de) Einstellanzeigevorrichtung für eine progrmmierbare Steuereinrichtung
DE2245284A1 (de) Datenverarbeitungsanlage
EP1266349B1 (de) Konfigurierung von gerätespezifischen programmen in einem druck- oder kopiergerät
EP0110199A2 (de) Verfahren zum Steuern des Datentransfers zwischen einem Datensender und einem Datenempfänger über einen Bus mit Hilfe einer am Bus angeschlossenen Steuereinrichtung
DE10218816A1 (de) Programmierbares Steuerungssystem
DE2847479A1 (de) Schablonenfamilien-schnittstelleneinrichtung
DE3411522C2 (de)
DE4330220C2 (de) Dialogorientiertes Programmiersystem zur Erzeugung eines Steuerprogramms für eine CNC-Maschine
DE10132036C2 (de) Automatisierungssystem und Verfahren mit Funktionen in einer Auszeichnungssprache
DE4446958A1 (de) Programmierbare Steuerung und zugehöriges Kommunikationsverfahren mit exklusiver Steuerung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8181 Inventor (new situation)

Free format text: YONEZAWA, MASAAKI, MUSASHINO, TOKIO/TOKYO, JP HASEGAWA, KIYOSHI, HACHIOUJI, TOKIO/TOKYO, JP KAWATA,YASUNORI, FUSSA, TOKIO/TOKYO, JP MATSUOKA, KOUJI, KOGANEI, TOKIO/TOKYO, JP KADOWAKI, TAKASI, NISHITAMA, TOKIO/TOKYO, JP

8139 Disposal/non-payment of the annual fee