DE60206336T2 - Industrielles Steuerungssystem und-verfaher mit einem E/A Prozessor mit Cache-speicher zur Optimierung der Übertragung von geteilten Daten - Google Patents

Industrielles Steuerungssystem und-verfaher mit einem E/A Prozessor mit Cache-speicher zur Optimierung der Übertragung von geteilten Daten Download PDF

Info

Publication number
DE60206336T2
DE60206336T2 DE60206336T DE60206336T DE60206336T2 DE 60206336 T2 DE60206336 T2 DE 60206336T2 DE 60206336 T DE60206336 T DE 60206336T DE 60206336 T DE60206336 T DE 60206336T DE 60206336 T2 DE60206336 T2 DE 60206336T2
Authority
DE
Germany
Prior art keywords
processor
cache
control
shared memory
forced
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60206336T
Other languages
English (en)
Other versions
DE60206336D1 (de
Inventor
Raymond R. Middlefield Husted
Ronald E. Solon Schultz
Dennis J. Lyndhorst Dombrosky
David A. Concord Karpuszka
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.)
Rockwell Automation Technologies Inc
Original Assignee
Rockwell Automation Technologies Inc
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 Rockwell Automation Technologies Inc filed Critical Rockwell Automation Technologies Inc
Publication of DE60206336D1 publication Critical patent/DE60206336D1/de
Application granted granted Critical
Publication of DE60206336T2 publication Critical patent/DE60206336T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/054Input/output

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft die Technik industrieller Steuervorgänge, und insbesondere Verfahren und Systeme zur I/O-Zwangssteuerung unter Verwendung eines I/O-Prozessors, der einen Cache-Speicher aufweist.
  • Hintergrund der Erfindung
  • Industrielle Controller sind Spezialzweck-Verarbeitungsvorrichtungen, die zum Steuern industrieller Prozesse, Maschinen, Herstellungsanlagen und anderen Fabrikautomationsanwendungen verwendet werden. In Übereinstimmung mit einem Steuerprogramm bzw. einer Routine kann ein Industriecontroller einen oder mehrere Prozessvariable messen oder Eingänge, die für den Status eines gesteuerten Prozesses repräsentativ sind, und Ausgänge bzw. Ausgangssignale ändern, die die Steuerung des Prozesses beeinflussen. Die Eingänge und Ausgänge bzw. Eingangs- und Ausgangssignale können binär (z. B. ein oder aus) sein, und/oder analog unter der Voraussetzung eines kontinuierlichen Bereichs von Werten. Die Steuerroutine kann in einer Reihe von Ausführungszyklen mit Chargenverarbeitungsfähigkeiten ausgeführt werden und sie kann eine oder mehrere funktionelle Einheiten aufweisen. Die gemessenen Eingangssignale, die von einem gesteuerten Prozess empfangen werden, und die Ausgangssignale, die zu dem Prozess übertragen werden, können durch ein oder mehrere Eingabe-/Ausgabe-(I/O)-module in einem Steuersystem laufen, die als elektrische Schnittstelle zwischen dem Controller und dem gesteuerten Prozess dienen, und sie können in der Nähe des oder entfernt vom Controller zu liegen kommen. Die Eingangssignale und Ausgangssignale können in einer I/O-Tabelle in einem Prozessorspeicher aufgezeichnet sein. Eingangswerte können asynchron aus dem gesteuerten Prozess durch ein oder mehrere Eingangsmodul(e) gelesen werden, und Ausgangswerte können direkt in die I/O-Tabelle durch einen Prozessor für eine nachfolgende Kommunikation mit dem Prozess durch einen spezialisierten Kommunikationsschaltkreis geschrieben werden. Ein Ausgangsmodul kann direkt mit einem gesteuerten Prozess eine Schnittstelle bilden durch Bereitstellen eines Ausgangssignals aus einer I/O-Tabelle für ein Stellorgan, wie etwa einen (Elektro-)motor, ein Ventil, ein Solenoid und dergleichen.
  • Während der Ausführung der Steuerroutine laufen Werte der Eingangssignale und Ausgangssignale, die mit dem gesteuerten Prozess ausgetauscht werden, durch die I/O-Tabelle. Die Werte der Eingangssignale bzw. Eingaben in die I/O-Tabelle können asynchron von dem gesteuerten Prozess durch einen zugeordneten Abtastschaltkreis aktualisiert werden. Dieser Abtastschaltkreis kann mit Eingangs- und/oder Ausgangsmodulen über einen Bus auf einer Rückseitenebene (Backplane) oder über Netzwerkkommunikationen kommunizieren. Der Abtastschaltkreis kann auch asynchron Werte der Ausgangssignale in der I/O-Tabelle für den gesteuerten Prozess schreiben. Die Ausgangswerte aus der I/O-Tabelle können daraufhin zu einem oder mehreren Ausgangsmodulen zur Schnittstellenbildung mit dem Prozess kommuniziert werden. Ein Controllerprozessor vermag in einfacher Weise auf die I/O-Tabelle dadurch zuzugreifen, so dass eine direkte Kommunikation mit dem gesteuerten Prozess entfällt.
  • In verteilten Steuersystemen kann eine Controllerhardware-Konfiguration durch Auftrennen des industriellen Controllers in eine Anzahl von Steuermodulen erleichtert werden, von de nen jedes eine unterschiedliche Funktion ausführt. Spezielle Steuermodule, die für die Steueraufgabe erforderlich sind, können daraufhin gemeinsam auf einer gemeinsamen Rückseitenebene innerhalb eines Regals und/oder durch ein Netzwerk oder ein anderes Kommunikationsmedium miteinander verbunden werden. Die Steuermodule können Prozessoren, Stromversorgungen, Netzwerkkommunikationsmodule und I/O-Module enthalten, die Eingangs- und Ausgangssignale direkt mit dem gesteuerten Prozess austauschen. Daten können zwischen Modulen unter Verwendung eines Rückseitenebenen-Kommunikationsbusses ausgetauscht werden, der seriell oder parallel sein kann, oder über ein Netzwerk. Zusätzlich zur Durchführung von I/O-Betriebsabläufen ausschließlich auf Grund von Netzwerkkommunikationen existieren smarte Module, die autonome logische oder andere Steuerprogramme oder Routinen auszuführen vermögen.
  • Verschiedene Steuermodule eines verteilten industriellen Steuersystems können entlang einer gemeinsamen Kommunikationsleitung in mehreren Racks räumlich verteilt sein. Bestimmte I/O-Module können dadurch in der Nähe eines Abschnitts der Steueranlage angeordnet werden sowie entfernt vom Rest des Controllers. Daten können mit diesen entfernten Modulen oder über eine gemeinsame Kommunikationsleitung oder ein Netzwerk kommuniziert werden, wobei sämtliche Module auf dem Netzwerk über ein Standardkommunikationsprotokoll kommunizieren.
  • In einem typischen verteilten Steuersystem sind ein oder mehrere I/O-Module zur Schnittstellebildung mit einem Prozess vorgesehen. Die Ausgangssignale gewinnen ihre Steuerungs- oder Ausgangssignalwerte in Form einer Mitteilung von einem Master- oder Peer-Gerät über ein Netzwerk oder eine Rückseitenebene (Backplane). Beispielsweise kann ein Ausgangsmodul einen Ausgangssignalwert von einem Prozessor empfangen, wie etwa einem programmierbaren Logikcontroller (PLC) über ein Kommunikationsnetzwerk oder einen Rückseitenebenen-Kommunikationsbus. Der gewünschte Ausgangswert wird üblicherweise zu dem Ausgangsmodul in einer Mitteilung übertragen, wie etwa als I/O-Mitteilung. Das Ausgangsmodul, das eine Mitteilung empfängt, stellt für die gesteuerten Prozesse ein entsprechendes (analoges oder digitales) Ausgangssignal bereit. Eingangsmodule messen einen Wert einer Prozessvariablen und berichten die Eingangswerte an ein Master- oder Peer-Gerät über ein Netzwerk oder eine Rückseitenebene. Die Eingangswerte können durch einen Prozessor (z. B. einen PLC) zur Durchführung von Steuerberechnungsvorgängen genutzt werden.
  • Die Erfindung, die in den unabhängigen Ansprüchen festgelegt ist, stellt ein System und ein Verfahren zur industriellen I/O-Zwangssteuerung bereit, demnach Zugriffe eines geteilten Speichers durch einen I/O-Prozessor reduziert werden können, wodurch das Leistungsvermögen eines Prozessors zur Ausführung eines Steuerprogramms des Systems erhöht werden kann.
  • Vorteilhafte Weiterbildungen sind in den Unteransprüchen angegeben.
  • Anspruch 1 würdigt in seinem Oberbegriff die US 5212631 . Die US 5212631 offenbart ein programmierbares Steuersystem mit einem Prozessor und einem I/O-Prozessor, der betriebsmäßig mit einem geteilten Speicher verbunden ist, wie im Oberbegriff des Anspruchs 1 angeführt.
  • Die US 6085263 offenbart die Verwendung eines Cache-Speichers. Die US 6085263 betrifft allgemein ein Mehrfachverarbeitungssystem, aufweisend mehrere Prozessoren, die mit einem I/O-Prozessor und einem Speicher über einen lokalen Schalter verbunden sind. Jeder der mehreren Prozessoren und der I/O-Prozessor nutzen einen privaten Cache. Die US 6085263 offenbart die Verwendung eines Vorauslesecontrollers (Prefetch Controller) zur Speicherung von vorab eingelesenen Transienteneingangs- und -ausgangsdaten in den Cache des I/O-Prozessors ohne irgendwelche Ordnungsbeschränkungen zur Sicherstellung eines maximalen Durchsatzes von Daten durch den I/O-Prozessor. Die US 6085263 ist im Hinblick auf die Art der im Cache gespeicherten Daten nicht diskriminierend und speichert Eingangs- und Ausgangsdaten, die von einer I/O-Vorrichtung empfangen und zu dieser gerichtet sind.
  • Die DE-A-4423559 offenbart ein Mehrfachprozessor-Computersystem, in dem jeder Prozessor eine lokalen Cache-Speicher aufweist, der zum unabhängigen und vorübergehenden Speichern und Ändern von Datenblöcken verwendet wird. Die US-A-5161219 offenbart ein Computersystem, das einen Cache zwischen Eingangs-/Ausgangsvorrichtungen und einem Hauptspeichersystem aufweist, so dass durch sämtliche Systemspeicher Zugriffe durch den Cache vorgenommen werden können.
  • Zusammenfassung der Erfindung
  • Es folgt eine vereinfachte Zusammenfassung der Erfindung, um ein grundsätzliches Verständnis von einigen Aspekten der Erfindung zu fördern. Diese Zusammenfassung stellt keine ausführliche Übersicht der Erfindung dar. Kernelemente oder kritische Elemente der Erfindung sollen hierdurch nicht identifiziert werden und der Umfang der Erfindung soll dadurch nicht festgelegt werden. Der einzige Zweck dieser Darstellung besteht darin, einige Konzepte der Erfindung in vereinfachter Form als Einleitung für eine detailliertere Beschreibung darzustellen, die nachfolgend angeführt ist.
  • Die vorliegende Erfindung betrifft ein System und ein Verfahren zur I/O-Zwangssteuerung unter Verwendung eines I/O-Prozessors, der einen Cache-Speicher. aufweist. Die vorliegende Erfindung stellt einen Prozessor und einen I/O-Prozessor zur betriebsmäßigen Verbindung mit einem geteilten Speicher bereit, der beispielsweise Konfigurationsdaten, I/O-Zwangssteuerungsdaten (z. B. auf Grundlage einer Bedienpersoneingabe), Ausgangsdaten zur Beeinflussung des Prozesses (z. B. zur Übertragung zu einer Betätigungsvorrichtung bzw. Betätigungsvorrichtungen) und/oder Eingangsdaten speichert, die für den Status des gesteuerten Prozesses (z. B. Empfangen von einer Erfassungsvorrichtung bzw. Erfassungsvorrichtungen) repräsentativ sind.
  • In Übereinstimmung mit einem Aspekt der vorliegenden Erfindung ist der I/O-Prozessor betriebsmäßig mit einem Cache-Speicher verbunden. Der Cache-Speicher wird selektiv mit zumindest einem Teil der I/O-Zwangssteuerungsdaten geladen, die in dem geteilten Speicher abgespeichert sind. Der I/O-Prozessor vermag Information zu speichern, die mit einem Eingangssignal bzw. Eingangssignalen in dem geteilten Speicher verbunden ist, auf Grundlage zumindest teilweise von einem Eingangssignal bzw. Eingangssignalen, die von der Erfassungsvorrichtung bzw. den Erfassungsvorrichtungen empfangen werden, und I/O-Zwangssteuerungsdaten, die in dem Cache-Speicher gespeichert sind. Der I/O-Prozessor kann eine Steuerung des Prozesses (z. B. über eine Betätigungsvorrichtung bzw. Betätigungsvorrichtungen) auf Grundlage zumindest teilweise einer Ausgangsinformation bewirken, die aus dem geteilten Speicher rückgewonnen wird, und I/O-Zwangssteuerungsdaten, die in dem Cache-Speicher gespeichert sind. Typischerweise kann sich das Eingangssignal bzw. können sich die Eingangssignale und/oder das Ausgangssignal bzw. die Ausgangssignale häufig ändern, weshalb sie in dem Cache-Speicher nicht gespeichert werden.
  • Gemäß einem weiteren Aspekt stellt die vorliegende Erfindung für den Prozessor die Möglichkeit bereit, den I/O-Prozessor (z. B. über eine Befehlsmitteilung) in dem Fall zu benachrichtigen, dass I/O-Zwangssteuerungsdaten während der Ausführung des Steuerprogramms geändert werden. Der I/O-Prozessor vermag den Cache-Speicher nach Empfang der Mitteilung (z. B. über einen "blockierten Schreibvorgang" in eine virtuelle Adresse in dem geteilten Speicher) aufzufrischen.
  • Die folgende Beschreibung und die anliegenden Zeichnungen stellen detailliert bestimmte illustrative Aspekte der Erfindung dar. Diese Aspekte zeigen lediglich einige wenige der verschiedenen Möglichkeiten auf, demnach die Prinzipien der vorliegenden Erfindung eingesetzt werden können, und die vorliegende Erfindung soll sämtliche dieser Aspekte sowie ihre Äquivalente umfassen. Weitere Vorteile und neuartigen Merkmale der Erfindung erschließen sich aus der nachfolgenden detaillierten Beschreibung der Erfindung in Verbindung mit den Zeichnungen.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt ein schematisches Blockdiagramm eines Industriecontrollersystems in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung.
  • 2 zeigt ein schematisches Blockdiagramm eines geteilten Speichers in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung.
  • 3 zeigt ein beispielhaftes digitales Eingangssignal mit Zwangssteuerungsmasken, die in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung angewendet sind.
  • 4 zeigt ein beispielhaftes digitales Ausgangssignal mit Zwangssteuerungsmasken, die in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung angewendet sind.
  • 5 zeigt ein Flussdiagramm unter Darstellung einer Methode zum Cachen einer I/O-Zwangssteuerungsmaske bzw. von mehreren derartigen Masken für ein Eingangssignal bzw. Eingangssignale in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung.
  • 6 zeigt ein Flussdiagramm unter Darstellung der Methode von 5.
  • 7 zeigt ein Flussdiagramm unter Darstellung einer Methode zum Cachen einer I/O-Zwangssteuerungsmaske bzw. von mehreren derartigen Masken für ein Ausgangssignal bzw. Ausgangssignale in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung.
  • 8 zeigt ein Flussdiagramm unter zusätzlicher Darstellung der Methode von 7.
  • 9 zeigt eine perspektivische Darstellung eines Industriecontrollers, der mehrere funktionelle Module aufweist, die innerhalb mehrere Racks angeordnet sind, die mit Kommunikationsleitungen verbunden sind.
  • 10 zeigt eine schematische Darstellung eines Einzelfunktionsmoduls von 9 unter Darstellung seiner Verbindung mit einer gemeinsamen Rückseitenebene und Kommunikationsleitungen zur Kommunikation mit anderen Modulen.
  • Detaillierte Beschreibung der Erfindung
  • Die vorliegende Erfindung wird nunmehr unter Bezug auf die Zeichnungen erläutert, wobei zur Bezeichnung gleicher Elemente durchgehend die gleichen Bezugsziffern verwendet werden. In der nachfolgenden Beschreibung sind zu Erläuterungszwecken zahlreiche spezifische Einzelheiten angeführt, um ein sorgfältiges Verständnis der vorliegenden Erfindung zu ermöglichen. Dem Fachmann auf diesem Gebiet der Technik erschließt sich, dass die vorliegende Erfindung ohne die spezifischen Einzelheiten in die Praxis umgesetzt werden kann. In anderen Fällen sind an sich bekannte Strukturen und Vorrichtungen in Blockdiagrammgestalt gezeigt, um die Erläuterung der vorliegenden Erfindung zu erleichtern.
  • In 1 ist ein System 100 für einen Industriecontroller gezeigt. Das System 100 umfasst einen Prozessor 110 und einen I/O-Prozessor 120. Beispielsweise kann es sich bei dem Prozessor 110 um eine Zentralprozessoreinheit (CPU), einen Steuerprozessor, einen Logikprozessor und/oder einen Leiterprozessor für einen Industriecontroller handeln. Der I/O-Prozessor 120 kann üblicherweise so ausgelegt sein, dass er eine I/O-Funktion bzw. derartige Funktionen in einer verteilten Steuerumgebung ausführt. Der Prozessor 110 und der I/O-Prozessor 120 sind betriebsmäßig mit einem geteilten Speicher 130 (z. B. einem RAM) verbunden. Beispielsweise können der Prozessor 110 und der I/O-Prozessor 120 mit dem geteilten Speicher 130 über einen Rückseitenebenen- (Backplane-) Kommunikationsbus verbunden sein, der seriell oder parallel ausgelegt ist, oder über ein Netzwerk. Der I/O-Prozessor 120 um fasst einen Cache-Speicher 140. Der geteilte Speicher 130, enthält einen virtuellen Speicher 131, der eine Speicherverwaltung des Cache-Speichers 140 erlaubt (z. B. ein cachefähiges, Nurlese-Spiegelbild des geteilten Speichers, der über einen unterschiedlichen Adressenraum adressiert ist).
  • Wie in 2 gezeigt, kann der geteilte Speicher 130 Konfigurationsdaten 132, I/O-Zwangssteuerungsdaten 134, Ausgangsdaten 136 und/oder Eingangsdaten 138 enthalten. Es wird bemerkt, dass die in den Konfigurationsdaten 132, den I/O-Zwangssteuerungsdaten 134, den Ausgangsdaten 136 und/oder den Eingangsdaten 138 gespeicherte Information in einer beliebigen geeigneten Datenstruktur gespeichert sein kann, einschließlich, ohne hierauf beschränkt zu sein, als Tabelle(n), Datenbasis bzw. Datenbasen, eine Aufzeichnung bzw. Aufzeichnungen, eine Array bzw. Arrays und/oder eine Liste bzw. Listen. Die Eingangsdaten 138 speichern Information in Verbindung mit dem Zustand einer Erfassungsvorrichtung bzw. von Erfassungsvorrichtungen, die mit dem System 100 verbunden ist bzw. sind (z. B. Empfangen über den I/O-Prozessor 120). Ausgangsdaten 136 geben den Zustand des Ausgangssignals bzw. von Ausgangssignalen wieder, das bzw. die die Steuerung des Prozesses bewirkt bzw. bewirken (z. B. eine Betätigungsvorrichtung bzw. derartige Vorrichtungen der Anlage und/oder eine Steuerung bzw. Steuerungen), der durch das System 100 gesteuert wird. Beispielsweise können die Ausgangsdaten 136 Daten speichern, die zur Steuerung einer Betätigungsvorrichtung bzw. Betätigungsvorrichtungen verwendet werden, die mit einem Ausgangs-I/O-Modul bzw. mehreren derartigen Modulen verbunden ist bzw. sind (nicht gezeigt). Die Konfigurationsdaten 132 vermögen Systempegelkonfigurationsdaten zu speichern (z. B. ein Passwort und/oder Privileginformation, einen Anschlusskommunikationsparameter bzw. mehrere derartige Parameter und/oder ein Ereigniszeitablaufintervall bzw. mehrere derartige Intervalle).
  • I/O-Zwangssteuerungsdaten 134 können. Information speichern zur Zwangssteuerung eines spezifischen Eingangs bzw. solcher Eingänge (z. B. Empfangen von der Erfassungsvorrichtung bzw. den Erfassungsvorrichtungen) und/oder eines Ausgangs bzw. von Ausgängen (z. B. gesendet zu einer Betätigungsvorrichtung bzw. Betätigungsvorrichtungen) in einem gegebenen Logikzustand. Bei der I/O-Zwangssteuerung handelt es sich um die Nutzung eines vorbestimmten Wert in einem Steuerprogramm anstelle des tatsächlichen Werts, der von einem I/O-Modul empfangen wird, oder um das Ausgeben eines vorbestimmten Werts zu einem I/O-Modul anstelle des tatsächlichen Werts, der durch das Steuerprogramm erzeugt wird. Die Zwangssteuerung ist beispielsweise nützlich zur Fehlersuche in Steuerprogrammen, Fehlersuche in einem industriellen Steuersystem bzw. derartigen Steuersystemen, zum Umgehen einer nicht betriebsfähigen Anlage und/oder zum Testen eines I/O.
  • Wie in 3 und 4 gezeigt, können die I/O-Zwangssteuerungsdaten 134 eine Zwangssteuerungsausschaltmaske 204, 214 und/oder eine Zwangssteuerungseinschaltmaske 208, 218 enthalten, die mit der Zwangssteuerung eines I/O-Moduls verbunden sind. Für den Eingang bzw. die Eingänge wird die Zwangssteuerungsausschaltmaske 204 durch den I/O-Prozessor 120 mit dem tatsächlichen Eingangssignal bzw. den tatsächlichen Eingangssignalen 202 logisch UND-verknüpft, das bzw. die von dem I/O-Modul empfangen wird bzw. werden, was zu einem Interimsergebnis 206 führt. Das Interimsergebnis 206 wird daraufhin durch den I/O-Prozessor 120 mit der Zwangssteuerung auf der Maske 208 logisch ODER-verknüpft, was zu einem Eingangsergebniswert 210 führt, der in Eingangsdaten 138 des geteilten Speichers 130 gespeichert wird. Sobald er in dem geteilten Speicher 130 gespeichert ist, steht der Eingangsergebniswert 210 zur Nutzung durch das Steuerprogramm zur Verfügung.
  • In ähnlicher Weise wird die Zwangssteuerungsausschaltmaske 214, logisch durch den I/O-Prozessor 120 mit Ausgangsdaten 212 UND-verbunden, die aus dem geteilten Speicher 130 durch den I/O-Prozessor 120 rückgewonnen werden, was zu einem Interimsergebnis 216 führt. Das Interimsausgangssignalergebnis 216 wird daraufhin durch den I/O-Prozessor 120 mit der Zwangssteuerung auf der Maske 218 ODER-verknüpft, was zu einem Ausgangssignalergebniswert 220 führt, der daraufhin zu einem I/O-Modul kommuniziert wird. In dem der I/O-Prozessor 120 eine bestimmte I/O-Verarbeitungsfunktion bzw. derartige Funktionen durchführen gelassen wird, kann die Geschwindigkeit des Prozessors 110 und/oder ihr Wirkungsgrad verbessert werden.
  • Sowohl der Prozessor 110 wie der I/O-Prozessor 120 greifen üblicherweise auf Information zu, die in dem geteilten Speicher 130 gespeichert ist. Beispielsweise vermag der I/O-Prozessor 120 Information zu speichern, die mit einer Erfassungsvorrichtung in Eingangsdaten 138 (beispielsweise im Eingangswert) verbunden sind, auf die der Prozessor 110 später während der Ausführung des Steuerprogramms zugreifen kann. In ähnlicher Weise kann der Prozessor 110 Information speichern, die mit einer Betätigungsvorrichtung in Ausgangsdaten 136 verbunden ist, auf die der I/O-Prozessor 120 später zugreifen und beim Durchführen einer I/O-Funktion bzw. derartigen Funktionen verarbeiten kann. Typischerweise vermag lediglich entweder der Prozessor 110 oder der I/O-Prozessor 120 auf Information in dem geteilten Speicher 130 zu einem gegebenen Zeitpunkt zuzugreifen.
  • In einer industriellen Steuerumgebung kann eine bestimmte Information, die in dem geteilten Speicher 130 gespeichert ist, beispielsweise Ausgangsdaten und/oder Eingangsdaten, den Wert bzw. die Werte häufig während der Ausführung des Steuerprogramms ändern. Da es erforderlich ist, dass diese Information aktuell ist, wird sie typischerweise nicht gecacht (z. B. zum Schutz gegenüber unerwünschter Latenz und/oder dem verbrauchten Zustand von Daten). Andere, im geteilten Speicher 130 gespeicherte Information, beispielsweise Konfigurationsdaten und/oder I/O-Zwangssteuerungsdaten, ändert sich hingegen während der Ausführung des Steuerprogramms selten.
  • Um die Frequenz des Zugriffs auf den geteilten Speicher 130 zu verringern, kann zumindest ein Teil der Daten, die im geteilten Speicher 130 gespeichert sind und sich typischerweise während der Ausführung eines Steuerprogramms selten ändern (z. B. I/O-Zwangssteuerungsdaten) in dem Cache-Speicher 140 des I/O-Prozessors 120 gespeichert werden. Beispielsweise können die I/O-Zwangssteuerungsdaten 134 im Speicher getrennt von den sich dynamisch ändernden Eingangsdaten 138 und/oder Ausgangsdaten 136 partitioniert werden, und/oder der gesamte geteilte Speicher 130 kann an einem zusätzlichen virtuellen Speicherraum gespiegelt werden, in welchen Cachen freigegeben ist. Die jüngsten Eingangsdaten 138 und/oder Ausgangsdaten 136 können in dem nicht gecachten geteilten Speicher 130 geprüft werden; auf die I/O-Zwangssteuerungsdaten 134 kann jedoch über den cachefähigen Raum (z. B. den Cache-Speicher 140) nicht zugegriffen werden. Im Fall, dass typischerweise selten geänderte Daten während der Ausführung des Steuerprogramms geändert worden sind, kann der Prozessor 110 dies dem I/O-Prozessor 120 mitteilen (z. B. über eine Befehlsmitteilung). Sobald mitgeteilt worden ist, dass sich selten geän derte Daten geändert haben, kann der I/O-Prozessor 120 das erneute Laden des Cache-Speichers 140 initiieren. Sobald mitgeteilt worden ist, dass sich selten geänderte Daten geändert haben, vermag der I/O-Prozessor 120 beispielsweise aus dem geteilten Speicher 130 zu lesen und die aktualisierten Daten zu gewinnen (z. B. I/O-Zwangssteuerungsdaten 134). Der I/O-Prozessor 120 kann daraufhin die frischen Daten in dieselbe virtuelle Stelle über den cachefähigen Adressenraum schreiben; es wird bemerkt, dass die geteilte Speicherstellenadresse und die virtuelle Speicheradresse auf dieselbe physikalische Adresse im Speicher 130 zugreifen, und dass der Prozessor 110 diese Stellen im geteilten Speicher 130 bereits aktualisiert hat. Das tatsächliche Schreiben in den virtuellen Speicher 131 über den I/O-Prozessor 120 kann "blockiert" sein, so dass lediglich der Cache-Speicher 140 tatsächlich aktualisiert wird.
  • Sobald mitgeteilt worden ist, dass selten geänderte Daten geändert worden sind, vermag der I/O-Prozessor 120 ein "blockiertes Schreiben" für den virtuellen Speicher zu initiieren. Um eine potentielle Dateninkonsistenz zu reduzieren, ändert der I/O-Prozessor 120 den Inhalt jeder Speicherstelle während des "blockierten Schreibens" tatsächlich nicht, womit bezweckt wird, zu dem Cache-Speicher 140 das Auftreten einer Änderung der selten geänderten Daten zu kommunizieren, von denen ein Teil in dem Cache-Speicher 140 speicherbar ist. In Übereinstimmung mit allgemein bekannter Cache-Speicher-verwaltungstechnik frischt der Cache-Speicher seinen Inhalt bzw. seine Inhalte aus dem geteilten Speicher 130 auf, sobald das "blockierte Schreiben" durch den I/O-Prozessor 120 initiiert worden ist, wenn die in das "blockierte Schreiben" einbezogene Adresse im Cache-Speicher 140 gespeichert ist bzw. wird. Alternativ vermag der Prozessor 110 dem I/O-Prozessor 120 den geänderten Wert bzw. die geänderten Werte mitzuteilen, wodurch der I/O-Prozessor 120 den Cache-Speicher 140 modifizieren kann.
  • Während der Initialisierung vermag der Prozessor 110 den geladenen Wert bzw. die geladenen Werte beispielsweise in die I/O-Zwangssteuerungsdaten 134 zu laden (z. B. Zwangssteuerungsausschaltmaske(n) 204, 214 und/oder Zwangssteuerungseinschaltmaske(n) 208, 218). Daraufhin vermag der I/O-Prozessor 120 den Cache-Speicher 140 mit zumindest einem Teil der I/O-Zwangssteuerungsdaten 134 zu laden. Während des Betriebs des Systems kann der I/O-Prozessor 120 zum Reduzieren der Verarbeitungslast des Prozessors 110 eine I/O-Zwangssteuerung durchführen. In dem Fall, dass Information, die für die I/O-Zwangssteuerung benötigt wird (z. B. Zwangssteuerungsausschaltmaske(n) 204, 214 und/oder Zwangssteuerungseinschaltmaske(n) 208, 218), in dem Cache-Speicher 140 gespeichert ist, können Zugriffe des geteilten Speichers 130 durch den I/O-Prozessor 120 verringert werden, wodurch das Leistungsvermögen des Prozessors 110 potentiell vergrößert wird. In dem Fall, dass I/O-Zwangssteuerungsdaten 134 (z. B. Zwangssteuerungsausschaltmaske(n) 204, 214 und/oder Zwangssteuerungseinschaltmaske(n) 208, 218) während der Ausführung des Steuerprogramms geändert werden (z. B. durch eine Bedienperson), kann der Prozessor 110 dem I/O-Prozessor 120 das Auftreten dieser Änderung mitteilen. Um Kohärenz von Daten zu gewährleisten, die in dem geteilten Speicher 130 und dem Cache-Speicher 140 gespeichert sind, vermag der I/O-Prozessor 120 daraufhin ein "blockiertes Schreiben" zu initiieren, das mit der geänderten geteilten Speicheradresse einhergeht, was dazu führt, dass der Cache-Speicher 140 aktualisiert wird, wenn in der geänderten geteilten Speicheradresse gespeicherte Daten in dem Cache-Speicher 140 gespeichert worden sind.
  • Es wird bemerkt, dass, während das System 100 im Hinblick auf I/O-Zwangssteuerungsdaten im Hinblick auf binäre (z. B. ein oder aus) Eingangssignal(e) und Ausgangssignal(e) erläutert worden sind, die vorliegende Erfindung analoge Zwangssteuerungsdaten umfassen kann (unter der Annahme eines kontinuierlichen Bereichs von Werten). In dem Fall, dass analoge Zwangssteuerungsdaten in dem I/O-Zwangssteuerungsdaten 134 enthalten sind, wird der analoge Zwangssteuerungswert bzw. die entsprechenden Werte für das Ausgangssignal bzw. die Ausgangssignale zu der Betätigungsvorrichtung bzw. den entsprechenden Vorrichtungen durch den I/O-Prozessor gesendet. In ähnlicher Weise würden für das Eingangssignal bzw. die -signale der analoge Zwangssteuerungswert bzw. die entsprechenden Werte in dem geteilten Speicher 130 gespeichert werden.
  • Zusätzlich können die I/O-Zwangssteuerungsdaten 134 eine Freigabemaske bzw. Freigabemasken und eine Wertmaske bzw. Wertmasken enthalten. Die Freigabemaske(n) stellen Information bereit im Hinblick auf das Bit bzw. die Bits von Information, die beeinflusst werden soll, während die Wertmaske(n) den Wert für das beeinflusste Bit bzw. die beeinflussten Bits der Information bereitstellt bzw. bereitstellen. Der Cache-Speicher 140 des I/O-Prozessors 120 vermag außerdem Information zu speichern, die üblicherweise während der Ausführung des Steuerprogramms selten geändert wird, beispielsweise Konfigurationsdaten, I/O-Fail-Safe-Information, eine Verknüpfungstabelle bzw. -tabellen (z. B. Information in Bezug auf eine Verknüpfung bzw. Verknüpfungen für das Eingangssignal bzw. die Eingangssignale und/oder das Ausgangssignal bzw. die Ausgangssignale), eine Ausgangssignal-Keep-Alive-Tabelle bzw. entsprechende Tabellen (z. B. Information in Bezug auf die Frequenz und die Stelle einer Keep-Alive-Mitteilung bzw. entsprechende Mitteilungen für ein Ausgangsmodul bzw. -module) und/oder Eingangssignal-Time-Out-(Zeitablauf)Information.
  • Im Hinblick auf die vorstehend gezeigten und erläuterten beispielhaften Systeme lassen sich Methoden, die in Übereinstimmung mit der vorliegenden Erfindung implementierbar sind, besser verstehen unter Bezug auf die Flussdiagramme der 5, 6, 7 und 8. Während zur Vereinfachung der Erläuterung die Methoden als Abfolge von Blöcken gezeigt und erläutert werden, wird bemerkt, dass die vorliegende Erfindung nicht auf die Abfolge von Blöcken beschränkt ist, da einige Blöcke in Übereinstimmung mit der Erfindung in unterschiedlicher Abfolge und/oder gleichzeitig mit anderen Blöcken auftreten können im Gegensatz zu den gezeigten und vorstehend erläuterten. Nicht sämtliche dargestellten Blöcke müssen ein Verfahren in Übereinstimmung mit der vorliegenden Erfindung implementieren. Außerdem wird bemerkt, dass die beispielhaften Verfahren 500, 700 sowie weitere Verfahren in Übereinstimmung mit der Erfindung im Zusammenhang mit dem industriellen Steuersystem implementiert werden können, das vorliegend dargestellt und erläutert ist, sowie in Verbindung mit anderen Systemen und Vorrichtungen, die weder dargestellt noch erläutert sind.
  • Die Erfindung kann im allgemeinen Zusammenhang mit computerausführbaren Instruktionen erläutert werden, wie etwa Programmmodulen, die durch einen oder mehrere Computer oder andere Vorrichtungen ausführbar sind. Üblicherweise umfassen Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen und dergleichen, die spezielle Aufgaben durchführen oder bestimmte abstrakte Datenarten implementieren. Typischerweise kann die Funktionalität der Programmmodule in verschiedenen Ausführungsformen kombiniert oder verteilt werden.
  • In 5 und 6 ist eine Methode 500 zum Cachen einer I/O-Zwangssteuerungsmaske bzw. von mehreren derartigen Masken für ein Eingangssignal bzw. Eingangssignale in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung dargestellt. Bei 510 wird ein Anfangswert bzw. werden Anfangswerte (z. B. Konfigurationsdaten 132, I/O-Zwangssteuerungsdaten 134, Ausgangsdaten 136 und/oder Eingangsdaten 138) in den geteilten Speicher 130 geladen. Bei 514 wird der Cache-Speicher 140 des I/O-Prozessors 120 mit selten geänderten Daten geladen, aufweisend zumindest einen Teil des geteilten Speichers 130 (z. B. I/O-Zwangssteuerungsdaten 134). Bei 520 wird eine Ermittlung durch den I/O-Prozessor 120 ausgeführt, ob eine aktualisierte Befehlsmittelung durch den Prozessor 110 empfangen worden ist. Wenn die Ermittlung bei 520 NEIN ergibt, wird der Prozessablauf bei 550 fortgesetzt. Wenn die Ermittlung bei 520 JA ergibt, initiiert der I/O-Prozessor 120 bei 524 ein geblocktes Schreiben in bzw. für die Adresse(n) in dem geteilten Speicher 130 in Verbindung mit dem aktualisierten Befehl bzw. Aktualisierungsbefehl (z. B. eine geteilte Speicheradresse bzw. derartige Adressen, deren Wert bzw. Werte geändert wird bzw. werden). Bei 530 wird eine Ermittlung ausgeführt, ob Daten aus der Adresse bzw. den Adressen, die mit dem Aktualisierungsbefehl verbunden ist bzw. sind, in dem Cache-Speicher 140 gespeichert sind (z. B. durch eine Cache-Speicherkontrollehardware, -firmware und/oder -Software (nicht gezeigt)). Wenn die Ermittlung bei 530 NEIN ergibt, wird der Prozessablauf bei 550 fortgesetzt. Wenn die Ermittlung bei 530 JA ergibt, wird der Cache-Speicher 140 bei 540 aktualisiert (z. B. es werden Daten aus dem geteilten Speicher 130 gelesen). Bei 550 wird ein Eingangswert bzw. werden Eingangswerte durch den I/O-Prozessor 120 empfangen (z. B. von dem I/O-Modul bzw. derartigen Modulen). Bei 560 erfolgt eine Ermittlung, ob mit dem Eingang bzw. den Eingängen oder dem Eingangssignal bzw. den Eingangssignalen verbundene Daten (z. B. I/O-Zwangssteuerungsdaten 134, beispielsweise Zwangssteuerungsausschaltmaske 204 und/oder Zwangssteuerungseinschaltmaske 208) im Cache-Speicher 140 gespeichert ist. Wenn die Ermittlung bei 560 JA ergibt, wird der Prozessablauf bei 580 fortgesetzt. Wenn die Ermittlung bei 560 NEIN ergibt, wird der Cache-Speicher 140 bei 570 mit Daten geladen, die mit dem Eingangssignal bzw. den Eingangssignalen verbunden sind (z. B. I/O-Zwangssteuerungsdaten 134) aus dem geteilten Speicher 130. Bei 580 wird das Eingangssignal bzw. werden die Eingangssignale verarbeitet (z. B. das von dem I/O-Modul empfangene Eingangssignal kann mit der Zwangssteuerungsausschaltmaske 204 logisch UND-verknüpft werden, und das Ergebnis hiervon kann mit der Zwangssteuerungseinschaltmaske 208 logisch ODER-verknüpft werden.) Bei 590 wird der verarbeitete Eingangswert in den geteilten Speicher 130 gespeichert. Bei 594 erfolgt eine Ermittlung, ob der I/O-Prozessor zu Ende gekommen ist (z. B. ob die Ausführung des Steuerprogramms beendet ist). Wenn die Ermittlung bei 594 NEIN lautet, wird der Prozessablauf bei 520 fortgesetzt. Wenn die Ermittlung bei 594 JA lautet, findet kein weiterer Prozessablauf statt.
  • In 7 und 8 ist eine Methode 700 zum Cachen einer I/O-Zwangssteuerungsmaske bzw. von derartigen Masken für ein Eingangssignal bzw. Eingangssignale in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung dargestellt. Bei 710 wird bzw. werden ein Anfangswert bzw. Anfangswerte (z. B. Konfigurationsdaten 132, I/O-Zwangssteuerungsdaten 134, Ausgangsdaten 136 und/oder Eingangsdaten 138) in den geteilten Speicher 130 geladen. Bei 714 wird der Cache-Speicher 140 des I/O- Prozessors 120 mit selten geänderten Daten geladen, aufweisend zumindest einen Teil des geteilten Speichers 130 (z. B. I/O-Zwangssteuerungsdaten 134). Bei 720 erfolgt eine Ermittlung durch den I/O-Prozessor 120, ob eine aktualisierte Befehlsübermittlung von dem Prozessor 110 empfangen worden ist. Wenn die Ermittlung bei 720 NEIN ergibt, wird der Prozessablauf bei 750 fortgesetzt. Wenn die Ermittlung bei 720 JA ergibt, initiiert der I/O-Prozessor 120 bei 724 ein blockiertes Schreiben in die Adresse bzw. Adressen in dem geteilten Speicher 130 in Verbindung mit dem aktualisierten Befehl (z. B. eine geteilte Speicheradresse bzw. derartige Adressen, deren Wert bzw. Werte geändert wird bzw. werden). Bei 730 erfolgt eine Ermittlung, ob Daten aus der Adresse bzw. den Adressen, die dem Aktualisierungsbefehl zugeordnet ist bzw. sind, in dem Cache-Speicher 140 gespeichert (worden) sind (z. B. durch eine Cache-Speicherkontrollehardware, -firmware und/oder -software (nicht gezeigt)). Wenn die Ermittlung bei 730 NEIN ergibt, wird der Prozessablauf bei 750 fortgesetzt. Wenn die Ermittlung bei 730 JA ergibt, wird der Cache-Speicher 140 bei 740 aktualisiert (z. B. Daten werden aus dem geteilten Speicher 130 ausgelesen). Bei 750 wird ein Ausgangssignalwert bzw. werden derartige Werte durch den I/O-Prozessor 120 aus dem geteilten Speicher 130 rückgewonnen. Bei 760 erfolgt eine Ermittlung, ob mit dem Ausgangssignal bzw. den Ausgangssignalen verbundene Daten (z. B. I/O-Zwangssteuerungsdaten 134, beispielsweise eine Zwangssteuerungsausschaltmaske 204 und/oder Zwangssteuerungseinschaltmaske 208) in dem Cache-Speicher 140 gespeichert (worden) sind. Wenn die Ermittlung bei 760 JA ergibt, wird der Prozessablauf bei 780 fortgesetzt. Wenn die Ermittlung bei 760 NEIN ergibt, wird der Cache-Speicher 140 bei 770 mit Zwangssteuersdaten geladen, die mit dem Ausgangssignal bzw. den Ausgangssignalen von dem geteilten Speicher 130 verbunden sind. Bei 780 wird das Aus gangssignal bzw. werden die Ausgangssignale verarbeitet (z. B. der Ausgangssignalwert bzw. die entsprechenden Werte, die von dem geteilten Speicher 130 rückgewonnen sind, können mit der Zwangssteuerungsausschaltmaske 204 logisch UND-verknüpft werden, und das Ergebnis davon kann mit der Zwangssteuerungseinschaltmaske 208 logisch ODER-verknüpft werden.) Bei 790 wird der verarbeitete Ausgangssignalwert genutzt, um die Steuerung des Prozesses zu bewirken (z. B. Übertragen zu einem I/O-Modul). Bei 794 erfolgt eine Ermittlung, ob der I/O-Prozessor zu Ende gekommen ist (z. B. ob die Ausführung des Steuerprogramms beendet ist). Wenn die Ermittlung bei 794 NEIN lautet, wird der Prozessablauf bei 720 fortgesetzt. Wenn die Ermittlung bei 794 JA lautet, findet kein weiterer Prozessablauf statt.
  • Beispielhaftes Steuersystem
  • Die Verfahren und Systeme gemäß der vorliegenden Erfindung können im Zusammenhang mit zahlreichen Formen von Steuersystemen verwendet werden. Um den Kontext für verschiedene Anwendungen aufzuzeigen, demnach die Aspekte der Erfindung ausgeführt werden können, wird nunmehr unter Bezug auf 9 und 10 ein beispielhaftes Steuersystem erläutert. Es wird bemerkt, dass die verschiedenen Aspekte der Erfindung im Zusammenhang mit anderen Controllern und Steuersystemen verwendet werden können als denjenigen, die vorstehend dargestellt und erläutert sind. Ein verteiltes industrielles Steuersystem 310, das zur Verwendung mit der vorliegenden Erfindung geeignet ist, stellt erste und zweite Racks 312A und 312B zum Aufnehmen einer Anzahl von funktionellen Modulen 314 bereit, die durch Rückseitenebenen (Backplanes) 316A und 316B elektrisch miteinander verbunden sind, die entlang der Rückseite der Racks 312A bzw. 312B verlaufen. Jedes Modul 314 kann indivi duell von dem Regel 312A oder 312B einzeln abgenommen werden, wodurch es von seiner jeweiligen Rückseitenebene 316 für eine Reparatur oder einen Austausch abgenommen wird und eine kundenspezifische Konfiguration des verteilten Systems 310 erlaubt.
  • Die Module 314 innerhalb des Regals 312A können beispielsweise ein Stromversorgungsmodul 318, ein Prozessormodul 326, zwei Kommunikationsmodule 324A und 324B und zwei I/O-Module 320 umfassen. Ein Stromversorgungsmodul 318 empfängt von einer externen Quelle (nicht gezeigt) Strom und stellt geregelte Spannungen für die weiteren Module 314 mittels Leitern auf der Rückseitenebene 316A bereit. Die I/O-Module 320 stellen eine Schnittstelle zwischen den Eingängen von oder Ausgängen zu einer externen Anlage (nicht gezeigt) über eine Verkabelung 322 bereit, die an den I/O-Modulen 320 an Anschlüssen auf ihren Frontplatten angebracht sind. Die I/O-Module 320 wandeln Eingangssignale auf den Kabeln 322 in Digitalwörter zur Übertragung auf der Rückseitenebene 316A. Die I/O-Module 320 wandeln außerdem weitere Digitalwörter von der Rückseitenebene 316A in die notwendigen Signalpegel zur Steuerung der Anlage.
  • Die Kommunikationsmodule 324A und 324B stellen eine ähnliche Schnittstelle zwischen der Rückseitenebene 316A und einem von zwei externen Hochgeschwindigkeitskommunikationsnetzwerken 327A und 327B bereit. Die Hochgeschwindigkeitskommunikationsnetzwerke 327A und 327B können mit anderen Modulen 314 verbunden sein oder mit entfernten Racks von I/O-Modulen 320, mit Controllerkonfigurationswerkzeugen oder -systemen oder dergleichen. In dem in 9 gezeigten Beispiel steht das Hochgeschwindigkeitskommunikationsnetzwerk 327A mit der Rückseitenebene 316A über das Kommunikationsmodul 324A in Verbin dung, während das Hochgeschwindigkeitskommunikationsnetzwerk 327B des Kommunikationsmoduls 324B Kommunikationsmodule 324C und 324D im Rack 312B verbindet. Das Prozessormodul 326 verarbeitet Information, die durch die Kommunikationsmodule 324A und 324B sowie die I/O-Module 320 in Übereinstimmung mit einem gespeicherten Steuerprogramm bzw. einer -routine bereitgestellt wird, und es stellt Ausgangsinformation für die Kommunikationsmodule 324 und die I/O-Module 320 in Reaktion mit diesem gespeicherten Programm und empfangenen Eingangsmitteilungen bereit.
  • Wie in 10 gezeigt, ist jedes funktionale Modul 314 an der Rückseitenebene 316 mittels eines trennbaren elektrischen Verbinders 330 angebracht, der die Entfernung des Moduls 314 von der Rückseitenebene 316 derart erlaubt, dass es ersetzt oder repariert werden kann, ohne die übrigen Module 314 zu stören. Die Rückseitenebene 316 versorgt das Modul 314 sowohl mit Strom wie mit einem Kommunikationssignal zu den übrigen Modulen 314. Eine lokale Kommunikation mit den übrigen Modulen 314 durch die Rückseitenebene 316 wird mittels einer Rückseitenebenen-Schnittstelle 332 bewirkt, die die Rückseitenebene 316 über den Verbinder 330 elektrisch anschließt. Die Rückseitenebenen-Schnittstelle 332 überwacht Mitteilungen auf der Rückseitenebene 316 zum Identifizieren dieser Mitteilungen, die für das spezielle Modul 314 bestimmt sind, auf Grundlage einer Mitteilungsadresse, die Teil der Mitteilung ist und die Bestimmung der Mitteilung anzeigt. Mitteilungen, die durch die Rückseitenebenen-Schnittstelle 332 empfangen werden, werden zu einem internen Bus 334 in dem Modul 314 übertragen.
  • Der interne Bus 334 verbindet die Rückseitenebenen-Schnittstelle 332 mit einem Speicher 336, einem Mikroprozes sor 328, einem Frontplattenschaltkreis 338, einem I/O-Schnittstellenschaltkreis 339 (wenn es sich bei dem Modul um ein I/O-Modul 320 handelt) und mit einem Kommunikationsnetzwerkschnittstellenschaltkreis (wenn es sich bei dem Modul um ein Kommunikationsmodul 324 handelt). Der Mikroprozessor 328 kann ein Allzweckmikroprozessor sein, der die sequenzielle Ausführung von Instruktionen bereitstellt, die in dem Speicher 336 enthalten sind, und der Daten aus dem Speicher 336 und den übrigen, mit dem internen Bus 334 verbundenen Vorrichtungen liest und in diesen schreibt. Der Mikroprozessor 328 umfasst eine (nicht gezeigte) interne Taktschaltung, die die Taktung bzw. Zeitsteuerung des Mikroprozessors 328 bereitstellt; er kann jedoch auch mit einem externen Taktgeber 343 verbesserter Präzision kommunizieren. Dieser Taktgeber 343 kann ein kristallgesteuerter Oszillator oder ein Zeitstandard sein, einschließlich einer Funkverbindung zu einem externen Zeitstandard. Die Präzision des Taktgebers 343 kann in dem Speicher 336 als Qualitätsfaktor aufgezeichnet sein. Der Frontplattenschaltkreis 338 umfasst Statusanzeigeleuchten, die auf diesem Gebiet der Technik bekannt sind, sowie manuell betätigbare Schalter, wie etwa zum Verriegeln des Moduls 314 im Ausschaltzustand.
  • Der Speicher 336 kann Steuerprogramme oder -routinen umfassen, die durch den Mikroprozessor 328 ausgeführt werden, um Steuerfunktionen bereitzustellen, sowie Variablen und Daten, die für die Ausführung dieser Programme oder Routinen erforderlich sind. Für die I/O-Module kann der Speicher 336 außerdem eine I/O-Tabelle enthalten, die den aktuellen Status von Eingangssignalen und Ausgangssignalen enthält, die von dem industriellen Controller 310 über die I/O-Module 320 empfangen und zu diesen gesendet werden. Das Modul 314 kann dazu ausgelegt sein, die verschiedenen Methoden der Erfindung über Hardwarekonfigurationstechniken und/oder durch Softwareprogrammiertechniken durchzuführen.
  • Obwohl die Erfindung im Hinblick auf bestimmte, dargestellte Aspekte illustriert und erläutert worden ist, wird bemerkt, dass sich dem Fachmann äquivalente Abwandlungen und Modifikationen aus einem Studium und Verständnis der Beschreibung und der anliegenden Zeichnungen erschließen. Insbesondere im Hinblick auf die verschiedenen Funktionen, die durch die vorstehend erläuterten Komponenten durchgeführt werden (Aufbauten, Vorrichtungen, Schaltungen, Systeme und dergleichen), sollen die Begriffe (einschließlich einem Bezug auf "Einrichtung"), die verwendet wurden, um diese Bestandteile zu erläutern, dazu dienen, sich auf jeden Bestandteil zu beziehen, es sei denn, es ist etwas anderes angeführt, das die spezifizierte Funktion des erläuterten Bestandteils durchführt (d. h. funktionell äquivalent ist), obwohl er nicht strukturell äquivalent zu der offenbarten Struktur ist, die die Funktion in den vorstehend erläuterten beispielhaften Aspekten der Erfindung durchführt. In diesem Hinblick wird bemerkt, dass die Erfindung ein System sowie ein computerlesbares Medium mit computerausführbaren Instruktionen zum Durchführen der Akte und/oder Ereignisse der verschiedenen Verfahren gemäß der Erfindung enthält.
  • Während ein spezielles Merkmal der Erfindung unter Bezug auf lediglich eine von mehreren Implementierungen offenbart worden sein kann, kann dieses Merkmal mit einem oder mehreren weiteren Merkmalen der übrigen Implementierungen kombiniert werden, falls dies erwünscht und vorteilhaft ist für eine gegebene spezielle Anwendung. Der Begriff "Komponente bzw. Bestandteil" soll sich, so wie er in dieser Anmeldung verwendet wird, auf eine computerbezogene Gesamtheit beziehen, das heißt entweder auf Hardware, eine Kombination von Hardware und Software oder sich in Ausführung befindlicher Software. Beispielsweise kann eine Komponente bzw. ein Bestandteil, ohne hierauf beschränkt zu sein, ein Prozess sein, der auf einem Prozessor läuft, ein Prozessor, ein Objekt, ein ausführbares Mittel, ein Ausführungsknoten, ein Programm und ein Computer. In dem Umfang, in dem die Begriffe "enthält", "enthalten" bzw. "umfasst" bzw. "umfassen", "aufweist", "aufweisen" und Varianten hiervon in der detaillierten Beschreibung oder den Ansprüchen verwendet werden, sollen diese Begriffe ähnlich dem Begriff "umfassend" von einschließender Natur sein.
  • Die vorliegende Erfindung kann wie folgt zusammengefasst werden: In einem System und einem Verfahren für eine industrielle Steuerung wird eine I/O-Zwangssteuerung bereitgestellt. Die Erfindung umfasst einen Prozessor, einen geteilten Speicher und einen I/O-Prozessor mit Cache-Speicher. Die Erfindung sieht vor, dass der Cache-Speicher mit I/O-Zwangssteuerungsdaten aus dem geteilten Speicher geladen wird. Der I/O-Prozessor führt eine I/O-Zwangssteuerung unter Nutzung der I/O-Zwangssteuerungsdaten aus, die in dem Cache-Speicher gespeichert sind. Die Erfindung sieht außerdem vor, dass der Prozessor den I/O-Prozessor darüber informiert, dass I/O-Zwangssteuerungsdaten während der Ausführung des Steuerprogramms geändert werden. Die Erfindung sieht außerdem vor, dass der I/O-Prozessor den Cache-Speicher (z. B. über einen blockierten Schreibvorgang) auffrischt nach Empfang einer Änderung der I/O-Zwangssteuerungsdaten aus dem Prozessor.

