-
Die
vorliegende Erfindung betrifft ein Verfahren zum Programmieren einer
Prozesssteuerungsanwendung auf einer Programmierstation einer Prozesssteuerungsausstattung.
Sie betrifft auch eine solche Programmierstation.
-
Unter
Programmierstation versteht man eine EDV-Ausstattung, insbesondere des Typs PC,
die mit der Prozesssteuerungsausstattung, die zu programmieren ist,
verbunden ist oder nicht, die eine Zentraleinheit und ein im Allgemeinen
Programmierworkshop genanntes Programm aufweist, mit welchen ein
Benutzer in Wechselwirkung tritt, um ein Prozesssteuerungsanwendungsprogramm
zu konzipieren und erzeugen, das dazu bestimmt ist, auf einer oder
mehreren Prozesssteuerungsausstattungen ausgeführt zu werden.
-
Eine
Prozesssteuerungsausstattung bezeichnet nachstehend einen programmierbaren
Automaten, eine numerische Steuerung oder jede Ausstattung, die
ein Anwendungsprogramm, das eine Prozesssteuerungsanwendung steuert,
enthalten und ausführen
kann, wobei diese Prozesssteuerungsanwendung zum Beispiel zum Gebiet
der Industrieprozesssteuerungen gehört, zu den Prozesssteuerungen
des Bauwesens und der Kontrolle/Steuerung elektrischer Verteilungsnetze.
-
Eine
solche Prozesssteuerungsausstattung besteht aus einer Zentraleinheit
(UC) und aus mindestens einem Eingänge-Ausgänge-Koppler, die an Sensoren
und Vorstellglieder der zu steuernden Prozesssteuerungsanwendung
angeschlossen sind. Die Zentraleinheit umfasst einen oder mehrere
Prozessoren, einen Totspeicher, der im Allgemeinen nicht veränderbar
ist (des Typs ROM) oder des veränderbaren
Typs (EEPROM), der das Herstellerprogramm, auch Betriebssystem (operating
system) genannt, enthält, ausgedrückt in einer herstellerspezifischen
Sprache, einen Lebendspeicher, ein Verwaltungsprogramm der Eingänge-Ausgänge, die
untereinander über
einen Bus kommunizieren. Der Lebendspeicher, auch flüchtiger
Speicher (RAM) genannt, enthält
in einer ersten Zone das Benutzerprogramm und in einer zweiten Zone
die Daten, insbesondere die Bilder der Zustände der Koppler und die Konstanten
in Zusammenhang mit dem Benutzerprogramm.
-
Das
Benutzerprogramm, auch Anwendungsprogramm genannt, führt die
Kontrolle oder die Steuerung einer Prozesssteuerungsanwendung mittels
Eingängen-Ausgängen durch,
die von diesem Anwendungsprogramm gesteuert werden. Es wird von
dem Entwerfer erstellt und ist in einer oder mehreren grafischen
Prozesssteuerungssprachen geschrieben, die insbesondere die Skizzen
der Kontakte (Ladder Diagram), Sequenzfunktionsdiagramme (Sequential
Function Chart), auch Grafcet genannt, Beschreibungen von Funktionsblöcken (Function
Block Description) oder Anweisungslisten (Instruction List) enthalten,
wie insbesondere in dem Dokument WO95/23374 angegeben. Diese Prozesssteuerungssprachen
entsprechen vorzugsweise der Norm IEC1131-3, um das Programmieren
durch einen Prozesssteuerungs-Entwerfer zu erleichtern, der nicht
unbedingt die EDV-Sprachen beherrscht. Diese Sprachen können entweder
auf einer Programmierstation oder auf einer Prozesssteuerungsausstattung
verwendet werden.
-
Bisher
umfasst das Verfahren zur Programmierung eines Anwendungsprogramms
auf einer Programmierstation unter Verwendung einer oder mehrerer
der verfügbaren
Sprachen, insbesondere grafischer Sprachen, und unter Definieren
der Variablen, die mit der Prozesssteuerung verbunden sind, zuerst
einen so genannten Konfigurationsschritt, bei dem der Entwerfer
genau die komplette topologische Adresse jedes Eingänge-Ausgänge- Kanals und -Objekts
bestimmt, die in dem Anwendungsprogramm verwendet werden. Dieser lange
und aufwändige
Vorgang zwingt den Entwerfer zuerst zur Handhabung sowohl der technischen
Dokumentation der verschiedenen Eingänge-Ausgänge-Module der Prozesssteuerungsausstattung,
die die verschiedenen Kanäle
unterstützen,
und zweitens zur Kenntnis der Position jedes Moduls in der oder
den Platinen (Einschüben)
der Prozesssteuerungsausstattung, und drittens zur Handhabung in
dem Anwendungsprogramm der direkten topologischen Syntax der Variablen,
die den Eingänge-Ausgänge-Kanälen der
Prozesssteuerungsausstattung zugewiesen sind.
-
Dieses
Programmierverfahren weist auch den Nachteil auf, dass es völlig von
der materiellen Lage der Module abhängt. Da die Programmierstation
symbolische Variable nicht handhaben kann, die eine Eingänge-Ausgänge-Kanalstruktur darstellen,
muss der Entwerfer des Anwendungsprogramms daher, wenn für einen gleichen
Typ Prozesssteuerungsausstattung die gleiche Prozesssteuerungsanwendung
aber mit einer völlig unterschiedlichen
materiellen Lage der Eingänge-Ausgänge-Module
durchgeführt
werden muss, eine neue Konfigurationsvorgehensweise durchführen, damit
die Umsetzung des gleichen Anwendungsprogramms an die neue materielle
Lage angepasst ist.
-
Die
vorliegende Erfindung hat daher zur Aufgabe, den Nachteilen des
früheren
Stands der Technik abzuhelfen, indem sie ein Programmierverfahren
einer Prozesssteuerungsanwendung vorschlägt, das es erlaubt, in symbolischer
und strukturierter Form die Daten zu handhaben, die zwischen einem
Anwendungsprogramm und den Kanälen
der Eingänge-Ausgänge-Module
ausgetauscht werden, und daher das Schreiben des Anwendungsprogramms
vor einem Konfigurationsschritt und unabhängig von der Prozesssteuerungsausstattung
zu gestatten.
-
Dieses
Ziel wird durch ein Programmierverfahren eines Prozesssteuerungsanwendungsprogramms auf
einer Programmierstation einer Prozesssteuerungsausstattung erzielt,
das Folgendes umfasst:
- – einen Schritt der Definition
einer Vielzahl von Objekten des strukturierten Typs, die jeweils
einen Eingänge-Ausgänge-Kanal
eines Eingänge-Ausgänge-Moduls
der Prozesssteuerungsausstattung darstellen, wobei die Definition
jedes strukturierten Typs mindestens ein charakteristisches Element
aufweist, das einer Eingänge-Ausgänge-Information
entspricht, die zwischen dem Eingänge-Ausgänge-Modul und dem Anwendungsprogramm
ausgetauscht wird, und für
jedes Element die relative topologische Adresse der Eingänge-Ausgänge-Information,
- – einen
Schritt des Schreibens des Prozesssteurungsanwendungsprogramms,
indem symbolische Eingänge-Ausgänge-Variablen
des Anwendungsprogramms als eine Instanz eines Objekts des strukturierten Typs,
das zuvor festgelegt wurde, erklärt
werden,
- – einen
Schritt der Konfiguration der symbolischen Eingänge-Ausgänge-Variablen, der eine Definition
der physikalischen Lage jedes Eingänge-Ausgänge-Moduls der Prozesssteuerungsausstattung
verbunden mit den symbolischen Eingänge-Ausgänge-Variablen des Anwendungsprogramms
umfasst,
- – einen
Schritt der automatischen Auslegung des Anwendungsprogramms zu seiner
Ausführung
auf der Prozesssteuerungsausstattung, umfassend einen Schritt des
Ersetzens in dem Anwendungsprogramm der symbolischen Eingänge-Ausgänge-Variablen
durch die komplette topologische Adresse der entsprechenden Eingänge-Ausgänge-Information.
-
Gemäß einer
weiteren Besonderheit weist jede symbolische Variable des Programms
zwei Felder auf, ein erstes Feld besteht aus einer Kette von Zeichen,
die von dem Entwerfer des Anwendungsprogramms ausgewählt wird
und es erlaubt, ein Objekt des strukturierten Typs mit der symbolischen
Variablen entsprechen zu lassen, ein zweites Feld besteht aus einer
Identifikation eines Elements des Objekts des strukturierten Typs, das
mit der symbolischen Variablen verbunden ist.
-
Gemäß einer
weiteren Besonderheit umfasst der Schritt des Ersetzens:
- – einen
Schritt des Suchens der relativen Adresse, die für jedes Element des strukturierten
Typs in einer Tabelle der Elemente eines Objekts des strukturierten
Typs, die auf der Programmierstation gespeichert ist, definiert
ist,
- – einen
Schritt des Suchens in einer Konfigurationstabelle der erklärten physikalischen
Lage für
jedes Modul, das der Entwerfer den symbolischen Eingänge-Ausgänge-Variablen
des Anwendungsprogramms zugewiesen hat,
- – einen
Schritt des Aufbaus durch Auslegungsmittel der Programmierstation
ausgehend von der gefundenen relativen Adresse und der physikalischen
Lage der genauen topologischen Adresse jeder symbolischen Variablen
des Anwendungsprogramms.
-
Gemäß einer
weiteren Besonderheit umfasst der Schritt der Definition der Objekte
des strukturierten Typs für
jedes Objekt des strukturierten Typs einen Schritt des Anlegens
und danach des Speicherns auf tragbaren Speichermitteln einer Tabelle
der Elemente des Objekts des strukturierten Typs, die eine erste
Spalte aufweist, die mindestens eine Identifikation einer charakteristischen
Information des Objekts des strukturierten Typs umfasst, eine zweite
Spalte, die den elementaren Typ der Information (EDT) enthält, eine
dritte Spalte, die die relative Adresse der Information enthält.
-
Gemäß einer
weiteren Besonderheit enthält
die Tabelle der Elemente des Objekts des strukturierten Typs eine
vierte Spalte, die eine Beschreibung der Information enthält, eine
fünfte
Spalte, die die Lese- oder Schreiberechte enthält, die für jede Information existieren.
-
Gemäß einer
weiteren Besonderheit umfasst das Verfahren einen Schritt des Konfigurierens
der Eingänge-Ausgänge-Module, der einen
Schritt der Auswahl einer Handelsreferenz eines Eingänge-Ausgänge-Moduls
umfasst, sowie das Zuweisen des ausgewählten Eingänge-Ausgänge-Moduls zu einer bestimmten physikalischen
Lage, wobei der Schritt der Auslegung daher einen Schritt der Kontrolle
aufweist, um zu prüfen, ob
das an einer bestimmten physikalischen Lage ausgewählte Eingänge-Ausgänge-Modul
mit dem Objekt des strukturierten Typs kompatibel ist, das an der
gleichen physikalischen Lage konfiguriert ist.
-
Eine
zweite Aufgabe der Erfindung besteht darin, eine Programmierstation
einer Prozesssteuerungsanwendung auf einer Prozesssteuerungsausstattung
vorzuschlagen, die es erlaubt, in symbolischer und strukturierter
Form die Daten zu handhaben, die zwischen einem Anwendungsprogramm
und den Kanälen
der Eingänge-Ausgänge-Module
ausgetauscht werden und daher das Schreiben des Anwendungsprogramms
vor einem Konfigurationsschritt und unabhängig von der Prozesssteuerungsausstattung
zu gestatten.
-
Diese
zweite Aufgabe wird durch eine Programmierstation einer Prozesssteuerungsausstattung
verwirklicht, die Speichermittel, Anzeigemittel und Mittel zur Wechselwirkung
mit einem Entwerfer eines Anwendungsprogramms enthält, dadurch
gekennzeichnet, dass die Programmierstation einen Editor für symbolische Variable
umfasst, um eine Konfigurationstabelle zu erzeugen, die auf den Speichermitteln
gespeichert wird, wobei die Programmierstation auch eine Mehrzahl
von Tabellen der Elemente von Objekten des strukturierten Typs aufweist,
die auf den Speichermitteln gespeichert sind, sowie Mittel zum Analysieren
eines Anwendungsprogramms, das mindestens eine von dem Entwerfer über den
Editor definierte symbolische Variable enthält.
-
Gemäß einer
weiteren Besonderheit weist die Programmierstation Mittel zum Kompilieren
des von den Auslegungsmitteln ausgelegten Anwendungsprogramms auf,
um das ausgelegte Anwendungsprogramm in eine Prozesssteuerungsanwendung
umzuwandeln, die auf einer Prozesssteuerungsausstattung durchgeführt werden
kann, wobei die Programmierstation Mittel zum Transfer der ausführbaren
Prozesssteuerungsanwendung entweder auf tragbaren Speichermitteln,
die mit der Prozesssteuerungsausstattung kompatibel sind, oder direkt
auf Speichermitteln der Prozesssteuerungsausstattung erlaubt.
-
Die
Erfindung ergibt sich mit ihren Merkmalen und Vorteilen klarer aus
der Lektüre
der folgenden Beschreibung, die sich auf die beiliegenden Zeichnungen
bezieht, in welchen:
-
1 ein
Funktionsschema des erfindungsgemäßen Verfahrens darstellt,
-
2 ein
Funktionsdiagramm des erfindungsgemäßen Verfahrens darstellt,
-
3 ein
Beispiel einer grafischen Schnittstelle eines Variableneditors darstellt.
-
Wie
zuvor erklärt,
besteht das Konzept der Erfindung darin, eine Programmierung zu
erlauben, das heißt
das Schreiben des Anwendungsprogramms (10), das eine Prozesssteuerungsanwendung
steuert, ohne die komplette direkte topologische Syntax jeder Eingänge-Ausgänge-Variablen, die in
dem Anwendungsprogramm (10) verwendet wird, zu kennen.
Um dieses Ziel zu verwirklichen, liefert das erfindungsgemäße Verfahren
dem Entwerfer des Prozesssteuerungsanwendungsprogramms eine bestimmte
Anzahl von Tools. Diese Tools erlauben es dem Entwerfer, in der
Syntax des Anwendungsprogramms, das die Prozesssteuerungsanwendung
steuert, Objekte oder symbolische und strukturierte Variablen zu
verwenden, die die Daten darstellen, die zwischen den verschiedenen
Kanälen
der verschiedenen Eingänge-Ausgänge-Module,
die in der Prozesssteuerungsanwendung und dem Anwendungsprogramm
(10) umgesetzt werden, ausgetauscht werden.
-
Das
Anwendungsprogramm einer Prozesssteuerungsausstattung besteht aus
Aufgaben. Eine Aufgabe ist eine Einheit von Anweisungen, die periodisch
von dem Prozessor der Zentraleinheit der Prozesssteuerungsausstattung
ausgeführt
werden. Das Herstellerprogramm aktiviert das Eingänge-Ausgänge-Verwaltungsprogramm
vor der Ausführung
einer Aufgabe, um Daten zu erfassen, die von einem logischen Kanal
kommen. Am Ende der Aufgabe aktiviert das Herstellerprogramm das
Eingänge-Ausgänge-Verwaltungsprogramm,
damit es Informationen zu dem logischen Kanal sendet.
-
Eine
Struktur von Daten einer Prozesssteuerungsausstattung ist mit jedem
logischen Kanal eines gegebenen Kopplers verbunden, den wir Sprachschnittstelle
nennen. Die Struktur von Daten hängt
von dem Koppler und dem logischen Kanal ab. Die Größe und ihr
Inhalt hängen
von der durchzuführenden
Spartenfunktion ab. Sie ist in einer Zone des Kopplerspeichers gespeichert,
wobei der Inhalt dieses Speichers auf oder zu einer identischen
Speicherzone in dem Speicher der Zentraleinheit der Prozesssteuerungsausstattung
ausgetauscht (empfangen oder gesendet) wird.
-
Die
Struktur von Daten ist nach Typ der Austausche strukturiert:
- • periodischer
Eingangsaustausch: der Inhalt wird von dem Kopplerspeicher zu dem
Speicher der Zentraleinheit gesendet, wobei diese Speicherzone im
Allgemeinen periodisch erzeugte Informationen enthält, zum
Beispiel den Zahlenwert eines Sensors,
- • periodischer
Ausgangsaustausch: der Inhalt wird von dem Speicher der Zentraleinheit
her empfangen, wobei diese Speicherzone im Allgemeinen Informationen
enthält,
die von dem Benutzerprogramm regelmäßig kommuniziert werden,
- • Austausch
auf Anfrage des Benutzerprogramms: Diese Zone hat Teile, deren Inhalt
von dem Speicher der Zentraleinheit her empfangen wird, und Teile,
deren Inhalt zu dem Speicher der Zentraleinheit gesendet wird, wobei
diese Speicherzone vom Benutzerprogramm „aperiodisch" verarbeitete Informationen
enthält,
- • Konfigurationsaustausch
beim Ingangsetzen des Benutzerprogramms: Diese Zone wird von dem
Speicher der Zentraleinheit her empfangen, diese Speicherzone enthält Informationen,
die der Benutzer definiert, um die Spartenfunktion zu starten.
-
Die
Zonen werden jeweils I, Q, M, K bezeichnet.
-
Das
Benutzerprogramm greift auf die Informationen zu, die in den unten
stehenden Zonen des Speichers der Zentraleinheit in Form der Struktur
von Daten gespeichert sind, durch die oben definierte Syntax zu.
-
Wenn
man einen logischen Kanal, 0 oder 1 zum Beispiel, betrachtet, enthält die Zone
I Informationen, die von diesem logischen Kanal erzeugt werden.
-
Die
Zone Q enthält
die Befehle oder Steuerungen der Zentraleinheit, die für den logischen
Kanal bestimmt sind.
-
Die
Zone M hängt
von der Spartenfunktion ab und kann Informationen des Typs „Status", spezifische Steuerparameter,
Einstellungsparameter enthalten. Diese Informationen werden auf
Anfrage des Benutzerprogramms ausgetauscht.
-
Die
Zustandsparameter fassen die Fehler des Kanals zusammen und eventuell
den Betriebszustand des logischen Kanals.
-
Die
Parameter der spezifischen Steuerung sind Steuerungen, die sich
von der Zone nur unterscheiden, weil sie auf Anfrage des Benutzerprogramms
gesendet werden, wie zum Beispiel ein Befehl zu einer Bewegung auf
eine Position und eine gegebene Geschwindigkeit.
-
Die
Einstellparameter sind Informationen, die zu dem logischen Kanal übertragen
werden, um evolutive Merkmale des Betriebsteils zu beschreiben.
Für einen
Achsensteuerkoppler ist einer der Parameter zum Beispiel die Positionsverstärkung des
Verfahrens.
-
Die
Zone K enthält
die Konfigurationsparameter, das heißt die Parameter der Sensoren
oder Stellglieder, die mit dem Koppler arbeiten. Es handelt sich
um Invarianten für
einen gegebenen Betriebsteil.
-
Die
verschiedenen Zonen I, Q, M und K sind jeweils in Speicherunterzonen
strukturiert, die den Informationstyp definieren, der in der Zone
enthalten ist. Diese Unterzonen sind die folgenden:
- – Unterzone „Bit", X genannt oder
standardgemäß (wenn
als Objekttyp nichts angegeben ist): die gespeicherte Information
ist binär,
wie zum Beispiel Auslösen
des Zählens,
- – Unterzone „Wörter", W genannt: die
gespeicherte Information ist des numerischen Typs auf 16 Bit codiert, wie
zum Beispiel der Zahlenwert eines Temperaturfühlers,
- – Unterzone „Doppelwörter", D genannt: die
gespeicherte Information ist des Zahlentyps, auf 32 Bit codiert, wie
zum Beispiel der Zahlenwert eines Temperaturfühlers,
- – Unterzone „gleitend", F genannt: die
gespeicherte Information ist des realen Typs mit einfacher Präzision, auf
32 Bit codiert (IEC 559), wie zum Beispiel der Zahlenwert eines
Temperaturfühlers.
-
Jede
Unterzone enthält
mehrere Informationen oder Elemente des gleichen Typs. Ein gegebenes
Element wird durch seinen „Rang" identifiziert, dessen
Wert gleich der Position des Elements in Bezug auf den Anfang der
Unterzone ist. Jedes Informationselement wird daher von einem Informationstyp
(X, W, D, F) und einem Rang innerhalb jeder Zone definiert.
-
Die
Syntax der Sprachschnittstelle hat die Form: %<Austauschtypcode><Informationstypcode><topologische Adresse><Rang>,
zum Beispiel %IW0.1.3.2.
-
Die
topologische Adresse wird von der Adresse des Kopplers definiert,
die der Nummer des logischen Kanals zugewiesen ist. Auf die im Haupteinschub
montierten Koppler wird über
eine Adresse gleich der Einschubnummer (Adresse 0) gefolgt von der
Kopplernummer definiert auf 1 oder 2 Stellen zugegriffen. Die Adresse
0.1.0 ist zum Beispiel der logische Kanal 0 des Kopplers, der sich
an der Lage 1 des Haupteinschubs befindet und standardgemäß die Lagenummer
0.%1D0.1 hat. 0 ist daher der Wert des logischen Kanals 0 der Zählung des
Zählers über 32 Bit
an der Lage 1 des Haupteinschubs.
-
Das
erfindungsgemäße Verfahren
wird nun unter Bezugnahme auf die 1 und 2 beschrieben.
-
Das
erste Tool umfasst zum Beispiel in Form einer Tabelle (1.1, 1.2),
die auf den Speichermitteln der Programmierstation gespeichert ist,
eine symbolische Beschreibung jedes Kanals der verschiedenen Eingänge-Ausgänge-Module.
Diese Beschreibung enthält
für jeden
Eingänge-Ausgänge-Kanal
eine Datei von Eingänge-Ausgänge-Objekten
des strukturierten Typs, die unten ohne Unterschied auch Objekte
des strukturierten Typs oder IODDT (auf Englisch: Input/Output Derived
Data Type) genannt werden. Jede Datei von Objekten des strukturierten
Typs wird durch einen Namen (1.10, 1.20) identifiziert,
der aus einer Kette besteht, zum Beispiel aus maximal 32 Zeichen.
Jedes Objekt des strukturierten Typs (zum Beispiel T_ANA_IN_GEN)
ist einzigartig definiert, um einen Identifikator eines Kanals oder
eines Eingänge-Ausgänge-Moduls
zu bilden.
-
Beispielhaft
definiert man für
einen analogen Eingang eines Eingänge-Ausgänge-Moduls das Objekt des strukturierten
Typs mit der Bezeichnung „T_ANA_IN_STD". Wenn dieses gleiche
Eingänge-Ausgänge-Modul
zum Beispiel einen Alles-Oder-Nichts-Eingang aufweist und verschiedene
Ausgänge,
wird ein anderes Objekt des strukturierten Typs für jeden
Eingang und eines für
jeden Ausgang des Eingänge-Ausgänge-Moduls
definiert.
-
Man
kann mit einem Objekt des strukturierten Typs einen Kommentar verbinden,
damit der Benutzer des erfindungsgemäßen Verfahrens die Beziehung
zwischen dem strukturierten Typ und dem Ausgang oder dem Eingang
des entsprechenden Moduls oder des entsprechenden Eingänge-Ausgänge-Kanals
herstellen kann.
-
Gemäß einer
Ausführungsvariante
fügt man
jedem Objekt des strukturierten Typs einen Schlüssel hinzu, der eine Familie
oder Klasse identifiziert, zu der das Objekt des strukturierten
Typs gehört.
Unter Familie versteht man eine Einheit von Objekten des strukturierten
Typs, die Eingänge-Ausgänge-Module
oder -Kanäle bezeichnen,
die die gleichen Spartenfunktionstyp ausführen. Ein erster Schlüssel (DIS)
erlaubt zum Beispiel das Identifizieren der Objekte des strukturierten
Typs der Module oder Eingänge-Ausgänge-Kanäle Alles-Oder-Nichts
(„TOR" oder „DIS" für diskret).
Ein zweiter Schlüssel
(ANA) erlaubt das Identifizieren der Objekte des strukturierten
Typs der Eingänge-Ausgänge-Module
oder – Kanäle, die
analoge Funktionen („ANA") durchführen. Ein
dritter Schlüssel
(COM) erlaubt es, Objekte des strukturierten Typs der Eingänge-Ausgänge-Module
oder – Kanäle der Kommunikationsfunktionen
(„COM") zu identifizieren.
Ein vierter Schlüssel (COUNT)
erlaubt es, Objekte des strukturierten Typs der Eingänge-Ausgänge-Module
oder -Kanäle
der Zählfunktionen
(„COUNT") zu identifizieren.
Ein fünfter
Schlüssel
erlaubt es, Objekte des strukturierten Typs der Eingänge-Ausgänge-Module
oder -Kanäle
der Bewegungsfunktionen zu identifizieren („AXIS" oder „CSY" oder „STEPPER" oder „INTERPO"). Weitere Schlüssel können für weitere Spartenfunktionen
definiert werden, wie zum Beispiel insbesondere Wiegefunktionen.
Dank dieser Schlüssel
können
die Objekte des strukturierten Typs in der Tabelle nach Spartenfunktion
eingestuft werden, um ihre Handhabung durch den Entwerfer der Prozesssteuerungsanwendung
zu erleichtern.
-
Die
folgende Familientabelle umfasst eine Liste ohne Anspruch auf Vollständigkeit
verschiedener Objekte des strukturierten Typs, die nach Familie
zusammengefasst sind, indem in einer ersten Spalte der Name der
Familie gegeben wird, zu der ein Objekt des strukturierten Typs
IODDT gehört,
in einer zweiten Spalte der Name des IODDT und in der dritten Spalte
eine zusammenfassende Beschreibung des IODDT.
-
-
-
Jedes
Objekt des strukturierten Typs IODDT enthält eine Struktur von Daten,
die mindestens ein charakteristisches Element (1.11) oder
charakteristisches Attribut enthält.
Alle Elemente oder Attribute eines Objekts des strukturierten Typs
bilden eine Struktur von Daten für
das betreffende Objekt des strukturierten Typs. Jedes Element oder
Attribut des Objekts des strukturierten Typs entspricht einer Eingangs-
oder Ausgangsinformation des Moduls oder des Eingänge-Ausgänge-Kanals,
das/der dem Objekt des strukturierten Typs entspricht, zu dem das
Element gehört.
-
Gemäß einem
weiteren Aspekt der Erfindung können
Beziehungen zwischen den verschiedenen IODDT-Objekten einer gleichen
Familie bestehen. Diese Beziehungen drücken sich durch das Erbe der
Elemente eines IODDT durch ein anderes IODDT aus. Es ist möglich, eine
Analogie zwischen der vorliegenden Erfindung und der auf klassische
Objekte im Bereich der Informatik ausgerichteten Programmierung
herzustellen. Aufgrund seiner Definition und seiner Struktur kann
ein Objekt des strukturierten Typs einer Klasse von Objekten in
objektorientierter Sprache gleichgestellt werden. Ebenso wie bei
der objektorientierten Sprache eine Unterklasse Attribute und Methoden
einer oder der Klassen, von der sie abhängt, erbt, erbt ein IODDT-Objekt ebenfalls
Elemente des OIDDT-Objekts, von dem es abhängt.
-
Beispielhaft
ist das IODDT T_DIS_IN_GEN, das einem Standard-Alles-Oder-Nichts-Eingang
entspricht, eine Untereinheit des IODDT T_DIS_IN_STD, das einem
generischen Alles-Oder-Nichts-Eingang entspricht. Alle Attribute
des IODDT T_DIS_IN_STD werden daher von dem IODDT T_DIS_IN_GEN geerbt.
-
Erfindungsgemäß kann die
Einheit der Elemente eines bestimmten Objekts des strukturierten
Typs (T_ANA_IN_STD, T_ANA_IN_GEN) in einer Tabelle (1.1 und 1.2)
in Bezug auf jedes Objekt zusammengefasst werden.
-
Die
Objekttabelle Nr. 1 (1.1) unten enthält die Elemente des Objekts
des strukturierten Typs „T_ANA_IN_STD", die zuvor definiert
wurden und das einem analogen Standardeingang eines Eingänge-Ausgänge-Objekts entspricht.
-
-
-
Jede
Objekttabelle enthält
eine erste Spalte, die den Namen des Elements definiert, der auch
den Identifikator des Elements des Objekts des strukturierten Typs
bildet. Dieser Identifikator ist zum Beispiel mnemonisch, so dass
der Entwerfer der Prozesssteuerungsanwendung das Eingänge-Ausgänge-Objekt, das dem Element
des Objekts des strukturierten Typs entspricht, schnell identifizieren
kann. CH_ERROR bezeichnet daher einen Kanalfehler („channel
error"), EXCH_STS
bezeichnet ein Wort für
Austausche („exchange
status"), CH_FLT
bezeichnet einen Kanalfehler („channel
fault"), CH_CMD
bezeichnet eine Steuerung des Kanals („channel command"), EXCH_RPT bezeichnet
einen Austauschebericht („exchange
report").
-
Eine
zweite Spalte der Objekttabelle enthält den Typ des Elements, das
heißt
den Typ der Information, die dem Objekt entspricht. Der Typ des
Elements erlaubt es mit Hilfe einer zweiten Tabelle, in der dritten
Spalte den Abstand zu bestimmen, mit welchem die möglichen
Werte des Elements variieren können.
Erfindungsgemäß ist der
Elementtyp einer der Typen elementarer Daten (auf Englisch: Elementary
Data Type, EDT), die bekannt sind und im Bereich der Prozesssteuerung
verwendet werden.
-
Die
Tabelle Nr. 2 unten ruft die verschiedenen EDT in Erinnerung:
- EBOOL:
- Boolesche mit Front
und Forcieren
- BOOL:
- Boolesche
- INT:
- Ganzzahl
- DINT:
- doppelte Ganzzahl
(D für
doppelt)
- UINT:
- Ganzzahl ohne Vorzeichen
(auf Englisch U für „unsigned")
- UDINT:
- doppelte Ganzzahl
ohne Vorzeichen
- WORD:
- binäres Wort
- DWORD:
- doppeltes binäres Wort
- REAL:
- reale Zahl
-
Eine
zweite Spalte der Tabelle Nr. 2 der elementaren Datentypen definiert
für jeden
Elementtyp die Liste der topologischen Objekte, die mit dem entsprechenden
elementaren Datentyp kompatibel sind.
-
Eine
dritte Spalte der Tabelle Nr. 1 der Elemente eines Objekts des strukturierten
Typs enthält
einen Kommentar oder eine Beschreibung (desc), die die Funktion
und/oder den Inhalt des Elements definiert.
-
Eine
vierte Spalte der Tabelle Nr. 1 der Elemente eines Objekts des strukturierten
Typs definiert den möglichen
Zugangstyp (Recht) zu diesem Element. Unter Zugang versteht man
entweder ein einfaches Lesen (R) des Elements oder ein Lesen und
ein Schreiben (R/W) des Elements. Gemäß der oben stehenden Tabelle zeigt
das Symbol R an, dass nur Leseoperationen, die von dem Programm
durchgeführt
werden, an dem Element möglich
sind. Das Symbol R/W zeigt an, dass Schreib- und Leseoperationen,
die von dem Programm durchgeführt
werden, an dem Element möglich
sind.
-
Beispielhaft
sind daher die einer Speicherzone, die einem periodischen Eingangsaustauschkanal
%I, %IW oder einer Speicherzone eines Konfigurationsaustauschskanals
%KW entspricht, zugewiesenen Elemente Elemente, die nur zum Lesen
zugänglich
sind, während
die einer Speicherzone eines periodischen Ausgangsaustauschskanals
%Q oder %QW zugewiesenen Elemente Elemente sind, die zum Lesen und
Schreiben zugänglich
sind. Für
die einer Speicherzone eines Austauschkanals auf Anfrage des Benutzerprogramms %MW
zugewiesenen Elemente hängen
die Zugangsrechte vom Elementtyp ab. Unter zugewiesen versteht man,
dass man ein physikalisches Element der Eingänge-Ausgänge-Module mit dem von dem
Typ definierten logischen Element verbindet.
-
Eine
fünfte
Spalte der Tabelle Nr. 1 der Elemente eines Objekts des strukturierten
Typs enthält
eine Charakterisierung (EXCH) der Art, in welcher die Information
zwischen dem Modul und dem Anwendungsprogramm übertragen wird. Beispielhaft
kann dieser Austausch sechs verschiedene Typen haben. Jeder Austauschtyp
wird einzigartig identifiziert.
- – IMP bedeutet,
dass die Information implizit ausgetauscht wird,
- – STS
bedeutet, dass die Information durch einen spezifischen Lesebefehl
ausgetauscht wird (READ_STS),
- – CMD
bedeutet, dass die Information durch einen spezifischen Schreibbefehl
ausgeführt
wird (WRITE_CMD),
- – PRM
bedeutet, dass die Information durch einen spezifischen Lese-, Schreib-,
Speicher- oder Widerherstellungsbefehl ausgetauscht wird (READ/WRITE/SAVE/RESTORE_PARAM),
- – SYS
bedeutet, dass die Information nur von dem System verwaltet wird,
das heißt
der Zentraleinheit der Prozesssteuerungsausstattung,
- – SPE
bedeutet, dass die Information auf spezifische Weise ausgetauscht
wird.
-
Eine
sechste Spalte der Tabelle Nr. 1 der Elemente eines Objekts des
strukturierten Typs erlaubt es, die relative Topographie (Englisch:
Mapping) durchzuführen,
indem die relative Adresse im Speicher des Eingänge-Ausgänge-Objekts
geliefert wird, die dem Element des Objekts des strukturierten Typs
entspricht. Diese Adresse wird von den technischen Unterlagen des
Herstellers der Vorrichtung geliefert, die den Kanal oder das Eingänge-Ausgänge-Modul,
das dem Element des Objekts des strukturierten Typs entspricht,
enthält.
Die Bezeichnung oder die Syntax der in der sechsten Spalte geschriebenen
relativen Adresse hängt
von der Sprachschnittstelle ab, die der Hersteller ausgewählt hat,
um jedes Eingänge-Ausgänge-Element
zu beschreiben.
-
Gemäß unserem
Beispiel ist die sechste Spalte der Tabelle Nr. 1 der Elemente eines
Objekts des strukturierten Typs in zwei Unterspalten geteilt. Eine
erste Unterspalte (Objekt) umfasst einen Datentyp, der das Eingänge-Ausgänge-Objekt
charakterisiert. Eine zweite Unterspalte (Rang) enthält den Rang
des Objekts.
-
Für unser
Beispiel liefert die unten stehende Tabelle Nr. 3 die Sprachschnittstelle,
die von einem Hersteller vorgesehen werden kann, um die Objekte
eines analogen Eingangskanals eines Eingänge-Ausgänge-Moduls der analogen Familie
zu beschreiben.
-
-
-
Eine ähnliche
Sprachschnittstellentabelle ist mit jedem Kanal jedes Moduls in
jeder der Familien (TOR, COM, COUNT, usw.) verbunden, und jede dieser
Tabellen wird vom Hersteller definiert.
-
Die
in den drei ersten Spalten der Tabelle Nr. 3 enthaltenen Informationen
betreffen insbesondere die relative Adresse (Objekt, Rang, Bit)
jedes Eingänge-Ausgänge-Objekts
des analogen Eingangs. Die in der vierten Spalte enthaltenen Informationen
entsprechen den Lese- und Schreibrechten. Die vierte und die sechste
Spalte der Tabelle Nr. 1 werden vom Hersteller des IODDT ausgefüllt und
gehören
zur Beschreibung des IODDT, die in einem Katalog auf der Programmierstation
gespeichert ist. Der Entwerfer einer Prozesssteuerungsanwendung
modifiziert daher den Inhalt dieser Spalten nicht.
-
Beispielhaft
ist das Element „VALUE" des Objekts des
strukturierten Typs „T_ANA_IN_STD" der Tabelle Nr.
1 der Elemente eines Objekts des strukturierten Typs als der Wert
des analogen Standardeingangs eines analogen Eingangs eines Eingänge-Ausgänge-Moduls
definiert. Gemäß der dritten
Zeile der Tabelle Nr. 3 der Sprachschnittstelle ist der Wert des
analogen Eingangs ein Objekt des Typs %IW Wort in einer Speicherzone
eines periodischen Austauschkanals am Eingang mit Rang 0 und nur
zum Lesen zugänglich.
Ausgehend von diesen Informationen, die der technischen Dokumentation
des analogen Eingangs des Eingänge-Ausgänge-Moduls
entnommen werden, füllt
der Hersteller die Zeile „VALUE" der Tabelle Nr.
1 aus, indem er in die vierte Spalte den Buchstaben R über eine
entsprechende grafische Schnittstelle eingibt, um anzuzeigen, dass
das Element „VALUE" des Objekts des
strukturierten Typs „T_ANA_IN_STD" nur zum Lesen zugänglich ist.
Ebenso füllt
der Hersteller die Zeile „VALUE" der Tabelle Nr.
1 der Elemente eines Objekts des strukturierten Typs aus, indem
er in die sechste Spalte „%IW" eingibt, um die
Speicherzone und die Speichergröße des Elements „VALUE" des Objekts des
strukturierten Typs „T_ANA_IN_STD" anzuzeigen.
-
Die
relative topologische Adresse, die in der sechsten Spalte der Tabelle
Nr. 1 der Elemente eines Objekts des strukturierten Typs gegeben
wird, erlaubt es der Prozesssteuerungsanwendung nicht, die in dem
Programm enthaltenen Eingänge-Ausgänge-Objekte
zu verwenden. Die in der sechsten Spalte der Tabelle Nr. 1 der Elemente
eines Objekts des strukturierten Typs enthaltenen Informationen
erlauben es nämlich
nicht, die komplette topologische Adresse des Eingänge-Ausgänge-Objekts wiederherzustellen.
Wie zu Beginn der Beschreibung erklärt, besteht das Hauptmerkmal
der Programmierung einer Prozesssteuerungsausstattung darin, dass
jedes Element oder jede Variable, die in einem Prozesssteuerungsanwendungsprogramm
verwendet wird, in einer präzisen
Speicherzone der Zentraleinheit der Prozesssteuerungsausstattung
gespeichert ist, wobei diese Speicherzone in Abhängigkeit von der physikalischen
Lage der Eingänge-Ausgänge-Module
definiert ist. Damit daher in unserem Beispiel die Adresse in der
Speicherzone jedes Elements komplett definiert werden kann, muss
man die physikalische Lage oder die genaue Topologie des Eingänge-Ausgänge-Moduls
kennen, das einen analogen Eingang enthält, der dem strukturierten
Typs „T_ANA_IN_STD" entspricht.
-
Erfindungsgemäß liefert
die sechste Spalte der Tabelle Nr. 1 der Elemente eines Objekts
des strukturierten Typs nur eine Information über den Elementartyp (EDT)
des Objekts und über
den Rang dieses Objekts.
-
Wenn
man jede Tabelle Nr. 1 der Elemente eines Objekts des strukturierten
Typs für
jedes Objekt des strukturierten Typs aufbaut, versteht man, dass
es möglich
ist, zuvor für
jeden Kanal eines bestimmten Eingänge-Ausgänge-Moduls mehrere Objekte
strukturierten Typs oder IODDT sowie ihre zugehörigen Elemente unabhängig von
der physikalischen Implementierung des Eingänge-Ausgänge-Moduls in einer Prozesssteuerungsausstattung
zu definieren. Wenn zwei oder mehrere Eingänge-Ausgänge-Module, eventuell unterschiedlichen
Typs, ebenso einen Kanal enthalten, der die gleiche Spartenfunktion
durchführt,
wird ein einziger strukturierter Typ oder IODDT für alle Kanäle der Module,
die die gleiche Spartenfunktion ausführen, definiert.
-
Bei
unserem Beispiel ist das Objekt des strukturierten Typs „T_ANA_IN_STD" für einen
analogen Standardeingang eines ersten Moduls definiert. Wenn ein
zweites unterschiedliches Modul einen analogen Standardeingang enthält, der
mindestens alle Elemente des Objekts des strukturierten Typs, die
in der Tabelle Nr. 1 definiert sind, erzeugt, kann der gleiche strukturierte
Typ „T_ANA_IN_STD" bei der Umsetzung
des Anwendungsprogramms für
das zweite Modul verwendet werden. In unserem Beispiel betrifft
nämlich
der Unterschied zwischen dem ersten und dem zweiten Modul nur die
Topologie jedes der Module. Wie zuvor erklärt, sind die Objekte strukturierten
Typs nun aber von ihrer genauen Topologie unabhängig.
-
Die
Tabelle Nr. 1 der Elemente eines Objekts des strukturierten Typs
werden von dem Hersteller der Module angelegt und dem Entwerfer
des Anwendungsprogramms geliefert, zum Beispiel in Form einer Datei, die
auf tragbaren Speichermitteln gespeichert ist.
-
Da
die Objekte strukturierten Typs, das heißt die Tabellen (1.1, 1.2)
der Elemente eines Objekts des strukturierten Typs jeweils einem
Objekt des strukturierten Typs entsprechen, werden sie von dem Entwerfer eines
Anwendungsprogramms danach verwendet, um alle Eingänge-Ausgänge-Variablen
zu definieren, die der Entwerfer verwenden will. Diese Definition
besteht in der Tat darin, ein Objekt strukturierten Typs, das in der
Tabelle Nr. 1 mit einer Eingänge-Ausgänge-Variablen (100)
definiert ist, die vom Entwerfer des Anwendungsprogramms ausgewählt wird,
zu instanziieren. Diese Erklärung
erfolgt entweder zu Beginn des Programms oder in einer vierten getrennten
Instanziierungstabelle Nr. 4 (4, 1).
-
Diese
Instanziierungstabelle Nr. 4 (
4) ist auf Speichermitteln
der Programmierstation, zum Beispiel in der folgenden Form gespeichert:
-
Eine
erste Spalte enthält
eine Zeichenkette, die von Entwerfer ausgewählt wird, um eine Variable
zu identifizieren. Eine zweite Spalte enthält das Objekt strukturierten
Typs, das dieser Variablen zugewiesenen ist.
-
Die
vierte Instanziierungstabelle kann mit Hilfe einer grafischen Schnittstelle
der Programmierstation aufgebaut werden, die es erlaubt, alle in
dem Programm verwendeten Variablen zu editieren.
-
Indem
jede Variable (100) auf diese Art gemeldet wird, verbindet
der Entwerfer auch mit jeder symbolischen Eingänge-Ausgänge-Variablen (100)
die Struktur von Daten, die einem Objekt des strukturierten Typs (1.10)
entspricht, die in der Tabelle Nr. 1 gespeichert ist. Um daher bei
unserem Beispiel den Wert des analogen Eingangs der Eingänge-Ausgänge-Variable
Tank1 zu bezeichnen, schreibt der Entwerfer einfach „Tank1.VALUE".
-
Man
stellt daher fest, dass der Entwerfer beim Schreiben des Anwendungsprogramms
(10) die genaue physikalische Lage nicht mehr zu kennen
braucht, das heißt
die Topologie oder die Konfiguration der Eingänge-Ausgänge-Module. Er verwendet in
der Tat für
jede Variable des Programms eine symbolische Variable (100)
(zum Beispiel Tank1, Tank2) und ein Objekt des strukturierten Typs,
das diese Variable darstellt. Die Programmierung ist daher von der
materiellen Lage der Prozesssteuerungsausstattung unabhängig. Ebenso braucht
der Entwerfer die Herstellersprachschnittstelle für die Module,
die er verwendet, nicht mehr zu kennen.
-
Man
versteht, dass es der Gebrauch dieser symbolischen Variablen (100)
und der Objekte des strukturierten Typs erlaubt, eine Programmierung
einer Prozesssteuerungsausstattung durchzuführen, bevor man mit Präzision die
topologische Adresse der verschiedenen Module, welche sie enthält, oder
die Konfiguration der Eingänge-Ausgänge-Module
kennt. Ebenso versteht man, dass eine gleiche Programmierung vorteilhafterweise
auf mehrere Prozesssteuerungsausstattungen insofern angewandt werden
kann, als diese Prozesssteuerungsausstattungen die gleichen Spartenfunktionen
durchführen
und insofern als die Eingänge-Ausgänge-Module
der Prozesssteuerungsausstattungen die gleichen Objekte des strukturierten
Typs unterstützen.
-
Ebenso
haben die symbolischen Variablen (100) Typen und können daher
als Parameter eines Funktionsblocks verwendet werden.
-
Damit
das mit den symbolischen strukturierten Variablen (100)
geschriebene Programm auf einer Prozesssteuerungsausstattung funktionieren
kann, muss man zuerst einen Konfigurationsschritt der symbolischen
Eingänge-Ausgänge-Variablen
durchführen
und danach einen Schritt (50) zum Kompilieren des Programms,
um ein ausführbares
Anwendungsprogramm (30) zu erzielen, das von einer Zentraleinheit
der Prozesssteuerungsausstattung ausgeführt werden kann.
-
Der
Konfigurationsschritt der symbolischen Eingänge-Ausgänge-Variablen
besteht darin, die Lage jedes Moduls in der Prozesssteuerungsausstattung
zu definieren. Dazu liefert der Entwerfer nur die Position jedes
Eingänge-Ausgänge-Moduls,
von dem mindestens eine Information in dem Anwendungsprogramm verwendet
wird. Diese Konfiguration wird zum Beispiel in einer fünften Tabelle
Nr. 5 (5, 1), Konfigurationstabelle genannt,
die in den Speichermitteln der Programmierstation gespeichert ist,
zusammengefasst, von welcher eine erste Spalte den Namen der Eingänge-Ausgänge-Variablen
enthält,
die in dem Programm verwendet werden, und bei der eine zweite Spalte
Folgendes umfasst:
- – die Lage (Einschub Nr.) in
der Prozesssteuerungsausstattung des Eingänge-Ausgänge-Moduls,
die der Eingänge-Ausgänge-Variablen entspricht,
indem die Nummer der Platine definiert wird,
- – die
Nummer der Lage (Lage Nr.) in der Platine, und
- – die
Kanalnummer (Kanal Nr.) in der Lage.
-
Die
unten stehende Konfigurationstabelle Nr. 5 gibt ein Konfigurationsbeispiel.
-
-
Wenn
die Konfiguration der symbolischen Eingänge-Ausgänge-Variablen
abgeschlossen ist, wählt
der Entwerfer der Prozesssteuerungsanwendung für jede symbolische Eingänge-Ausgänge-Variable
ein Eingänge-Ausgänge-Modul
mit bestimmter Handelsreferenz aus. Dieser Schritt wird im Allgemeinen
Schritt zu Konfiguration der Eingänge-Ausgänge-Module genannt. Die Konfiguration
der Eingänge-Ausgänge-Module
umfasst ferner wie bekannt die Zuweisung des ausgewählten Moduls
zu einer physikalischen Lage in einer Platine (Einschub). Diese
Zuweisung muss der Konfiguration des Objekts des strukturierten
Typs entsprechen, die zuvor ausgeführt wurde, so dass die für das Objekt
des strukturierten Typs ausgewählte
Lage der Lage des Kanals des ausgewählten Eingänge-Ausgänge-Moduls entspricht.
-
Die
Lage des Eingänge-Ausgänge-Moduls
mit bestimmter Handelsreferenz muss daher der Lage eines zugehörigen Objekts
des strukturierten Typs entsprechen, das mit dem Eingänge-Ausgänge-Modul
kompatibel ist.
-
Wenn
die Konfigurationstabelle Nr. 5 von dem Entwerfer vervollständigt wird,
zum Beispiel über
Wechselwirkungsmittel der Programmierstation, löst Letzterer auf der Programmierstation
einen Auslegungsschritt (40), der darauf abzielt, die komplette
topologische Adresse jeder symbolischen Variablen (100)
zu erzeugen, die von dem Entwerfer des Programms verwendet wird,
um das Anwendungsprogramm (10), das mit Eingänge-Ausgänge-Variablen
mit symbolischer Form geschrieben ist, in ein ausgelegtes Anwendungsprogramm (20)
umzuwandeln, das kompiliert werden kann, um auf der betreffenden
Prozesssteuerungsausstattung ausführbar zu sein.
-
Dazu
enthält
die Programmierstation Mittel zum Auslegen, die auf die Speichermittel
zugreifen können,
die die Tabellen Nr. 1 (1.1, 1.2) der Elemente
eines Objekts des strukturierten Typs, die Tabellen Nr. 4 (4, 1)
zum Instanziieren und die Konfigurationstabelle Nr. 5 (5, 1)
enthalten. Die Auslegungsmittel umfassen Mittel zum Auslegen des
Anwendungsprogramms (10), das mit den symbolischen Eingänge-Ausgänge-Variablen geschrieben
ist. Wie zuvor erklärt,
enthält
eine Variable (100) im Wesentlichen zwei Felder (101, (102).
Ein erstes Feld (101) erlaubt es, die Identität der manipulierten
symbolischen Variablen (100) anzuzeigen. Das zweite Feld
(102) erlaubt es, das Element des Objekts des strukturierten
Typs, das dieser Variablen entspricht, zu identifizieren.
-
Die
Auslegungsmittel erfassen daher zuerst die Struktur der symbolischen
Variablen (100). Danach bestimmen die Auslegungsmittel
zuerst das IODDT oder Objekt des strukturierten Typs, das zu der
Variablen gehört,
indem sie in einem ersten Schritt (31) die Zeichenkette
des ersten Felds (101) dieser Variablen mit der Einheit
der Variablen narren der Instanziierungstabelle Nr. 4 (4)
vergleichen. Wenn eine Übereinstimmung
gefunden wird, extrahieren die Auslegungsmittel aus der Instanziierungstabelle
Nr. 4 den Identifikator des strukturierten Typs, der zu der Eingänge-Ausgänge-Variablen gehört, um ihn
vorübergehend
in den Speichermitteln zu speichern. Die Auslegungsmittel bestimmen
zweitens den Lage des zu dieser Variablen gehörenden Moduls, indem sie in
einem zweiten Schritt (32) die Zeichenkette des ersten
Felds (101) dieser Variablen mit allen Variablennamen der
Konfigurationstabelle Nr. 5 (5) vergleichen. Wenn eine Übereinstimmung
gefunden wird, extrahieren die Auslegungsmittel aus der Konfigurationstabelle
Nr. 5 in einem dritten Schritt (33) die Nr. der Platine
(des Einschubs), die Lage-Nr. in dem Einschub und die Kanal – Nr. dieser
Lage, um sie vorübergehend in
Speichermitteln zu speichern.
-
Die
Auslegungsmittel bestimmen schließlich die genaue Adresse des
Eingänge-Ausgänge-Objekts, das
der Eingänge-Ausgänge-Variablen
entspricht. Dazu vergleichen die Auslegungsmittel in einem vierten Schritt
(34) das zweite Feld (102) der Eingänge-Ausgänge-Variablen
mit den Namen der Elemente des strukturierten Typs der Tabelle Nr.
1 (1.1), die dem strukturierten Typ entsprechen, der nach
der Auslegung des ersten Felds (101) der Eingänge-Ausgänge-Variablen
extrahiert und gespeichert wurde. Wenn eine Übereinstimmung in der Tabelle
Nr. 1 gefunden wird, extrahieren die Auslegungsmittel in einem fünften Schritt
(35) die relative Adresse und vervollständigen sie mit der Lage des
Moduls, die nach der Auslegung des ersten Felds (101) der
symbolischen Eingänge-Ausgänge-Variablen (100)
extrahiert und gespeichert wurde. Die so von den Auslegungsmittel
wiederhergestellte komplette topologische Adresse (200)
wird dann an Stelle der symbolischen Eingänge-Ausgänge-Variablen (100)
in dem Anwendungsprogramm (10) eingesetzt. Wenn das gesamte
Anwendungsprogramm derart von den Auslegungsmitteln der Programmierstation
modifiziert wurde, werden alle symbolischen Variablen (100)
durch die genaue topologische Adresse (200) auf der Prozesssteuerungsausstattung
des entsprechenden Eingänge-Ausgänge-Objekts
ersetzt.
-
Danach
kann das ausgelegte Anwendungsprogramm (20) kompiliert
(50) werden, so dass es in ein Prozesssteuerungsanwendungsprogramm
(30) umgewandelt wird, das auf der betreffenden Prozesssteuerungsausstattung
ausführbar
ist.
-
Bei
der Kompilierung, das heißt
beim Erzeugen des auf der Prozesssteuerungsausstattung ausführbaren
Prozesssteuerungsanwendungsprogramms, muss ein Prüfschritt
durchgeführt
werden, um zu prüfen, ob
für jede
Lage eines Objekts des strukturierten Typs der entsprechende Kanal
auf dem von dem Entwerfer an dieser Lage gemeldeten Eingänge-Ausgänge-Modul
es erlaubt, das Objekt des strukturierten Typs zu verwenden, das
dieser Lage zugewiesen ist. Wenn in unserem Beispiel der Entwerfer
daher die Variable „Tank1" als den strukturierten
Typ „T_ANA_IN_STD" auf dem Kanal 3
der Lage 2 der Platine 1 des Moduls erklärt hat, muss die von dem Entwerfer
an der Lage 2 der Platine 1 (Einschub) gemeldete und konfigurierte
Handelsreferenz des Eingänge-Ausgänge-Moduls
die Referenz des analogen Eingangsmoduls sein, dessen Kanal 3 das Objekt
des strukturierten Typs „T_ANA_IN_STD" unterstützt.
-
Dazu
besteht der Prüfschritt
in einer Prüfung
durch Prüfmittel
der Programmierstation, dass das Objekt des strukturierten Typs
der symbolischen Variablen, die der topologischen Adresse entspricht,
für jede
topologische Adresse zu der Liste der Objekte des strukturierten
Typs gehört,
die von dem Eingänge-Ausgänge-Modul
unterstützt
werden, das an der gleichen topologischen Adresse ausgewählt und
konfiguriert wurde. Die Liste der Objekte des strukturierten Typs,
die von einem ausgewählten
Eingänge-Ausgänge-Modul
unterstützt werden,
wird auf der Programmierstation gespeichert, zum Beispiel in Form
eines Katalogs in einer Datei.
-
Bei
unserem Beispiel durchsuchen die Prüfmittel daher die Liste der
Objekte des strukturierten Typs, die von dem ausgewählten Eingänge-Ausgänge-Modul
unterstützt
werden, um die Variable „Tank1" durchzuführen, um
zu suchen, ob an der Lage 2 der Platine 1 der Kanal 3 des Moduls
in der Liste der Objekte des strukturierten Typs das Objekt des
strukturierten Typs „T_ANA_IN_STD" enthält.
-
Nach
diesem Prüfschritt
wird das ausführbare
Anwendungsprogramm anschließend
von der Programmierstation zu der Prozesssteuerungsausstattung,
auf der es laufen soll, übertragen.
Diese Übertragung
kann über
tragbare Speichermittel erfolgen, die an die Prozesssteuerungsausstattung
angepasst sind, auf welcher die Programmierstation das ausführbare Anwendungsprogramm
gespeichert hat. Bei einer anderen Ausführungsvariante wird das ausführbare Anwendungsprogramm
auf Speichermitteln der Prozesssteuerungsausstattung über eine
Kommunikationsverbindung zwischen der Prozesssteuerungsausstattung
und der Programmierstation übertragen.
-
3 gibt
ein Beispiel eines grafischen Editors für Eingänge-Ausgänge-Variable eines Programms
an. Gemäß einer
Ausführungsvariante
enthält
der grafische Editor einen Bildschirm (6), der eine Vielzahl
von Anzeigezonen und Eingabezonen umfasst, die als Tabelle organisiert
sind. Man muss wissen, dass zu Beginn der Erklärung der Eingänge-Ausgänge-Variablen
des Programms alle Zonen leer sind, mit Ausnahme einer Vielzahl
von Zonen, die die erste Zeile der Tabelle (6) bilden.
Eine erste Spalte (61) ist eine Eingabespalte und erlaubt
es dem Entwerfer, den Namen jeder Variablen, die er verwenden will,
einzugeben und zu speichern. In einer ersten Zelle (611)
der ersten Spalte hat der Bediener den Namen „Tank1" einer ersten symbolischen Variablen
(100) eingegeben, und in einer zweiten Zelle (612)
der ersten Spalte (61) hat der Entwerfer den Namen „Tank2" einer zweiten symbolischen
Variablen (100) eingegeben. Für jede eingegebene Variable
wählt der
Entwerfer aus einer zweiten Spalte (62) der Tabelle (6)
das Objekt des strukturierten Typs, das er ihr zuweisen will, aus.
Wenn der Entwerfer den genauen Namen des Objekts des strukturierten
Typs kennt, gibt er ihn dazu in die Eingabezone (621, 622)
der zweiten Spalte (62) ein, die mit der entsprechenden
Zelle (611, 612) verbunden ist. Bei einer anderen
Variante kann ein Abrollmenü (nicht
dargestellt) angezeigt werden, wenn der Entwerfer einen Cursor auf
die Eingabezone (621, 622) der zweiten Spalte
(62), die zu der entsprechenden Zelle (611, 612)
gehört,
zeigt. Das Abrollmenü umfasst
daher die Liste aller verfügbaren
IODDT. Die Auswahl, gefolgt von der Bestätigung eines IODDT der Liste
bewirkt das Schließen
des Abrollmenüs
und das Anzeigen des ausgewählten
IODDT in der Eingabezone (621, 622) der zweiten
Spalte (62), die zu der entsprechenden Zelle (611, 612)
gehört.
In einer dritten Spalte (63) und in der zweiten Spalte
(62) erfolgt die Anzeige aller Namen der Elemente des ausgewählten IODDT
sowie des Typs jedes Elements durch diese Operation. Diese Anzeige
erfolgt durch ein Extrahieren der Elemente eines entsprechenden
Objekts des strukturierten Typs aus der Tabelle Nr. 1 (1.1, 1),
Elemente, die dem Objekt IODDT entsprechen, das der Benutzer ausgewählt hat.
Der Entwerfer wiederholt danach den Vorgang für jede Variable, die er gemeldet
hat.
-
Wie
zuvor erklärt,
kann der Entwerfer nach diesem Meldeschritt das Programm schreiben,
indem er die symbolische Variable (100), die er gemeldet
hat, verwendet.
-
Der
Schritt der Konfiguration der symbolischen Eingänge-Ausgänge-Variablen, die zuvor definiert
wurden, besteht darin, die vierte Spalte (64), die von
dem Editor angezeigt wird, mit der physikalischen Lage jedes Moduls
auszufüllen,
das der ausgewählten
symbolischen Variablen (100) entspricht. Dazu gibt der
Entwerfer in jede Zelle (641, 642) der vierten
Spalte (64), die jeder Zelle (611, 612)
der ersten Spalte (61), die den Namen einer symbolischen
variablen (100) enthält,
entspricht, die genaue Lage des Kanals ein, der die symbolische Variable
(100) unterstützt.
Die in die Zellen (641, 642) der vierten Spalte
eingegebenen Informationen entsprechen den Informationen der Konfigurationstabelle
Nr. 5 (5, 1). Sobald der Entwerfer die
Eingabe der genauen Lage des Kanals, der die symbolische Variable
(100) unterstützt,
bestätigt,
bestimmt ein Modul der grafischen Schnittstelle für jedes
Element des Objekts des strukturierten Typs die komplette topologische
Adresse und zeigt sie in den Zellen (643) der vierten Spalte,
die jedem Element des Objekts des strukturierten Typs entsprechen,
an. Die Bestimmung der kompletten topologischen Adresse erfolgt,
indem die relative Adresse des Elements des Objekts strukturierten
Typs, das in der Tabelle Nr. 1 der Elemente eines Objekts des strukturierten
Typs, das dem zugehörigen
Objekt des strukturierten Typs entspricht, gespeichert ist, mit
der genauen Lage des Kanals ergänzt
wird, die in den entsprechenden Zellen der vierte Spalte (64)
eingegeben wurde.
-
Nach
dem Ergänzen
kann die Tabelle (6) der grafischen Schnittstelle von den
Auslegungsmitteln ausgewertet werden, um in dem Programm (10)
wie oben beschrieben jede programmierte symbolische Variable (100)
durch ihre komplette topologische Adresse zu ersetzen.
-
Es
ist für
den Fachmann offensichtlich, dass die vorliegende Erfindung Ausführungsformen
unter zahlreichen anderen spezifischen Formen erlaubt, ohne den
Geltungsbereich der Erfindung wie beansprucht zu verlassen. Die
vorliegenden Ausführungsformen
müssen
daher als beispielhaft betrachtet werden, können jedoch in dem von dem
Geltungsbereich der anliegenden Ansprüche definierten Gebiet modifiziert
werden, und die Erfindung darf nicht auf die oben gegebenen Details
beschränkt
werden.