DE4135749A1 - Prozessormodul fuer eine programmierbare steuerung mit einer intelligenten funktionsmodulschnittstelle - Google Patents

Prozessormodul fuer eine programmierbare steuerung mit einer intelligenten funktionsmodulschnittstelle

Info

Publication number
DE4135749A1
DE4135749A1 DE4135749A DE4135749A DE4135749A1 DE 4135749 A1 DE4135749 A1 DE 4135749A1 DE 4135749 A DE4135749 A DE 4135749A DE 4135749 A DE4135749 A DE 4135749A DE 4135749 A1 DE4135749 A1 DE 4135749A1
Authority
DE
Germany
Prior art keywords
data
processor
transitions
input
storing
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.)
Granted
Application number
DE4135749A
Other languages
English (en)
Other versions
DE4135749B4 (de
Inventor
Mathews Kathleen Broadstone
Donald A Westman
Sickle Wayne Charles Van
Ronald E Schultz
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.)
Allen Bradley Co LLC
Original Assignee
Allen Bradley Co LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Allen Bradley Co LLC filed Critical Allen Bradley Co LLC
Publication of DE4135749A1 publication Critical patent/DE4135749A1/de
Application granted granted Critical
Publication of DE4135749B4 publication Critical patent/DE4135749B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1103Special, intelligent I-O processor, also plc can only access via processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15029I-O communicates with local bus at one end and with fieldbus at other end
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15031RS485 for service connection to module
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15052Communication processor, link interface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15078Modules, construction of system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15081Period length ratio between application and communication task is settable

Landscapes

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

Description