Claims (17)

  1. Programmierbares Steuersystem, aufweisend: Einen Prozessor (110) zum Ausführen eines Steuerprogramms; einen geteilten Speicher (130) zum Speichern von Daten, die mit dem Steuerprogramm in Verbindung stehen, und von selten geänderten Daten (132, 134), welche I/O-Zwangssteuerungsdaten (134) umfassen; einen I/O-Prozessor (120) zum Durchführen von zumindest einer von Eingangs- und Ausgangsfunktionen, wobei der I/O-Prozessor (120) und der Prozessor (110) betriebsmäßig mit dem geteilten Speicher (130) verbunden sind; dadurch gekennzeichnet, dass der I/O-Prozessor (120) betriebsmäßig mit einem Cache-Speicher (140) verbunden ist, der zumindest einen Teil der selten geänderten Daten speichert, die in dem geteilten Speicher (130) gespeichert sind, wobei der I/O-Prozessor (120) die selten geänderten Daten, die in dem Cache-Speicher (140) gespeichert sind, nutzt und Eingangswerte in den geteilten Speicher (130) auf Grundlage von zumindest teilweise I/O-Zwangssteuerungsdaten (204, 208) speichert, die in dem Cache-Speicher (140) gespeichert sind.
  2. Programmierbares Steuersystem nach Anspruch 1, wobei der geteilte Speicher (130) als mit dem Steuerprogramm verbundene Daten zumindest mit Erfassungs- oder Betätigungsvorrichtungen verbundene Daten speichert, und wobei der I/O-Prozessor (120) Ausgangssignalwerte auf Grundlage von zumindest teilweise I/O-Zwangssteuerungsdaten ermittelt, die in dem Cache-Speicher gespeichert sind.
  3. Programmierbares Steuersystem nach Anspruch 1, wobei die selten geänderten Daten (132, 134) außerdem zumindest entweder Konfigurationsdaten (132), Fail-Safe-Information und/oder eine Verbindungstabelle, eine Ausgangssignal-Keep-Alive-Tabelle und Information umfasst, die mit einem Eingangssignalzeitablauf verbunden ist.
  4. Programmierbares Steuersystem nach Anspruch 1, wobei der Prozessor (110) eine Mitteilung zu dem I/O-Prozessor (120) in dem Fall sendet, dass die selten geänderten Daten (132, 134) während einer Ausführung des Steuerprogramms geändert worden sind, wobei der I/O-Prozessor (120) veranlasst, dass der Cache-Speicher (140) in Reaktion auf einen Empfang der Mitteilung aufgefrischt wird.
  5. Programmierbares Steuersystem nach Anspruch 4, wobei der I/O-Prozessor (120) ein blockiertes Schreiben zum Auffrischen des Cache-Speichers (140) in Reaktion auf den Empfang der Mitteilung durchführt.
  6. Programmierbares Steuersystem nach Anspruch 1, wobei die I/O-Zwangssteuerungsdaten (134) zumindest entweder binäre Werte oder Analogwerte umfassen.
  7. Programmierbares Steuersystem nach Anspruch 1, wobei der Prozessor (110) und der I/O-Prozessor (120) durch zumindest entweder einen seriellen Kommunikationsrückseitenebenenbus, einen Parallelkommunikationsrückseitenebenenbus oder ein Netzwerk verbunden sind.
  8. Verfahren zum Zwangssteuern von I/O-Werten in einer industriellen Steuerumgebung, aufweisend: Rückgewinnen von Zwangssteuerdaten (134), die mit einem Zwangseingangssignal oder Zwangsausgangssignal aus einem geteilten Speicher (130) verbunden sind, der mit einem Steuerprogramm und Zwangssteuerungsinformation verbundene Daten speichert; Laden eines Cache (140) mit der Zwangssteuerungsinformation, die mit einem zwangsgesteuerten Eingangssignal oder einem zwangsgesteuerten Ausgangssignal verbunden ist; Empfangen von Information, die mit einem Eingangssignal von einer Erfassungsvorrichtung verbunden ist; Rückgewinnen von Information, die mit einem Ausgangssignal zu einer Betätigungsvorrichtung verbunden ist; Zwangssteuern des Eingangssignals oder Ausgangssignals auf Grundlage von zumindest teilweise der Zwangssteuerungsinformation (134), die in den Cache (140) geladen ist unter Bereitstellung eines zwangsgesteuerten Eingangssignals für den geteilten Speicher (130) oder ein zwangsgesteuertes Ausgangssignal für die Betätigungsvorrichtung.
  9. Verfahren nach Anspruch 8, außerdem aufweisend: Auffrischen des Cache (140), wenn die Zwangssteuerungsinformation (134) während der Ausführung des Steuerprogramms geändert wird.
  10. Verfahren nach Anspruch 8, wobei das Laden des Cache (140) mit Zwangssteuerungsinformation das Rückgewinnen von Zwangssteuerungsinformation (134) aus dem geteilten Speicher (130) und das Laden der Zwangssteuerungsinformation in den Cache unter Verwendung eines I/O-Prozessors (120) umfasst.
  11. Verfahren nach Anspruch 10, wobei das Rückgewinnen von Zwangssteuerungsinformation aus dem geteilten Speicher (130) das Empfangen einer Mitteilung in dem I/O-Prozessor (120) umfasst, die anzeigt, dass die Zwangssteuerungsinformation (134) in dem geteilten Speicher geändert worden ist, und das Auffrischen von zumindest einem Teil des Cache (140) mit der geänderten Zwangssteuerungsinformation.
  12. Verfahren nach Anspruch 11, wobei das Auffrischen von zumindest einem Teil des Cache (140) das Lesen der geänderten Zwangssteuerungsinformation aus dem geteilten Speicher (130) und das Durchführen eines blockierten Schreibvorgangs umfasst, um den Cache-Speicher mit der geänderten Zwangssteuerungsinformation aufzufrischen.
  13. Verfahren nach Anspruch 10, wobei die Zwangssteuerung des Eingangssignals das Bereitstellen eines zwangsgesteuerten Eingangssignals für den geteilten Speicher (130) auf Grundlage der Zwangssteuerungsinformation unter Verwendung des I/O-Prozessors umfasst.
  14. Verfahren nach Anspruch 10, wobei die Zwangssteuerung des Ausgangssignals das Bereitstellen eines zwangsgesteuerten Ausgangssignals von der Betätigungsvorrichtung auf Grundlage der Zwangssteuerungsinformation (134) unter Verwendung des I/O-Prozessors (120) umfasst.
  15. Verfahren nach Anspruch 8 zum selektiven Zwangssteuern eines I/O in einem Steuersystem, das einen I/O-Prozessor (120) und einen Steuerprozessor (110) umfasst, der mit dem geteilten Speicher (130) verbunden ist, aufweisend: Selektives Speichern eines zwangsgesteuerten Eingangssignalwerts in dem geteilten Speicher (130) in Übereinstimmung mit Zwangssteuerungsinformation (134) in dem Cache (140), der mit dem I/O-Prozessor (120) verbunden ist; selektives Bereitstellen eines zwangsgesteuerten Ausgangssignalwerts für eine Betätigungsvorrichtung in Übereinstimmung mit der Zwangssteuerungsinformation (134) in dem Cache (140) unter Verwendung des I/O-Prozessors (120) und Erhalten von geänderter Zwangssteuerungsinformation aus dem geteilten Speicher (130) unter Verwendung des I/O-Prozessors (120) und Speichern der geänderten Zwangssteuerungsinformation in dem Cache (140) in Übereinstimmung mit einer Mitteilung von dem Steuerprozessor (110).
  16. Verfahren nach Anspruch 15, wobei das Speichern der geänderten Zwangssteuerungsinformation in dem Cache (140) das Auffrischen des Cache umfasst, während die geänderte Zwangssteuerungsinformation in eine virtuelle Speicherstelle (131) geschrieben wird.
  17. Verfahren nach Anspruch 15, aufweisend das Schreiben der geänderten Zwangssteuerungsinformation in den geteilten Speicher (130) und Senden der Mitteilung zu dem I/O-Prozessor (120) unter Verwendung des Steuerprozessors (110), wobei die Mitteilung eine Änderung der Zwangssteuerungsinformation in dem geteilten Speicher anzeigt.
