DE10210280B4 - Steuerungen, Tools und diese umfassende Systeme - Google Patents

Steuerungen, Tools und diese umfassende Systeme Download PDF

Info

Publication number
DE10210280B4
DE10210280B4 DE10210280A DE10210280A DE10210280B4 DE 10210280 B4 DE10210280 B4 DE 10210280B4 DE 10210280 A DE10210280 A DE 10210280A DE 10210280 A DE10210280 A DE 10210280A DE 10210280 B4 DE10210280 B4 DE 10210280B4
Authority
DE
Germany
Prior art keywords
data
control
controller
control program
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE10210280A
Other languages
English (en)
Other versions
DE10210280A1 (de
Inventor
Masayuki Masuda
Masanori Kadowaki
Yoshiyuki Nagao
Toshimi Kudo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Publication of DE10210280A1 publication Critical patent/DE10210280A1/de
Application granted granted Critical
Publication of DE10210280B4 publication Critical patent/DE10210280B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/058Safety, monitoring
    • 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/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13148Object oriented programming
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15009Object oriented configuring, graphical display of plant
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15032Exchange objects having I-O, configuration, status, parameters, functions attributes

Abstract

Eine Steuerung (10) zum Steuern eines Geräts (30), das daran angeschlossen ist, wobei diese Steuerung (10) umfasst: Speichermittel zum Speichern von Korrelationsdaten in einer Objektdatenbank (13) und zum Speichern eines Steuerprogramms (11), wobei dieses Steuerprogramm (11) das Gerät (30) durch einen Objektnamen spezifiziert und diese Korrelationsdaten das Steuerprogramm (11) mit Gerätedaten über das Gerät korrelieren; einen Steuerungsspeicher (12), wobei über einen bestimmten Bereich des Steuerungsspeichers (12) Daten zwischen dem Gerät (30) und der Steuerung (10) ausgetauscht werden; Abbildungsmittel (14a) zur Abbildung auf dem Steuerungsspeicher (12) beruhend auf der Größe von Eingabe- und Ausgabedaten des Geräts (30) gemäß den Korrelationsdaten; und Kommunikationsverarbeitungsmittel (14b) für den Zugriff der Steuerung (10) durch das Steuerprogramm (11) auf das Gerät (30), um dieses zu steuern, wobei die Kommunikationsverarbeitungsmittel (14b) die Korrelationsdaten abfragen, um die Gerätedaten anhand des Objektnamens zu ermitteln.

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Steuerungen.
  • Bekanntlich werden Steuerungssysteme für die Industrie allgemein gebildet, indem Steuerungen wie z. B. eine SPS auf geeignete Weise mit Geräten kombiniert werden, die durch solche Steuerungen gesteuert werden. 1 zeigt ein der Anmelderin bekanntes, nicht druckschriftlich belegbares Beispiel für solch ein System, das eine Steuerung 1 umfasst, an der eine Vielzahl von Geräten 3a, 3b über ein Netzwerk 2 angeschlossen sind. Steuerprogramme (auch Treiber genannt) 4a, 4b zum Betreiben der Geräte 3a, 3b sind in der Steuerung 1 installiert. Diese Steuerprogramme 4a, 4b werden für diese Geräte 3a, 3b einzeln erstellt und dienen dazu, Daten zum und vom jeweiligen Gerät 3a, 3b zu senden und zu empfangen, wobei sie einen E/A-Speicher 5 verwenden, um einen bestimmten Vorgang durchzuführen. Das Bezugszeichen 6 bezieht sich auf ein Steuerprogramm (X) zum Aufrufen der Steuerprogramme 4a, 4b. Sie können gemeinsam eine Task bilden.
  • Die Geräte 3a, 3b können verschiedenen Typs sein. Sie können z. B. EIN/AUS-Sensoren und digitale E/A sein, die verwendet werden, um EIN/AUS-Daten zur und von der Steuerung 1 zu senden und zu empfangen. Sie können auch fotoelektrische Sensoren (die als Parameter die Lichtmenge und einen Schwellenwert aufweisen) oder Temperaturregler (die eine Solltemperatur und PID als Parameter aufweisen) sein, die Parameter aufweisen, die im Gerät eingestellt werden, und von einem Programm gesteuert werden, das vom Benutzer erstellt wird.
  • Obwohl 1 ein Beispiel zeigt, in dem die Geräte 3a, 3b über ein Netzwerk 2 mit der Steuerung 1 verbunden sind, kann der Datenaustausch zwischen den Geräten und der Steuerung auch über einen Bus in der Steuerung erfolgen. Dies wäre z. B. der Fall, wenn als Steuerung eine ausbaubare SPS verwendet wird, mit Bewegungssteuerungseinheiten und PID-Steuerungseinheiten, die direkt in die Steckplätze der Basiseinheit eingebaut werden.
  • Um diesen Datenaustausch zu ermöglichen, ist es notwendig, die Steuerprogramme 4a, 4b mit den Geräten 3a, 3b, auf welche damit zugegriffen werden soll, zu korrelieren. Dies wird normalerweise durch Zuweisung von Knotennummern erreicht, die der Kennzeichnung dienen und einmalig im Netzwerk für die Geräte 3a, 3b vergeben werden, um durch Spezifikation dieser Knotennummern einen Zugriff durchzuführen. Wenn über einen Bus auf die Geräte zugegriffen wird, werden statt der Knotennummern Gerätenummern verwendet, doch das Grundprinzip bleibt gleich.
  • Beim in 1 gezeigten Beispiel ist die Knotennummer von Gerät A die Nummer #5 und die von Gerät B die Nummer #6. Wenn das Steuerprogramm A 4a durch Datenübertragung einen Zugriff auf das Gerät A 3a durchführt, wird für das Gerät A 3a daher die Knotennummer #5 in das Programm geschrieben.
  • Es ist praktisch, wenn ein Steuerprogramm nach seiner Erstellung für ein anderes Programm verwendet (wiederverwendet) werden kann, da dadurch die Schwierigkeiten bei der Erstellung eines völlig neuen Programms entfallen und der Arbeitsaufwand für die Entwicklung verringert werden kann. Andererseits kann ein Steuerprogramm (Treiber genannt) seinen Nutzen erst dann entfalten, wenn dieses Steuerprogramm (Software) in das Gerät (Hardware), auf welches zugegriffen werden soll, integriert worden ist, weshalb die Software und die Hardware vorzugsweise gemeinsam behandelt werden. Wenn ein Steuerprogramm und ein Gerät auf diese Weise integriert sind, werden sie nachstehend „Steuerobjekt” oder einfach „Objekt” genannt.
  • Bei herkömmlichen Systemen war es nicht möglich, ein Steuerprogramm und ein Gerät als integriertes Objekt zu behandeln, auch wenn es möglich war, Einzelprogramme in Programmeinheiten wiederzuverwenden. Daher wurden die Programme nur separat wiederverwendet, was ein beschwerlicher Vorgang war.
  • Wie in 1 gezeigt, kommt es manchmal vor, dass ein Gerät (wie z. B. Gerät A 3a, das mit einer Steuerung 1 verwendet wurde) zwecks Umstellung, Ausbau oder Reparatur einer Produktionslinie an eine andere Steuerung 1' angeschlossen wird. Wenn der Benutzer das oben erwähnte Konzept des Steuerobjekts befolgt und versucht, das Steuerprogramm und das Gerät auf die neue Steuerung 1' zu übertragen, läßt sich das Steuerprogramm leicht durch ein Programmiertool in die Steuerung oder in eine in der Steuerung vorgesehene Speicherkarte herunterladen, und das Gerät (wie z. B. Gerät A 3a) läßt sich hardwaremäßig übertragen, indem es an das Netzwerk 2' angeschlossen wird, mit dem die Steuerung 1' verbunden ist.
  • Mit solch einem einfachen Anschluß kann das Steuerobjekt aber nicht betriebsfähig gemacht werden. Obwohl eine Konfiguration erforderlich ist, um mit dem Paar, das durch Gerät und dem Steuerprogramm gebildet wird, einen Datenaustausch durchzuführen, können die von der Steuerung 1 verwendeten Daten nicht ohne weiteres für den Betrieb verwendet werden.
  • Dies wird auf das Beispiel in 1 Bezug nehmend ausführlicher erläutert. Hier war die Knotennummer des Geräts A, das vom Steuerobjekt A 4a gesteuert wird, #5. Daher weist das Steuerprogramm A oder das Steuerprogramm X zum Aufruf des Steuerprogramms A einen Abschnitt auf, in dem die Knotennummer #5 für den Zugriff auf das Gerät A spezifiziert ist. In der neuen Steuerung 1' aber wird die Knotennummer #5 bereits von einem anderen Gerät benutzt. Daher tritt ein Fehler auf, wenn der Abschnitt des Steuerprogramms A oder X, der die Knotennummer #5 enthält, unverändert bleibt. Im Beispiel von 1 muß die Knotennummer #5 in diesem Abschnitt des Steuerprogramms A oder X zu #2 umgeschrieben werden, was der korrekten Knotennummer entspricht. Dies muß aber mit größter Sorgfalt erfolgen, damit keine anderen Programme von dieser Umschreibung beeinflußt werden.
  • Es kommt auch vor, dass das Gerät A in den E/A-Speichern der Steuerung 1 und 1' unterschiedlich zugewiesen ist (E/A-Konfiguration). Selbst wenn der Programmierstil so ist, dass auf den E/A-Speicher 5, dem das Gerät A zugewiesen ist, durch Spezifikation seiner Adresse oder durch variable Programmierung zugegriffen wird, müssen die relevanten Teile des Programms geändert werden, da die Speicherzuweisung bei der Wiederverwendung geändert worden sein kann. Dies erschwert den Vorgang, und der Betrieb ist nicht möglich, wenn eine falsche Adresse verwendet wird.
  • Es gibt auch weitere Probleme, wenn, wie oben erläutert, bei der Wiederverwendung eines Steuerobjekts eine Neuzuweisung im E/A-Speicher 5 erforderlich ist, da der Programmentwickler berücksichtigen muß, wie der E/A-Speicher 5 in der neuen Steuerung 1' verwendet wird, oder den Speicherbelegungsplan, der aufzeigt, wo ein leerer Speicherbereich bestimmter Größe zu finden ist. Mit anderen Worten, das Programm muß so erstellt werden, dass leere Speicherbereiche auf effiziente Weise genutzt werden. Während dieses Vorgangs kann es leicht zu menschlichen Fehlern wie z. B. Fehlzuweisungen kommen.
  • Es kommt auch vor, dass selbst die E/A-Speicherzuweisung für ein bereits zugewiesenes Gerät geändert wird. In einem solchen Fall muß das Steuerprogramm für das bereits angeschlossene Gerät geändert werden. Dies ist nicht nur aufwendig, sondern erhöht auch die Wahrscheinlichkeit, dass Fehler eingearbeitet werden.
  • Wie oben erwähnt, gibt es darüber hinaus Geräte wie z. B. photoelektrische Sensoren und Temperaturregler, die Parameter aufweisen, die im Gerät einzustellen sind. Zur Einstellung dieser Parameter und Programme für solch ein Gerät kann es notwendig sein, Tools direkt an das Gerät oder an die Steuerung anzuschließen, um über die Steuerung Einstellungen verschiedener Art durchzuführen.
  • Wenn ein Gerät fehlerhaft ist und ausgetauscht werden muß, muß der gleiche Arbeitsvorgang wie z. B. die Parametereinstellung, die für das ausgetauschte Gerät durchgeführt wurde, für das neue Gerät wiederholt werden. Dieser Vorgang wird normalerweise manuell vom Bediener durchgeführt, mit Hilfe von Daten, die in einem Speichergerät oder Notebook gespeichert sind. Das bedeutet, dass es leicht zu Eingabefehlern kommen kann. Es kommt auch häufig vor, dass solche Daten falsch abgelegt werden, schwer aufzufinden sind oder versehentlich falsche Daten abgefragt werden.
  • 2 zeigt ein anderes der Anmelderin bekanntes und nicht druckschriftlich belegbares herkömmliches System. Wenn bei diesem System im Gerät 3 ein Fehler auftritt, wird ein Bit im E/A-Speicher 5 der Steuerung 1, das dem Gerät 3 zugewiesen ist, geändert. Wenn diese Änderung von einem Anzeigegerät 7 erkannt wird, das den E/A-Speicher 5 der Steuerung 1 überwacht, gibt es eine Fehlermeldung aus. D. h., der Zustand des Geräts 3 wird von der Systemsoftware (erster Kommunikationsvorgang 8a, oder „COMM PROC 1”) der Steuerung 1 erkannt und an einer vorher spezifizierten Adresse im E/A-Speicher 5 der Steuerung 1 gespeichert. Ein Steuerprogramm 4 in der Steuerung 1 überwacht diese Adresse des E/A-Speichers 5, und wenn an dieser Adresse eine Zustandsänderung (z. B. das Setzen eines „Merkers”) auftritt, zeigt das Steuerprogramm 4 dies an anderen Adressen an (z. B., indem es einen Merker an diese Adresse setzt). Wenn dies passiert, bewirkt das Steuerprogramm 4, dass Daten wie die Bildschirmnummer des Anzeigegeräts, numerische Daten wie ein Fehlercode und Zeichenketten (wie z. B. die detaillierte Fehlerbeschreibung) dem Zustand des Geräts entsprechend in einem bestimmten Bereich des Speichers 5 gespeichert werden. Diese Daten werden dann vom zweiten Kommunikationsvorgang (oder „COMM PROC 2”) 8b zum Anzeigegerät 7 gesendet und von dessen Kommunikationsverarbeitungsmittel (oder „COMM PROC”) 8c im Speicher 5 des Anzeigegeräts 7 gespeichert. Die Bildschirmnummer, an der die Anzeige am Anzeigegerät 7 erfolgen soll, wird vom Bildanzeigeverarbeitungsmittel („IMAGE DISPLAY PROCESS) 4c abgerufen, zusammen mit den im Speicher 5 gespeicherten Daten. Ein entsprechendes Bild wird aus dem Bildspeicher 9 abgerufen, und das abgerufene Bild wird dann angezeigt.
  • Auch wenn auf diese Weise angezeigt wird, dass in einem bestimmten Gerät ein Fehlerzustand aufgetreten ist, ist aus der Anzeige nicht leicht zu entnehmen, welche Rolle das Gerät im System spielt. Zum Beispiel kann der Benutzer eine logische Einheit namens „Roboter” ermitteln, doch wenn die Meldung besagt, dass ein Fehler an der Kommunikationsadresse eines Geräts aufgetreten ist, das deren Bestandteil ist, oder dass ein EIN/AUS-Fehler an einem bestimmten Bit der Steuerung aufgetreten ist, dem das Gerät zugewiesen ist, ist es keineswegs einfach, zu verstehen, in welcher Art von Steuerelement der Fehler aufgetreten ist. Daher ist es normalerweise erforderlich, in einer Tabelle nachzuschlagen. um die logische Bedeutung zu verstehen und eine geeignete Instandsetzungsarbeit durchzuführen.
  • Produktionslinien umfassen zahlreiche Ausrüstungsteile, die jeweils mit einer sogenannten Mensch-Maschine-Schnittstelle (MMI) wie z. B. Anzeigegeräten und Steuertafeln versehen sind. Wenn der Wert eines an eine Steuerung angeschlossenen Geräts angezeigt werden soll, und wenn der Speicher des Geräts mit dem Speicher der Steuerung verbunden ist, fragt die MMI durch Datenübertragung den Speicher der Steuerung ab, an welcher das Gerät angeschlossen ist, und sein Wert wird dann von der MMI angezeigt. Wenn für die Anzeige Berechnungen erforderlich sind, werden diese Berechnungen gewöhnlich von einer MMI durchgeführt, die geeignet ist, datenbezogene Programme auszuführen.
  • Aus der Perspektive der Programmentwickler, die Programme für MMIs und Anzeigegeräte entwickeln, und der Benutzer, die eine solche MMI betrachten, ist es wünschenswert, beim Sammeln von Gerätedaten den Zugriff mit einem Objektnamen durchzuführen, um das Verständnis zu erleichtern. Bei einem herkömmlichen System, wie in 2 gezeigt, muß der Benutzer aber erst durch E/A-Konfiguration den Speicher des Geräts auf die Steuerung abbilden und, wenn er diese Daten kennt, ein Tool der MMI verwenden, um die Adresse des Steuerungsspeichers zu spezifizieren.
  • Wenn der Speicher des Geräts aufgrund einer Ausrüstungsänderung geändert wurde, muß daher auch das Berechnungsprogramm der MMI umgeschrieben werden. Wenn ein Steuerprogramm und ein Datenprogramm gleichzeitig parallel entwickelt werden, muß der Entwickler des einen Programms stets die Entwicklung des anderen Programms berücksichtigen. Dadurch wird die Entwicklung verschiedener Programme sehr kompliziert und zeitraubend.
  • Aus der JP 07-049651 A ist ein Programmiertool zur Erstellung eines Steuerprogramms bekannt, mit dem ein Benutzer das Steuerprogramm anhand von verschiedenen gespeicherten Programmkomponenten zusammenstellen bzw. einzelne Programmkomponenten eines Steuerprogramms durch andere gespeicherte Programmkomponenten ersetzen kann.
  • Aus der DE 100 11 661 A1 ist ferner eine Steuerung bekannt, die Speichermittel zum Speichern eines Steuerprogramms und von Korrelationsdaten, wobei dieses Steuerprogramm das Gerät durch einen Objektnamen spezifiziert und diese Korrelationsdaten das Steuerprogramm mit Gerätedaten über das Gerät korrelieren, und Kommunikationsverarbeitungsmittel für den Zugriff auf das Gerät, um so das Gerät durch das Steuerprogramm durch Abfrage der Korrelationsdaten zur Ermittlung der Gerätedaten anhand des Objektnamens zu steuern, umfasst.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Aufgabe dieser Erfindung ist daher die Bereitstellung von Steuerungen, welche die zuverlässige und einfache Wiederverwendung eines Geräts erlauben, ohne unbetroffene Steuerobjekte zu beeinflussen und die Steuerprogramme und Datenprogramme, welche auf ein Gerät zugreifen, nicht nachteilig beeinflussen, wenn Kommunikationsadressen oder Speicherzuweisungen geändert werden, so dass. Datenprogramme und Steuerprogramme unabhängig voneinander erstellt werden können und die Parameter schnell und korrekt eingestellt werden können, wenn ein Gerät durch ein anderes ersetzt wird.
  • Diese Aufgabe wird durch eine Steuerung mit den Merkmalen des Patentanspruchs 1 gelöst.
  • Eine Steuerung speichert ein Steuerprogramm zum Steuern eines Geräts, das an der Steuerung angeschlossen ist, und Korrelationsdaten, die das Steuerprogramm mit den Gerätedaten über das angeschlossene Gerät korrelieren. Das Steuerprogramm spezifiziert das Gerät durch einen Objektnamen. Wenn das Steuerprogramm auf das Gerät zugreift, um es zu steuern, fragt das Kommunikationsverarbeitungsmittel der Steuerung die Korrelationsdaten ab, um das Gerät anhand seines Objektnamens zu ermitteln.
  • Die Steuerung des Geräts durch das Steuerprogramm bedeutet im weiteren Sinne, dass das Gerät allgemein so verwaltet wird, dass es verschiedene Vorgänge durchführt. Wenn das Gerät beispielsweise ein Eingabegerät ist, kann das Steuerprogramm dazu dienen, Daten von diesem Eingabegerät zu erhalten und bestimmte Vorgänge durchzuführen. Wenn das Gerät ein Ausgabegerät ist, kann das Steuerprogramm dazu dienen, Befehle an das Gerät zu senden, um zu bewirken, dass es bestimmte Vorgänge durchführt.
  • Die Korrelationsdaten werden mindestens als Zugriffsdaten verwendet, die dem Steuerprogramm den Zugriff auf das Gerät ermöglichen, und umfassen Daten (wie den Gerätenamen des Geräts), damit das Steuerprogramm das Gerät und die Speicheradresse ermitteln kann, indem sie die Zugriffsadresse wie z. B. die Knotennummer oder die in einem Steuerungsspeicher zugewiesene Speicheradresse angeben. Daher kann das Steuerprogramm mit gerätekennzeichnenden Daten wie z. B. Gerätenamen geschrieben werden, aber durch Abfrage der Korrelationsdaten über das Zielgerät, die in der Steuerung gespeichert sind, auf das Zielgerät zugreifen.
  • Wenn die Kommunikationsadresse des Geräts oder die zugewiesene Speicheradresse aufgrund einer Wiederverwendung geändert wurden, braucht das Steuerprogramm nicht umgeschrieben zu werden, da es genügt, die Korrelationsdaten zu aktualisieren. Daher ist es möglich, das Gerät und das Steuerprogramm zusammen als eine integrierte Einheit zu behandeln.
  • Wenn eine Kommunikationsvorrichtung (wie eine Mensch-Maschine-Schnittstelle) auf ein Gerät zugreift oder dessen Betrieb überwacht, kann dies auf einfache Weise durch Abfrage dieser Korrelationsdaten erfolgen. Mit anderen Worten, selbst wenn das Steuerprogramm oder die Zugriffsadresse für das Gerät geändert wird, werden Datenprogramme von diesen Änderungen nicht beeinflußt. Daher können Steuer- und Datenprogramme gleichzeitig und parallel entwickelt werden.
  • Die Korrelationsdaten umfassen Adressen, über die ein Zugriff auf ein Gerät erfolgen kann. Diese Daten können vom Programmentwickler manuell eingegeben werden, doch gibt es einfachere und genauere Methoden. Zum Beispiel kann ein Kommunikationsverarbeitungsmittel nicht nur für die Kommunikation mit einem angeschlossenen Gerät verwendet werden, um dadurch die Zugangsadresse festzulegen, sondern auch, um sie als Teil der Korrelationsdaten zu speichern. Alternativ dazu kann ein Steuerungsspeicher vorgesehen werden, so dass die Daten über einen bestimmten Bereich dieses Steuerungsspeichers zwischen dem Gerät und der Steuerung ausgetauscht werden, und es können auch Adressierungsmittel vorgesehen werden, um den Steuerungsspeicher der Speichergröße des Geräts entsprechend zu adressieren (oder einen Speicherbereich zuzuweisen) und die Ergebnisse der Adressierung (zugewiesener Speicherbereich) als Korrelationsdaten zu speichern.
  • Einige Geräte, die an der Steuerung angeschlossen sind, können Betriebsdaten (wie z. B. Einstellungsparameter) speichern, die zu deren Betrieb erforderlich sind. Daher kann die Steuerung vorzugsweise Mittel umfassen, die betrieben werden, um diese Betriebsdaten zu erhalten und zu speichern, und um die gespeicherten Betriebsdaten in das Gerät herunterzuladen, wenn das Gerät eingeschaltet wird. Auf diese Weise kann die Übereinstimmung zwischen den tatsächlichen Betriebsdaten des Geräts und den von der Steuerung gespeicherten Daten gewährleistet werden, selbst wenn die Betriebsdaten während des Gerätebetriebs geändert werden, indem die Betriebsdaten beim Ausschalten in der Steuerung gespeichert werden. Die Einstellung und Verwaltung der Betriebsdaten können auf diese Weise vereinfacht werden.
  • Einem anderen Ausführungsbeispiel der Erfindung gemäß wird ein bestimmter Bereich im vorgenannten Steuerungsspeicher reserviert, um „Fehlerdaten” zu speichern, wenn im Gerät ein Fehlerzustand aufgetreten ist. Es sind vorzugsweise Mittel vorgesehen, um Wartungsdaten zur Behebung des Fehlerzustands nicht nur den Fehlerdaten, sondern auch den Korrelationsdaten entsprechend auszugeben. Die Wartungsdaten können den Steuerobjektnamen, den Gerätenamen und die Kommunikationsadresse des Objekts oder Geräts umfassen, wo der Fehlerzustand aufgetreten ist, sowie die Fehlerursache. Auf diese Weise kann zum Beispiel schnell erkannt werden, zu welchem der Objekte das fehlerhafte Gerät gehört.
  • Ein Tool ist ein Tool, das an eine der oben beschriebenen Steuerungen angeschlossen wird, und umfasst. Mittel zum Erzeugen eines Steuerprogramms, wie oben beschrieben, Korrelationsdatenerzeugungsmittel zum Erzeugen von Korrelationsdaten, die das Steuerprogramm mit Gerätedaten über ein Gerät korrelieren, und Herunterlademittel, um die vom Korrelationsdatenerzeugungsmittel erzeugten Korrelationsdaten in die Steuerung herunterzuladen.
  • Ein System umfasst ein Tool und eine Steuerung, wie oben beschrieben, wobei die vom Tool erzeugten Korrelationsdaten in die Steuerung heruntergeladen werden, so dass die Steuerung veranlaßt wird, ein daran angeschlossenes Gerät zu steuern, indem sie die empfangenen Korrelationsdaten abfragt.
  • Wenn die Korrelationsdaten wie oben beschrieben erzeugt werden, können die Seriennummern und die Kommunikations- und Speicheradressen zur eigentlichen Spezifikation eines Geräts leer gelassen werden. Wenn die erzeugten Korrelationsdaten in die Steuerung heruntergeladen werden, kann die Steuerung verwendet werden, um die Leerstellen automatisch auszufüllen, oder diese Zusatzdaten können manuell eingetragen werden. Alternativ dazu können diese Zusatzdaten auch anfangs bei der Erzeugung der Korrelationsdaten eingesetzt werden.
  • Da das Steuerprogramm nicht auf ein Gerät zugreift, indem es die Adresse des Geräts direkt spezifiziert, sondern, indem es die Korrelationsdaten abfragt, um die Adresse für den Zugriff auf das Gerät zu ermitteln, werden zahlreiche verbesserte Steuerungsverfahren ermöglicht.
  • Wenn ein Steuerprogramm, das in einer Steuerung verwendet wird, in einer anderen Steuerung verwendet werden soll, werden das Steuerprogramm und die Korrelationsdaten, die das Steuerprogramm mit dem Gerät korrelieren, das an der Steuerung angeschlossen ist und von dieser gesteuert wird, miteinander zu einem Paar verknüpft. Das Steuerprogramm wird in die andere Steuerung kopiert, und auch die Korrelationsdaten, die mit dem Steuerprogramm ein Paar bilden, werden in die andere Steuerung kopiert. Die Zugriffsadresse des Geräts in den Korrelationsdaten wird korrigiert, indem sie durch die andere Zugriffsadresse des Geräts in der anderen Steuerung ersetzt wird. Auf diese Weise kann das Steuerprogramm wiederverwendet werden, ohne dass das Steuerprogramm selbst modifiziert werden muß.
  • Wenn die Korrelationsdaten einen Parameter umfassen, der mindestens Betriebsbedingungen des Geräts darstellt, kann die Steuerung so betrieben werden, dass sie beim Einschalten den Parameter für das Gerät herunterlädt und beim Ausschalten den am Gerät geänderten Parameter hochlädt und speichert.
  • Ein sogenannter Statusregistrierbereich kann im Steuerungsspeicher vorgesehen werden, um Statusdaten für jedes einzelne Gerät zu speichern, das an der Steuerung angeschlossen ist. Die Steuerung kann dann betrieben werden, um diesen Statusregistrierbereich zu überwachen. Wenn bei dieser Überwachung des Statusregistrierbereichs ein Fehlerzustand erkannt wird, kann die Steuerung auf ihr Speichermittel zugreifen, um Korrelationsdaten über das Gerät zu erhalten, das dem ermittelten Fehlerzustand zugeordnet ist, und um spezifische Daten an ein externes Peripheriegerät zu senden.
  • Ein Datenverarbeitungsgerät, das mindestens ein Äquivalent des Steuerprogramms umfasst, kann an das gleiche Netzwerk angeschlossen sein, an dem die Steuerung und die davon gesteuerten Geräte angeschlossen sind, so dass die Kommunikation zwischen der Steuerung und den Geräten vom Datenverarbeitungsgerät als Kommunikationsdaten empfangen werden kann. Das Datenverarbeitungsgerät kann das gespeicherte Steuerprogramm den über das Netzwerk empfangenen Kommunikationsdaten gemäß ausführen und dadurch einen Datenverarbeitungsvorgang durchführen und die Ergebnisse des Datenverarbeitungsvorgangs zur Steuerung senden.
  • Zusammenfassend weist die vorliegende Erfindung viele erfinderische Elemente auf, die auf zahllose Weise miteinander verknüpft werden können. Diese erfinderischen Elemente können darüber hinaus durch eine dedizierte Hardwareschaltung oder durch einen auf geeignete Weise programmierten Rechner realisiert werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm eines herkömmlichen Systems.
  • 2 ist ein Blockdiagramm eines anderen herkömmlichen Systems.
  • 3 ist ein Blockdiagramm eines Systems.
  • 4 ist ein Blockdiagramm des in 3 gezeigten Tools, das seinen inneren Aufbau zeigt.
  • 5 ist ein Flußdiagramm für den Initialisierungsvorgang, der von diesem Tool durchgeführt wird.
  • 6 ist ein Beispiel für die Anzeige bei der Initialisierung.
  • 7 ist anderes Beispiel für die Anzeige bei der Initialisierung.
  • 8, 9 und 10 zeigen Beispiele für eine Objektdatenbank.
  • 11 zeigt ein Beispiel für ein Steuerprogramm.
  • 12 zeigt ein anderes Beispiel für ein Steuerprogramm.
  • 13 zeigt die Arbeitsweise der Verarbeitungsmittel zur Klassenerzeugung.
  • 14 zeigt die Arbeitsweise der Verarbeitungsmittel zur Steuerobjektzuweisung
  • 15 zeigt ein Beispiel für eine Objektdatenbank, die durch die steuerobjektabbildenden Verarbeitungsmittel erzeugt wurde.
  • 16 zeigt die Arbeitsweise der Kommunikationsverarbeitungsmittel.
  • 17 zeigt die Arbeitsweise der steuerobjektabbildenden Verarbeitungsmittel bei der Wiederverwendung.
  • 18 zeigt die Arbeitsweise der Kommunikationsverarbeitungsmittel bei der Wiederverwendung.
  • 19 zeigt ein zweites Ausführungsbeispiel der Erfindung.
  • 20 und 21 sind Flußdiagramme, die die Arbeitsweise der Systemsoftware erläutert.
  • 22 zeigt ein drittes Ausführungsbeispiel der Erfindung.
  • 23 ist ein Flußdiagramm des Überwachungsbetriebs gemäß dem dritten Ausführungsbeispiel der Erfindung.
  • 24 zeigt ein viertes Ausführungsbeispiel der Erfindung.
  • Gleiche Komponenten werden hierin der Einfachheit der Beschreibung halber durch gleiche Bezugszeichen angezeigt und auch dann reicht wiederholt beschrieben, wenn diese Komponenten zu verschiedenen Systemen gehören.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Die Erfindung wird nachstehend anhand von Beispielen unter Bezugnahme auf die Zeichnungen beschrieben. 3 zeigt ein System, das ein Ausführungsbeispiel der Erfindung ist, umfassend eine Steuerung 10, wie z. B. eine SPS, und ein Tool 20 (dessen Aufbau in 4 dargestellt ist), und ein Gerät 30, das direkt oder über ein Netzwerk an die Steuerung 10 angeschlossen ist. Die Steuerung 10 umfasst ein Steuerprogramm 11 zur Betriebssteuerung des Geräts 30. Das Gerät 30 wird betrieben, um Daten in oder aus einem bestimmten Bereich eines zugewiesenen Steuerungsspeichers (E/A-Speicher) 12 zu schreiben oder zu lesen. Da diese Funktionen im Wesentlichen denen herkömmlicher Steuerungen entsprechen, wird darauf nicht weiter eingegangen. Es wird aber darauf hingewiesen, dass das Steuerprogramm 11 und das Gerät 30 erfindungsgemäß als eine integrierte Einheit behandelt werden können, die hier Steuerobjekt (oder einfach Objekt) genannt wird, und die dazu erforderlichen Daten sind in einer Objektdatenbank (DB) 13 gespeichert.
  • Das heißt, das Gerät 30 wird mit seinem Objektnamen (ein Gerätename) spezifiziert. Wenn ein Gerät in einem Programm aufgerufen wird, geschieht dies gewöhnlich durch direkte Eingabe seiner Adresse. Diesem Ausführungsbeispiel gemäß aber wird zu seiner Spezifikation der Gerätename benutzt, und die Daten, die angeben, wo das durch seinen Gerätenamen spezifizierte Gerät tatsächlich angeschlossen ist, werden separat erstellt, weshalb diese Daten auch separat verwaltet werden. Wenn das Steuerprogramm 11 und das Gerät 30 zwecks Wiederverwendung an eine andere Steuerung angeschlossen werden, so dass Adressen wie die Speicheradresse und die Kommunikationsadresse geändert werden, muß der Anwender deshalb nur die Beziehung zwischen dem Gerätenamen und der Adresse ändern, die separat verwaltet wird. Der Inhalt des Steuerprogramms selbst braucht nicht verändert zu werden.
  • Zu diesem Zweck sind in der Objektdatenbank 13 „Steuerobjektnamen” und „steuerobjektbildende Gerätedaten” gespeichert, um zwischen Gerätedaten, die Steuerobjekte bilden, und Geräten nach Objektnamen zu unterscheiden. „Gerätedaten” umfassen die Adressen der Geräte (hier Kommunikationsadressen genannt) in einem Bus oder Netzwerk. Wenn das Gerät die internen Zustände zum Beispiel einer SPS speichern kann, sind Adreßdaten wie z. B. der vom Benutzer für die SPS definierte Gerätename und der Speicherbereich des Geräts wie z. B. einer SPS vorhanden, in dem dieser Gerätename gespeichert ist. Wenn das Gerät, z. B. ein einfacher digitaler E/A, nicht geeignet ist, die internen Zustände zu speichern, werden nicht nur der vom Benutzer definierte Gerätename, sondern auch zusätzliche Daten wie z. B. die vom Hersteller definierte Seriennummer des Geräts gespeichert. Ferner die Schnittstellendaten der vom Benutzer definierten Steuerobjekte (nachstehend Objektschnittstellendaten genannt, wie z. B. der Dienstname, die Typdaten zum Datentyp, der vom Dienst benötigt wird), der Objektattributname und Attributtyp. Dadurch ist es möglich, aus der Objektdatenbank 13 zu entnehmen, aus welcher Art von Geräten das Steuerobjekt besteht, und ein Gerät anhand eines logischen Namens zu unterscheiden, der Objektname genannt wird.
  • Alle oben beschriebenen Daten können installiert werden, indem die vom Tool 20 vorbereiteten Daten in die Steuerung 10 heruntergeladen werden. Während dieses Herunterladens werden die notwendigen Korrekturen an den Daten vorgenommen. Das Tool 20, das einen Personal-Computer oder einen Rechner anderer Art umfassen kann, funktioniert wie in 5 gezeigt, um Daten zu erzeugen, die in der Objektdatenbank gespeichert werden. Sein Bildschirm M, in 6 gezeigt, umfasst ein Listenfeld (Geräteverzeichnisansicht) R1 zur Anzeige einer Liste (Hardwareverzeichnis) der Geräte, die angeschlossen werden können, eine Arbeitsfläche R2 zum Zusammensetzen eines Steuerobjekts auf einem Graphikbildschirm, und eine Registrierfläche R3 zum Registrieren der Steuerobjektnamen, die auf der Arbeitsfläche R2 als Daten erzeugt werden. Der Benutzer (Entwickler) kann dadurch verschiedene Aufgaben durchführen, während er diesen Bildschirm M betrachtet.
  • Zuerst wird durch ein Verarbeitungsmittel zur Objektdefinition 21 ein Steuerobjektname definiert (Schritt ST1). Dies wird erreicht, in dem das Zeigegerät des Tools 20 so betätigt wird, dass sein Cursor auf der Registrierfläche R3 liegt, und mit Hilfe eines Eingabegeräts wie z. B. einer Tastatur ein Steuerobjektname eingegeben wird. Das Verarbeitungsmittel zur Objektdefinition 21 dient der Registrierung des Objektnamens nach Empfang einer solchen Eingabe. 6 zeigt „Roboter” als ein Beispiel für einen registrierten Steuerobjektnamen.
  • Als nächstes wird ein Gerät definiert, das zum Steuerobjekt gehört (Schritt ST2). Dies wird erreicht, indem ein Gerät (Klasse) aus dem Listenfeld R1 des in 6 gezeigten Bildschirms M gewählt und auf die Arbeitsfläche R2 auf der rechten Seite verschoben wird, um dort eingefügt zu werden. Bei mehreren Geräten kann dieser Vorgang mehrmals wiederholt werden, um die Gerätestruktur zu definieren, die für das Steuerobjekt benötigt wird. 7 zeigt ein Beispiel, in dem drei Geräte A, B und C gewählt wurden.
  • Dann wird der Inhalt der auf diese Weise gewählten Geräte eingestellt. Bei einem Doppelklick auf jedes der einzustellenden Geräte erscheint ein Einstellungsbildschirm G, wie in 6 und 7 gezeigt. Obwohl der Einstellungsbildschirm G in 6 und 7 der Einfachheit halber außerhalb des Bildschirms M dargestellt ist, wird er tatsächlich über den Daten der Arbeitsfläche R2 angezeigt. Die zur Konfiguration der Netzwerkkommunikation benötigten Daten wie z. B. der Gerätename („C” im Beispiel), die Kommunikationsadresse, die Größe der Eingabedaten, die Größe der Ausgabedaten und der Kommunikationsmodus werden im Einstellungsbildschirm eingegeben. Das Objektdefinitionsmittel 21 speichert die Geräteeinstellungsdaten dann auf der Basis der eingegeben Daten in einem angegebenen Dateiformat wie z. B. XML und Ini in der Objektdatenbank 22 ab.
  • Da die Basisdaten jedes Geräts wie der Gerätename, die Eingabedatengröße und die Ausgabedatengröße bereits als Anfangswerte in der Datenbank registriert sind, werden bei einem Doppelklick auf ein Gerät die Anfangswerte für dieses Gerät abgerufen und auf dem Einstellungsbildschirm G angezeigt. Daher muß der Benutzer nur die leeren Zeilen mit geeigneten Angaben ausfüllen. 8 zeigt ein Beispiel für den Inhalt der Objektdatenbank 22, nachdem die Daten wie oben erläutert eingegeben wurden. Die Daten über die Geräte A, B und C, die den „Roboter” bilden, werden wie in 9 gezeigt registriert, indem dieser Vorgang wie oben beschrieben wiederholt wird.
  • Die Gerätenummern (DeviceNum) und Knotennummern können so vorgesehen werden, dass sie automatisch zugewiesen werden, zum Beispiel durch Auswahl unbenutzter Nummern oder von Nummern in einer aufsteigenden Reihenfolge. In diesem Stadium wurden die Seriennummer, die Startadresse der Eingabedaten (INadr0) und die Startadresse der Ausgabedaten (OUTadr0) jedes Geräts noch nicht registriert.
  • Dann wird die Schnittstelle des Steuerobjekts durch ein Verarbeitungsmittel zur Objektschnittstellendefinition 24 definiert (Schritt ST3). In der Praxis dient das Verarbeitungsmittel zur Objektschnittstellendefinition 24 der Anzeige der Eingabedatengröße und der Ausgabedatengröße als Anfangswerte, und der Benutzer betrachtet diese Anzeige bei der Eingabe der Definitionen, die in die Objektdatenbank 22 zu speichern sind. 10 zeigt für Gerät C, dass die vom Benutzer für das niederwertige Byte und das höherwertige Byte des Eingabebereichs des Geräts definierten Daten jeweils als In_pram1 und In_pram2 in der Objektdatenbank 22 gespeichert wurden, und für das niederwertige Byte und das höherwertige Byte des Ausgabebereichs jeweils als Out_pram1 und out_pram2.
  • Als nächstes werden die Steuerprogramme für die Geräte eingetragen (Schritt ST4). Dies wird erreicht, indem ein Steuerprogramm, das separat durch ein Steuerprogrammerzeugungsmittel 23 in einer Universalsprache erzeugt wurde, als eine Methode des Steuerobjekts definiert wird und das gewählte Steuerprogramm in der Objektdatenbank 22 wird als ein Dienst des Steuerobjekts registriert.
  • Dies wird Bezug nehmend auf 11 beispielhaft erläutert, in der Annahme, dass ein Steuerprogramm namens Add_Val bereits registriert wurde. In diesem Fall ist „Add_Val” als eine der Methoden des Steuerobjekts definiert, und ein Steuerprogramm namens „Add_Val” ist in der Objektdatenbank 22 als ein Dienst des Objekts namens „Roboter” registriert. Dadurch werden die Schnittstellendaten (Dienstname, für den Dienst benötigter Datentyp, Objektattributname und dessen Typ) des vom Benutzer definierten Steuerobjekts registriert. Der in 8 gespeicherte Inhalt ändert sich daher wie in 12 gezeigt.
  • Das Steuerprogramm kann in Java, FB oder VB geschrieben sein. Wenn es in Java geschrieben ist, wird „Roboter” zu einer der Java-Klassen. Wenn es in IEC1131 geschrieben ist, wird „Roboter” zu einem der FBs.
  • Dann wird das Steuerobjekt durch ein Steuerobjektverwaltungsmittel 25 in eine Datenbank 26 registriert (Schritt ST5). Bei der Registrierung wird das Steuerobjekt durch Abfrage der Objektdatenbank 22 erzeugt. Hier bedeutet die Erzeugung des Steuerobjekts bei Java die Erzeugung eines Java-Klassencodes und bei FB die Erzeugung eines FB-Codes. 13 zeigt einen Fall, bei dem ein Java-Code aus der Objektdatenbank erzeugt wurde. Der Name „Roboter” wird als ein Attribut für die erzeugte Java-Klasse gespeichert, so dass die Objektdatenbank 22 und das Steuerprogramm miteinander korreliert werden.
  • Die dem Steuerprogramm entsprechende Steuer-Klasse, die auf diese Weise in Korrelation registriert wird, wird zuvor durch ein Verarbeitungsmittel zur Klassenerzeugung 27 erzeugt. Wie in 4 gezeigt, fragt das Verarbeitungsmittel zur Klassenerzeugung 27 die Objektdatenbank 22 ab, um aus einem Steuerprogramm 28, das von einem Benutzer in einer Universalsprache geschrieben wurde, eine Klasse in einer Universalsprache zu erzeugen. Der in der Objektdatenbank gespeicherte Steuerobjektname wird als ein Attribut der erzeugten Klasse gespeichert. Im Beispiel, das in 13 gezeigt wird, wird ein Steuerprogramm 28 erzeugt, in dem der Objektname „Roboter” als Attribut gespeichert ist. Das Steuerprogramm 28 (Gruppe von Methoden für die oben genannte Klasse) und die Objektdatenbank 22 werden miteinander korreliert, und das Steuerprogramm und das Gerät können nun als ein Paar und als ein Steuerobjekt behandelt werden.
  • Zusätzlich zu den Diensten für das Steuerobjekt, die vom Benutzer erzeugt werden, gibt es Dienste, die vom System automatisch erzeugt werden. „Get_Profile” zum Abrufen der Profildaten des Steuerobjekts dient zum Beispiel dazu, einen Vorgang durchzuführen, um die Kommunikationsadresse eines Geräts zu erhalten, das zum Steuerobjekt gehört. „Send_Message” und „Receive_Message” sind Schnittstellen zum Senden und Empfangen von Daten zu oder von einem Gerät, das zum Steuerobjekt gehört. Bei DeviceNet (eingetragener Handelsname von Open DeviceNet Vendor Association, Inc.) sind Parameter wie „device name”, „class ID”, „instance ID” und „attribute ID” vorhanden. Wenn dieser Dienst aufgerufen wird, wird die Kommunikationsadresse aus der Objektdatenbank 22 erhalten, indem als Schlüssel der Gerätename verwendet wird, der einer der Parameter ist, und dieser Parameter wird dann zum Gerät gesendet. Dadurch ist das Programm in der Lage, auf das Steuerobjekt zuzugreifen, ohne zur Kennzeichnung des Geräts die Kommunikationsadresse zu spezifizieren, sondern über den Gerätenamen. Mit anderen Worten, das Gerät kann selbst dann gefunden werden, wenn seine Kommunikationsadresse nicht bekannt ist oder geändert wurde, da der Objektname und die Kommunikationsadresse bereits korreliert sind.
  • Wieder Bezug nehmend auf 13, dienen „Set_Attribute” und „Get_Attribute” dazu, ein Attribut des Steuerobjekts auf einen Wert zu setzen und den Wert eines Attributs des Steuerobjekts abzurufen.
  • Das Steuerobjektverwaltungsmittel 25 wird verwendet, um das Steuerprogramm 28', das in der erzeugten Datenbank 26 registriert wurde, und die Objektdatenbank 22 in die Steuerung 10 herunterzuladen (Schritte ST6 und ST7). Wenn in der Steuerung eine Umgebung vorhanden ist, um Steuerobjekte zu definieren, speichert das Steuerobjektverwaltungsmittel 25 das registrierte Steuerprogramm in der erzeugten Datenbank und die Objektdatenbank an einer spezifizierten Adresse (Speicheradresse) der Steuerung selbst ab.
  • Die Steuerungssystemsoftware 14 (in 3 gezeigt) zum Anderen verwendet die Daten, die aus den Tool 20 (in der Objektdatenbank 13 gespeichert) heruntergeladen wurden, und veranlaßt ihr steuerobjektabbildendes Mittel 14a, das steuerobjektbildende Gerät und die Größe seiner Eingabe- und Ausgabedaten durch Abfrage der Objektdatenbank 13 zu ermitteln (1) und den Speicher in einem leeren Bereich des Steuerungsspeichers 12 zu belegen (2), wie in 14 gezeigt. Wenn die Daten über „Roboter” in der Objektdatenbank 13 gespeichert sind, wie in 9 gezeigt, wird die Speicheradressierung zum Beispiel für das Gerät C durchgeführt, indem von einer bestimmten leeren Adresse („AD1” im Beispiel von 14) des Steuerungsspeichers 12 an ein Speicherbereich von 2 Bytes reserviert wird, da „INSize” gleich 2 ist. Bei diesem Adressierungsvorgang wird die Startadresse („AD1”) im Steuerungsspeicher 12, wo die Adressierung durchgeführt wurde, dann in der Objektdatenbank 13 gespeichert (3).
  • Da die letzte Adresse von Gerät C bekannt ist (entspricht der Startadresse + Größe der Eingabedaten), kann das nächste Gerät (Gerät A) mit seiner Startadresse AD3 adressiert werden, die auf diese letzten Adresse folgend gewählt wird. Das Ergebnis dieser Adressierung wird dann in der Objektdatenbank 13 gespeichert. Dieser Vorgang wird aufeinanderfolgend wiederholt, um die Eingabe- und Ausgabedaten aller Geräte zu adressieren. Beim in 9 gezeigten Beispiel werden Daten wie in 15 gezeigt erzeugt.
  • Als nächstes wird die Seriennummer des Geräts erhalten und in der Objektdatenbank 13 gespeichert. Dies wird erreicht, wie in 15 gezeigt, indem durch ein Kommunikationsverarbeitungsmittel auf die Objektdatenbank 13 zugegriffen wird, um Daten wie z. B. die Knotennummer und den Gerätenamen des zu verarbeitenden Geräts zu erhalten. Der Gerätename und die Seriennummer des an den Knoten angeschlossenen Geräts werden angefordert, und eine Antwort vom Gerät wird erwartet. Wenn die vom Gerät übertragene Antwort korrekt ist (d. h., wenn sie mit der in der Objektdatenbank 13 registrierten Information übereinstimmt), wird die übertragene Seriennummer als korrekte Nummer behandelt und in einem entsprechenden Bereich der Objektdatenbank 13 registriert. Im Beispiel, das in 16 gezeigt wird, weist das Gerät, das am Knoten #8 angeschlossen ist, den Gerätenamen (Objektnamen) „C” und die Seriennummer „SN-01” auf. Da dies eine Übereinstimmung darstellt, wird die Seriennummer „SN-01” für das Gerät C gespeichert, wie in 15 gezeigt. Diese Verarbeitung wird für alle vier Geräte durchgeführt, so dass eine Objektdatenbank für „Roboter”, wie in 15 gezeigt, fertig ist.
  • Bei einer Vorrichtung, die in der Lage ist, Daten zu speichern, wie z. B. eine SPS, wird der in der Objektdatenbank gespeicherte Gerätename des Geräts in einen bestimmten Speicherbereich für das Gerät geschrieben, wobei die Information darüber, wo geschrieben werden soll, in der Objektdatenbank gespeichert ist. Wenn der Gerätename bereits im Gerät geschrieben ist, wird ein Vergleichsvorgang durchgeführt. Wenn keine Übereinstimmung vorliegt, wird z. B. an ein externes Peripheriegerät ein Fehlerzustand gemeldet. Auf diese Weise können die Objektdatenbank und das Gerät korreliert werden, und die Konfiguration der E/A in Steuerobjekteinheiten wird ermöglicht. Mit anderen Worten, wenn ein Steuerprogramm ein Gerät ausliest, werden, falls das Programm mit Gerätenamen erstellt wurde, der Gerätename, die Nummer des Knotens, an dem das Gerät angeschlossen ist, und die Speicheradresse, an der die Eingabe- und Ausgabedaten für das Gerät gespeichert sind, durch die Objektdatenbank 13 korreliert, so dass mit diesen korrelierten Daten ein Zugriff erfolgen kann.
  • Wenn ein Steuerobjekt (ein Steuerprogramm + ein Gerät) wiederverwendet werden soll, wird wie folgt vorgegangen. Zuerst ruft das Steuerobjektverwaltungsmittel 25 des Tools 20 das Steuerprogramm und die Objektdatenbank, die wiederverwendet werden sollen, aus der Datenbank 26 ab, welche die Steuerprogramme und Objektdatenbanken verwaltet, und lädt die abgerufenen Daten (Steuerprogramm + Objektdatenbank) in die wiederverwendende Steuerung 10 herunter. Falls das Tool vom objektdefinierenden Typ ist, wird ein Steuerprogramm und eine Objektdatenbank paarweise heruntergeladen, wenn das Steuerobjekt von der Steuerung 10 zum Herunterladen spezifiziert wird. Selbst wenn das Steuerobjekt eine Vielzahl von Steuerobjekten umfasst, werden die Steuerprogramme und Objektdatenbanken aller zugehörigen Steuerprogramme heruntergeladen, und die Geräte 30, die mit diesen Steuerprogrammen gepaart sind, werden je nach Anwendungsbedingungen direkt oder über ein Netzwerk mit der Steuerung 10 verbunden.
  • Das Steuerobjektabbildungsmittel 14a der neuen Steuerung 10 wird betrieben, um einen leeren Speicherbereich zu finden, indem es eine bereits vorhandene Objektdatenbank 13' abfragt, wie in 17 gezeigt, und um den Steuerungsspeicher für jedes der Gerte in der neu heruntergeladenen Objektdatenbank zu adressieren. Dies wird erreicht, indem die Adressierungsdaten (Größe der Ein-/Ausgabedaten und Startadresse) aus der vorhandenen Objektdatenbank erhalten werden (1) und indem die Adressierungsdaten (Größe der Ein-/Ausgabedaten) aus der Objektdatenbank der Steuerobjekte erhalten werden, die zur Wiederverwendung heruntergeladen wurden (2). Dann wird die Adressierung im leeren Speicherbereich durchgeführt (3), der im Vorgang (1) für das im Vorgang (2) erhaltene neue Gerät ermittelt wurde. Als nächstes werden die Adressierungsdaten (die im Steuerungsspeicher 12 belegte Startadresse) in der Objektdatenbank 13'' gespeichert (4). Die Speicheradressierung für das neu heruntergeladene Gerät ist damit abgeschlossen. Da die Adressierung in einen leeren Speicherbereich erfolgt, wird die bereits vorhandene Objektdatenbank 13 nicht beeinflußt, obwohl es möglich ist, bei diesem Adressierungsvorgang für die Wiederverwendung die Adresse zu ändern, die in der bereits vorhandenen Objektdatenbank 13' belegt wurde. Selbst wenn eine solche Änderung vorgenommen wird, werden die Daten nur in dem Bereich der Objektdatenbank 13' aktualisiert, in dem die Startadressen gespeichert sind, und die Steuerprogramme der vorhandenen Geräte werden beeinflußt, da sie durch ihren Gerätenamen aufgerufen werden. Da die oben beschriebenen Vorgänge (2)–(4) grundsätzlich den Vorgängen (1)–(3) in 14 für eine Neuadressierung entsprechen, wird deren ausführliche Erläuterung ausgelassen.
  • Zum Anderen erhält das Kommunikationsverarbeitungsmittel 14b aus der bereits vorhandenen Objektdatenbank 13' den Objektnamen, die Seriennummer und die Kommunikationsadresse (nachstehend registrierte Gerätestruktur genannt) (1), wie in 18 gezeigt. Als nächstes ermittelt es, was im Netzwerk mit dem Gerät verbunden ist (2), indem es von jedem Knoten den Objektnamen und die Kommunikationsadresse (Knotennummer) anfordert. Jedes befragte Gerät antwortet auf diese Anfrage, und es wird eine Entsprechung zwischen den Gerätenamen der Geräte, die tatsächlich angeschlossen sind (oder der Seriennummer bei Geräten, die keinen Gerätenamen speichern können), und ihren Kommunikationsnummern erhalten (nachstehend reale Gerätestruktur genannt). Dann wird sie mit der registrierten Gerätestruktur verglichen, die aus der Objektdatenbank erhalten wird.
  • Auf diese Weise wird festgestellt, ob die reale Gerätestruktur mit der registrierten Gerätestruktur übereinstimmt, und freie Kommunikationsadressen werden erfaßt. Wenn Abweichungen von der vorhandenen registrierten Gerätestruktur erkannt werden, wird der gespeicherte Inhalt der Objektdatenbank der realen Gerätestruktur entsprechend korrigiert.
  • Als nächstes wird ermittelt, ob die Kommunikationsadresse des in der Objektdatenbank registrierten Geräts bereits von einem anderen vorhandenen registrierten Gerät verwendet wird. Wenn sie kein Duplikat ist, wird die Kommunikationsadresse nicht geändert. Wenn sie ein Duplikat ist, wird sie automatisch auf eine freie Kommunikationsadresse geändert, und diese Adresse wird in der Objektdatenbank gespeichert (3).
  • 18 zeigt eine Situation, in der drei vorhandene Geräte D, E und F jeweils die Kommunikationsadresse #8, #3 und #1 verwenden, die auch von den zum Steuerobjekt „Roboter” gehörenden Geräten A, B und C verwendet werden. Wie gezeigt, wird dem Gerät C automatisch eine freie Kommunikationsadresse #2 zugewiesen. Die Knotennummer wird von #8 auf #2 aktualisiert. Die Kommunikationsadresse der anderen Geräte A und B werden dementsprechend geändert.
  • Zugleich werden den Geräten auch Knotennummern zugewiesen. In Fällen, wo die Einstellung einer Kommunikationsadresse nicht über das Netzwerk durchgeführt werden kann (so dass sie über einen Hardwareschalter wie z. B. den Anzeigeschalter des Geräts durchgeführt wird), wird dem externen Peripheriegerät gemeldet, dass die Kommunikationsadresse zurückgesetzt werden muß.
  • Auf diese Weise werden, selbst wenn ein Steuerobjekt umgeleitet wird, nicht betroffene Steuerobjekte davon nicht beeinflußt. Selbst im Fall einer doppelten Kommunikationsadresse wird die Arbeitslast des Benutzers durch automatische oder manuelle Adressierung verringert. Überdies wird das Steuerprogramm von einer Änderung der Kommunikationsadresse nicht beeinflußt, da der Gerätename nicht geändert wird.
  • Beim Aufbau eines neuen Steuerungssystems kommt es vor, dass ein bestimmtes Gerät nicht mehr verfügbar ist und zwecks Aufrüstung durch ein anderes Gerät der gleichen Klasse ersetzt wird, oder dass zwei Geräte zu einem vereint werden (wie das Ändern von zwei „8-Point-Geräten” zu einem „16-Point-Gerät”). Mit einer wie in 13 gezeigten Struktur genügt es, das E/A-Konfigurationsmittel für das Gerät auszuführen, ohne dass die Schnittstelle des Steuer-Objekts oder die Methode des Steuerobjekts geändert werden muß. Sogenannte Polymorphie wird erreicht, und die Aufrüstung oder der Austausch von Teilen beim Aufbau eines Steuerungssystems wird vereinfacht.
  • 19 zeigt ein zweites Ausführungsbeispiel der Erfindung, das dadurch gekennzeichnet ist, dass es die Zusatzfunktionen des Herunterladens der Einstellungsparameter aus der Steuerung in die Geräte beim Einschalten des Systems und des Hochladens der Einstellungsparameter der Geräte beim Ausschalten des Systems aufweist.
  • Das Bezugszeichen 15 zeigt einen Speicher 15 zum Speichern der Systemeinstellungsdaten für den Betrieb der Steuerung an. Als Teil der Systemeinstellungsdaten sind die „beim Einschalten herunterzuladenden Geräteparameter” und die „beim Ausschalten hochzuladenden Geräteparameter” standardmäßig auf „ja” oder „nein” gesetzt. Diese Einstellung kann zum Beispiel durchgeführt werden, indem sie gleichzeitig mit den Steuerobjekten in die Steuerung 10 heruntergeladen wird. Die Steuerungssystemsoftware 14 hat die Funktion, beim Einschalten das in 20 gezeigte Flußdiagramm und beim Ausschalten das in 21 gezeigte Flußdiagramm zu verarbeiten.
  • Wenn das System und damit die Steuerung 10 eingeschaltet wird, werden die im Speicher 15 gespeicherten Systemeinstellungsdaten abgefragt (Schritt ST10 in 20) und geprüft, um festzustellen, ob beim Einschalten Geräteparameter heruntergeladen werden sollen (Schritt ST11). Bei NEIN wird der Vorgang abgebrochen. Bei JA wird der Inhalt der Objektdatenbank 13 in der Steuerung 10 abgefragt (Schritt ST12), um daraus die Kommunikationsadresse und die Einstellungsparameter für das Gerät zu entnehmen, das zum Steuerobjekt gehört (Schritt ST13). Als nächstes werden die Einstellungsparameter für das Gerät zur so erhaltenen Kommunikationsadresse heruntergeladen (Schritt ST14). Dadurch werden die Geräteeinstellungen bei jedem Einschaltvorgang durch den Inhalt der Einstellungsparameter ersetzt, die in der Objektdatenbank 13 registriert sind.
  • Wenn die Ausschaltung der Steuerung 10 (oder der Wechsel ihres Betriebsmodus) von ihrem externen Peripheriegerät angefordert wird, wird das ausgeführte Steuerprogramm beendet und die Steuersystemsoftware 14 fragt die Systemeinstellungsdaten ab, die im Speicher 15 gespeichert sind (Schritt ST21 in 21). Wenn für die Frage, ob die Geräteparameter beim Ausschalten heruntergeladen werden sollen, mit NEIN beantwortet wird (NEIN in Schritt ST22), wird der Vorgang direkt abgebrochen, d. h. die Ausschaltung erfolgt. Bei JA (JA in Schritt ST22) wird der Inhalt der Objektdatenbank 13 in der Steuerung 10 abgefragt (Schritt ST23), um die Geräteadresse (Kommunikationsadresse) zu ermitteln (Schritt ST24). Die Einstellungsparameter des Geräts werden an die so erhaltene Kommunikationsadresse hochgeladen (Schritt ST25), und die hochgeladenen Einstellungsparameter werden in einen entsprechenden Bereich der Objektdatenbank 13 gespeichert (Schritt ST26). Wenn die Einstellungsparameter nach dem Einschalten der Steuerung vor Ort geändert werden, wird der geänderte Inhalt auf diese Weise in der Objektdatenbank 13 registriert.
  • Wenn die obigen zwei Fragen beide mit JA beantwortet wurden, kann das System mit den Daten eingeschaltet werden, die bei der letzten Ausschaltung eingestellt waren. Dies ist sinnvoll, da die Änderungen nach der Ausschaltung bestehen bleiben. Da die geänderten Parameter in der Objektdatenbank als Attribute des Steuerobjekts gespeichert werden, ist die Übereinstimmung zwischen den tatsächlich eingestellten Parametern des Geräts und dem Inhalt der Objektdatenbank gewährleistet, wodurch die Verwaltung der Einstellungsparameter erleichtert wird. Selbst bei einer Wiederverwendung ist dies zweckmäßig, da das System den tatsächlich eingestellten Parametern entsprechend wiederverwendet werden kann. Wenn nur die erste Frage (hinsichtlich der Systemeinschaltung) mit JA beantwortet wurde, werden die Ergebnisse der zuvor durchgeführten Änderungen nicht beibehalten. Dies ist sinnvoll, wenn die Änderungen nur vorläufigen Charakter haben.
  • 19 zeigt ein Beispiel, in dem zwei Steuerobjekte „Roboter” und „Teilebeschickung” vorhanden sind, wobei das erstere drei Geräte A, B und C umfasst. Es wird auch gezeigt, dass die Kommunikationsadresse und der Geräteparameter von Gerät A jeweils „3” und „5” sind. Zusätzlich zur Kommunikationsadresse und zum Geräteparameter sind Adreßdaten vorhanden (nachstehend Einstellungsparameter-Adreßdaten” genannt), die angeben, wo die Einstellungsparameter im Gerät zu speichern sind. Bei DeviceNet (eingetragener Handelsname von Open DeviceNet Vendor Association, Inc.) werden Daten wie „class ID” und „instance ID” gespeichert. Das Beispiel von 19 zeigt auch, dass die Kommunikationsadresse und der Geräteparameter von Gerät B jeweils „1” und „2” ist, und die von Gerät C jeweils „8” und „10”. Das Steuerobjekt mit dem Namen „Teilebeschickung” umfasst nur ein Gerät namens „X”, dessen Kommunikationsadresse und Geräteparameter jeweils ”10” und „100” ist.
  • In diesem Beispiel werden „3”, „5”, „10” und „100” beim Einschalten jeweils in die Geräte B, A, C und X heruntergeladen (wie durch die durchgezogenen Pfeile angezeigt), und die Geräte starten den Betrieb mit den heruntergeladenen Parametern, während die Steuerung mit der Ausführung des Steuerprogramms beginnt. Der Einstellungsparameter für Gerät B wird im Betrieb von „3” auf „2” umgeändert. Da die Frage, ob die Geräteparameter beim Ausschalten hochgeladen werden sollen, mit JA beantwortet wurde, werden bei der nächsten Ausschaltung für die Geräte B, A, C und X die Geräteparameter „2”, „5”, „10” und „100” zurückgegeben (wie durch die gestrichelten Pfeile gezeigt). Die Information, dass der Einstellungsparameter „3” für Gerät B heruntergeladen und dann vor Ort auf „2” geändert wurde, wird dann gespeichert.
  • Wenn die Steuerungssystemsoftware beim Einschalten die Einstellungsparameter herunterlädt, werden die Adressen durch die Gerätenamen spezifiziert. Diese Funktion ist unter verschiedenen Bedingungen sinnvoll. Zum Beispiel, wenn im Falle einer Fehlfunktion eines Geräts das Gerät ausgeschaltet wird und ein neues Gerät installiert wird, das dann wieder eingeschaltet wird. In diesem Fall kann das neu installierte Gerät den gleichen Gerätenamen haben wie das ausgetauschte Gerät, doch seine Seriennummer ist eine andere und seine Kommunikationsnummer ist nicht bekannt, da sie z. B. durch einen DIP-Schalter hardwaremäßig eingestellt wird. Wenn die Geräte durch ihren Gerätenamen adressiert werden, wie oben beschrieben, kann das neu installierte Gerät mit der Steuerung 10 kommunizieren, und das neu installierte Gerät informiert die Steuerung 10 über seine Kommunikationsnummer. Da jedes Gerät sowohl mit seinem Gerätenamen als auch mit seiner Seriennummer verwaltet wird, die in der Objektdatenbank gespeichert sind, ruft die Steuerung die Seriennummer beim Einschalten aus der Objektdatenbank ab und prüft, ob sie mit der des ausgetauschten Geräts übereinstimmt. Mit anderen Worten, die Steuerung prüft, ob die Seriennummer jedes Geräts mit dem entsprechenden Gerätenamen übereinstimmt oder nicht.
  • Wenn die Seriennummern übereinstimmen, bedeutet dies, dass das Gerät nicht ausgetauscht wurde. Wenn sie nicht übereinstimmen, fragt die Steuerung 10 (über ihre Steuerungssystemsoftware 14) das externe Peripheriegerät, ob das neue Gerät mit der abweichenden Seriennummer als ein Gerät des Steuerobjekts akzeptiert werden soll oder nicht. Wenn die Antwort „JA” ist, trägt die Steuerungssystemsoftware die neue Seriennummer in die Objektdatenbank ein. Wie für das Gerät, das ausgefallen ist und entfernt wurde, werden seine Einstellungsparameter in die Objektdatenbank 13 heruntergeladen. Dadurch kann durch die Identifikation eines Geräts, dessen Einstellungsparameter heruntergeladen werden müssen, das Herunterladen automatisch erfolgen. Statt dessen können die Gerätedaten (wie z. B. der Gerätename) auch von einer externen Vorrichtung für das zu entfernende Geräts erhalten werden, so dass die Parameter für das entfernte Gerät im neuen Gerät gespeichert werden oder die Seriennummer des neu installierten Geräts in der Objektdatenbank 13 registriert wird.
  • 22 zeigt ein drittes Ausführungsbeispiel der Erfindung, das dadurch gekennzeichnet ist, dass es eine Funktion aufweist, um einen Fehlerzustand zu melden, der in einem Gerät auftritt. Wie gezeigt, wird im Steuerungsspeicher 12 ein bestimmter Bereich für den Status der Geräte des Steuerobjekts (nachstehend „Gerätestatusdaten” genannt) zugewiesen. Die Gerätestatusdaten umfassen nicht nur die Statusdaten zu den einzelnen Kommunikationsadressen, ob sie normal oder fehlerhaft sind, sondern es wird auch ein Speicherbereich reserviert, um die Ursache jedes Fehlers zu speichern. Jedes der angeschlossenen Geräte wird betrieben, um seinen eigenen Status (ob es normal oder fehlerhaft funktioniert) und die Fehlerursache (wenn es fehlerhaft funktioniert) in einen bestimmten Speicherbereich des Steuerungsspeichers 12 zu speichern.
  • Wie im Flußdiagramm von 23 gezeigt, führt die Steuerung 10 periodisch einen Zyklus von Vorgingen durch (Auffrischen der Eingabedaten → Befehlsverarbeitung → Auffrischen der Ausgabedaten → Kommunikationsverarbeitung). Ein Geräteüberwachungsmittel 14c der Steuerungssystemsoftware 14 (wie in 3 gezeigt) überwacht zeitgleich mit dem normalen Abtastvorgang der Steuerung 10, z. B. einmal in jedem Zyklus nach der Kommunikationsverarbeitung, die Gerätestatusdaten, die im Steuerungsspeicher 12 gespeichert sind.
  • Bei dieser Überwachungsverarbeitung ruft das Geräteüberwachungsmittel 14c der Steuerungssystemsoftware 14 die Gerätestatusdaten ab, um zu prüfen, ob eine fehlerhaft funktionierende Kommunikationsadresse vorhanden ist oder nicht. Wenn keine der Kommunikationsadressen einen Fehlerzustand aufweist, ist der Überwachungsvorgang für diesen Zyklus abgeschlossen. Wenn ein Fehlerzustand erkannt wird, werden die Daten zur Fehlerursache abgefragt, die der im Fehlerzustand befindlichen Kommunikationsadresse zugeordnet sind. Als nächstes wird die Objektdatenbank 13 abgefragt, um festzustellen, welches Steuerobjekt der Kommunikationsadresse entspricht, und das Geräteüberwachungsmittel 14c schreibt den Steuerobjektnamen, den Gerätenamen und die Kommunikationsadresse der Adresse, an welcher der Fehler aufgetreten ist, sowie die Fehlerursache in den Speicher der Steuerung oder eines externen Peripheriegeräts.
  • Die Fehlerursache kann in Form eines Fehlercodes oder einer Fehlermeldung gespeichert werden. Der erstere weist den Vorteil auf, dass die Speicherkapazität gering sein kann, weist aber den Nachteil auf, dass der Benutzer in einem Handbuch nachschlagen muß, um die Ursache anhand des Codes zu ermitteln. Letztere weist den Nachteil auf, dass eine größere Objektdatenbank erforderlich ist, weist aber den Vorteil auf, dass der Benutzer die Fehlerursache leicht ermitteln kann, und auch, dass die Meldung in eine Sprachmitteilung umgewandelt werden kann. In beiden Fällen kann der Benutzer ermitteln, welches Steuerobjekt dem fehlerhaft funktionierenden Gerät entspricht und daher Korrekturmaßnahmen ergreifen. Wenn in der Objektdatenbank auch eine Wartungsprozedur für jede Fehlerart gespeichert ist, kann die Instandsetzungsarbeit noch effizienter durchgeführt werden. Da diese Daten von der Steuerung 10 gespeichert werden, braucht der für die Wartung benutzte Personal-Computer nicht mit einer Datenbank versehen zu sein. Mit anderen Worten, zur Behebung des Fehlerzustands kann jeder Personal-Computer verwendet werden.
  • 24 zeigt ein viertes Ausführungsbeispiel der Erfindung, das dadurch gekennzeichnet ist, dass die Steuerung 10 und die Geräte 30 über ein Netzwerk wie DeviceNet (registrierter Handelsname von Open DeviceNet Ventor Association, Inc.) verbunden sind, und dass auch ein Datenverarbeitungsgerät 40 wie z. B. eine MMI an das Netzwerk angeschlossen ist (nicht als Knoten des DeviceNet-Netzwerks, sondern mit der Aufgabe, die durch das Netzwerk übertragenen Daten wie ein Protokoll-Analysator zu abzufragen. Dadurch ist das Datenverarbeitungsgerät 40 in der Lage, zu verfolgen, welcher Knoten (Kommunikationsadresse) welche Art von Daten überträgt, ohne den Kommunikationszyklus zwischen der Steuerung 10 und den Geräten 30 zu beeinflussen.
  • Nachdem für die Geräte A, B und C wie oben beschrieben Objekte (A, B und C) definiert wurden, werden das Steuerprogramm und die Objektdatenbank in das Datenverarbeitungsgerät 40 heruntergeladen, und die E/A-Konfiguration der Steuerobjekte wird mit dem Datenverarbeitungsgerät 40 durchgeführt. Während des realen Systembetriebs werden die Gerte A, B und C von der Steuerung 10 gesteuert. Das Steuerprogramm des Datenverarbeitungsgeräts 40 wird verwendet, um dabei die Datenverarbeitung durchzuführen, Daten aus den im Netzwerk übertragenen Daten zu sammeln und Berechnungen auf der Basis der gesammelten Daten über die Geräte A, B und C durchzuführen. Die Ergebnisse dieser Berechnungen werden zur Steuerung 10 rückgeführt.
  • Wenn das System so aufgebaut ist, kann der Zustand der Geräte 30, die von der Steuerung 10 gesteuert werden, vom Datenverarbeitungsgerät 40 überwacht werden, anhand der logischen Namen (Objektnamen), ohne die Steuerfunktion der Steuerung 10 zu beeinflussen, während die Steuerung 10 die Geräte 30 steuert. Während die Geräte 30 nicht von der Steuerung 10 gesteuert werden, kann das Datenverarbeitungsgerät 40 Daten in die Geräte 30 schreiben, indem es logische Namen (Objektnamen) verwendet. Selbst wenn die Knotennummer eines Geräts vom Programmentwickler geändert wird, wird das Programm für den Zugriff auf des Steuerobjekt im Datenverarbeitungsgerät davon nicht beeinflußt. Und selbst, wenn das Steuerungssystem bereits vorhanden ist und das Steuerprogramm der Steuerung nicht die Form von Objekten aufweist, kann das Datenverarbeitungsgerät nachträglich an das Netzwerk angeschlossen werden, so dass über einen Objektnamen und einen logischen Namen auf die von der Steuerung 10 gesteuerten Geräte 30 zugegriffen werden kann. Mit anderen Worten, die Programmierung für die Datenverarbeitung der Objektdatenbank wird erleichtert und die Effizienz der Entwicklung wird verbessert.
  • Zudem ist es möglich, die Steuerung 10 mit einer Sprache, einem Programmierstil und einer Gerätezugriffsmethode zu entwickeln, die für die Steuer- und sonstigen Funktionen geeignet sind, das Datenverarbeitungsprogramm aber mit logischen Namen für die Gerte, die für die Datenverarbeitung geeignet sind. Auf diese Weise können die Steuer- und Datenprogramme zu verschiedenen Zeiten und auch von verschiedenen Personen entwickelt werden.
  • Wie oben beschrieben, werden die Gerte und ein Steuerprogramm für den Zugriff darauf mit Hilfe einer Objektdatenbank zusammen als ein Steuerobjekt behandelt. Wenn ein Steuerobjekt (Hardware + Software) einmal entwickelt wurde, kann es daher wiederverwendet werden, wodurch die Zeit, die in einem Produktionssystem für die Produktion vieler verschiedener Artikel in kleinen Mengen und für die Änderung der Produktionsschritte nach einer Umstellung aufgewandt werden muß, reduziert werden kann.
  • Da die Speicherzuweisung steuerobjektabhängig ist, kann eine Systemwiederverwendung durchgeführt werden, ohne dass andere Steuerobjekte oder Programme, die das wiederverwendete Steuerobjekt verwenden, beeinflusst werden. Mit anderen Worten, da ein Steuerprogramm und eine Objektdatenbank als integrale Einheit verwaltet werden, kann die Wiederverwendung eines Steuerobjekts sehr einfach sein. Da der Zusatz eines neuen Steuerobjekts darüber hinaus die anderen Steuerobjekte nicht beeinflußt, kann eine Änderung des Produktionssystems mit einer Ausrüstungswechsel leicht bewältigt werden.
  • Es ist auch möglich, eine Vielzahl von Geräten zusammenzufassen, die als ein Steuerobjekt behandelt werden, oder eine Vielzahl von Steuerobjekten als ein einziges Steuerobjekt zu behandeln. Mit anderen Worten, der Benutzer kann verschiedene Arten von Steuerobjekten definieren, die verschiedenen Wiederverwendungsanforderungen entsprechen.
  • Wenn die Einstellungsparameter der Gerte als Attribute des Steuerobjekts behandelt werden, kann die bei einer Fehlfunktion des Geräts für die Instandsetzung benötigte Zeit verkürzt werden, indem die Einstellungsparameter in die Geräte herunter- und hochgeladen werden. Mit Mitteln zum Spezifizieren des Steuerobjekts eines fehlerhaften Geräts wird die Erkennung der Art des Fehlers, der in der Steuereinheit aufgetreten ist, erleichtert. Dadurch wird auch die Wartungsarbeit erleichtert. Da mit ihrem logischen Namen auf die Geräte zugegriffen wird, statt mit ihrer Kommunikationsadresse, wird das Programm, welches das Steuerobjekt aufruft, nicht beeinflußt. Da auf die Geräte zugegriffen wird, ohne direkt den Speicher in der Steuerung abzufragen, werden die Objektschnittstellen und die Objektdienste nicht beeinflußt, selbst wenn das Gerät des Steuerobjekts geändert wurde. Daher ist es möglich, das Steuerungssystem weiterzuentwickeln und das Gerät frei auszutauschen.
  • Zusammenfassend lehrt diese Erfindung die Verwendung von Korrelationsdaten (Objektdatenbank) zwischen einem Steuerprogramm und Geräten, so dass das Steuerprogramm auf ein Gerät zugreifen kann, indem es die Korrelationsdaten abfragt, um die Adresse für den Zugriff zu ermitteln. Auf diese Weise können das Steuerprogramm und die Geräte als eine Einheit (Steuerobjekt) behandelt werden. Dadurch wird die Wiederverwendung des Systems einfacher und zuverlässiger, ohne dass unbetroffene Steuerobjekte beeinflußt werden.

Claims (4)

  1. Eine Steuerung (10) zum Steuern eines Geräts (30), das daran angeschlossen ist, wobei diese Steuerung (10) umfasst: Speichermittel zum Speichern von Korrelationsdaten in einer Objektdatenbank (13) und zum Speichern eines Steuerprogramms (11), wobei dieses Steuerprogramm (11) das Gerät (30) durch einen Objektnamen spezifiziert und diese Korrelationsdaten das Steuerprogramm (11) mit Gerätedaten über das Gerät korrelieren; einen Steuerungsspeicher (12), wobei über einen bestimmten Bereich des Steuerungsspeichers (12) Daten zwischen dem Gerät (30) und der Steuerung (10) ausgetauscht werden; Abbildungsmittel (14a) zur Abbildung auf dem Steuerungsspeicher (12) beruhend auf der Größe von Eingabe- und Ausgabedaten des Geräts (30) gemäß den Korrelationsdaten; und Kommunikationsverarbeitungsmittel (14b) für den Zugriff der Steuerung (10) durch das Steuerprogramm (11) auf das Gerät (30), um dieses zu steuern, wobei die Kommunikationsverarbeitungsmittel (14b) die Korrelationsdaten abfragen, um die Gerätedaten anhand des Objektnamens zu ermitteln.
  2. Die Steuerung nach Anspruch 1, wobei die Kommunikationsverarbeitungsmittel (14b) betrieben werden, um eine Adresse festzulegen, über die auf das Gerät (30) zugegriffen wird, und um diese Zugriffsadresse als Korrelationsdaten zu speichern.
  3. Die Steuerung (10) nach Anspruch 1, wobei das Gerät (30) Betriebsdaten speichert, die für den Betrieb des Geräts (30) erforderlich sind, wobei die Steuerung (10) betrieben wird, die Betriebsdaten zu erhalten, die Betriebsdaten zu speichern und die gespeicherten Betriebsdaten auf das Gerät herunterzuladen, wenn das Gerät (30) eingeschaltet wird.
  4. Die Steuerung (10) nach Anspruch 2, wobei der Steuerungsspeicher (12) einen bestimmten Bereich aufweist, um Fehlerdaten über einen Fehlerzustand des Geräts (30) zu speichern; und Mittel, um den Fehlerdaten und den Korrelationsdaten entsprechend Wartungsdaten für den Fehlerzustand des Geräts (30) auszugeben.
DE10210280A 2001-03-12 2002-03-08 Steuerungen, Tools und diese umfassende Systeme Expired - Lifetime DE10210280B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP682882001 2001-03-12
JP2001068288A JP3729251B2 (ja) 2001-03-12 2001-03-12 コントローラ及びシステム

Publications (2)

Publication Number Publication Date
DE10210280A1 DE10210280A1 (de) 2002-10-17
DE10210280B4 true DE10210280B4 (de) 2012-11-08

Family

ID=18926501

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10210280A Expired - Lifetime DE10210280B4 (de) 2001-03-12 2002-03-08 Steuerungen, Tools und diese umfassende Systeme

Country Status (3)

Country Link
US (2) US20040139270A1 (de)
JP (1) JP3729251B2 (de)
DE (1) DE10210280B4 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028153B1 (en) * 2002-06-19 2006-04-11 Veritas Operating Corporation Backup and retrieval of data storage using catalog data
DE10312756A1 (de) * 2003-03-21 2004-09-30 Focke & Co.(Gmbh & Co. Kg) Verfahren zum Betrieb einer Steuerung an einem Kommunikationsmedium
DE20314410U1 (de) * 2003-09-15 2004-09-30 Kuka Schweissanlagen Gmbh Konfigurierbare industrielle Fertigungsanlage
DE10352172A1 (de) * 2003-11-05 2005-06-09 Robert Bosch Gmbh Verfahren und Vorrichtung zur Anpassung von Funktionen zur Steuerung von Betriebsabläufen
DE102004010203B4 (de) * 2004-03-02 2007-05-10 Siemens Ag Verfahren, Vorrichtung und Computerprogramm zur Erstellung einer Projektierung für ein Bediengerät einer Automatisierungskomponente
JP4774683B2 (ja) * 2004-05-31 2011-09-14 富士電機株式会社 サーボ制御装置の支援装置
EP1679630A3 (de) * 2004-12-09 2006-08-30 Sysmex Corporation Verfahren zum Einstellen der Betriebsbedingung eines Messgeräts, Verfahren zur Handhabung des Messergebnisses eines Messgeräts, Messsystem, Datenverarbeitungsgerät für ein Messgerät und Speichermedium
JP4773873B2 (ja) * 2006-04-28 2011-09-14 株式会社キーエンス 制御プログラム作成装置及び編集プログラム
US8626320B2 (en) * 2006-05-15 2014-01-07 Timothy Sexton Process control method
JP4666172B2 (ja) * 2006-09-04 2011-04-06 オムロン株式会社 制御システム設定管理システム
DE102006046643A1 (de) 2006-09-29 2008-04-03 Phoenix Contact Gmbh & Co. Kg Speicherprogrammierbare Steuereinrichtung mit integriertem Datenbanktreiber
CN101730867B (zh) * 2007-06-27 2012-08-08 皇家飞利浦电子股份有限公司 用于提供独立于设备的控制和修改的系统和方法
US9164501B2 (en) * 2009-10-05 2015-10-20 Fisher-Rosemount Systems, Inc. Methods and apparatus to manage data uploading in a process control environment
JP2011186857A (ja) * 2010-03-09 2011-09-22 Glory Ltd 上位装置およびデバイス制御方法
JP2011215814A (ja) * 2010-03-31 2011-10-27 Keyence Corp プログラマブルコントローラ、設定値バックアップ・リストアシステム、及び設定値バックアップ・リストアユニット
JP5469510B2 (ja) * 2010-03-31 2014-04-16 株式会社キーエンス プログラマブルコントローラ、設定値変更システム、演算表示装置及び設定値変更ユニット
JP4941574B2 (ja) * 2010-04-14 2012-05-30 横河電機株式会社 レジスタコンフィギュレータおよびレジスタコンフィギュレーション方法
JP5796994B2 (ja) * 2010-06-08 2015-10-21 株式会社日立国際電気 処理システム、基板処理装置、処理システムのデータ処理方法、収集ユニット及び記録媒体並びに半導体装置の製造方法
JP6051545B2 (ja) * 2011-03-15 2016-12-27 オムロン株式会社 Plcシステム、状態表示方法、plc、およびプログラマブル表示器
JP5992777B2 (ja) * 2012-09-04 2016-09-14 株式会社キーエンス プログラマブルコントローラ、プログラム作成支援装置及びプログラム
US9811071B2 (en) 2012-11-22 2017-11-07 Mitsubishi Electric Corporation System construction support apparatus
KR101907199B1 (ko) * 2016-11-11 2018-10-12 (주)위너스엔지니어링 계측제어 설비에서의 프로그램 구동 장치 및 계측제어 설비에서의 프로그램 구동 방법
US10826715B2 (en) * 2016-12-02 2020-11-03 Datalogic Ip Tech S.R.L. Simple device replacement in a Profinet IO conformance class A (CCA) network through ubiquitous computing paradigm and combining a token ring approach with a ubicomp paradigm to prevent real-time performance drop
KR102223336B1 (ko) * 2018-12-28 2021-03-04 경남정보대학교 산학협력단 스마트 팩토리의 구축 및 유지보수를 위한 플랫폼
JP7318264B2 (ja) * 2019-03-28 2023-08-01 オムロン株式会社 コントローラシステム
DE102022122909B3 (de) 2022-09-09 2023-09-21 Multivac Sepp Haggenmüller Se & Co. Kg Lebensmittelverarbeitungsmaschine und Verfahren zum Einschränken von durch einen Bediener an einer Lebensmittelverarbeitungsmaschine aktivierbaren Prozessen

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0749651A (ja) * 1993-08-09 1995-02-21 Toshiba Corp 制御プログラムの作成支援装置
EP0827302A2 (de) * 1996-08-30 1998-03-04 Siemens Aktiengesellschaft Verfahren zur Isolierung von fehlerhaften, austauschbaren Einheiten von beliebig strukturierten Kommunikationsanordnungen
DE10011661A1 (de) * 1999-03-12 2000-09-14 Fisher Rosemount Systems Prozeßsteuersystem mit Prozeßsteuerroutinen unter Verwendung von indirekter Referenzierung

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910706A (en) * 1972-09-11 1990-03-20 Hyatt Gilbert P Analog memory for storing digital information
US4862067A (en) * 1987-06-24 1989-08-29 Schlumberger Technologies, Inc. Method and apparatus for in-circuit testing of electronic devices
US5532929A (en) * 1992-12-16 1996-07-02 Toyota Jidosha Kabushiki Kaisha Apparatus for controlling vehicle driving power
US5589892A (en) * 1993-09-09 1996-12-31 Knee; Robert A. Electronic television program guide schedule system and method with data feed access
EP0657845B1 (de) * 1993-12-01 2003-10-15 Canon Kabushiki Kaisha Vorrichtung und Verfahren zum Drucken vertraulicher Daten
US6769128B1 (en) * 1995-06-07 2004-07-27 United Video Properties, Inc. Electronic television program guide schedule system and method with data feed access
US6721941B1 (en) * 1996-08-27 2004-04-13 Compuware Corporation Collection of timing and coverage data through a debugging interface
ATE290205T1 (de) * 1996-12-12 2005-03-15 Prolume Ltd Vorrichtung und verfahren zum nachweis und identifizieren von infektiösen wirkstoffen
US6606624B1 (en) * 1999-08-13 2003-08-12 The Regents Of The University Of California Apparatus and method for recommending to an individual selective information contained within a computer network
US6591385B1 (en) * 2000-09-11 2003-07-08 Agilent Technologies, Inc. Method and apparatus for inserting programmable latency between address and data information in a memory tester
JP3932817B2 (ja) * 2001-03-14 2007-06-20 オムロン株式会社 制御システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0749651A (ja) * 1993-08-09 1995-02-21 Toshiba Corp 制御プログラムの作成支援装置
EP0827302A2 (de) * 1996-08-30 1998-03-04 Siemens Aktiengesellschaft Verfahren zur Isolierung von fehlerhaften, austauschbaren Einheiten von beliebig strukturierten Kommunikationsanordnungen
DE10011661A1 (de) * 1999-03-12 2000-09-14 Fisher Rosemount Systems Prozeßsteuersystem mit Prozeßsteuerroutinen unter Verwendung von indirekter Referenzierung

Also Published As

Publication number Publication date
DE10210280A1 (de) 2002-10-17
US7117040B2 (en) 2006-10-03
JP2002268707A (ja) 2002-09-20
JP3729251B2 (ja) 2005-12-21
US20050157543A1 (en) 2005-07-21
US20040139270A1 (en) 2004-07-15

Similar Documents

Publication Publication Date Title
DE10210280B4 (de) Steuerungen, Tools und diese umfassende Systeme
DE10210675B4 (de) Steuerungen, Erweiterungsplatten und Kommunikationseinheiten
EP0906596B1 (de) Prozessautomatisierungssystem
DE60200210T2 (de) Über das World-Wide-Web zugängliche, eingebettete Programmier-Software
DE102004051179B4 (de) Einstellungsvorrichtung für ein Steuerungssystem, Verfahren zum Einstellen eines Steuerungssystems und Einstellungsprogramm
DE112010005963B4 (de) Protokolliereinstellvorrichtung, Protokolliereinstellverfahren und Aufzeichnungsmedium
DE102007046572A1 (de) Flexible Eingabe-/Ausgabegeräte zur Verwendung in Prozesssteuerungssystemen
DE10316217A1 (de) Individuelle Funktionsblöcke zur Verwendung in einem Prozesssteuerungssystem
DE112012006925T5 (de) Systemkonstruktions-Unterstützungswerkzeug und System
EP1638028A2 (de) Rechnergestützte Erzeugung und Änderungsmanagement für Bedienoberflächen
EP1233317B1 (de) Vorrichtung und Verfahren zur Erstellung von Bedienungskomponenten
DE102010055337B4 (de) Integration von Feldgeräten in ein verteiltes System
EP1784697B1 (de) Verfahren, vorrichtung und softwaremodul zur softwaretechnischen abbildung des geräteverhaltens eines realen hausgeräts in einem modell
DE10129564A1 (de) Vorrichtung und Verfahren zur Erstellung von Bedienungskomponenten
EP3688937A1 (de) Datenstruktur für die übermittilung von daten aus einem feldbusnetzwerk in eine cloud
DE10218816A1 (de) Programmierbares Steuerungssystem
DE102004007231B4 (de) Verfahren zum Konfigurieren einer Automatisierungskomponente eines Automatisierungssystems und entsprechendes Automatisierungssystem
EP2090948B1 (de) Verfahren zum Betrieb eines Automatisierungssystems
DE102019005935A1 (de) Numerische steuereinheit
DE10353052A1 (de) Automatisierungsanlage mit untereinander kommunizierenden Komponenten
EP4160390B1 (de) Verfahren und anordnung zur inbetriebnahme einer aktualisierten anwendung für eine industrielle automatisierungsanordnung
DE112018007101T5 (de) Verwaltungsgerät, Verwaltungssystem, Anzeigeverfahren und Programm
DE112018006908B4 (de) Datenverwaltungssystem, Datenverwaltungsverfahren und Datenverwaltungsprogramm
EP3441919A1 (de) Verfahren zum austausch von daten zwischen engineering-tools eines engineering-systems sowie engineering-system zur durchführung des verfahrens
EP1454201B1 (de) Engineeringsystem und automatisierungssystem

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R082 Change of representative

Representative=s name: KILIAN KILIAN & PARTNER, DE

Representative=s name: KILIAN KILIAN & PARTNER MBB PATENTANWAELTE, DE

R020 Patent grant now final

Effective date: 20130209

R071 Expiry of right