Die Erfindung bezieht sich auf programmierbare Steuerungen zum Betreiben industrieller Anlagen und befaßt sich insbesondere mit Prozessoren, die für solche programmierbaren Steuerungen gedacht sind und die über einen Satz Busse an eine Reihe von Funktionsmodulen angeschlossen sind.
Hintergrund der Erfindung
Programmierbare Steuerungen sind eine heute übliche Art industrieller Rechner zum Betreiben verschiedenartiger Herstellungs- oder Fertigungseinrichtungen, beispielsweise Montagebänder und Werkzeugmaschinen. Dieser Betrieb der programmierbaren Steuerungen erfolgt gemäß einem gespeicherten Steuerprogramm. Diese Steuerungen werden daher auch speicherprogrammierbare Steuerungen genannt. Das Programm enthält eine Folge von Prozeßsteuerungsanweisungen oder Prozeßsteuerungsbefehlen, die aufeinanderfolgend ausgelesen und ausgeführt werden. Die ausgelesenen und ausgeführten Anweisungen dienen zur Überprüfung des Zustands ausgewählter Sensoren oder Fühlvorrichtungen bei der gesteuerten Einrichtung oder Anlage und zum Einschalten oder Abschalten ausgewählter Aktoren oder Betätigungsvorrichtungen bei der gesteuerten Einrichtung oder Anlage in Abhängigkeit vom Status einer oder mehrerer der überwachten Fühlvorrichtungen.
Der Status oder Zustand vieler Fühl- und Betätigungsvorrichtungen kann durch ein einziges Datenbit dargestellt werden, das von den Steuerprogrammanweisungen manipuliert wird. Andere Vorrichtungen und Geräte, wie Positionssensoren, erfordern mehrere Datenbits zur Darstellung eines Zustands der zu steuernden Einrichtung. Für diese zuletztgenannten Vorrichtungen und Geräte sind Befehle oder Anweisungen vorgesehen, die Datenbytes und Datenwörter manipulieren, die den Status oder Zustand der Fühl- und Betätigungsvorrichtungen darstellen. Weitere Programmbefehle oder Programmanweisungen dienen zum Ausführen arithmetischer Operationen, Zeitgabe- und Zählfunktionen sowie komplexen statistischen Berichtsoperationen. Solche Befehle und Anweisungen sind in der Industrie standardisiert oder genormt und direkt den Elementen eines Stromlaufplanes oder Kontaktplanes (ladder logic diagram) zugeordnet, der von Prozeßsteueringenieuren leicht verstanden wird. Programmierfelder, wie sie aus den US-Patentschriften 38 08 612; 38 13 649 und 40 70 702 bekannt sind, wurden entwickelt und werden vom Anwender benutzt, um Kontaktplan-Steuerprogramme zu entwickeln und zu editieren, die aus solchen Befehlen vom Typ programmierbarer Steuerungen bestehen.
Die programmierbare Steuerung der Reihe 1771 von Allen-Bradley ist beispielsweise ein industrieller Rechner der beschriebenen Art. Diese programmierbare Steuerung der Reihe 1771 enthält einen Einschubrahmen oder ein Einschubgestell mit einer Vielzahl von Einschubplätzen oder Schlitzen, die zur Aufnahme verschiedener Arten von Funktionsmodulen dienen. In einem der Schlitze ist ein Prozessormodul untergebracht, das das anwenderdefinierte Steuerprogramm speichert und ausführt. Das Steuerprogramm wird wiederholt ausgeführt, so daß es immer wieder für verschiedene Werkstücke, die von der gesteuerten Einrichtung oder Anlage zu bearbeiten sind, dieselben logischen Operationen vornimmt. Eingabe- und Ausgabemodule, die zum elektrischen Anschalten oder Anschließen der Fühl- und Betätigungsvorrichtungen bei der gesteuerten Einrichtung oder Anlage dienen, sind in anderen Gestellschlitzen untergebracht. Das Gestell hat eine Rückebene mit Leiterbahnen, mit denen die Module elektrisch verbunden sind, so daß sie unter sich Daten- und Steuersignale austauschen können. Das Prozessormodul sammelt beispielsweise von den Eingabemodulen Daten, die den Status oder Zustand der Fühlvorrichtungen darstellen, und gibt Steuerbefehle an die Ausgabemodule aus, die mit den Betätigungsvorrichtungen verbunden sind. Das Sammeln der Daten und das Ausgeben der Befehle durch das Prozessormodul erfolgt über die Gestellrückebene.
Bei zahlreichen Anwendungen programmierbarer Steuerungen ist eine relativ hohe Verarbeitung der Eingabe- und Ausgabedaten erforderlich. Diese Verarbeitung umfaßt beispielsweise das Zählen von Eingaben, um die Fertigung von Gegenständen zu verfolgen, beispielsweise das Zählen von Behältern längs eines Förderbandes zum Herstellen von Nahrungsmittelkonserven in Dosen. Zum anderen kann beispielsweise die Notwendigkeit bestehen, unmittelbar oder direkt auf ein gegebenes Eingangssignal durch Vornehmen einer geeigneten Aktion anzusprechen, beispielsweise um sehr schnell an einem Werkstück einen Klemmvorgang vorzunehmen, sobald die Gegenwart des Werkstücks festgestellt wird. Diese Ereignisse können häufiger als einmal während jedes Ausführungszyklus durch das Kontaktplan-Steuerprogramm auftreten. Weiterhin können sie auftreten, während eine andere Aufgabe oder Task ausgeführt wird. Somit besteht ein Bedürfnis nach einem Prozessormodul, der die Fähigkeit hat, ausgewählte Eingaben oder Eingänge zu überwachen und einfache logische Operationen vorzunehmen, ohne daß dabei die Verarbeitungszeit eines Mikroprozessors im Prozessormodul in Anspruch genommen wird.
Kurze Darlegung der Erfindung
Die Erfindung geht aus von einer programmierbaren Steuerung, die ein Prozessormodul und mehrere Eingabe- und Ausgabemodule enthält, die alle in einem Einschubgestell untergebracht sind. Die Module sind über eine Rückebene des Gestells elektrisch miteinander verbunden.
die Eingabe- und Ausgabemodule sind an Sensoren oder Fühlvorrichtungen und Aktoren oder Betätigungsvorrichtungen angeschlossen, die bei einer maschinellen Einrichtung vorgesehen sind, welche von der programierbaren Steuerung betrieben werden soll. Das Prozessormodul führt ein anwenderdefiniertes Steuerprogramm aus, das den Status ausgewählter Fühlvorrichtungen überprüft und in Abhängigkeit von dem überprüften Status den Zustand spezifizierter Betätigungsvorrichtungen setzt oder einstellt.
Nach der Erfindung enthält das Prozessormodul neben einem Mikroprozessor und einem Speicher eine intelligente E/A-Schnittstellenschaltung. Der Mikroprozessor, der Speicher und die E/A-Schnittstellenschaltung sind über einen gemeinsamen Satz interner Signalbusse miteinander verbunden. Die E/A-Schnittstellenschaltung steuert den Austausch von Daten über die Gestellrückebene mit den E/A-Modulen der programmierbaren Steuerung. Diese Schnittstellenschaltung führt zum einen herkömmliche Transferfunktionen aus, gemäß denen sowohl einzelne Bytes als auch Mehrfachbyteblöcke von Daten mit den E/A-Modulen ausgetauscht werden. Zum anderen ist die E/A-Schnittstellenschaltung nach der Erfindung so programmierbar, daß sie Eingabedaten vorverarbeiten kann, bevor diese Eingabedaten den Mikroprozessor erreichen. So ist die E/A-Schnittstellenschaltung in der Lage, einen vordefinierten Eingabeübergang zu erfassen und als Antwort darauf entweder den Mikroprozessor zu unterbrechen oder die Übergänge zu zählen und den Mikroprozessor erst nach dem Auftreten einer gegebenen Anzahl von Übergängen zu unterbrechen. Aufgrund einer solchen Unterbrechung führt der Mikroprozessor eine entsprechende Unterbrechungsroutine aus, die auf den erfaßten Eingabezustand anspricht.
Aufgabe der Erfindung ist es somit, für eine programmierbare Steuerung ein Prozessormodul zu schaffen, das zum Austausch von Daten mit den E/A-Modulen eine intelligente Schnittstellenschaltung aufweist. Eine solche Schnittstellenschaltung befreit den Programmausführungsprozessor von der Handhabung des E/A-Moduldatentransfers.
Das geschaffene Prozessormodul ist in der Lage, ohne Eingriff des Mikroprozessors das Auftreten definierter Eingabeübergänge zu erfassen und auf diese Weise den Mikroprozessor zu entlasten.
Generell ist die E/A-Schnittstellenschaltung des Prozessormoduls mit der Fähigkeit ausgerüstet, ankommende oder eingegebene Daten gemäß Konfigurationsdaten vorzuverarbeiten, die vom Anwender spezifiziert werden.
Kurze Beschreibung der Zeichnungen
Ein bevorzugtes Ausführungsbeispiel der Erfindung wird nachstehend an Hand von Zeichnungen beschrieben. Es zeigt:
Fig. 1 eine perspektivische Ansicht eines programmierbaren Steuerungssystems, das von der Erfindung Gebrauch macht,
Fig. 2 ein Funktionsblockschaltbild eines Prozessormoduls, das einen Teil des Steuerungssystems nach Fig. 1 bildet,
Fig. 3 Datenstrukturen eines gemeinsamen Systemspeichers in dem Prozessormodul nach Fig. 2,
Fig. 4 ein Blockschaltbild einer intelligenten E/A-Schnittstellenschaltung in dem Prozessormodul nach Fig. 2,
Fig. 5 einen Block Speicherplätze in dem gemeinsamen Systemspeicher des Prozessormoduls zur Speicherung von Konfigurationsdaten für eine programmierbare Eingabeunterbrechungsfunktion,
Fig. 6 ein Flußdiagramm eines Teils der programmierbaren Eingabeunterbrechungsfunktion,
Fig. 7 eine schematische Darstellung einer äquivalenten Hardware zur Durchführung der im Flußdiagramm nach Fig. 6 dargestellten Funktion,
Fig. 8 ein Flußdiagramm eines anderen Teils der programmierbaren Eingabeunterbrechungsfunktion, und
Fig. 9 einen Datenblock mit den Ergebnissen der programmierbaren Eingabeunterbrechungsfunktion.
Detaillierte Beschreibung der Erfindung
In Fig. 1 ist ein programmierbares Steuerungssystem 10 dargestellt, das ein Hauptgestell 12 und eine Reihe entfernter Eingabe/Ausgabe- oder E/A-Gestelle enthält, beispielsweise das dargestellte E/A-Ferngestell 14, die über ein serielles E/A-Netzwerk 15 miteinander verbunden sind.
Das Hauptgestell 12 dient als Rahmen oder Gehäuse für ein Netzteil, einen Prozessormodul 20, der in einem ersten Steck- oder Einschubplatz des Hauptgestells angeordnet ist, und mehrere Eingabe/Ausgabe- oder E/A-Schnittstellenmodule 18, die in weiteren Steck- oder Einschubplätzen des Gestells angeordnet sind. Das Prozessormodul 20 führt ein benutzer- oder anwenderdefiniertes Steuerprogramm aus, das auf Meß- oder Fühlglieder, im folgenden Sensoren genannt, an der gesteuerten Einrichtung oder Anlage (nicht dargestellt) anspricht und daraufhin für Betätigungs- oder Stellglieder, im folgenden Aktoren genannt, an derselben Einrichtung oder Anlage Signale erstellt. Die Fühl- oder Betätigungssignale, im folgenden auch Sensor- und Aktorsignale genannt, werden bezüglich des Hauptgestells 12 über die Eingabe/Ausgabe-Schnittstellenmodule 18 übertragen. Die verschiedenen Module 18 und 20 im Hauptgestell 12 sind über Leiter auf einer Rückebene 16 des Hauptgestells 12 elektrisch miteinander verbunden. Die Leiter ermöglichen es, daß zwischen den Modulen Daten-, Adreß- und Steuersignale ausgetauscht werden können.
Das Prozessormodul 20 erhält Programmbefehle von einem Terminal oder Anschlußgerät 11, das über ein Kabel 13 mit einem seriellen Anschlußverbinder an der Frontplatte des Moduls verbunden ist. Das E/A-Netzwerk 15 ist mit einem anderen Verbinder an der Frontplatte des Prozessormoduls 20 verbunden und mit einem Adaptermodul 19 im E/A-Ferngestell 14, so daß die Möglichkeit besteht, daß das Prozessormodul 20 mit einer anderen Gruppe E/A-Module 18′ im E/A-Ferngestell 14 Daten austauschen kann. Ein lokales Netz 17, im folgenden LAN (Local Area Network) genannt, ist mit einem dritten Anschlußverbinder an der Frontplatte des Prozessormoduls 20 verbunden und ermöglicht es diesem Modul, mit einem Hilfs-, Gast- oder Host-Rechner sowie anderen programmierbaren Steuerungen, die mit dem LAN verbunden sind, zu kommunizieren. Die Kommunikation über das LAN 17 ermöglicht es beispielsweise einem Host-Rechner, den Betrieb einer Vielzahl programmierbarer Steuerungen, wie das Steuerungssystems 10, zu führen und zu lenken, um auf diese Weise komplexe Herstellungs- oder Fertigungssysteme zu überwachen und zu leiten.
Wohingegen herkömmliche programmierbaren Steuerungen im Hauptgestell 12 separate Module benutzten, um die Funktionen bezüglich der Programmausführung, Hostkommunikation und E/A-Ferngestellkommunikation vorzunehmen, sind bei dem hier beschriebenen System all diese Funktionen im Prozessormodul 20 vereinigt. Dadurch ist die Kommunikation zwischen den Modulen 18 im Hauptgestell 12 über die Gestellrückebene auf den Austausch von Daten reduziert, die den Zustand der Sensoren und Aktoren an der gesteuerten Einrichtung oder Anlage darstellen.
Wie es aus Fig. 2 hervorgeht, enthält das Prozessormodul 20 ein Allgemeinzweckprozessorteil 60 zur Ausführung des Anwendersteuerprogramms und zwei Kommunikationsprozessorteile 21 und 70 zur Handhabung des Austausches von Daten über das Kabel 13 und die Netzwerke 15 und 17. Jedes dieser Teile des Prozessormoduls hat seinen eigenen Mikroprozessor und lokalen Speicher, die über einen entkoppelbaren oder trennbaren Satz Adreß-, Daten- und Steuerbusse miteinander verbunden sind. Das Prozessormodul 20 enthält auch einen Satz gemeinsamer Busse 33 bis 35, die die Teile 21, 60 und 70 miteinander und mit anderen Datenverarbeitungs- und Speicherkomponenten verbinden.
Das erste Kommunikationsprozessorteil 21 ist rund um einen lokalen Adreßbus 23 und einen lokalen Datenbus 24 ausgebildet. Verbunden mit diesen Bussen ist ein erster Mikroprozessor 22, der zur Ausführung eines Programms dient, das in einem ersten Festwertspeicher (ROM) 26 gespeichert ist, und der einen ersten lokalen Schreib/Lese-Speicher oder Direktzugriffsspeicher (RAM) 27 als Notizblock zur zeitweiligen Datenspeicherung benutzt. Eine Haupttaktschaltung 30 liefert ein Systemtaktsignal für andere Komponenten in dem Prozessormodul 20 und liefert auch bestimmte Zeitsteuer- oder Zeitgabesignale über Steuerleitungen 25 an die Komponenten des ersten Kommunikationsprozessorteils 21.
Die Hauptfunktion, die dem ersten Mikroprozessor 22 in dem exemplarischen Prozessormodul zugeteilt ist, betrifft die Steuerung der Kommunikation mit dem Programmierterminal 11 und dem Lokalbereichsnetz LAN 17. Ein universeller asynchroner Empfängersender 28, im folgenden UART genannt, verbindet die lokalen Adreß- und Datenbusse 23 und 24 über das Kabel 13 mit dem Programmierterminal 11. Der UART 28 ist eines von einigen im Handel verfügbaren Geräten, die als Schnittstelle zwischen dem parallelen Datenformat im Prozessormodul 20 un dem seriellen Kommunikationsformat zur Kommunikation mit dem Programmierterminal 11 dienen können. Obgleich der Modulanschluß vom UART 28 als mit dem Programmierterminal 11 verbunden dargestellt ist, kann dieser Anschluß auch mit anderen Arten oder Typen serieller Geräte zum Zwecke des Austausches von Daten mit dem Prozessormodul 20 verbunden werden. Die lokalen Adreß- und Datenbusse 23 und 24 sind mit einer ersten Netzwerkschnittstelle 29 verbunden, so daß der erste Mikroprozessor 22 über das LAN 17 mit anderen Geräten Daten austauschen kann. Die erste Netzwerkschnittstelle 29 setzt die parallelen Daten des Prozessormoduls 20 in ein seriell formatiertes Nachrichtenpaket um, das kompatibel mit dem Protokoll ist, welches zum Kommunizieren mit den Geräten am LAN 17 verwendet wird.
Das erste Kommunikationsprozessorteil 21 ist mit den anderen Prozessormodulteilen über einen Satz Tristate- oder Drei-Zustands-Adreßtore 31 und einen Satz bidirektionaler Tristate- oder Drei-Zustands-Datentore 32 verbunden. Die Gruppe oder der Satz Tore 31 verbindet den lokalen Adreßbus 23 mit dem gemeinsamen Adreßbus 33 des Moduls, und die Gruppe oder der Satz Datentore 32 verbindet den lokalen Datenbus 24 mit dem gemeinsamen Datenbus 34 des Moduls. Eine Gruppe oder ein Satz Steuerleitungen 35 erstreckt sich zwischen den Modulkomponenten. Diese Steuerleitungen werden nachstehend auch Steuerbus genannt.
Der beschriebene Verbindungsaufbau der Busse gestattet es, daß der erste Mikroprozessor 22 Daten in einen gemeinsamen System-RAM 36 schreiben und daraus auslesen kann, der mit den gemeinsamen Adreß- und Datenbussen 33 und 34 verbunden ist. Die Datenorganisation innerhalb des gemeinsamen System-RAM 36 ist in Fig. 3 dargestellt. Ein Block-Speicherplätze des gemeinsamen System-RAM enthält herkömmliche Gruppen oder Sätze von Datentabellen 41 bis 43 für das Prozessormodul 20. Die erste Datentabelle 41 dieser Datentabellen speichert Eingabedaten, die den Zustand der Sensoren an der gesteuerten Einrichtung oder Anlage darstellen. In der Datentabelle 21 werden daher in einer organisierten Weise Daten gespeichert, die von E/A-Modulen 18 vom Eingabetyp in den Haupt- und Ferngestellen 12 und 14 stammen. Die zweite Datentabelle 42 dient zur Speicherung von Ausgabedaten, die den Zustand der Aktoren an der gesteuerten Einrichtung oder Anlage darstellen, die von dem programmierbaren Steuerungssystem 10 betrieben wird. Unter Anwendung einer ähnlichen Organisation speichert die Ausgabetabelle 42 die zur Steuerung der Aktoren verwendeten Daten, die mit E/A-Modulen 18 vom Ausgabetyp in den Gestellen 12 und 14 verbunden sind. Die weitere oder dritte Datentabelle 43 speichert Information, die den Status der programmierbaren Steuerung 20 und ihrer Komponenten betrifft. Sofern es erforderlich ist, können weitere oder zusätzliche Datentabellen in dem gemeinsamen System-RAM 36 gespeichert werden.
Ein Block Speicherplätze 44 im gemeinsamen System-RAM 36 speichert das vom Anwender geschriebene oder anwenderdefinierte Steuerprogramm. In Abhängigkeit von der spezifischen Definition dieses vom Anwender erstellten Programms kann dieser Speicherplatzblock 44 ein einziges Leiternetzverknüpfungs- oder Kontaktplan-Steuerprogramm oder eine Reihe solcher Programme speichern, die in einer durch ein herkömmliches Funktionsdiagramm definierten Sequenz auszuführen sind. Im zuletzt genannten Fall sind auch die Funktionsdiagrammdatendateien im Block 44 zusammen mit den Kontaktplan-Steuerprogrammen gespeichert. Im Anschluß an die Speicherplätze, die von dem oder den Steuerprogrammen eingenommen werden, folgt ein Abschnitt freier Speicherplätze 45. In einem weiteren Speicherplatzabschnitt 46 des gemeinsamen System-RAM wird eine E/A-Zwangsdatentabelle gespeichert, die ähnlich derjenigen ist, wie sie in herkömmlichen programmierbaren Steuerungen mit dem Ziel verwendet wird, die Steuerdaten von bestimmten Sensoren oder Aktoren auf einen vorgegebenen Logikzustand zu setzen oder zu zwingen. Ein Speicherplatzabschnitt 47 bei hohen Adressen des gemeinsamen System-RAM 36 wird benutzt zum Speichern von Konfigurationsdaten für die System-, Prozessormodul- und Mikroprozessorebene. Die Konfigurationsdaten definieren beispielsweise Paßwort- und Privilegieninformation, Anschlußkommunikationsparameter und Ereigniszeitauslöseintervalle.
Wie es aus Fig. 2 hervorgeht, ist ein Kontaktplanlogikprozessor 50 mit den gemeinsamen Adreß- und Datenbussen 33 und 34 verbunden. Die weitaus größte Majorität der Kontaktplansteuerprogrammbefehle arbeitet auf ein einziges Bit oder Datenwort. Der Kontaktplanlogikprozessor 50 ist so ausgelegt und konstruiert, daß er den Teilsatz der Kontaktplanbefehle, die diese grundsätzlichen Steueroperationen vornehmen, ausführt. Damit ist nicht nur für eine effiziente Ausführung der am häufigsten auftretenden Befehle gesorgt, sondern es sind auch die Mikroprozessoren im Modul 20 frei, andere Funktionen gleichzeitig mit der Steuerprogrammausführung durchzuführen. Der Kontaktplanlogikprozessor 50 schlichtet auch miteinander konkurrierende Zugriffsanforderungen der Prozessormodulkomponenten zu den gemeinsamen Bussen 33 bis 35 und erteilt diese Zugriffe auf der Grundlage einer vordefinierten Priorität.
Bestimmte Funktionen, wie Datenblocktransfers zu den E/A-Modulen 18 und komplexe mathematische und logische Operationen können von dem Kontaktplanlogikprozessor 50 nicht vorgenommen werden. Diese komplexen Steuerprogrammfunktionen werden von dem Allgemeinzweckrechnerteil 60 ausgeführt. Dieses Teil des Prozessormoduls 20 enthält einen zweiten Mikroprozessor 61, der mit seinem eigenen trennbaren Satz Adreß- und Datenbusse 62 und 63 verbunden ist. Dieses Paar Busse 62 und 63 verbindet den zweiten Mikroprozessor 61 mit einem zweiten ROM 64 und einem zweiten lokalen Direktzugriffsspeicher RAM 65. Der zweite ROM 64 speichert die Firmware oder das Festprogramm, das von dem zweiten Mikroprozessor 61 ausgeführt wird, um die komplizierten Kontaktplanlogikoperationen vorzunehmen. Die Firmware im ROM 64 interpretiert auch das Funktionsdiagramm, wenn ein solches vom Anwender definiert ist.
Viele der Anwendersteuerprogrammbefehle, die der Kontaktplanlogikprozessor 50 nicht durchführen kann, sind komplexe arithmetische Operationen. Ein herkömmlicher mathematischer Koprozessor 66 ist daher vorgesehen, der dazu dient, die entspehenden Befehle effizienter auszuführen, als dies durch die Verwendung des zweiten Mikroprozessors 61 möglich wäre. Eine Zeitsteuer- oder Zeitgabeschaltung 67 empfängt das Systemtaktsignal und leitet daraus die notwendigen Zeitgabe- und Steuersignale für den zweiten Mikroprozessor 61, die Speicher 64 und 65 sowie den mathematischen Koprozessor 66 ab. Ein Paar Tristate- oder Drei-Zustands-Übertragungstore 68 und 69 isolieren oder trennen die Adreß- und Datenbusse 62 und 63 des Allgemeinzweckprozessorteils 60 von den gemeinsamen Adreß- und Datenbussen 33 und 34. Wenn diese Tore 68 und 69 aufgrund eines Steuerungsbefehls vom zweiten Mikroprozessor 61 freigegeben oder durchgeschaltet sind, ist der interne Satz Busse 62 und 63 mit den gemeinsamen Bussen 33 und 34 elektrisch verbunden. Diese Durchschaltung tritt nur auf, wenn der zweite Mikroprozessor 61 einen Zugriff zu dem gemeinsamen Systemspeicher anfordert und den Zugriff zu den Bussen 33 und 34 durch eine Schlichtungsschaltung im Kontaktplanlogikprozessor 50 gewährt bekommen hat.
Wie bereits bemerkt, ist das Prozessormodul 20 über ein E/A-Netzwerk 15 mit einem oder mehreren E/A-Ferngestellen 14 verbunden. Das Prozessormodul verwendet das zweite Kommunikationsprozessorteil 70 mit einem dritten Mikroprozessor 71 zur Steuerung der Sammlung von Sensordaten und der Übertragung von Aktorzustandssteuerbefehlen zu diesen Ferngestellen. Der dritte Mikroprozessor 71 ist mit einem weiteren Satz trennbarer Adreß- und Datenbusse 72 und 73 sowie einem Satz Steuerleitungen 78 verbunden. Ein dritter ROM 74 ist mit diesen Bussen verbunden und dient zur Speicherung der Firmware oder des Festprogramms, das von dem dritten Mikroprozessor 71 ausgeführt wird, um seine Kommunikationsfunktion vorzunehmen. Ein dritter RAM 75 sieht einen Notizblockspeicher vor sowie vorübergehende Speicherplätze für Daten, die über das Kabel 15 übermittelt werden.
Eine zweite Netzwerkschnittstelle 76 übersetzt das parallele Datenformat des Prozessormoduls in das serielle Format und das spezielle Protokoll, die verwendet werden, um Daten über das E/A-Netzwerk 15 zu übertragen. Eine Zeitsteuer- oder Zeitgeberschaltung 77 empfängt das Systemtaktsignal der Haupttaktschaltung 30 zur Bereitstellung der notwendigen Zeitgabe- oder Zeitsteuersignale für die Komponenten, die dem dritten Mikroprozessor 71 zugeordnet sind. Diese Zeitgabesignale werden über einige der Steuerleitungen im Steuerleitungssatz 78 übermittelt.
Der Adreßbus 72, der mit dem dritten Mikroprozessor 71 verbunden ist, ist über einen Satz Tristate- oder Drei-Zustands-Tore 78 mit dem gemeinsamen Adreßbus 33 verbunden. In ähnlicher Weise ist der Datenbus 73, der dem dritten Mikroprozessor 71 zugeorndet ist, über einen Satz bidirektionaler Tristate- oder Drei-Zustands-Tore 80 mit dem gemeinsamen Datenbus 34 verbunden. Beide Sätze der Tore 71 und 80 werden freigegeben oder durchgeschaltet von Signalen, die vom dritten Mikroprozessor 71 stammen und über die Steuerleitungen 78 übertragen werden. Die Tore werden durchgeschaltet, wenn der dritte Mikroprozessor 71 von der Schlichtungsschaltung im Kontaktplanlogikprozessor 50 den Zugriff zu den gemeinsamen Bussen 33 und 34 erteilt bekommen hat.
Wie es ferner aus Fig. 2 hervorgeht, ist eine E/A-Gestellschnittstellenschaltung 38 mit den gemeinsamen Adreß- und Datenbussen 33 und 34 sowie der Rückebene 16 des Hauptgestells 12 verbunden. Diese Schnittstellenschaltung tastet periodisch die E/A-Module 18 im Hauptgestell ab, um Eingabedaten von den Sensoren an einer gesteuerten Maschine zu sammeln und Ausgabedaten an die Aktoren bei der gesteuerten Maschine auszugeben. Diese herkömmliche Abtastung wird in einer Weise ausgeführt, die ähnlich mit derjenigen ist, die herkömmliche Prozessormodule unter sequentieller Aussendung von Steuersignalen an jeden E/A-Modul angewendet haben. Diese Steuersignale veranlassen Module vom Eingabetyp Sensordaten über die Rückebene 16 zu senden, und veranlassen Module vom Ausgabetyp vom Prozessormodul gesendete Daten zu speichern. Die mit den E/A-Modulen 18 im Hauptgestell 12 ausgetauschten Daten können in den E/A-Datentabellen 41 und 42 des gemeinsamen System-RAM 36 gesteuert werden.
Einzelheiten der E/A-Gestellschnittstellenschaltung 38 sind in Fig. 4 dargestellt. Die E/A-Gestellschnittstellenschaltung 38 enthält eine Schaltungssteuerung 100, eine Rückebenensteuerung 102, einen Schlichter/Sequenzer 104 und Zeitgeberschaltungen 106. Die Schaltungssteuerung 100 dient als Schnittstelle zwischen der E/A-Gestellschnittstellenschaltung 38 und den gemeinsamen Bussen 33 bis 35 des Prozessormoduls 20 und sieht eine generelle Überwachungssteuerung der Schnittstellenschaltungsoperation vor. Zu diesem Zweck ist der gemeinsame Adreßbus 33 mit einem ersten Satz bidirektionaler Datentore 108 mit einem Überwachungsprozessor 110 verbunden. Gleichermaßen ist der gemeinsame Datenbus 34 über einen zweiten Satz bidirektionaler Datentore 109 mit dem Überwachungsprozessor 110 verbunden. Die Steuerleitungen des Prozessormoduls 20 sind direkt mit dem Überwachungs- oder Supervisor-Prozessor verbunden.
Der Überwachungsprozessor 110 führt ein Mikrocodeprogramm aus, das in einem ersten Mikrocode-ROM 112 gespeichert ist, und speichert die Ergebnisse der Verarbeitung und mit der Rückebene 16 ausgetauschte Daten in einem ersten Schnittstelle-RAM 114. Die Arbeitsweise oder Operation des Überwachungsprozessors 110 wird nachfolgend im Verlaufe der Beschreibung der Betriebsweise der gesamten E/A-Gestellschnittstellenschaltung 38 erläutert.
Die Schaltungssteuerung 100 enthält auch einen Interrupt- oder Unterbrechungscodierer 116, der Signale von dem Schlichter/Sequenzer 104 und von den Zeitgeberschaltungen 106 erhält, die das Auftreten verschiedenartiger Verarbeitungsereignisse anzeigen, wie es noch beschrieben wird. Als Antwort auf diese Eingangssignale erzeugt der Unterbrechungscodierer 116 Interrupt- oder Unterbrechungssignale an Leitungen 117 und 118, die den Überwachungsprozessor 110 oder andere Komponenten des Prozessormoduls 20 über den Satz Steuerleitungen 35 unterbrechen.
Der Überwachungsprozessor hat auch einen Satz Steuerleitungen 119 und einen E/A-Anforderungsbus 120, die mit dem Schlichter/Sequenzer 104 verbunden sind, um den Betrieb dieser Komponente zu steuern. Ein Satz Datenbusleitungen 121 erstreckt sich zwischen dem Überwachungsprozessor 110 und einem Rückebenenprozessor 122 in dem Rückebenensteuerungsteil 102. Der Arbiter/Sequenzer oder Schlichter/Sequenzer 104 ist auch über Adreßleitungen 124 und einen Satz Steuerleitungen 125 mit dem Rückebenenprozessor 122 verbunden.
Die Zeitgeberschaltung 106 ist über einige Leitungen mit dem Schlichter/Sequenzer 104, dem Überwachungsprozessor 110 und dem Unterbrechungscodierer 116 verbunden. Der Rückebenenprozessor 122 erzeugt Steuersignale, die zu der Zeitgeberschaltung 106 übermittelt werden.
Das Rückebenensteuerungsteil 102 besteht nicht nur aus dem Rückebenenprozessor 122, sondern enthält auch einen zweiten Mikrocode-ROM 126, der ein Mikrocodeprogramm zur Ausführung durch den Rückebenenprozessor speichert. Ferner ist ein zweiter Schnittstelle-RAM 128 in der Rückebenensteuerung zur Speicherung von Verarbeitungsergebnissen und Daten für den Rückebenenprozessor 122 in der Rückebenensteuerung enthalten. Zusätzliche Anschlüsse des Rückebenenprozessors 122 sind mit einem Satz Steuerleitungen 130 und einem Datenbus 131 der Rückebene 26 im Gestell 12 verbunden. Das Rückebenensteuerungsteil 102 erzeugt Steuersignale, die den Transfer von Daten zwischen dem Prozessormodul 20 und der Rückebene 16 regeln, und es kann eine rudimentäre Verarbeitung der von den funktionellen Modulen 18 empfangenen Eingabedaten vornehmen.
Die E/A-Gestellschnittstellenschaltung 38 überwacht den Austausch von Daten über die Rückebene des Gestells 12. Dies umfaßt standardisierte Einzel- und Datenblocktransfers (Einwort- und Mehrworttransfers) und einige Prioritäts- oder Vorrangebenen jedes Typs von Transfer. Die Technik, mit der Datenblöcke transferiert werden, ist in der US-Patentschrift 42 93 924 beschrieben. Die E/A-Gestellschnittstellenschaltung handhabt die folgenden Typen von E/A-Anforderungen von anderen Prozessormodulkomponenten in der nachstehenden absteigenden Prioritätsreihenfolge:
Blocktransferzeitauslösung
Programmierbare Eingabeunterbrechung (PII)
Unmittelbare Prioritäts- E/A
Prioritätsblocktransfer
Diskrete E/A-Abtastung
Normale unmittelbare E/A
Normaler Blocktransfer
Der erste Typ E/A-Anforderung tritt mit dem Ablauf interner Zeitgeber in der Schaltung 106 auf, die vom Anwendersteuerprogramm gesetzt worden waren. Die programmierbare Eingabeunterbrechung PII wird später noch im einzelnen beschrieben. Die diskrete E/A-Abtastung stellt einen herkömmlichen Austausch von Daten zwischen all den Modulen im Hauptgestell 12 und den E/A-Bildtabellen in den Blöcken 41 und 42 des gemeinsamen System-RAM 36 dar. Dieser Austausch tritt typischerweise unmittelbar vor jedem Ausführungslauf durch das anwenderdefinierte Steuerprogramm auf. Die prioritätsmäßigen und normalen unmittelbaren E/A-Anforderungen sind ähnlich mit bekannten Prozessen, bei denen ein einziges Datenwort in Abhängigkeit von einem Befehl oder einer Anweisung in dem anwenderdefinierten Steuerprogramm über die Rückebene transferiert wird.
In Abhängigkeit von der Anzahl der Eingaben oder Ausgaben in dem Modul, zu oder von dem Daten transferiert werden sollen, kann es jeder Typ von E/A-Anforderung erforderlich machen, daß die Gestellschnittstellenschaltung 38 einige Rückebenensignalzyklen vornimmt. Jeder Schlitz oder Einschubplatz des Gestells 12 kann beispielsweise einen Einfachdichtemodul mit nur acht E/A-Punkten oder einen Doppeldichtemodul mit sechzehn E/A-Punkten enthalten. Man kann auch Quad- und Octaldichtemodule verwenden, die dann 32 bzw. 64 E/A-Punkte vorsehen. Da Daten über die Gestellrückebene in Byte-Einheiten transferiert werden, sind bei Modulen höherer Dichte mehrfache Transfers erforderlich. Transferverfahren für Module höherer Dichte sind in der US-Patentschrift 46 91 296 beschrieben. Aus Datenaustauschgründen sind die Gestellschlitze oder Gestelleinschubplätze in Paaren gruppiert, wobei ein Schlitz des Paares als hoher Schlitz und der andere als niedriger Schlitz bezeichnet wird und beide Schlitze zusammen als Gruppe bezeichnet werden.
Die oben aufgelisteten sieben E/A-Anforderungen werden somit von der Gestellschnittstellenschaltung 38 durch Zyklen ausgeführt, die aus achtzehn verschiedenen Rückebenensignalzyklen ausgewählt sind. Diese Zyklen sind:
Null
E/A - Lesen - Niedriger Schlitz
E/A - Lesen - Hoher Schlitz
E/A - Schreiben - Niedriger Schlitz
E/A - Schreiben - Hoher Schlitz
Blocktransfer - Schreiben - Modulsteuerbyte
Blocktransfer - Lesen - Modulstatusbyte
Blocktransfer - Lesen - Niedriger Schlitz
Blocktransfer - Lesen - Hoher Schlitz
Blocktransfer - Schreiben - Niedriger Schlitz
Blocktransfer - Schreiben - Hoher Schlitz
Blocktransfer - Lesen - Prüfsumme
Blocktransfer - Schreiben - Prüfsumme
PII - Lesen - Niedriger Schlitz
PII - Lesen -Hoher Schlitz
Warten
Laden - Diagnostik
Lesen - Diagnostik
Ein Null-Zyklus wird ausgeführt, wenn ein Rückebenensignalzyklus nicht angefordert ist, und ein Warte-Zyklus wird ausgeführt, wenn der vorangegangene Zyklus nicht beendet ist. Steuerdaten werden über den Blocktransfer-Schreiben-Modulsteuerbyte-Zyklus zu einem Modul gesandt, und sein Status wird gewonnen mit einem Blocktransfer-Lesen-Modulstatusbyte-Zyklus. Die beiden Diagnostik-Zyklen werden beim Einschalten verwendet, um die Rückebenensteuerung 38 zu testen. Die PII-Zyklen werden nachstehend beschrieben, und die Funktionen der übrigen Zyklen sind von ihren Namen her augenscheinlich.
Die Operation oder Arbeitsweise der E/A-Gestellschnittstellenschaltung 38 wird besser verstanden durch eine Beschreibung der Umstände, wie ein einzelner oder diskreter Datentransfer beim Einschalten auftritt, nachdem Diagnostik-Routinen gelaufen sind. Während der Systeminitialisierung lädt der Allgemeinzweckprozessor 60 Konfigurationsdaten in den Abschnitt des Datenblocks 47 des gemeinsamen RAM 36, der der E/A-Gestellschnittstellenschaltung zugeordnet ist. Eine Gruppe dieser Daten identifiziert den Typ und die Größe des Hauptgestells 12 und die Dichte des Moduls in jedem Gestellschlitz oder Gestelleinschubplatz. Diese Konfigurationsdaten werden von der Schaltung 38 verwendet, um festzulegen, wie über die Rückebene 16 Daten zu senden und zu empfangen sind.
Falls der Allgemeinzweckprozessor 60 Daten zu einem Modul im Hauptgestell 12 zu senden oder von einem Modul zu empfangen wünscht, sendet dieser Prozessor die geeignete Anforderung an die E/A-Gestellschnittstellenschaltung 38. Diese E/A-Anforderung spezifiziert den Typ des Modulzugriffs (diskret oder einzeln, Blocktransfer, Prioritätsebene oder Prioritätsstufe, usw.) und den Schlitz oder Einschubplatz, in welchem der Modul angeordnet ist. Die E/A-Anforderung wird ausgesendet über die gemeinsamen Busse 33 bis 35 im Prozessormodul 20. Die E/A-Gestellschnittstellenschaltung 38 erkennt, daß Steuersignale am Bus 35 anzeigen, daß eine Hauptgestell-E/A-Anforderung ausgesendet ist, und die Schaltungsanordnung 100 empfängt und speichert den Steuerungsbefehl.
Nach Empfang der E/A-Anforderung beginnt der Überwachungsprozessor 110 in der Schaltungssteuerung 100 der Fig. 4 mit der Ausführung einer Firmware-Routine, die aus dem ersten Mikrocode-ROM 112 ausgelesen wird, um den Steuerungsbefehl zu verarbeiten. Die Funktion der Schaltungssteuerung besteht jetzt darin, die E/A-Anforderung in ein Format zu übersetzen, das der Schlichter/Sequenzer 104 manipulieren kann. Die formatierte E/A-Anforderung wird vom Überwachungsprozessor 110 zum Schlichter/Sequenzer 104 gesendet, und zwar über den E/A-Anforderungsbus 120 zusammen mit Steuersignalen an der Leitung 119. Beim Empfang wird die E/A-Anforderung in einem Anforderungsregister im Schlichter/Sequenzer zusammen mit anderen E/A-Anforderungen gespeichert, die auf eine Handhabung warten.
Wenn die Rückebenensteuerung 102 verfügbar ist, tastet der Schlichter/Sequenzer 104 das Anforderungsregister nach der E/A-Anforderung mit der höchsten Priorität ab. Wenn einige E/A-Anforderungen mit derselben Priorität existieren, werden sie in einer vom Prozessormodul 20 weggehenden Gestellschlitzreihenfolge behandelt, und zwar nach einem sogenannten "Rotating round robin arbitration"-Schema. Der Schlichter/Sequenzer 104 ist im wesentlichen eine Zustandsmaschine, die die E/A-Anforderung der höchsten Priorität nimmt und die geeigneten Steuersignale zu der Rückebenensteuerung 102 sendet. Falls beispielsweise nach der E/A-Anforderung eine unmittelbare Eingabe oder Direkteingabe von einem gegebenen Modul in den niederen Schlitz einer Gruppe vorzunehmen ist, fordert der Schlichter/Sequenzer 104 die Rückebenensteuerung auf, in Abhängigkeit von der Dichte des Moduls, d. h. wieviele Bytes an Eingabedaten vorgesehen sind, eine Reihe von E/A-Lesen - Niedriger Schlitz - Zyklen auszuführen. Die Dichte des Moduls ist angegeben durch die Konfigurationsdaten, die im Abschnitt 47 des gemeinsamen System-RAM 36 gespeichert sind.
Wenn die Rückebenesteuerung 102 eine Rückebenesignalzyklusausführungsanordnung von dem Schlichter/ Sequenzer 104 erhält, decodiert der Rückebeneprozessor 122 die Zyklusbezeichnung, um im zweiten Mikrocode- ROM 126 die Routine zu adressieren, die diesen Rückebenezyklus durchführt. Im Laufe der Ausführung dieser Mikrocode-Routine spricht der Rückebeneprozessor 122 auf die Befehle oder Anweisungen dadurch an, daß er die in geeigneter Weise zeitgesteuerte Sequenz von Steuersignalen an die Rückebene 16 des Hauptgestells 12 legt. Falls die angeforderte E/A-Funktion vom Blocktransfertyp ist, werden das Datenwort, das ausgetauscht wird, eine Prüfsumme und ein Modulsteuerbyte vorübergehend im RAM 128 der Rückebenesteuerung 102 gespeichert. Sonst werden die Datenbytes, die ausgetauscht werden, direkt zwischen dem funktionalen Modul und einem Register in der Schaltungssteuerung 100 über den Datenbus 121 transferiert. Falls die E/A-Anforderung vom Eingabetyp ist, fordert der Überwachungsprozessor 110, sobald die Daten in der Schnittstellenschaltung 38 gespeichert worden sind, den Zugriff zu den gemeinsamen Bussen 33 bis 35 des Prozessormoduls 20 an. Sobald dieser Buszugriff gewährt worden ist, transferiert der Überwachungsprozessor 110 die Daten entweder zu dem gemeinsamen System-RAM 36 oder zu dem anfordernden Prozessorabschnitt 21, 60 oder 70, in Abhängigkeit vom Typ der Anforderung.
Ein einzigartiges Merkmal der E/A-Gestellschnittstellenschaltung 38 ist die Fähigkeit, eine rudimentäre Vorverarbeitung an definierten Eingabesignalen von den Gestellmodulen ohne Intervention oder Eingriff durch ein Prozessorteil vorzunehmen. Diese Funktion wird hier programmierbare Eingabeunterbrechung PII (=programmable input interrupt) genannt. Die PII-Maßnahme ermöglicht es dem Anwender, ein Muster aus einem oder mehreren Eingabebitniveauübergängen zum Erfassen durch die Schnittstellen­ schaltung 38 zu definieren. Weiterhin kann die Schaltung programmiert werden, daß sie den zweiten Mikroprozessor 61 entweder nach jedem Auftreten des bezeichneten Übergangsmusters unterbricht oder nur dann unterbricht, nachdem eine vorgegebene Anzahl solcher Übergänge aufgetreten ist.
Die PII-Funktion wird ermöglicht und konfiguriert durch Daten, die im Abschnitt 47 des gemeinsamen System- RAM 36 gespeichert sind. Ein Merker- oder Kennbit in den allgemeinen Konfigurationsdaten für die E/A-Gestellschnittstellenschaltung 38 wird gesetzt, um die PII- Funktion zu ermöglichen oder freizugeben. Wenn diese Funktion ermöglicht oder freigegeben ist, enthalten die allgemeinen Konfigurationsdaten auch einen Pointer oder Zeiger zu einem Konfigurationsdatenblock 140 für die PII-Funktion. Dieser Datenblock 140 ist in Fig. 5 dargestellt und er besteht aus fünf Datenwörtern. Das erste Datenwort 141 ist eine Maske, die mit dem Eingabedatenwort einer UND-Verknüpfung unterzogen wird, um die für einen Übergang zu überprüfenden Bits auszuwählen. Jedes Bit dieser Maske wird auf ein hohes logisches Niveau gesetzt, wenn das entsprechende Bit des Eingabedatenworts bezüglich eines Übergangs zu überprüfen ist. Das zweite PII-Konfigurationswort 142 ist eine Polaritätsmaske, die die Richtung des zu erfassenden Übergangs spezifiziert. In dieser Polaritätsmaske bezeichnet oder kennzeichnet ein hohes Bit, daß ein Übergang von niedrig nach hoch in dem entsprechenden Eingabebit zu erfassen ist, wohingegen ein niedriges Bit den Wunsch der Erfassung eines Hoch-nach-Niedrig-Übergangs kennzeichnet. Das dritte Wort 143 des PII-Konfigurationsdatenblocks definiert das Intervall, und zwar in Einheiten von Rückebenetaktzyklen, das bzw. die zwischen dem Lesen der Eingabedaten vom Hauptgestell 12 abzulaufen hat bzw. haben. Die Anzahl der bezeichneten Übergänge, die auftreten muß, bevor die PII-Funktion eine Ausgabe erzeugt, ist definiert durch das vierte Konfigurationsdatenwort 144. Das Setzen dieses Wortes auf Eins erzeugt eine Ausgabe, beispielsweise eine Unterbrechung des Allgemeinzweckprozessors 60, bei jedem Auftreten des definierten Übergangs. Das fünfte Wort 145 spezifiziert, von welchem Modul im Hauptgestell 12 das zu überprüfende Eingabedatenwort zu erhalten ist. Falls sich quaddichte Module im Hauptgestell befinden, werden zwei Wörter von Eingabedaten durch jede Gruppe von Modulen erzeugt. Welches dieser Wörter benutzt werden soll, wird ebenfalls durch den letzten Eintrag 145 im PII-Konfigurationsdatenblock 140 gekennzeichnet.
Der Zweck und Gebrauch der Konfigurationsdaten ist leicht zu verstehen, wenn man die Verarbeitung eines beispielhaften Worts von Eingabedaten erläutert. Anfangs, wenn die PII-Funktion ermöglicht oder freigegeben wird, wird der Freigabemerker von der in Fig. 4 dargestellten Schaltungssteuerung 100 erfaßt. Als Antwort darauf transferiert die Schaltungssteuerung die PII-Konfigurationsdaten vom Datenblock im gemeinsamen System-RAM 36 in Register des Rückebeneprozessors 122. Eine der Zeitgeberschaltungen 106 wird initiiert mit dem Leseintervall vom Konfigurationsblock 143. Wenn das Leseintervall abläuft, signalisiert der Zeitgeber den Schlichter/Sequenzer 104, der wiederum die Rückebenesteuerung 102 signalisiert, um mit der Ausführung der Routine in dem zweiten Mikrocode- ROM 126 zu beginnen, die die PII-Funktion vornimmt.
Die im ROM 126 gespeicherte PII-Routine ist unter Bezugnahme auf ein Flußdiagramm nach Fig. 6 dargestellt. Obgleich die PII-Funktion von Firmware ausgeführt wird, sind die Logikoperationen in Fig. 7 durch Hardware dargestellt, wobei jedes Register, jeder Leiter und jedes Verknüpfungsglied eine Breite von sechzehn Bits hat, um ein vollständiges Datenwort verarbeiten zu können. Obgleich die PII-Funktion eine Arbeitsoperation an einem Datenwort vornimmt, wird die Beschreibung dadurch vereinfacht, daß lediglich auf ein Datenbyte Bezug genommen wird.
Die PII-Routine beginnt bei einem Schritt 162, bei dem der Zeitgeber auf das Leseintervall zurückgesetzt wird, bevor zu einem Schritt 164 vorangeschritten wird. Der Rückebeneprozessor 122 läuft dann sequentiell durch einen Rückebenesignalzyklus, um beim Schritt 164 das Wort mit den zu überprüfenden Eingabedaten zu erfassen. Dabei liest der Rückebeneprozessor die Eingabedaten von den Einschubplätzen oder Schlitzen des Hauptgestells 12, die von den im gemeinsamen System-RAM 36 gespeicherten Wortkonfigurationsdaten 145 bezeichnet werden. Es sei beispielsweise unterstellt, daß die Eingabedaten wie folgt lauten: 10101010. Nach der Erfassung werden die Eingabedaten mit der UND-Maske, die als Konfigurationswort 141 in dem gemeinsamen System- RAM 36 gespeichert ist, gefiltert. Falls nur die letzten vier Bits von Interesse sind, sieht die UND-Maske im ersten Konfigurationsdatenblockwort wie folgt aus: 00001111. Bei einem Schritt 166 wird dann die UND- Maske mit den Eingabedaten einer logischen UND-Verknüpfung unterzogen, um einen Wert für eine Variable zu erzeugen, deren Bezeichnung NEUE DATEN lautet, welche im Fall des betrachteten Beispiels 00001010 sind. Die vier höchstwertigen Bits wurden daher bei dem Maskierverfahren in Nullen überführt.
Der Wert der NEUEN DATEN wird dann verwendet, um zwei andere Zwischenvariable abzuleiten, die in der PII-Funktion verwendet werden. Die erste von diesen ist NEU GEÄNDERT und ist das Ergebnis einer exklusiven NOR-Verknüpfung der Variablen NEUE DATEN mit der Polaritätsmaske, die im Konfigurationswort 142 gespeichert ist. Die Polaritätsmaske kann beispielsweise 00000111 lauten, wodurch angezeigt wird, daß ein Übergang von Niedrig nach Hoch in den drei niedrigstwertigen Bits und ein Übergang von Hoch nach Niedrig in den restlichen Bits erwartet wird. Bei dem betrachteten Beispiel liefert diese logische Operation oder Verknüpfung für die Variable NEU GEÄNDERT einen Wert von 11110010, und zwar bei einem Schritt 168. Die zweite Zwischenvariable, die mit ZULETZT GEÄNDERT bezeichnet wird, wird bei einem Schritt 170 erzeugt, und zwar durch eine exklusive NOR-Verknüpfung des Wertes NEUE DATEN mit dem Wert der Variablen NEUE DATEN von dem vorangegangenen Eingabezyklus, um festzustellen, welche Bits sich geändert haben. Dieser vorangegangene Wert ist gespeichert als Variable, die LETZTE NEUE DATEN genannt wird. Falls die Variable LETZTE NEUE DATEN beispielsweise gleich 00000011 ist, hat ZULETZT GEÄNDERT einen Wert von 11110110, wobei die Nullen Bits anzeigen, die einen Übergang vollzogen haben.
Die letzte logische Operation oder Verknüpfung der PII-Funktion umfaßt eine NOR-Verknüpfung zwischen der Variablen ZULETZT GEÄNDERT und NEU GEÄNDERT, um bei einem Schritt 172 ein Ergebnis zu liefern, das PII Wert genannt wird. Bei dem betrachteten Beispiel ist PII Wert gleich 00001001, wobei die Einsen Bits anzeigen, die einen durch die Konfigurationsdaten spezifizierten Übergang vorgenommen haben. Bei dem betrachteten Beispiel ist dies das niedrigstwertige Bit, das den gewünschten Übergang von Niedrig nach Hoch vollzogen hat, und das viertniedrigstwertige Bit, das den gewünschten Übergang von Hoch nach Niedrig vollzogen hat. Diese Bit-Positionen im PII Wert enthalten daher Einsen. Obgleich auch das zweite und dritte niedrigstwertige Bit in den Eingabedaten Übergänge durchgemacht haben, waren diese Übergänge entgegengesetzt zu der gewünschten Richtung, so daß diese Bit-Positionen im PII Wert durch Nullen dargestellt sind.
Wenn somit wenigstens eines der definierten Bits den spezifizierten Übergang vollzieht, ist der PII Wert nicht Null. Wenn dies der Fall ist, wie es bei einem Schritt 174 überprüft wird, signalisiert der Rückebeneprozessor 122 den Schlichter/Sequenzer 104, der dann als Antwort darauf veranlaßt, daß der Unterbrechungscodierer 116 den Überwachungsprozessor 110 bei einem Schritt 176 unterbricht. Ist ein spezifizierter Bitübergang nicht aufgetreten, ist die Programmausführung beendet, bis der PII-Leseintervall-Zeitgeber erneut abgelaufen ist.
Der in der obigen Weise unterbrochene Überwachungsprozessor 110 führt eine Interrupt- oder Unterbrechungsroutine aus, die flußbildmäßig in Fig. 8 dargestellt ist. Am Anbeginn erhält der Überwachungsprozessor den PII Wert und speichert ihn im RAM 114 der Schaltungssteuerung 100 bei einem Schritt 180. Der Überwachungsprozessor 110 inkrementiert auch einen internen Zähler bei einem Schritt 182 und vergleicht den Zählerwert mit einem Zählervoreinstellwort oder -wert im Eintrag 144 des PII-Konfigurationsdatenblocks 140 bei einem Schritt 184. Sind bei diesem Vergleich die beiden Werte gleich, ist es an der Zeit, den zweiten Mikroprozessor 61 nach Fig. 2 zu unterbrechen, was bei einem Schritt 186 geschieht.
Gleichzeitig plaziert der Überwachungsprozessor 110 einen Kommandoblock von Daten 150, wie es in Fig. 9 dargestellt ist, in eine Interrupt- oder Unterbrechungswarteschlange des Allgemeinzweckprozessors 60. Dieser Kommandoblock enthält die Daten, die für den zweiten Mikroprozessor 61 erforderlich sind, um die PII-Unterbrechung oder den PII-Interrupt zu handhaben. Der erste Eintrag 151 im Kommandoblock 150 ist ein Pointer oder Zeiger zum nächsten Kommandoblock in der Schlange und hat einen Wert von Null, wenn es der letzte Kommandoblock in der Warteschlange ist. Wenn ein neuer Kommandoblock der Warteschlange hinzugefügt wird, wird der Listenkoppelzeiger (list link pointer) des vorangegangenen letzten Blocks in der Warteschlange geändert, um zu dem neu hinzugefügten Kommandoblock zu zeigen. Der zweite Eintrag 152 im Kommando- oder Steuerblock 150 ist ein Steuerwort, dessen Bits die Vollendung der PII-Funktion anzeigen und anzeigen, ob ein Fehler aufgetreten ist. Das dritte Wort 153 ist ein Kommandozeiger (command pointer), der anzeigt, daß der Block für die PII-Funktion im Gegensatz zu anderen Operationen für den zweiten Mikroprozessor 61 gedacht ist, wohingegen das vierte Wort 154 den Typ oder die Art der vorzunehmenden Antwort bei der PII-Vollendung angibt. Diese Antwort zeigt an, ob der zweite Mikroprozessor 61 unterbrochen werden soll oder ob der Kommandoblock lediglich in eine Warteschlange von Aufgaben oder Tasks zur Durchführung für den Mikroprozessor gegeben werden soll. Das fünfte Wort 155 ist der PII Wert, der anzeigt, welche Eingabebits den definierten Übergang vollzogen haben, und die letzte Eintragung 156 ist der Wert des Übergangszählers, wenn die PII-Funktion vollendet ist. Diese beiden letzten Felder können vom zweiten Mikroprozessor 61 verwendet werden, um die präzise Antwort festzulegen, die auf die PII-Funktion zu nehmen ist.
Wenn der zweite Mikroprozessor die PII-Unterbrechung handhabt, führt er eine anwenderdefinierte Routine aus, die bezeichnet wird, um diese Unterbrechung zu handhaben und die Ergebnisse der PII-Funktion zu verarbeiten. Diese Unterbrechungshandhabungsroutine überprüft die Bits des PII Werts und entscheidet, welche Aktion, wenn überhaupt eine, als Antwort auf die bezeichneten Eingabebitübergänge zu nehmen ist.

