DE68905848T2 - Speicherprogrammierbare steuerung mit strukturierter programmiersprache. - Google Patents

Speicherprogrammierbare steuerung mit strukturierter programmiersprache.

Info

Publication number
DE68905848T2
DE68905848T2 DE1989605848 DE68905848T DE68905848T2 DE 68905848 T2 DE68905848 T2 DE 68905848T2 DE 1989605848 DE1989605848 DE 1989605848 DE 68905848 T DE68905848 T DE 68905848T DE 68905848 T2 DE68905848 T2 DE 68905848T2
Authority
DE
Germany
Prior art keywords
unit
units
data
graph
section
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 - Fee Related
Application number
DE1989605848
Other languages
English (en)
Other versions
DE68905848D1 (de
Inventor
Vincent Mora
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.)
APRIL SA
Original Assignee
APRIL SA
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 APRIL SA filed Critical APRIL SA
Application granted granted Critical
Publication of DE68905848D1 publication Critical patent/DE68905848D1/de
Publication of DE68905848T2 publication Critical patent/DE68905848T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC

Landscapes

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

Description

  • Die Erfindung betrifft die industriellen, programmierbaren Automaten.
  • Man kennt schon programmierbare Automaten, die um einen zu automatisierenden Prozeß herum Eingangsschnittstellenvorrichtungen mit Wandlerschaltkreiskarten und Ausgangsschnittstellenvorrichtungen mit Stellgließschaltkreiskarten umfassen. Hinsichtlich der Steuerung des zu automatisierenden Prozesses bearbeiten Bearbeitungsvorrichtungen, die ein Monitorprogramm ebenso wie einen Speicher umfassen, aktuelle Werte der Eingangszustände und vorhergehende Ausgangszustände, die bei jedem Zyklus unter der Kontrolle des Monitors in dem Speicher gespeichert werden. Der Speicher enthält ebenfalls Regeln zum Auf-den- neusten-Stand-bringen der Ausgangszustände als Funktion dieser Werte. Benutzerschnittstellenvorrichtungen erlauben die Programmierung und die Modifikation dieser Regeln.
  • Allgemein wird ein zu automatisierender Prozeß als Funktion der besagten Regeln zum Auf-den-neusten-Stand-bringen der Ausgangszustände gesteuert. Diese Regeln sind eine Folge von Anweisungen, die im Speicher angeordnet sind und insbesondere ausführbare Codes umfassen, die logische Variable, wie etwa numerische und boolsche Variable, manipulieren, siehe zum Beispiel das Dokument US-A-4 488 258.
  • Gewöhnlich wird die funktionelle Darstellung eines Automatismus durch das GRAFCET (Befehlsgraph von Schritten/Übergängen) realisiert, welches ein Beschreibungswerkzeug ist, das ermöglicht, eine globale Ansicht dessen, was der Automat tun wird, auszuarbeiten. Das GRAFCET ermöglicht ebenfalls eine vertiefte Analyse der verschiedenen Verhaltensweisen des Automatismus, indem er alle in dem Pflichtenheft eingeschlossenen Möglichkeiten in Betracht zieht.
  • Gleichwohl ist die Verwendung des GRAFCET, einem Werkzeug zur Beschreibung des Automatismus, nur dann wirksam, wenn die verwendete Technologie (Programmiersprache des programmierbaren Automats) und die materielle Ausführung des entsprechenden Automatismus der direkt möglichsten Übertragung des GRAFCET entsprechen.
  • Weiterhin erfordert die Ausführung von Systemen mit programmierter Steuerung, die immer ausgeklügelter und leistungsfähiger sind, geeignete Mittel, um den Systemen mit programmierter Steuerung ein optimales Maß an Sicherheit und Qualität auf der Ebene der Programmiersprache und der Benutzerschnittstelle zu vermitteln.
  • Ein solches Maß erfordert die Hierarchisierung der Steuerungs/Befehlsfunktionen, eine Strukturierung und eine Modularisierung der Anwendungsprogramme, um ihre Entwicklung, Anwendung und Instandhaltung zu meistern.
  • Unglücklicherweise bieten die aktuellen Programmiersprachen nicht diese Möglichkeiten.
  • Die Erfindung bringt eine Lösung für dieses Problem.
  • Ein erstes Ziel der Erfindung ist es, einen programmierbaren Automaten vorzuschlagen, der erlaubt, entsprechend verschiedener Ausführungshierarchieebenen Anwendungsprogramme vor allem hinsichtlich einer möglichst perfekten und möglichst direkten Übertragung der Darstellung in GRAFCET des zu realisierenden Automatismus zu strukturieren.
  • Die Erfindung zielt ebenfalls darauf ab, eine strukturelle und funktionelle Strukturierung der Anwendungsprogramme zu ermöglichen, um ihre Konzeption, ihre Verwendung und ihre Qualität zu verbessern, wobei die normativen Empfehlungen hinsichtlich der Programmiersprachen der programmierbaren Automaten berücksichtigt werden.
  • Ein weiteres Ziel der Erfindung ist es, einen programmierbaren Automaten zur Verfügung zu stellen, der ermöglicht, seine eigenen Pannen ebenso wie die Pannen des zu automatisierenden Prozesses zu detektieren und zu diagnostizieren.
  • Die Erfindung stellt ebenfalls dem Benutzer des programmierbaren Automaten die Möglichkeit zur Verfügung, ausgehend von von dem Kontrukteur vorgeschlagenen Basisfunktionen spezifische Funktionen zu erzeugen. Die Erfindung zielt schließlich darauf ab, die Bedürfnisse der Benutzer von programmierbaren Automaten zu befriedigen insbesondere auf den Ebenen der Zugriffskontrolle zu den Programmen und den Daten, der Modifikation der Programme in Realzeit, der Modularität der Programme, der Ausarbeitung von Informationsbeschreibungen, die mit den Anwendungen verbunden sind, und einer besseren Offenheit der Programmiersprache, die ein schnelles und einfaches Lernen und eine schnelle und einfache Verwendung derselben ermöglicht.
  • Die Erfindung betrifft einen programmierbaren Automat des Typs, welcher umfaßt:
  • - Eingangsschnittstellenvorrichtungen mit Wandlerschaltkreiskarten,
  • - Ausgangsschnittstellenvorrichtungen mit Stellgliedschaltkreiskarten,
  • - Kommunikationsschnittstellenvorrichtungen mit programmierten Systemen, die weitere programmierbare Automaten umfassen,
  • - Bearbeitungsvorrichtungen, die einen Monitor ebenso wie einen Speicher umfassen, der geeignet ist, aktuelle Werte der Eingangszustände und den Ausgangszuständen vorausgehenden Werte, die bei jedem Zyklus unter der Kontrolle des Monitors gespeichert werden, und Regeln zum Auf-den-neuesten-Stand-bringen der Ausgangszustände in Abhängigkeit von diesen Werten zu enthalten, und
  • - Benutzerschnittstellenvorrichtungen zum Programmieren und zur Modifikation dieser Regeln.
  • Entsprechend einer allgemeinen Definition der Erfindung ist der Speicher wenigstens teilweise in Abschnitte unterteilt, die jeweils aus durch die Benutzerschnittstelle programmierbaren und modifizierbaren Einheiten bestehen, wobei der Benutzer wenigstens auswählt:
  • - einen ersten Abschnitt, der auf der einen Seite umfaßt: Hauptgrapheneinheiten, Untergrapheneinheiten, die jeweils einer Hauptgrapheneinheit untergeordnet sind, und Makroschritteinheiten, wobei diese Graphen- und Makroschritteinheiten im wesentlichen die einzigen sind, die sequentielle Regeln zum Auf-den-neuesten-Stand-bringen mit Hilfe von Schritten und von Übergängen zwischen Schritten bieten,
  • . und auf der anderen Seite umfaßt: Graphen-Verarbeitungseinheiten, die geeignet sind, die Abhängigkeit zwischen den Hauptgrapheneinheiten und Untergrapheneinheiten zu behandeln, Einheiten zum Bearbeiten von Aufgaben, die geeignet sind, von den Haupt- oder Untergrapheneinheiten bestätigte Bearbeitungen oder Makroschritte durchzuführen, und Empfangsverarbeitungseinheiten, die geeignet sind, die Haupt- oder Untergraphenübergänge oder die Makroschrittübergänge zu bestätigen, wobei die Graphen- und Makroschritteinheiten jeweils geeignet sind, einen der vier möglichen Funktionszustände einzunehmen:
  • . einen aktiven Zustand, in dem die sequentiellen Regeln zum Auf-den-neuesten-Stand-bringen bezüglich einer Grapheneinheit normal ausgeführt werden,
  • . einen nicht-aktiven Zustand, in dem die sequentiellen Regeln zum Auf-den-neuesten-Stand-bringen bezüglich einer Grapheneinheit nicht ausgeführt werden,
  • . einen aktiven, eingefrorenen Zustand, in dem die sequentiellen Regeln zum Auf-den-neuesten-Stand-bringen bezüglich einer Grapheneinheit sich nicht entwickeln können, in dem die mit der besagten Grapheneinheit verbundenen Schritte ihren vorhergehenden Zustand beibehalten und in dem die mit den aktiven Schritten der besagten Grapheneinheit verbundenen Bearbeitungseinheiten ausgeführt werden;
  • . einen nicht-aktiven, eingefrorenen Zustand, in dem die sequentiellen Regeln zum Auf-den-neuesten-Stand-bringen bezüglich einer Grapheneinheit sich nicht entwickeln können, in dem die mit der besagten Grapheneinheit verbundenen Schritte ihren vorhergehenden Zustand beibehalten und in dem die mit den aktiven Schritten der besagten Grapheneinheit verbundenen Bearbeitungseinheiten nicht ausgeführt werden, wobei die Gesamtheit der Einheiten dieses ersten Abschnitts die Gesamtheit der Graphen bildet, die für eine bestimmte Anwendung des Automaten erforderlich sind;
  • - einen zweiten Abschnitt, der umfaßt: eine Liste von Ereigniseinheiten, die nach abnehmender Priorität geordnet sind und zunächst Systemereignisse maximaler Priorität, unter diesen der Reihe nach, das Spannungabschalten des Automaten, die Anwesenheit von Diagnose und das Spannungsanschalten des Automaten, dann Schnittstellenereignisse mit sekundärer Priorität bezüglich der Zuständeder Anwendungsschnittstellenkarten und schließlich programmierte Ereignisse mit tertiärer Priorität umfassen, welche mittels eines ausführbaren Codes definiert sind und im wesentlichen Anweisungen umfassen, die für die Grapheneinheiten des ersten Abschnitts bestimmt sind;
  • - einen dritten Abschnitt, der umfaßt: eine Einheit, die global die Anwendung bezeichnet, eine Einheit, die die Deklaration von für diese nützlichen Daten definiert, und eine Konfigurationseinheit, die die für die Anwendung notwendigen Schnittstellenkarten ebenso wie wenigsten einen zulässigen Zustand für jede der Schnittstellenkarten für die Anwendung für das normale Funktionieren des Automats definiert;
  • - einen vierten Abschnitt, der zyklische Kombinationseinheiten und Grundkombinationseinheiten umfaßt, wobei diese Einheiten im wesentlichen kombinatorische Regeln zum Auf- den-neuesten-Stand-bringen mit Hilfe von wenigstens kombinatorischen Ausdrücken und Funktionskästen bieten, wobei die zyklischen Kombinationseinheiten geeignet sind, wenn sie bestätigt sind, insgesamt und der Reihe nach durchgeführt zu werden, wohingegen die Grundkombinationseinheiten geeignet sind, wenn sie bestätigt sind, wenigstens teilweise mit höchstens einem pro Zyklus durchgeführt zu werden, und
  • der Monitor führt bei jedem Zyklus auf der einen Seite eine Bestätigung des Zustands der Anwendungsschnittstellenkarten in Abhängigkeit von den Einheiten des dritten Abschnitts durch und auf der anderen Seite nach dem Erhalt der Eingangstabelle und der vorhergehenden Ausgangswerte einerseits mit Priorität eine Berücksichtigung der Bearbeitungen, die aus bestätigten Ereigniseinheiten des zweiten Abschnitts herrühren können, und andererseits die Bearbeitungen, die von den Einheiten des ersten Abschnitts im Verlaufe der Bestätigung herrühren, und dann die Bearbeitungen, die von den Einheiten des vierten Abschnitts im Verlaufe der Bestätigung herrühren, durch, was das Starten einer derart definierten Anwendung ausgehend von der unter Spannung gesetzten Einheit des zweiten Abschnitts nach eventueller Durchführung der anwesenden Diagnoseeinheit ermöglicht.
  • Entsprechend einer bevorzugten Ausführungsform der erfindungsgemäßen Vorrichtungen weist der programmierbare außerdem auf:
  • - Regulationsschnittstellenvorrichtungen mit Regulationsschaltkreiskarten;
  • - zusätzliche Bearbeitungsvorrichtungen, die geeignet sind, die Regulationsinformationen zu bearbeiten, die von diesen Regulationsschaltkreisen kommen;
  • - der Benutzer wählt außerdem einen fünften Abschnitt aus, der Regulationseinheiten und Regulationsfunktionskästen, die Regulationsfunktionsregeln mit Hilfe wenigstens einer Regulationsschleife bieten, umfaßt; und daß die zusätzlichen Bearbeitungsvorrichtungen parallel zum Automatenzyklus eine Regulationsanwendung durchführen, die als Funktion der Regulationseinheiten und -funktionskästen definiert ist.
  • Entsprechend einer weiteren Ausführungsform der erfindungsgemäßen Vorrichtung umfaßt der programmierbare Automat außerdem:
  • - Achsenschnittstellenvorrichtungen mit Schaltkreiskarten für Achsentrajektorien;
  • - zusätzliche Bearbeitungsvorrichtungen, die geeignet sind, die Achsentrajektorieninformation, die von den Schaltkreisen für Achsentrajektorien kommen, zu bearbeiten;
  • - der Benutzer wählt außerdem einen sechsten Abschnitt aus, der Achsentrajektorieneinheiten umfaßt, die Bewegungsfunktionsregeln mit Hilfe wenigstens eines Steuerungsmoduls für Achsengeschwindigkeit und -position bieten; und die zusätzlichen Bearbeitungsvorrichtungen führen parallel zum Automatenzyklus eine Achsenbewegungsanwendung durch, die als Funktion der Achsentrajektorieneinheiten und der Achsenfunktionskästen definiert ist.
  • Insbesondere umfassen die Funktionskästen Konstrukteur- Funktionskästen, die geeignet sind, Konstrukteur-Standardfunktionen zu realisieren, deren Eigenschaften durch den Konstrukteur modifizierbar und programmierbar sind, und Benutzer-Funktionskästen, die geeignet sind, Benutzer-Standardfunktionen zu realisieren, deren Eigenschaften durch den Benutzer modifizierbar und programmierbar sind.
  • Die Einheiten ordnen in einem Bereich, der ein festes Format besitzt und jeder Einheit gemeinsam ist, die mit diesen Einheiten verbundenen, für den Automatismus wesentliche Informationen und Ausdrücke an.
  • Vorteilhafterweise umfaßt jede Einheit mindenstens:
  • - einen "Kopf"-modul, der die Informationen bezüglich der Identifikation und Bestätigung der besagten Einheit ordnet;
  • - einen fakultativen "Kommentar"-modul, der textmäßig den mit der Einheit verbundenen Automatismus beschreibt;
  • - einen "Körper"-modul, der die Informationen bezüglich des Funktionierens des mit der besagten Einheit verbundenen Automatismus ordnet.
  • In der Praxis umfaßt jede Einheit des ersten, zweiten, dritten, vierten und fünften Abschnitts außerdem einen "Block-lokaler-Konstanten"-Modul, der die Informationen bezüglich ausschließlich in der besagten Einheit verwendbarer Konstanten ordnet.
  • Entsprechend einem Gesichtspunkt der Erfindung umfaßt der "Kopf"-modul jeder Einheit eine Konstrukteur-Identifikationsdateneinheit, die geeignet ist, die Einheit durch den Konstrukteur zu individualisieren.
  • Entsprechend einem weiteren Gesichtspunkt der Erfindung umfaßt der "Kopf"-modul jeder Einheit eine Benutzer-Identifikationsdateneinheit, die geeignet ist, die Einheit durch den Benutzer symbolisch zu identifizieren.
  • In der Praxis umfaßt jede Konstrukteur-Identifikationsdateneinheit ein Präfix von wenigstens zwei alphabetischen Zeichen, dem das Zeichen % vorangeht, und eine Ordnungszahl.
  • Entsprechend einem weiteren Merkmal der Erfindung umfassen die Informationen bezüglich der Bestätigung jeder Grapheneinheit des ersten Abschnitts eine Dateneinheit, die den funktionellen Zustand der Einheit angibt, eine Dateneinheit, die die maximale Dauer der Einheit im aktiven Zustand, und eine Dateneinheit, die die Ordnungszahl des Schrittes angibt, der eine von der Aktivitätsdauer, die von dem Benutzer für den Schritt definiert wird, unterschiedliche Aktivitätsdauer besitzt.
  • Entsprechend einem weiteren Merkmal der Erfindung umfassen die Informationen bezüglich der Bestätigung jeder Bearbeitungseinheit des ersten Abschnitts und jeder Bearbeitungsarbeitungseinheit des zweiten, vierten und fünften Abschnitts eine Dateneinheit, die den Bestätigungszustand der Einheit angibt, eine Dateneinheit, die die maximale Durchführungsdauer angibt, und Daten, die die Bestätigungseintrittspunkte angeben, mit denen die aus der Programmierung resultierende Bestätigungsregel verbunden ist.
  • Vorteilhafterweise umfaßt die Einheit, die die Anwendung global bezeichnet, einen "Identitäts"-einheit, die die Informationen ordnet, die geeignet sind, das Anwendungsprogramm zu identifizieren, ebenso wie "Zugriffsschlüssel"-daten, die geeignet sind, den Zugriff zu dem Programm und zu den Daten zu autorisieren.
  • Insbesondere umfaßt die "Identitäts"-einheit zumindest eine Dateneinheit mit dem Projektnamen, eine Dateneinheit mit dem Programmcode, eine Dateneinheit mit der Nummer der Programmversion, einen Dateneinheit mit dem Automatentyp, einen Dateneinheit mit dem Namen des Projektverantwortlichen, und einen Dateneinheit mit dem Datum der Projekterstellung.
  • Vorzugsweise umfassen die "Zugriffsschlüssel"-daten zumindest:
  • - eine "Zeilenmodifikationsschlüssel"-dateneinheit, die geeignet ist, alle Funktionen zu autorisieren, einschließlich des im Betrieb befindlichen Automatenprogramms,
  • - eine "Konzeptzugriffsschlüssel"-dateneinheit, die geeignet ist alle Funktionen zu autorisieren, außer der Zeilenmodifikation des Programms,
  • - eine "Auswertezugriffsschlüssel"-dateneinheit, die geeignet ist alle Funktionen zu autorisieren, außer der Zeilenmodifikation des Programms, des Ladens des Programms in den Automaten, des Formens der Eingänge und Ausgänge und der Modifikation der geschützten Daten,
  • - eine "Formschlüssel"-dateneinheit, die geeignet ist, zusammen mit dem Auswertezugriffsschlüssel, das Formen der Eingangs- und Ausgangsvariablen zu autorisieren,
  • - und eine "Modifikation-der-geschützten-Daten"-Dateneinheit, die geeignet ist, zusammen mit dem Auswertezugriffsschlüssel die Modifikation der besagten Daten zu autorisieren.
  • Entsprechend einem weiteren Merkmal der Erfindung umfassen die Funktionskästen zumindest:
  • - eine Namensdateneinheit, die den Code des Kastens angibt,
  • - eine Zustandsdateneinheit, die den Eingangszustand angibt, der notwendig ist zur Bestätigung der Ausführung der mit dem Kasten verbundenen Funktion, und
  • - parametrische Daten, die die internen Eingangs- und Ausgangsparameter des Kastens angeben.
  • Vorteilhafterweise besitzt jede Einheit wenigstens eine graphische Darstellung, die graphisch das Funktionieren der mit der besagten Einheit verbundenen Anwendung beschreibt, und eine textliche Darstellung, die textlich das Funktionieren der mit der besagten Einheit verbundenen Anwendung beschreibt.
  • In der Praxis bearbeitet der erzeugte Code boolsche, numerische und alphabetische Daten.
  • Weitere Merkmale und Vorteile der Erfindung werden durch das Studium der nachfolgenden, detaillierten Beschreibung und der beigefügten Zeichnung deutlich.
  • Fig. 1 ist ein Blockschaltbild eines programmierbaren Automaten nach der Erfindung.
  • Fig. 2 stellt schematisch die Unterteilung des Speichers in Abschnitte dar, die jeweils eine der Einheiten nach der Erfindung enthalten.
  • Fig. 3 stellt schematisch den Kopf einer Grapheneinheit dar.
  • Fig. 4 stellt schematisch die Hierarchiebeziehungen zwischen den Ereignisbearbeitungseinheiten und den Grapheneinheiten nach der Erfindung dar.
  • Fig. 5 stellt das Zustandsdiagramm der Hauptgraphen nach der Erfindung dar.
  • Fig. 6 stellt das Zustandsdiagramm der Untergraphen nach der Erfindung dar.
  • Fig. 7 ist eine graphische und textliche Darstellung einer Hauptgrapheneinheit nach der Erfindung.
  • Fig. 8 ist eine graphische und textliche Darstellung einer Untergrapheneinheit nach der Erfindung.
  • Fig. 9 ist eine graphische und textliche Darstellung einer Makroschritteinheit nach der Erfindung.
  • Fig. 10 stellt schematisch den Kopf einer Kombinationseinheit des Schnittstellenereignistyps dar.
  • Fig. 11 zeigt schematisch im graphischen und textlichen Modus die Darstellung einer programmierten Ereigniseinheit nach der Erfindung.
  • Fig. 12 stellt schematisch die wesentlichen Elemente und Bestandteile eines Benutzerfunktionskastens nach der Erfindung dar.
  • Fig. 13 ist eine wiederholende Tabelle der in einem programmierbaren Automaten nach der Erfindung verwendeten Konstanten.
  • Fig. 14 stellt die numerischen und boolschen Variablen dar, die in einem programmierbaren Automaten nach der vorliegenden Erfindung verwendet werden.
  • Fig. 15 stellt schematisch die textlichen, numerischen und boolschen Strukturen dar, die in einem programmierbaren Automaten nach der Erfindung verwendet werden.
  • Fig. 16 illustriert schematisch die Arbeitsweise eines programmierbaren Automaten nach der Erfindung während eines Automatenzyklus.
  • Die beigefügten Zeichnungen umfassen zahlreiche Elemente, die im wesentlichen von einem bestimmten Charakter sind. Folglich sollen sie als integraler Bestandteil der Beschreibung betrachtet werden und nicht nur zum besseren Verständnis der nachfolgenden Beschreibung sondern auch, so dies zutrifft, zur Vervollständigung der Definition der Erfindung dienen können.
  • In Fig. 1 bezeichnet das Bezugszeichen 1 einen programmierbaren Automaten nach der vorliegenden Erfindung. Der programmierbare Automat 1 umfaßt Eingangsschnittstellenvorrichtungen 2 mit Wandlerschaltkreisen 4, die mit einem zu automatisierenden Prozeß 6 verbunden sind. Die Wandlerschaltkreise 4 sind zum Beispiel Alles-oder-Nichts-, Temperatur-, Positions-Wandler, digitale Zähler, usw.
  • Hinsichtlich der Steuerung des Prozesses 6 werden von dem letzteren herrührende Informationen von den Wandlerschaltkreisen umgewandelt und werden über die Eingangsschnittstelle 2 von Bearbeitungsvorrichtungen bearbeitet. Diese Bearbeitungsvorrichtungen 8 umfassen ein Überwachungsprogramm 10, das mit einer Zentraleinheit 12 und einem Speicher 14 verbunden ist. Die Zentraleinheit 12 besteht aus wenigstens einem Mikroprozessor, der zum Beispiel das Modell 68 000 von Motorola sein kann.
  • In Abhängigkeit von den von den Wandlerschaltkreisen 4 aufgenommenen und von den Bearbeitungsvorrichtungen 8 bearbeiteten Informationen werden von diesen Vorrichtungen 8 über eine Ausgangsschnittstelle 16 Befehlsinformationen an Stellgliedschaltkreise 18 gegeben, die mit dem zu automatisierenden Prozeß 6 verbunden sind.
  • Der programmierbare Automat 1 kann Bestandteil eines Netzes von mehreren programmierbaren Automaten sein, die untereinander mit Hilfe von Adapterschaltkreisen, die zum Beispiel vom Typ gewickelter Paare, Koaxialkabeln oder optischen Fasern sind, verbunden sind. Somit umfaßt der programmierbare Automat 1 zur Kommunikation mit programmierten Systemen einschließlich weiterer programmierbarer Automaten, Computer, Roboter, Überwachungsoperateuren, usw. Kommunikationsschnittstellenvorrichtungen 17 zwischen den Bearbeitungsvorrichtungen 8 und den weiteren programmierten Steuerungssystemen 19. Die Kommunikationsschnittstellenvorrichtungen 17 sind zum Beispiel vom Typ einer seriellen, bidirektionellen Schnittstelle.
  • Die von den Bearbeitungsvorrichtungen 8 erzeugten Befehlsinformationen werden mittels aktueller Eingangszustandswerte und vorhergehender Werte der Ausgangszustände und ebenso mittels Regeln zum Auffrischen (Auf-den-neuesten- Stand-bringen) der Ausgangszustände als Funktion der in dem Speicher 14 enthaltenen Werte bestimmt.
  • Benutzerschnittstellenvorrichtungen 20 sind über die Bearbeitungsvorrichtungen 8 angeschlossen, um den Benutzern zu ermöglichen, die besagten Auffrischungsregeln zu programmieren und zu modifizieren. Die Benutzerschnittstellenvorrichtungen 20 sind zum Beispiel eine Programmierkonsole. In dem Fall, wo der zu automatisierende Prozeß 6 Regelungsbefehle und Befehle für Achsentrajektorien benötigt, kann der programmierbare Automat außerdem mit Regulationsschnittstellenvorrichtungen mit Regulationsschaltkreiskarten (nicht dargestellt) und mit Achsenschnittstellenvorrichtungen mit Trajektorienschaltkreiskarten (nicht dargestellt) ausgerüstet sein. Zusätzliche Bearbeitungsvorrichtungen (nicht dargestellt) erlauben, die von diesen Achsenregulationsschaltkreisen herrührenden Informationen zu bearbeiten.
  • Das Hauptmerkmal des programmierbaren Automaten nach der Erfindung ist die Ermöglichung der Strukturierung seiner Anwendungsprogramme.
  • Diese Strukturierung wird insbesondere erhalten zum einen dank der Unterteilung des Speichers 14 in mehrere Abschnitte, die jeweils aus Einheiten bestehen, die über die Benutzerschnittstelle programmierbar und modifizierbar sind, und zum anderen dank der Hierarchisierung der Grapheneinheiten und der Kombinationsereigniseinheiten.
  • Die Abschnitte unterteilen entsprechend ihrer Natur (Graphen, Kombinationen, ...) die Gesamtheit der Einheiten, die eine Anwendung bilden. Für den Benutzer des erfindungsgemäßen Automats bilden die Abschnitte einen starren Rahmen, in dem sich in geordneter Weise die Informationen der gleichen Natur (Anweisungen, Daten, Programm) anordnen. Somit ist durch die Kenntnis der Natur der Informationen, mit denen die Abschnitte verbunden sind, eine Entnahme der Programme und Daten ermöglicht, ohne daß weder die Notwendigkeit der Beachtung einer strengen Ordnung noch der Angabe des Abschnittsnamens besteht (das heißt, daß es möglich ist, die Informationen aus dem zweiten Abschnitt vor denen des ersten Abschnitts zu entnehmen). Die Programmierkonsole übernimmt nichtsdestoweniger die Klassifizierung der verschiedenen Einheiten einer Anwendung in den jeweiligen Abschnitten.
  • Eine Einheit ist ein Zwischenniveau, das ermöglicht, die Informationsdaten oder die Ausdrücke einer Anwendung homogen und kohärent zu ordnen. Für den Anwender bilden die Einheiten einen anpaßbaren Rahmen, der ermöglicht, Anweisungen bezüglich einer Anwendung zu beschreiben und die von dem Programm Sichergestellten Bearbeitungen zu organisieren, und zwar auf die angemessenste Weise hinsichtlich der funktionellen Unterteilung, die sich aus der Analyse eines auszuführenden Automatismus ergibt.
  • Jede Einheit umfaßt einen Teil, dessen Format fest und jeder Einheit gemeinsam ist. Dieser Teil besteht aus einem "Kopf"-modul, der die Informationen bezüglich der Identifizierung und Bestätigung der besagten Einheit anordnet; aus einem "Kommentar"-modul und einem "Körper-"modul, die die Informationen bezüglich des Funktionierens des mit der besagten Einheit verbundenen Teils des Automatismus anordnen.
  • Jede Einheit umfaßt eine Konstrukteur-Identifikationsdateneinheit, die ermöglicht, die Einheit durch den Konstrukteur zu personalisieren, außerdem umfaßt jede Einheit eine Benutzer-Identifikationsdateneinheit, die ermöglicht, die Einheit durch den Benutzer zu personalisieren.
  • Die Personalisierung der Einheiten durch Identifikatoren bietet eine Hilfe für die Programmierung und die Modifikation der Einheiten. Zum Beispiel wird der Aufruf der Einheiten über ihre Identifikatoren durchgeführt.
  • Im allgemeinen umfaßt jede Konstrukteur-Identifikationsdateneinheit ein Präfix aus zwei Zeichen, denen das Zeichen % vorangeht und das von einer Ordnungszahl gefolgt wird.
  • Der Konstrukteur legt eine Übereinkunft für die Konstrukteur-Identifikatoren jeder Einheit fest. Zum Beispiel verbindet er den Identifikator %GMxx mit den Haupt-Grapheneinheiten, die später beschrieben werden, wobei xx eine Ordnungszahl ist, die sich mit Zeichen mit x als ganze Zahl schreibt.
  • Wie symbolisch in Fig. 2 dargestellt, ist der Speicher 14 in mehrere Abschnitte unterteilt, die der Benutzer mit Hilfe der Benutzerschnittstelle auswählt.
  • Der erste Abschnitt S1 umfaßt auf der einen Seite Hauptgrapheneinheiten 24 mit der Dateneinheit %GMxx als Konstrukteur-Identifikationsdateneinheit, Untergrapheneinheiten 26, die jeweils wenigstens einem Hauptgraphen untergeordnet sind und eine Konstrukteur-Identifikationsdateneinheit %GExx besitzen und, falls erforderlich, Makroschritteinheiten 28 mit einer Konstrukteur-Identifikationsdateneinheit %XExx.
  • Die Graphen- und Makroschritteinheiten sind im wesentlichen die einzigen, die sequentielle Auffrischungsregeln mit Hilfe von Schritten 30 und Übergängen zwischen Schritten 32 bieten.
  • Der erste Abschnitt S1 umfaßt auf der anderen Seite Graphenbearbeitungseinheiten 34 mit Bearbeitungseinheiten, die die Abhängigkeit zwischen Hauptgraphen und Untergraphen bearbeiten (Konstrukteur-Identifikationsdaten %TGxx), Aufgabenbearbeitungseinheiten 38, die von den Haupt- oder Untergraphenschritten oder den Makroschritten bestätigte Bearbeitungen durchführen (Konstrukteur-Identifikationsdaten %TTxx), und Empfangsbearbeitungseinheiten 40, die Übergänge der Haupt- oder Untergraphen oder der Makroschritte bestätigen (Konstrukteur-Identifikationsdaten %TRxx).
  • Im Folgenden wird auf Fig. 3 Bezug genommen, die schematisch einen "Kopf"-modul einer Grapheneinheit darstellt. Man findet dort die Konstrukteur-Identifikationsdaten 59 und die Benutzer-Identifikationsdaten 61.
  • Die Grapheneinheiten sind jeweils geeignet, einen der vier möglichen Funktionszustände einzunehmen, die jeweils durch einen Kasten des "Kopf"-moduls dargestellt sind. Diese vier möglichen Funktionszustände sind die folgenden:
  • - einen aktiven Zustand ACT 60, in dem die sequentiellen Regeln zum Auf-den-neuesten-Stand-bringen bezüglich einer Grapheneinheit normal ausgeführt werden. Mit anderen Worten, die Grapheneinheit besitzt wenigstens einen aktiven Schritt und kann sich entwickeln.
  • - einen nicht-aktiven Zustand INA 62, in dem die seguentiellen Regeln zum Auf-den-neuesten-Stand-bringen bezüglich einer Grapheneinheit nicht ausgeführt werden. Mit anderen Worten, die Grapheneinheit besitzt keinen aktiven Schritt und kann sich nicht entwickeln.
  • - einen aktiven, eingefrorenen Zustand GAC 66, in dem die sequentiellen Regeln zum Auf-den-neuesten-Stand-bringen bezüglich einer Grapheneinheit sich nicht entwickeln können, in dem die mit der besagten Grapheneinheit verbundenen Schritte ihren vorhergehenden Zustand beibehalten und in dem die mit den aktiven Schritten der besagten Grapheneinheit verbundenen Bearbeitungseinheiten ausgeführt werden;
  • - einen nicht-aktiven, eingefrorenen Zustand GIN 64, in dem die sequentiellen Regeln zum Auf-den-neuesten-Stand- bringen bezüglich einer Grapheneinheit sich nicht entwickeln können, in dem die mit der besagten Grapheneinheit verbundenen Schritte ihren vorhergehenden Zustand beibehalten und in dem die mit den aktiven Schritten der besagten Grapheneinheit verbundenen Bearbeitungseinheiten nicht ausgeführt werden.
  • Der "Kopf"-modul umfaßt außerdem eine Zeitdateneinheit MAX, die in dem Kasten 68 dargestellt ist und die maximale Dauer der Einheit im aktiven Zustand ist. Drei weitere Daten, die jeweils in den Kästen 70, 72 und 74 dargestellt sind, vervollständigen den "Kopf"-modul. Es handelt sich um Daten bezüglich der Schritte der Grapheneinheiten. Sie umfassen zum Beispiel eine Dateneinheit NUM 70, die die Nummer des Schrittes der Einheit angibt, die eine Aktivitätsdauer unter einer Aktivitätsdauer aufweist, die von dem Benutzer für diesen Schritt definiert wurde, oder die Nummer des Schrittes der Einheit angibt, die eine Aktivitätsdauer über der Aktivitätsdauer aufweist, die von dem Benutzer für diesen Schritt definiert wurde.
  • Die Daten 72 TMIN und 74 TMAX geben mit ihrem logischen Pegel (hoch oder tief) das Ergebnis dieses Aktivitätsdauervergleichs an.
  • Zum Beispiel befindet sich die Dateneinheit TMIN der Hauptgrapheneinheit %GM40 auf dem logischen hohen Pegel, wenn einer ihrer Schritte, deren Nummer in dem Kasten NUM angegeben ist, während einer Dauer kürzer als die von dem Benutzer für diesen Schritt definierte Aktivitätsdauer aktiv gewesen ist. Außerdem ist es möglich im Hinblick auf die Vereinfachung der Diagnose von Fehlern in einer Anwendung, mit jedem Schritt Daten zu verbinden, die die minimale Aktivitätsdauer und die maximale Aktivitätsdauer dieser Schritte angeben. Diese Dauern ermöglichen, die Zeit zu begrenzen, während der ein Schritt bei normalem Funktionieren aktiv bleiben muß. Jede dieser Dauern wird von dem programmierbaren Automat überwacht. Wenn es eine Fehlfunktion gibt, gibt der programmierbare Automat dies unter Angabe der betroffenen Schrittes an.
  • Der "Kommentar"-teil ist optional und gibt die Möglichkeit, eine Markierung mit der Einheit zu verbinden. Die Größe des "Kommentars" ist frei.
  • Der "Körper" der Grapheneinheit enthält die sequentielle Struktur, die den zu realisierenden Automatismus beschreibt. Er ist für alle sequentiellen Einheiten obligatorisch.
  • Die sequentiellen Strukturen sind ausgehend von Schritten, mit denen Bearbeitungen verbunden sind, ausgehend von Übergängen, mit denen eine Empfangsmöglichkeit verbunden ist, und ausgehenden von orientierten Verbindungen konstruiert.
  • Im Folgenden wird auf Fig. 4 Bezug genommen, die die hierarchischen Relationen zwischen den Ereigniseinheiten des zweiten Abschnitts (Bearbeitung von Ereignissen), der hiernach beschrieben wird, und den Grapheneinheiten des ersten Abschnitts zeigt.
  • Die strukturierte Programmiersprache des programmierbaren Automaten nach der Erfindung bildet drei hierarchische Ebenen, die als NH1 bis NH3 bezeichnet sind. Das Niveau NH1 ist das höchste hierarchische Niveau.
  • Das Niveau NH1 besteht aus Ereigniseinheiten, die zum zweiten Abschnitt gehören. Es kann Anordnungen für die sequentiellen Strukturen der Hauptgraphen und der untergraphen erzeugen.
  • Das Niveau NH2 wird durch die Hauptgraphen festgemacht. Es kann Anordnungen für die sequentiellen Strukturen der Untergrapheneinheiten erzeugen.
  • Das Niveau NH3 wird durch die Klasse der Untergraphen festgemacht. Es kann keine Anordnungen und keine Befehle für andere Einheiten erzeugen.
  • Im Folgenden wird auf die Figuren 5 und 6 Bezug genommen, die mit Hilfe von Zustandsdiagrammen die Funktionsweise von Haupt- und Untergraphen zeigen.
  • Bei der ersten Benutzung oder bei der Initialisierung jedes Anwendungsprogramms befindet sich ein Hauptgraph im inaktiven Zustand 62. Eine Initialisierungs- oder Aktivierungsanweisung, die von dem zweiten Abschnitt NH1 kommt, ermöglicht, den Hauptgraphen in den aktiven Zustand 60 zu versetzen, dessen Funktionsmerkmale hiervor detailliert dargestellt wurden. Eine von dem zweiten Abschnitt NH1 kommende Anordnung erlaubt, den Hauptgraphen in den aktiven, eingefrorenen Zustand 66 oder in den eingefrorenen, inaktiven Zustand 64 zu versetzen. Eine Anordnung zum Auftauen, die von dem zweiten Abschnitt kommt, ermöglicht, den Hauptgraphen in den aktiven Zustand 60 zurückzuversetzen. Eine Desaktivierungsanweisung, die immer noch von dem zweiten Abschnitt kommt, ermöglicht, den Hauptgraphen in den inaktiven Zustand 62 zu versetzen.
  • Bei der ersten Benutzung oder bei der Initialisierung jedes Anwendungsprogramms befindet sich ein untergraph im inaktiven Zustand 62. Eine Initialisierungs- oder Aktivierungsanweisung, die von dem zweiten Abschnitt (NH1) kommt, oder eine Anordnung, die von einem Hauptgraphen kommt, versetzt den Untergraphen in den aktiven Zustand 60. Auf ähnliche Weise versetzt eine von dem zweiten Abschnitt NH1 oder einem Hauptgraphen kommende Anordnung den Untergraphen von dem aktiven Zustand 60 in den aktiven, eingefrorenen Zustand 66 oder in den eingefrorenen, inaktiven Zustand 64. Auf gleiche Weise erlaubt eine Anordnung zum Auftauen, den Untergraphen in den aktiven Zustand 60 zurückzuversetzen. Und schließlich ermöglicht eine Anweisung, die von dem zweiten Abschnitt (NH1) oder einem Hauptgraphen (NH2) kommt, den Untergraphen in den inaktiven Zustand 62 zu versetzen.
  • Entsprechend ihrem Funktionszustand verhalten sich die Graphen folgendermaßen.
  • Um in den aktiven Zustand 60 zu gelangen, muß der Haupt- oder untergraph zunächst in den inaktiven Zustand 62 versetzt werden oder zuvor in den eingefrorenen, aktiven Zustand 66 oder den eingefrorenen, inaktiven Zustand 64 versetzt worden sein.
  • Ein Untergraph kann von mehreren Hauptgraphen oder von der Bearbeitungseinheit für Ereignisse abhängen, die später behandelt werden.
  • Die Konstruktionsregeln, die die sequentiellen Strukturen verwalten, sind die folgenden:
  • - der Wechsel Schritt/Übergang und Übergang/Schritt muß immer beachtet werden;
  • - ein Schritt mit verbundener Bearbeitung nimmt nur auf eine einzige Konstrukteur-Identifikationsdateneinheit oder Benutzer-Identifikationsdateneinheit entsprechend seinem Typ (Konstrukteur oder Benutzer) Bezug;
  • - die sequentiellen Strukturen der Hauptgraphen und Untergraphen können einen oder mehrere Anfangsschritte aufweisen;
  • - die sequentiellen Strukturen der Hauptgraphen und Untergraphen besitzen eine Struktur des geschlossenen Typs, das heißt, daß jeder Schritt wenigstens einen oberen Übergang und einen unteren Übergang besitzt, außer in dem besonderen Fall des Anfangsschritts, der keinen oberen Übergang haben kann. Auf der anderen Seite besitzt jeder Übergang wenigstens eine oberen Schritt und einen unteren Schritt;
  • - die sequentiellen Strukturen der Makroschritte weisen obligatorisch einen einzigen Eingangsschritt und einen einzigen Ausgangsschritt auf.
  • Im Folgenden wird auf Fig. 7 Bezug genommen, die das Funktionieren einer Hauptgrapheneinheit im Graphikmodus mit Hilfe von Schritten, von Übergängen zwischen Schritten und von orientierten Verbindungen und im Textmodus mit Hilfe von formatierten, alphanumerischen Ketten zeigt.
  • Im Graphikmodus ist der "Kopf" der Einheit dargestellt, in dem man den Konstrukteur-Identifikator %GM2, den Benutzer-Identifikator GMAITRE, die Funktionszustände der Einheit ebenso wie die Daten bezüglich der Aktivitätsdauer der Einheit findet.
  • Es ist auch eine "Kommentar" zu sehen, der die Hauptgrapheneinheit betrifft.
  • Schließlich ist der "Körper" der Einheit zu sehen, der aus der sequentiellen Struktur der Einheit besteht. Es findet sich ein Anfangsschritt 0 (INIT). Der Übergang vom Schritt 0 zum Schritt 1 wird über einen Empfang 0 (RE0) durchgeführt. Eine Verzweigung ermöglicht, vom Schritt 1 über einen Empfang 1 (RE9) entweder zum Schritt 2, zum Schritt 3 oder zum Schritt 4 zu gehen. Der Schritt 2 besteht aus einem Makroschritt XE40, der Schritt 3 ist ein weiterer Makroschritt. Die Übergänge vom Schritt 2 zum Schritt 5 und von Schritt 4 zum Schritt 6 führen jeweils über einen Empfang 2 und einen Empfang 3. Eine Konvergenz erlaubt, von den Schritten 5, 3 und 6 über einen Empfang 4 (RE15) zu Schritt 1 zu gelangen.
  • Hinsichtlich der Schritte ist fallweise die minimale oder maximale Aktivitätsdauer des Schritts angegeben, zum Beispiel drei Sekunden maximale Aktivität für Schritt 1, eine Sekunde minimale Aktivität und zwei Sekunden maximale Aktivität für Schritt fünf.
  • Man kann den "Körper" der Hauptgrapheneinheit mit Hilfe eines Textes darstellen. Dieser Textmodus nimmt in seinem Formalismus Vorschläge der API-Kommission der Arbeitsgruppe Ausrüstung für automatisierte Produktion der Agentur für die Entwicklung der automatisierten Produktion auf.
  • Hier sind in einer abgekürzten textlichen Form alle wesentlichen Bestandteile der Hauptgrapheneinheit zu finden. Die Abkürzungen (im allgemeinen Identifikationsdaten) dieser Elemente werden durch Zeichen getrennt (:, > ), die die zwischen diesen Elementen bestehenden Beziehungen angeben.
  • In den Figuren 8 und 9 sind im Graphikmodus und im Textmodus die Funktionsweise einer Untergrapheneinheit und einer Makroschritteinheit dargestellt. Die Funktionsweise einer Untergrapheneinheit und einer Makroschritteinheit besitzen graphische und textliche Darstellungen, die denen einer Hauptgrapheneinheit ähnlich sind.
  • Im Folgenden wird erneut auf Fig. 2 Bezug genommen, in der man sieht, daß der zweite Abschnitt S2 eine Liste von Ereigniseinheiten umfaßt, die nach abnehmender Priorität geordnet und durch das Auftreten von Ereignissen konditioniert sind. Man unterscheidet zunächst Systemereigniseinheiten 41 mit maximaler Priorität, die sich auf den Funktionszustand des programmierbaren Automaten beziehen, dann Schnittstellenereigniseinheiten 43 mit sekundärer Priorität, die sich auf den Zustand der Schnittstellenkarten beziehen, und schließlich programmierte Ereigniseinheiten 45 mit tertiärer Priorität, die sich auf programmierte Anordnungen, die für Grapheneinheiten bestimmt sind, beziehen. Die Konstrukteur- Identifikationsdaten dieser Einheiten sind jeweils %ESxx für die Systemereignisse, %EIxx für die Schnittstellenereignisse und %EPxx für die programmierten Ereignisse.
  • Diese Ereigniseinheiten sind ausschließlich von kombinatorischem Charakter und aus kombinatorischen Ausdrücken zusammengesetzt.
  • Im Folgenden wird auf Fig. 10 Bezug genommen, die schematisch den "Kopf"-modul einer Kombinationseinheit, zum Beispiel eine Schnittstellenereigniseinheit 43 des zweiten Abschnitts S2 zeigt.
  • Dort tritt eine Konstrukteur-Identifikationsdateneinheit 59 %EIxx ebenso wie eine symbolische Benutzer-Identifikationsdateneinheit 61, eine Dateneinheit 71, die die maximale Ausführungsdauer angibt, und Daten CIMP 73 und CEXT 76, die die Eingangspunkte für die Bestätigung, mit denen die Bestätigungsregel verbunden ist, die aus der Programmierung resultiert, angeben, und eine Zustandsdateneinheit 78 auf, die den Funktionszustand (aktiv, inaktiv) der Kombinationseinheit angibt.
  • Die Dateneinheit 73 CIMP wird von einer impliziten Bestätigungslogik ausgegeben und erscheint automatisch. Die Dateneinheit 76 CEXT wird von einer Logik ausgegeben, die extern ist und von dem Benutzer programmiert ist.
  • In der Ausführungsform der Erfindung sind die Systemereigniseinheiten %ESxx (numeriert von 0 bis 31) von dem Konstrukteur vordefiniert. Zum Beispiel ist die erste Ereigniseinheit %ES0 mit maximaler Priorität das Außer-Spannungsetzen des Automaten, für das der implizite Bestätigungspunkt CIMP die Feststellung des Abtrennens des Abschnitts ist.
  • Die zweite Systemereigniseinheit kann zum Beispiel die Anwesenheit von Diagnose im Automaten sein, die eine Liste von Diagnosebearbeitungseinheiten %TDxx (in Fig. 2 mit 47 numeriert) umfaßt, und die dritte Einheit ist zum Beispiel das Unter-Spannung-setzen des Automaten.
  • Im Folgenden wird auf Fig. 11 Bezug genommen, die im Graphikmodus mit Hilfe von Bezugsschemata und von Netzen und im Textmodus mit Hilfe von formatierten, alphanumerischen Ketten die Funktionsweise einer programmierten Ereigniseinheit 45 darstellt. Als Beispiel ist die programmierte Ereigniseinheit %EP9 dargestellt, die vom Benutzer GGRAPHE genannt wird. Sie wird von der Variablen ARGRAPH bestätigt. Die Dateneinheit 78 ETAT bestätigt die Variable %MX40. Ein Kommentar kündigt die von der programmierten Ereigniseinheit durchgeführte Anwendung an. Der "Körper" der Einheit stellt den kombinatorischen Ausdruck EC0 dar, der die Blockierung der Hauptgraphen 2 und 3 und die Blockierung der Untergraphen 0, 1, 2 und 4 durchführt, wenn die Bedingungen am Eingang VAL verifiziert sind.
  • Die kombinatorischen Ausdrücke der Kombinationseinheiten bestehen aus einem Vorgangsteil, der logische Ausdrücke und/oder Funktionskästen umfaßt, die hiernach in größerem Detail beschrieben werden, und aus einem Ergebnisteil, der mit wenigstens einer Aktion verbunden ist. Das boolsche Ergebnis eines kombinatorischen Ausdrucks kann mit einer oder mehreren Aktionen verbunden werden, während ein numerisches Ergebnis nur mit einer einzigen numerischen Variable verbunden ist.
  • Ein Merkmal des erfindungsgemäßen Automaten ist die Verwendung von Funktionskästen, insbesondere von sogenannten Benutzerfunktionskästen, die dem letzteren ermöglichen, spezifische Funktionen zu schaffen.
  • Die Funktionskästen beschreiben in kompakter und graphischer Form mehr oder weniger komplexe Operationen und Funktionen. Sie erlauben, eine Bearbeitung zu realisieren, die Befehlsinformationen des boolschen oder numerischen Typs erzeugt. Sie erlauben ebenfalls eine Kontrollbearbeitung zu erzeugen, die zur vorhergehenden Befehlsbearbeitung komplementär ist und die erlaubt, Informationen über Fehler oder logische Abweichungen zu erzeugen, die im Falle einer Inkohärenz Alarm auslösen. Ihre Verwendung in den Anwendungsprogrammen erlaubt den Benutzern, insbesondere ihre eigene Lösung zur Diagnose und Behandlung von Fehlern auszuarbeiten.
  • Man unterscheidet Konstrukteur-Funktionskästen, die geeignet sind, Konstrukteur-Standardfunktionen zu realisieren, deren Eigenschaften durch den Konstrukteur modifizierbar und programmierbar sind, und Benutzer-Funktionskästen, die geeignet sind, spezielle Benutzerfunktionen zu realisieren, deren Eigenschaften durch den Benutzer modifizierbar und programmierbar sind.
  • Im Folgenden wird auf Fig. 12 Bezug genommen, die schematisch einen Benutzer-Funktionskasten 79 darstellt. Die graphische Darstellung eines Benutzer-Funktionskastens umfaßt insbesondere einen Codenamen 80, der den Vorgang, die Eingangsbedingungen 82, die die Ausführung des Vorgangs auf einer Variablen der Ebene oder auf einer Eingangsvariablen bestätigen, interne Parameter 84 und Ausgangsvariable 86 umfaßt.
  • Als Beispiel ist eine Benutzer-Funktionskasten ALARM dargestellt, der als Funktion die Feststellung einer Funktionsanomalie im Ablauf einer Produktionswerkstätte hat. Diese Alarmfunktion äußert sich zum Beispiel durch ein blinkendes Leuchtsignal.
  • Die Eingangsbedingungen, die die Ausführung der Operation bestätigen, können auf der einen Seite aus Warnanzeigen ALARM, die in Leuchtkästen mit einer Klaraufschrift der Natur des Fehlers auf jeder Warnanzeige angeordnet sind, und auf der anderen Seite aus Drucktasten bestehen. Diese Drucktasten können zum Beispiel eine Taste zum Löschen des Alarms (ACQT), eine Taste zum Zurücksetzen der Speicherung durch Alarm (RAZM), eine Taste für eine Testlampe (TESLAMP) sein. Am Ausgang ist der Funktionskasten zum Beispiel mit Lampen (LAMP) und einem Ausgangsspeicher (MEMO) verbunden, der das Ergebnis dieses Funktionskastens registriert.
  • In dieser Fig. 12 findet man ebenfalls den "Körper" oder die Logik des Funktionskastens. In dem Körper des Funktionskastens findet man kombinatorische Ausdrücke %ECn (%ECIO zum Beispiel), wobei n eine ganze Zahl ist, die bei der Bestätigung der Eingangsbedingungen auftreten, die die Ausführung der Funktion des Funktionskastens (zum Beispiel das Auslösen eines Alarms) ermöglichen. Die Bestätigungslogik des Kastens ist mit Hilfe von Symbolen 90 (-I I-, - / - ( ) - ) dargestellt, die logische Basisoperationen (UND, ODER, Zuordnung, Gleichheit, Negation der vorhergehenden Anweisungen) darstellen, die den Eingangsparametern 82, den internen Parametern 84 und den Ausgangsparametern 86 zugewiesen sind.
  • Ein Funktionskasten ist dazu bestimmt, mit von dem Benutzer beschriebenen Daten verwendet zu werden, die zum Beispiel Wandler und Stellglieder betreffen. In Fig. 12 ist der Funktionskasten 79 auch in seinem Verwendungsrahmen dargestellt. Der Kasten 79 besitzt am Eingang boolsche Daten 81 und 83 und am Ausgang Wirkungen 85 und 87.
  • Wieder auf Fig. 2 Bezug nehmend, sieht man, daß der Speicher 14 einen dritten Abschnitt S3 umfaßt, der aus den Identifikationseinheiten besteht. Diese Einheiten umfassen eine Einheit, die global die Anwendung mit Hilfe einerseits einer Identitätseinheit 44 bezeichnet, die die Informationen, die das Anwenderprogramm identifizieren, und die Zugriffsschlüsseldaten anordnet, die die Informationen bilden, die den Zugriff auf die Programme und die Daten autorisieren. Die Identifikationseinheiten umfassen ebenfalls eine "Bezeichnungs"-einheit 48, die die Datenbezeichnungen, die für die Anwendungen nützlich sind, definieren, und eine "Konfigurations"-einheit 50, die die für die Anwendung notwendigen Schnittstellenkarten ebenso wie wenigstens einen Zustand für jede der Schnittstellenkarten der Anwendung, der für das normale Funktionieren des Automaten zulässig ist, definieren.
  • Die "Identitäts"-einheit ordnet die Informationen an, die der Benutzer definiert, um das Anwendungsprogramm zu identifizieren. Die "Identitäts"-einheit setzt sich aus den folgenden Rubriken zusammen:
  • - Projektname,
  • - Programmcode,
  • - Nummer der Anwendungsprogrammversion,
  • - Automatentyp,
  • - Name des Projektverantwortlichen,
  • - Datum der Projekterstellung,
  • - Zugriffsschlüssel.
  • Von den obigen Rubriken ist allein die Rubrik Programmcode obligatorisch, da ihr Inhalt als Programmidentifikator dient.
  • Die Zugriffsschlüssel sind Informationen (Paßwörter), die der Benutzer definiert, um den Zugriff auf die Programme und/oder Daten über die Benutzerschnittstelle 20 zu autorisieren oder nicht.
  • Diese Rubrik unterteilt sich in einen Zeilenmodifikationsschlüssel, einen Konzeptschlüssel, einen Auswerteschlüssel, einen Formschlüssel und einen Modifikation-der-geschützten-Daten-Schlüssel. Der Zeilenmodifikationsschlüssel erlaubt den Zugriff auf alle Funktionen, einschließlich des im Betrieb befindlichen Automatenprogramms, der Konzeptzugriffsschlüssel erlaubt den Zugriff auf alle Funktionen, außer der Zeilenmodifikation des Programms,
  • Der Auswertezugriffsschlüssel erlaubt den Zugriff auf alle Funktionen, außer der Zeilenmodifikation des Programms, des Ladens des Programms in den Automaten, des Formens der Eingänge und Ausgänge und der Modifikation der geschützten Daten,
  • Der Formschlüssel erlaubt zusammen mit dem Auswertezugriffsschlüssel den Zugriff auf das Formen der Eingangs- und Ausgangsvariablen.
  • Der Modifikation-der-geschützten-Daten-Schlüssel erlaubt zusammen mit dem Auswertezugriffsschlüssel die Modifikation der besagten Daten.
  • Man stellt fest, daß die Verwendung jedes dieser Schlüssel optional ist. Wenn kein Schlüssel bei der Schaffung der Anwendung von dem Benutzer definiert wurde, wird keine Zugangskontrolle ausgeführt, und jeder Zugreifende befindet sich daher im entsprechenden Modus.
  • Die Schlüssel sind entsprechend den folgenden Prioritätsprivilegien modifizierbar:
  • - der Besitzer des Zeilenmodifikationsschlüssels kann die 5 Schlüssel modifizieren,
  • - der Besitzer des Konzeptschlüssels kann seinen Schlüssel und die 3 folgenden Schlüssel, Auswerte-, Form und Datenmodifikationsschlüssel, modifizieren,
  • - der Besitzer des Auswerteschlüssels kann seinen Schlüssel und die 2 folgenden Schlüssel, Form- und Datenmodifikationsschlüssel, modifizieren,
  • - der Besitzer des Formschlüssels kann seinen Schlüssel und den Datenmodifikationsschlüssel modifizieren,
  • - der Besitzer des Datenmodifikationsschlüssels kann nur seinen Schlüssel verändern.
  • Die Deklarationseinheit ordnet die Deklarationen und Initialisierungen bezüglich der Operanden und Daten der Anwendung ebenso wie die Beschreibung der besonderen Randbedingungen, die von dem Benutzer definiert sind und die die Programmierung und Ausführung der Anwendung beachten müssen, an.
  • Im Rahmen der Deklarationseinheit kann der Benutzer ausgehend von einfachen Variablen, die später beschrieben werden, vordere Variable erzeugen. Er kann auch Strukturen aus boolschen, numerischen und textlichen Daten, die hiernach im Detail beschrieben werden (Fig. 15) erzeugen oder mit den Konstrukteur-Identifikatoren einen Benutzer-Identifikator verbinden oder auch einen Kommentar, einen Anfangswert, einen minimalen Wert, einen maximalen Wert, ein modifizierbares oder geschütztes Attribut hinzufügen.
  • Die Deklarationseinheit hat keinen obligatorischen Charakter, sondern sie erlaubt:
  • - die Programmierung unter einer symbolischen Benutzerform,
  • - die Initialisierung der Variablen auf automatische Weise vor jeder ersten Ausführung des Programms durch den Automaten oder aufgrund einer programmierten Bedingung,
  • - die Berücksichtigung der Informationen, die zur Ausarbeitung der Dokumentation der Anwendung durch die Programmierkonsole dienen, und
  • - die Kontrolle der Modifikations- und Formaktionen bei den Anwendungsdaten ebenso wie der Modifikationsaktionen beim Anwendungsprogramm.
  • Die Konfigurationseinheit umfaßt die Informationen, die die für die Anwendung notwendige materielle Konfiguration des Automaten beschreiben. Die Konfiguration des Automaten definiert jeden Platz jedes Racks entsprechend seiner Natur und seiner Funktion.
  • Die Konfigurationseinheit erlaubt:
  • - eine Kontrolle vor der Ausführung des Anwendungsprogrammes durchzuführen, das die Konformität zwischen der in der Einheit beschriebenen Konfiguration und der reellen, vorgefundenen Konfiguration übersetzt;
  • - die Konformität der Anwendung mit der beschriebenen Konfiguration zu überprüfen, und
  • - durch den Benutzer die Konfiguration der Karten vorzudefinieren, die durch das Programm parametrisierbar sind;
  • - durch den Benutzer das Verhalten vorzudefinieren, das der Automat im Falle des Auftretens der von dem Konstrukteur vorgesehenen internen Diagnosen beachten muß.
  • Im allgemeinen wird die graphische Darstellung der Einheiten des dritten Abschnitts mittels der Programmierkonsole mit Hilfe von Bildschirmmasken verwirklicht.
  • Der Speicher 14 umfaßt auch einen vierten Abschnitt, der auf der einen Seite zyklische Kombinationseinheiten 52 und auf der anderen Seite Grundkombinationseinheiten 54 umfaßt. Diese Kombinationseinheiten bieten im wesentlichen kombinatorische Regeln zum Auf-den-neuesten-Stand-bringen mit Hilfe von wenigstens kombinatorischen Ausdrücken %ECn, die logische boolsche, numerische und textliche Operanden enthalten, die hiernach unter Bezugnahme auf Fig. 15 beschrieben werden, und mit Hilfe von Funktionskästen.
  • Die zyklischen Kombinationseinheiten sind geeignet, wenn sie bestätigt sind, insgesamt und der Reihe nach durchgeführt zu werden, während die Grundkombinationseinheiten geeignet sind, wenn sie bestätigt sind, wenigstens teilweise mit höchstens einem pro Zyklus durchgeführt zu werden. Die Grundkombinationseinheiten besitzen die niedrigste Priorität auf der Höhe der Ausführungspriorität durch den Automaten. Mit anderen Worten beginnt die Ausführung einer Grundkombinationseinheit nur, wenn keine andere im Laufe der Auswertung ist. Schließlich kann eine Grundkombinationseinheit sich in mehreren aufeinanderfolgenden Zyklen vollziehen.
  • Die Berücksichtigung und die Ausführung der Grundkombinationseinheiten basieren auf einer Bestätigung des Eingangstyps. Die Durchführung der Bestätigungen wird nicht von dem Automaten durchgeführt. Daraus folgt, daß die Bestätigung jeder Einheit bis zum Ende der Ausführung der Einheit oder wenigstens bis zu ihrer Berücksichtigung durch ihre Ausführung aufrecht erhalten werden muß. Grundkombinationseinheiten besitzen keine Eingangspunkte für implizite Bestätigung wie die der Ereigniseinheiten 73 (CIMP). Die Bestätigung der Grundkombinationseinheiten wird durch den Eingangspunkt für externe Bestätigung 76 (CEXT) durchgeführt.
  • Der Speicher 14 umfaßt außerdem einen fünften Abschnitt S5, der Regulationseinheiten %REXX umfaßt.
  • Diese Regulationseinheiten bestehen aus kombinatorischen Ausdrücken und aus Regulationsausdrücken, die Regulationsfunktionskästen umfassen. Sie bieten mittels Regulationsschleifen Regulationsfunktionsregeln.
  • Die Darstellung und die Funktionsweise der Regulationseinheiten und der Regulationskästen sind ähnlich der Darstellung und der Funktionsweise der zuvor unter Bezugnahme auf die Figuren 1 bis 12 beschriebenen Einheiten. Sie unterscheiden davon nur durch ihre Ausführung, die parallel zum Automatenzyklus ist. Diese Parallelausführung wird durch eine zusätzliche Zentraleinheit durchgeführt, die in Verbindung mit den Regulationsschaltkreisen steht, die mit dem zu automatisierenden und zu regulierenden Prozeß verbunden sind.
  • Der Speicher 14 umfaßt schließlich einen sechsten Abschnitt S6 mit Achsentrajektorieneinheiten (%TAXX). Die Achsentrajektorieneinheiten erlauben, Bewegungsfunktionsregeln mit Hilfe wenigstens eines Steuerungsmoduls für die Achsengeschwindigkeit und -position zu bieten.
  • Die Darstellung und die Funktionsweise dieser Achsentrajektorieneinheiten sind ähnlich der Darstellung und der Funktionsweise der zuvor unter Bezugnahme auf die Figuren 1 bis 12 beschriebenen Einheiten. Sie unterscheiden davon nur durch ihre Ausführung, die wie die des fünften Abschnitts mit Hilfe von zusätzlichen Bearbeitungsvorrichtungen parallel zum Automatenzyklus durchgeführt wird.
  • Die Steuerung von Achsen wird mit Hilfe von Informationen durchgeführt, die von Achsenschaltkreisen herrühren, die mit dem zu automatisierenden und zu steuernden Prozeß verbunden sind.
  • In Fig. 13 sind in der Form einer Wiederholungstafel die in dem programmierbaren Automaten nach der Erfindung verwendeten Konstanten dargestellt.
  • Die numerischen Konstanten teilen sich in vier Klassen auf.
  • Eine erste Klasse wird aus ganzen Zahlen ohne Vorzeichen aus 16 oder 32 Bits in hexadezimaler Notierung gebildet. Der Wert der Konstanten der ersten Klasse schreibt sich in der Form XXX, wobei X eine Hexadezimalzahl ist.
  • Eine zweite Klasse 91 besteht aus ganzen Zahlen mit Vorzeichen aus 16 oder 32 Bits in dezimaler Notierung. Der Wert der Konstanten der zweiten Klasse schreibt sich in der Form YYY, der ein Symbol + oder - vorangeht, wobei Y eine Dezimalzahl ist.
  • Eine dritte Klasse 92 besteht aus reellen Zahl mit Vorzeichen aus 32 Bits mit einer dezimalen Notierung. Der Wert der Konstanten der dritten Klasse kann von einem Exponentenzeichen (E) und dem Trennungspunkt des ganzen Teils von dem dezimalen Teil der reellen Zahlen begleitet sein.
  • Eine vierte Klasse 93 besteht aus alphanumerischen Zeichenketten mit einem Format von N x 8 Bits im ASCII-Code.
  • Die Konstanten jeder Klasse umfassen eine Konstrukteur- Identifikationsdateneinheit. Diese Konstanten können lokale oder globale Konstanten sein. Sie umfassen auch eine Benutzer-Identifikationsdateneinheit mit einer Länge von acht Zeichen.
  • In Fig. 14 sind in der Form einer wiederholenden Tabelle die einfachen boolschen und numerischen Variablen dargestellt, die in dem programmierbaren Automaten nach der Erfindung verwendet werden.
  • Die Variablen des einfachen boolschen Typs unterteilen sich in vier verschiedene Gruppen.
  • Eine erste Gruppe 94 besteht aus den Eingangs- und Ausgangsvariablen, die jeweils die Zustandswerte der Wandlerschaltkreiskarten und die von dem Anwendungsprogramm, das auf den Automaten angewandt wird, bestimmten Zustandswerte, die periodisch den Stellgliedkarten übertragen werden, darstellen. Diese Eingangs- und Ausgangsvariablen sind vom boolschen Typ.
  • Eine zweite Gruppe 95 besteht aus den Speichervariablen des boolschen Typs. Diese Speichervariablen umfassen insbesondere Hilfsbits, die im Referenzzustand vor jeder ersten Ausführung des Anwendungsprogrammes initialisiert worden sind; gespeicherte Relais, deren Zustand einzig durch das Anwendungsprogamm oder durch manuelle Anweisungen modifiziert wird, und Schrittzustände der sequentiellen Strukturen, deren Zustand durch das Anwendungsprogramm oder durch von der Einstellung der Funktionskästen kontrollierten Anordnungen modifiziert werden.
  • Eine dritte Gruppe 96 besteht aus den vorderen Variablen, die auf der Höhe des Anwendungsprogramms aus den Eingangsvariablen erhalten werden, indem variable Hilfsbits verwendet werden. Der Kunde erzeugt seine vorderen Variablen in der Deklarationseinheit. Man unterscheidet vordere, ansteigende und vordere, abfallende Variable.
  • Eine vierte Gruppe 98 besteht aus den Zustandsvariablen und den Indikatoren des Automaten, deren Rolle es ist, den Zustand des Automaten in den Anwendungsprogrammen berücksichtigen zu können. Diese Variabeln bestehen aus zwei Typen, nämlich aus den Variablen, die den reellen Zustand des Automaten anzeigen, und aus den Variablen, die dem Anwendungsprogramm ermöglichen, die Zustandsänderungen des Automaten zu verlangen.
  • Die einfachen numerischen Variablen zerfallen in drei verschiedene Gruppen.
  • Eine erste Gruppe 100 umfaßt die ganzen Zahlen ohne Vorzeichen von 16 bis 32 Bit mit hexadezimaler Notierung. Der Konstrukteur-Identifikator ist zum Beispiel %HWn (16 Bit) oder %HDn (32 Bit), wobei n die ganze Ordnungszahl ohne Vorzeichen in dezimaler Notierung ist.
  • Eine zweite Gruppe 102 umfaßt die ganzen Zahlen mit Vorzeichen im Format von 16 oder 32 Bit, die in dezimaler Notierung geschrieben sind. Der Konstrukteur-Identifikator ist zum Beispiel %MWn (16 Bit) oder %MDn (32 Bit).
  • Eine dritte Gruppe 104 umfaßt die ganzen reellen Zahlen mit Vorzeichen im Format von 32 Bit, die in dezimaler Notierung geschrieben sind. Der Konstrukteur-Identifikator ist zum Beispiel %FDn.
  • In Fig. 15 sind in der Form einer wiederholenden Tabelle die einfachen Strukturen (boolsche, numerische oder textliche) dargestellt, die in dem programmierbaren Automaten nach der vorliegenden Erfindung verwendet werden.
  • Die einfachen Datenstrukturen sind geordnete Sammlungen von einfachen, hiervor beschriebenen Variablen. Es gibt boolsche, numerische und textliche Strukturen. Die boolschen Strukturen bestehen aus zwei Typen: Liste 106 und Tabelle 108. Die Listen ordnen die boolschen Variablen in Spalten von k Elementen mit k ganzen Ziffern an, während die Tabellen die boolschen Variablen in Zeilen und Spalten von K x 1 Elementen mit 1 ganzen Ziffer anordnen.
  • Der Konstrukteur-Identifikator des Elements der Tabelle Nummer 2, die dem gespeicherten Relais der fünften Zeile und der vierten Spalte entspricht, ist zum Beispiel %RX 2 (5,4).
  • Die numerischen Strukturen sind von drei Arten: ein Stapel 110, eine Liste 112 und eine Tabelle 114. Die Stapel ordnen die numerischen Variablen mit 16 Bit in der Form eines Stapels des Typs LIFO oder FIFO aus k Elementen an. Die Listen ordnen die numerischen Variablen von 16 oder 32 Bit in Spalten von k Elementen an, während die Tabellen die numerischen Variablen von 16 oder 32 Bit in Zeilen und Spalten von k x 1 Elementen anordnen.
  • Der Konstrukteur-Identifikator eines Stapels ist zum Beispiel %MW n ().
  • Die textlichen Strukturen umfassen Zeichenketten 116, die Wörter aus 8 Bits anordnen. Der Konstrukteur-Identifikator einer Zeichenkette ist zum Beispiel %CC n ().
  • Übrigens gibt es zusätzliche Daten, die man mit der Zeit verbindet. Diese Daten stellen insbesondere den Begriff der Dauer, der ermöglicht, die abgelaufene Zeit zu kontrollieren und Bearbeitungen mit von dem Benutzer definierter Periode zu bestätigen, und den Begriff von Datum und Uhrzeit eines Tages dar, um den Beginn oder das Ende der Bearbeitung mit einer absoluten Zeitreferenz zu synchronisieren.
  • Schließlich verwendet der programmierbare Automat Operationsdaten, die ermöglichen, kombinatorische Ausdrücke zu konstruieren. In der Praxis verwendet der programmierbare Automat nach der Erfindung logische Operationen, wie das logischen UND, das logische ODER, die Faktorisierung, die Zuordnung, den Sprung, die Negation. Er verwendt auch Standardfunktionen oder Konstrukteur-Funktionskästen und spezielle Funktionen oder Benutzer-Funktionskästen.
  • Die Arbeitsweise des programmierbaren Automaten, die unter Bezugnahme auf die Figuren 1 bis 15 beschrieben ist, ist in Fig. 16 illustriert.
  • Der Monitor führt bei jedem Zyklus von T=0 bis T=1 auf der einen Seite eine Verifikation des Zustandes der Schnittstellenkasten der Anwendung (Initialisierung 200 und Kontrollen 210) in Abhängigkeit von den Einheiten des dritten Abschnittes (Identifikationsabschnitt S3) durch.
  • Auf der anderen Seite führt der Monitor bei jedem Zyklus nach der Aufnahme der Tabelle der Eingangswerte und der vorhergehenden Ausgangswerte 220 einerseits mit Priorität eine Berücksichtigung der Bearbeitungen durch, die aus den von dem zweiten Abschnitt S2 bestätigten Ereigniseinheiten herrühren können. Andererseits führt der Monitor die Bearbeitung durch, die von Einheiten des ersten Abschnitts S1 im Laufe der Bestätigung herrühren, insbesondere die Einheiten von Graphenabhängigkeiten und die Autgabenbearbeitungseinheiten. Dann führt der programmierbare Automat die Bearbeitungen durch, die von Einheiten des vierten Abschnitts S4 im Laufe der Bestätigung herrühren, insbesondere die zyklischen Kombinationseinheiten und die Grundkombinationseinheiten 54. Der Beginn einer so von den verschiedenen Abschnitten definierten Anwendung wird ausgehend von der Unter-Spannung-setzen-Einheit des zweiten Abschnittes nach der eventuellen Ausführung der Einheit Anwesenheit von Diagnose (Selbstdiagnose 220) durchgeführt.
  • Die Regulationsanwendungen und die Achsentrajektorienanwendungen können parallel zu den zyklischen Operationen begonnen werden, indem der fünfte Regulationsabschnitt oder der sechste Achsentrajektorienabschnitt ausgewählt wird.
  • Der durch eine strukturierte Sprache programmierbare Automat nach der Erfindung erlaubt die zuvor angestrebten Ziele zu erreichen, nämlich:
  • - eine direkte und perfekte Überschreibung des GRAFCET einer Automatisationsanwendung mit Hilfe von Grapheneinheiten und von Einheiten zur Bearbeitung von Graphen 34 des ersten Abschnitts S1;
  • - die strukturelle und funktionelle Organisation sowie die Modularität von Anwendungsprogrammen mit Hilfe insbesondere der Ereigniseinheiten des zweiten Abschnitts S2 und der Kombinationseinheiten des vierten Abschnitts S4 sowie derjenigen des ersten Abschnitts S1;
  • - die Detektion und Diagnose von Pannen mit Hilfe insbesondere der Ereigniseinheiten des zweiten Abschnitts S2;
  • - die Erzeugung von spezifischen Funktionen mit Hilfe von Konstrukteur- und Benutzer-Funktionskästen; und
  • - die Zugriffskontrolle auf die Programme und Daten, die Modifikation der Programme in Realzeit, die Ausarbeitung von Informationsbeschreibungen mit Hilfe insbesondere der Einheiten des dritten Abschnitts S3.

