-
Die
vorliegende Erfindung betrifft ein Kommunikationssystem in einer
programmierbaren Steuerung, die es erlaubt, am internen Kommunikationsbus
der programmierbaren Steuerung, Austausche zu realisieren, die dem
TCP/IP Protokoll entsprechen. Die Erfindung betrifft ebenfalls eine
programmierbare Steuerung, die ein derartiges Kommunikationssystem
einsetzen kann. Dieses System kann an jeden automatisierten Prozess
angewandt werden und insbesondere im Bereich der industriellen Automatismen,
der Automatismen des Bauwesens oder der Kontrolle/Steuerung der
elektrischen Versorgungsnetze.
-
Das
Standardprotokoll IP (Internet Protocol) definiert ein Verbundprotokoll
zwischen verschiedenen Kommunikationsnetzen an der Netzschicht.
Das Standardprotokoll TCP (Transport Control Protocol) definiert
an der Transportschicht einen Transportmechanismus der robusten
und zuverlässigen
Daten, die eine Ende-zu-Ende-Kontrolle der Daten gewährleisten.
Diese beiden Protokolle werden in globalen Netzen des Typs Internet,
Intranet oder Extranet eingesetzt, die in der vorliegenden Darlegung
unter dem Begriff „TCP/IP
Netz" zusammengefasst
werden.
-
Eine
modulare programmierbare Steuerung, die einen zu automatisierenden
Prozess steuert, umfasst mindestens ein Zentraleinheitmodul, in
dem sich ein Anwendungsprogrammm für die Kontrolle/Steuerung des
Prozesses ausführt.
Die programmierbare Steuerung kann, sofern nötig, ebenfalls einen oder mehrere
Arbeitsmodule umfassen, die ihrerseits ebenfalls mit einer Bearbeitungseinheit
ausgerüstet
sind, um die Automatismusfunktionen (Wiegen, Regulierung, Positionierung,
Kommunikation, usw.) zu sichern, sowie andere Module, wie Ein-/Ausgangsmodule
(digital oder analogisch). In der Folge der Darlegung bezeichnet
der Begriff „intelligentes Modul" unterschiedslos
ein Zentraleinheitmodul, ein Arbeitsmodul oder jedwedes Modul, das
mit einer eigenen Bearbeitungseinheit ausgerüstet ist. Die Module einer
programmierbaren Steuerung sind durch einen internen Kommunikationsbus
miteinander verbunden, der normalerweise ein Bus des Typs Grundplatine
ist. Die an einem internen Kommunikationsbus eingesetzten Protokolle
sind üblicherweise
Besitzerprotokolle.
-
In
einer programmierbaren Steuerung ist es bekannt, über ein
Kommunikationsmodul, das nachstehend Netzmodul genannt wird, zu
verfügen,
das an den internen Kommunikationsbus der Steuerung angeschlossen
ist und das mit einem TCP/IP Netz verbunden ist. Ein derartiges
Netzmodul kann in diesem Fall als Gateway zwischen dem TCP/IP Protokoll
dienen, das am TCP/IP Netz verwendet wird, auf der einen Seite und
einem oder mehreren Protokollen, die am Kommunikationsbus eingerichtet
sind, auf der anderen Seite die am internen Kommunikationsbus der
Steuerung eingerichtet sind, auf der anderen Seite. Ein mit dem
internen Kommunikationsbus verbundenes intelligentes Modul der Steuerung, beispielsweise
das Zentraleinheitsmodul, kann damit über den Gateway dieses Netzmoduls
auf das TCP/IP-Netz zugreifen.
-
Unter
diesen Bedingungen ist es jedoch nicht möglich, die Eigenschaften einer
Kommunikation gemäß dem TCP/IP
Ende-zu-Ende-Protokoll zwischen zwei miteinander kommunizierenden
Einheiten aufrecht zu erhalten. Das Gateway, das ein Netzmodul bildet,
unterbricht nämlich
den Datenfluss von TCP und sorgt auch nicht für die Transparenz des IP. Somit
gehen die Vorteile der Leistung, Zuverlässigkeit und Transparenz verloren,
die vom TCP/IP Protokoll bereit gestellt werden. Es wäre jedoch
vorteilhaft für die
Kommunikation von oder zu den intelligenten Modulen einer programmierbaren
Steuerung die Nutzen aus diesem Standardprotokoll ziehen zu können.
-
Die
Druckschrift
EP 0977412 beschreibt
einen Prozess der Zuordnung von Adressen zwischen Einheiten eines
Systems zur industriellen Steuerung. Jede Einheit besteht aus einem
Rechner und ihr kann eine individuelle IP Adresse zugeordnet werden,
um in einem externen lokalen Netz zu kommunizieren, und dies nach
den Protokollen IP, TCP oder UDP. Unsere Anmeldung betrifft im Gegenteil
dazu ein Kommunikationssystem zwischen intelligenten Modulen innerhalb
einer modularen programmierbaren Steuerung, die an eine einzige
programmierbare Betriebseinheit assimilierbar ist.
-
Die
Druckschrift
US 5710708 betrifft
ein Steuerungssystem für
eine Vielzahl an Spinnmaschinen. Das System umfasst eine Kommunikationsarchitektur
mit mehreren Ebenen. Ein einziges Kommunikationsprotokoll, wie das
TCP/IP Protokoll, kann in den verschiedenen Ebenen der Architektur
verwendet werden. Dennoch beschreibt diese Druckschrift nicht, dass,
um Informationen gemäß dem TCP/IP
Protokoll am internen Kommunikationsbus auszutauschen, ein intelligentes
Modul einer programmierbaren Steuerung eine eigene IP Adresse und
einen TCP/IP Stapel, der durch die Bearbeitungseinheit des intelligenten
Moduls ausführbar
ist, umfasst.
-
Die
Erfindung liegt demzufolge der Aufgabe zugrunde, intelligenten Modulen,
die an den internen Kommunikationsbus einer programmierbaren Steuerung
angeschlossen sind, einen direkten Zugang zum TCP/IP Protokoll bereit
zu stellen, um Austausche untereinander und Austausche am TCP/IP
Netz auszuführen,
ohne auf ein Gateway an der Anwendungsschicht in Anspruch zu nehmen,
was sich als kostspielig erweisen kann. Darüber hinaus, können dank
des TCP/IP Protokolls das Zentraleinheitsmodul oder die Arbeitsmodule
einer programmierbaren Steuerung direkt die Protokolle und die Architekturen des
WEB verwenden, wie zum Beispiel die Standards UDP, HTTP, XML, WAP,
FTP, SMTP, SNMP, DHCP, DNS, usw..
-
Hierzu
beschreibt die Erfindung ein Kommunikationssystem in einer modularen
programmierbaren Steuerung, das mehrere intelligente Module umfasst,
die mit einer eigenen Bearbeitungseinheit ausgestattet sind und
das einen internen Kommunikationsbus umfasst, der es erlaubt, die
Module der programmierbaren Steuerung miteinander kommunizieren
zu lassen. Das Kommunikationssystem ist dadurch gekennzeichnet,
dass, um gemäß des Kommunikationsprotokolls
TCP/IP am internen Kommunikationsbus zu kommunizieren, ein intelligentes
Modul der programmierbaren Steuerung eine eigene IP Adresse und
einen TCP/IP Stapel umfasst, der von einer Bearbeitungseinheit des
intelligenten Moduls ausführbar
ist, und dadurch gekennzeichnet, dass der interne Kommunikationsbus
mehrere getrennte Kommunikationskanäle umfasst, die es erlauben, gleichzeitig
Rahmen, die dem TCP/IP Protokoll entsprechen, mit Rahmen, die anderen
Protokollen entsprechen, zirkulieren zu lassen.
-
Darüber hinaus
kann eine modulare programmierbare Steuerung mindestens ein Netzmodul umfassen,
das an ein externes TCP/IP Netz angeschlossen ist, das es einem
intelligenten Koppler der programmierbaren Steuerung erlaubt, direkt
am TCP/IP Netz Informationsaustausche zu realisieren, die dem TCP/IP
Kommunikationsprotokoll entsprechen, und dies über den internen Kommunikationsbus.
-
Weitere
Eigenschaften werden in der nachfolgenden Beschreibung unter Bezugnahme
auf ein Ausführungsbeispiel
ersichtlich, das durch die beiliegenden Zeichnungen dargestellt
wird, in denen:
-
1 ein
Beispiel der Grundarchitektur einer programmierbaren Steuerung mit
einem erfindungsgemäßen Kommunikationssystem
und mit einem Zentraleinheitsmodul, einem Netzmodul, einem Arbeitsmodul
und einem Ein-/Ausgangsmodul,
-
2 und 3 je
eine erste Funktionsweise A bzw. eine zweite Funktionsweise B des
Kommunikationssystems zeigen.
-
In
der 1 besteht eine programmierbare modulare Steuerung 50 zum
Steuern eines zu automatisierenden Prozesses aus einem Zentraleinheitsmodul 20 (CPU),
einem Netzmodul 10, einem Arbeitsmodul 30, einem
Ein-/Ausgangsmodul 40 und einem die verschiedenen Module
der programmierbaren Steuerung 50 untereinander verbindenden
internen Kommunikationsbus 5. Die Anzahl und Art der in
einer Steuerung 50 aufgenommenen Module ist von der Größe und Leistung
dieser Steuerung abhängig.
-
Das
Zentraleinheitsmodul 20 umfaßt eine Bearbeitungseinheit 21 zum
Ausführen
eines Anwendungsprogramms zum Steuern des Prozesses. Das Zentraleinheitsmodul 20 steuert
allgemein die anderen Module der programmierbaren Steuerung 50.
Ein Arbeitsmodul 30 umfaßt eine eigene Bearbeitungseinheit 31 wie
beispielsweise eine Mikrosteuerung oder einen Mikroprozessor zum
Bewirken einer oder mehrerer dedizierter Automatikfunktionen wie
beispielsweise Zählung,
Kommunikation, Regelung, Positionierung, Achsenregelung, usw. Ein
Ein-/Ausgangsmodul 40 hat die Aufgabe zum Erfassen der vom
Prozeß kommenden
Eingaben und Senden der Ausgaben zum Prozeß; in gewissen Fällen kann
es ebenfalls eine vereinfachte Bearbeitungseinheit 41 aufweisen.
Die verschiedenen Module 10, 20, 30, 40 der
Steuerung 50 können
Dank eines internen Kommunikationsbusses 5 austauschen,
der allgemein der Gehäusebodenbus
der Steuerung ist.
-
Das
Netzmodul 10 verfügt über eine
eigene Bearbeitungseinheit 11 und ist dank eines Zugangsdrivers 19 für die Verbindungsschicht
mit einem externen TCP/IP Netz und mit Hilfe des TCP/IP Netzes 9 (nicht
schematisch in 1 dargestellt) für die physische
Schicht an einen Adapter verbunden. Vorzugsweise stützt sich
das TCP/IP Netz 9 auf den Ethernet Standard für die physische
Schicht und die Verbindungsschicht, so dass der Zugangsdriver 19 insbesondere
eine MAC (Media Access Control) Adressierung des Netzkopplers 10 gemäß der MAC Verbindungsschicht
verwaltet, die in der Norm IEEE802.3 oder in der Norm RFC894 vorgeschrieben
wird. Wie zu Beginn der Darlegung angegeben, verwendet das TCP/IP
Netz 9 das TCP/IP Protokoll an den Netz- und Transportschichten.
Im Beispiel von 1 sind das Zentraleinheitsmodul 20 und
das Arbeitsmodul 30 intelligente Module, die am TCP/IP Netz 9 kommunizieren
können.
-
Der
interne Kommunikationsbus 5 muss über die Möglichkeit verfügen, Rahmen
zirkulieren zu lassen, die verschiedenen Kommunikationsflüssen entsprechen:
neben einem IP Kommunikationsfluss, der mit den Rahmen des TCP/IP
Protokolls verbunden ist, existiert nämlich am Kommunikationsbus 5 ein
IO Fluss mit Ein- und Ausgangsdaten der Steuerung sowie ggf. weitere
Datenflüsse,
die zum Beispiel mit einer Besitzermailbox verbunden sind. Demzufolge
werden diese Flüsse
im Kommunikationsbus 5 auf verschiedenen Kommunikationskanälen weitergeleitet,
die an der Verbindungsschicht arbeiten müssen und fähig sein müssen, jeden beliebigen Rahmen
zu transportieren. Auf 1 sind ein Kommunikationskanal 6 für den IP
Fluss und ein Kommunikationskanal 7 für den IO Fluss von Ein- und Ausgängen veranschaulicht.
-
Um
sich an den Kommunikationsbus 5 anzuschließen, umfassen
die Module 10, 20, 30, 40 Zugangsdriver
zum Bus, die die physische Schicht und die Verbindungsschicht des
Kommunikationsbus verwalten und die spezifisch für jeden Kommunikationskanal
sein müssen.
Für den
Kommunikationskanal 7, der dem IO Fluss entspricht, verfügen die
Module 10, 20, 30, 40 über einen
Zugangsdriver 17, 27, 37, 47. Für den Kommunikationskanal 6,
der dem IP Fluss entspricht, verfügen die Module 10, 20, 30 über einen Zugangsdriver 16, 26, 36.
Da das Ein- und Ausgangsmodul 40 über keinen Zugang zum TCP/IP Netz 9 verfügt, verfügt es über keinen
Zugangsdriver zum IP Fluss.
-
Das
Kommunikationssystem erlaubt es intelligenten Modulen 20, 30 über das
TCP/IP Protokoll entweder miteinander, oder direkt am TCP/IP Netz 9 zu
kommunizieren, das an ein Netzmodul 10 angeschlossen ist.
Hierzu umfassen die intelligenten Module 20, 30 alle über einen
TCP/IP Stapel 22, 32 (stack TCP/IP), der von der
Bearbeitungseinheit 21, 31 des intelligenten Moduls 20, 30 ausführbar ist. Dieser
TCP/IP Stapel 22, 32 ist mit dem Zugangsdriver 26, 36 des
IP Flusses verbunden und verwaltet die Netz- und Transportschichten
des TCP/IP Protokolls. Jedes intelligente Modul 20, 30 muss
ebenfalls über
seine eigene IP Adresse verfügen.
-
Im
Inneren einer programmierbaren Steuerung 50 kann eine direkte
Kommunikation über TCP/IP
zwischen intelligenten Modulen interessant sein, wenn zum Beispiel
eines der Module ein MMS (Mensch-Maschine-Schnittstelle) Koppler ist, der sich
in Form eines HTTP Navigators präsentiert
und der auf native Art Informationen nach dem TCP/IP Protokoll austauschen
kann. Er kann in diesem Fall mit intelligenten Modulen der Steuerung
kommunizieren, ohne weitere Protokolle entwickeln zu müssen.
-
Es
werden jetzt zwei Funktionsarten des Kommunikationssystems unter
Bezugnahme auf 2 und 3 im Detail
beschrieben:
In einer ersten Funktionsart, die Funktionsweise
A genannt wird und die in 2 detailliert
wird, ist der Kommunikationsbus 5 nur eine Verlängerung
des TCP/IP Netzes 9, an das das Netzmodul 10 verbunden
ist. In diesem Fall dient dieses nur dazu, die von einem intelligenten
Modul 20, 30 stammenden oder zu einem intelligenten
Modul 20, 30 geschickten IP Rahmen zu leiten.
Das Netzmodul 10 braucht in diesem Fall nicht seinen eigenen
TCP/IP Stapel umfassen, außer
wenn es sich selbst wie ein intelligentes Modul verhält, das
fähig ist, über WEB
Anwendungen zu verfügen.
-
Damit
ein intelligentes Modul 20, 30 der Steuerung direkt
auf das TCP/IP Netz 9 eines Netzmoduls 10 zugreift,
muss:
- – der
TCP/IP Stapel 22, 32 des intelligenten Moduls 20, 30 fähig sein,
Rahmen zu versenden und zu empfangen, die eine Einkapselung aufweisen, die
der Verbindungsschicht (MAC Schicht) des TCP/IP Netzes 9 entspricht,
- – jedes
intelligente Modul 20, 30 über eine IP Routingtabelle
verfügen,
um die von ihm zum oder zu den Netzmodul(en) 10, 10' der Steuerung 50 verschickten
Rahmen zu leiten,
- – das
Netzmodul 10 über
Filtrier- und Umleitungsmittel 13 der IP Rahmen vom TCP/IP
Netz 9 in Abhängigkeit
von der IP Adresse 24, 34 der intelligenten Module 20, 30 verfügen, die
es erlauben, zu diesen Modulen 20, 30 nur die
Rahmen zu versenden, die ihre IP Adresse umfassen. Diese Filtrierung
ist möglich
dank einer Speichertabelle der IP Adresse der intelligenten Module 20, 30 der Steuerung 50,
die auf das TCP/IP Netz 9 zugreifen können, wobei diese Speichertabelle
im Netzmodul 10 gespeichert ist.
-
In
einer zweiten Funktionsart, die Funktionsweise B genannt wird, und
die in 3 im Detail beschrieben wird, wird der Kommunikationsbus 5 als ein
vollständiges
IP Teilnetz des TCP/IP Netzes 9 angesehen, mit dem das
Netzmodul 10 verbunden ist. In diesem Fall umfasst das
Netzmodul 10 zwei IP Anschlüsse, die durch eine erste IP
Adresse 15, die dem TCP/IP Netz 9 entspricht und
durch eine zweite IP Adresse 14, die dem internen Kommunikationsbus 5 der
Steuerung 50 entspricht, materialisiert sind. Das Netzmodul 10 verfügt ebenfalls
obligatorisch über
seinen eigenen TCP/IP Stapel 12, der im Netzmodul 10 ausführbar ist,
der es erlaubt, das Routing der Rahmen zwischen den beiden IP Anschlüssen zu realisieren.
-
In
Abhängigkeit
von der Adresse des IP Teilnetzes am Kommunikationsbus 5,
kann man das Sichtbarkeitsniveau eines Moduls am TCP/IP Netz 9 auswählen. Wenn
man möchte,
dass das Modul vom Internet ohne Aktualisierung des externen Routers gesehen
wird, muss der Kommunikationsbus 5 eine Adressierung aufweisen,
die dieselbe IP Teilnetznummer wie das TCP/IP Netz 9 des
Netzmoduls 10 umfasst, wie dies aus 3 hervorgeht.
Darüber
hinaus muss dieser als ein Proxy Server für einen Proxy Kunden wirken,
der sich am Kommunikationsbus 5 befindet. Gegenüber der
Funktionsart A ist es der Koppler, der auf eine Anfrage der Erkennung
der MAC Adresse antwortet (ARP Anfrage im Ethernet).
-
Wie
in 2 angegeben kann dieselbe programmierbare Steuerung
mehrere Netzmodule 10, 10' umfassen, die jeweils mit einem
anderen TCP/IP 9, 9' verbunden
sind, das jeweils über
eine IP Netznummer 8, 8' verfügt. In diesem Fall werden die
IP Flüsse,
die von jedem TCP/IP Netz 9, 9' erzeugt werden, von zwei getrennten
Kanälen 6, 6' am Kommunikationsbus 5 weitergeleitet.
Um sich mit diesen verschiedenen Internet-Netzen, die an der Steuerung 50 ankommen,
verbinden zu können,
muss ein intelligentes Modul 20 also für jedes TCP/IP Netz 9, 9' jeweils über eine
spezifische IP Adresse 24, 24' verfügen.
-
Angesichts
der Tatsache, dass dank der Erfindung ein intelligentes Modul 20, 30 direkt
mit dem Internet verbunden werden kann, sind die Sicherheitsaspekte
von Bedeutung. Ein erstes Sicherheitsniveau wird insbesondere von
einer Intranet Firewall übernommen, wenn
die Steuerung 50 an ein Netz des Typs Intranet 9 angeschlossen
ist. Wenn man jedoch den Zugang zu den intelligenten Modulen besser
kontrollieren möchte,
bestehen mehrere Möglichkeiten:
man kann im Netzmodul 10 eine zusätzliche Filtrierung der IP
Rahmen hinzufügen,
man kann eine Kontrolle der eingehenden Verbindungen über der TCP
Schicht ausführen
und man kann ebenfalls auf das Proxy Server Verhalten des Netzmoduls 10 verzichten,
um zu verhindern, dass ein intelligentes Modul 20, 30 automatisch
von außen
ohne Konfiguration des externen Routers gesehen wird, und dies in
den Funktionsweisen A und B. Darüber
hinaus sind diese beiden Funktionsweisen kompatibel mit der Norm RFC925
und verhindern die Aktualisierung von Routingtabellen in einem bestehenden
Netz.
-
Das
in der vorliegenden Erfindung beschriebene Kommunikationssystem
kann von einem Anwendungsprogramm einer programmierbaren Steuerung
verwendet werden, um die Synchronisierungsdaten, die Kontrolldaten,
die Befehlsdaten oder jedwede andere Information zu kommunizieren,
die die Qualität
der Service benötigen,
die von den Protokollen der TCP/IP Familie bereit gestellt werden.
Darüber
hinaus ist eine leichte Verbindung mit der Welt des Internets und
des WEBS ein grundlegender Vorteil gegenüber den Besitzerprotokollen.
Im Inneren einer derartigen programmierbaren Steuerung ist es somit
möglich,
ein intelligentes Modul (beispielsweise des Typs PC) zu entwickeln,
das mit einem Betriebssystem und einem Internetnavigator des Handels
ausgerüstet
ist, um den Dialog Operator-Mensch-Maschine zu realisieren. Das TCP/IP Protokoll
in einem Steuerung-Kommunikationsbus zu verwenden ist ebenfalls
ein bevorzugter Weg, um die Austausche von internen Daten einer
programmierbaren Steuerung zu normalisieren, wobei diese Normalisierung
eine Interoperabilität
in einer heterogenen Umgebung erleichtert.
-
Desgleichen
ist es möglich,
Daten zu transportieren, für
die üblicherweise
die programmierbaren Steuerungen nicht verwendet werden, wie der Ton
oder das Video, wobei diese Informationen von der Anwendung selbst
(ein Videokopiemodul, das mit einem Videobearbeitungsmodul verbunden
ist) genutzt werden oder externen Anwendungen oder mit dem Automatismus
verbunden Servicen (zum Beispiel Telewartung in einer Automatismusinstallation) dienen
können.
-
Die
ausgetauschten Daten können
ebenfalls ein Programmcode sein. Diese Programme können anwendbar
sein, um das Verhalten eines Moduls zu ändern, ihm Funktionalitäten hinzuzufügen, eine
Programmversion zu aktualisieren, eine Anomalie zu verbessern, es
während
der Entwicklungsphasen auszuspionieren und präzisere Service in der Telewartung
zu ermöglichen.
Dieser Mechanismus erlaubt es somit, der Welt des Automatismus die Grundlagen
einer verteilten Bearbeitungsarchitektur zu bieten.