Claims (22)

1. Prozessormodul für eine programmierbare Steuerung, die eine Vielzahl Eingabe- und Ausgabemodule (18) zur Anpassung elektrischer Signale an Fühl- und Betätigungsvorrichtungen bei einer von der programmierbaren Steuerung betriebenen maschinellen Einrichtung und einen Satz mit den Eingabe- und Ausgabemodulen (18) verbundener Daten- und Steuersignalbusse (16; 130, 131) aufweist, welches Prozessormodul (20) enthält:
eine erste Speichereinrichtung (36; 41, 42) zum Speichern von Daten, die den Status der Fühl- und Betätigungsvorrichtungen darstellen,
eine zweite Speichereinrichtung (36; 44) zum Speichern eines Steuerprogramms, das auf die in der ersten Speichereinrichtung gespeicherten Daten zwecks Steuerung der maschinellen Einrichtung einwirkt,
einen Prozessor (50, 60) zum Ausführen des Steuerprogramms,
eine Gruppe interner Busse (33, 34, 35), mit denen die erste und zweite Speichereinrichtung und der Prozessor zum Austausch von Daten-, Adreß- und Steuersignalen elektrisch verbunden sind, und
eine E/A-Schnittstelle (38), die mit der Gruppe interner Busse und dem Satz Daten- und Steuersignalbusse verbunden ist und die enthält:
  • a) eine Einrichtung zum Austauschen von Daten mit den Eingabe- und Ausgabemodulen über den Satz Daten- und Steuersignalbusse,
  • b) eine Einrichtung zum Definieren eines Satzes erwarteter Übergänge in den Daten von den Eingabemodulen,
  • c) eine Einrichtung zum Erfassen des Auftretens der erwarteten Übergänge und zum Bereitstellen einer Anzeige über dieses Auftreten, und
  • d) eine Einrichtung zum Signalisieren an den Prozessor das Bereitstellen der Anzeige durch die Einrichtung zum Erfassen.