DE60206336T 2001-07-25 2002-07-24 Industrielles Steuerungssystem und-verfaher mit einem E/A Prozessor mit Cache-speicher zur Optimierung der Übertragung von geteilten Daten Expired - Lifetime DE60206336T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US915024 2001-07-25
US09/915,024 US6865644B2 (en) 2001-07-25 2001-07-25 System and method for industrial controller with an I/O processor using cache memory to optimize exchange of shared data

Publications (2)

Publication Number Publication Date
DE60206336D1 DE60206336D1 (de) 2005-11-03
DE60206336T2 true DE60206336T2 (de) 2006-05-11

Family

ID=25435093

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60206336T Expired - Lifetime DE60206336T2 (de) 2001-07-25 2002-07-24 Industrielles Steuerungssystem und-verfaher mit einem E/A Prozessor mit Cache-speicher zur Optimierung der Übertragung von geteilten Daten

Country Status (3)

Country Link
US (1) US6865644B2 (de)
EP (1) EP1280028B1 (de)
DE (1) DE60206336T2 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7000046B1 (en) * 2003-01-17 2006-02-14 Unisys Corporation Standard channel I/O processor (SCIOP)
US8068739B2 (en) * 2003-06-12 2011-11-29 Finisar Corporation Modular optical device that interfaces with an external controller
US20050060114A1 (en) * 2003-08-29 2005-03-17 Finisar Testing and storing tuning information in modular optical devices
US9065571B2 (en) * 2003-08-29 2015-06-23 Finisar Corporation Modular controller that interfaces with modular optical device
US8891970B2 (en) * 2003-08-29 2014-11-18 Finisar Corporation Modular optical device with mixed signal interface
US8923704B2 (en) * 2003-08-29 2014-12-30 Finisar Corporation Computer system with modular optical devices
US7421526B2 (en) * 2005-08-24 2008-09-02 Honeywell International Inc. Reconfigurable virtual backplane architecture
US20080126352A1 (en) * 2006-09-27 2008-05-29 Rockwell Automation Technologies, Inc. Client side state cache for industrial control systems
US7742833B1 (en) 2006-09-28 2010-06-22 Rockwell Automation Technologies, Inc. Auto discovery of embedded historians in network
US7672740B1 (en) 2006-09-28 2010-03-02 Rockwell Automation Technologies, Inc. Conditional download of data from embedded historians
US7913228B2 (en) * 2006-09-29 2011-03-22 Rockwell Automation Technologies, Inc. Translation viewer for project documentation and editing
US8181157B2 (en) * 2006-09-29 2012-05-15 Rockwell Automation Technologies, Inc. Custom language support for project documentation and editing
US7933666B2 (en) * 2006-11-10 2011-04-26 Rockwell Automation Technologies, Inc. Adjustable data collection rate for embedded historians
US7974937B2 (en) * 2007-05-17 2011-07-05 Rockwell Automation Technologies, Inc. Adaptive embedded historians with aggregator component
US7930639B2 (en) * 2007-09-26 2011-04-19 Rockwell Automation Technologies, Inc. Contextualization for historians in industrial systems
US7930261B2 (en) 2007-09-26 2011-04-19 Rockwell Automation Technologies, Inc. Historians embedded in industrial units
US7917857B2 (en) 2007-09-26 2011-03-29 Rockwell Automation Technologies, Inc. Direct subscription to intelligent I/O module
US7962440B2 (en) 2007-09-27 2011-06-14 Rockwell Automation Technologies, Inc. Adaptive industrial systems via embedded historian data
US7882218B2 (en) * 2007-09-27 2011-02-01 Rockwell Automation Technologies, Inc. Platform independent historian
US7809656B2 (en) * 2007-09-27 2010-10-05 Rockwell Automation Technologies, Inc. Microhistorians as proxies for data transfer
US20090089671A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Programmable controller programming with embedded macro capability
TWI448847B (zh) * 2009-02-27 2014-08-11 Foxnum Technology Co Ltd 處理器分配控制系統及其控制方法
CA2961002C (en) * 2014-09-12 2023-12-05 Quantum Energy Storage Corporation Energy storage management system
US10503491B2 (en) 2016-09-16 2019-12-10 Honeywell International Inc. On-process migration of non-redundant input/output (I/O) firmware
KR20190091931A (ko) * 2018-01-30 2019-08-07 엘에스산전 주식회사 Plc 백플레인의 핫 스왑 장치
US11016141B2 (en) * 2018-04-06 2021-05-25 Bently Nevada, Llc Monitoring systems for industrial machines having dynamically adjustable computational units
CN111552172B (zh) * 2020-04-27 2023-12-15 浙江中控技术股份有限公司 一种数据处理方法、装置、存储介质及电子设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4553224A (en) 1983-08-04 1985-11-12 Allen-Bradley Company Multiplexed data handler for programmable controller
US5161219A (en) 1989-01-13 1992-11-03 International Business Machines Corporation Computer system with input/output cache
US5265005A (en) * 1990-08-31 1993-11-23 Allen-Bradley Company, Inc. Processor for a programmable controller
US5212631A (en) * 1990-08-31 1993-05-18 Allen-Bradley Company, Inc. Programmable controller processor module having multiple program instruction execution sections
US5225974A (en) 1990-10-30 1993-07-06 Allen-Bradley Company, Inc. Programmable controller processor with an intelligent functional module interface
US5295059A (en) * 1992-09-09 1994-03-15 Allen-Bradley Company, Inc. Programmable controller with ladder diagram macro instructions
DE4423559A1 (de) 1993-11-09 1995-05-11 Hewlett Packard Co Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher
US5685011A (en) 1995-05-15 1997-11-04 Nvidia Corporation Apparatus for handling failures to provide a safe address translation in an improved input/output architecture for a computer system
US5845149A (en) 1996-04-10 1998-12-01 Allen Bradley Company, Llc Industrial controller with I/O mapping table for linking software addresses to physical network addresses
US5867382A (en) 1996-09-10 1999-02-02 Mclaughlin; Michael G. Generic control systems using a virtual rack module
JPH10134025A (ja) 1996-10-30 1998-05-22 Mitsubishi Electric Corp 半導体集積回路
US6223266B1 (en) * 1997-08-20 2001-04-24 Cypress Semiconductor Corp. System and method for interfacing an input/output system memory to a host computer system memory
US6085263A (en) * 1997-10-24 2000-07-04 Compaq Computer Corp. Method and apparatus for employing commit-signals and prefetching to maintain inter-reference ordering in a high-performance I/O processor
US6279084B1 (en) * 1997-10-24 2001-08-21 Compaq Computer Corporation Shadow commands to optimize sequencing of requests in a switch-based multi-processor system
JP3149856B2 (ja) * 1998-08-31 2001-03-26 日本電気株式会社 磁気ディスク制御装置
JP2001167060A (ja) * 1999-12-07 2001-06-22 Hitachi Ltd タスク並列化方法