Claims (18)

1. Programmierbarer Automat des Typs, welcher umfaßt:
- Eingangsschnittstellenvorrichtungen (2) mit Wandlerschaltkreiskarten (4),
- Ausgangsschnittstellenvorrichtungen (16) mit Stellgliedschaltkreiskarten (18),
- Kommunikationsschnittstellenvorrichtungen (17) mit programmierten Systemen (19), die weitere programmierbare Automaten umfassen,
- Bearbeitungsvorrichtungen (8), die einen Monitor (10) ebenso wie einen Speicher (14) umfassen, der geeignet ist, aktuelle Werte der Eingangszustände und den Ausgangszuständen vorausgehenden Werte, die bei jedem Zyklus unter der Kontrolle des Monitors (10) gespeichert werden, und Regeln zum Hervorbringen der Ausgangszustände in Abhängigkeit von diesen Werten zu enthalten, und
- Benutzerschnittstellenvorrichtungen (20) zum Programmieren und zur Modifikation dieser Regeln,
dadurch gekennzeichnet, daß der Speicher (14) wenigstens teilweise in Abschnitte unterteilt ist, die jeweils aus durch die Benutzerschnittstelle programmierbaren und modifizierbaren Einheiten bestehen, wobei der Benutzer wenigstens auswählt:
- einen ersten Abschnitt (S1), der auf der einen Seite umfaßt: Hauptgrapheneinheiten (24), Untergrapheneinheiten (26), die jeweils einer Hauptgrapheneinheit untergeordnet sind, und Makroschritteinheiten, wobei diese Graphen- und Makroschritteinheiten im wesentlichen die einzigen sind, die sequentielle Regeln zum Auf-den-neuesten-Stand-bringen mit Hilfe von Schritten (30) und von Übergängen zwischen Schritten (32) bieten,
. und auf der anderen Seite umfaßt: Graphen-Verarbeitungseinheiten (34), die geeignet sind, die Abhängigkeit zwischen den Hauptgrapheneinheiten und Untergrapheneinheiten zu behandeln, Einheiten zum Bearbeiten von Aufgaben (36), die geeignet sind, von den Haupt- oder Untergrapheneinheiten bestätigte Bearbeitungen oder Makroschritte durchzuführen, und Empfangsverarbeitungseinheiten (40), die geeignet sind, die Haupt- oder Untergraphenübergänge oder die Makroschrittübergänge zu bestätigen, wobei die Graphen- und Makroschritteinheiten jeweils geeignet sind, einen der vier möglichen Funktionszustände einzunehmen:
. einen aktiven Zustand (60), in dem die sequentiellen Regeln zum Auf-den-neuesten-Stand-bringen bezüglich einer Grapheneinheit normal ausgeführt werden,
. einen nicht-aktiven Zustand (62), in dem die sequentiellen Regeln zum Auf-den-neuesten-Stand-bringen bezüglich einer Grapheneinheit nicht ausgeführt werden,
. einen aktiven, eingefrorenen Zustand (66), in dem die sequentiellen Regeln zum Auf-den-neuesten-Stand-bringen bezüglich einer Grapheneinheit sich nicht entwickeln können, in dem die mit der besagten Grapheneinheit verbundenen Schritte ihren vorhergehenden Zustand beibehalten und in dem die mit den aktiven Schritten der besagten Grapheneinheit verbundenen Bearbeitungseinheiten ausgeführt werden;
. einen nicht-aktiven, eingefrorenen Zustand (64), in dem die sequentiellen Regeln zum Auf-den-neuesten-Standbringen bezüglich einer Grapheneinheit sich nicht entwickeln können, in dem die mit der besagten Grapheneinheit verbundenen Schritte ihren vorhergehenden Zustand beibehalten und in dem die mit den aktiven Schritten der besagten Grapheneinheit verbundenen Bearbeitungseinheiten nicht ausgeführt werden, wobei die Gesamtheit der Einheiten dieses ersten Abschnitts die Gesamtheit der Graphen bildet, die für eine bestimmte Anwendung des Automaten erforderlich sind;
- einen zweiten Abschnitt (S2), der umfaßt: eine Liste von Ereigniseinheiten, die nach abnehmender Priorität geordnet sind und zunächst Systemereignisse (41) maximaler Priorität, unter diesen der Reihe nach, das Spannungabschalten des Automaten, die Anwesenheit von Diagnose und das Spannungsanschalten des Automaten, dann Schnittstellenereignisse (43) mit sekundärer Priorität bezüglich der Zustände der Anwendungsschnittstellenkarten und schließlich programmierte Ereignisse (45) mit tertiärer Priorität umfassen, welche mittels eines ausführbaren Codes definiert sind und im wesentlichen Anweisungen umfassen, die für die Grapheneinheiten des ersten Abschnitts bestimmt sind;
- einen dritten Abschnitt (S3), der umfaßt: eine Einheit, die global die Anwendung (44) bezeichnet, eine Einheit, die die Deklaration von für diese nützlichen Daten (48) definiert, und eine Konfigurationseinheit (50), die die für die Anwendung notwendigen Schnittstellenkarten ebenso wie wenigsten einen zulässigen Zustand für jede der Schnittstellenkarten für die Anwendung für das normale Funktionieren des Automats definiert;
- einen vierten Abschnitt (S4), der zyklische Kombinationseinheiten (52) und Grundkombinationseinheiten (54) umfaßt, wobei diese Einheiten im wesentlichen kombinatorische Regeln zum Auf-den-neuesten-Stand-bringen mit Hilfe von wenigstens kombinatorischen Ausdrücken und Funktionskästen bieten, wobei die zyklischen Kombinationseinheiten geeignet sind, wenn sie bestätigt sind, insgesamt und der Reihe nach durchgeführt zu werden, wohingegen die Grundkombinationseinheiten geeignet sind, wenn sie bestätigt sind, wenigstens teilweise mit höchstens einem pro Zyklus durchgeführt zu werden, und
dadurch daß der Monitor (10) bei jedem Zyklus auf der einen Seite eine Bestätigung des Zustands der Anwendungsschnittstellenkarten in Abhängigkeit von den Einheiten des dritten Abschnitts (S3) durchführt und auf der anderen Seite nach dem Erhalt der Eingangstabelle und der vorhergehenden Ausgangswerte einerseits mit Priorität eine Berücksichtigung der Bearbeitungen, die aus bestätigten Ereigniseinheiten des zweiten Abschnitts (S2) herrühren können, und andererseits die Bearbeitungen, die von den Einheiten des ersten Abschnitts (S1) im Verlaufe der Bestätigung herrühren, und dann die Bearbeitungen, die von den Einheiten des vierten Abschnitts (S4) im Verlaufe der Bestätigung herrühren, ausführt, was das Starten einer derart definierten Anwendung ausgehend von der unter Spannung gesetzten Einheit des zweiten Abschnitts (S2) nach eventueller Durchführung der anwesenden Diagnoseeinheit ermöglicht.
2. Programmierbarer Automat nach Anspruch 1, dadurch gekennzeichnet, daß er außerdem aufweist:
- Regulationsschnittstellenvorrichtungen mit Regulationsschaltkreiskarten;
- zusätzliche Bearbeitungsvorrichtungen, die geeignet sind, die Regulationsinformationen zu bearbeiten, die von diesen Regulationsschaltkreisen kommen;
daß der Benutzer außerdem einen fünften Abschnitt (S5) auswählt, der Regulationseinheiten und Regulationsfunktionskästen, die Regulationsfunktionsregeln mit Hilfe wenigstens einer Regulationsschleife bieten, umfaßt; und daß die zusätzlichen Bearbeitungsvorrichtungen parallel zum Automatenzyklus eine Regulationsanwendung durchführen, die als Funktion der Regulationseinheiten und -funktionskästen definiert ist.
3. Programmierbarer Automat nach Anspruch 1, dadurch gekennzeichnet, daß er außerdem umfaßt:
- Achsenschnittstellenvorrichtungen mit Schaltkreiskarten für Achsentrajektorien;
- zusätzliche Bearbeitungsvorrichtungen, die geeignet sind, die Achsentrajektorieninformation, die von den Schaltkreisen für Achsentrajektorien kommen, zu bearbeiten;
daß der Benutzer außerdem einen sechsten Abschnitt (S6) auswählt, der Achsentrajektorieneinheiten umfaßt, die Bewegungsfunktionsregeln mit Hilfe wenigstens eines Steuerungsmoduls für Achsengeschwindigkeit und -position bieten; und daß die zusätzlichen Bearbeitungsvorrichtungen parallel zum Automatenzyklus eine Achsenbewegungsanwendung durchführen, die als Funktion der Achsentrajektorieneinheiten und der Achsenfunktionskästen definiert ist.
4. Programmierbarer Automat nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß die Funktionskästen Konstrukteur-Funktionskästen, die geeignet sind, Konstrukteur-Standardfunktionen zu realisieren, deren Eigenschaften durch den Konstrukteur modifizierbar und programmierbar sind, und Benutzer-Funktionskästen, die geeignet sind, Benutzer- Standardfunktionen zu realisieren, deren Eigenschaften durch den Benutzer modifizierbar und programmierbar sind, umfassen.
5. Programmierbarer Automat nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß jede Einheit mindestens umfaßt:
- einen "Kopf"-modul, der die Informationen bezüglich der Identifikation und Bestätigung der besagten Einheit ordnet; und
- einen "Körper"-modul, der die Informationen bezüglich des Funktionierens des mit der besagten Einheit verbundenen Automatismus ordnet.
6. Programmierbarer Automat nach Anspruch 5, dadurch gekennzeichnet, daß jede Einheit außerdem umfaßt:
- einen "Kommentar"-modul, der textmäßig den mit der Einheit verbundenen Automatismus beschreibt.
7. Programmierbarer Automat nach Anspruch 5 oder nach Anspruch 6, dadurch gekennzeichnet, daß jede Einheit des ersten, zweiten, dritten, vierten und fünften Abschnitts außerdem umfaßt:
- einen "Block-lokaler-Konstanten"-Modul, der die Informationen bezüglich ausschließlich in der besagten Einheit verwendbarer Konstanten ordnet.
8. Programmierbarer Automat nach Anspruch 5, dadurch gekennzeichnet, daß der "Kopf"-modul jeder Einheit eine Konstrukteur-Identifikationsdateneinheit (59) umfaßt, die geeignet ist, die Einheit durch den Konstrukteur zu individualisieren.
9. Programmierbarer Automat nach Anspruch 8, dadurch gekennzeichnet, daß der "Kopf"-modul jeder Einheit eine Benutzer-Identifikationsdateneinheit (61) umfaßt, die geeignet ist, die Einheit durch den Benutzer symbolisch zu identifizieren.
10. Programmierbarer Automat nach den Ansprüchen 8 und 9, dadurch gekennzeichnet, daß jede Konstrukteur-Identifikationsdateneinheit (59) ein Präfix von wenigstens zwei alphabetischen Zeichen umfaßt, dem das Zeichen % oder eine Ordnungszahl vorangeht.
11. Programmierbarer Automat nach Anspruch 5, dadurch gekennzeichnet, daß die Informationen bezüglich der Bestätigung jeder Grapheneinheit des ersten Abschnitts (S1) eine Dateneinheit (60, 62, 64, 66), die den funktionellen Zustand der Einheit angibt, eine Dateneinheit (68), die die maximale Dauer der Einheit im aktiven Zustand, und eine Dateneinheit (70) umfassen, die die Ordnungszahl des Schrittes angibt, der eine von der Aktivitätsdauer, die von dem Benutzer für den Schritt definiert wird, unterschiedliche Aktivitätsdauer besitzt.
12. Programmierbarer Automat nach Anspruch 5, dadurch gekennzeichnet, daß die Informationen bezüglich der Bestätigung jeder Bearbeitungseinheit des ersten Abschnitts und jeder Bearbeitungseinheit des zweiten, vierten und fünften Abschnitts umfassen:
- eine Dateneinheit (78), die den Bestätigungszustand der Einheit angibt, eine Dateneinheit (71), die die maximale Durchführungsdauer angibt, und Daten (73, 76), die die Bestätigungseintrittspunkte angeben, mit denen die aus der Programmierung resultierende Bestätigungsregel verbunden ist.
13. Programmierbarer Automat nach Anspruch 1, dadurch gekennzeichnet, daß die Einheit, die die Anwendung global bezeichnet, einen "Identitäts"-einheit (44), die die Informationen ordnet, die geeignet sind, das Anwendungsprogramm zu identifizieren, ebenso wie "Zugriffsschlüssel"-daten umfaßt, die geeignet sind, den Zugriff zu dem Programm und zu den Daten zu autorisieren.
14. Programmierbarer Automat nach Anspruch 13, dadurch gekennzeichnet, daß die "Identitäts"-einheit (44) zumindest umfaßt:
- eine Dateneinheit mit dem Projektnamen,
- eine Dateneinheit mit dem Programmcode,
- eine Dateneinheit mit der Nummer der Programmversion,
- einen Dateneinheit mit dem Automatentyp,
- einen Dateneinheit mit dem Namen des Projektverantwortlichen, und
- einen Dateneinheit mit dem Datum der Projekterstellung.
15. Programmierbarer Automat nach Anspruch 13, dadurch gekennzeichnet, daß die "Zugriffsschlüssel"-daten zumindest umfassen:
- eine "Zeilenmodifikationsschlüssel"-dateneinheit, die geeignet ist, alle Funktionen zu autorisieren, einschließlich des im Betrieb befindlichen Automatenprogramms,
- eine "Konzeptzugriffsschlüssel"-dateneinheit, die geeignet ist alle Funktionen zu autorisieren, außer der Zeilenmodifikation des Programms,
- eine "Auswertezugriffsschlüssel"-dateneinheit, die geeignet ist alle Funktionen zu autorisieren, außer der Zeilenmodifikation des Programms, des Ladens des Programms in den Automaten, des Formens der Eingänge und Ausgänge und der Modifikation der geschützten Daten,
- eine "Formschlüssel"-dateneinheit, die geeignet ist, zusammen mit dem Auswertezugriffsschlüssel, das Formen der Eingangs- und Ausgangsvariablen zu autorisieren,
- und eine "Modifikation-der-geschützten-Daten"-Dateneinheit, die geeignet ist, zusammen mit dem Auswertezugriffsschlüssel die Modifikation der besagten Daten zu autorisieren.
16. Programmierbarer Automat nach Anspruch 4, dadurch gekennzeichnet, daß die Funktionskästen zumindest umfassen:
- eine Namensdateneinheit, die den Code des Kastens angibt,
- eine Zustandsdateneinheit (76), die den Eingangszustand angibt, der notwendig ist zur Bestätigung der Ausführung der mit dem Kasten verbundenen Funktion, und
- parametrische Daten, die die internen Eingangs- und Ausgangsparameter des Kastens angeben.
17. Programmierbarer Automat nach Anspruch 5, dadurch gekennzeichnet, daß jede Einheit wenigstens eine graphische Darstellung besitzt, die graphisch das Funktionieren der mit der besagten Einheit verbundenen Anwendung beschreibt, und eine textliche Darstellung besitzt, die textlich das Funktionieren der mit der besagten Einheit verbundenen Anwendung beschreibt.
18. Programmierbarer Automat nach Anspruch 1, dadurch gekennzeichnet, daß der erzeugte Code boolsche, numerische und alphabetische Daten bearbeitet.
DE1989605848 1988-02-26 1989-02-15 Speicherprogrammierbare steuerung mit strukturierter programmiersprache. Expired - Fee Related DE68905848T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8802422A FR2627873B1 (fr) 1988-02-26 1988-02-26 Automate programmable par langage structure