2. Prozessormodul nach Anspruch 1, bei dem die Einrichtung zum Erfassen die Anzeige bereitstellt, wenn irgendeiner der erwarteten Übergänge in dem definierten Satz erwarteter Übergänge auftritt.
3. Prozessormodul nach Anspruch 2, bei dem die Einrichtung zum Signalisieren an den Prozessor eine Anzeige darüber liefert, welche Übergänge in dem definierten Satz erwarteter Übergänge aufgetreten sind.
4. Prozessormodul nach einem der vorstehenden Ansprüche, bei dem die Einrichtung zum Erfassen die Anzeige nur dann bereitstellt, nachdem eine vorgegebene Anzahl der erwarteten Übergänge aufgetreten ist.
5. Prozessormodul nach Anspruch 4, bei dem die Einrichtung zum Definieren eines Satzes erwarteter Übergänge eine Einrichtung zum Anzeigen der vorgegebenen Anzahl der erwarteten Übergänge enthält.
6. Prozessormodul nach einem der vorstehenden Ansprüche, bei dem die Einrichtung zum Definieren eines Satzes erwarteter Übergänge enthält:
eine Einrichtung zum Speichern einer Maske, die identifiziert, welche Bits in den Daten von einem vordefinierten Eingabemodul auf einen Übergang zu überprüfen sind, und
eine Einrichtung zum Speichern einer Anzeige einer Übergangsrichtung für jedes der durch die Maske identifizierten Bits.
7. Prozessormodul nach Anspruch 6, bei dem die Einrichtung zum Austauschen von Daten aus dem vordefinierten Eingabemodul Daten periodisch bei Zeitintervallen liest, die vom Anwender definierbar sind.
8. Prozessormodul nach einem der vorstehenden Ansprüche, bei dem die Einrichtung zum Austauschen von Daten mit den Eingabemodulen Daten periodisch bei Zeitintervallen austauscht, die vom Anwender definierbar sind.
9. Prozessormodul nach einem der vorstehenden Ansprüche, bei dem die Einrichtung zum Austauschen von Daten eine Einrichtung zum Transferieren von Mehrfachbyteblöcken von Daten über den Satz Daten- und Steuersignalbusse enthält.
10. Programmierbare Steuerung, die ein Gestell (12) mit einem Satz Signalbusse (16; 130, 131), eine Vielzahl herausnehmbarer Eingabe- und Ausgabemodule (18), die mit dem Satz Signalbusse und Fühl- und Betätigungsvorrichtungen bei einer von der programmierbaren Steuerung zu steuernden maschinellen Einrichtung verbunden sind, und ein Prozessormodul (20) aufweist, welches Prozessormodul (20) enthält:
eine Systemspeichereinrichtung (36) zum Speichern eines Kontaktplan-Logiksteuerprogramms zum Betreiben der maschinellen Einrichtung und zum Speichern von Daten, die den Status der Fühl- und Betätigungsvorrichtungen dar­ stellen,
einen Kontaktplan-Logikanweisungsprozessor (50), der einen definierten Satz Anweisungen ausführt, die das Kontaktplan-Logiksteuerpogramm bilden,
ein Prozessorteil (60) zum Ausführen von Anweisungen des Kontaktplan-Logiksteuerprogramms, die von dem Kontaktplan- Logikprozessor nicht ausgeführt werden können,
interne Modulbusse (33, 34, 35), die an den Systemspeicher, den Kontaktplan-Logikprozessor und das Prozessorteil zum Übermitteln von Daten- und Steuersignalen zwischen diesen angeschlossen sind, und
eine Gestellschnittstelle (38), die mit den internen Modulbussen und dem Satz Signalbusse verbunden ist und die enthält:
  • a) eine Einrichtung zum Austauschen von Daten mit den Eingabe- und Ausgabemodulen über den Satz Daten- und Steuersignalbusse aufgrund von Steuersignalen vom Prozessorteil,
  • b) eine Einrichtung zum Speichern von Konfigurationsinformation, die einen Satz erwarteter Bitübergänge definiert,
  • c) eine Einrichtung zum Erfassen des Auftretens des definierten Satzes erwarteter Bitübergänge in aus einem bezeichneten Eingabemodul gelesenen Daten und zum Bereitstellen einer Anzeige des Auftretens, und
  • d) eine Einrichtung zum Signalisieren des Prozessorteils beim Bereitstellen der Anzeige des Auftretens durch die Einrichtung zum Erfassen.
11. Programmierbare Steuerung nach Anspruch 10, bei der die Einrichtung zum Speichern der Konfigurationsinformation enthält:
eine Einrichtung zum Speichern einer Identifikation des bezeichneten Eingabemoduls,
eine Einrichtung zum Speichern einer Maske, die identifiziert, welche Bits in den aus dem bezeichneten Eingabemodul gelesenen Daten auf einen Übergang geprüft werden sollen, und
eine Einrichtung zum Speichern einer Anzeige einer Übergangsrichtung für jede der durch die Einrichtung zum Speichern einer Maske identifizierten Bits.
12. Programmierbare Steuerung nach Anspruch 11, bei der die Einrichtung zum Speichern der Konfigurationsinformation ferner eine Einrichtung enthält, die eine Definition darüber speichert, wieviele definierte Übergänge auftreten müssen, bevor das Prozessorteil von der Einrichtung zum Signalisieren signalisiert wird.
13. Programmierbare Steuerung nach einem der Ansprüche 10 bis 12, bei der die Gestellschnittstelle (38) ferner einen Zeitgeber (106) enthält, der mit der Einrichtung zum Austauschen von Daten verbunden ist, um das Lesen von Daten von dem bezeichneten Eingabemodul bei gegebenen Zeitintervallen freizugeben.
14. Programmierbare Steuerung nach Anspruch 13, bei der die Einrichtung zum Speichern von Konfigurationsinformation eine Einrichtung zum Speichern einer Definition für eine Dauer der gegebenen Zeitintervalle enthält.
15. Programmierbare Steuerung nach einem der Ansprüche 10 bis 14, bei der die Einrichtung zum Erfassen die Anzeige bereitstellt, wenn wenigstens einer der Übergänge in dem definierten Satz erwarteter Übergänge in Daten von einem bezeichneten Eingabemodul auftritt.
16. Programmierbare Steuerung nach einem der Ansprüche 10 bis 15, bei der die Einrichtung zum Signalisieren an das Prozessorteil Information darüber liefert, welche Übergänge in dem definierten Satz erwarteter Bitübergänge aufgetreten sind.
17. Programmierbare Steuerung nach einem der Ansprüche 10 bis 16, bei der die Einrichtung zum Erfassen die Anzeige nur dann bereitstellt, nachdem eine vorgegebene Anzahl des definierten Satzes erwarteter Bitübergänge aufgetreten ist.
18. Programmierbare Steuerung nach einem der Ansprüche 10 bis 17, bei der die Einrichtung zum Austauschen von Daten eine Einrichtung zum Transferieren von Mehrfachbyteblöcken von Daten über den Satz Daten- und Steuersignalbusse enthält.
19. Programmierbare Steuerung nach einem der Ansprüche 10 bis 18, bei der das Prozessormodul (20) ferner eine Kommunikationsschaltung (21, 70) enthält, die zum Austausch von Nachrichten über eine Kommunikationsverbindung (13, 15, 17) mit einem externen Gerät mit den internen Bussen (33, 34, 35) verbunden ist.
20. Prozessormodul für eine programmierbare Steuerung, die eine Vielzahl Eingabe- und Ausgabemodule (18) zur Anpassung elektrischer Signale an Fühl- und Betätigungsvorrichtungen bei einer von der programmierbaren Steuerung betriebenen maschinellen Einrichtung und einen Satz mit den Eingabe- und Ausgabemodulen (18) verbundener Daten- und Steuersignalbusse (16; 130, 131) aufweist, welches Prozessormodul (20) enthält:
eine Einrichtung (38) zum Austauschen von Daten mit den Eingabe- und Ausgabemodulen über den Satz Daten- und Steuersignalbussen,
eine Einrichtung (36) zum Speichern einer Selektionsmaske, die identifiziert, welche Bits in den Daten von einem vordefinierten Eingabemodul auf einen Übergang überprüft werden sollen,
eine Einrichtung (36) zum Speichern einer Selektionsmaske, die eine Übergangsrichtung für jedes der durch die Selektionsmaske identifizierten Bits identifiziert, und
eine Einrichtung (122) zum Durchführen logischer Operationen an aus einem Eingabemodul gelesenen Daten zum Erfassen eines Auftretens von Übergängen, die durch die beiden Selektionsmasken definiert sind.
21. Prozessormodul nach Anspruch 20, bei dem Einrichtung zum Austauschen von Daten aus dem vordefinierten Eingabemodul Daten periodisch bei Zeitintervallen liest, die vom Anwender definierbar sind.
22. Prozessormodul nach Anspruch 20 oder 21, ferner enthaltend eine Einrichtung zum Erzeugen eines Signals nach einer vorgegebenen Anzahl erfaßter Übergangsauf­ tritte.
DE4135749A 1990-10-30 1991-10-30 Prozessormodul für eine programmierbare Steuerung mit einer intelligenten Funktionsmodulschnittstelle Expired - Fee Related DE4135749B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US605891 1990-10-30
US07/605,891 US5225974A (en) 1990-10-30 1990-10-30 Programmable controller processor with an intelligent functional module interface