Also Published As

Publication number Publication date
EP1280028A3 (de) 2004-03-17
EP1280028B1 (de) 2005-09-28
EP1280028A2 (de) 2003-01-29
DE60206336D1 (de) 2005-11-03
US6865644B2 (en) 2005-03-08
US20030023780A1 (en) 2003-01-30

Similar Documents

Publication Publication Date Title
DE60206336T2 (de) Industrielles Steuerungssystem und-verfaher mit einem E/A Prozessor mit Cache-speicher zur Optimierung der Übertragung von geteilten Daten
DE69127241T2 (de) Programmierbare Schaltung zur Leistungsverminderung in einer programmierbaren logischen Schaltung
DE3889578T2 (de) Vorrichtung zur Sicherung und Rückspeicherung einer Registerinformation.
DE69815392T2 (de) Systeme und verfahren zur synchronisierung von redundanten steuerungen mit minimaler steuerungsstörung
DE3685711T2 (de) Anordnung zur simulation von rechnerfunktionen von grossrechenanlagen.
WO2001024368A1 (de) Rekonfigurierbares gate-array
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE69816714T2 (de) Instrumentationsanordnung für eine Maschine mit nichtuniformen Speicherzugriffen
DE102016007651B4 (de) Numerische Steuerung mit Funktion zur automatischen Auswahl eines Speicherungsziels für ein Bearbeitungsprogramm
DE68926266T2 (de) Datenprozessor mit der Fähigkeit, Unterbrechungen mit hoher Geschwindigkeit zu verarbeiten
DE10213860B4 (de) Programmierbare Steuerung
CH692311A5 (de) Datenverarbeitungsanlage zum Erzeugen eines Unterbruchsignals.
DE102016006202A1 (de) Numerische Steuervorrichtung zum Verwalten von Bearbeitungsdaten und Bearbeitungsergebnissen
DE3689491T2 (de) Überwachungsschaltung.
EP0347970B1 (de) Verfahren zum Prüfen eines Festwertspeichers und Anordnung zur Durchführung des Verfahrens
DE68924557T2 (de) Seitentabellen in einem virtuellen Speicher.
DE112018000092T5 (de) SPS, Netzwerkeinheit, CPU und Datenübertragungsverfahren
DE3931505C2 (de) Speichersteuerung in einer Datenverarbeitungsanlage
DE4103880C2 (de) Bildverarbeitungsgerät und -verfahren
DD294115A5 (de) Vorrichtung und verfahren zur signalverarbeitung
DE19713178A1 (de) Schaltungsanordnung mit einem Prozessor und einem Datenspeicher
EP0326803B1 (de) Anordnung zur Erweiterung eines Befehlsspeicherbereichs
DE3123379A1 (de) Verfahren und einrichtung zum zufuehren aeusserer ein- und ausgabedaten fuer ein mehrprozessorsystem
DE19638772A1 (de) Telekommunikationsgerät, insbesondere Mobilfunkendgerät
DE19530154A1 (de) Elektronisches Gerät

Legal Events

Date Code Title Description
8364 No opposition during term of opposition