Publications (2)

Publication Number Publication Date
DE68905848D1 DE68905848D1 (de) 1993-05-13
DE68905848T2 true DE68905848T2 (de) 1993-07-15

Family

ID=9363693

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1989605848 Expired - Fee Related DE68905848T2 (de) 1988-02-26 1989-02-15 Speicherprogrammierbare steuerung mit strukturierter programmiersprache.

Country Status (4)

Country Link
EP (1) EP0331551B1 (de)
DE (1) DE68905848T2 (de)
ES (1) ES2041422T3 (de)
FR (1) FR2627873B1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19547989A1 (de) * 1995-12-21 1997-06-26 Siemens Ag Verfahren zum Überführen eines Automaten von einem ersten Zustand in einen zweiten Zustand sowie zugehörige Anordnung

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0509092A4 (en) * 1990-11-06 1993-01-20 Koyo Electronics Industries Co., Ltd. Programmable controller
FR2674780B1 (fr) * 1991-04-08 1995-06-23 Aro Installation de commande d'un outillage comportant une pince commandee par un systeme de positionnement automatique.
WO1992018917A1 (en) * 1991-04-19 1992-10-29 The Commonwealth Of Australia Modular frequency management system
DE50003376D1 (de) * 1999-05-25 2003-09-25 Siemens Ag Verfahren zur erzeugung eines steuerbausteins und steuerbaustein
DE10108962A1 (de) 2001-02-20 2002-09-12 Pilz Gmbh & Co Verfahren und Vorrichtung zum Programmieren einer Sicherheitssteuerung
CN106483840B (zh) * 2015-09-02 2019-05-14 西安益翔航电科技有限公司 一种用于工控系统的积分控制信号识别方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4282584A (en) * 1979-05-30 1981-08-04 Allen-Bradley Company Mini-programmable controller
US4486830A (en) * 1982-03-30 1984-12-04 Cincinnati Milacron Inc. Programmable control apparatus and method
US4488258A (en) * 1982-09-20 1984-12-11 Allen-Bradley Programmable controller with control program comments

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19547989A1 (de) * 1995-12-21 1997-06-26 Siemens Ag Verfahren zum Überführen eines Automaten von einem ersten Zustand in einen zweiten Zustand sowie zugehörige Anordnung

