DE102017005879A1 - Steuerungssystem und Steuerverfahren - Google Patents

Steuerungssystem und Steuerverfahren Download PDF

Info

Publication number
DE102017005879A1
DE102017005879A1 DE102017005879.2A DE102017005879A DE102017005879A1 DE 102017005879 A1 DE102017005879 A1 DE 102017005879A1 DE 102017005879 A DE102017005879 A DE 102017005879A DE 102017005879 A1 DE102017005879 A1 DE 102017005879A1
Authority
DE
Germany
Prior art keywords
control
program
controllers
plc
output data
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
DE102017005879.2A
Other languages
English (en)
Other versions
DE102017005879B4 (de
Inventor
Motoyoshi Miyachi
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102017005879A1 publication Critical patent/DE102017005879A1/de
Application granted granted Critical
Publication of DE102017005879B4 publication Critical patent/DE102017005879B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1105I-O

Landscapes

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

Abstract

Ein PLC-System (10) umfasst eine Mehrzahl von E/A-Vorrichtungen (16n), die jeweils ein Steuerziel (18n) jeder einer Mehrzahl von PLCs (14n) mit jeder der Mehrzahl von PLCs (14n) verbinden, und einen PC (12). Jede eine der Mehrzahl von PLCs (14n) speichert erste Ausgabedaten, die durch Ausführen eines selbstzugewiesenen Programms (Pn) erhalten werden, um das Steuerziel (18n) zu steuern, das mit jeder PLC (14n) verbunden ist, und speichert zweite Ausgabedaten, die erhalten werden, wenn der PC (12) oder eine andere PLC (14n) ein anderes Programm (Pn) ausführt, das dem PC (12) oder der anderen PLC (14n) zugeordnet ist, um das Steuerziel (18n) zu steuern, das mit der einen PLC (14n) verbunden ist. Jede der Mehrzahl von PLCs (14n) gibt eines der ersten Ausgabedaten und der zweiten Ausgabedaten an die E/A-Vorrichtung (16n) aus, die mit jeder PLC (14n) verbunden ist, auf Basis einer Auswahlinformation, die vom PC (12) gesendet wird.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung:
  • Die vorliegende Erfindung bezieht sich auf ein Steuerungssystem, das eine Mehrzahl von Steuerungen und eine Steuervorrichtung höherer Ebene umfasst, die die Mehrzahl von Steuerungen steuert und verwaltet, und auf ein Steuerverfahren.
  • Beschreibung des verwandten Standes der Technik:
  • Das japanische offengelegte Patent mit der Veröffentlichungs-Nr. 2013-168090 (nachstehend als JP2013-168090A bezeichnet) offenbart ein Mehrfachsteuerungssystem, das eine Mehrzahl von PLCs (programmierbare Logiksteuerungen), die als industrielle Vorrichtungen verwendet werden, und einen gemeinsam genutzten Server umfasst, der die Mehrzahl von PLCs verwaltet.
  • Jede der Mehrzahl von PLCs ist über eine E/A-Vorrichtung (Eingabe-/Ausgabevorrichtung) mit einem Steuerziel jeder PLC verbunden.
  • Ferner wählt der gemeinsam genutzte Server des Mehrfachsteuerungssystems bei Erkennen einer anomalen PLC eine PLC mit geringer Last aus, d. h. eine PLC, die ein zusätzliches Programm ausführen kann. Danach wird bewirkt, dass die ausgewählte PLC ein Programm lädt, das von der als anomale PLC ermittelten PLC ausgeführt wird, und das Programm anstatt der anomalen PLC ausführt.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Im Allgemeinen werden Daten wie z. B. ein Eingabe-/Ausgabesignal einer E/A-Vorrichtung (E/A-Gerät) in einem Hauptspeicher einer PLC gespeichert. Wenn eine Anomalie in einer bestimmten PLC auftritt und wenn eine andere PLC die Steuerung eines Steuerziels übernimmt, das von der PLC gesteuert wurde, bei der eine Anomalie aufgetreten ist, muss die andere PLC somit Daten, die den bislang erhaltenen Ausführungsergebnissen nicht widersprechen, an die mit dem Steuerziel der anomalen PLC verbundenen E/A-Vorrichtung ausgeben. Somit muss die bestimmte PLC Daten, die im Hauptspeicher gespeichert sind, wie sie sind in die andere PLC kopieren, die die Steuerung übernommen hat.
  • Dieses E/A-Signal (Eingabe-/Ausgabesignal) und dergleichen haben eine große Größe von mehreren Hunderten Kilobytes bis mehrere Megabytes. Wenn Daten aus dem Hauptspeicher der PLC, bei der die Anomalie aufgetreten ist, über das Ethernet (eingetragene Handelsmarke) auf die andere PLC kopiert werden, überschreitet somit eine Kopierzeit einen Ausführungszyklus der PLC zum Ausführen des Programms im Wesentlichen. Aus diesem Grund ist es nicht möglich, die Steuerung des Steuerziels fortzusetzen. Wenn bei einer Steuereinheit einer PLC eine Anomalie auftritt, ist die Zuverlässigkeit von in einem Hauptspeicher gespeicherten Daten ferner ebenfalls gering. Aus diesem Grund wird nicht bevorzugt, diese Daten auf die andere PLC zu kopieren und die Steuerung des Steuerziels der PLC, bei der die Anomalie aufgetreten ist, fortzusetzen.
  • Aus diesem Grund kann eine in der obigen JP2013-168090A offenbarte Technik Wahrscheinlichkeiten, dass die Steuerung des Steuerziels unterbrochen wird oder Daten an das Steuerziel ausgegeben werden, die den bislang erhaltenen Ausführungsergebnissen widersprechen, wenn die Steuerung des Steuerziels auf die andere PLC gewechselt wird, nicht umgehen.
  • Ein Ziel der vorliegenden Erfindung liegt daher darin, ein Steuerungssystem und ein Steuerverfahren bereitzustellen, das Steuersubjekte für ein Steuerziel wechseln kann, während gleichzeitig die Steuerung des Steuerziels in einem stabilen Zustand fortgesetzt wird.
  • Ein erster Aspekt der vorliegenden Erfindung ist ein Steuerungssystem: eine Mehrzahl von Steuerungen; eine Mehrzahl von E/A-Vorrichtungen, die jeweils so konfiguriert sind, dass sie ein Steuerziel jeder der Mehrzahl von Steuerungen und jede der Mehrzahl von Steuerungen verbinden und eine erforderliche Information zwischen diesen senden; und eine Steuervorrichtung höherer Ebene, die so konfiguriert ist, dass sie die Mehrzahl von Steuerungen steuert und verwaltet, wobei die Steuervorrichtung höherer Ebene eine Speichereinheit umfasst, die so konfiguriert ist, dass sie eine Mehrzahl von Programmen speichert, die von jeder der Mehrzahl von Steuerungen ausgeführt werden, und einen Prozessor, der so konfiguriert ist, dass er die Mehrzahl von Programmen, die in der Speichereinheit gespeichert sind, als selbstzugewiesene Programme für jeweilige Steuerungen zuordnet, um zu bewirken, dass jede der Mehrzahl von Steuerungen das Steuerziel steuert, das über die E/A-Vorrichtung mit diesen verbunden ist, und ferner alle oder einen Teil der Mehrzahl von Programmen, die in der Speichereinheit gespeichert sind, der Steuervorrichtung höherer Ebene als andere Programme zuordnet, und die Mehrzahl von Steuerungen so steuert, dass alle oder ein Teil der Mehrzahl von Programmen in einem Ausführungszyklus parallel doppelt ausgeführt werden bzw. wird, und wobei jede der Mehrzahl von Steuereinheiten eine Kommunikationseinheit umfasst, umfassend einen ersten Eingabepufferspeicher, der so konfiguriert ist, dass er Eingabedaten speichert, die von dem Steuerziel gesendet werden, das über die E/A-Vorrichtung mit der einen Steuerung verbunden ist, einen ersten Ausgabepufferspeicher, der so konfiguriert ist, dass er erste Ausgabedaten speichert, die durch Ausführen des selbstzugewiesenen Programms erhalten werden, das der einen Steuerung zugeordnet ist, um das Steuerziel zu steuern, das über die E/A-Vorrichtung mit der einen Steuerung verbunden ist, und einen zweiten Ausgabepufferspeicher, der so konfiguriert ist, dass er zweite Ausgabedaten speichert, die erhalten werden, wenn die Steuervorrichtung höherer Ebene oder eine andere Steuerung das andere Programm ausführt, das der Steuervorrichtung höherer Ebene oder der anderen Steuerung zugeordnet ist, um das Steuerziel zu steuern, das über die E/A-Vorrichtung mit der einen Steuerung verbunden ist, und wobei die eine Steuerung so konfiguriert ist, dass sie eines der ersten Ausgabedaten und der zweiten Ausgabedaten an das Steuerziel ausgibt, das über die E/A-Vorrichtung mit der einen Steuerung verbunden ist, auf Basis einer Auswahlinformation, die von der Steuervorrichtung höherer Ebene gesendet wird, wobei die ersten Ausgabedaten im ersten Ausgabepufferspeicher gespeichert werden, wobei die zweiten Ausgabedaten im zweiten Ausgabepufferspeicher gespeichert werden.
  • Gemäß dieser Konfiguration ist es möglich, die Ausgabedaten, die bislang erhaltenen Ausführungsergebnissen nicht widersprechen, an die mit dem Steuerziel verbundene E/A-Vorrichtung auszugeben, und zwar sogar dann, wenn Steuersubjekte zum Steuern des Steuerziels gewechselt werden. Folglich ist es möglich, die Steuersubjekte für das Steuerziel zu wechseln, während die Steuerung des Steuerziels im stabilen Zustand fortgesetzt wird.
  • Der erste Aspekt der vorliegenden Erfindung ist das Steuerungssystem und jede der Mehrzahl von Steuerungen kann ferner einen Prozessor umfassen, der so konfiguriert ist, dass er die ersten Ausgabedaten durch Ausführen des selbstzugewiesenen Programms generiert, die der einen Steuerung zugeordnet sind, auf Basis der Eingabedaten, die vom Steuerziel gesendet werden, das über die E/A-Vorrichtung mit der einen Steuerung verbunden ist, und dass er die zweiten Ausgabedaten durch Ausführen des anderen Programms, das der einen Steuerung zugeordnet ist, auf Basis der Eingabedaten generiert, die vom Steuerziel gesendet werden, das über eine andere E/A-Vorrichtung mit der anderen der Steuerungen verbunden ist und gemäß dem anderen Programm gesteuert wird, das der einen Steuerung zugeordnet ist. Auf diese Weise kann die eine Steuerung das Programm (das selbstzugewiesene Programm oder das andere Programm) auf Basis der Eingabedaten ausführen, die von einem beliebigen Steuerziel gesendet werden, die Ausgabedaten generieren, die an das Steuerziel ausgegeben werden, das die Eingabedaten gesendet hat, und das Steuerziel im stabilen Zustand steuern.
  • Der erste Aspekt der vorliegenden Erfindung ist das Steuerungssystem und der Prozessor der Steuervorrichtung höherer Ebene kann so konfiguriert werden, dass er die zweiten Ausgabedaten durch Ausführen des anderen Programms generiert, das der Steuervorrichtung höherer Ebene zugeordnet ist, auf Basis der Eingabedaten, die vom Steuerziel gesendet werden, das gemäß dem anderen Programm gesteuert wird, das der Steuervorrichtung höherer Ebene zugeordnet ist. Folglich kann die Steuervorrichtung höherer Ebene das andere Programm auf Basis der Eingabedaten ausführen, die vom Steuerziel gesendet werden, die Ausgabedaten generieren, die an das Steuerziel ausgegeben werden, das die Eingabedaten gesendet hat, und das Steuerziel im stabilen Zustand steuern.
  • Der erste Aspekt der vorliegenden Erfindung ist das Steuerungssystem und der Prozessor der Steuervorrichtung höherer Ebene kann so konfiguriert sein, dass er die Auswahlinformation an die Mehrzahl von Steuerungen ausgibt, um zu bewirken, dass eine der Steuerungen, die als normale Steuerung ermittelt wurde, die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher gespeichert sind, an das Steuerziel ausgibt, das über die E/A-Vorrichtung mit der normalen Steuerung verbunden ist, und um zu bewirken, dass eine andere der Steuerungen, die als anomale Steuerung ermittelt wurde, die zweiten Ausgabedaten, die im zweiten Ausgabepufferspeicher gespeichert sind, an das Steuerziel ausgibt, das über die E/A-Vorrichtung mit der anomalen Steuerung verbunden ist. Demgemäß kann, sogar wenn eine Anomalie in der Steuerung auftritt, die andere normale Steuerung anstatt der als anomale Steuerung ermittelten Steuerung das Steuerziel steuern, das mit der als anomale Steuerung ermittelten Steuerung verbunden ist. Folglich ist es möglich, die Steuersubjekte des Steuerziels, das mit der als anomale Steuerung ermittelten Steuerung verbunden ist, zu wechseln, während die Steuerung des Steuerziels, das mit der als anomale Steuerung ermittelten Steuerung verbunden ist, im stabilen Zustand fortgesetzt wird.
  • Der erste Aspekt der vorliegenden Erfindung ist das Steuerungssystem und der Prozessor der Steuervorrichtung höherer Ebene kann so konfiguriert sein, dass er ermittelt, ob jede der Mehrzahl von Steuerungen normal oder anomal ist, auf Basis zumindest eines von einer Fehlerinformation und einem Überlebenssignal jeder der Mehrzahl von Steuerungen, wie von der Mehrzahl von Steuerungen erhalten. Folglich kann die Steuervorrichtung höherer Ebene genau ermitteln, ob die Steuerung normal oder anomal ist.
  • Der erste Aspekt der vorliegenden Erfindung ist das Steuerungssystem und die Kommunikationseinheit der Steuerung kann ferner eine Auswahleinheit umfassen, die so konfiguriert ist, dass sie eine der ersten Ausgabedaten und der zweiten Ausgabedaten auf Basis der Auswahlinformation als Ausgabedaten auswählt, wobei die ersten Ausgabedaten im ersten Ausgabepufferspeicher gespeichert werden, die zweiten Ausgabedaten im zweiten Ausgabepufferspeicher gespeichert werden und die Ausgabedaten an das Steuerziel ausgegeben werden, das über die E/A-Vorrichtung mit jeder Steuerung verbunden ist. Folglich ist es möglich, die an die E/A-Vorrichtung ausgegebenen Ausgabedaten auf einfache Weise zu wechseln.
  • Der erste Aspekt der vorliegenden Erfindung ist das Steuerungssystem und der Prozessor der Steuervorrichtung höherer Ebene kann so konfiguriert sein, dass er eine Lastinformation über die Kommunikationseinheit der Mehrzahl von Steuerungen erhält und das andere Programm auf Basis der erhaltenen Lastinformation zuordnet, wobei die Lastinformation eine Last indiziert, die angelegt ist, wenn jede der Mehrzahl von Steuerungen das selbstzugewiesene Programm ausführt. Folglich ist es möglich, das andere Programm zuzuordnen, so dass jede der Mehrzahl von Steuerungen die Verarbeitung des Programms in einem Ausführungszyklus beendet.
  • Der erste Aspekt der vorliegenden Erfindung ist das Steuerungssystem und die Steuervorrichtung höherer Ebene kann so konfiguriert sein, dass sie die Eingabedaten empfängt, die im ersten Eingabepufferspeicher der einen Steuerung gespeichert sind, die über die E/A-Vorrichtung mit dem Steuerziel verbunden ist, das gemäß dem anderen Programm gesteuert wird, das der Steuervorrichtung höherer Ebene zugeordnet ist, und dass sie die zweiten Ausgabedaten an die eine Steuerung sendet, die über die E/A-Vorrichtung mit dem Steuerziel verbunden ist, das gemäß dem anderen Programm gesteuert wird, das der Steuervorrichtung höherer Ebene zugeordnet ist. Folglich kann die Steuervorrichtung höherer Ebene die zweiten Ausgabedaten, die den bislang erhaltenen Ausführungsergebnissen nicht widersprechen, an die Steuerung senden und das Steuerziel steuern, das über die E/A-Vorrichtung mit der PLC verbunden ist.
  • Der erste Aspekt der vorliegenden Erfindung ist das Steuerungssystem und jede einer der Mehrzahl von Steuerungen kann ferner einen zweiten Eingabepufferspeicher umfassen, der so konfiguriert ist, dass er die Eingabedaten speichert, die vom Steuerziel gesendet werden, das über die E/A-Vorrichtung mit einer anderen der Steuerungen verbunden ist und gemäß dem anderen Programm gesteuert wird, das der einen Steuerung zugeordnet ist, und einen dritten Ausgabepufferspeicher, der so konfiguriert ist, dass er die zweiten Ausgabedaten speichert, die durch Ausführen des anderen Programms erhalten werden, das der einen Steuerung zugeordnet ist, um das Steuerziel zu steuern, das über die E/A-Vorrichtung mit der anderen der Steuerungen verbunden ist, und der so konfiguriert ist, dass er die Eingabedaten über die Steuervorrichtung höherer Ebene empfängt, wobei die Eingabedaten im ersten Eingabepufferspeicher der anderen der Steuerungen gespeichert werden, die über die E/A-Vorrichtung mit dem Steuerziel verbunden sind, das gemäß dem anderen Programm gesteuert wird, das der einen Steuerung zugeordnet ist, dass er die empfangenen Eingabedaten im zweiten Eingabepufferspeicher speichert und die zweiten Ausgabedaten über die Steuervorrichtung höherer Ebene an die andere der Steuerungen sendet, wobei die zweiten Ausgabedaten im dritten Ausgabepufferspeicher gespeichert werden und die andere der Steuerungen über die E/A-Vorrichtung mit dem Steuerziel verbunden ist, das gemäß dem anderen Programm gesteuert wird, das der einen Steuerung zugeordnet ist. Folglich kann die eine Steuerung höherer Ebene die zweiten Ausgabedaten, die den bislang erhaltenen Ausführungsergebnissen nicht widersprechen, an die andere Steuerung senden und das Steuerziel steuern, das über die E/A-Vorrichtung mit der anderen Steuerung verbunden ist.
  • Ein zweiter Aspekt der vorliegenden Erfindung ist ein Steuerverfahren eines Steuerungssystems, das umfasst: eine Mehrzahl von Steuerungen; eine Mehrzahl von E/A-Vorrichtungen, die so konfiguriert sind, dass sie ein Steuerziel jeder der Mehrzahl von Steuerungen mit jeder der Mehrzahl von Steuerungen verbinden und eine erforderliche Information zwischen dem Steuerziel und jeder der Steuerungen senden; und eine Steuervorrichtung höherer Ebene, die so konfiguriert ist, dass sie die Mehrzahl von Steuerungen steuert und verwaltet, wobei die Steuervorrichtung höherer Ebene eine Speichereinheit umfasst, die so konfiguriert ist, dass sie jedes einer Mehrzahl von Programmen speichert, die von jeder der Mehrzahl von Steuerungen ausgeführt werden, und wobei jede der Mehrzahl von Steuerungen eine Kommunikationseinheit umfasst, die einen ersten Eingabepufferspeicher, einen ersten Ausgabepufferspeicher und einen zweiten Ausgabepufferspeicher umfasst, und wobei das Steuerverfahren umfasst: in der Steuervorrichtung höherer Ebene einen Zuordnungsschritt zum Zuordnen jedes der Mehrzahl von Programm, die in der Speichereinheit gespeichert ist, als selbstzugewiesenes Programm, an jede der Mehrzahl von Steuerungen, um zu bewirken, dass jede der Mehrzahl von Steuerungen das Steuerziel steuert, das über die E/A-Vorrichtung mit jeder Steuerung verbunden ist, und ferner zum Zuordnen aller oder eines Teils der Mehrzahl von Programmen als anderes Programm zur Steuervorrichtung höherer Ebene und der Mehrzahl von Steuerungen, um zu bewirken, dass die Steuervorrichtung höherer Ebene und die Mehrzahl von Steuerungen alle oder den Teil der Mehrzahl von Programmen, die in der Speichereinheit gespeichert sind, in einem Ausführungszyklus parallel doppelt ausführen; und in jeder einer der Mehrzahl von Steuerungen einen ersten Eingabe-/Speicherschritt zum Speichern von Eingabedaten im ersten Eingabepufferspeicher, wobei die Eingabedaten vom Steuerziel gesendet werden, das über die E/A-Vorrichtung mit der einen Steuerung verbunden ist; in der einen Steuerung einen ersten Ausgabe-/Speicherschritt des Speicherns von ersten Ausgabedaten im ersten Ausgabepufferspeicher, wobei die ersten Ausgabedaten durch Ausführen des selbstzugewiesenen Programms erhalten werden, das der einen Steuerung zugeordnet ist, um das Steuerziel zu steuern, das über die E/A-Vorrichtung mit der einen Steuerung verbunden ist; in der einen Steuerung einen zweiten Ausgabe-/Speicherschritt zum Speichern von zweiten Ausgabedaten im zweiten Ausgabepufferspeicher, wobei die zweiten Ausgabedaten erhalten werden, wenn die Steuervorrichtung höherer Ebene oder eine andere der Steuerungen des andere Programm ausführt, das der Steuervorrichtung höherer Ebene oder der anderen Steuerung zugeordnet ist, um das Steuerziel zu steuern, das über die E/A-Vorrichtung mit der einen Steuerung verbunden ist; und in der einen Steuerung einen Ausgabeschritt zum Ausgeben einer der ersten Ausgabedaten und der zweiten Ausgabedaten an das Steuerziel, das über die E/A-Vorrichtung mit der einen Steuerung verbunden ist, auf Basis einer Auswahlinformation, die von der Steuervorrichtung höherer Ebene gesendet wurde, wobei die ersten Ausgabedaten im ersten Ausgabepufferspeicher gespeichert werden, wobei die zweiten Ausgabedaten im zweiten Ausgabepufferspeicher gespeichert werden.
  • Gemäß dieser Konfiguration ist es möglich, die Ausgabedaten, die den bislang erhaltenen Ausführungsergebnissen nicht widersprechen, an die mit dem Steuerziel verbundene E/A-Vorrichtung auszugeben, und zwar sogar dann, wenn das Steuersubjekt gewechselt wird, das das Steuerziel steuert. Folglich ist es möglich, das Steuersubjekt für das Steuerziel zu wechseln, während die Steuerung des Steuerziels im stabilen Zustand fortgesetzt wird.
  • Der zweite Aspekt der vorliegenden Erfindung ist ein Steuerverfahren und kann ferner umfassen: in der einen Steuerung einen ersten Generierungsschritt zum Generieren der ersten Ausgabedaten durch Ausführen des selbstzugewiesenen Programms, das der einen Steuerung zugeordnet ist, auf Basis der Eingabedaten, die vom Steuerziel gesendet werden, das über die E/A-Vorrichtung mit der einen Steuerung verbunden ist; in der Steuerung einen zweiten Generierungsschritt des Generierens der zweiten Ausgabedaten durch Ausführen des anderen Programms, das der einen Steuerung zugeordnet ist, auf Basis der Eingabedaten, die vom Steuerziel gesendet werden, das über die E/A-Vorrichtung mit einer anderen der Steuerungen verbunden ist und gemäß dem anderen Programm gesteuert wird, das der einen Steuerung zugeordnet ist; und in der Steuervorrichtung höherer Ebene einen dritten Generierungsschritt des Generierens der zweiten Ausgabedaten durch Ausführen des anderen Programms, das der Steuervorrichtung höherer Ebene zugeordnet ist, auf Basis der Eingabedaten, die vom Steuerziel gesendet werden, das gemäß dem anderen Programm gesteuert wird, das der Steuervorrichtung höherer Ebene zugeordnet ist. Folglich kann die Steuerung das Programm (das selbstzugewiesene Programm oder das andere Programm) auf Basis der Eingabedaten ausführen, die vom Steuerziel gesendet werden, die Ausgabedaten generieren, die an das Steuerziel ausgegeben werden, das die Eingabedaten gesendet hat, und das Steuerziel im stabilen Zustand steuern. Ferner kann die Steuervorrichtung höherer Ebene das andere Programm auf Basis der Eingabedaten ausführen, die vom Steuerziel gesendet werden, die Ausgabedaten generieren, die an das Steuerziel ausgegeben werden, das die Eingabedaten gesendet hat, und das Steuerziel im stabilen Zustand steuern.
  • Der zweite Aspekt der vorliegenden Erfindung ist das Steuerverfahren, die Kommunikationseinheit kann ferner eine Auswahleinheit umfassen und das Steuerverfahren kann in der Steuervorrichtung höherer Ebene ferner einen Anomalieermittlungsschritt zum Ermitteln, ob jede der Mehrzahl von Steuerungen normal oder anomal ist, auf Basis zumindest eines von einer Fehlerinformation und eines Überlebenssignals der jeden der Mehrzahl von Steuerungen, wie von der Mehrzahl von Steuerungen erhalten; und in der Steuervorrichtung höherer Ebene einen Auswahl-/Ausgabeschritt zum Ausgeben der Auswahlinformation an die Mehrzahl von Steuerungen, um zu bewirken, dass eine der Steuerungen, die als normal ermittelt wurde, die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher gespeichert sind, an das Steuerziel ausgibt, das über die E/A-Vorrichtung mit der normalen Steuerung verbunden ist, und um zu bewirken, dass eine andere der Steuerung, die als anomal ermittelt wurde, die zweiten Ausgabedaten, die im zweiten Ausgabepufferspeicher gespeichert sind, an das Steuerziel ausgibt, das über die E/A-Vorrichtung mit der anomalen Steuerung verbunden ist; und in der Auswahleinheit der Kommunikationseinheit jeder der Mehrzahl von Steuerungen einen Auswahlschritt zum Auswählen eines der ersten Ausgabedaten und der zweiten Ausgabedaten als Ausgabedaten auf Basis der Auswahlinformation, wobei die ersten Ausgabedaten im ersten Ausgabepufferspeicher gespeichert werden, die zweiten Ausgabedaten im zweiten Ausgabepufferspeicher gespeichert werden und die Ausgabedaten an das Steuerziel ausgegeben werden, das über die E/A-Vorrichtung mit jeder Steuerung verbunden ist. Folglich kann die Steuervorrichtung höherer Ebene genau ermitteln, ob die Steuerung normal oder anomal ist. Ferner kann, sogar wenn eine Anomalie in der Steuerung auftritt, die eine andere normale Steuerung anstatt der als anomale Steuerung ermittelten Steuerung das Steuerziel steuern, das mit der als anomale Steuerung ermittelten Steuerung verbunden ist. Folglich ist es möglich, die Steuersubjekte des Steuerziels, das mit der als anomale Steuerung ermittelten Steuerung verbunden ist, zu wechseln, während die Steuerung des Steuerziels, das mit der als anomale Steuerung ermittelten Steuerung verbunden ist, im stabilen Zustand fortgesetzt wird. Ferner kann die Kommunikationseinheit die an die E/A-Vorrichtung ausgegebenen Ausgabedaten auf einfache Weise wechseln.
  • Der zweite Aspekt der vorliegenden Erfindung ist das Steuerverfahren und kann in der Steuervorrichtung höherer Ebene einen Erhaltungsschritt zum Erhalten einer Lastinformation über die Kommunikationseinheit der Mehrzahl von Steuerungen umfassen, wobei die Lastinformation eine Last indiziert, die angelegt ist, wenn jede der Mehrzahl von Steuerungen das selbstzugewiesene Programm ausführt, und im Zuordnungsschritt kann das andere Programm auf Basis der erhaltenen Lastinformation zugeordnet werden. Folglich ist es möglich, das andere Programm zuzuordnen, um zu bewirken, dass jede der Mehrzahl von Steuerungen die Verarbeitung des Programms in einem Ausführungszyklus beendet.
  • Der zweite Aspekt der vorliegenden Erfindung ist das Steuerverfahren und kann ferner umfassen: in der Steuervorrichtung höherer Ebene einen Empfangsschritt zum Empfangen der Eingabedaten, die im ersten Eingabepufferspeicher der Steuerung gespeichert sind, die über die E/A-Vorrichtung mit dem Steuerziel verbunden ist, das gemäß dem anderen Programm gesteuert wird, das der Steuervorrichtung höherer Ebene zugeordnet ist, und in der Steuervorrichtung höherer Ebene einen ersten Sendeschritt zum Senden der zweiten Ausgabedaten an die Steuerung, die über die E/A-Vorrichtung mit dem Steuerziel verbunden ist, das gemäß dem anderen Programm gesteuert wird, das der Steuervorrichtung höherer Ebene zugeordnet ist. Folglich kann die Steuervorrichtung höherer Ebene die zweiten Ausgabedaten, die den bislang erhaltenen Ausführungsergebnissen nicht widersprechen, an die Steuerung senden und das Steuerziel steuern, das über die E/A-Vorrichtung mit der PLC verbunden ist.
  • Der zweite Aspekt der vorliegenden Erfindung ist das Steuerverfahren, die Kommunikationseinheit kann ferner einen zweiten Eingabepufferspeicher und einen dritten Ausgabepufferspeicher umfassen, das Steuerverfahren kann ferner umfassen: in der einen Steuerung einen zweiten Eingabe-/Speicherschritt zum Speichern der Eingabedaten im zweiten Eingabepufferspeicher, wobei die Eingabedaten vom Steuerziel gesendet werden, das über die E/A-Vorrichtung mit der anderen Steuerung verbunden ist und gemäß dem anderen Programm gesteuert wird, das der einen Steuerung zugeordnet ist; und in der einen Steuerung einen dritten Ausgabe-/Speicherschritt zum Speichern der zweiten Ausgabedaten im dritten Ausgabepufferspeicher, wobei die zweiten Ausgabedaten durch Ausführen des anderen Programms erhalten werden, das der einen Steuerung zugeordnet ist, um das Steuerziel zu steuern, das über die E/A-Vorrichtung mit der anderen Steuerung verbunden ist; und in der einen Steuerung einen zweiten Sendeschritt zum Senden der zweiten Ausgabedaten, die im dritten Ausgabepufferspeicher gespeichert sind, über die Steuervorrichtung höherer Ebene an die andere Steuerung, und wobei die andere Steuerung über die E/A-Vorrichtung mit dem Steuerziel verbunden ist, das gemäß dem anderen Programm gesteuert wird, das der einen Steuerung zugeordnet ist, und wobei im zweiten Eingabe-/Speicherschritt die eine Steuerung so konfiguriert sein kann, dass sie die Eingabedaten über die Steuervorrichtung höherer Ebene empfängt, wobei die Eingabedaten im ersten Eingabepufferspeicher der anderen Steuerung gespeichert werden, die über die E/A-Vorrichtung mit dem Steuerziel verbunden ist, das gemäß dem anderen Programm gesteuert wird, das der einen Steuerung zugeordnet ist, und dass sie die empfangenen Eingabedaten im zweiten Eingabepufferspeicher speichert. Folglich kann die eine Steuerung höherer Ebene die zweiten Ausgabedaten, die den bislang erhaltenen Ausführungsergebnissen nicht widersprechen, an die andere Steuerung senden und das Steuerziel steuern, das über die E/A-Vorrichtung mit der anderen Steuerung verbunden ist.
  • Gemäß der vorliegenden Erfindung ist es möglich, die Ausgabedaten, die bislang erhaltenen Ausführungsergebnissen nicht widersprechen, an die mit dem Steuerziel verbundene E/A-Vorrichtung auszugeben, und zwar sogar dann, wenn Steuersubjekte gewechselt werden, die das Steuerziel steuern. Folglich ist es möglich, das Steuersubjekt für das Steuerziel zu wechseln, während die Steuerung des Steuerziels im stabilen Zustand fortgesetzt wird.
  • Die obigen und andere Ziele, Merkmale und Vorteile der vorliegenden Erfindung gehen aus der folgenden Beschreibung in Zusammenschau mit den beiliegenden Zeichnungen besser hervor, in denen eine bevorzugte Ausführungsform der vorliegenden Erfindung beispielhaft veranschaulicht ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein ganzes schematisches Konfigurationsschaubild eines PLC-Systems gemäß einer Ausführungsform;
  • 2 ist ein schematisches Konfigurationsschaubild eines PCs, der in 1 gezeigt ist;
  • 3 ist ein schematisches Konfigurationsschaubild einer PLC, die in 1 gezeigt ist;
  • 4 ist ein Ablaufplan, der einen Programmzuordnungsvorgang des PLC-Systems zeigt;
  • 5 ist eine Ansicht, die ein Beispiel zeigt, wobei alle Programme, die in einem Hauptspeicher gespeichert sind, wie in 2 gezeigt, jeweils einer Mehrzahl von PLCs zugeordnet sind, um zu bewirken, dass jede der Mehrzahl von PLCs eine E/A-Vorrichtung steuert, die mit jeder der Mehrzahl von PLCs verbunden ist;
  • 6 ist eine Zeitgraphik, die zeigt, dass jede der Mehrzahl von PLCs ein selbstzugewiesenes Programm (das zugeordnete selbstzugewiesene Programm aus der Zuordnung, wie in 5 gezeigt) ausführt (verarbeitet);
  • 7 ist eine Ansicht, die ein Beispiel zeigt, wobei alle Programme, die in dem Hauptspeicher gespeichert sind, wie in 2 gezeigt, dem PC und der Mehrzahl von PLCs zugeordnet sind, um zu bewirken, dass alle Programme in einem Ausführungszyklus parallel doppelt ausgeführt werden;
  • 8 ist eine Zeitgraphik, die zeigt, dass jede der Mehrzahl von PLCs das eine oder die mehreren Programme (das selbstzugewiesene Programm und die anderen Programme, die durch die Zuordnung zugeordnet wurden, wie in 7 gezeigt) ausführt (verarbeitet);
  • 9 ist ein Teilablaufplan, der einen Verarbeitungsvorgang in Schritt S6 von 4 zeigt;
  • 10 ist eine Ansicht, die ein Beispiel zeigt, wobei, wenn eine Anomalie in einer der Mehrzahl von PLCs auftritt, der PC anstatt der anomalen PLC eine E/A-Vorrichtung steuert, die mit der anomalen PLC verbunden ist;
  • 11 ist ein ausführliches Konfigurationsschaubild der PLC, wie in 3 gezeigt;
  • 12 ist ein ausführliches Konfigurationsschaubild des PCs, wie in 2 gezeigt;
  • 13 ist ein Ablaufplan, der eine Verarbeitung zum Ermitteln eines logischen Werts einer Auswahlinformation durch den PC zeigt;
  • 14 ist eine Zeitgraphik, die eine Verarbeitung einer Datenlieferung zwischen einer normalen PLC und dem PC und zwischen der normalen PLC und einer E/A-Vorrichtung zeigt, die mit der normalen PLC verbunden ist; und
  • 15 ist eine Zeitgraphik, die eine Verarbeitung einer Datenlieferung zwischen einer anormalen PLC und dem PC und zwischen der anomalen PLC und einer E/A-Vorrichtung zeigt, die mit der anomalen PLC verbunden ist.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Im Folgenden wird eine bevorzugte Ausführungsform eines Steuerungssystems und eines Steuerverfahrens gemäß der vorliegenden Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen ausführlich beschrieben.
  • 1 ist ein ganzes schematisches Konfigurationsschaubild eines PLC-Systems (Steuerungssystems) 10 gemäß der Ausführungsform.
  • Das PLC-System 10 umfasst einen PC 12, der eine Steuervorrichtung höherer Ebene ist, eine Mehrzahl (bei der vorliegenden Ausführungsform fünf) von PLCs (programmierbaren Steuerungen) 14 n (n = 1, 2 ... und 5), die durch eine Verkettung mit dem PC 12 verbunden sind, und eine Mehrzahl von E/A-Vorrichtungen (externe Signaleingabe-/Signalausgabevorrichtungen) 16 n, die jeweils mit einer Mehrzahl von PLCs 14 n (PLC 14 1 bis PLC 14 5) verbunden sind, die durch die Verkettung verbunden sind.
  • Die Mehrzahl von E/A-Vorrichtungen 16 n ist mit Steuerzielen 18 n der Mehrzahl von PLCs 14 n verbunden. Das heißt, dass die Mehrzahl von E/A-Vorrichtungen 16 n die Steuerziele 18 n der Mehrzahl von PLCs 14 n mit der Mehrzahl von PLCs 14 n verbinden und erforderliche Informationen (Daten) zwischen den Steuerzielen 18 n und den PLCs 14 n senden.
  • Bei dieser Beschreibung stellt 16 1 die Mehrzahl von E/A-Vorrichtungen 16 n dar, die durch die Verkettung mit der PLC 14 1 verbunden sind. Gleichermaßen stellen 16 2 bis 16 5 die Mehrzahl von E/A-Vorrichtungen 16 n dar, die durch die Verkettung jeweils mit den PLCs 14 2 bis 14 5 verbunden sind. 18 1 stellt das Steuerziel 18 n dar, das mit den E/A-Vorrichtungen 16 1 verbunden ist. Gleichermaßen stellen 18 2 bis 18 5 die Steuerziele 18 n dar, die mit den E/A-Vorrichtungen 16 2 bis 16 5 verbunden sind. Somit sind die Steuerziele 18 2 bis 18 5 über die E/A-Vorrichtungen 16 1 mit den PLCs 14 1 verbunden. Gleichermaßen sind die Steuerziele 182 bis 18 5 über die E/A-Vorrichtungen 16 2 bis 16 5 mit der PLC 14 2 bis PLC 14 5 verbunden. Die Steuerziele 18 n sind z. B. Motoren oder Pumpen.
  • Der PC 12, die Mehrzahl von PLCs 14 n und die Mehrzahl von E/A-Vorrichtungen 16 n sind über ein EtherCAT-System (eingetragene Handelsmarke) verbunden. Beim Senden von Daten (Signal) senden der PC 12 und die PLC 14 n somit eine Adressinformation des Sendeziels PC oder PLC 14 n und Sendedaten in ein Frame und senden dieses. Beim Senden der Daten an die PLC 14 n sendet der PC 12 das Frame, in das eine Adressinformation der Sendeziel-PLC 14 n und die Sendedaten geschrieben sind, an die PLC 14 1, die mit einer darauffolgenden Stufe des PC 12 verbunden ist. Wenn das Frame vom PC 12 oder der PLC 14 n gesendet wird, der bzw. die mit einer vorherigen Stufe verbunden ist, ermittelt die PLC 14 n, ob das Frame gesendet wurde, auf Basis der im Frame umfassten Adressinformation. Die PLC 14 n importiert Daten, die in das Frame geschrieben sind, wenn ermittelt wird, dass das gesendete Frame an sich selbst gesendet wird, und sendet das gesendete Frame wie es ist an die PLC 14 n, die mit einer darauffolgenden Stufe verbunden ist, wenn ermittelt wird, dass das Frame nicht an sich selbst gesendet wird.
  • Das Gleiche gilt für den Fall einer Datensendung von jeder PLC 14 n an den PC 12, wobei die PLC 14 n das Frame sendet, das an den PC 12 adressiert wird, wie von der darauffolgenden Stufe an den PC 12 oder die PLC 14 n gesendet, der bzw. die mit der vorherigen Stufe verbunden ist. In dieser Hinsicht werden das Senden und Empfangen zwischen den PLCs 14 n über den PC 12 durchgeführt. Beispielsweise wenn die PLC 14 2 Daten an die PLC 14 4 sendet, sendet die PLC 14 2 das Frame, das die Daten umfasst, einmal an den PC 12 und danach sendet der PC 12 die Daten an den PLC 14 4.
  • 2 ist ein schematisches Konfigurationsschaubild des PC 12. 3 ist ein schematisches Konfigurationsschaubild der PLC 14 n. Der PC 12 umfasst einen Prozessor 20 wie z. B. eine CPU, einen Hauptspeicher (Speichereinheit) 22 und eine Kommunikationseinheit 24. Die PLC 14 n umfasst einen Prozessor 30 wie z. B. eine CPU, einen Hauptspeicher (Speichereinheit) 32 und eine Kommunikationseinheit 34. Die Kommunikationseinheiten 34 der Mehrzahl dieser PLCs 14 n sind durch die Verkettung mit der Kommunikationseinheit 24 des PC 12 verbunden (siehe 1). Der Hauptspeicher 22 des PC 12 speichert eine Mehrzahl von Programmen Pn, die von jeder der Mehrzahl von PLCs 14 n ausgeführt (verarbeitet) werden. Diese Programme Pn sind Programme zum Steuern der Steuerziele 18 n. In dieser Beschreibung stellt P1 das Programm Pn zum Steuern des Steuerziels 18 1 dar, das über die E/A-Vorrichtung 16 1 mit der PLC 14 1 verbunden ist. Gleichermaßen stellen P2 bis P5 die Programme Pn zum Steuern der Steuerziele 18 2 bis 18 5 dar, die über die E/A-Vorrichtungen 16 2 bis 16 5 mit den PLCs 14 2 bis 14 5 verbunden sind.
  • Der Prozessor 20 des PC 12 ordnet die Mehrzahl von Programmen Pn (P1 bis P5), die im Hauptspeicher 22 gespeichert sind, dem PC 12 und der Mehrzahl von PLCs 14 n (PLC 14 1 bis 14 5) zu.
  • Die zugeordneten Programme Pn werden in die Zuordnungsziel-PLCs 14 n geladen. Das heißt, dass der Prozessor 20 das Programm Pn über die Kommunikationseinheit 24 sendet. Der Prozessor 30 der Zuordnungsziel-PLC 14 n erhält das zugeordnete Programm Pn über die Kommunikationseinheit 34 und speichert die Programme Pn im Hauptspeicher 32.
  • Ein Vorgang zum Zuordnen des Programms Pn im PLC-System 10 wird nachstehend unter Bezugnahme auf einen Ablaufplan von 4 ausführlich beschrieben.
  • Während einer Aktivierung des PLC-Systems 10 oder zu einem vordefinierten Zeitpunkt führt der Prozessor 20 des PC 12 einen Vorgang von Schritt S1 durch. In Schritt S1 ordnet der Prozessor 20 die Mehrzahl von Programmen Pn, die im Hauptspeicher 22 gespeichert sind, der Mehrzahl von PLCs 14 n zu, um zu bewirken, dass jede der Mehrzahl von PLCs 14 n die Steuerziele 18 n steuert, die über die E/A-Vorrichtungen 16 n mit sich selbst verbunden sind. Der einfacheren Beschreibung halber wird das Programm Pn, das der PLC 14 n zugeordnet ist, um das Steuerziel 18 n zu steuern, das über die E/A-Vorrichtungen 16 n mit der PLC 14 n verbunden ist, nachstehend als selbstzugewiesenes Programm Pn bezeichnet. Wie in 5 gezeigt, wird dadurch das Programm P1 als selbstzugewiesenes Programm Pn der PLC 14 1 zugeordnet. Gleichermaßen werden die selbstzugewiesenen Programme P2 bis P5 der PLC 14 2 bis PLC 14 5 zugeordnet. Die Mehrzahl von PLCs 14 n (PLC 14 1 bis PLC 14 5) beenden die Ausführung der selbstzugewiesenen Programme Pn (P1 bis P5) in einem Ausführungszyklus der PLC 14 n (nachstehend als ein Ausführungszyklus bezeichnet).
  • Wenn Datengrößen (die Anzahl von Schritten) dieser Programme Pn (P1 bis P5) sich voneinander unterscheiden, unterscheiden sich auch Zeiten (Ausführungszeiten und Verarbeitungszeiten), die zum Ausführen der Programme Pn benötigt werden, und Lasten (oder Lastfaktoren) voneinander. Bei einem Beispiel, das in 6 gezeigt ist, haben Ausführungszeiten und Lasten (oder Lastfaktoren) der fünf Programme Pn (P1 bis P5) eine Beziehung P4 < P1 < P3 = P5 < P2. Eine Information, die die Last oder den Lastfaktor indiziert, wird als Lastinformation bezeichnet. 6 ist eine Zeitgraphik, die zeigt, dass jede der Mehrzahl von PLCs 14 n das selbstzugewiesene Programm Pn (das selbstzugewiesene Programm Pn, das durch die Zuordnung zugeordnet wird, wie in 5 gezeigt) ausführt (verarbeitet).
  • Danach, wie in 5 gezeigt, lädt der Prozessor 20 des PC 12 sodann die Mehrzahl von zugeordneten selbstzugewiesenen Programmen Pn (P1 bis P5) in die Mehrzahl von PLCs 14 n (14 1 bis 14 5) (Schritt S2). Danach startet der Prozessor 30 jeder der Mehrzahl von PLCs 14 n die Ausführung des selbstzugewiesenen Programms Pn (Schritt S3), berechnet die Lastinformation, die aus der Ausführung des selbstzugewiesenen Programms Pn resultiert, und sendet die Lastinformation an den Prozessor 20 des PC 12 (Schritt S4). Wenn alle Lastinformationen der Prozessoren 30 von der Mehrzahl von PLCs 14 n (14 1 bis 14 5) erhalten werden, bewirkt der Prozessor 20 des PC 12, dass die Mehrzahl von PLCs 14 n (14 1 bis 14 5) die Ausführung aller selbstzugewiesenen Programme Pn stoppt (Schritt S5). Der Prozessor 20 bewirkt, dass die Prozessoren 30 aller PLCs 14 n (14 1 bis 14 5) die Ausführung der selbstzugewiesenen Programme Pn stoppen, indem Stoppsignale über die Kommunikationseinheit 24 und die Kommunikationseinheiten 34 an die Prozessoren 30 aller PLCs 14 n (14 1 bis 14 5) ausgegeben werden.
  • Der Prozessor 20 ordnet ferner alle oder einen Teil der Mehrzahl von Programmen Pn dem PC 12 und der Mehrzahl von PLCs 14 n zu, auf Basis der Lastinformation aller PLCs 14 n (14 1 bis 14 5), die in Schritt S4 gesammelt wurde, um zu bewirken, dass der PC 12 und die Mehrzahl von PLCs 14 n alle oder einen Teil der Mehrzahl von Programmen Pn, die im Hauptspeicher 22 gespeichert sind, in einem Ausführungszyklus parallel doppelt ausführt (Schritt S6). Somit werden die Programme Pn zum Steuern der Steuerziele 18 außer den Steuerzielen 18 n, die über die E/A-Vorrichtung 16 mit einer PLC 14 verbunden sind, d. h. die Steuerziele 18 n, die über die E/A-Vorrichtungen 16 n mit den anderen PLCs 14 n verbunden sind, der einen PLC 14 n zugeordnet. Das Programm Pn wird in manchen Fällen auch dem PC 12 zugeordnet. In diesem Fall ordnet der Prozessor 20 die Programme Pn zu, ohne zu bewirken, dass eine PLC 14 n das gleiche Programm Pn zweimal ausführt. Der einfacheren Beschreibung halber werden die Programme Pn, die dem PC 12 und den PLCs 14 n zugeordnet sind, um die Steuerziele 18 n zu steuern, die über die E/A-Vorrichtungen 16 n mit den anderen PLCs 14 n verbunden sind, nachstehend in manchen Fällen als die anderen Programme Pn bezeichnet.
  • 7 ist eine Ansicht, die ein Beispiel zeigt, wobei alle Programme Pn (P1 bis P5) dem PC 12 und der Mehrzahl von PLCs 14 zugeordnet werden, um zu bewirken, dass der PC 12 und die Mehrzahl von PLCs 14 n alle Programme Pn (P1 bis P5), die im Hauptspeicher 22 gespeichert sind, in einem Ausführungszyklus parallel doppelt ausführen. 8 ist eine Zeitgraphik, die zeigt, dass jede der Mehrzahl von PLCs 14 n das Programm Pn (das selbstzugewiesene Programm Pn und das andere Programm Pn, wie durch die Zuordnung zugeordnet, die in 7 gezeigt ist) ausführt (verarbeitet). Wie in 7 gezeigt, wird das andere Programm P4 ferner der PLC 14 1 zugeordnet und wird das andere Programm P1 ferner der PLC 14 4 zugeordnet. Die anderen Programme P2, P3, P5, die der PLC 14 nicht zugeordnet werden können, werden dem PC 12 zugeordnet. Lasten (oder Lastfaktoren) der Programme P2, P3, P5, die den PLCs 14 2, 14 3, 14 5 zugeordnet sind, sind hoch. Aus diesem Grund werden die anderen Programme Pn den PLCs 14 2, 14 3, 14 5 nicht zusätzlich zugeordnet. Die Zuordnung dieser anderen Programme Pn wird nachstehend ausführlich beschrieben.
  • Danach, wie in 7 gezeigt, bewirkt der Prozessor 20 des PC 12, dass die Mehrzahl von PLCs 14 (PLC 14 1, PLC 144) die anderen Programme Pn (P4, P1) lädt, die der Mehrzahl von PLCs 14 n (14 1, 14 4) zugeordnet sind (Schritt S7). Der Prozessor 20 kann bewirken, dass die Mehrzahl von PLCs 14w die zugeordneten selbstzugewiesenen Programme Pn erneut lädt, während die Mehrzahl von PLCs 14 die anderen zugeordneten Programme Pn lädt.
  • Der PC 12 und die Mehrzahl von PLCs 14 (14 1 bis 14 5) führen die zugeordneten Programme Pn (einschließlich der selbstzugewiesenen Programme Pn und der anderen Programme Pn) aus (Schritt S8).
  • In diesem Fall zeigt 8, dass die PLCs 14 n (14 1, 14 4) die selbstzugewiesenen Programme Pn (P1, P4) ausführen und danach die anderen Programme Pn (P4, P1) ausführen. Eine Reihenfolge der Ausführung der Programme Pn kann jedoch umgekehrt sein.
  • Im Folgenden wird die Verarbeitung der Zuordnung der anderen Programme Pn in Schritt S6 ausführlich beschrieben. Lpmax stellt eine maximale Last dar, die in einem Ausführungszyklus an den Prozessor 20 des PC 12 anlegbar ist. Lmax stellt eine maximale Last dar, die in einem Ausführungszyklus an den Prozessor 30 jeder PLC 14 n anlegbar ist. Die Verarbeitungsleistung des Prozessors 30 jeder PLC 14 n ist gleich. Die Verarbeitungsleistung des Prozessors 20 des PC 12 ist höher als die Verarbeitungsleistung der Prozessoren 30 der PLCs 14 n. Somit gilt: Lpmax > Lmax. Ln (L1 bis L5) stellen eine Last dar, die während der Ausführung der Programme Pn (P1 bis P5) angelegt ist. Lpc stellt eine einzigartige Last dar, die in einem Ausführungszyklus des Prozessors 20 des PC 12 angelegt wird. Diese Last Ln (L1 bis L5) basiert auf einer Lastinformation jeder PLC 14 n, die in Schritt S4 von 4 gesammelt wird. Der Lastfaktor der PLC 14 n nimmt einen Wert an, der durch Teilen der an die PLC 14 n angelegte Last durch die maximale Last Lmax erhalten wird. Beispielsweise beträgt der Lastfaktor der während der Ausführung des Programms P1 angelegten Last L1/Lmax. Gleichermaßen betragen die Lastfaktoren von Lasten, die während der Ausführung der Programme P2 bis P5 angelegt werden, L2/Lmax, L3/Lmax, L4/Lmax und L5/Lmax.
  • Unter Berücksichtigung der Prioritäten der Programme Pn, die parallel ausgeführt werden, werden zunächst die Programme Pn höherer Prioritäten in einer Reihenfolge zugeordnet. Bei der vorliegenden Ausführungsform liegen die Prioritäten in der Reihenfolge P1 → P2 → P3 → P4 → P5 vor und werden die Programme Pn den anderen PLCs 14 n (14 1 bis 14 5) als die anderen Programme Pn in dieser Reihenfolge zugeordnet.
  • 9 ist ein Teilablaufplan, der einen Verarbeitungsvorgang in Schritt S6 von 4 zeigt. Zunächst wählt der Prozessor 20 des PC 12 ein Programm der höchsten Priorität aus (Schritt S11). Bei der vorliegenden Ausführungsform liegen die Prioritäten in der Reihenfolge P1 → P2 → P3 → P4 → P5 vor. Aus diesem Grund wählt der Prozessor 20 in Schritt S11 das Programm P1 aus.
  • Danach berechnet der Prozessor 20 eine annehmbare Last des PC 12 und jeder der Mehrzahl von PLCs 14 n (14 1 bis 14 5) unter Verwendung der Lastinformation jeder PLC 14 n, die in Schritt S4 von 4 gesammelt wurde (Schritt S12). Diese annehmbare Last ist eine Last, die in einem Ausführungszyklus weiter verarbeitet werden kann. Der Prozessor 20 berechnet eine annehmbare Last des PC 12 und jeder der Mehrzahl von PLCs 14 n (14 1 bis 14 5) auf Basis des Programms Pn, das dem PC 12 und jeder der Mehrzahl von PLCs 14 (14 1 bis 14 5) derzeit zugeordnet ist. Zu diesem Zeitpunkt wird dem PC 12 kein Programm Pn zugeordnet und nur die selbstzugewiesenen Programme Pn werden der Mehrzahl von PLCs 14 n zugeordnet.
  • Somit beträgt die Last, die an den PC 12 anlegbar ist (nachstehend als Annehmlast LLp bezeichnet) LLp = Lpmax – Lpc. Eine Last, die an den PLC 14 1 anlegbar ist (als Annehmlast LL1 bezeichnet), beträgt LL1 = Lmax – L1. Gleichermaßen betragen Lasten, die an die PLCs 14 2 bis PLCs 14 5 anlegbar sind (als Annehmlasten LL2 bis LL5 bezeichnet) LL2 = Lmax – L2, LL3 = Lmax – L3, LL4 = Lmax – L4 und LL5 = Lmax – L5.
  • Der Prozessor 20 ermittelt, ob die PLC 14 n vorhanden ist, die die Annahme des derzeit ausgewählten Programms P1 als anderes Programm P1 ermöglicht (Schritt S13). Bei der vorliegenden Ausführungsform gilt LL2 < L1, LL3 < L1, LL4 > L1 und LL5 < L1 (siehe 8). Aus diesem Grund ermittelt der Prozessor 20, dass die PLC 14 4 die Annahme des Programms P1 als anderes Programm P1 ermöglicht.
  • Das Programm P1 ist das selbstzugewiesene Programm P1 für die PLC 14 1. Aus diesem Grund ermittelt der Prozessor 20 nicht, ob die PLC 14 1 das Programm P1 annehmen kann.
  • Sogar wenn die PLC 14 n vorhanden ist, die die Annahme des derzeit ausgewählten Programms Pn als das andere Programm Pn ermöglicht, kann der Prozessor 20, wenn der Lastfaktor dieser PLC 14 n einen Schwellenwert (z. B. 90%) infolge der Annahme des anderen Programms Pn überschreitet, ermitteln, dass diese PLC 14 n die Annahme des anderen Programms Pn nicht ermöglicht.
  • Wenn in Schritt S13 ermittelt wird, dass die PLC 14 4 die Annahme des Programms P1 ermöglicht, ordnet der Prozessor 20 das derzeit ausgewählte Programm P1 den anderen PLCs 14 4 als das andere Programm P1 zu (Schritt S14) und der Ablauf geht zu Schritt S15 über.
  • Wenn der Ablauf zu Schritt S15 übergegangen ist, ermittelt der Prozessor 20, ob ein Programm Pn vorhanden ist, das noch nicht ausgewählt wurde. Wenn in Schritt S15 ermittelt wird, dass ein Programm Pn vorhanden ist, das noch nicht ausgewählt wurde, wählt der Prozessor 20 das Programm Pn der zweithöchsten Priorität neu aus (Schritt S16) und der Ablauf kehrt zu Schritt S12 zurück. Dadurch wird das auszuwählende Programm Pn vom Programm P1 auf das Programm P2 gewechselt. Das heißt, dass das Programm P2 die zweithöchste Priorität nach dem Programm P1 ist. Aus diesem Grund wählt der Prozessor 20 zu diesem Zeitpunkt das Programm P2 in Schritt S16 neu aus.
  • Wie oben beschrieben, berechnet der Prozessor 20 in Schritt S12 die annehmbaren Annehmlasten LLp, LL1 bis LL5 des PC 12 und der Mehrzahl von PLCs 14 n (14 1 bis 14 5). Das andere Programm P1 wurde der PLC 14 4 im vorherigen Schritt S14 zugeordnet und daher wird die Annehmlast LL4 der PLC 14 4 auf LL4 = Lmax – L4 – L1 geändert. In dieser Hinsicht bleiben die Annehmlasten LL1 bis LL3, LL5 der anderen PLCs 14 1 bis 14 3, 14 5 gleich und bleibt auch die Annehmlast LLp des PC 12 gleich.
  • Der Prozessor 20 ermittelt in Schritt S13 sodann, ob die PLC 14 n vorhanden ist, die die Annahme des derzeit ausgewählten Programms P2 als anderes Programm P2 ermöglicht. Bei der vorliegenden Ausführungsform gilt LL1 < L2, LL3 < L2, LL4 < L2 und LL5 < L2 (siehe 8). Aus diesem Grund ermittelt der Prozessor 20, dass es keine PLC 14 n gibt, die die Annahme des Programms P2 als das andere Programm P2 ermöglicht.
  • Wenn ermittelt wird, dass keine PLC 14 n vorhanden ist, die die Annahme des Programms P als das andere Programm P2 ermöglicht, ermittelt der Prozessor 20 in Schritt S13, ob der PC 12 die Annahme des derzeit ausgewählten Programms P2 als das andere Programm Pn ermöglicht (Schritt S17). Bei der vorliegenden Ausführungsform gilt LLp > L2 (siehe 8). Aus diesem Grund ermittelt der Prozessor 20, dass der PC 12 die Annahme des Programms P2 als anderes Programm P2 ermöglicht.
  • Wenn in Schritt S17 ermittelt wird, dass der PC 12 die Annahme des Programms P2 als das andere Programm P2 ermöglicht, ordnet der Prozessor 20 das derzeit ausgewählte Programm P2 dem PC 12 als das andere Programm P2 zu (Schritt S18) und der Ablauf geht zu Schritt S15 über. Durch Wiederholen des obigen Vorgangs wird die Mehrzahl von Programmen Pn (P1 bis P5) dem PC 12 und der Mehrzahl von PLCs 14 n als andere Programme Pn (P1 bis P5) zugeordnet, wie in 7 gezeigt.
  • Wenn in Schritt S15 ermittelt wird, dass kein Programm Pn vorhanden ist, das noch nicht ausgewählt wurde, beendet der Prozessor 20 die Verarbeitung und der Ablauf geht zu Schritt S7 von 4 über.
  • Wenn in Schritt S17 ermittelt wird, dass der PC 12 die Annahme des derzeit ausgewählten Programms Pn als das andere Programm Pn nicht ermöglicht, geht der Ablauf sodann zu Schritt S15 über. Dadurch wird kein Programm Pn, das von der Mehrzahl von PLCs 14 und dem PC 12 nicht als das andere Programm Pn angenommen wird, einer der Mehrzahl von PLCs 14 und dem PC 12 zugeordnet.
  • Wenn in Schritt S17 ermittelt wird, dass der PC 12 die Annahme des derzeit ausgewählten Programms Pn als das andere Programm Pn nicht ermöglicht, kann der Prozessor 20 die Verarbeitung beenden und der Ablauf kann zu Schritt S7 in 4 übergehen. Wenn unter den Programmen Pn keine Priorität vorliegt, kann der Prozessor 20 das Programm Pn in willkürlicher oder vordefinierter Reihenfolge auswählen und das ausgewählte Programm einer der Mehrzahl von PLCs 14 und dem PC 12 als das andere Programm Pn zuordnen.
  • Somit wird das gleiche Programm Pn in einem Ausführungszyklus parallel ausgeführt. Sogar wenn in einer PLC 14 eine Anomalie oder ein Fehler auftritt, kann die andere PLC 14 n, die das selbstzugewiesene Programm Pn der einen PLC 14 n, in der die Anomalie oder der Fehler aufgetreten ist (auch als anomale PLC bezeichnet), als das andere Programm Pn ausführt, das Steuerziel 18 n steuern, das über die E/A-Vorrichtung 16 mit der anomalen PLC 14 n verbunden ist. Beispielsweise wenn in der PLC 14 3 eine Anomalie (oder ein Fehler) auftritt, wie in 10 gezeigt, führt der PC 12 das selbstzugewiesene Programm P3 der PLC 14 3 als das andere Programm P3 aus. Folglich ist es möglich, dass der PC 12 das Steuerziel 18 3 steuert, das über die E/A-Vorrichtung 16 3 mit der anomalen PLC 14 3 verbunden ist.
  • Folglich ist es möglich, ein Subjekt zu wechseln, das das Steuerziel 18 3 steuert, während die Steuerung des Steuerziels 18 3 in einem stabilen Zustand fortgesetzt wird. Das Ermitteln, ob die PLC 14 vorhanden ist, in der eine Anomalie auftritt, wird später beschrieben.
  • Im Folgenden wird eine Konfiguration (insbesondere eine Hauptkonfiguration der Kommunikationseinheiten 34, 24) der PLCs 14 und des PC 12 unter Bezugnahme auf die 11 und 12 spezifisch beschrieben.
  • 11 ist ein ausführliches Konfigurationsschaubild der PLC 14 1. Jede PLC 14 verwendet die gleiche Konfiguration.
  • Aus diesem Grund wird die PLC 14 1 hier nachstehend als Beispiel beschrieben. Die Kommunikationseinheit 34 der PLC 14 1 umfasst eine Systembusschnittstelle 40, die mit dem Prozessor 30 kommuniziert, einen ersten Eingabepufferspeicher 42, einen zweiten Eingabepufferspeicher 44, einen ersten Ausgabepufferspeicher 46, einen zweiten Ausgabepufferspeicher 48, einen dritten Ausgabepufferspeicher 50, eine MAC 52, die mit der E/A-Vorrichtung 16 1 kommuniziert, die mit den PLC 14 1 verbunden ist, eine MAC 54, die mit dem PC 12 und den anderen PLCs 14 2 außer der PLC 14 1 kommuniziert, eine Auswahleinheit 56 und ein Register 58.
  • Die Systembusschnittstelle 40 und der Prozessor 30 sind über einen Systembus 60 verbunden. Die MAC 52 ist über eine MII (Media Independent Interface) 62 mit einem PHY-(Physical Layer)-Chip 64 verbunden. Die Kommunikationseinheit 34 ist über diesen PHY-Chip 64 mit der E/A-Vorrichtung 16 1 der PLC 14 1 verbunden. Die MAC 54 ist über die MII 66 mit PHY-Chips 68, 70 verbunden. Die Kommunikationseinheit 34 ist über den PHY-Chip 68 mit der Kommunikationseinheit 24 des PC 12 verbunden, der in einer vorherigen Stufe bereitgestellt ist, und ist über den PHY-Chip 70 mit der Kommunikationseinheit 34 der anderen PLC verbunden, die in einer darauffolgenden Stufe (nächste Stufe) bereitgestellt ist. Was die PLCs 14 2 bis 14 5 betrifft, so sind die PHY-Chips 68 mit den PLCs 14 1 bis 14 4 verbunden, nicht mit dem PC 12. Was die PLC 14 5 in der letzten Stufe betrifft, so ist ferner der PHY-Chip 70 mit keiner der PLC 14 n verbunden.
  • Die MAC 52 empfängt ein Frame, das Eingabedaten umfasst, wie von der E/A-Vorrichtung 16 1 gesendet, die über den PHY-Chip 64 und dergleichen mit der PLC 14 2 verbunden ist. Diese Eingabedaten werden vom Steuerziel 18 1, das mit der E/A-Vorrichtung 16 1 verbunden ist, gesendet. Die MAC 52 extrahiert die Eingabedaten aus dem empfangenen Frame und speichert die extrahierten Eingabedaten im ersten Eingabepufferspeicher 42. Der Prozessor 30 der PLC 14 1 liest die im ersten Eingabepufferspeicher 42 gespeicherten Eingabedaten über die Systembusschnittstelle 40 und den Systembus 60 und speichert die gelesenen Eingabedaten im Hauptspeicher 32.
  • Der Prozessor 30 speichert Ausgabedaten (nachstehend auch als erste Ausgabedaten bezeichnet) im Hauptspeicher 32, die durch Ausführen des selbstzugewiesenen Programms P1 erhalten wurden, auf Basis der Eingabedaten, die im Hauptspeicher 32 (erster Eingabepufferspeicher 42) gespeichert sind. Der Prozessor 30 speichert die ersten Ausgabedaten, die im Hauptspeicher 32 gespeichert sind, über den Systembus 60 im ersten Ausgabepufferspeicher 46.
  • Die MAC 54 empfängt über den PC 12 ein Frame, das Eingabedaten umfasst, wie von der E/A-Vorrichtung 16 4 gesendet, die über den PHY-Chip 68 mit der PLC 14 4 verbunden ist. Die Eingabedaten, die von dieser E/A-Vorrichtung 16 4 gesendet werden, werden vom Steuerziel 18 4 gesendet, das gemäß dem anderen Programm P4 gesteuert wird (siehe 7), das der PLC 14 4 zugeordnet ist. Die MAC 54 extrahiert die Eingabedaten aus dem empfangenen Frame und speichert die extrahierten Eingabedaten im zweiten Eingabepufferspeicher 44. Der Prozessor 30 der PLC 14 1 liest die im zweiten Eingabepufferspeicher 44 gespeicherten Eingabedaten über die Systembusschnittstelle 40 und den Systembus 60 und speichert die gelesenen Eingabedaten im Hauptspeicher 32. In dieser Hinsicht speichern der Hauptspeicher 32 und der zweite Eingabepufferspeicher 44, wenn die Mehrzahl von anderen Programmen Pn vorhanden ist, die der PLC 14 1 zugeordnet sind, Eingabedaten pro anderes Programm Pn (pro E/A-Vorrichtung 16 n oder PLC 14 n, die die Eingabedaten ausgegeben hat).
  • Der Prozessor 30 speichert Ausgabedaten (nachstehend auch als zweite Ausgabedaten bezeichnet) im Hauptspeicher 32, die durch Ausführen des anderen Programms P4 erhalten wurden, auf Basis der Eingabedaten (der Eingabedaten aus dem Steuerziel 18 4), die im Hauptspeicher 32 (zweiter Eingabepufferspeicher 44) gespeichert sind. Der Prozessor 30 speichert die zweiten Ausgabedaten, die im Hauptspeicher 32 gespeichert sind, über den Systembus 60 im dritten Ausgabepufferspeicher 50. In dieser Hinsicht speichern der Hauptspeicher 32 und der dritte Ausgabepufferspeicher 50, wenn die Mehrzahl eines anderen Programms Pn vorhanden ist, die der PLC 141 zugeordnet sind, die zweiten Ausgabedaten pro anderes Programm Pn (pro E/A-Vorrichtung 16 n oder PLC 14 n, die ein zweites Ausgabedatenausgabeziel ist).
  • Die MAC 54 schreibt die zweiten Ausgabedaten im Frame, um die zweiten Ausgabedaten, die im dritten Ausgabepufferspeicher 50 gespeichert sind, an die PLC 14 4 zu senden, und sendet das geschriebene Frame über den PHY-Chip 68 an den PC 12. Eine Adressinformation der Sendeziel-PLC 14 4 ist zu diesem Frame hinzugefügt. Der PC 12 schreibt eine Auswahlinformation in das empfangene Frame, um an die PLC 14 4 zu senden. Die zweiten Ausgabedaten, die in diesem Frame umfasst sind, werden im zweiten Ausgabepufferspeicher 48 der PLC 14 4 gespeichert und die Auswahlinformation wird im Register 58 der PLC 14 4 gespeichert. Dadurch kann die PLC 14 1 das Steuerziel, das über die E/A-Vorrichtung 16 4 mit der PLC 14 4 verbunden ist, steuern.
  • Die Auswahlinformation ist eine Information, die indiziert, welche der ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, und der zweiten Ausgabedaten, die im zweiten Ausgabepufferspeicher 48 gespeichert sind, als Ausgabedaten ausgewählt werden, die von der PLC 14 n an die E/A-Vorrichtung 16 n ausgegeben (gesendet) werden. Bei der vorliegenden Ausführungsform ist diese Auswahlinformation 1-Bit-Daten. Ein logischer Wert „0” der Auswahlinformation bedeutet, dass die PLC 14 n die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, an die E/A-Vorrichtung 16 n ausgibt. Ein logischer Wert „1” der Auswahlinformation bedeutet, dass die PLC 14 n die zweiten Ausgabedaten, die im zweiten Ausgabepufferspeicher 48 gespeichert sind, an die E/A-Vorrichtung 16 n ausgibt.
  • Um die Eingabedaten, die im ersten Eingabepufferspeicher 42 gespeichert sind, an die PLC 14 4 zu senden, der das der PLC 14 1 zugeordnete selbstzugewiesene Programm P1 als anderes Programm P1 zugeordnet wurde (siehe 7), schreibt die MAC 54 diese Eingabedaten in das Frame und sendet das geschriebene Frame über den PHY-Chip 68 an den PC 12. Eine Adressinformation der Sendeziel-PLC 14 4 ist zu diesem Frame hinzugefügt.
  • Der PC 12 sendet dieses empfangene Frame an die PLC 14 4. Die Eingabedaten, die in diesem Frame umfasst sind, werden im zweiten Eingabepufferspeicher 44 der PLC 14 4 gespeichert.
  • Die MAC 54 empfängt das Frame, das die zweiten Ausgabedaten umfasst, die über den PC 12 gesendet wurden, durch den PHY-Chip 68 von der PLC 14 4, der das der PLC 14 1 zugeordnete selbstzugewiesene Programm P1 als das andere Programm P1 zugeordnet wurde.
  • Diese zweiten Ausgabedaten, die von der PLC 14 4 an die PLC 14 1 gesendet werden, werden im dritten Ausgabepufferspeicher 50 der PLC 14 4 gespeichert. Die MAC 54 extrahiert die zweiten Ausgabedaten und die Auswahlinformation aus dem empfangenen Frame und speichert die extrahierten zweiten Ausgabedaten im zweiten Ausgabepufferspeicher 48 und die extrahierte Auswahlinformation im Register 58. Folglich kann die PLC 144 das Steuerziel 18 1, das über die E/A-Vorrichtung 16 1 mit der PLC 14 1 verbunden ist, steuern.
  • Die Auswahleinheit 56 wählt eines der ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, und der zweiten Ausgabedaten, die im zweiten Ausgabepufferspeicher 48 gespeichert sind, auf Basis der Auswahlinformation aus, die im Register 58 gespeichert ist, und sendet die ausgewählten an die MAC 52. Die Auswahleinheit 56 sendet die ersten Ausgabedaten an die MAC 52, wenn der logische Wert der Auswahlinformation „0” beträgt, und sendet die zweiten Ausgabedaten an die MAC 52, wenn der logische Wert der Auswahlinformation „1” beträgt.
  • Die MAC 52 schreibt die Ausgabedaten, die von der Auswahleinheit 56 gesendet werden, in das Frame und gibt das geschriebene Frame an die E/A-Vorrichtung 16 1 aus (sendet). Die E/A-Vorrichtung 16 1 extrahiert die Ausgabedaten aus dem gesendeten Frame und gibt die extrahierten Ausgabedaten an das Steuerziel 18 1 aus. Somit können die Auswahleinheit 56 und das Register 58 wechseln, ob die PLC 14 1 oder die PLC 14 4 das Steuerziel 18 1 steuert, das über die E/A-Vorrichtung 16 1 mit der PLC 14 1 verbunden ist.
  • Die MAC 54 empfängt das Frame über den PHY-Chip 68. Wenn dieses Frame jedoch nicht an die PLC 14 1 adressiert ist, sendet die MAC 54 das empfangene Frame wie es ist an die PLC 14 2, die über den PHY-Chip 70 mit einer darauffolgenden Stufe verbunden ist. Die MAC 54 empfängt gleichermaßen das Frame über den PHY-Chip 70. Wenn dieses Frame jedoch nicht an die PLC 14 1 adressiert ist, sendet die MAC 54 das empfangene Frame wie es ist an den PC 12, der über den PHY-Chip 68 mit einer vorherigen Stufe verbunden ist. Das heißt, dass die MAC 54 die Eingabedaten oder die zweiten Ausgabedaten nur dann aus dem Frame extrahiert, wenn der Frame an die PLC 14 1 adressiert ist.
  • 12 ist ein ausführliches Konfigurationsschaubild des PC 12. Die Kommunikationseinheit 24 des PC 12 umfasst eine Systembusschnittstelle 80, der mit dem Prozessor 20 kommuniziert, einen Eingabepufferspeicher 82, einen Ausgabepufferspeicher 84 und eine MAC 86, die mit der PLC 14 1 kommuniziert.
  • Die Systembusschnittstelle 80 und der Prozessor 20 sind über einen Systembus 88 verbunden. Die MAC 86 ist über eine MII 90 mit einem PHY-Chip 92 verbunden. Die Kommunikationseinheit 24 ist mit der Kommunikationseinheit 34 der PLC 14 1 verbunden, die über den PHY-Chip 92 mit einer darauffolgenden Stufe verbunden ist.
  • Die MAC 86 empfängt Frames, die Elemente von Eingabedaten umfassen, die von der Mehrzahl von PLC 14 n (14 1 bis 14 5), d. h. der Mehrzahl von E/A-Vorrichtungen 16 n (16 1 bis 16 5), über den PHY-Chip 92 gesendet werden. Diese Elemente von Eingabedaten werden von der Mehrzahl von Steuerzielen 18 n (18 1 bis 18 5) gesendet, die über die Mehrzahl von E/A-Vorrichtungen 16 n mit der Mehrzahl von PLCs 14 n verbunden sind. Die MAC 86 extrahiert zumindest die Eingabedaten aus dem an den PC 12 gesendeten Frame und speichert die extrahierten Eingabedaten im Eingabepufferspeicher 82. Die PLCs 14 2, 14 3, 14 5, die mit den Steuerzielen 18 2, 18 3, 18 5 verbunden sind, die gemäß dem anderen Programm P2, P3, P5 gesteuert werden, das dem PC 12 zugeordnet ist, weisen den PC 12 als Adressinformation des Sendeziels aus und senden das Frame (das Frame, das die Eingabedaten umfasst). Der Prozessor 20 des PC 12 liest die im Eingabepufferspeicher 82 gespeicherten Eingabedaten über die Systembusschnittstelle 80 und den Systembus 88 und speichert die gelesenen Eingabedaten im Hauptspeicher 22. Der Hauptspeicher 22 und der Eingabepufferspeicher 82 speichern die Eingabedaten pro PLC 14 2, 14 3, 14 5, die die Eingabedaten gesendet hat, oder pro E/A-Vorrichtung 16 n (pro anderes Programm Pn).
  • Der Prozessor 20 speichert die zweiten Ausgabedaten im Hauptspeicher 22, die durch Ausführen des anderen Programms P2, P3, P5 erhalten werden, auf Basis der Eingabedaten jeder der PLCs 14 2, 14 3, 14 5 (jede der E/A-Vorrichtungen 16 2, 16 3, 16 5), die im Hauptspeicher 22 gespeichert sind. Der Prozessor 20 speichert die zweiten Ausgabedaten, die im Hauptspeicher 22 gespeichert sind, über den Systembus 88 im Ausgabepufferspeicher 84 oder dergleichen. Der Hauptspeicher 22 und der Ausgabepufferspeicher 84 speichern die zweiten Ausgabedaten pro anderes Programm Pn (pro PLC 14 n oder pro E/A-Vorrichtung 16 2, 16 3, 16 5, die ein zweites Ausgabedatenausgabeziel ist).
  • Die MAC 86 schreibt die zweiten Ausgabedaten im Frame, die im Ausgabepufferspeicher 84 gespeichert sind, und sendet das geschriebene Frame über den PHY-Chip 92 an die PLCs 14 2, 14 3, 14 5. In diesem Fall schreibt die MAC 86 die Auswahlinformation auch in das zu sendende Frame, unter der Steuerung durch den Prozessor 20. Folglich kann der PC 12 die E/A-Vorrichtungen 16 2, 16 3, 16 5 steuern, die mit den PLCs 14 2, 14 3, 14 5 verbunden sind. In dieser Hinsicht schreibt die MAC 86 auch eine Auswahlinformation in das Frame, das die zweiten Ausgabedaten umfasst, die von der PLC 14 n über den PC 12 an eine andere PLC 14 n gesendet werden, und sendet das Frame an die Sendeziel-PLC 14 n.
  • Im Folgenden wird die Verarbeitung zum Ermitteln eines logischen Werts einer Auswahlinformation im PC 12 unter Bezugnahme auf einen Ablaufplan von 13 beschrieben. Die in 13 gezeigte Verarbeitung wird pro Ausführungszyklus durchgeführt. Grundsätzlich schreibt der Prozessor 20 des PC 12 die Auswahlinformation des logischen Werts „0” in das Frame, das an jede PLC 14 n (14 1 bis 14 5) gesendet wird. Bei der vorliegenden Ausführungsform ist das Frame, in das die Auswahlinformation geschrieben wird, das Frame, das zweite Ausgabedaten umfasst, die an jede der Mehrzahl von PLCs 14 n (PLCs 14 1 bis 14 5) gesendet werden. Das Frame, in das die Auswahlinformation geschrieben wird, kann jedoch ein anderes Frame als das Frame sein, das die zweiten Ausgabedaten umfasst.
  • Zunächst sammelt der Prozessor 20 des PC 12 eine Statusinformation, die von der Mehrzahl von PLCs 14 n (14 1 bis 14 5) über die Kommunikationseinheit 24 und die Kommunikationseinheiten 34 der Mehrzahl von PLCs 14 n (14 1 bis 14 5) gesendet werden (Schritt S21). Der Prozessor 30 jeder der Mehrzahl von PLCs 14 n (14 1 bis 14 5) sendet eine Statusinformation wie z. B. ein Überlebenssignal und eine Fehlerinformation über eine dedizierte Leitung, die nicht gezeigt ist, an den PC 12. Bei normalem Betrieb sendet der Prozessor 30 jeder der Mehrzahl von PLCs 14 n (14 1 bis 14 5) das Überlebenssignal an den PC 12. Das Überlebenssignal wird pro Ausführungszyklus gesendet. Die Fehlerinformation ist z. B. eine Fehlerinformation, die indiziert, dass der Hauptspeicher 32 ausfällt, und eine Fehlerinformation, die eine Trennung der Verbindung mit dem Steuerziel 18 n indiziert, das über die E/A-Vorrichtung 16 n mit sich selbst (PLC 14 n) verbunden ist. Wenn diese Fehler auftreten, gibt die PLC 14 n die Fehlerinformation an den PC 12 aus.
  • Der Prozessor 20 ermittelt, ob die anomale PLC 14 n (die PLC 14 n, in der eine Anomalie oder ein Fehler auftritt) vorhanden ist, auf Basis jeder gesammelten Statusinformation (ein Überlebenssignal oder eine Fehlerinformation) jeder der Mehrzahl von PLCs 14 n (14 1 bis 14 5) (Schritt S22). Beispielsweise wenn die PLC 14 n vorhanden ist, die kein Überlebenssignal ausgibt, ermittelt der Prozessor 20 diese PLC 14 n, die kein Überlebenssignal ausgibt, als anomale PLC 14 n. Auch wenn die PLC 14 n vorhanden ist, die die Fehlerinformation ausgibt, ermittelt der Prozessor 20 diese PLC 14 n, die die Fehlerinformation ausgibt, als anomale PLC 14 n.
  • In Schritt S22 beendet der Prozessor 20 die Verarbeitung, wenn ermittelt wird, dass keine anomale PLC 14 n vorhanden ist. In diesem Fall schreibt der PC 12, grundsätzlich wie oben beschrieben, die Auswahlinformation des logischen Werts „0” in das Frame (das Frame, das die zweiten Ausgabedaten umfasst) und sendet das Frame an jede der Mehrzahl von PLCs 14 n (PLC 14 1 bis 14 5).
  • Wenn unterdessen in Schritt S22 ermittelt wird, dass eine anomale PLC 14 n vorhanden ist, ermittelt der Prozessor 20, ob das selbstzugewiesene Programm Pn, das der anomalen PLC 14 n zugeordnet ist, vom PC 12 oder einer anderen PLC 14 n parallel als das andere Programm Pn ausgeführt wird (Schritt S23). Wenn der Prozessor 20 in Schritt S23 eine parallele Ausführung durch den PC 12 oder die andere PLC 14 n ermittelt, geht der Ablauf zu Schritt S24 über.
  • Wenn der Ablauf zu Schritt S24 übergeht, ermittelt der Prozessor 20, ob der PC 12 oder die andere PLC 14 n, die das selbstzugewiesene Programm der anomalen PLC 14 n als das andere Programm ausführt, das Steuerziel 18 n, das über die E/A-Vorrichtung 16 n mit der anomalen PLC 14 n verbunden ist, kontinuierlich steuern kann. Beispielsweise wenn die Statusinformation der anomalen PLC 14 n eine Fehlerinformation einer Trennung der Verbindung umfasst, ermittelt der Prozessor 30, dass es nicht möglich ist, das Steuerziel 18 n, das mit der anomalen PLC 14 n verbunden ist, kontinuierlich zu steuern. Wenn hingegen der Hauptspeicher 32 der anomalen PLC 14 n einfach ausfällt oder wenn ein Überlebenssignal lediglich nicht gesendet wird, ermittelt der Prozessor 30, dass es möglich ist, das Steuerziel 18 n, das mit der anomalen PLC 14 n verbunden ist, kontinuierlich zu steuern.
  • Wenn in Schritt S24 ermittelt wird, dass es möglich ist, das Steuerziel 18 n, das mit der anomalen PLC 14 n verbunden ist, kontinuierlich zu steuern, schreibt der Prozessor 20 eine Auswahlinformation des logischen Werts „1” in das Frame (das Frame, das die zweiten Ausgabedaten umfasst), das an die anomale PLC 14 n ausgegeben wird, und sendet das Frame an die anomale PLC 14 n (Schritt S25). Die zweiten Ausgabedaten, die an diese anomale PLC 14 n ausgegeben werden, sind Ausgabedaten, die erhalten werden, wenn der PC 12 oder die andere PLC 14 n das andere Programm Pn ausführt, um das Steuerziel 18 n zu steuern, das über die E/A-Vorrichtung 16 n mit der anomalen PLC 14 n verbunden ist. Durch Hinzufügen der Auswahlinformationen des logischen Werts „1” zu diesem Frame ist es möglich, die zweiten Ausgabedaten an das Steuerziel 18 n, das über die E/A-Vorrichtung 16 n mit der anomalen PLC 14 n verbunden ist, auszugeben. Danach können die normalen PLCs 14 n außer der anomalen PLC 14 n das Steuerziel 18 n, das mit der anomalen PLC 14 n verbunden ist, steuern. Folglich ist es möglich, Ausgabedaten, die bislang erhaltenen Ausführungsergebnissen nicht widersprechen, an die mit der anomalen PLC 14 n verbundene E/A-Vorrichtung 16 n auszugeben, und zwar sogar dann, wenn das Steuersubjekt gewechselt wird, das das Steuerziel 18 n steuert.
  • Das heißt, ist es möglich, das Steuersubjekt für das Steuerziel 18 n zu wechseln, während die Steuerung des Steuerziels 18 n in einem stabilen Zustand fortgesetzt wird.
  • Beispielsweise bei einem Zustand, der in 10 gezeigt ist, wird in Schritt S22 ermittelt, dass die PLC 14 3 anomal ist, und wird in Schritt S23 ermittelt, dass der PC 12 das andere Programm P3 parallel ausführt. Wenn in Schritt S24 ermittelt wird, dass es möglich ist, das Steuerziel 18 3 kontinuierlich zu steuern, schreibt der PC 12 die Auswahlinformation des logischen Werts „1” in das Frame und sendet das Frame in Schritt S25 an die anomale PLC 14 3. Dadurch kann, sogar wenn eine Anomalie in der PLC 14 n auftritt, der PC 12 oder die andere normale PLC 14 n das Steuerziel 18 n, das mit der anomalen PLC 14 n verbunden ist, kontinuierlich steuern. Der PC 12 sendet, grundsätzlich wie oben beschrieben, das Frame, in das die Auswahlinformation des logischen Werts „0” geschrieben ist, an die normale PLC 14 n und nicht an die anomale PLC 14 n.
  • Wenn unterdessen in Schritt S23 ermittelt wird, dass das selbstzugewiesene Programm Pn, das der anomalen PLC 14 n zugeordnet ist, nicht vom PC 12 oder der anderen normalen PLC 14 n als das andere Programm Pn parallel ausgeführt wird, oder wenn in Schritt S24 ermittelt wird, dass es möglich ist, das Steuerziel 18 n, das mit der anomalen PLC 14 n verbunden ist, kontinuierlich zu steuern, bewirkt der Prozessor 20, dass eine Anzeigeeinheit (z. B. eine Flüssigkristallanzeige), die nicht gezeigt ist, diese Ermittlung in Schritt S26 anzeigt. Das heißt, die Anzeigeeinheit zeigt einen Fehler an. Ferner kann der Prozessor 20 einen Warnton aus einem Lautsprecher ausgeben, der nicht gezeigt ist.
  • Im Folgenden wird die Verarbeitung einer Datenlieferung zwischen der normalen PLC 14 n und der E/A-Vorrichtung 16 n, die mit dem PC 12 verbunden ist, und der normalen PLC 14 n unter Bezugnahme auf eine in 14 gezeigte Zeitgraphik beschrieben. Danach wird die Verarbeitung einer Datenlieferung zwischen der anomalen PLC 14 n und der E/A-Vorrichtung 16 n, die mit dem PC 12 verbunden ist, und der anomalen PLC 14 n unter Bezugnahme auf eine in 15 gezeigte Zeitgraphik beschrieben. In den 14 und 15 sind die normale PLC 14 n und die anomale PLC 14 n der einfachen Beschreibung halber beide PLCs 14 2. Somit ist die E/A-Vorrichtung 16 n, die mit der PLC 14 2 verbunden ist, die E/A-Vorrichtung 16 2. Der PC 12 schreibt eine Auswahlinformation in das Frame, das die zweiten Ausgabedaten umfasst, das an die PLC 14 2 gesendet wird.
  • Unter Bezugnahme auf die 14 und 15 wird lediglich die Ausführung des Programms P2 beschrieben. Das heißt, das Programm P2 ist das selbstzugewiesene Programm P2 für die PLC 14 2 und das andere Programm P2 für den PC 12 (Siehe 7). Der PC 12 und die PLC 14 2 beginnen mit einer Kommunikation in einer Stufe, in der die Ausführung des Programms P2 beendet ist und alle Elemente von Ausgabedaten ermittelt wurden. Nachdem alle Elemente von Eingabedaten von der E/A-Vorrichtung 16 2 empfangen wurden, beginnt der PC 12 und die PLC 14 2 in einem nächsten Ausführungszyklus mit der Ausführung des Programms P2. Nachdem die PLC 14 2 und die E/A-Vorrichtung 16 2 die Kommunikation beendet haben, führen der PC 12 und die PLC 14 2 eine Kommunikation durch. In diesem Fall ist es möglich, den PC 12 und die PLC 14 2 zu synchronisieren, indem der PC 12 und die PLC 14 2 mit Uhren versehen werden, die die gleiche Zeit anzeigen und nicht gezeigt sind.
  • <Kommunikation zwischen normaler PLC 14 2 und E/A-Vorrichtung 16 2 (siehe Fig. 14)>
  • Der Prozessor 30 der PLC 14 2 beendet die Ausführung des selbstzugewiesenen Programms P2 eines Ausführungszyklus und speichert sodann die ersten Ausgabedaten, die durch Ausführen des selbstzugewiesenen Programms P2 generiert werden, im Hauptspeicher 32. Der Prozessor 30 der PLC 14 2 speichert die ersten Ausgabedaten, die im Hauptspeicher 32 gespeichert sind, im ersten Ausgabepufferspeicher 46 der Kommunikationseinheit 34. Dadurch werden die ersten Ausgabedaten, die im Hauptspeicher 32 und im ersten Ausgabepufferspeicher 46 gespeichert sind, aktualisiert. Dieses selbstzugewiesene Programm P2 wird auf Basis der Eingabedaten ausgeführt, die derzeit im ersten Eingabepufferspeicher 42 gespeichert sind.
  • Folglich schreibt die Kommunikationseinheit 34 der PLC 14 2 die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, in das Frame und sendet das Frame an die E/A-Vorrichtung 16 2 (ein logischer Wert, der im Register 58 gespeichert ist, ist „0”). Dadurch werden die ersten Ausgabedaten über die E/A-Vorrichtung 16 2 an das Steuerziel 18 2 ausgegeben. Die Kommunikationseinheit 34 der PLC 14 2 empfängt das Frame, das die Eingabedaten umfasst, die von der E/A-Vorrichtung 16 2 gesendet werden (Steuerziel 18 2), extrahiert die Eingabedaten aus dem empfangenen Frame und speichert die Eingabedaten im ersten Eingabepufferspeicher 42. Danach speichert der Prozessor 30 der PLC 14 2 die Eingabedaten, die im ersten Eingabepufferspeicher 42 gespeichert sind, im Hauptspeicher 32. Dadurch werden die Eingabedaten (die Eingabedaten, die von der E/A-Vorrichtung 16 2 gesendet werden), die im ersten Eingabepufferspeicher 42 und im Hauptspeicher 32 gespeichert sind, aktualisiert. Der Prozessor 30 der PLC 14 2 beginnt die Ausführung des selbstzugewiesenen Programms P2 zu einem Eintrittszeitpunkt des nächsten Ausführungszyklus.
  • <Kommunikation zwischen PC 12 und normaler PLC 14 2 (siehe Fig. 14)>
  • Der Prozessor 20 des PC 12 beendet die Ausführung des anderen Programms P2 eines Ausführungszyklus und speichert sodann die zweiten Ausgabedaten, die durch Ausführen des anderen Programms P2 generiert werden, im Hauptspeicher 22. Der Prozessor 20 des PC 12 speichert die zweiten Ausgabedaten, die im Hauptspeicher 22 gespeichert sind, im Ausgabepufferspeicher 84 der Kommunikationseinheit 24. Dadurch werden die zweiten Ausgabedaten (die zweiten Ausgabedaten, die an die E/A-Vorrichtung 16 2 ausgegeben werden), die im Hauptspeicher 22 und im Ausgabepufferspeicher 84 gespeichert sind, aktualisiert. Das andere Programm P2 wird auf Basis der Eingabedaten (der Eingabedaten, die von der E/A-Vorrichtung 16 2 gesendet werden), die derzeit im Eingabepufferspeicher 82 gespeichert sind, ausgeführt.
  • Folglich schreibt die Kommunikationseinheit 24 des PC 12 die zweiten Ausgabedaten, die im Ausgabepufferspeicher 84 gespeichert sind, in das Frame und sendet das Frame an die PLC 14 2. Auch in diesem Fall schreibt der PC 12 eine Auswahlinformation eines logischen Werts „0” in das Frame, das die zweiten Ausgabedaten umfasst, die an die PLC 14 2 gesendet werden, und sendet das Frame. Die Kommunikationseinheit 34 der PLC 14 2 extrahiert die zweiten Ausgabedaten (zweite Ausgabedaten, die an die E/A-Vorrichtung 16 2 ausgegeben werden) aus dem Frame, das vom PC 12 gesendet wird, und speichert die extrahierten zweiten Ausgabedaten im zweiten Ausgabepufferspeicher 48. Dadurch werden die zweiten Ausgabedaten (die zweiten Ausgabedaten, die an die E/A-Vorrichtung 16 2 ausgegeben werden), die im zweiten Ausgabepufferspeicher 48 gespeichert sind, aktualisiert. Die Kommunikationseinheit 34 der PLC 14 2 extrahiert die Auswahlinformation aus dem Frame, das vom PC 12 gesendet wird, und speichert den logischen Wert „0” der extrahierten Auswahlinformation im Register 58. Dadurch wählt die Auswahleinheit 56 der PLC 14 2 die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, als die Ausgabedaten aus, die an die E/A-Vorrichtung 16 2 gesendet werden.
  • Die Kommunikationseinheit 34 der PLC 14 2 schreibt die Eingabedaten, die im ersten Eingabepufferspeicher 42 gespeichert sind, in das Frame und sendet das Frame an den PC 12. Die Kommunikationseinheit 24 des PC 12 empfängt das Frame, das die Eingabedaten (die Eingabedaten, die von der E/A-Vorrichtung 16 2 gesendet werden), wie von der PLC 14 2 gesendet, extrahiert die Eingabedaten aus dem empfangenen Frame und speichert die Eingabedaten im Eingabepufferspeicher 82. Der Prozessor 20 des PC 12 speichert die Eingabedaten, die im Eingabepufferspeicher 82 gespeichert sind, im Hauptspeicher 22. Dadurch werden die Eingabedaten (die Eingabedaten, die von der E/A-Vorrichtung 16 2 gesendet werden), die im Eingabepufferspeicher 82 und im Hauptspeicher 22 gespeichert sind, aktualisiert. Der Prozessor 20 des PC 12 beginnt die Ausführung des anderen Programms P2 zu einem Eintrittszeitpunkt eines nächsten Ausführungszyklus.
  • <Kommunikation zwischen anomaler PLC 14 2 und E/A-Vorrichtung 16 2 (siehe Fig. 15)>
  • Wenn ein Fehler erkannt wird, generiert der Prozessor 30 der anomalen PLC 14 2 eine Fehlerinformation und sendet die generierte Fehlerinformation über die obige dedizierte Leitung an den PC 12. In diesem Fall führt der Prozessor 30 der anomalen PLC 14 2 das selbstzugewiesene Programm P2 nicht aus und daher werden die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, nicht aktualisiert.
  • Die Kommunikationseinheit 34 der anomalen PLC 14 2 schreibt die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, in das Frame und sendet das Frame an die E/A-Vorrichtung 16 2 (der logische Wert, der im Register 58 gespeichert ist, ist in diesem Fall „0”). Zu diesem Zeitpunkt werden die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, nicht aktualisiert und daher werden die zuvor gesendeten ersten Ausgabedaten erneut an die E/A-Vorrichtung 16 2 gesendet.
  • Die Kommunikationseinheit 34 der anomalen PLC 14 2 empfängt das Frame, das die Eingabedaten umfasst, die von der E/A-Vorrichtung 16 2 gesendet werden, extrahiert die Eingabedaten aus dem empfangenen Frame und speichert die Eingabedaten im ersten Eingabepufferspeicher 42. Danach speichert der Prozessor 30 der anomalen PLC 14 2 die Eingabedaten, die im ersten Eingabepufferspeicher 42 gespeichert sind, im Hauptspeicher 32. Dadurch werden die Eingabedaten (die Eingabedaten, die von der E/A-Vorrichtung 16 2 gesendet werden), die im ersten Eingabepufferspeicher 42 und im Hauptspeicher 32 gespeichert sind, aktualisiert.
  • <Kommunikation zwischen PC 12 und anomaler PLC 14 2 (siehe Fig. 15)>
  • Der Prozessor 20 des PC 12 beendet die Ausführung des anderen Programms P2 eines Ausführungszyklus und speichert sodann die zweiten Ausgabedaten, die durch Ausführen des anderen Programms P2 generiert werden, im Hauptspeicher 22. Der Prozessor 20 des PC 12 speichert die zweiten Ausgabedaten, die im Hauptspeicher 22 gespeichert sind, im Ausgabepufferspeicher 84 der Kommunikationseinheit 24. Dadurch werden die zweiten Ausgabedaten (die zweiten Ausgabedaten, die an die E/A-Vorrichtung 162 ausgegeben werden), die im Hauptspeicher 22 und im Ausgabepufferspeicher 84 gespeichert sind, aktualisiert.
  • Das andere Programm P2 wird in dieser Hinsicht auf Basis der Eingabedaten (der Eingabedaten, die von der E/A-Vorrichtung 16 2 gesendet werden), die derzeit im Eingabepufferspeicher 82 gespeichert sind, ausgeführt.
  • Folglich schreibt die Kommunikationseinheit 24 des PCs 12 die zweiten Ausgabedaten, die im Ausgabepufferspeicher 84 gespeichert sind, in das Frame und sendet das Frame an die anomale PLC 14 2. Auch in diesem Fall schreibt der PC 12 die Auswahlinformation des logischen Werts „1” in das Frame, das die zweiten Ausgabedaten umfasst, die an die anomale PLC 14 2 gesendet werden, und sendet das Frame. Die Kommunikationseinheit 34 der anomalen PLC 14 2 extrahiert die zweiten Ausgabedaten (die zweiten Ausgabedaten, die an die E/A-Vorrichtung 16 2 ausgegeben werden) aus dem Frame, das vom PC 12 gesendet wird, und speichert die extrahierten zweiten Ausgabedaten im zweiten Ausgabepufferspeicher 48. Dadurch werden die zweiten Ausgabedaten (die zweiten Ausgabedaten, die an die E/A-Vorrichtung 16 2 ausgegeben werden), die im zweiten Ausgabepufferspeicher 48 gespeichert sind, aktualisiert.
  • Die Kommunikationseinheit 34 der anomalen PLC 14 2 extrahiert die Auswahlinformation aus dem Frame, das vom PC 12 gesendet wird, und speichert den logischen Wert „1” der extrahierten Auswahlinformation im Register 58. Dadurch wählt die Auswahleinheit 56 der anomalen PLC 14 2 die zweiten Ausgabedaten, die im zweiten Ausgabepufferspeicher 48 gespeichert sind, als die Ausgabedaten aus, die an die E/A-Vorrichtung 16 2 gesendet werden. Wenn die PLC 14 2 und die E/A-Vorrichtung 16 2 das nächste Mal kommunizieren, werden somit die Ausgabedaten, die im zweiten Ausgabepufferspeicher 48 gespeichert sind, an die E/A-Vorrichtung 16 2 ausgegeben. Folglich ist es möglich, das Steuersubjekt, das die E/A-Vorrichtung 16 2 steuert, von der anomalen PLC 14 2 auf den PC 12 zu wechseln.
  • Die Kommunikationseinheit 34 der anomalen PLC 14 2 schreibt die Eingabedaten, die im ersten Eingabepufferspeicher 42 gespeichert sind, in das Frame und sendet das Frame an den PC 12. Die Kommunikationseinheit 24 des PC 12 empfängt das Frame, das die Eingabedaten (die Eingabedaten, die von der E/A-Vorrichtung 16 2 gesendet werden), wie von der anomalen PLC 14 2 gesendet, extrahiert die Eingabedaten aus dem empfangenen Frame und speichert die Eingabedaten im Eingabepufferspeicher 82.
  • Der Prozessor 20 des PC 12 speichert die Eingabedaten, die im Eingabepufferspeicher 82 gespeichert sind, im Hauptspeicher 22. Die Eingabedaten (die Eingabedaten, die von der E/A-Vorrichtung 16 2 gesendet werden), die im Eingabepufferspeicher 82 und im Hauptspeicher 22 gespeichert sind, werden aktualisiert. Der Prozessor 20 des PC 12 beginnt die Ausführung des anderen Programms P2 eines nächsten eintretenden Ausführungszyklus.
  • Wenn eine Anomalie in der PLC 14 2 auftritt, werden die Steuersubjekte, die die E/A-Vorrichtung 16 2 steuern, somit von der anomalen PLC 14 2 auf den PC 12 gewechselt. Eine Antwort (Aktualisierung) der Ausgabedaten an die Eingabedaten von der E/A-Vorrichtung 16 2 verzögert sich im Vergleich zur einer normalen Zeit jedoch um einen Ausführungszyklus. Um diese Verzögerung zu vermeiden, können die anomale PLC 14 2 und die E/A-Vorrichtung 16 2 nach Aktualisierung des zweiten Ausgabepufferspeichers 48 der anomalen PLC 14 2 im aktuellen Ausführungszyklus erneut kommunizieren.
  • Ein Beispiel für eine Datenlieferung zwischen der PLC 14 n und dem PC 12, dem das selbstzugewiesene Programm Pn der PLC 14 n als das andere Programm Pn zugeordnet wurde, wird unter Bezugnahme auf die 14 und 15 beschrieben. Eine Datenlieferung zwischen einer PLC 14 n und der anderen PLC 14 n, der das selbstzugewiesene Programm der PLC 14 n als das andere Programm Pn zugeordnet wurde, kann jedoch gleichermaßen durchgeführt werden. Eine Verarbeitung einer Datenlieferung zwischen der PLC 14 1 und der PLC 14 4 wird unter Bezugnahme auf die 14 und 15 kurz beschrieben. Die PLC 14 2 und der PC 12 in den 14 und 15 sind durch die PLC 14 1 und die PLC 14 4 ersetzt und es wird nur die Ausführung des Programms P1 beschrieben.
  • <Kommunikation zwischen normaler PLC 14 1 und E/A-Vorrichtung 16 1 (siehe Fig. 14)>
  • Der Prozessor 30 der PLC 14 1 beendet die Ausführung des selbstzugewiesenen Programms P1 (siehe 7) eines Ausführungszyklus und speichert sodann die ersten Ausgabedaten, die durch Ausführen des selbstzugewiesenen Programms P1 generiert werden, im Hauptspeicher 32. Der Prozessor 30 der PLC 14 1 speichert die ersten Ausgabedaten, die im Hauptspeicher 32 gespeichert sind, im ersten Ausgabepufferspeicher 46 der Kommunikationseinheit 34. Dadurch werden die ersten Ausgabedaten, die im Hauptspeicher 32 und im ersten Ausgabepufferspeicher 46 gespeichert sind, aktualisiert. Dieses selbstzugewiesene Programm P1 wird in dieser Hinsicht auf Basis der Eingabedaten ausgeführt, die derzeit im ersten Eingabepufferspeicher 42 gespeichert sind.
  • Folglich schreibt die Kommunikationseinheit 34 der PLC 14 1 die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, in das Frame und sendet das Frame an die E/A-Vorrichtung 16 1 (der logische Wert, der im Register 58 gespeichert ist, ist „0”). Dadurch werden die ersten Ausgabedaten über die E/A-Vorrichtung 16 1 an das Steuerziel 18 1 ausgegeben. Die Kommunikationseinheit 34 der PLC 14 1 empfängt das Frame, das die Eingabedaten umfasst, die von der E/A-Vorrichtung 16 1 gesendet werden (Steuerziel 18 1), extrahiert die Eingabedaten aus dem empfangenen Frame und speichert die Eingabedaten im ersten Eingabepufferspeicher 42. Danach speichert der Prozessor 30 der PLC 14 1 die Eingabedaten, die im ersten Eingabepufferspeicher 42 gespeichert sind, im Hauptspeicher 32. Dadurch werden die Eingabedaten (die Eingabedaten, die von der E/A-Vorrichtung 16 1 gesendet werden), die im ersten Eingabepufferspeicher 42 und im Hauptspeicher 32 gespeichert sind, aktualisiert. Der Prozessor 30 der PLC 14 1 beginnt die Ausführung des selbstzugewiesenen Programms P1 zu einem Eintrittszeitpunkt eines nächsten Ausführungszyklus.
  • <Kommunikation zwischen normaler PLC 14 1 und normaler PLC 14 4 (siehe Fig. 14)>
  • Der Prozessor 30 der PLC 14 4 beendet die Ausführung des anderen Programms P1 (siehe 7) eines Ausführungszyklus und speichert sodann die zweiten Ausgabedaten, die durch Ausführen des anderen Programms P1 generiert werden, im Hauptspeicher 32. Der Prozessor 30 der PLC 14 4 speichert die zweiten Ausgabedaten, die im Hauptspeicher 32 gespeichert sind, im dritten Ausgabepufferspeicher 50 der Kommunikationseinheit 34. Dadurch werden die zweiten Ausgabedaten (die zweiten Ausgabedaten, die an die E/A-Vorrichtung 16 1 ausgegeben werden), die im Hauptspeicher 32 und im dritten Ausgabepufferspeicher 50 gespeichert sind, aktualisiert. Das andere Programm P1 wird in dieser Hinsicht auf Basis der Eingabedaten (der Eingabedaten, die von der E/A-Vorrichtung 16 1 gesendet werden), die derzeit im zweiten Eingabepufferspeicher 44 gespeichert sind, ausgeführt.
  • Folglich schreibt die Kommunikationseinheit 34 der PLC 14 4 die zweiten Ausgabedaten, die im dritten Ausgabepufferspeicher 50 gespeichert sind, in das Frame und sendet das Frame über den PC 12 an die PLC 14 1. Auch in diesem Fall schreibt der PC 12 die Auswahlinformation des logischen Werts „0” in das Frame, das die zweiten Ausgabedaten umfasst, das an die PLC 14 1 gesendet wird. Die Kommunikationseinheit 34 der PLC 14 1 extrahiert die zweiten Ausgabedaten (die zweiten Ausgabedaten, die an die E/A-Vorrichtung 16 1 ausgegeben werden) aus dem Frame, das von der PLC 14 4 gesendet wird, und speichert die extrahierten zweiten Ausgabedaten im zweiten Ausgabepufferspeicher 48. Dadurch werden die zweiten Ausgabedaten (die zweiten Ausgabedaten, die an die E/A-Vorrichtung 16 1 ausgegeben werden), die im zweiten Ausgabepufferspeicher 48 gespeichert sind, aktualisiert. Die Kommunikationseinheit 34 der PLC 14 1 extrahiert die Auswahlinformation aus dem Frame, das von der PLC 14 4 über den PC 12 gesendet wird, und speichert den logischen Wert „0” der extrahierten Auswahlinformation im Register 58.
  • Dadurch wählt die Auswahleinheit 56 der PLC 14 1 die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, als die Ausgabedaten aus, die an die E/A-Vorrichtung 16 1 gesendet werden.
  • Die Kommunikationseinheit 34 der PLC 14 1 schreibt die Eingabedaten, die im ersten Eingabepufferspeicher 42 gespeichert sind, in das Frame und sendet das Frame über den PC 12 an die PLC 14 4.
  • Die Kommunikationseinheit 34 der PLC 14 4 empfängt das Frame, das die Eingabedaten (die Eingabedaten, die von der E/A-Vorrichtung 16 1 gesendet werden), wie über den PC 12 von der PLC 14 1 gesendet, extrahiert die Eingabedaten aus dem empfangenen Frame und speichert die Eingabedaten im zweiten Eingabepufferspeicher 44. Der Prozessor 30 der PLC 14 4 speichert die Eingabedaten, die im zweiten Eingabepufferspeicher 44 gespeichert sind, im Hauptspeicher 32. Dadurch werden die Eingabedaten (die Eingabedaten, die von der E/A-Vorrichtung 16 1 gesendet werden), die im zweiten Eingabepufferspeicher 44 und im Hauptspeicher 32 gespeichert sind, aktualisiert. Der Prozessor 30 des Hauptspeichers 32 beginnt die Ausführung des anderen Programms P1 bei einem Eintritt des nächsten Ausführungszyklus.
  • <Kommunikation zwischen anomaler PLC 14 1 und E/A-Vorrichtung 16 1 (siehe Fig. 15)>
  • Wenn ein Fehler erkannt wird, generiert der Prozessor 30 der anomalen PLC 14 1 eine Fehlerinformation und sendet die generierte Fehlerinformation über die obige dedizierte Leitung an den PC 12. In diesem Fall führt der Prozessor 30 der anomalen PLC 14 1 das selbstzugewiesene Programm P1 nicht aus und daher werden die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, nicht aktualisiert.
  • Die Kommunikationseinheit 34 der anomalen PLC 14 1 schreibt die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, in das Frame und sendet das Frame an die E/A-Vorrichtung 16 1 (der logische Wert, der im Register 58 gespeichert ist, ist in diesem Fall „0”). In diesem Fall werden die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, nicht aktualisiert und daher werden die zuvor gesendeten ersten Ausgabedaten erneut an die E/A-Vorrichtung 16 1 gesendet. Die Kommunikationseinheit 34 der anomalen PLC 14 1 empfängt das Frame, das die Eingabedaten umfasst, die von der E/A-Vorrichtung 16 1 gesendet werden, extrahiert die Eingabedaten aus dem empfangenen Frame und speichert die Eingabedaten im ersten Eingabepufferspeicher 42. Danach speichert der Prozessor 30 der anomalen PLC 14 1 die Eingabedaten, die im ersten Eingabepufferspeicher 42 gespeichert sind, im Hauptspeicher 32. Dadurch werden die Eingabedaten (die Eingabedaten, die von der E/A-Vorrichtung 16 1 gesendet werden), die im ersten Eingabepufferspeicher 42 und im Hauptspeicher 32 gespeichert sind, aktualisiert.
  • <Kommunikation zwischen anomaler PLC 14 1 und normaler PLC 14 4 (siehe Fig. 15)>
  • Der Prozessor 30 der PLC 14 4 beendet die Ausführung des anderen Programms P1 eines Ausführungszyklus und speichert die zweiten Ausgabedaten, die durch Ausführen des anderen Programms P1 generiert werden, im Hauptspeicher 32. Der Prozessor 30 der PLC 14 4 speichert die zweiten Ausgabedaten, die im Hauptspeicher 32 gespeichert sind, im dritten Ausgabepufferspeicher 50 der Kommunikationseinheit 34. Somit werden die zweiten Ausgabedaten (die zweiten Ausgabedaten, die an die E/A-Vorrichtung 16 1 ausgegeben werden), die im Hauptspeicher 32 und im dritten Ausgabepufferspeicher 50 gespeichert sind, aktualisiert. Das andere Programm P1 wird in dieser Hinsicht auf Basis der Eingabedaten (der Eingabedaten, die von der E/A-Vorrichtung 16 1 gesendet werden), die derzeit im zweiten Eingabepufferspeicher 44 gespeichert sind, ausgeführt.
  • Folglich schreibt die Kommunikationseinheit 34 der PLC 14 4 die zweiten Ausgabedaten, die im dritten Ausgabepufferspeicher 50 gespeichert sind, in das Frame und sendet das Frame über den PC 12 an die anomale PLC 14 1. Zu diesem Zeitpunkt schreibt der PC 12 die Auswahlinformation des logischen Werts „1” in das Frame, das die zweiten Ausgabedaten umfasst, die an die anomale PLC 14 1 gesendet werden, und sendet das Frame. Die Kommunikationseinheit 34 der anomalen PLC 14 1 extrahiert die zweiten Ausgabedaten (die zweiten Ausgabedaten, die an die E/A-Vorrichtung 16 1 ausgegeben werden) aus dem Frame, das über den PC 12 von der PLC 14 4 gesendet wird, und speichert die extrahierten zweiten Ausgabedaten im zweiten Ausgabepufferspeicher 48. Dadurch werden die zweiten Ausgabedaten (die zweiten Ausgabedaten, die an die E/A-Vorrichtung 16 1 ausgegeben werden), die im zweiten Ausgabepufferspeicher 48 gespeichert sind, aktualisiert. Die Kommunikationseinheit 34 der anomalen PLC 14 1 extrahiert die Auswahlinformation aus dem Frame, das von der PLC 14 4 über den PC 12 gesendet wird, und speichert den logischen Wert „1” der extrahierten Auswahlinformation im Register 58. Somit wählt die Auswahleinheit 56 der anomalen PLC 14 1 die zweiten Ausgabedaten, die im zweiten Ausgabepufferspeicher 48 gespeichert sind, als die Ausgabedaten aus, die an die E/A-Vorrichtung 16 1 gesendet werden. Wenn die PLC 14 1 und die E/A-Vorrichtung 16 1 das nächste Mal kommunizieren, werden somit die Ausgabedaten, die im zweiten Ausgabepufferspeicher 48 gespeichert sind, an die E/A-Vorrichtung 16 1 ausgegeben. Folglich ist es möglich, das Steuersubjekt, das die E/A-Vorrichtung 16 1 steuert, von der anomalen PLC 14 1 auf den PLC 14 4 zu wechseln.
  • Die Kommunikationseinheit 34 der anomalen PLC 14 1 schreibt die Eingabedaten, die im ersten Eingabepufferspeicher 42 gespeichert sind, in das Frame und sendet das Frame über den PC 12 an die PLC 14 4. Die Kommunikationseinheit 34 der PLC 14 4 empfängt das Frame, das die Eingabedaten (die Eingabedaten, die von der E/A-Vorrichtung 16 1 gesendet werden), wie über den PC 12 von der anomalen PLC 14 1 gesendet, extrahiert die Eingabedaten aus dem empfangenen Frame und speichert die Eingabedaten im zweiten Eingabepufferspeicher 44. Der Prozessor 30 der PLC 14 4 speichert die Eingabedaten, die im zweiten Eingabepufferspeicher 44 gespeichert sind, im Hauptspeicher 32. Die Eingabedaten (die Eingabedaten, die von der E/A-Vorrichtung 16 1 gesendet werden), die im zweiten Eingabepufferspeicher 44 und im Hauptspeicher 32 gespeichert sind, werden aktualisiert. Der Prozessor 30 der PLC 14 4 beginnt die Ausführung des anderen Programms P1 eines nächsten eintretenden Ausführungszyklus.
  • Wenn eine Anomalie in der PLC 14 1 auftritt, werden die Steuersubjekte, die die E/A-Vorrichtung 16 1 steuern, gewechselt. Eine Antwort (Aktualisierung) der Ausgabedaten an die Eingabedaten von der E/A-Vorrichtung 16 1 verzögert sich im Vergleich zur einer normalen Zeit jedoch um einen Ausführungszyklus. Um diese Verzögerung zu vermeiden, können die anomale PLC 14 1 und die E/A-Vorrichtung 16 1 nach Aktualisierung des zweiten Ausgabepufferspeichers 48 im aktuellen Ausführungszyklus erneut kommunizieren.
  • Der erste Eingabepufferspeicher 42 und der zweite Eingabepufferspeicher 44 können als ein Speichermedium konfiguriert sein.
  • In diesem Fall kann ein Speicherbereich eines Speichermediums in zumindest zwei partitioniert werden, um zu bewirken, dass ein Speicherbereich als erster Eingabepufferspeicher 42 agiert und der andere Speicherbereich als zweiter Eingabepufferspeicher 44 agiert. Gleichermaßen können der erste Ausgabepufferspeicher 46, der zweite Ausgabepufferspeicher 48 und der dritte Ausgabepufferspeicher 50 auch als ein Speichermedium konfiguriert sein. Auch in diesem Fall kann ein Speicherbereich eines Speichermediums in zumindest drei partitioniert werden, um zu bewirken, dass jeder der drei partitionierten Speicherbereiche jeweils als der erste Ausgabepufferspeicher 46, der zweite Ausgabepufferspeicher 48 und der dritte Ausgabepufferspeicher 50 agiert. Ferner können der erste Eingabepufferspeicher 42, der zweite Eingabepufferspeicher 44, der erste Ausgabepufferspeicher 46, der zweite Ausgabepufferspeicher 48 und der dritte Ausgabepufferspeicher 50 als ein Speichermedium konfiguriert sein.
  • Wenn in der PLC 14 n eine Anomalie auftritt, wird das Steuersubjekt, das das Steuerziel 18 n steuert, das über die E/A-Vorrichtung 16 n mit der anomalen PLC 14 n verbunden ist, gewechselt. Sogar wenn in der PLC 14 n keine Anomalie auftritt, kann das Steuersubjekt jedoch gewechselt werden. Das heißt, das Steuersubjekt kann gewechselt werden, um zu bewirken, dass der PC 12 oder eine andere normale PLC 14 n das Steuerziel 18 n steuert, das über die E/A-Vorrichtung 14 n mit der normalen PLC 14 n verbunden ist.
  • Das PLC-System (Steuerungssystem) 10, das bei der obigen Ausführungsform beschrieben ist, umfasst die Mehrzahl von PLCs (Steuerungen) 14 n, die Mehrzahl von E/A-Vorrichtungen 16 n, die das Steuerziel 18 n jeder der Mehrzahl von PLCs 14 n und jede der Mehrzahl von PLCs 14 n verbinden und eine erforderliche Information zwischen dem Steuerziel 16 n und der PLC 14 n senden, und den PC (Steuervorrichtung höherer Ebene) 12, der die Mehrzahl von PLCs 14 n steuert und verwaltet. Der PC 12 umfasst den Hauptspeicher (Speichereinheit) 22 und den Prozessor 20. Der Hauptspeicher 22 speichert eine Mehrzahl von Programmen Pn, die von jeder der Mehrzahl von PLCs 14 n ausgeführt werden. Der Prozessor 20 ordnet jedes der Mehrzahl von Programmen Pn, die im Hauptspeicher 22 gespeichert sind, als selbstzugewiesenes Programm Pn jeder der Mehrzahl von PLCs 14 n zu, um zu bewirken, dass jede der Mehrzahl von PLCs 14 n das Steuerziel 18 n steuert, das über die E/A-Vorrichtung 16 n mit jeder PLC 14 n verbunden ist. Der Prozessor 20 ordnet ferner alle oder einen Teil der Mehrzahl von Programmen Pn als die anderen Programm Pn dem PC 12 und der Mehrzahl von PLCs 14 n zu, um zu bewirken, dass der PC 12 und die Mehrzahl von PLCs 14 n alle oder einen Teil der Mehrzahl von Programmen Pn, die im Hauptspeicher 22 gespeichert sind, in einem Ausführungszyklus parallel doppelt ausführt. Jede der Mehrzahl von PLCs 14 n umfasst den ersten Eingabepufferspeicher 42, den ersten Ausgabepufferspeicher 46 und den zweiten Ausgabepufferspeicher 48.
  • Der erste Eingabepufferspeicher 42 speichert Eingabedaten, die vom Steuerziel 18 n gesendet werden, das über die E/A-Vorrichtung 16 n mit jeder PLC 14 n verbunden ist. Der erste Ausgabepufferspeicher 46 speichert die ersten Ausgabedaten, die durch Ausführung des selbstzugewiesenen Programms Pn erhalten werden, das jeder PLC 14 n zugeordnet ist, um das Steuerziel 18 n zu steuern, das über die E/A-Vorrichtung 16 n mit jeder PLC 14 n verbunden ist. Der zweite Ausgabepufferspeicher 48 speichert die zweiten Ausgabedaten, die erhalten werden, wenn der PC 12 oder die andere PLC 14 n das andere Programm Pn ausführt, das dem PC 12 oder der anderen PLC 14 n zugeordnet ist, um das Steuerziel 18 n, zu steuern, das über die E/A-Vorrichtung 16 n mit der PLC 14 n außer dem PC 12 oder der anderen PLC 14 n verbunden ist. Jede der Mehrzahl von PLCs 14 n gibt eines der ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, und der zweiten Ausgabedaten, die im zweiten Ausgabepufferspeicher 48 gespeichert sind, an das Steuerziel 18 n aus, das über die E/A-Vorrichtung 16 n mit jeder PLC 14 n verbunden ist, auf Basis der Auswahlinformation, die vom PC 12 gesendet wird.
  • Folglich ist es möglich, Ausgabedaten, die bislang erhaltenen Ausführungsergebnissen nicht widersprechen, an die mit diesem Steuerziel 18 n verbundene E/A-Vorrichtung 16 n auszugeben, und zwar sogar dann, wenn das Steuersubjekt gewechselt wird, das das Steuerziel 18 n steuert. Folglich ist es möglich, das Steuersubjekt für das Steuerziel 18 n zu wechseln, während die Steuerung der Steuerziele 18 n in einem stabilen Zustand fortgesetzt wird.
  • Jede der Mehrzahl von PLCs 14 n umfasst ferner einen Prozessor 30. Der Prozessor 30 generiert die ersten Ausgabedaten, die durch Ausführung des selbstzugewiesenen Programms Pn erhalten werden, das jeder PLC 14 n zugeordnet ist, auf Basis der Eingabedaten, die vom Steuerziel 18 n gesendet werden, das über die E/A-Vorrichtung 16 n mit jeder PLC 14 n verbunden ist. Jede der Mehrzahl von PLCs 14 n generiert die zweiten Ausgabedaten durch Ausführen des anderen Programms Pn, das jeder PLC 14 n zugeordnet ist, auf Basis der Eingabedaten, die vom Steuerziel 18 n gesendet werden, das über die E/A-Vorrichtung 16 n mit der anderen PLC 14 n verbunden ist und gemäß dem anderen Programm Pn gesteuert wird, das jeder PLC 14 n zugeordnet ist. Somit führt die PLC 14 n das Programm Pn (das selbstzugewiesene Programm Pn oder das andere Programm Pn) auf Basis der Eingabedaten aus, die vom Steuerziel 18 n gesendet werden, und generiert die Ausgabedaten, die an das Steuerziel 18 n ausgegeben werden, das die Eingabedaten gesendet hat. Folglich ist es möglich, das Steuerziel 18 n in einem stabilen Zustand zu steuern.
  • Der Prozessor 20 des PC 12 generiert die zweiten Ausgabedaten durch Ausführen des anderen Programms Pn, das dem PC 12 zugeordnet ist, auf Basis der Eingabedaten, die vom Steuerziel 18 n gesendet werden, das gemäß dem anderen Programm Pn gesteuert wird, das dem PC 12 zugeordnet ist. Somit führt der PC 12 das andere Programm Pn auf Basis der Eingabedaten aus, die vom Steuerziel 18 n gesendet werden, und generiert die Ausgabedaten, die an das Steuerziel 18 n ausgegeben werden, das die Eingabedaten gesendet hat. Folglich ist es möglich, das Steuerziel 18 n im stabilen Zustand zu steuern.
  • Der Prozessor 20 des PC 12 gibt eine Auswahlinformation an die Mehrzahl von PLCs 14 n aus, um zu bewirken, dass die PLC 14 n, die als normale PLC ermittelt wurde, die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, an das Steuerziel 18 n ausgibt, das über die E/A-Vorrichtung 16 n mit jeder PLC 14 n verbunden ist, und um zu bewirken, dass die PLC 14 n, die als anomale PLC 14 n ermittelt wurde, die zweiten Ausgabedaten, die im zweiten Ausgabepufferspeicher 48 gespeichert sind, an das Steuerziel 18 n ausgibt, das über die E/A-Vorrichtung 16 n mit der anomalen PLC 14 n verbunden ist. Folglich kann, sogar wenn eine Anomalie in der PLC 14 n auftritt, die andere normale PLC 14 n anstatt der anomalen PLC 14 n das Steuerziel 18 n steuern, das über die E/A-Vorrichtung 16 n mit der anomalen PLC 14 n verbunden ist. Während die Steuerung des Steuerziels 18 n, das über die E/A-Vorrichtung 16 n mit der anomalen PLC 14 n verbunden ist, im stabilen Zustand fortgesetzt wird, ist es möglich, die Steuersubjekte des Steuerziels zu wechseln, das mit der anomalen PLC 14 n verbunden ist.
  • Der Prozessor 20 des PC 12 ermittelt, ob jede der Mehrzahl von PLCs 14 n normal oder anomal ist, auf Basis zumindest eines von einer Fehlerinformation und einem Überlebenssignal jeder der Mehrzahl von PLCs 14 n, wie von der Mehrzahl von PLCs 14 n erhalten. Somit kann der PC 12 genau ermitteln, ob die PLC 14 n normal oder anomal ist.
  • Die Kommunikationseinheitseinheit 34 der PLC 14 n umfasst ferner eine Auswahleinheit 56, die eines der ersten Ausgabedaten, die im ersten Ausgabepufferspeicher 46 gespeichert sind, und der zweiten Ausgabedaten, die im zweiten Ausgabepufferspeicher 48 gespeichert sind, als Ausgabedaten auswählt, die an das Steuerziel 18 n ausgegeben werden, das über die E/A-Vorrichtung 16 n mit jeder PLC 14 n verbunden ist. Folglich ist es möglich, die an die E/A-Vorrichtung 16 n ausgegebenen Ausgabedaten auf einfache Weise zu wechseln.
  • Der Prozessor 20 des PC 12 erhält eine Lastinformation, die eine Last indiziert, die angelegt ist, wenn jede der Mehrzahl von PLCs 14 das selbstzugewiesene Programm Pn ausführt, über die Kommunikationseinheiten 34 der Mehrzahl von PLCs 14 n und ordnet das andere Programm Pn auf Basis der erhaltenen Lastinformation zu. Folglich ist es möglich, das andere Programm Pn zuzuordnen, um zu bewirken, dass jede der Mehrzahl von PLCs 14 n die Verarbeitung des Programms Pn in einem Ausführungszyklus beendet.
  • Der PC 12 empfängt die Eingabedaten, die im ersten Eingabepufferspeicher 42 der PLC 14 n gespeichert sind, die über die E/A-Vorrichtung 16 n mit dem Steuerziel 18 n verbunden ist, das gemäß dem anderen Programm Pn gesteuert wird, das jeder PLC 14 n zugeordnet ist, und sendet die zweiten Ausgabedaten an die PLC 14 n, die über die E/A-Vorrichtung 16 n mit dem Steuerziel 18 n verbunden ist, das gemäß dem anderen Programm Pn gesteuert wird, das jeder PLC 14 n zugeordnet ist. Folglich kann der PC 12 die zweiten Ausgabedaten, die bislang erhaltenen Ausführungsergebnissen nicht widersprechen, an die PLC 14 n senden und das Steuerziel 18 n steuern, das über die E/A-Vorrichtung 16 n mit der PLC 14 n verbunden ist.
  • Jede der Mehrzahl von PLCs 14 n umfasst ferner den zweiten Eingabepufferspeicher 44 und den dritten Ausgabepufferspeicher 50. Der zweite Eingabepufferspeicher 44 speichert die Eingabedaten, die vom Steuerziel 18 n gesendet werden, das über die E/A-Vorrichtung 16 n mit der anderen PLC 14 n verbunden ist und gemäß dem anderen Programm Pn gesteuert wird, das jeder PLC 14 n zugeordnet ist. Der dritte Ausgabepufferspeicher 50 speichert die zweiten Ausgabedaten, die durch Ausführung des anderen Programms Pn erhalten werden, das jeder PLC 14 n zugeordnet ist, um das Steuerziel 18 n zu steuern, das über die E/A-Vorrichtung 16 n mit der anderen PLC 14 n verbunden ist. Jede der Mehrzahl von PLCs 14 n empfängt die Eingabedaten, die im ersten Eingabepufferspeicher 42 der anderen PLC 14 n gespeichert sind, die über die E/A-Vorrichtung 16 n mit dem Steuerziel 18 n verbunden ist, das gemäß dem anderen Programm Pn gesteuert wird, das jeder PLC 14 n zugeordnet ist, über den PC 12 und speichert die empfangenen Eingabedaten im zweiten Eingabepufferspeicher 44. Jede der Mehrzahl von PLC 14 n sendet die zweiten Ausgabedaten, die im dritten Ausgabepufferspeicher 50 gespeichert sind, über den PC 12 an die andere PLC 14 n, die über die E/A-Vorrichtung 16 n mit dem Steuerziel 18 n verbunden ist, das gemäß dem anderen Programm Pn gesteuert wird, das jeder PLC 14 n zugeordnet ist. Folglich kann die PLC 14 n die zweiten Ausgabedaten, die bislang erhaltenen Ausführungsergebnissen nicht widersprechen, an die andere PLC 14 n senden und das Steuerziel 18 n steuern, das über die E/A-Vorrichtung 16 n mit der anderen PLC 14 n verbunden ist.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2013-168090 [0002]
    • JP 2013-168090 A [0002, 0007]

Claims (15)

  1. Steuerungssystem (10), das umfasst: eine Mehrzahl von Steuerungen (14 n); eine Mehrzahl von E/A-Vorrichtungen (16 n), die so konfiguriert sind, dass sie ein Steuerziel (18 n) jeder der Mehrzahl von Steuerungen (14 n) und jede der Mehrzahl von Steuerungen (14 n) verbinden und eine erforderliche Information zwischen dem Steuerziel (18 n) und jeder der Steuerungen (14 n) senden; und eine Steuervorrichtung (12) höherer Ebene, die so konfiguriert ist, dass sie die Mehrzahl von Steuerungen (14 n) steuert und verwaltet, wobei: die Steuervorrichtung (12) höherer Ebene eine Speichereinheit (22) umfasst, die so konfiguriert ist, dass sie jedes einer Mehrzahl von Programmen (Pn) speichert, die von jeder der Mehrzahl von Steuerungen (14 n) ausgeführt werden, und einen Prozessor (20), der so konfiguriert ist, dass er jedes der Mehrzahl von Programmen (Pn), die in der Speichereinheit (22) als selbstzugewiesenes Programm (Pn) gespeichert sind, jeder der Mehrzahl von Steuerungen (14 n) zuordnet, um zu bewirken, dass jede der Mehrzahl von Steuerungen (14 n) das Steuerziel (18 n) steuert, das über die E/A-Vorrichtung (16 n) mit jeder Steuerung (14 n) verbunden ist, und ferner alle oder einen Teil der Mehrzahl von Programmen (Pn) als anderes Programm (Pn) der Steuervorrichtung (12) höherer Ebene und der Mehrzahl von Steuerungen (14 n) zuordnet, um zu bewirken, dass die Steuervorrichtung (12) höherer Ebene und die Mehrzahl von Steuerungen (14 n) alle oder einen Teil von Programmen (Pn), die in der Speichereinheit (22) gespeichert sind, in einem Ausführungszyklus parallel doppelt ausführen; und jede der Mehrzahl von Steuerungen (14 n) eine Kommunikationseinheit (34) umfasst, umfassend: einen ersten Eingabepufferspeicher (42), der so konfiguriert ist, dass er Eingabedaten speichert, die vom Steuerziel (18 n) gesendet werden, das über die E/A-Vorrichtung (16 n) mit der einen Steuerung (14 n) verbunden ist, einen ersten Ausgabepufferspeicher (46), der so konfiguriert ist, dass er erste Ausgabedaten speichert, die durch Ausführen des selbstzugewiesenen Programms (Pn) erhalten werden, das der einen Steuerung (14 n) zugeordnet ist, um das Steuerziel (18 n) zu steuern, das über die E/A-Vorrichtung (16 n) mit sich selbst verbunden ist, und einen zweiten Ausgabepufferspeicher (48), der so konfiguriert ist, dass er zweite Ausgabedaten speichert, die erhalten werden, wenn die Steuervorrichtung (12) höherer Ebene oder eine andere der Steuerungen (14 n) das andere Programm (Pn) ausführt, das der Steuervorrichtung (12) höherer Ebene oder der anderen der Steuerungen (14 n) zugeordnet ist, um das Steuerziel (18 n) zu steuern, das über die E/A-Vorrichtung (16 n) mit der einen Steuerung (14 n) verbunden ist, und wobei die eine Steuerung (14 n) so konfiguriert ist, dass sie eines der ersten Ausgabedaten und der zweiten Ausgabedaten an das Steuerziel (18 n) ausgibt, das über die E/A-Vorrichtung (16 n) mit der einen Steuerung (14 n) verbunden ist, auf Basis einer Auswahlinformation, die von der Steuervorrichtung (12) höherer Ebene gesendet wird, wobei die ersten Ausgabedaten im ersten Ausgabepufferspeicher (46) gespeichert werden, wobei die zweiten Ausgabedaten im zweiten Ausgabepufferspeicher (48) gespeichert werden.
  2. Steuerungssystem (10) nach Anspruch 1, wobei jede der Mehrzahl von Steuerungen (14 n) ferner einen Prozessor (30) umfasst, der so konfiguriert ist, dass er die ersten Ausgabedaten durch Ausführen des selbstzugewiesenen Programms (Pn) generiert, das der einen Steuerung (14 n) zugeordnet ist, auf Basis der Eingabedaten, die vom Steuerziel (18 n) gesendet werden, das über die E/A-Vorrichtung (16 n) mit der einen Steuerung (14 n) verbunden ist, und dass er die zweiten Ausgabedaten durch Ausführen des anderen Programms (Pn), das der einen Steuerung (14 n) zugeordnet ist, auf Basis der Eingabedaten generiert, die vom Steuerziel (18 n) gesendet werden, das über die E/A-Vorrichtung (16 n) mit der anderen der Steuerungen (14 n) verbunden ist und gemäß dem anderen Programm (Pn) gesteuert wird, das der einen Steuerung (14 n) zugeordnet ist.
  3. Steuerungssystem (10) nach Anspruch 1 oder 2, wobei der Prozessor (20) der Steuervorrichtung (12) höherer Ebene so konfiguriert ist, dass er die zweiten Ausgabedaten durch Ausführen des anderen Programms (Pn) generiert, das der Steuervorrichtung (12) höherer Ebene zugeordnet ist, auf Basis der Eingabedaten, die vom Steuerziel (18 n) gesendet werden, das gemäß dem anderen Programm (Pn) gesteuert wird, das der Steuervorrichtung (12) höherer Ebene zugeordnet ist.
  4. Steuerungssystem (10) nach einem der Ansprüche 1 bis 3, wobei der Prozessor (20) der Steuervorrichtung (12) höherer Ebene so konfiguriert ist, dass er die Auswahlinformation an die Mehrzahl von Steuerungen (14 n) ausgibt, um zu bewirken, dass eine der Steuerungen (14 n), die als normale Steuerung (14 n) ermittelt wurde, die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher (46) gespeichert sind, an das Steuerziel (18 n) ausgibt, das über die E/A-Vorrichtung (16 n) mit der normalen Steuerung (14 n) verbunden ist, und um zu bewirken, dass eine andere der Steuerungen (14 n), die als anomale Steuerung (14 n) ermittelt wurde, die zweiten Ausgabedaten, die im zweiten Ausgabepufferspeicher (48) gespeichert sind, an das Steuerziel (18 n) ausgibt, das über die E/A-Vorrichtung (16 n) mit der anomalen Steuerung (14 n) verbunden ist.
  5. Steuerungssystem (10) nach Anspruch 4, wobei der Prozessor (20) der Steuervorrichtung (12) höherer Ebene so konfiguriert ist, dass er ermittelt, ob jede der Mehrzahl von Steuerungen (14 n) normal oder anomal ist, auf Basis zumindest eines von einer Fehlerinformation und einem Überlebenssignal jeder der Mehrzahl von Steuerungen (14 n), wie von der Mehrzahl von Steuerungen (14 n) erhalten.
  6. Steuerungssystem (10) nach einem der Ansprüche 1 bis 5, wobei die Kommunikationseinheit (34) der Steuerung (14 n) ferner eine Auswahleinheit (56) umfasst, die so konfiguriert ist, dass sie eine der ersten Ausgabedaten und der zweiten Ausgabedaten auf Basis der Auswahlinformation als Ausgabedaten auswählt, wobei die ersten Ausgabedaten im ersten Ausgabepufferspeicher (46) gespeichert werden, die zweiten Ausgabedaten im zweiten Ausgabepufferspeicher (46) gespeichert werden und die Ausgabedaten an das Steuerziel (18 n) ausgegeben werden, das über die E/A-Vorrichtung (16 n) mit jeder Steuerung (14 n) verbunden ist.
  7. Steuerungssystem (10) nach einem der Ansprüche 1 bis 6, der Prozessor (20) der Steuervorrichtung (12) höherer Ebene so konfiguriert ist, dass er eine Lastinformation über die Kommunikationseinheit (34) der Mehrzahl von Steuerungen (14 n) erhält und das andere Programm (Pn) auf Basis der erhaltenen Lastinformation zuordnet, wobei die Lastinformation eine Last indiziert, die angelegt ist, wenn jede der Mehrzahl von Steuerungen (14 n) das selbstzugewiesene Programm (Pn) ausführt.
  8. Steuerungssystem (10) nach einem der Ansprüche 1 bis 7, wobei die Steuervorrichtung (12) höherer Ebene konfiguriert ist zum: Empfangen der Eingabedaten, die im ersten Eingabepufferspeicher (42) der einen Steuerung (14 n) gespeichert sind, die über die E/A-Vorrichtung (16 n) mit dem Steuerziel (18 n) verbunden ist, das gemäß dem anderen Programm (Pn) gesteuert wird, das der Steuervorrichtung (12) höherer Ebene zugeordnet ist, und Senden der zweiten Ausgabedaten an die eine Steuerung (14 n), die über die E/A-Vorrichtung (16 n) mit dem Steuerziel (18 n) verbunden ist, das gemäß dem anderen Programm (Pn) gesteuert wird, das der Steuervorrichtung (12) höherer Ebene zugeordnet ist.
  9. Steuerungssystem (10) nach einem der Ansprüche 1 bis 8, wobei jede eine der Mehrzahl von Steuerungen (14 n) ferner umfasst: einen zweiten Eingabepufferspeicher (44), der so konfiguriert ist, dass er die Eingabedaten speichert, die vom Steuerziel (18 n) gesendet werden, das über die E/A-Vorrichtung (16 n) mit einer anderen der Steuerungen (14 n) verbunden ist und gemäß dem anderen Programm (Pn) gesteuert wird, das der einen Steuerung (14 n) zugeordnet ist, und einen dritten Ausgabepufferspeicher (50), der so konfiguriert ist, dass er die zweiten Ausgabedaten speichert, die durch Ausführen des anderen Programms (Pn) erhalten werden, das der einen Steuerung (14 n) zugeordnet ist, um das Steuerziel (18 n) zu steuern, das über die E/A-Vorrichtung (16 n) mit der anderen der Steuerungen (14 n) verbunden ist, und so konfiguriert ist, dass sie die Eingabedaten über die Steuervorrichtung (12) höherer Ebene empfängt, wobei die Eingabedaten im ersten Eingabepufferspeicher (42) der anderen der Steuerungen (14 n) gespeichert werden, die über die E/A-Vorrichtung (16 n) mit dem Steuerziel (18 n) verbunden ist, das gemäß dem anderen Programm (Pn) gesteuert wird, das der einen Steuerung (14 n) zugeordnet ist, dass sie die empfangenen Eingabedaten im zweiten Eingabepufferspeicher (44) speichert und die zweiten Ausgabedaten über die Steuervorrichtung (12) höherer Ebene an die andere der Steuerungen (14 n) sendet, wobei die zweiten Ausgabedaten im dritten Ausgabepufferspeicher (50) gespeichert werden und die andere der Steuerungen (14 n) über die E/A-Vorrichtung (16 n) mit dem Steuerziel (18 n) verbunden sind, das gemäß dem anderen Programm (Pn) gesteuert wird, das der einen Steuerung (14 n) zugeordnet ist.
  10. Steuerverfahren eines Steuerungssystems (10), das umfasst: eine Mehrzahl von Steuerungen (14 n); eine Mehrzahl von E/A-Vorrichtungen (16 n), die jeweils so konfiguriert sind, dass sie ein Steuerziel (18 n) jeder der Mehrzahl von Steuerungen (14 n) mit jeder der Mehrzahl von Steuerungen (14 n) verbinden und eine erforderliche Information zwischen dem Steuerziel (18 n) und jeder der Steuerungen (14 n) senden; und eine Steuervorrichtung (12) höherer Ebene, die so konfiguriert ist, dass sie die Mehrzahl von Steuerungen (14 n) steuert und verwaltet, wobei: die Steuervorrichtung (12) höherer Ebene eine Speichereinheit (22) umfasst, die so konfiguriert ist, dass sie jedes einer Mehrzahl von Programmen (Pn) speichert, die von jeder der Mehrzahl von Steuerungen (14 n) ausgeführt werden; und jede der Mehrzahl von Steuerungen (14 n) eine Kommunikationseinheit (34) umfasst, die einen ersten Eingabepufferspeicher (42), einen ersten Ausgabepufferspeicher (46) und einen zweiten Ausgabepufferspeicher (48) umfasst; wobei das Steuerverfahren umfasst: in der Steuervorrichtung (12) höherer Ebene einen Zuordnungsschritt zum Zuordnen jedes der Mehrzahl von Programmen (Pn), die in der Speichereinheit (22) als selbstzugewiesenes Programm (Pn) gespeichert sind, jeder der Mehrzahl von Steuerungen (14 n), um zu bewirken, dass jede der Mehrzahl von Steuerungen (14 n) das Steuerziel (18 n) steuert, das über die E/A-Vorrichtung (16 n) mit jeder Steuerung (14 n) verbunden ist, und zum Zuordnen ferner aller oder eines Teils der Mehrzahl von Programmen (Pn) als anderes Programm (Pn) der Steuervorrichtung (12) höherer Ebene und der Mehrzahl von Steuerungen (14 n), um zu bewirken, dass die Steuervorrichtung (12) höherer Ebene und die Mehrzahl von Steuerungen (14 n) alle oder einen Teil von Programmen (Pn), die in der Speichereinheit (22) gespeichert sind, in einem Ausführungszyklus parallel doppelt ausführen; und in jeder der Mehrzahl von Steuerungen (14 n) einen ersten Eingabe-/Speicherschritt zum Speichern von Eingabedaten im ersten Eingabepufferspeicher (42), wobei die Eingabedaten vom Steuerziel (18 n) gesendet werden, das über die E/A-Vorrichtung (16 n) mit der einen Steuerung (14 n) verbunden ist; in der einen Steuerung (14 n) einen ersten Ausgabe-Speicherschritt zum Speichern von ersten Ausgabedaten im ersten Ausgabepufferspeicher (46), wobei die ersten Ausgabedaten durch Ausführen des selbstzugewiesenen Programms (Pn) erhalten werden, das der einen Steuerung (14 n) zugeordnet ist, um das Steuerziel (18 n) zu steuern, das über die E/A-Vorrichtung (16 n) mit der einen Steuerung (14 n) verbunden ist; in der einen Steuerung (14 n) einen zweiten Ausgabe-/Speicherschritt zum Speichern von zweiten Ausgabedaten im zweiten Ausgabepufferspeicher (48), wobei die zweiten Ausgabedaten erhalten werden, wenn die Steuervorrichtung (12) höherer Ebene oder eine andere der Steuerungen (14 n) das andere Programm (Pn) ausführt, das der Steuervorrichtung (12) höherer Ebene oder der anderen Steuerung (14 n) zugeordnet ist, um das Steuerziel (18 n) zu steuern, das über die E/A-Vorrichtung (16 n) mit der einen Steuerung (14 n) verbunden ist; und in der einen Steuerung (14 n) einen Ausgabeschritt zum Ausgeben eines der ersten Ausgabedaten und der zweiten Ausgabedaten an das Steuerziel (18 n), das über die E/A-Vorrichtung (16 n) mit der einen Steuerung (14 n) verbunden ist, auf Basis einer Auswahlinformation, die von der Steuervorrichtung (12) höherer Ebene gesendet wird, wobei die ersten Ausgabedaten im ersten Ausgabepufferspeicher (46) gespeichert werden, wobei die zweiten Ausgabedaten im zweiten Ausgabepufferspeicher (48) gespeichert werden.
  11. Steuerverfahren nach Anspruch 10, ferner umfassend: in der einen Steuerung (14 n) einen ersten Generierungsschritt zum Generieren der ersten Ausgabedaten durch Ausführen des selbstzugewiesenen Programms (Pn), das der einen Steuerung (14 n) zugeordnet ist, auf Basis der Eingabedaten, die vom Steuerziel (18 n) gesendet werden, das über die E/A-Vorrichtung (16 n) mit der einen Steuerung (14 n) verbunden ist; in der einen Steuerung (14 n) einen zweiten Generierungsschritt zum Generieren der zweiten Ausgabedaten durch Ausführen des anderen Programms (Pn), das der einen Steuerung (14 n) zugeordnet ist, auf Basis der Eingabedaten, die vom Steuerziel (18 n) gesendet werden, das über die E/A-Vorrichtung (16 n) mit einer anderen der Steuerungen (14 n) verbunden ist und gemäß dem anderen Programm (Pn) gesteuert wird, das der einen Steuerung (14 n) zugeordnet ist; und in der Steuervorrichtung (12) höherer Ebene einen dritten Generierungsschritt zum Generieren der zweiten Ausgabedaten durch Ausführen des anderen Programms (Pn), das der Steuervorrichtung (12) höherer Ebene zugeordnet ist, auf Basis der Eingabedaten, die vom Steuerziel (18 n) gesendet werden, das gemäß dem anderen Programm (Pn) gesteuert wird, das der Steuervorrichtung (12) höherer Ebene zugeordnet ist.
  12. Steuerverfahren nach Anspruch 10 oder 11, wobei: die Kommunikationseinheit (34) ferner eine Auswahleinheit (56) umfasst; und wobei das Steuerverfahren ferner umfasst: in der Steuervorrichtung (12) höherer Ebene einen Anomalieermittlungsschritt zum Ermitteln, ob jede der Mehrzahl von Steuerungen (14 n) normal oder anomal ist, auf Basis zumindest eines von einer Fehlerinformation und einem Überlebenssignal der jeden der Mehrzahl von Steuerungen (14 n), wie von der Mehrzahl von Steuerungen (14 n) erhalten; und in der Steuervorrichtung (12) höherer Ebene einen Auswahl-/Ausgabeschritt zum Ausgeben der Auswahlinformation an die Mehrzahl von Steuerungen (14 n), um zu bewirken, dass eine der Steuerungen (14 n), die als normale Steuerung (14 n) ermittelt wurde, die ersten Ausgabedaten, die im ersten Ausgabepufferspeicher (46) gespeichert sind, an das Steuerziel (18 n) ausgibt, das über die E/A-Vorrichtung (16 n) mit der normalen Steuerung (14 n) verbunden ist, und um zu bewirken, dass eine andere der Steuerungen (14 n), die als anomale Steuerung ermittelt wurde, die zweiten Ausgabedaten, die im zweiten Ausgabepufferspeicher (48) gespeichert sind, an das Steuerziel (18 n) ausgibt, das über die E/A-Vorrichtung (16 n) mit der anomalen Steuerung (14 n) verbunden ist; und in der Auswahleinheit (56) der Kommunikationseinheit (34) jeder der Mehrzahl von Steuerungen (14 n) einen Auswahlschritt zum Auswählen eines der ersten Ausgabedaten und der zweiten Ausgabedaten auf Basis der Auswahlinformation als Ausgabedaten, wobei die ersten Ausgabedaten im ersten Ausgabepufferspeicher (46) gespeichert werden, die zweiten Ausgabedaten im zweiten Ausgabepufferspeicher (48) gespeichert werden und die Ausgabedaten an das Steuerziel (18 n) ausgegeben werden, das über die E/A-Vorrichtung (16 n) mit jeder Steuerung (14 n) verbunden ist.
  13. Steuerverfahren nach einem der Ansprüche 10 bis 12, das ferner in der Steuervorrichtung (12) höherer Ebene einen Erhaltungsschritt zum Erhalten einer Lastinformation über die Kommunikationseinheit (34) der Mehrzahl von Steuerungen (14 n) umfasst, wobei die Lastinformation eine Last indiziert, die angelegt ist, wenn jede der Mehrzahl von Steuerungen (14 n) das selbstzugewiesene Programm (Pn) ausführt, wobei das andere Programm in Zuordnungsschritt auf Basis der erhaltenen Lastinformation zugeordnet wird.
  14. Steuerverfahren nach einem der Ansprüche 10 bis 13, das ferner umfasst: in der Steuervorrichtung (12) höherer Ebene einen Empfangsschritt zum Empfangen der Eingabedaten, die im ersten Eingabepufferspeicher (42) der Steuerung (14 n) gespeichert sind, die über die E/A-Vorrichtung (16 n) mit dem Steuerziel (18 n) verbunden ist, das gemäß dem anderen Programm (Pn) gesteuert wird, das der Steuervorrichtung (12) höherer Ebene zugeordnet ist; und in der Steuervorrichtung (12) höherer Ebenen einen ersten Sendeschritt zum Senden der zweiten Ausgabedaten an die eine Steuerung (14 n), die über die E/A-Vorrichtung (16 n) mit dem Steuerziel (18 n) verbunden ist, das gemäß dem anderen Programm (Pn) gesteuert wird, das der Steuervorrichtung (12) höherer Ebene zugeordnet ist.
  15. Steuerverfahren nach einem der Ansprüche 10 bis 14, wobei: die Kommunikationseinheit (34) ferner einen zweiten Eingabepufferspeicher (44) und einen dritten Ausgabepufferspeicher (50) umfasst; wobei das Steuerverfahren ferner umfasst: in der einen Steuerung (14 n) einen zweiten Eingabe-/Speicherschritt zum Speichern der Eingabedaten im zweiten Eingabepufferspeicher (44), wobei die Eingabedaten vom Steuerziel (18 n) gesendet werden, das über die E/A-Vorrichtung (16 n) mit einer anderen der Steuerungen (14 n) verbunden ist und gemäß dem anderen Programm (Pn) gesteuert wird, das der einen Steuerung (14 n) zugeordnet ist; und in der einen Steuerung (14 n) einen dritten Ausgabe-Speicherschritt zum Speichern von zweiten Ausgabedaten im dritten Ausgabepufferspeicher (50), wobei die zweiten Ausgabedaten durch Ausführen des anderen Programms (Pn) erhalten werden, das der einen Steuerung (14 n) zugeordnet ist, um das Steuerziel (16 n) zu steuern, das über die E/A-Vorrichtung (16 n) mit der anderen Steuerung (14 n) verbunden ist; und in der einen Steuerung (14 n) einen zweiten Sendeschritt zum Senden der zweiten Ausgabedaten, die im dritten Ausgabepufferspeicher (50) gespeichert sind, an die andere Steuerung (14 n) über die Steuervorrichtung (12) höherer Ebene, wobei die andere Steuerung (14 n) über die E/A-Vorrichtung (16 n) mit dem Steuerziel (18 n) verbunden ist, das gemäß dem anderen Programm (Pn) gesteuert wird, das der einen Steuerung (14 n) zugeordnet ist; und wobei die eine Steuerung (14 n) im zweiten Eingabe-/Speicherschritt so konfiguriert ist, dass sie die Eingabedaten über die Steuervorrichtung (12) höherer Ebene empfängt, wobei die Eingabedaten im ersten Eingabepufferspeicher (42) der anderen Steuerung (14 n) gespeichert werden, die über die E/A-Vorrichtung (16 n) mit dem Steuerziel (18 n) verbunden ist, das gemäß dem anderen Programm (Pn) gesteuert wird, das der einen Steuerung (14 n) zugeordnet ist, und dass sie die empfangenen Eingabedaten im zweiten Eingabepufferspeicher (44) speichert.
DE102017005879.2A 2016-06-29 2017-06-22 Steuerungssystem und Steuerverfahren Active DE102017005879B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-128493 2016-06-29
JP2016128493A JP6356736B2 (ja) 2016-06-29 2016-06-29 コントローラシステムおよび制御方法

Publications (2)

Publication Number Publication Date
DE102017005879A1 true DE102017005879A1 (de) 2018-01-04
DE102017005879B4 DE102017005879B4 (de) 2022-11-10

Family

ID=60662572

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017005879.2A Active DE102017005879B4 (de) 2016-06-29 2017-06-22 Steuerungssystem und Steuerverfahren

Country Status (4)

Country Link
US (1) US10606232B2 (de)
JP (1) JP6356736B2 (de)
CN (1) CN107544240B (de)
DE (1) DE102017005879B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7226103B2 (ja) * 2019-05-29 2023-02-21 オムロン株式会社 制御システム、サポート装置およびサポートプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013168090A (ja) 2012-02-17 2013-08-29 Hitachi Ltd マルチコントローラシステム、制御方法及びプログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266685A (ja) * 1993-03-15 1994-09-22 Toshiba Corp 分散形制御システム
JP3611894B2 (ja) * 1995-03-30 2005-01-19 富士通株式会社 二重化構成をもつシステム制御装置
US20020023117A1 (en) * 2000-05-31 2002-02-21 James Bernardin Redundancy-based methods, apparatus and articles-of-manufacture for providing improved quality-of-service in an always-live distributed computing environment
JP3478386B2 (ja) * 2000-05-26 2003-12-15 村田機械株式会社 搬送車システム
JP2004362133A (ja) * 2003-06-03 2004-12-24 Omron Corp Plcシステムおよびそのバックアップ方法
US20070277023A1 (en) * 2003-06-24 2007-11-29 Reinhard Weiberle Method For Switching Over Between At Least Two Operating Modes Of A Processor Unit, As Well Corresponding Processor Unit
US7328370B2 (en) * 2003-09-12 2008-02-05 Rockwell Automation Technologies, Inc. Safety controller with simplified interface
US7676281B2 (en) * 2005-05-13 2010-03-09 Rockwell Automation Technologies, Inc. Distributed database in an industrial automation environment
JP4791909B2 (ja) 2006-08-21 2011-10-12 株式会社東芝 高速入出力機能を備える制御装置、及びその制御データの制御方法
US7821220B2 (en) * 2006-09-29 2010-10-26 Rockwell Automation Technologies, Inc. Motor having integral programmable logic controller
US8856522B2 (en) 2007-02-27 2014-10-07 Rockwell Automation Technologies Security, safety, and redundancy employing controller engine instances
US7684876B2 (en) * 2007-02-27 2010-03-23 Rockwell Automation Technologies, Inc. Dynamic load balancing using virtual controller instances
JP5141905B2 (ja) * 2007-12-28 2013-02-13 オムロン株式会社 安全マスタ
JP4950243B2 (ja) * 2009-04-13 2012-06-13 三菱電機株式会社 プラント監視制御システム
JP4809497B2 (ja) 2010-02-25 2011-11-09 ファナック株式会社 複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ
WO2012090291A1 (ja) * 2010-12-28 2012-07-05 株式会社日立製作所 モーションコントローラ
JP4957853B1 (ja) * 2011-03-15 2012-06-20 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
US8566816B2 (en) * 2011-11-01 2013-10-22 Lsi Corporation Code synchronization
US20160381127A1 (en) * 2012-09-10 2016-12-29 William James Gibson Systems and methods for dynamic networked peer-to-peer content distribution
CN103941648A (zh) 2014-03-07 2014-07-23 东莞市升力智能科技有限公司 多轴运动控制系统及其控制方法
WO2015136970A1 (ja) * 2014-03-14 2015-09-17 オムロン株式会社 制御装置及び制御システム
US10095202B2 (en) * 2014-03-26 2018-10-09 Rockwell Automation Technologies, Inc. Multiple controllers configuration management interface for system connectivity
JP5908175B2 (ja) 2014-04-24 2016-04-26 三菱電機株式会社 制御システム、マスタ局、およびリモート局
US11513477B2 (en) * 2015-03-16 2022-11-29 Rockwell Automation Technologies, Inc. Cloud-based industrial controller
US10437212B2 (en) 2015-04-28 2019-10-08 Schneider Electric Systems Usa, Inc. Distributed computing in a process control environment
JP6150956B1 (ja) * 2016-02-15 2017-06-21 三菱電機株式会社 負荷分散装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013168090A (ja) 2012-02-17 2013-08-29 Hitachi Ltd マルチコントローラシステム、制御方法及びプログラム

Also Published As

Publication number Publication date
CN107544240A (zh) 2018-01-05
US10606232B2 (en) 2020-03-31
DE102017005879B4 (de) 2022-11-10
US20180004182A1 (en) 2018-01-04
JP6356736B2 (ja) 2018-07-11
JP2018005372A (ja) 2018-01-11
CN107544240B (zh) 2019-07-30

Similar Documents

Publication Publication Date Title
DE102015102678A1 (de) Startabbild- discovery und -bereitstellung
DE3301628A1 (de) Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern
DE102018120345A1 (de) Hochleistungssteuerungsserversystem
DE112018005427T5 (de) Autonome adress-/befehls-chip-synchronisierte datenchip-adress-ablaufsteuerung für ein verteiltes pufferspeichersystem
DE112017007656T5 (de) Verschobene aktualisierung von datenbank-hashcode in einer blockchain
DE112013006634T5 (de) Computersystem und Computersystemsteuerverfahren
EP1711892B1 (de) Verfahren zum bestimmen eines übernahmeszenarios der softwareeinheiten bei einem rechnerausfall in einer serverfarm
DE102013205820A1 (de) Aktualisieren von Zoneninformationen in einem verteilten Switch von Datenweiterleitungsservern
DE112013006588T5 (de) Verwaltungssystem zum Verwalten eines Computersystems und Verwaltungsverfahren hierfür
DE102018204577A1 (de) Techniken zum Erfüllen von Dienstgüteanforderungen für eine Fabric-Punkt-zu-Punkt-Verbindung
DE112020005819T5 (de) Virtuelle einschübe in einem server
DE102016006202B4 (de) Numerische Steuervorrichtung zum Verwalten von Bearbeitungsdaten und Bearbeitungsergebnissen
DE19780639C2 (de) Arbeitsübernahmesystem
DE112018008016B4 (de) Kommunikationssystem, Kommunikationsvorrichtung, Kommunikationsverfahren und Programm
DE102017005879A1 (de) Steuerungssystem und Steuerverfahren
DE102016008158A1 (de) System und steuerverfahren
DE102011011682A1 (de) Programmierbare Steuerung zum parallelen Ausführen einer Vielzahl von unabhängigen Ablaufprogrammen
DE102015006624A1 (de) Steuervorrichtung, die in der Lage ist, eine Kommunikationszykluszeit zu verringern
DE102017008141A1 (de) Numerische Steuerung
DE102020123911A1 (de) Synchronisierung des verhaltens mehrerer instrumente mithilfe von aufträgen und zwischenzielen
EP0525214B1 (de) Verfahren zum Betreiben eines Automatisierungsgeräts
DE1549428A1 (de) Vermittlungs- und Steuergeraete in einem Rechenmaschinensystem
EP2682865A1 (de) Verfahren zur Kommunikation mit einem Steuerprogramm eines Steuergeräts sowie Applikationsmodule dazu
EP2706420B1 (de) Verfahren zum Betreiben eines Automatisierungsgerätes
DE102016213610A1 (de) Elektronische Fahrzeugsteuereinrichtung und Überschreibsystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final