Publications (2)

Publication Number Publication Date
DE4135749A1 true DE4135749A1 (de) 1992-05-07
DE4135749B4 DE4135749B4 (de) 2010-09-30

Family

ID=24425629

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4135749A Expired - Fee Related DE4135749B4 (de) 1990-10-30 1991-10-30 Prozessormodul für eine programmierbare Steuerung mit einer intelligenten Funktionsmodulschnittstelle

Country Status (6)

Country Link
US (1) US5225974A (de)
JP (1) JPH04266102A (de)
BR (1) BR9104693A (de)
CA (1) CA2053126C (de)
DE (1) DE4135749B4 (de)
GB (1) GB2251707B (de)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2695739A1 (fr) * 1992-09-15 1994-03-18 April Automates Sa Procédé de traitement de données booléennes dans une unité centrale d'automate programmable et coprocesseur booléen pour la mise en Óoeuvre de ce procédé.
EP0678796A1 (de) * 1994-04-13 1995-10-25 Siemens Aktiengesellschaft Kompakte speicherprogrammierbare Steuerung und Zentraleinheit einer modularen speicherprogrammierbaren Steuerung
WO1996031815A1 (de) * 1995-04-01 1996-10-10 Ceag Sicherheitstechnik Gmbh Einrichtung zur eigensicheren signalanpassung
EP0766156A1 (de) * 1995-09-29 1997-04-02 Koninklijke Philips Electronics N.V. Speicherprogrammierbare Steuerung
DE19707241A1 (de) * 1997-02-25 1998-09-03 Pilz Gmbh & Co Modulares Sicherheitsschaltgerät
DE19831405A1 (de) * 1998-07-13 2000-01-20 Siemens Ag Steuerungssystem mit einem Personalcomputer
DE102007038877B4 (de) * 2006-08-21 2011-08-25 Kabushiki Kaisha Toshiba Steuervorrichtung mit schneller I/O-Funktion und Steuerverfahren zum Steuern ihrer Daten
DE102013103212A1 (de) * 2013-03-28 2014-10-02 Endress + Hauser Gmbh + Co. Kg System zur Bestimmung und/oder Überwachung und/oder Beeinflussung zumindest einer Prozessgröße

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE129841T1 (de) * 1991-08-14 1995-11-15 Siemens Ag Schnittstellenbaustein zur unterstützung der kommunikation zwischen prozessorsystemen.
JP3128702B2 (ja) * 1991-09-11 2001-01-29 株式会社新川 ボンデイング装置のデータ設定モード変更方法及び装置
US5291391A (en) * 1992-03-20 1994-03-01 Cincinnati Milacron Inc. Fast programmable scan logic controller method and apparatus
US5416908A (en) * 1992-04-28 1995-05-16 Allen-Bradley Company, Inc. Interface between industrial controller components using common memory
KR950009687B1 (ko) * 1992-06-30 1995-08-26 삼성항공산업주식회사 프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치
US6029199A (en) * 1992-10-23 2000-02-22 International Business Machines Corporation Computing system having a system supervisor and a collection of computing subunits each of which has a subunit supervisor
DE4242133A1 (de) * 1992-12-14 1994-06-16 Siemens Ag Anordnung mit mehreren Funktionseinheiten
JPH07199801A (ja) * 1993-12-27 1995-08-04 Canon Inc プログラマブルコントローラシステム
US5485620A (en) * 1994-02-25 1996-01-16 Automation System And Products, Inc. Integrated control system for industrial automation applications
US5917723A (en) * 1995-05-22 1999-06-29 Lsi Logic Corporation Method and apparatus for transferring data between two devices with reduced microprocessor overhead
US5777874A (en) * 1996-02-12 1998-07-07 Allen-Bradley Company, Inc. Programmable controller backup system
US5805442A (en) * 1996-05-30 1998-09-08 Control Technology Corporation Distributed interface architecture for programmable industrial control systems
US7146408B1 (en) 1996-05-30 2006-12-05 Schneider Automation Inc. Method and system for monitoring a controller and displaying data from the controller in a format provided by the controller
US6456308B1 (en) 1996-08-08 2002-09-24 Agranat Systems, Inc. Embedded web server
JPH11514769A (ja) * 1996-08-08 1999-12-14 アグラナット・システムス・インコーポレーテッド 埋め込み形ウェブサーバ
US5978593A (en) * 1996-09-05 1999-11-02 Ge Fanuc Automation North America, Inc. Programmable logic controller computer system with micro field processor and programmable bus interface unit
US5867382A (en) * 1996-09-10 1999-02-02 Mclaughlin; Michael G. Generic control systems using a virtual rack module
KR100287021B1 (ko) * 1997-05-12 2001-04-16 이정태 컴퓨터장치의 프로그램 선택구동장치와, 이를 위한 컴퓨터장치의 선택신호입력장치
US6732191B1 (en) 1997-09-10 2004-05-04 Schneider Automation Inc. Web interface to an input/output device
US7058693B1 (en) 1997-09-10 2006-06-06 Schneider Automation Inc. System for programming a programmable logic controller using a web browser
US20020152289A1 (en) * 1997-09-10 2002-10-17 Schneider Automation Inc. System and method for accessing devices in a factory automation network
US6151625A (en) * 1997-09-10 2000-11-21 Schneider Automation Inc. Internet web interface including programmable logic controller for controlling output devices based on status of input devices
US20020091784A1 (en) * 1997-09-10 2002-07-11 Baker Richard A. Web interface to a device and an electrical network control system
US6282454B1 (en) 1997-09-10 2001-08-28 Schneider Automation Inc. Web interface to a programmable controller
US6587884B1 (en) 1997-09-10 2003-07-01 Schneider Automation, Inc. Dual ethernet protocol stack for maximum speed access to a programmable logic controller (PLC)
US7035898B1 (en) 1997-09-10 2006-04-25 Schneider Automation Inc. System for programming a factory automation device using a web browser
US7162510B2 (en) * 1998-03-16 2007-01-09 Schneider Automation Inc. Communication system for a control system over Ethernet and IP networks
US6434157B1 (en) 1998-10-06 2002-08-13 Schneider Automation, Inc. MODBUS plus ethernet bridge
US6233626B1 (en) 1998-10-06 2001-05-15 Schneider Automation Inc. System for a modular terminal input/output interface for communicating messaging application layer over encoded ethernet to transport layer
US6853867B1 (en) 1998-12-30 2005-02-08 Schneider Automation Inc. Interface to a programmable logic controller
US6327511B1 (en) 1998-12-30 2001-12-04 Schneider Automation, Inc. Input/output (I/O) scanner for a control system with peer determination
US6845401B1 (en) 1998-12-30 2005-01-18 Schneider Automation Inc. Embedded file system for a programmable logic controller
JP2000339008A (ja) * 1999-05-27 2000-12-08 Hitachi Ltd プログラマブルコントローラ
US6499078B1 (en) * 1999-07-19 2002-12-24 Microsoft Corporation Interrupt handler with prioritized interrupt vector generator
JP2001265412A (ja) * 2000-03-15 2001-09-28 Omron Corp プログラマブルコントローラ
US6556956B1 (en) * 2000-06-30 2003-04-29 General Electric Company Data acquisition unit for remote monitoring system and method for remote monitoring
US7181487B1 (en) 2000-07-07 2007-02-20 Schneider Automation Inc. Method and system for transmitting and activating an application requesting human intervention in an automation network
US7032029B1 (en) 2000-07-07 2006-04-18 Schneider Automation Inc. Method and apparatus for an active standby control system on a network
US7519737B2 (en) * 2000-07-07 2009-04-14 Schneider Automation Inc. Input/output (I/O) scanner for a control system with peer determination
US20020167967A1 (en) * 2000-09-06 2002-11-14 Schneider Electric Method for managing bandwidth on an ethernet network
US7028204B2 (en) * 2000-09-06 2006-04-11 Schneider Automation Inc. Method and apparatus for ethernet prioritized device clock synchronization
US7023795B1 (en) 2000-11-07 2006-04-04 Schneider Automation Inc. Method and apparatus for an active standby control system on a network
JP2002321056A (ja) * 2001-04-25 2002-11-05 Obara Corp 溶接制御装置
US6865644B2 (en) 2001-07-25 2005-03-08 Rockwell Automation Technologies, Inc. System and method for industrial controller with an I/O processor using cache memory to optimize exchange of shared data
US8775196B2 (en) 2002-01-29 2014-07-08 Baxter International Inc. System and method for notification and escalation of medical data
US10173008B2 (en) 2002-01-29 2019-01-08 Baxter International Inc. System and method for communicating with a dialysis machine through a network
US8234128B2 (en) 2002-04-30 2012-07-31 Baxter International, Inc. System and method for verifying medical device operational parameters
US20040210664A1 (en) * 2003-04-17 2004-10-21 Schneider Automation Inc. System and method for transmitting data
US6799080B1 (en) * 2003-06-12 2004-09-28 The Boc Group, Inc. Configurable PLC and SCADA-based control system
JP4138733B2 (ja) * 2004-01-18 2008-08-27 三菱電線工業株式会社 グリップヒータ制御装置及び制御方法
US20060064519A1 (en) * 2004-09-20 2006-03-23 Patterson John A Interface mediator for a computing device
US7738972B2 (en) * 2006-06-29 2010-06-15 Honeywell International Inc. Modular shared-memory resource stage driver system for flexible resource linking in an energy conversion system
US20090320143A1 (en) * 2008-06-24 2009-12-24 Microsoft Corporation Sensor interface
US8057679B2 (en) 2008-07-09 2011-11-15 Baxter International Inc. Dialysis system having trending and alert generation
US10089443B2 (en) 2012-05-15 2018-10-02 Baxter International Inc. Home medical device systems and methods for therapy prescription and tracking, servicing and inventory
US8554579B2 (en) 2008-10-13 2013-10-08 Fht, Inc. Management, reporting and benchmarking of medication preparation
GB0903836D0 (en) 2009-03-05 2009-04-22 Oxford Instr Plasma Technology Interface module and controller network
CN102445918B (zh) * 2011-10-24 2013-09-18 乐星产电(无锡)有限公司 利用模式设置开关控制的plc多功能存储模块
KR20150048816A (ko) 2012-08-31 2015-05-07 백스터 코포레이션 잉글우드 약제 요청서 집행 시스템 및 방법
EP3453377A1 (de) 2012-10-26 2019-03-13 Baxter Corporation Englewood Verbesserte arbeitsstation für medizinische dosiszubereitung
EP3346444B1 (de) 2012-10-26 2020-09-23 Baxter Corporation Englewood Verbesserte bilderfassung für system zur zubereitung einer medizinischen dosis
US11367533B2 (en) 2014-06-30 2022-06-21 Baxter Corporation Englewood Managed medical information exchange
CN104267673A (zh) * 2014-09-04 2015-01-07 河南智业科技发展有限公司 一种室内智慧生活环境系统及方法
US11575673B2 (en) 2014-09-30 2023-02-07 Baxter Corporation Englewood Central user management in a distributed healthcare information management system
US11107574B2 (en) 2014-09-30 2021-08-31 Baxter Corporation Englewood Management of medication preparation with formulary management
SG11201704359VA (en) 2014-12-05 2017-06-29 Baxter Corp Englewood Dose preparation data analytics
JP2018507487A (ja) 2015-03-03 2018-03-15 バクスター・コーポレーション・イングルウッドBaxter Corporation Englewood アラート統合を伴う薬局ワークフロー管理
WO2016207206A1 (en) 2015-06-25 2016-12-29 Gambro Lundia Ab Medical device system and method having a distributed database
BR112019012719A2 (pt) 2016-12-21 2019-11-26 Gambro Lundia Ab sistema de dispositivo médico incluindo infraestrutura de tecnologia de informação tendo domínio de agrupamento seguro suportando domínio externo
US10739745B1 (en) 2019-03-27 2020-08-11 Rockwell Automation Technologies, Inc. Modular backplane for an industrial controller

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1423982A1 (ru) * 1987-01-04 1988-09-15 Всесоюзный Научно-Исследовательский И Проектно-Конструкторский Институт Технологии Электромашиностроения Устройство дл программного управлени технологическим оборудованием
EP0285667A1 (de) * 1986-10-08 1988-10-12 Hitachi, Ltd. Folgesteuervorrichtung
SU1432466A1 (ru) * 1987-03-06 1988-10-23 Вологодский Политехнический Институт Устройство дл определени передаточной функции динамического звена
SU1476435A1 (ru) * 1987-07-30 1989-04-30 Предприятие П/Я А-7204 Устройство дл программного управлени
SU1486990A1 (ru) * 1987-03-27 1989-06-15 Nikolaj A Lyashenko Система 'для числового программного управления группой станков
SU1665338A1 (ru) * 1988-09-19 1991-07-23 Украинский Научно-Исследовательский Институт Станков И Инструментов Устройство дл управлени автоматической транспортно-складской системой

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3813649A (en) * 1972-09-01 1974-05-28 Bradley Co A Controller program editor
US3942158A (en) * 1974-05-24 1976-03-02 Allen-Bradley Company Programmable logic controller
US4070702A (en) * 1976-03-26 1978-01-24 Allan-Bradley Company Contact histogram for programmable controller
JPS5539933A (en) * 1978-09-13 1980-03-21 Nissan Motor Co Ltd Process control device
US4293924A (en) * 1979-05-30 1981-10-06 Allen-Bradley Company Programmable controller with high density intelligent I/O interface
US4307447A (en) * 1979-06-19 1981-12-22 Gould Inc. Programmable controller
JPS5730016A (en) * 1980-07-31 1982-02-18 Hitachi Ltd Interface controlling system
US4404651A (en) * 1981-03-09 1983-09-13 Allen-Bradley Company Programmable controller for using coded I/O data technique
US4413319A (en) * 1981-03-09 1983-11-01 Allen-Bradley Company Programmable controller for executing block transfer with remote I/O interface racks
JPS58222310A (ja) * 1982-06-21 1983-12-24 Omron Tateisi Electronics Co 状態パタ−ン比較機能を備えたプログラマブル・コントロ−ラ
CA1208687A (en) * 1982-09-21 1986-07-29 Ernest L. Legg Multiprocessor memory map
DE3302940A1 (de) * 1983-01-28 1984-08-02 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung mit wort- und bitprozessor
US4688191A (en) * 1983-11-03 1987-08-18 Amca International Corporation Single bit storage and retrieval with transition intelligence
US4691296A (en) * 1984-11-16 1987-09-01 Allen-Bradley Company, Inc. Method and apparatus for exchanging multiple data bytes with an I/O module in a single scan.
US4918589A (en) * 1985-10-31 1990-04-17 Allen-Bradley Company, Inc. Method and apparatus for linking processors in a hierarchical control system
US4882702A (en) * 1986-03-31 1989-11-21 Allen-Bradley Company, Inc. Programmable controller with I/O expansion module located in one of I/O module positions for communication with outside I/O modules
JPH0719121B2 (ja) * 1988-01-11 1995-03-06 三菱電機株式会社 プログラマブルコントローラの時分割入力方法
US5063536A (en) * 1988-03-11 1991-11-05 Washington State University Research Foundation, Inc. Microprogrammable asynchronous controllers for digital electronic systems
JPH01246602A (ja) * 1988-03-29 1989-10-02 Mitsubishi Electric Corp プログラマブルコントローラ用特殊機能ユニット
US4912623A (en) * 1988-04-11 1990-03-27 Square D Company Multiple processor communications system
JPH01291305A (ja) * 1988-05-18 1989-11-22 Fanuc Ltd Pcの状態遷移検出方式
US5089984A (en) * 1989-05-15 1992-02-18 Allen-Bradley Company, Inc. Adaptive alarm controller changes multiple inputs to industrial controller in order for state word to conform with stored state word

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0285667A1 (de) * 1986-10-08 1988-10-12 Hitachi, Ltd. Folgesteuervorrichtung
SU1423982A1 (ru) * 1987-01-04 1988-09-15 Всесоюзный Научно-Исследовательский И Проектно-Конструкторский Институт Технологии Электромашиностроения Устройство дл программного управлени технологическим оборудованием
SU1432466A1 (ru) * 1987-03-06 1988-10-23 Вологодский Политехнический Институт Устройство дл определени передаточной функции динамического звена
SU1486990A1 (ru) * 1987-03-27 1989-06-15 Nikolaj A Lyashenko Система 'для числового программного управления группой станков
SU1476435A1 (ru) * 1987-07-30 1989-04-30 Предприятие П/Я А-7204 Устройство дл программного управлени
SU1665338A1 (ru) * 1988-09-19 1991-07-23 Украинский Научно-Исследовательский Институт Станков И Инструментов Устройство дл управлени автоматической транспортно-складской системой

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Dieter *
KLEIM *
REMPT, Bernd: Der Aufbau des Systems Procontic. In: BBC-Nachrichten, H.8/9, 1973, S.200-207 *
WRAITIL, Peter: Speicherprogrammierbare Steue- rungen in der Automatisierungstechnik, VOGEL Buchverlag Würzburg, 1989, S.101,200.201,264, 265 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2695739A1 (fr) * 1992-09-15 1994-03-18 April Automates Sa Procédé de traitement de données booléennes dans une unité centrale d'automate programmable et coprocesseur booléen pour la mise en Óoeuvre de ce procédé.
US6151650A (en) * 1994-04-13 2000-11-21 Siemens Aktiengesellschaft Central processing unit of a modular programmable controller
EP0678796A1 (de) * 1994-04-13 1995-10-25 Siemens Aktiengesellschaft Kompakte speicherprogrammierbare Steuerung und Zentraleinheit einer modularen speicherprogrammierbaren Steuerung
WO1996031815A1 (de) * 1995-04-01 1996-10-10 Ceag Sicherheitstechnik Gmbh Einrichtung zur eigensicheren signalanpassung
US6275881B1 (en) 1995-04-01 2001-08-14 Ceag Sicherheitstechnik Device for inherently safe signal matching
EP0766156A1 (de) * 1995-09-29 1997-04-02 Koninklijke Philips Electronics N.V. Speicherprogrammierbare Steuerung
BE1009813A3 (nl) * 1995-09-29 1997-08-05 Philips Electronics Nv Programmeerbare logische controller.
US6246318B1 (en) 1997-02-25 2001-06-12 Pilz Gmbh & Co. Modular safety switching
DE19707241C2 (de) * 1997-02-25 2000-05-31 Pilz Gmbh & Co Modulares Sicherheitsschaltgerät
DE19707241A1 (de) * 1997-02-25 1998-09-03 Pilz Gmbh & Co Modulares Sicherheitsschaltgerät
DE19831405A1 (de) * 1998-07-13 2000-01-20 Siemens Ag Steuerungssystem mit einem Personalcomputer
US6654645B2 (en) 1998-07-13 2003-11-25 Siemens Aktiengesellschaft Control system having a personal computer to control a process
DE102007038877B4 (de) * 2006-08-21 2011-08-25 Kabushiki Kaisha Toshiba Steuervorrichtung mit schneller I/O-Funktion und Steuerverfahren zum Steuern ihrer Daten
DE102013103212A1 (de) * 2013-03-28 2014-10-02 Endress + Hauser Gmbh + Co. Kg System zur Bestimmung und/oder Überwachung und/oder Beeinflussung zumindest einer Prozessgröße

Also Published As

Publication number Publication date
US5225974A (en) 1993-07-06
CA2053126A1 (en) 1992-05-01
GB2251707A (en) 1992-07-15
CA2053126C (en) 2001-01-30
BR9104693A (pt) 1992-06-16
DE4135749B4 (de) 2010-09-30
GB9122009D0 (en) 1991-11-27
JPH04266102A (ja) 1992-09-22
GB2251707B (en) 1994-05-11

Similar Documents

Publication Publication Date Title
DE4135749B4 (de) Prozessormodul für eine programmierbare Steuerung mit einer intelligenten Funktionsmodulschnittstelle
DE3854594T2 (de) Programmierbare Steuerung mit parallelen Prozessoren.
DE3725343C2 (de) Vielzweck-Kanalsteuersystem
DE3300262C2 (de)
DE3300260C2 (de)
DE68928772T2 (de) Datenverarbeitungssystem mit sich um Zugriff auf verteilte Betriebsmittel bewerbenden Einheiten und mit auf den Status der verteilten Betriebsmittel reagierender Schiedsrichtereinheit
EP0107026B1 (de) Speicherprogrammierbare Steuerung
DE4313190B4 (de) Vorrichtung und Verfahren zur Initialisierung einer Datenschnittstelle für eine programmierbare Steuerung
DE69315343T2 (de) Verfahren fur eingangssignalauflosung von aktiven redundanten prozesssteuerrechnern
DE2244402A1 (de) Datenverarbeitungsanlage
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE3228252T1 (de) Unterbrechungskopplungs- und ueberwachungssystem
DE69523223T2 (de) Steuergerät
DE69122142T2 (de) Steuerungsanlage für ein Mehrprozessorsystem
DE4216242C2 (de) Identifizierung von Sensoren / Aktuatoren in Bussystemen
EP0586715B2 (de) Informationsübertragungsverfahren zur Übertragung digitaler Informationen
DE69032495T2 (de) Vorrichtung zur Bereitstellung einer universellen Schnittstelle für ein Prozesssteuerungssystem
DE68921676T2 (de) Flexibles Diagnosesystem, anpassbar an Datenverarbeitungssysteme verschiedener Grösse.
DE69908782T2 (de) Fehlerkontrolle und -korrektur in einem datenkommunikationssystem
DE3238826C2 (de)
DE69029551T2 (de) Eingabe-/Ausgabe-Einrichtung und Steuerungssystem mit einer solchen Einrichtung
DE69116954T2 (de) Prozessor für ein programmierbares Steuergerät
DE69122001T2 (de) Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle
DE2817536C2 (de)
DE3855718T2 (de) Ubertragungssystem zwischen Prozessoren in einem Nachrichtenverarbeitungssystem mit Übertragung zwischen Ausführungsprozessoren während Übertragung zwischen anderen Prozessoren

Legal Events

Date Code Title Description
OR8 Request for search as to paragraph 43 lit. 1 sentence 1 patent law
8105 Search report available
8128 New person/name/address of the agent

Representative=s name: LIPPERT, H., DIPL.-ING., PAT.-ANW., 60322 FRANKFUR

8110 Request for examination paragraph 44
8128 New person/name/address of the agent

Representative=s name: JUNG HML, 80799 MUENCHEN

8128 New person/name/address of the agent

Representative=s name: HML, 80799 MUENCHEN

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20110502