Also Published As

Publication number Publication date
FR2627873A1 (fr) 1989-09-01
ES2041422T3 (es) 1993-11-16
EP0331551A3 (en) 1989-09-27
DE68905848D1 (de) 1993-05-13
FR2627873B1 (fr) 1990-08-10
EP0331551A2 (de) 1989-09-06
EP0331551B1 (de) 1993-04-07

Similar Documents

Publication Publication Date Title
EP0852759B1 (de) Entwurfsverfahren für die anlagentechnik und rechnergestütztes projektierungssystem zur verwendung bei diesem verfahren
DE3751713T2 (de) Programmierbare Steuerung mit Überwachungsmitteln
DE102005055133A1 (de) System für den maschinengestützten Entwurf technischer Vorrichtungen
DE60017457T2 (de) Verfahren zur isolierung eines fehlers in fehlernachrichten
EP0685086B1 (de) Einrichtung zur automatischen erzeugung einer wissensbasis für ein diagnose-expertensystem
EP0653078A1 (de) Verfahren und leittechnisches system zum steuern, überwachen und regeln insbesondere von komplexen industriellen prozessen, wie z.b. in einem kernkraftwerk
EP0966703B1 (de) Verfahren zur rechnergestützten fehleranalyse von sensoren und/oder aktoren in einem technischen system
DE10346478A1 (de) Flexibler Softwareupdate für Automatisierungssysteme über Internet
WO2010112264A1 (de) Vorrichtung und verfahren zur erstellung eines prozessmodells
EP2407842B1 (de) Verfahren zur Inbetriebnahme von Maschinen oder Maschinen einer Maschinenserie und Projektierungssystem
DE102016011020A1 (de) Kontaktplan-Überwachungsvorrichtung mit der Fähigkeit, zusätzlich eine Betriebssituation einer CNC in einem Kommentar anzuzeigen
EP2927819A1 (de) Verfahren zur automatischen Verarbeitung einer Anzahl von Protokolldateien eines Automatisierungssystems
DE68905848T2 (de) Speicherprogrammierbare steuerung mit strukturierter programmiersprache.
EP3364257A1 (de) Verfahren zum betrieb eines engineering-systems für ein industrielles prozessautomatisierungssystem und steuerungsprogramm
WO2000031597A2 (de) Automatisierungssystem zur lösung einer prozesstechnischen aufgabenstellung und verfahren hierzu
WO1997040442A1 (de) Verfahren und steuereinrichtung für eine graphische steuerung von abläufen in einem netzwerkmanagementsystem
EP3968149A1 (de) Erzeugung von steuerungsvorschriften aus schematisierten regelwerken
DE102016124285A1 (de) Zustandsänderungsverwaltungssystem für eine fertigungszelle in einem zellensteuerungssystem
EP1183577B1 (de) Verfahren zur erzeugung eines steuerbausteins und steuerbaustein
DE102021201212A1 (de) Verfahren zum Steuern einer Mehrzahl an Fahrfunktionen in einem automatisierten oder autonomen Fahrzeug
EP1506474A2 (de) Verfahren zur generierung eines automatisierungsprogramms
DE10033812A1 (de) Verfahren zum Erzeugen von Informationsmodellen
WO2007065585A1 (de) Diagnoseverfahren und diagnosevorrichtung zur funktionsorientierten diagnose eines systems mit vernetzten komponenten
EP3779619A1 (de) Emergente risiken eines technischen systems
WO2001075535A2 (de) Zustandssteuerung von technischen systemen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee