-
Die
vorliegende Erfindung bezieht sich auf eine programmierbare Steuereinrichtung,
die derzeit in breitem Umfang bei der Steuerung insbesondere von
Stahl- oder Papierherstellungsanlagen oder von öffentlichen Systemen wie etwa
der Wasserversorgung und des Abwassernetzes, oder von industriellen
Systemen wie etwa in der Kraftfahrzeugindustrie eingesetzt wird.
-
Unter
Bezugnahme auf 8 wird ein herkömmliche
Datenkommunikation erläutert,
durch die Daten zwischen programmierbaren Steuereinrichtung (im
folgenden auch als PCs bezeichnet) ausgetauscht werden. Wenn die
Datenkommunikation zwischen programmierbaren Steuereinrichtungen
PC 1 und PC 2 durchgeführt
wird, wird bislang eine Adresse bezeichnet, die von dem Aufbau des
Geräts
abhängt
und beispielsweise der Anzahl oder Nummer von Registern (Registernummer
Reg.-Nr.) oder der Anzahl oder Nummer von Geräten entspricht, wobei diese
in einer Datenspeichereinrichtung der jeweiligen programmierbaren
Steuereinrichtung PC 1 und PC 2 gespeichert sind. Dies bedeutet
jedoch, daß ein Datenaustausch
unter Verwendung von tatsächlichen
funktionellen Bezeichnungen bzw. Funktionsnamen (logischen Namen
von Variablen) wie etwa eines Grenzschalters, eines Abschalters
für den
Notfall usw. bislang bei Programmen nicht ausgeführt wird.
-
Ein
Nachteil bei der vorstehend beschriebenen herkömmlichen Methode besteht darin,
daß keine
Möglichkeit
besteht, auf spezielle Daten zuzugreifen, sofern man nicht stets
Kenntnisse über
den internen Aufbau und/oder den Programmaufbau einer jeweiligen
programmierbaren Steuereinrichtung PC besitzt. Selbst wenn eine
programmierbare Steuereinrichtung PC, mit der die Datenkommunikation ausgeführt werden
soll, eine Steuereinrichtung ist, in der ein gleichartiges Programm
ausgeführt
wird, stellt sich die Notwendigkeit, daß die Zugriffsmethode geändert wird.
wenn sich der Aufbau der Programme und die Anordnung der Speicher
auch nur geringfügig
unterscheiden sollten. Wenn ferner das Programm einer kommunizierenden
Steuereinrichtung PC geändert
wird, während
die Kommunikation gerade abgearbeitet wird, gibt es zudem keine
Möglichkeit,
dieser Änderung
zu folgen.
-
Wenn
auf der anderen Seite Daten aber in Form der Namen von Variablen
ausgetauscht werden, wird dann, wenn die Anordnung bzw. Ausgestaltung
einer jeweiligen Variablen in der anderen Steuereinrichtung geändert wird,
ein Verfahren notwendig, damit diese Variable automatisch korrigiert
wird. Wenn ein weiteres Programm unter Verwendung des Namens einer
Variablen programmiert wird, ist es im Hinblick auf die Programmierung
zweckmäßig, einen Zugriff
auf die Variable zu gewinnen, indem der Name dieser Variablen bezeichnet
wird. Hierbei ist es jedoch mühsam,
die tatsächliche
Adresse einer Variablen aus einem angeforderten Variablennamen zu
ermitteln, wozu auch entsprechender Zeitbedarf benötigt wird.
Ferner kann die Adresse einer Variablen möglicherweise ständig bei
einer Änderung
des Programms des PC in der anderen Steuereinrichtung geändert werden,
so daß es
notwendig werden kann, diesem Umstand jeweils Rechnung zu tragen.
Eine derartige Methode befindet sich daher aktuell nicht in praktischem
Einsatz.
-
Die
EP 522 590 A1 betrifft
eine Kommunikationsvorrichtung, die ein MAP (Manufacturing Automation
Protocol) integriert aufweist, das, ein internationales standardisiertes Übertragungsprotokoll
ist, das in einer Fabrikautomatisierungsumgebung verwendet werden
kann.
-
Die
WO 96/16366 A1 betrifft
eine Anordnung mit mindestens einer Mastereinheit, die über einen Bus
mit Slaveeinheiten verbunden ist, die jeweils einen Speicher aufweisen,
in welchem die Mastereinheit eine Lese- und/oder Schreiboperation
durchführen
kann.
-
Aufgabe
der Erfindung ist die Schaffung einer Steuereinrichtung mit einem
größeren Freiheitsgrad,
bei der eine Programmänderung
der Steuereinrichtung keine Programmänderung einer anderen auf die
Steuereinrichtung zugreifenden Steuereinrichtung zur Folge hat.
-
Diese
Aufgabe wird mit den im Patentanspruch 1 genannten Merkmalen gelöst.
-
Vorteilhafte
Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
-
Gemäß der vorliegenden
Erfindung wird zur Lösung
der vorstehend angegebenen Aufgabe somit eine programmierbare Steuereinrichtung
(Controller) geschaffen, die imstande ist, Daten zwischen der eigenen
Steuereinrichtung (Controller), d. h. ihr selbst, und anderen Steuereinrichtungen
(Controllern) zu übertragen,
wobei jede dieser Steuereinrichtungen eine Datenspeichereinrichtung
zum Speichern von für
die Steuerung erforderlichen Daten, einen Programmspeicher zum Speichern
eines sequentiellen Programms, eine Kommunikationsschnittstelle
für die
Kommunikation mit einer angepaßten
bzw. passenden Steuereinrichtung, und eine zentrale Verarbeitungseinheit
(CPU) zum Ausführen
des sequentiellen Programms und zum Steuern von dessen Abarbeitung
aufweist. Hierbei zeichnet sich die programmierbare Steuereinrichtung
gemäß der vorliegenden Erfindung
dadurch aus, daß sie
mit einer Variablennamen umwandelnden Umwandlungseinrichtung versehen
ist, durch die der Name einer Variablen, der ein tatsächlicher
funktioneller Name ist, in eine physikalische Adresse umgewandelt
werden kann, wenn ein variabler Zugriff oder Variablenzugriff von
der anderen Steuereinrichtung auf die eigene Steuereinrichtung gefordert
wird.
-
Gemäß der vorstehend
umrissenen Erfindung ist es möglich,
auf Daten mit Hilfe eines Variablennamens zuzugreifen, der ein aktueller
funktioneller Name ist. Dies ist möglich, weil die die Variablennamen
umwandelnde Umwandlungseinrichtung vorgesehen ist. Dies ist vom
Gesichtspunkt der Programmierung her gesehen sehr zweckmäßig. Die
zur Umwandlung der Variablennamen dienende Umwandlungseinrichtung
weist eine Zugriffs-Variablennamen-Speichereinrichtung zum Speichern
von Variablennamen für
die Ausführung
eines variablen Zugriffs auf die Daten einer Datenspeichereinrichtung
in der anderen Steuereinrichtung; eine für eine Zugriffsanforderung
vorgesehene Variablennamen-Speichereinrichtung zum Speichern von
Variablennamen der Daten, wenn ein variabler Zugriff bzw. Variablenzugriff
auf die Daten in einer Datenspeichereinrichtung der eigenen Steuereinrichtung
von der anderen Steuereinrichtung angefordert wird; eine für angesprochene
Variablennamen vorgesehene Speichereinrichtung zum Speichern von
Variablennamen der Daten in der Datenspeichereinrichtung, die von der
eigenen Steuereinrichtung für
die andere Steuereinrichtung bestätigt bzw. für einen Zugriff freigegeben
worden sind, um hierdurch einen Zugriff zu den Daten von der Außenseite
her zu ermöglichen;
eine Übereinstimmungserfassungseinrichtung
zum Erfassen einer Übereinstimmung
zwischen dem Namen einer Variablen, der in der für die Zugriffsanforderung vorgesehenen
Variablennamen-Speichereinrichtung gespeichert
ist, und dem Namen einer Variablen, der in der für die angesprochenen Variablennamen
vorgesehenen Speichereinrichtung gespeichert ist, sofern der Zugriff
zu der Variablen von der anderen Steuereinrichtung auf die eigene
Steuereinrichtung angefordert wird, sowie zum Ausgeben eines die Übereinstimmung
anzeigenden Erfassungssignals bei der Ermittlung des Vorliegen der Übereinstimmung;
und eine für
die physikalische Adresse vorgesehene Umwandlungseinrichtung auf,
die zum Umwandeln desjenigen Variablennamens der in der für die angesprochenen
Variablennamen vorgesehenen Speichereinrichtung vorhandenen Namen
der Variablen, bezüglich
dessen eine Übereinstimmung
erfaßt
worden ist, in eine physikalische Adresse in der Datenspeichereinrichtung
vorgesehen ist, wenn ein die Übereinstimmung
anzeigendes Erfassungssignal von der Erfassungseinrichtung abgegeben
wird.
-
Wenn
bei der vorstehend erläuterten
erfindungsgemäßen Ausgestaltung
der Steuereinrichtung die eigene Steuereinrichtung (Controller)
von der anderen Steuereinrichtung (Controller) mittels eines Variablennamens
aufgefordert wird, Zugriff zu Daten zu gewinnen, wird dieser Variablenname
in eine physikalische Adresse umgewandelt, die in der Datenspeichereinrichtung
gespeichert ist. Es ist damit möglich, Zugriff
zu den Daten mittels eines Variablennamen jeweils zwischen der eigenen
Steuereinrichtung und der anderen Steuereinrichtung, das heißt in gegenseitiger
Weise zwischen diesen Steuereinrichtungen zu erreichen. Ferner kann
bei der programmierbaren Steuereinrichtung gemäß der vorliegenden Erfindung eine
zusätzliche
Sperreinrichtung zum Erlauben und/oder Sperren der Umwandlung vorgesehen
sein. Wenn eine physikalische Adresse, die einem Variablennamen
von Daten, auf die in der eigenen Steuereinrichtung zugegriffen
wird, entspricht, geändert wird,
wird die Umwandlung von Adressen mittels der für die physikalische Adresse
vorgesehenen Umwandlungseinrichtung zeitweilig aufgrund eines Befehls
seitens der zentralen Steuereinrichtung unterbunden. Es wird dann
der Inhalt der physikalischen Adresse, die dem Code des Variablennamens
in der für
die physikalische Adresse vorgesehenen Umwandlungseinrichtung entspricht,
umgeschrieben, wonach die Umwandlung des Variablennamens in die
physikalische Adresse dann wieder zugelassen wird.
-
Wenn
bei der erfindungsgemäßen Ausgestaltung
eine physikalische Adresse, die einer Variablen entspricht, aufgrund
irgendeiner Änderung
eines Programms geändert
wird, wird der Zugriff zu einem Variablennamen dadurch aktiviert,
daß die
physikalische Adresse umgeschrieben wird, und zwar unabhängig von
der Änderung
des Programms der Steuereinrichtung, anhand dessen bzw. anhand der
der Zugriff zu den Variablen erfolgen soll.
-
Die
erfindungsgemäße programmierbare Steuereinrichtung
zeichnet sich ferner vorzugsweise auch dadurch aus, daß Informationen
bezüglich
eines Datentyps und der Anzahl von Daten zu einem Variablennamen
der herausgegriffenen Daten hinzugefügt werden, nachdem der Variablennamen
in eine ausgegebene physikalische Adresse in Abhängigkeit von dem Datentyp und
der Anzahl von Daten seitens der für die physikalische Adresse
vorgesehenen Umwandlungseinrichtung umgewandelt worden ist, wonach
der Zugriff in Abhängigkeit
von unterschiedlichen Datentypen und Datenumfängen bzw. Datenbreiten oder
-Längen
aktiviert ist. Mit der vorliegenden Erfindung ist es möglich, Zugriff
in Abhängigkeit von
einem Datentyp und dem Umfang von Daten zu gewinnen, die als Indexbezeichnung
in einem Variablennamen enthalten sind.
-
Eine
weitere, zur Umwandlung von Variablennamen dienende Umwandlungseinrichtung
umfaßt
eine für
den Zugriff zu Variablennamen vorgesehene Speichereinrichtung zum
Speichern von Variablennamen für
die Ausführung
eines Variablenzugriffs bzw. eines variablen Zugriffs auf die Daten
in einer Datenspeichereinrichtung in der anderen Steuereinrichtung;
eine für
den Zugriff zu angeforderten Variablennamen vorgesehene Speichereinrichtung
zum Speichern der Variablennamen, wenn der variable Zugriff bzw.
der Zugriff zu einer Variablen von der anderen Steuereinrichtung
auf die Datenspeichereinrichtung der eigenen Steuereinrichtung angefordert wird;
eine für
angesprochene Variablennamen vorgesehene Speichereinrichtung zum
Speichern von Variablennamen der Daten in der Datenspeichereinrichtung,
bezüglich
derer von der eigenen Steuereinrichtung ein Zugriff von der anderen
Steuereinrichtung bzw. von außen
her akzeptiert wird; eine die Übereinstimmung
von Variablennamen erfassende Erfassungseinrichtung, die zum Erfassen
der Übereinstimmung
zwischen einem Variablennamen, der in der für den Zugriff zu angeforderten
Variablennamen vorgesehenen Speichereinrichtung gespeichert ist,
und einem Variablennamen vorgesehen ist, der in der für die angesprochenen
Variablennamen vorgesehenen Speichereinrichtung gespeichert ist,
sofern ein Variablenzugriff von der anderen Steuereinrichtung auf die
eigene Steuereinrichtung angefordert wird, sowie zum Abgeben eines Übereinstimmungssignals
dann, wenn die Übereinstimmung
erfaßt
wird, ausgelegt ist; eine für
die physikalische Adresse vorgesehene Umwandlungseinrichtung zum
Umwandeln des Variablennamens in der die angesprochenen Variablennamen
speichernden Speichereinrichtung, bezüglich dessen die Übereinstimmung
erfaßt
worden ist, in eine physikalische Adresse in der Datenspeichereinrichtung
für den
Fall, daß das
die Übereinstimmung anzeigende
Erfassungssignal von der die Übereinstimmung
der Variablennamen erfassenden Erfassungseinrichtung abgegeben wird;
eine Variablennamen speichernde Speichereinrichtung, die zum Speichern
einer Mehrzahl von Variablennamen, von Datentypen und einer Anzahl
bzw. dem Umfang von Daten dient; und eine den Datenzugriff steuernde
Steuereinrichtung zum sequentiellen Übertragen der Variablennamen
zu der für
den Zugriff zu angeforderten Variablennamen vorgesehenen Speichereinrichtung in
Abhängigkeit
von dem Inhalt der die Variablennamen speichernden Speichereinrichtung,
wobei die den Datenzugriff steuernde Steuereinrichtung nach der
Festlegung bzw. Erfassung des Ausgangssignals der für die physikalische
Adresse vorgesehenen Umwandlungseinrichtung den Zugriff auf die
jeweils angeforderte Anzahl von Daten unter Heranziehung der ausgegebenen
Adresse ausführt.
-
Gemäß der vorliegenden
Erfindung ist es somit nunmehr möglich,
kontinuierlich Zugriff auf gewünschte
Daten für
eine Mehrzahl von Variablennamen, bezüglich derer der Zugriff angefordert
ist, zu erhalten.
-
Die
programmierbare Steuereinrichtung kann sich gemäß der vorliegenden Erfindung
weiterhin auch dadurch auszeichnen, daß ein Befehl zur Registrierung
bzw. Speicherung von Variablennamen in der die angesprochene Variablennamen
speichernden Speichereinrichtung vorgesehen ist, und daß die zentrale
Steuereinrichtung Variablennamen in der für die angesprochenen Variablennamen
vorgesehenen Speichereinrichtung aus einem Anwendungsprogramm speichert.
Die Erfindung ist daher auch im Hinblick auf die Programmierung
sehr zweckmäßig.
-
Die
programmierbare Steuereinrichtung kann sich gemäß der vorliegenden Erfindung
ferner dadurch auszeichnen, daß die
zentrale Steuereinrichtung ein Fehlerantwortsignal zu der anderen Steuereinrichtung über die
Kommunikationssteuereinrichtung dann sendet, wenn die die Übereinstimmung
der Variablennamen erfassende Erfassungseinrichtung kein eine Übereinstimmung
anzeigendes Erfassungssignal erzeugt. Die andere Steuereinrichtung
kann daher gemäß diesem
Aspekt der vorliegenden Erfindung in Erfahrung bringen, daß die angeforderte
Variable in dieser Steuereinrichtung nicht vorhanden ist oder daß der Zugriff
nicht gewährt
worden ist. Die programmierbare Steuereinrichtung kann sich gemäß der vorliegenden
Erfindung ferner dadurch auszeichnen, daß eine interne, Variablennamen
umwandelnde Umwandlungseinrichtung zwischen der für die angesprochenen
Variablennamen vorgesehenen Speichereinrichtung und der für die physikalische
Adresse vorgesehenen Umwandlungseinrichtung vorgesehen ist, um hierdurch
einen angesprochenen Variablennamen in einen Variablennamen in der
eigenen Steuereinrichtung umzuwandeln, und um einen Variablennamen
von der anderen Steuereinrichtung in einen internen Variablennamen umzuwandeln,
wobei der Datenzugriff unter Verwendung eines Variablennamens eines
Systems ausgeführt
wird, der oder das sich von der Kommunikationseinrichtung unterscheidet.
-
Gemäß der vorliegenden
Erfindung ist daher der Freiheitsgrad bei der Programmierung von
Anwendungsprogrammen vergrößert. Wenn
die interne, die Variablennamen umwandelnde Umwandlungseinrichtung
vorgesehen ist, kann weiterhin auch vorgesehen sein, daß ein Befehl
zum Speichern eines Variablennamens in der für die angesprochenen Variablennamen
vorgesehenen Speichereinrichtung, und ferner zur Speicherung eines
internen Variablennamens in der internen, für die Umwandlung der Variablennamen
vorgesehenen Umwandlungseinrichtung vorgesehen ist, wobei die zentrale
Steuereinrichtung einen Variablennamen in der für die angesprochenen Variablennamen
vorgesehenen Speichereinrichtung sowie einen internen Variablennamen
in der internen, für
die Variablennamen vorgesehenen Umwandlungseinrichtung mittels eines
Anwendungsprogramms speichert.
-
Die
Erfindung wird nachstehend anhand von Ausführungsbeispielen unter Bezugnahme
auf die Zeichnungen näher
beschrieben.
-
1 zeigt
ein Blockschaltbild, in dem ein erstes Ausführungsbeispiel der in Übereinstimmung mit
der Erfindung stehenden programmierbaren Steuereinrichtung dargestellt
ist;
-
2 zeigt
eine schematische Darstellung zur Erläuterung der Umwandlung eines
Variablennamens in eine physikalische Adresse bei der in 1 dargestellten
Ausführungsform;
-
3 zeigt
eine schematische Darstellung zur Veranschaulichung einer Einrichtung,
die zur Erzeugung einer physikalischen Adresse aus einem Variablennamen
dient;
-
4 zeigt
ein Blockschaltbild, in dem ein zweites Ausführungsbeispiel der in Übereinstimmung mit
der Erfindung stehenden programmierbaren Steuereinrichtung dargestellt
ist;
-
5 zeigt
eine schematische Darstellung zur Erläuterung eines Befehls zur Einstellung
bzw. Festlegung von Variablennamen und physikalischen Adressen;
-
6 zeigt
eine schematische Darstellung zur Erläuterung der Umwandlung zwischen
externen Variablennamen, internen Variablennamen und physikalischen
Adressen bei dem in 4 gezeigten zweiten Ausführungsbeispiel;
-
7 zeigt
eine schematische Darstellung zur Veranschaulichung eines Befehls
für die
Festlegung von externen Variablennamen, internen Variablennamen
und von physikalischen Adressen; und
-
8 zeigt
eine schematische Darstellung zur Erläuterung des Datenzugriffs bei
herkömmlichen programmierbaren
Steuereinrichtungen.
-
1 zeigt
ein Blockschaltbild zur Veranschaulichung des Aufbaus eines ersten
Ausführungsbeispiels,
das eine grundlegende Ausführungsform
der vorliegenden Erfindung darstellt. Wie aus 1 ersichtlich
ist, ist die programmierbare Steuereinrichtung gemäß der vorliegenden
Erfindung durch eine herkömmliche
programmierbare Steuereinrichtung gebildet, zu der eine zur Umwandlung
von Variablennamen vorgesehene Umwandlungseinrichtung C hinzugefügt ist,
die mit einer unterbrochenen Linie umrandet ist. Die herkömmliche
programmierbare Steuereinrichtung ist allgemein imstande, Daten
zwischen ihrer eigenen Steuereinrichtung (bzw. ihr selbst) und einer
weiteren Steuereinrichtung zu übertragen,
wobei jede Steuereinrichtung eine Datenspeichereinrichtung 2;
in der Daten, die für
ein sequentielles Programm benutzt werden, und nur zeitweilig benutzte
Variablen gespeichert sind oder werden; einen Programmspeicher 16,
in dem ein sequentielles Programm bzw. Betriebsprogramm und ein
von einem Benutzer entwickeltes Benutzerprogramm gespeichert sind
oder werden; eine Kommunikationsschnittstelle 4, über die
eine Kommunikation mit einer angepaßten bzw. geeigneten Steuereinrichtung durchgeführt wird;
eine Kommunikationssteuereinrichtung 5; und eine zentrale
Verarbeitungseinheit (CPU) 1 umfaßt, die das sequentielle Programm
abarbeitet und die Ausführung
des Programms steuert.
-
Eine
derartige, einen solchen Aufbau besitzende herkömmliche programmierbare Steuereinrichtung
ist gemäß der in Übereinstimmung
mit der vorliegenden Erfindung stehenden programmierbaren Steuereinrichtung
noch mit einer zur Umwandlung von Variablennamen dienenden Umwandlungseinrichtung
C versehen, durch die ein Variablennamen, der beispielsweise ein
aktueller funktioneller Name (ein logischer Name einer Variablen),
beispielsweise ein Grenzschalter, ein Notabschalter usw. ist, in
eine physikalische Adresse umgewandelt wird, wenn ein Zugriff zu
der Variablen in der eigenen Steuereinrichtung durch die andere
Steuereinrichtung 20 angefordert wird.
-
Wie
vorstehend beschrieben, wird ein Zugriff zu den Daten in Form eines
Variablennamens, der ein aktueller funktioneller Name bzw. Funktionsname ist,
möglich,
da die den Variablennamen umwandelnde Umwandlungseinrichtung C vorgesehen
ist. Unter Bezugnahme auf 1 wird nun
ein Ausführungsbeispiel
der zur Umwandlung der Variablennamen dienenden Umwandlungseinrichtung
C detaillierter beschrieben. Ein interner Bus 3 ist ein
Mikrocomputerbus, der Elemente in der programmierbaren Steuereinrichtung
und die CPU 1 miteinander verbindet. Die Kommunikationsschnittstelle 4 stellt
eine Schnittstellenschaltung dar, die für die Kommunikation mit der
weiteren Steuereinrichtung 20 vorgesehen ist. Eine Kommunikationssteuereinrichtung 5 führt etliche
Steuerungen wie etwa die Bereitstellung von Daten von der CPU 1 zu
der Kommunikationsschnittstelle 4 oder der Bereitstellung
von Daten von der anderen Steuereinrichtung für die CPU 1 aus und
verfügt über einen
eingebauten Kommunikationspufferspeicher.
-
Wenn
von der anderen Steuereinrichtung 20 ein Zugriff zu Daten
in der eigenen, d. h. einen programmierbaren Steuereinrichtung angefordert
wird, stellt eine für
die Speicherung von Variablennamen bei Anforderung eines Zugriffs
vorgesehene Speichereinrichtung 6 den Ort zur Speicherung
eines Variablennamens dieser Daten dar. Eine für zugegriffene Variablennamen
vorgesehene Speichereinrichtung 7 stellt einen Ort zur
Speicherung eines Variablennamens dar, bezüglich dessen durch die eigene bzw.
eine programmierbare Steuereinrichtung ein Zugriff seitens der anderen
Steuereinrichtung 20 akzeptiert bzw. zugelassen wird, daß auf diesen
von außen
zugegriffen werden kann.
-
Wenn
die weitere Steuereinrichtung 20 eine Anforderung zur Gewinnung
eines Zugriffs zu Daten abgibt, vergleicht eine die Übereinstimmung
der Variablennamen erfassende Erfassungseinrichtung 8 einen
Variablennamen, der in der für
die Anforderung eines Zugriffs vorgesehenen, Variablennamen speichernden
Speichereinrichtung 8 gespeichert ist, mit einem Variablennamen,
der in der für
zugegriffene bzw. angesprochene Variablennamen vorgesehenen Speichereinrichtung 7 gespeichert
ist und beurteilt bzw. überprüft, ob die
Variable, bezüglich
derer der Zugriff angefordert wird, eine Variable ist, für die ein Zugriff
von der eigenen Steuereinrichtung zugelassen wird. Nachdem dieser
Vergleich für
jede Variable ausgeführt
worden ist, gibt die Erfassungseinrichtung 8 ein Übereinstimmungssignal
ab, wenn die beiden Variablen miteinander übereinstimmen, wohingegen sie
bei fehlender Übereinstimmung
ein Fehlersignal an die CPU 1 und eine im weiteren Text
beschriebene, für
die physikalische Adresse vorgesehene Umwandlungseinrichtung 9 ab.
Diese Erfassungseinrichtung 8 kann auch mittels Software
unter Einsatz der CPU 1 realisiert werden. Das Übereinstimmungssignal
wird von der Erfassungseinrichtung 8 ebenfalls an die CPU 1 und
an die Umwandlungseinrichtung 9 abgegeben.
-
Bei
Empfang eines die Übereinstimmung
der Variablennamen anzeigenden Signals von der Erfassungseinrichtung 8 wandelt
die Umwandlungseinrichtung 9 einen von der Speichereinrichtung 7 erhaltenen
Variablennamen in eine physikalische Adresse der Datenspeichereinrichtung 2 um.
Ein Adressregister 10 stellt einen Ort zur zeitweiligen
Speicherung des Ausgangssignals der Umwandlungseinrichtung 9 für dessen
Abgabe an die Datenspeichereinrichtung 2 oder an den internen
Bus 3 dar. Eine die Umwandlung zulassende/sperrende Einrichtung 11 stellt
einen Schaltkreis zum zeitweiligen Zulassen bzw. Sperren des Betriebs
der Umwandlungseinrichtung 9 in Abhängigkeit von einem von der
CPU 1 stammenden Befehl dar. Eine für den Zugriff vorgesehene,
Variablennamen speichernde Speichereinrichtung 12 stellt
einen Ort zur Speicherung von Variablennamen von der weiteren Steuereinrichtung 20 dar,
auf die durch die eigene Steuereinrichtung zugegriffen werden soll.
-
Zunächst wird
ein Fall erläutert,
bei dem das Lesen von Daten in Form eines Variablennamens von der
anderen Steuereinrichtung 20 angefordert wird. Eine Zugriffsanforderung
seitens der anderen Steuereinrichtung wird in einem Kommunikationspuffer
in der Kommunikationssteuereinrichtung 5 gespeichert, und
es interpretiert die CPU 1 den angeforderten Inhalt und
speichert einen Variablennamen in der für die Anforderung eines Zugriffs
zu Variablennamen vorgesehenen Speichereinrichtung 6. Wenn dann
ein Betriebsbefehl von der CPU 1 zu der zur Erfassung der Übereinstimmung
von Variablennamen dienenden Erfassungseinrichtung 8 abgegeben
wird, vergleicht die Erfassungseinrichtung 8 in der Speichereinrichtung 6 enthaltene
Variablennamen mit Variablennamen in der Speichereinrichtung 7.
Wenn der angeforderte Variablennamen in der Speichereinrichtung 7 vorhanden
ist, wird ein die Übereinstimmung anzeigendes
Erfassungssignal von der Erfassungseinrichtung 8 zu der
CPU 1 und zu der Umwandlungseinrichtung 9 geleitet.
Die Umwandlungseinrichtung 9 wandelt einen Variablennamen
in eine physikalische Adresse der Datenspeichereinrichtung 2 um
und gibt diese an das Adressregister 10 ab. Die CPU 1 ist
imstande, die Daten aus der Datenspeichereinrichtung 2 unter
Verwendung dieser physikalischen Adresse auszulesen.
-
2 zeigt
ein Blockschaltbild, das einen Teil der in 1 veranschaulichten
Gestaltung in größeren Einzelheiten
zeigt. Bei 2 wird angenommen, daß eine Datenleseanforderung
bezüglich
eines Variablennamens DOG von der anderen Steuereinrichtung vorliegt.
Dieser Variablennamen, bezüglich
dessen ein Lesevorgang angefordert wird, wird von der Kommunikationssteuereinrichtung 5 zu
der Speichereinrichtung 6 übertragen. Dieser zu der Speichereinrichtung 6 übertragene
Variablennamen und in der Speichereinrichtung 7 gespeicherte
Variablennamen werden durch die Erfassungseinrichtung 8 miteinander
verglichen. Hierbei sind die Variablennamen in der Speichereinrichtung 7 jeweils
mit entsprechenden Codes versehen bzw. es sind ihnen entsprechende
Codes zugeordnet. Wenn die Variablennamen durch die Erfassungseinrichtung 8 miteinander
verglichen werden und eine Übereinstimmung erfaßt wird,
werden ein Übereinstimmungssignal
und ein Variablennamencode zu der Umwandlungseinrichtung 9 geleitet.
In diesem Fall wird ein Code, der dem Variablennamen DOG entspricht,
und der beispielsweise "1343" lautet, übertragen.
In der Umwandlungseinrichtung 9 sind den Codenamen entsprechende
physikalische Adressen gespeichert, wobei in diesem Fall dann die
physikalische Adresse 34671H, die dem Code "1343" entspricht,
in dem Adressregister 10 als die physikalische Adresse
gespeichert wird. Die CPU 1 ist imstande, ein sequentielles
Programm bzw. Betriebssteuerprogramm unter Verwendung dieser physikalischen
Adresse abzuarbeiten oder Daten unter Verwendung dieser physikalischen
Adresse auszulesen.
-
Die
für die
physikalische Adresse vorgesehene Umwandlungseinrichtung 9 ist
beispielsweise gemäß der Darstellung
in 3 aufgebaut. Die Umwandlungseinrichtung 9 kann
leicht unter Verwendung eines EEPROM realisiert werden, das Adressbits
mit einer Anzahl aufweist, die der Länge eines Variablennamencodes
entspricht (16 Bits), und das eine Datenausgabebreite entsprechend
der Länge der
physikalischen Adresse (20 Bits) aufweist. Nachfolgend wird ein
Fall beschrieben, bei dem eine physikalische Adresse einer Variablen
aufgrund eines Vorgangs geändert
wird, bei dem eine Programmänderung
in der eigenen programmierbaren Steuereinrichtung vorgenommen wird.
Bei einer herkömmlichen
programmierbaren Steuereinrichtung ist in diesem Fall die Änderung
des Programms der programmierbaren Steuereinrichtung auf der Seite
bzw. im Hinblick auf den variablen Zugriff (bzw. Variablenzugriff)
erforderlich. Im Gegensatz hierzu ist dies bei der erfindungsgemäßen programmierbaren
Steuereinrichtung nicht notwendig. Wenn physikalische Adressen von
Variablen, die in der Speichereinrichtung 7 gespeichert
sind, unter den Variablen in der eigenen programmierbaren Steuereinrichtung
geändert
werden, wird die Umwandlung der Adressen durch die Umwandlungseinrichtung 9 zeitweilig
beendet, da die CPU 1 einen entsprechenden Befehl an die
die Umwandlung zulassende bzw. sperrende Einrichtung 11 abgibt.
-
Es
wird dann der Inhalt einer physikalischen Adresse, die dem Variablennamencode
entspricht, überschrieben.
Im Anschluß hieran
kann die Umwandlung der Adresse durch erneutes Zulassen der Umwandlung
dann kontinuierlich wieder durchgeführt werden. Dies ist äquivalent
zu dem Umschreiben des Dateninhalts einer Adresse, die äquivalent zu
einem Variablennamencode in dem in 3 gezeigten
EEPROM ist bzw. diesem Variablennamencode zugeordnet ist.
-
Wie
in 2 gezeigt ist, wird die oberste Adresse einer
Variablen mit den vorstehend beschriebenen Mitteln dadurch erhalten,
daß ein
Zugriff mit einem Datentyp wie etwa mit reellen Zahlen und ganzen
Zahlen und der Nummer oder Anzahl von Daten, der zu einem Variablennamen,
auf den zugegriffen wird, hinzugefügt ist, durchgeführt wird,
wonach es im Anschluß hieran
möglich
ist, den Datenzugriff in Abhängigkeit
von dem hinzugefügten
Datentyp und der Anzahl von Daten bzw. der Datennummer auszuführen. Dies
ist dann nützlich,
wenn eine Indexbezeichnung in einem Variablennamen enthalten ist. Dies
kann dadurch erreicht werden, daß eine Datenlänge, die
durch den Datentyp entsprechend einer Indexbezeichnung festgelegt
ist, und ein Index bzw. Indexwert in der Umwandlungseinrichtung 9 multipliziert
werden, und daß dann
das hierbei erhaltene Ergebnis zu dem Ausgang bzw. Ausgangssignal
der in 3 gezeigten Schaltung hinzuaddiert wird.
-
4 zeigt
ein Blockschaltbild zur Erläuterung
eines zweiten Ausführungsbeispiels
der vorliegenden Erfindung. Dieses Blockschaltbild unterscheidet
sich von dem Blockschaltbild gemäß 1 dahingehend,
daß zusätzlich eine
für Variablennamen
vorgesehene Speichereinrichtung 13, eine den Datenzugriff
steuernde Steuereinrichtung 14 und eine für interne
Variablennamen vorgesehene Umwandlungseinrichtung 15 vorgesehen
sind. Die für die
Variablennamen vorgesehene Speichereinrichtung 13 speichert
Variablennamen, den Datentyp und die Anzahl bzw. Nummer oder den
Umfang von Daten für
eine Mehrzahl von Variablen. Die zur Steuerung des Datenzugriffs
vorgesehene Steuereinrichtung 14 überträgt aufeinanderfolgend Variablennamen,
die in der Speichereinrichtung 13 enthalten sind, in Abhängigkeit
von dem Inhalt der Speichereinrichtung 13 zu der für die Zugriffsanforderung
zu Variablennamen vorgesehenen Speichereinrichtung 6. Nachdem
das Ausgangssignal der Umwandlungseinrichtung 9 festgelegt
ist bzw. erzeugt wird, greift die Steuereinrichtung 14 unter
Einsatz von deren Ausgabeadresse bzw. ausgegebener Adresse auf die
angeforderte Anzahl von Daten zu und schreibt das bei dem Zugriff
erhaltene Ergebnis in die Datenspeichereinrichtung 2 und
den Kommunikationspuffer in der Kommunikationssteuereinrichtung 5 ein.
-
Wenn
die programmierbare Steuereinrichtung in der vorstehend beschriebenen
Weise aufgebaut ist, ist es möglich,
Zugriffsanforderungen für eine
Mehrzahl von Variablen zu verarbeiten. Die zur Steuerung des Datenzugriffs
vorgesehene Steuereinrichtung 14 kann unter Verwendung
einer DMA-Steuereinrichtung (DMA = Direct Memory Access = direkter
Speicherzugriff), einem speziell hierfür ausgelegten Mikroprozessor
usw. aufgebaut sein.
-
Nachfolgend
wird ein Verfahren zur Speicherung von Variablennamen, auf die ein
Zugriff durch die andere Steuereinrichtung von der programmierbaren
Steuereinrichtung zugelassen wird, in der für die zugegriffenen Variablennamen
vorgesehenen Speichereinrichtung 7 beschrieben. Wenn ein
Benutzer der programmierbaren Steuereinrichtung einen Datenaustausch
mit der anderen Steuereinrichtung ausführt, ist es möglich, Variablennamen
unter Verwendung eines Programmiertools zu registrieren, das heißt zu speichern.
Al lerdings ist es in diesem Fall dann notwendig, einen Variablennamen
jedesmal dann festzulegen, wenn ein Programm in die programmierbare
Steuereinrichtung eingeladen wird, was nicht zweckmäßig, das
heißt
recht aufwendig ist.
-
Es
ist folglich günstig,
einen Variablennamen von einem Anwendungsprogramm dadurch zu registrieren,
das heißt
zu speichern, daß ein
sequentieller Befehl zur Registrierung von Variablennamen an die Speichereinrichtung 7 angelegt
wird. Beispielsweise ist im Fall eines "Rudder-Diagramms" (Ruder-Diagramm) und einem funktionellen
Blockschaltbild ein Befehl benutzbar, wie er beispielsweise in 5 dargestellt
ist. Der in 5 gezeigte Befehl besteht darin,
einen Variablennamen, der durch einen Parameter "Name" in
dem Befehl dargestellt ist, mit "DOG" zu bezeichnen, wenn
ein die Ausführung
zulassendes Signal "ein" ist, das heißt einen
dem eingeschalteten Zustand entsprechenden Pegel aufweist, daß eine physikalische
Adresse eines Registers DW1200 an einer durch einen Parameter "REG" dargestellten physikalischen
Adresse gespeichert wird und daß der
Code 1343 für
den Variablennamencode, der durch den Parameter "Code" veranschaulicht
ist, gespeichert wird.
-
Unter
Verwendung des vorstehend erläuterten
Befehls ist die CPU 1 imstande, Variablennamen und Codes
in der Speichereinrichtung 7 sowie physikalische Adressen
von Registern in der in 2 gezeigten Umwandlungseinrichtung 9 festzulegen.
Da ein Code lediglich die Funktion ausübt, Einträge in der Speichereinrichtung 7 und
der Umwandlungseinrichtung 9 miteinander zu verbinden,
kann er in dem in 5 dargestellten Befehl weg gelassen
werden. Wenn ein Variablennamen, bezüglich dessen von der anderen
Steuereinrichtung ein Zugriff angefordert wird, nicht in der Speichereinrichtung 7 gespeichert ist,
wird von der Erfassungseinrichtung 8 ein Fehlersignal abgegeben.
Bei Empfang eines Fehlersignals gibt die CPU 1 eine Fehlerantwort über die
Kommunikationssteuereinrichtung 5 an die andere Steuereinrichtung
ab, die den Zugriff zu dieser Variablen angefordert hat. Damit wird
die andere Steuereinrichtung darüber
in Kenntnis gesetzt, daß die
angeforderte Variable in dieser programmierbaren Steuereinrichtung
nicht vorhanden ist oder daß der
Zugriff nicht zugelassen worden ist.
-
Nachfolgend
wird das in 4 gezeigte Ausführungsbeispiel
in größeren Einzelheiten
erläutert. Gemäß 4 ist
die für
interne Variablennamen vorgesehene Umwandlungseinrichtung 15 zwischen
der Speichereinrichtung 7 und der Umwandlungseinrichtung 9 vorgesehen.
Die interne Ausgestaltung der Umwandlungseinrichtung 15 ist
in 6 dargestellt. Gemäß 6 sind die
Variablennamen, die in der Speichereinrichtung 7 registriert
sind, sogenannte externe Variablennamen (öffentliche externe logische Namen),
die von der Kommunikationssteuereinrichtung 5 bei der Kommunikation
zwischen programmierbaren Steuereinrichtungen benutzt werden. Im Gegensatz
hierzu sind die internen Variablennamen (interne logische Namen),
die in der Umwandlungseinrichtung 15 gespeichert sind,
sogenannte lokale Variablennamen, die lediglich in der eigenen programmierbaren
Steuereinrichtung benutzt werden. Indem ein Code zu diesem internen
Variablennamen hinzugefügt
wird, ist es möglich,
zu erreichen, daß dieser
der für
die physikalische Adresse vorgesehenen Umwandlungseinrichtung 9 entspricht
bzw. die Codes jeweils übereinstimmen.
-
Bei
dem vorstehend genannten Aufbau ist die andere Steuereinrichtung
imstande, auf eine Variable unter Verwendung eines Variablennamens
zuzugreifen, der von der eigenen programmierbaren Steuereinrichtung öffentlich
nach außen
mitgeteilt wird, und es ist die eigene programmierbare Steuereinrichtung
imstande, Variablennamen in ihr zu ändern. Damit ist der Freiheitsgrad
bei der Programmierung von Anwendungsprogrammen erweitert. Weiterhin
ist selbst dann, wenn die physikalischen Adressen von Variablen
geändert
werden, der Zugriff zu diesen Variablen dennoch aufgrund der vorstehend erläuterten
Mittel gewährleistet.
Aus den vorstehend genannten Gründen
wird auch ein Befehl zur Festlegung von Variablennamen in der für die internen
Variablenamen vorgesehenen Umwandlungseinrichtung 15 als
notwendig angesehen.
-
Der
in 7 gezeigte Befehl erfüllt diese Funktion. Der in 7 dargestellte
Befehl ist ein Befehl zur Bezeichnung bzw. Zuordnung eines Variablennamens "DOG" zu einem externen
Variablennamen, der durch einen Parameter GNAME in dem Befehl dargestellt
ist, zur Bezeichnung bzw. Zuordnung eines internen Variablennamens "DG 1" zu einem internen
Variablennamen, der durch einen Parameter LNAME dargestellt ist,
zur Speicherung einer physikalischen Adresse eines Registers DW1200
an einer physikalischen Adresse eines Registers, die bzw. das durch
einen Parameter REG bezeichnet ist, und zur Speicherung eines Codes
1343 für
einen Variablennamencode, der durch einen Parameter CODE bezeichnet
ist. Unter Verwendung des vorstehend erläuterten Befehls ist die CPU 1 imstande,
einen externen Variablennamen in der für die zugegriffenen Variablennamen
vorgesehenen Speichereinrichtung 7 festzulegen, einen externen
Variablennamen, einen internen Variablennamen und Codes in der Umwandlungseinrichtung 15 festzulegen,
und physikalische Adressen von Registern in der Umwandlungseinrichtung 9,
die in 4 gezeigt ist, einzustellen. Codes sind lediglich
dazu vorgesehen, Einträge
in der für
die internen Variablennamen vorgesehenen Umwandlungseinrichtung 15 und
der für
die physikalischen Adresse vorgesehenen Umwandlungseinrichtung 9 zu
verbinden, und können
bei dem in 7 dargestellten Befehl weg gelassen
werden.
-
Mit
der vorstehend beschriebenen, vorliegenden Erfindung ist es möglich, eine
programmierbare Steuereinrichtung zu schaffen, die imstande ist, auf
Daten in Variablennamen zuzugreifen und auf Daten unter Verwendung
von öffentlichen
Variablennamen in der Kommunikationseinrichtung zuzugreifen. Die
programmierbare Steuereinrichtung kann Daten zwischen ihrer eigenen
Steuereinrichtung und einer weiteren Steuereinrichtung übertragen
und weist eine Datenspeichereinrichtung zum Speichern von für die Steuerung
erforderlichen Daten, einen Programmspeicher zum Speichern eines
sequentiellen Betriebsprogramms, eine Kommunikationsschnittstelle
zur Durchführung
einer Kommunikation mit einer geeigneten Steuereinrichtung, und
eine zentrale Verarbeitungseinheit zur Abarbeitung des sequentiellen
Betriebsprogramms und zur Steuerung der Programmabarbeitung auf.
Eine Umwandlungseinrichtung dient zur Umwandlung von Variablennamen,
die aktuelle Funktionsnamen darstellen, in physikalische Adressen,
wenn durch die andere Steuereinrichtung ein Variablenzugriff in
der eigenen Steuereinrichtung angefordert wird.