-
Die
Erfindung betrifft in erster Linie ein Verfahren zur Kopplung von
Busteilnehmern eines Automatisierungssystems und einen frei programmierbaren
Kommunikations-Prozessor gemäß den Patentansprüchen 1 oder
9.
-
Seit
längerem
ist es bekannt, in der Steuer- und Automatisierungstechnik Feldbusse
und Ethernet, insbesondere die Erweiterung bezüglich Real-Time Ethernet zur
Datenkommunikation zwischen einzelnen, an der Steuerung eines Prozesses
beteiligten Einheiten zu verwenden. Beispiele für bekannte Feldbusse sind CAN-Bus,
Profibus, Modbus, DeviceNet oder Interbus. Die Kommunikation der
Einheiten erfolgt auf dem Feldbus/Ethernet anhand von spezifizierten
Protokollen. Um der Forderung nach offenen Systemen zur Vernetzung
entsprechen zu können, besteht
die Notwendigkeit, einfache und kostengünstige Kommunikationsmechanismen
zur Verfügung
zu stellen, um industrielle Geräte
netzwerkfähig
zu machen. Diese Forderung besteht vor allem auch im Zusammenhang
mit der Kopplung von Antriebskomponenten, wie zwischen Antriebsregelungen,
Leistungsteilen und Gebern bei numerisch gesteuerten Werkzeugmaschinen
und Robotern, bei denen eine Mehrzahl interpolierender Achsen synchron
betrieben werden müssen.
Bei der zunehmenden Vernetzung verschiedenster technischer Systeme
wächst deshalb
die Forderung nach standardisierten Strukturen in der Industrie.
-
Ein
Beispiel hierfür
ist der Feldbus nach dem sogenannten Aktuator-Sensor-Interface-Standard, kurz
ASI-Standard. Dieses Feldbuskonzept ist speziell darauf abgestimmt,
binäre
Sensoren oder Aktuatoren direkt busfähig zu machen, was mit anderen Feldbussystemen
bislang nicht möglich
war. Ein Automatisierungssystem besteht aus mit dem Bussystem koppelbaren
Hardwarekomponenten, insbesondere Motoren, Sensoren, Aktuatoren
u.a – d.h.
der Prozessumgebung – die
im Zusammenspiel mit einer oder mehreren übergeordneten Steuerungen einen automatischen
Produktionsprozess bilden. Der Busmaster übernimmt dabei alle Aufgaben,
die für
die Abwicklung des Busbetriebes notwendig sind. Er ist in der Regel
getrennt von der eigentlichen Steuereinheit zum Steuern der Hardwarekomponenten.
-
Um
auf einfache Weise eine offene und flexible Betriebsweise des Systems
zu erzielen, wobei die Hardwarekomponenten ohne Änderungen der Steuerprogramme
austauschbar sind, ist aus der
DE 198 50 469 A1 ein Automatisierungssystem
und ein Verfahren zum Zugriff auf die Funktionalität von Hardwarekomponenten
bekannt, bei dem diese jeweils eine Systemverbindungseinheit mit
Funktionsobjekten als Abbild der realen Funktionalität der Hardwarekomponenten
aufweisen, wobei die Funktionsobjekte zum Zugriff auf die Funktionalität der Hardwarekomponenten über das
Bussystem vorgesehen sind. Für
eine Realisierung der Hardwarekomponenten als "plug and play"-Module ist es erforderlich, direkt
in der Hardwarekomponente einen speziellen Baustein vorzusehen,
auf dem die Funktionsobjekte als Zugang zur Funktionalität der Hardwarekomponenten
ablauffähig
sind. Dieser spezielle Baustein ist in Form der Systemverbindungseinheit
realisiert. Die Systemverbindungseinheit ist mit einem Bussystem
des Automatisierungssystems gekoppelt, so dass Kommunikationsdaten
beispielsweise von einem Leitsystem zur Hardwarekomponente wie auch
von und zu sämtlichen
mit dem Bussystem gekoppelten weiteren Komponenten übertragen
werden können.
Mit Hilfe der Systemverbindungseinheit wird es somit möglich, Hardwarekomponenten
ohne Änderung
der bestehenden Strukturen des Automatisierungssystems zu ersetzen,
zu ergänzen
etc. Weiterhin können
spezielle zwischen einem Leitsystem und den Hardwarekomponenten
bisher erforderliche Vermittlungsobjekte entfallen. Für einen
Netzübergang
weist die Systemverbindungseinheit einen Speicher zur Speicherung
von zwischen den beiden Bussystemen erforderlichen Protokollen auf.
So ist beispielsweise auf einfache Weise ein Netzübergang zwischen
ETHERNET (Datenübertragungsrate
10 Mbit/s), insbesondere des FAST ETHERNET (Datenübertragungsrate
100 Mbit/s – Norm
IEEE Std 802.3-1998), und dem Profibus möglich. Die Einbettung der den
Hardwarekomponenten zugeordneten Systemverbindungseinheiten in ihre
Umgebung kann dadurch erfolgen, dass die Funktionsobjekte mindestens
ein erstes Funktionsobjekt zur Erzeugung einer minimalen Funktionalität einer
Hardwarekomponente, mindestens ein zweites Funktionsobjekt zur Verschaltung
von Funktionsobjekten und mindestens ein drittes Funktionsobjekt
zur Auflistung von in der Systemverarbeitungseinheit und/oder auf
entfernten Systemverarbeitungseinheiten und/oder entfernten Rechnern
vorhandenen Funktionsobjekten enthalten. Die besondere Funktion
des Funktionsobjekts besteht darin, die Summe der Funktionalität des Systems
zu enumerieren, d. h. zu erfragen. Die Funktionsobjekte sind beispielsweise
als sogenannte DCOM-Objekte
(Distributed Component Object Model) bzw. als sogenannte OLE-Objekte (Object Linking
and Embedding) ausgebildet. Weiterhin weist die Systemverbindungseinheit
ein Laufzeitsystem (Runtime-System) sowie eine Protokollverarbeitungseinheit
(Profibus, UDP/IP, RPC) auf. Die Systemverbindungseinheit ist deshalb
ein Standardbaustein, der die für
den Feldbus spezifizierten Protokolle gewährleisten muss und der häufig recht
komplex und damit vergleichsweise teuer ist.
-
Um
eine fehlersichere Kommunikation der an einem sicherheitskritischen
Prozess beteiligten Einheiten zu gewährleisten, wobei gleichzeitig
die Verwendung von Standardbausteinen als Busmaster möglich ist,
ist aus der
DE 199
28 517 C2 ein Steuerungssystem bekannt, bei dem der Busmaster
getrennt von einer ersten Steuereinheit und einer Signaleinheit
an den Feldbus angeschlossen ist, bei dem die erste Steuereinheit
bezogen auf eine Umlaufrichtung des Telegrammverkehrs vor der Signaleinheit
angeordnet ist, und bei dem die erste Steuereinheit Mittel aufweist,
um Telegrammdaten, die an die Signaleinheit adressiert sind, durch
fehlersichere Telegrammdaten zu ersetzen. Dabei ist es möglich, die
erste Steuereinheit als einfachen Busteilnehmer, d. h. ohne eine
Busmasterfunktionalität
an den Feldbus anzuschließen.
Weiterhin weist das Steuerungssystem eine zweite Steuereinheit zum
Steuern von sicherheitsunkritischen Prozessen auf, welche getrennt
von der ersten Steuereinheit an den Feldbus angeschlossen ist. Die
zweite Steuereinheit weist neben anderen, an sich bekannten Komponenten
einen Mikro-Controller sowie einen Master-Protokollchip auf. Der
Master-Protokollchip besitzt im vorliegenden Fall eine Busmasterfunktionalität für einen
Interbus und wird als Busmaster bezeichnet. Derartige Master-Protokollchips
sind als Standardbauelemente von verschiedenen Herstellern erhältlich.
Ein in der ersten Steuereinheit enthaltener Kommunikationsbaustein
besitzt einen Slave- Protokollchip,
der über
einen ersten Busanschluss eingangsseitig und über einen zweiten Busanschluss
ausgangsseitig mit dem Feldbus verbunden ist. Der Protokollchip
entspricht den in den Signaleinheiten enthaltenen Protokollchips,
welche als Busteilnehmer sicherheitsbezogene Einrichtungen an den
Feldbus anschließen.
Um bei einem Feldbus mit sequentiell umlaufenden Telegrammverkehr
auch eine Slave-to-Slave-Kommunikation zwischen Busteilnehmern bereitzustellen,
von denen keiner eine Busmasterfunktionalität besitzt, wird der Protokollchip
eines Busteilnehmers, der Daten an andere Busteilnehmer versenden
will, um einen Sendespeicher und gegebenenfalls einen Empfangsspeicher
ergänzt
wird. Die Funktionsweise des umlaufenden Telegrammverkehrs basiert
also auf dem in jedem Busteilnehmer angeordneten gleichen Slave-Protokoll-Chip,
häufig
als "Serielles Mikroprozessor
Interface" (SUPI)
bezeichnet. Durch die Benutzung eines Standardbauelement, das von
verschiedenen Herstellern erhältlich
ist, können
die Kosten des Steuerungssystem niedriger gehalten werden; insgesamt
sind die Kosten für
den Busmaster und die Signaleinheiten, die für den Feldbus spezifizierten
Protokolle gewährleisten
müssen,
komplex und damit vergleichsweise hoch.
-
Ein ähnlicher
Weg wird bei dem aus dem
DE 299
07 909 U1 bekannten und in der Fertigungseinrichtung integrierten Überwachungssystem,
basierend auf Einsteckkarten, eingeschlagen. Im einzelnen weist
jede Einsteckkarte einen Mikroprozessor, eine Speichereinheit zum
Abspeichern der Prozessdaten, die mit dem Mikroprozessor verbunden
ist, eine Sensorbus-Schnittstelle (RS 485) und eine Feldbus-Schnittstelle
(RS 485), die mit dem Mikroprozessor verbunden sind, eine Service-Schnittstelle (RS-232)
zum Anschluss an ein Modem und eine Schnittstelle (ISA-Busschnittstelle)
zur Verbindung des Mikroprozessors mit einem Host-Rechner auf. Die
integrierte Feldbus-Schnittstelle bzw. Sensorbus-Schnittstelle weist jeweils eine ISO-Schnittstelle und
einen Feldbus-Datenprozessor
(SPC 3), im vorliegenden Beispiel ein Profibus-Datenprozessor, auf. Eine
Maschinensteuerung ist wahlweise über die integrierte Profibus-Schnittstelle mit
der Einsteckkarte oder über
eine I/O-Box mit Sensor-Elektronikeinheiten
verbunden. Die intelligenten Sensor-Elektronikeinheiten ermöglichen
jeweils die Versorgung eines Sensors, die Erfassung der Sensordaten,
die Messsignalvorverarbeitung (Signalfilterung, -Verstärkung usw.)
und die einfache Signalanalyse (digitales Filtern, Erfassen der
Spitzenwerte, usw.). Unter einer intelligenten Sensor-Elektronikeinheit
wird daher ein Modul verstanden, welches einen eigenen Mikro-Controller,
Filter, Verstärker,
eine Stromversorgung und eine Sensorbusschnittstelle aufweist. Die Sensor-Elektronikeinheit
kann über
die Einsteckkarte vor jeder Bearbeitung neu parametriert werden.
Dies betrifft z.B. die Verstärkungsfaktoren,
die Filterwerte und die Verrechnung mehrerer Eingangssignale zu einem
Summensignal. Durch die Profibus-Schnittstelle wird die Überwachung
mit dem Bearbeitungsprozess synchronisiert. Über sogenannte automatisierte
Einstellroutinen kann das Überwachungssystem
einfach in die Fertigungseinrichtung eingebunden werden. Die automatisierten
Einstellroutinen führen
z.B. die Erkennung der Sprache auf der Steuerung und die damit verbundene
Sprachumschaltung, die Erkennung der Sensoren am Sensorbus und die automatische
Konfiguration der Verstärkungs- und Filterwerte
durch. Die Ein- und Ausgänge
der speicherprogrammierbaren Steuerung (SPS) werden selbständig zugeordnet
und die Uhrzeit einer Echtzeit-Uhr
auf der Einsteckkarte wird automatisch mit der Uhrzeit des Hostrechners
abgeglichen. Die Einsteckkarte erlaubt die Überwachung von beispielsweise
bis zu vier Sensorkanälen,
wobei mit dem Kommunikationsprozessor für die Sensorbus-Schnittstelle
eine Datenrate von bis zu 460,8 kBaud bei gleichzeitig hoher Störsicherheit
erreicht wird. Vorzugsweise verarbeitet der Mikroprozessor der Einsteckkarte
die Daten im Hammingcode mit einer Hamming-Distanz von 4 und ist
für die
Verschlüsselung
und Entschlüsselung
zuständig.
Zwischen dem Mikroprozessor und der ISA-Busschnittstelle zum Host-Rechner
ist ein Adressdekoder vorgesehen, der auf an sich bekannte Weise
für die
Kodierung und Dekodierung der Adress- und Speicherzugriffe im PC
zuständig
ist. Die Spannungsversorgung der Einsteckkarte erfolgt über die
ISA-Schnittstelle, über
die auch die Kommunikation mit dem Hostrechner erfolgt. Da die Einsteckkarte
einen eigenen Prozessor aufweist, der für die Überwachung zuständig ist,
wird die CPU des Hostrechners nicht mit Rechenleistung belegt. Für die Kommunikation
mit den Sensor-Elektronikeinheiten ist ein echtzeitfähiges Sensorbusprotokoll
definiert. Dies ermöglicht
die Abfrage der Messdaten sowie die Steuerung und Parametrierung
der Sensoren mit definierten Antwortzeiten. Die Überwachungsdaten werden beispielsweise
in einem Takt von 10 ms verarbeitet und die Sensordatenvorverarbeitung
erlaubt eine Abtastrate unter 1 ms. Damit kann für eine Kollisionsüberwachung
eine Reaktionszeit unter 1 ms garantiert werden. Über den Feld-
bzw. Profibus können
neben den Synchronisationsdaten in vorteilhafter Weise auch prozessspezifische
Achssignale wie Drehmomente, Motorströme und Achsgeschwindigkeiten übertragen
werden. Das Protokoll kann beispielsweise die Abfrage von bis zu acht
verschiedenen Achsen erlauben. Die benötigten Steuerdaten können auch
direkt aus dem Steuerkern der Maschinensteuerung über den
Feldbus an den Mikroprozessor der Einsteckkarte geliefert werden. In
diesem Fall wird keine spezielle Sensorik benötigt und die Sensorbus-Schnittstelle
auf der Einsteckkarte kann entfallen. Über die Service-Schnittstelle
können
alle Einstellungen, Software-Updates sowie die Prozessvisualisierung
erfolgen. Durch die Auslegung als Modemschnittstelle sind über ein
Modem Teleservice- und Ferndiagnose-Funktionalitäten verfügbar. Dadurch ist das System
aus der Ferne voll bedien- und parametrierbar. Die Visualisierung
der Prozessdaten kann über
ein Programm auf dem Hostrechner (Steuerung, Industrie-PC) erfolgen.
Nachteilig ist wieder, dass die Einsteckkarten und die intelligenten Sensor-Elektronikeinheiten,
die für
den Feldbus spezifizierten Protokolle gewährleisten müssen, komplex und damit vergleichsweise
teuer sind.
-
Weiterhin
ist aus der
DE 198
31 405 A1 ein Steuerungssystem mit einem Personalcomputer
bekannt, der zur Bearbeitung eines Steuerprogramms zumindest einen
PC-Prozessor, einen Programmspeicher und einen Datenspeicher aufweist
und der mit einem Kommunikationsprozessor zur Anschaltung an einen
Feldbus versehen ist, an den Sensoren und/oder Aktuatoren zur Steuerung
eines Prozesses anschließbar
sind. Zur Kommunikation am Feldbus ist in dem Personalcomputer eine
Steckkarte gesteckt, die an einen internen PCI-Bus, der Daten-, Steuer-
und Adressleitungen besitzt, angeschlossen ist. Über eine PCI-Busanschaltung
und den internen Bus kommuniziert der PC-Prozessor mit den Komponenten
der Steckkarte. Auf der Steckkarte ist der Kommunikationsprozessor
angeordnet, der nach einer entsprechenden Parametrierung durch den PC-Prozessor
selbständig
eine zyklische Datenübertragung
am Feldbus durchführt
und im wesentlichen aus einem ASIC besteht. Der Kommunikationsprozessor
ist als Master an einem Feldbus mit zyklischer Datenübertragung
nach Art des PROFIBUS DP betreibbar und hat die Funktion eines "Taktschlägers" bei der Erfassung
der Prozessdaten. Weiterhin ist ein Speicher vorgesehen, in welchem
die am Feldbus eingegangenen Prozessdaten abgelegt werden. Dieser
Speicher hält
damit ein aktuelles Prozessabbild, auf das durch den PC-Prozessor
jederzeit zugegriffen werden kann. Um den PC-Prozessor von dem Pollen
der eingegangenen Prozessdaten oder von dem Überwachen des Feldbuszyklus
zu entlasten, ist eine Überwachungseinheit
vorgesehen. Die Überwachungseinheit
kann durch eine parametrierbare Hardwareschaltung realisiert werden,
aber auch eine Softwarelösung
durch eine Erweiterung des Kommunikationsprozessorprogramms ist
möglich.
Dabei besteht die Hardwareschaltung aus einem kleinen RAM, der in
den Adressraum des PC-Prozessors
eingegliedert ist und daher von diesem direkt adressiert werden
kann, sowie aus einem programmierbaren Logikbaustein, der entsprechend
einer im RAM abgelegten Parametrierung die zyklische Datenübertragung
am Feldbus und/oder am Feldbus eingegangene Daten überwacht.
Bei Anlauf des Steuerprogramms im Programmspeicher greift der PC-Prozessor
auf das RAM zu und setzt dort die entsprechenden Bits, um die Funktion
der Überwachungseinheit in
der gewünschten
Weise zu bestimmen. Durch diese Parametrierung wird beispielsweise
festgelegt, in welchen Fällen
die Überwachungseinheit
einen Interrupt erzeugen soll, der über die PCI-Busanschaltung und den PCI-Bus an den
PC-Prozessor weitergeleitet wird. Damit wird festgelegt, bei welchen
Ereignissen der PC-Prozessor zur Weiterverarbeitung der am Feldbus
eingegangenen Daten durch das Steuerprogramm veranlasst werden soll.
Bei aktiver Prozesssteuerung pollt der Kommunikationsprozessor als Master
fortwährend
die Teilnehmer, beispielsweise Sensoren wie ein Durchfluss- bzw.
ein Füllstandsmessumformer,
oder Aktuatoren wie ein Zu- bzw. ein Ablaufventil an einem Tank,
am Feldbus, die als Slaves betrieben werden. Wenn durch den Kommunikationsprozessor
die Prozessdaten eines Slaves eingelesen wurden, will er sie in
die Speicherzellen des Speichers eintragen, die für die jeweiligen
Prozessdaten vorgesehen sind. Der Logikbaustein der Überwachungseinheit überprüft anhand
der Adresse des Schreibzugriffs, ob bei einer Änderung der jeweiligen Prozessdaten
ein Interrupt erzeugt werden muss. Diese Überprüfung ist in einfacher Weise
möglich,
da die Prozessdaten der einzelnen Slaves jeweils an festen Speicherplätzen innerhalb
des Speichers abgelegt sind. Soll ein Interrupt bei einer Änderung
der jeweiligen Daten erzeugt werden, so vergleicht ein im Logikbaustein
realisierter Datenkomparator die durch den Kommunikationsprozessor
auf den Bus gelegten Daten mit den früheren Prozessdaten, die durch
den Logikbaustein zuvor aus dem Speicher ausgelesen wurden. Da der
Vergleich der aktuell eingegangenen Daten mit den früheren Prozessdaten
sowie die Interrupt-Generierung durch eine in Hardware realisierte Überwachungseinheit
durchgeführt
wird, ist in vorteilhafter Weise eine sehr schnelle Reaktion des
Steuerungssystems auf Änderungen
der Prozessdaten möglich.
Nachteilig ist wieder, dass Kommunikationsprozessor und Überwachungseinheit,
die für
den Feldbus spezifizierten Protokolle gewährleisten müssen, komplex und damit vergleichsweise
teuer sind.
-
Auch
ist die Nutzung der (Fast)-Ethernet-Übertragungstechnik bei der
Vernetzung verschiedener Kommunikationssysteme bekannt. Beispielsweise
ist aus der
DE 100
47 925 A1 ein Verfahren zur Echtzeitkommunikation zwischen
mehreren Netzwerkteilnehmern in einem Kommunikationssystem mit Ethernet-Physik bekannt, bei
dem eine Mastereinheit und ein oder mehrere Slaveeinheiten mittels über das
Netzwerk übertragenen
Telegrammen miteinander kommunizieren, ein zyklischer Austausch
der Telegramme mit äquidistanten
Abtastzeitpunkten stattfindet, indem jede Slaveeinheit auf die Mastereinheit
durch eine gemeinsame Zeitbasis synchronisiert wird und eine Zugriffssteuerung
für den Sendebetrieb
und Empfangsbetrieb zwischen den Netzwerkteilnehmern über ein
Zeitschlitz-Zugriffsverfahren erfolgt. Die Anforderungen an die
Leistungsfähigkeit
von Kommunikationssystemen sind in der Automatisierungstechnik,
z. B. bei der Kopplung von Antriebskomponenten, besonders groß. Beim
Datenaustausch zwischen Gebern, Leistungsteilen und einer Antriebsregelung
ist die Datenübertragungszeit, die
als Totzeit in die Regelschleife eingeht, eine besonders wichtige
Größe. Je kleiner
diese Totzeit ist, desto höhere
Dynamik kann mit dem Regelungssystem erreicht werden. Da es in der
Automatisierungstechnik sowohl auf eine hochgenaue Einhaltung der Echtzeitbedingung
als auch auf eine hohe Sicherheit der Übertragung ankommt, wird die
genormte Übertragungsschicht
2 (Telegrammrahmen und Zugriffsverfahren) des (Fast)-Ethernet, die
diese Anforderungen nicht erfüllt,
durch einen neuen Telegrammrahmen und eine neue Zugriffsteuerung
vollständig
neu definiert und damit die Ethernet-Physik als Basis für eine Echtzeitkommunikation
zwischen beispielsweise Antriebskomponenten genutzt. Dabei kann
sowohl die Kommunikation zwischen der Regelungseinheit und den Gebern
und Leistungsteilen als auch die Verbindung zu einer Bewegungssteuerung
realisiert werden. Um einen zyklischen Datenaustausch mit gleichen
Abtastzeitpunkten realisieren zu können, wird eine gemeinsame
Zeitbasis für
den Master und alle Slaves hergestellt. Die Synchronisierung der Slaves
auf den Master erfolgt durch speziell ausgezeichnete, zeitlich definierten
Telegramme des Masters an die Slaves und individuell parametrierte
Zeitzähler
in den Slaves. Die Nutzdaten können
in einem Telegrammrahmen transportiert werden, der neben der Slave-Adressierung
und Telegrammlängeninformation
die Absicherung der Datenintegrität mittels beispielsweise einer
CRC-Checksumme und weitere sicherheitsrelevante Datenbereiche zur
Verfügung stellt.
Die Daten im Telegrammrahmen können
nicht nur von einem Applikationsprozessor, sondern auch von einem
Kommunikationsbaustein ausgewertet werden, was einen zweiten Auslösekanal
ermöglicht. Obwohl
die zur Anwendung kommende Übertragungstechnik
nach dem Ethernet-Standard prinzipiell nur Punkt-zu-Punkt-Verbindungen
erlaubt, kann wie bei (Fast)-Ethernet Netzen auch durch die Verwendung
von Netzknoten (sogenannte HUBs) die Bildung von Netzwerken ermöglicht werden,
indem mehrere oder jeder Netzwerkteilnehmer über einen Schaltungsteil zur
Bildung von Netzknoten verfügt, der
zur Weiterleitung der Telegramme in Richtung einer anderen Mastereinheit
oder weiterer Slaveeinheiten dient. Dadurch können auch hierarchische Netzwerke
mit über
Netzknoten verbundenen Punkt-zu-Punkt-Verbindungen mit Ethernet-Physik zur Durchführung einer
Echtzeitkommunikation in größeren Netztopologien
erstellt werden. Dieses eignet sich auch zur Vernetzung bzw. Kopplung
eines verteilten Antriebssystems, indem ein erstes Kommunikationssystem
eine numerische Bewegungssteuerung als Mastereinheit und mindestens
eine Regelungseinheit als Slaveeinheit umfasst, wobei jede Regelungseinheit
als Mastereinheit eines weiteren Kommunikationssystems dient, welches
mindestens ein Leistungsteil zur Ansteuerung eines Motors und ein
zugeordnetes Gebersystem als Slaveeinheiten aufweist. Über die
Fast Ethernet-Leitungstreiber innerhalb jedes Netzwerkteilnehmers
und eventuelle Netzknoten gelangen die Telegramme zu den jeweiligen
Protokollbausteinen, die das Telegrammprotokoll abarbeiten und in
denen das Zeitschlitz-Zugriffsverfahren realisiert wird. Wenn der
Protokollbausteinen unabhängig
von einem Mikroprozessor der Slave-Applikation (dem eigentlichen Leistungsteil)
ist, können
mittels Kontroll-Bits des Telegrammrahmens bestimmte Applikationsereignisse
im Slave ausgelöst werden,
ohne dessen Mikroprozessor und eine entsprechende Software zu benötigen. Dies
entspricht einem zweiten Auslösekanal,
wie er für
bestimmte sicherheitsgerichtete Anwendungen (z. B. Not-Aus etc.)
gefordert ist.
-
Weiterhin
ist aus der
DE 100
04 425 A1 ein Netzwerk mit einer Mehrzahl von Netzwerkteilnehmern,
beispielsweise Sensoren und Aktuatoren, bekannt, die über das
Netzwerk zur Datenübertragung miteinander
verbunden sind. Um eine verbesserte Genauigkeit bezüglich der
Uhrzeitsynchronisation zu erreichen, enthält das erste Telegramm eine
um eine Sendezeitverzögerung
korrigierte Uhrzeit eines ersten Netzwerkteilnehmers, und ein zweiter
Netzwerkteilnehmer ist dazu ausgebildet, die Zeitverzögerung seit
Empfang des ersten Telegramms zu messen und die im ersten Telegramm
empfangene Uhrzeit um die Durchlaufzeit und die Empfangszeitverzögerung zu korrigieren.
Ist der zweite Netzwerkteilnehmer weiterhin dazu ausgebildet, ein
zweites Telegramm zur Uhrzeitsynchronisation an einen dritten Netzwerkteilnehmer
zu senden, das eine um die Laufzeit und die Verzögerungszeit zwischen Empfang
des ersten Telegramms und Senden des zweiten Telegramms korrigierte
empfangene Uhrzeit enthält,
so wird ein iteratives Weitersenden der jeweils korrigierten Uhrzeit von
Netzwerkteilnehmer zu Netzwerkteilnehmer möglich. Weiterhin können Beginn
und Ende der Laufzeit eines Telegramms jeweils als der Zeitpunkt bestimmt
werden, zu welchem ein charakteristisches Feld eines Telegramms
mit festem Abstand vom Telegrammanfang ein Media- Independent-Interface des ersten Netzwerkteilnehmers
verlässt
bzw. in ein Media-Independent-Interface des zweiten Netzwerkteilnehmers
einläuft.
Vorteilhaft sind dabei Messungen der Sendezeitverzögerung,
Laufzeit und Empfangszeitverzögerung
unabhängig
von der Länge des
jeweiligen Telegramms. Erfüllen
die Netzwerkkomponenten die Ethernet-, Fast-Ethernet- oder Gigabit-Ethernet-Spezifikation,
so kann mit Vorteil als charakteristisches Feld des Telegramms das
Type-Feld verwendet werden. Ein Netzwerkteilnehmer, insbesondere
ein Feldgerät,
kann mit mehreren Ports, insbesondere vier Ports, zum Anschluss
weiterer Netzwerkkomponenten ausgestattet werden. Dabei kann eine
Schnittstelle, ein sogenanntes Mikroprozessor-Interface, zur Verbindung
der Ports mit einem teilnehmerinternen Prozessorbus und eine Steuereinheit,
eine sogenannte Switch-Control, vorgesehen werden, welche eine Telegrammweglenkung
zwischen den Ports und dem Mikroprozessor-Interface vornimmt. Das
hat den Vorteil, dass Netzwerkteilnehmer, insbesondere Feldgeräte, in der vom
Anwender von Feldbussen gewohnten Weise in einer Linienstruktur
verschaltet werden können.
Ein separater Switch, wie er bei einer sternförmigen Struktur erforderlich
wäre, entfällt. Die
Integration von Switch-Funktionen in den Netzwerkteilnehmer hat
den Vorteil, dass insbesondere bei Ethernet die CSMA/CD-Zugriffssteuerung
deaktiviert werden kann und das Netzwerk ein deterministisches Verhalten
erhält.
Somit wird der Einsatzbereich der Netzwerkteilnehmer und des Netzwerks
auf Anwendungsfälle
erweitert, in welchen Echtzeitverhalten gefordert wird. Ein Gateway
zur Kopplung von Netzwerkbereichen mit verschiedener Physik und
verschiedenen Protokollen ist nicht erforderlich. Die Kommunikation
mit den anwendungsspezifischen Schaltungsteilen des Netzwerkteilnehmers
erfolgt über
einen Mikroprozessor-Bus, an welchen ein RAM, ein Mikroprozessor
und ein Mikroprozessor-Interface angeschlossen sind. Aufgabe des
Mikroprozessors ist die Ausführung
von Anwenderprogrammen und von Kommunikationsfunktionen, beispielsweise
die Abwicklung von TCP/IP. Eine weitere Aufgabe kann die Verwaltung
von Sende- und Empfangslisten von Telegrammen unterschiedlicher
Priorität
in einem externen RAM sein. In ein ASIC der Kommunikationsschnittstelle
sind weiterhin vier Ethernet-Kontroller integriert. Jeder dieser
Ethernet-Kontroller trägt
die Datenbytes eines vollständig empfangenen
Telegramms über
einen Multiplexer, einen DMA-Kontroller, der auch als DMA 2-Control
bezeichnet wird, und das Mikroprozessor-Interface in eine Empfangsliste
im RAM ein. Der Mikroprozessor greift auf die Empfangsliste zu und
wertet die empfangenen Daten entsprechend einem Applikationsprogramm
aus. Das Mikroprozessor-Interface
bildet die wesentliche Schnittstelle zwischen den Ethernet-Kontrollern
und dem Mikroprozessor-Bus. Es steuert oder arbitriert die Schreib-
und Lesezugriffe, die über
den DMA-Kontroller bzw. den DMA-Kontroller auf das RAM erfolgen.
Liegen von beiden DMA-Kontrollern gleichzeitig DMA-Anforderungen vor,
so entscheidet das Mikroprozessor-Interface über die Zugriffsrechte der
beiden DMA-Kanäle. Über das
Mikroprozessor-Interface können
weiterhin durch den Mikroprozessor Parameterregister geschrieben
werden, die zum Betrieb der Kommunikationsschnittstelle des Netzwerkteilnehmers
erforderlich sind. Eine Einrichtung der Ethernet-Kontroller, die als Transmit-Control
bezeichnet wird, enthält
ein Steuerwerk, das für
das Senden von Telegrammen, für
Wiederholungen, Sendeabbruch usw. verantwortlich ist. Sie bildet
die Schnittstelle zwischen dem internen Kontrollertakt und dem Sendetakt.
Zum Speichern einer Transmit-Status-Information für niederpriore und hochpriore
Telegramme ist jeweils ein Transmit-Status-Register in der Einrichtung
vorgesehen. Wenn ein Telegramm fehlerfrei über den Port gesendet wurde,
wird ein entsprechender Interrupt erzeugt. Das Media Independent
Interface (MII) integriert den MAC-Sublayer des Layers 2 nach dem
Sieben-Schichten-Modell, d. h. des Data-Link-Layer. Dieses bildet
eine Schnittstelle zu einem Baustein zur physikalischen Datenübertragung.
Weiterhin enthält das
MII einen Transmit-Function-Block sowie einen Receive-Function-Block.
Darüber
hinaus sind ein MAC-Control-Block,
ein Adressfilter, ein Statistikzähler
und ein Host-Interface integriert. Über das MII können Steuer-
und Konfigurationsdaten an den Baustein übertragen und Statusinformationen
von diesem gelesen werden.
-
Weiterhin
ist aus der
DE 42 04
383 A1 ein dezentral gesteuertes Datentransportsystem für die industrielle
Automatisierungstechnik mit einer Verbindungsstruktur bekannt, welches
flexibel an lokal unterschiedliche Zuverlässigkeitsanforderungen angepasst
werden kann und bei welchem Echtzeiteigenschaften strukturell nur
dort erfüllt,
wo diese auch tatsächlich
gefordert werden. Hierzu wird für
die Verbindungsstruktur des Datentransportsystems insgesamt eine
teilweise vermaschte Struktur zugelassen und die Teilnehmer dieses
Datentransportsystems, ausgeführt
als intelligente Funktionseinheiten (Verarbeitungsknoten) mit jeweils
bis zu vier unabhängigen Anschlüssen für Übertragungsleitungen,
ermöglichen
den Aufbau von genau den Anforderungen im Bereich der Zuverlässigkeit
und der Übertragungsgeschwindigkeit
entsprechenden Teilstrukturen. Sind für den Datenaustausch zwischen
zwei Funktionseinheiten hohe Zuverlässigkeitsanforderungen zu erfüllen, werden
redundante Strukturen vorgesehen. Echtzeiteigenschaften werden durch
direkte Verbindungen oder durch parallele Übertragungswege, auf die das
Datenaufkommen verteilt wird, realisiert. Redundante Verbindungen
werden im störungsfreien Fall
ebenfalls zur Datenübertragung
genutzt. Jeder Verarbeitungsknoten wird aus standardisierten Komponenten,
die insgesamt eine sich gegenseitig überwachende Mehrrechnerstruktur
bilden, aufgebaut. Jeder Rechner ist ein um einen leistungsfähigen Mikrocontrollerbaustein
aufgebautes, allein lauffähiges Minimalsystem,
das über
genau eine Schnittstelle zum Datentransportsystem verfügt. Durch
den modularen Aufbau kann jeder Verarbeitungsknoten entsprechend
den Anforderungen aus einem (zentralen Modul) bis vier Prozessormodulen
aufgebaut werden. Das zentrale Modul enthält neben der den Anforderungen
entsprechenden Anzahl von Prozessormodulen alle zur Kommunikation
und Steuerung immer wieder benötigten
Bauteile auf einer gemeinsamen Trägerkarte. Diese enthält ein von
allen Modulen genutztes Netzteil (die Spannungsüberwachung und eine Pufferbatterie
gehören
zum Prozessormodul), eine Echtzeituhr, sowie die zur Rechnerkopplung
notwendigen Bauteile. Der in der Regel zum zentralen Modul zu ergänzende,
variable Anteil (Interface) enthält,
abgestützt
auf die von den Prozessormodulen bereitgestellten Ein-/Ausgabeleitungen, alle
zur elektrischen und mechanischen Anpassung notwendigen Komponenten.
Im Einzelnen ist dies ein Mikrocontroller mit seriellen und parallelen
Ein-/Ausgabeleitungen, eine eigene Spannungsregelung mit Überwachungsbaustein
und Pufferbatterie, Bauteile zur internen Adressdecodierung, einen
Arbeitsspeicher und Treiberbausteine zur Ankopplung des Prozessormoduls
an das Datentransportsystem. Jedes Modul benötigt mindestens einen nichtflüchtigen Speicher
für den
Urlader und einen weiteren, möglichst
großen
Bereich für
das Betriebsprogramm und zur Zwischenspeicherung von Daten. Ausgehend von
einer in jedem Verarbeitungsknoten fest gespeicherten, standardisierten
Urladeroutine wird die jeweils zusätzlich benötigte Software über das
Datentransportsystem ferngeladen. Das Interface identifiziert sich über einen
Kenndatensatz automatisch gegenüber
dem zentralen Modul, in das dann die spezielle Betriebssoftware
ferngeladen wird. Jeder neue Verarbeitungsknoten identifiziert sich
und sein Interface, sobald er in das schrittweise aufzubauende Datentransportsystem
eingebunden wird, gegenüber
einer irgendwo im System enthaltenen Leitstation. Die Leitstation
initialisiert auf Basis dieser Daten den Verarbeitungsknoten, d.
h. die Teilnehmeradresse wird festgelegt und die benötigte Betriebssoftware
wird ferngeladen. Abschließend
erfolgt eine Rekonfiguration des gesamten, bis zu diesem Zeitpunkt
aufgebauten Datentransportsystems, in der jeder Teilnehmer den neue
Verarbeitungsknoten und die dazu gehörenden Datenleitungen in seiner
Vermittlungssteuerung berücksichtigt.
-
Schließlich ist
aus der US-A-5,815,678 ein System und ein Verfahren zur Simulation
der Implementierung einer in Abhängigkeit
von einem Anwendungsprogramm programmierbaren Schnittstellenschaltung
in einem seriellen Bussystem, basierend auf dem Standard IEEE 1394,
bekannt. Im einzelnen sind hierfür
Mittel zur Initialisierung und Konfiguration des Bussystems, Mittel
zur Zuweisung von Speicherbereichen zur Speicherung der über den
Bus empfangenen und zu sendenden Daten, Mittel zur Steuerung der Übertragung
und Mittel zum Zurücksetzen und
zur Rekonfiguration des Bussystems nach Maßgabe von Steuerbefehlen des
jeweiligen Anwendungsprogramms vorgesehen. Die virtuelle Schnittstellenschaltung
enthält
hierzu eine Sammlung von Programmaufrufen für Software unabhängig von
der Anwendung und anwendungsspezifischer Software, mittels welcher
aus einer Anwendung heraus die Datenübertragung auf dem IEEE 1394
bus gesteuert wird.
-
Wie
die vorstehende Würdigung
des Standes der Technik aufzeigt, werden in der Automatisierungstechnik
zur Kommunikation zwischen den einzelnen Geräten verschiedene Schnittstellen
mit ihren physikalischen Eigenschaften und Übertragungsprotokolle definiert
und in internationale Normen eingebracht oder etablieren sich als
Industriestandards. Diese Systeme werden allgemein als Feldbussystem bezeichnet,
wobei auch die Ethernet-basierten Technologien dazu zu zählen sind.
Die Schnittstellen sind in Form von dedizierten Kommunikations-Controllern, zum
Teil mit CPU als integrierte Schaltkreise (Kommunikations-Prozessor) aufgebaut,
siehe beispielsweise
DE 198
31 405 (ASIC: ASPC2),
DE
299 07 909 (ASIC: SPC3),
DE 199 28 517 C2 (ASIC: SUPI),
DE 100 04 425 A1 . In der
Regel enthält
der Kommunikations-Prozessor jeweils nur einen speziellen Kommunikations-Controller
für ein
spezielles Feldbussystem, wobei es mittlerweile auch Schaltkreise gibt,
die mehrere dieser dedizierten Kommunikations-Controller enthalten,
wie dies beispielsweise in der US-Patentanmeldung 09/780,979 für einen
Kommunikations-Controller nach dem CAN-Standard und einen Kommunikations-Controller
nach dem Ethernet- Standard
beschrieben ist. Dabei sind in der Regel spezielle Hard- und Softwarekomponenenten
mit einer Reihe von teueren, für
die Kommunikation speziell ausgelegten Komponenten, wie HUB und
Leitungstreiber, Ethernet-Controller,
Media Interpent Interface für
die Verbindung zu einem anderen Netz (öffentliches Datennetz, anderes
LAN oder einem Hostsystem), Feldbus-Schnittstellen bzw. Sensorbus-Schnittstelle,
insbesondere Serial Peripheral Interface mit Master- bzw. Slave-Protokollchips,
sowie die Umsetzung entsprechender Netzwerk-Zugangsprotokolle, z.B.
CSMA/CD (Carrier Sense Multiple Access/Collision Detection), Token-Passing
(Bitmuster als Berechtigungsmarke) oder TCP/IP (Transmission Control
Protocol/Internet Protocol) in für
den Feldbus spezifizierte Protokolle erforderlich. Wenig Beachtung
findet jedoch die Entwicklung eines solchen Schaltkreises unabhängig von
einem speziellen Feldbussystem, um darauf basierend eine individuelle
und komfortable Anpassung der Kommunikationsfunktionen zu ermöglichen.
Deshalb fehlen in der Praxis kostengünstige Verfahren und Kommunikationsschnittstellen
für ein
in Echtzeit betreibbares Automatisierungssystem, welches eine individuelle,
insbesondere automatisch anpassbare, interaktive Kommunikation sicherstellt.
Besonders bedeutsam ist dies, weil die Telekommunikations- und Computerindustrie
als äußerst fortschrittliche,
entwicklungsfreudige Industrien anzusehen sind, die schnell Verbesserungen
und Vereinfachungen aufgreifen und in die Tat umsetzen.
-
Der
Erfindung liegt die Aufgabe zugrunde, ein Verfahren und eine Kommunikationsschnittstelle zur
Kopplung von Busteilnehmern eines Automatisierungssystems derart
auszugestalten, dass der Anschluss beliebiger Busteilnehmer mit
individueller, interaktiver Kommunikation ermöglicht wird.
-
Diese
Aufgabe wird erfindungsgemäß bei einem
Verfahren zur Kopplung von untereinander über einen seriellen Datenbus
kommunizierenden Busteilnehmern eines Automatisierungssystems mit
verteilter Steuerung, welche über
einen Kommunikations-Controller mit einer übergeordneten Steuereinrichtung
zusammenarbeiten, gemäß Patentanspruch 1
gelöst,
indem:
- • der
Kommunikations-Controller aus mindestens einer frei programmierbaren
Kommunikations-ALU aufgebaut ist,
- • in
einem Befehlscode der Kommunikations-ALU mehrere Befehle kodiert
sind und welcher auf spezielle Kommunikationsfunktionen optimiert
ist,
- • in
der Kommunikations-ALU Logikfunktionsblöcke parallel angeordnet sind,
die spezielle Kommunikationsfunktionen ausführen,
wodurch die
Kommunikationsfunktionen nicht fest vorgegeben sind, sondern auf
Basis des frei programmierbaren und auf Kommunikationsfunktionen optimierten
Kommunikations-ALUs ausgebildet sind, wodurch in einem Systemtakt
mehrere Befehle ausgeführt
werden und wodurch Übergänge zwischen den
unterschiedlichsten Netzwerken realisiert werden können.
-
Das
erfindungsgemäße Verfahren
ermöglicht
auf einfache Art und Weise den Aufbau eines „quasi dezidierten" Kommunikations-Controllers,
indem dieser als eine bzw. mehrere frei programmierbare Kommunikations-ALUs
(Arithmetik and Logic Unit) aufgebaut wird, welche einen auf die
Kommunikationsaufgaben optimierten Befehlssatz und Hardwarearchitektur
besitzt. Damit ergeben sich für
die erfindungsgemäße Lösung folgende
Vorteile:
- • Die
Entwicklung, Produktion und Vertrieb eines solchen Schaltkreises
kann unabhängig
von einem speziellen Feldbussystem/Ethernet erfolgen.
- • Erweiterungen
innerhalb der Feldbus-/Ethernet- und im Besonderen Real-Time-Ethernetspezifikation
oder Implementierungen komplett neuer Feldbussysteme können per
Softwareupdate erfolgen und benötigen
keinen neuen Schaltkreis.
- • Besonders
bei zwei oder mehreren Kommunikationsschnittstellen innerhalb eines
Schaltkreises werden die jeweiligen Feldbus-/Ethernetsysteme durch
Laden der Software festgelegt und sind damit völlig flexibel kombinierbar.
-
Weiterhin
wird diese Aufgabe erfindungsgemäß nach Patentanspruch
9 bei einer Vorrichtung zur Kopplung von untereinander über einen
seriellen Datenbus kommunizierenden Busteilnehmern eines Automatisierungssystems
mit verteilter Steuerung gelöst,
welche aufweist:
- – einen Kommunikations-Controller,
welcher mit einer übergeordneten
Steuereinrichtung zusammenarbeitet und welcher mindestens eine frei
programmierbare Kommunikations-ALU aufweist,
- – einen
Befehlscode, in welchem mehrere Befehle kodiert sind und welcher
auf Kommunikationsfunktionen optimiert ist, und
- – eine
parallele Anordnung von mindestens zwei Logikfunktionsblöcken in
der Kommunikations-ALU, die spezielle Kommunikationsfunktionen ausführen,
wodurch
die Kommunikationsfunktionen nicht fest vorgegeben sind, sondern
auf Basis von mindestens einem frei programmierbaren und auf Kommunikationsfunktionen
optimierten Kommunikations-ALU ausgebildet sind, wodurch in einem
Systemtakt mehrere Befehle ausgeführt werden und wodurch Übergänge zwischen
den unterschiedlichsten Netzwerken realisiert werden können.
-
Im
Vergleich zum Aufbau eines dedizierten Kommunikations-Controller
durch Programmierung von FPGAs (Field programmable Gate Array) oder Teile
davon nach dem Stand der Technik, welcher ebenfalls eine fest verdrahteten
Logik entspricht, weist die erfindungsgemäße Vorrichtung die oben beschriebenen
Vorteile auf. Weiterhin werden im Gegensatz zu herkömmlichen
ALUs die Befehle in einem Takt parallel ausgeführt. Dazu sind erfindungsgemäß die zugehörigen Logikfunktionsblöcke in den ALUs
parallel angeordnet und können
gleichzeitig den Befehlscode verarbeiten, wodurch auch bei hohen
Baudraten, z.B. 100 MHz Ethernet, die notwendigen Funktionen realisiert
werden können.
-
Eine
Vorrichtung zur Datenverarbeitung von auf einer Übertragungsleitung bitseriell übertragbaren
Daten, die entsprechend einem vorgegebenen Protokoll zur Datenübermittlung
seriell übertragen und
innerhalb einer Schnittstelle vor einer Übertragung als Datenwort parallel
verfügbar
bzw. nach einer Übertragung
als paralleles Datenwort rekonstruierbar sind und bei der in einem
Bit-Takt eines Systemtaktes mehrere Befehle ausgeführt werden,
ist ansich aus der
DE
42 20 258 C2 bekannt. Im einzelnen ist für eine Adaption
an ein jeweils vorgebbares Übertragungsprotokoll
eine Bitverarbeitungseinheit vorgesehen, die aus wahlweise ansteuerbaren
Umsetzungselementen besteht, welche die einzelnen Datenbits gemäß einer
jeweiligen Protokollkonvention verarbeiten und von einem Steuerwerk
koordiniert sind. Die Bitverarbeitungseinheit weist mindestens einen
Vergleicher für
sequentiell aufeinander folgende Datenbits auf, dessen Ausgangssignal
an das Steuerwerk abgegeben wird. Weiterhin ist zwischen der Übertragungsleitung
und der Bitverarbeitungseinheit ein Kopplungselement angeordnet,
welches als eine Dekodierungseinheit oder als eine Kodierungseinheit
für die
auszugebenden Daten ausgebildet ist. Zur Erhöhung der Arbeitsgeschwindigkeit
bei zeitlich verschachtelt durchzuführenden Kommunikationsabläufen und
Verarbeitungsabläufen
ist vorgesehen, dass die Bitverarbeitungseinheit, das Kopplungselement
sowie zwei umschaltbare und über
das Steuerwerk wahlweise aktivierbare Arbeitsspeicher an einen internen
Bus angeschlossen sind. Weiterhin ist zur Veränderung der Bitreihenfolge
in Abhängigkeit
von einer jeweils vorgegebenen Protokollstruktur vorgesehen, dass
eines der Umsetzungselemente der Bitverarbeitungsemheit als ein
Bitvertauscher ausgebildet ist. Insbesondere bei Protokollen mit
unterschiedlichen Reihenfolgen der Wertigkeit der Bits ist vorgesehen,
dass der Bitvertauscher zur Realisierung einer Spiegelung der innerhalb
eines Datenwortes angeordneten Bits an einer Wortmitte ausgebildet ist.
Eines der Umsetzungselemente der Bitverarbeitungseinheit ist als
eine Sortiervorrichtung ausgebildet, wodurch es möglich ist,
ein serielles Bit an eine beliebige Stelle eines Datenwortes einzublenden. Zur
Gewährleistung
einer ausreichend hohen Verarbeitungsgeschwindigkeit, die beispielsweise
im Bereich von 1 Mbit/s liegen kann, werden die Umsetzungselemente
im wesentlichen schaltungstechnisch realisiert. Im Gegensatz dazu
können
bei der erfindungsgemäßen Vorrichtung – infolge
des flexiblen Befehlssatzes und der zugehörigen Logikfunktionsblöcke – in einem
wesentlich höheren
Systemtakt, nämlich
von 100 MHz, und ereignisgesteuert mehrere Teilaufgaben parallel
gelöst
werden, wodurch protokollunabhängig
eine hohe Verarbeitungsgeschwindigkeit erreicht wird. Beim Gegenstand
der
DE 42 20 258 C2 ist
also, wie beim Stand der Technik, eine spezielle Kommunikationslösung für die Übertragung von
Daten am Data Link Layer (Schicht 2) entwickelt worden, ohne höhere Netzwerkschichten
und anwendungsnahe Services, wie Konfiguration von Parametern oder
Netzwerk-Management,
zu berücksichtigen.
Bei den Büro-
und Heimanwendungen gemäß der IEEE
802.11 spielt es in der Regel keine Rolle, ob die Datenübertragung
bei höherer
Netzlast mal stockt und ein Telegramm wiederholt werden muss. In
der Automatisierungstechnik muss der zyklische Datenaustausch mit
den einzelnen Teilnehmern (Geräte)
sichergestellt werden, d.h. innerhalb einer definierten Zeit muss
also eine festgelegte Datenmenge übertragen werden. Durch die
erfindungsgemäße Lösung ist
auch die Übertragung
zeitkritischer Daten sichergestellt, so dass eine hohe Dienstgüte (Quality
of Service QoS) und auch eine Netzwerk-Migration, beispielsweise
einen CAN-Bus auf eine bis zu hundertmal schnellere Ethernet-Umgebung
zu migrieren, ermöglicht
wird. Weiterhin kann in vorteilhafter Weise die Initialisierung
neuer und der Austausch fehlerhafter Geräte durch Plug- & Play verwirklicht
werden und die flexiblen Kommunikations-Mechanismen ermöglichen
den einfachen Einsatz in vielen Anwendungsfällen und Systemarchitekturen.
Ein Gateway, welches die Anwendungsdaten umformatieren muss, d.h.
ein Gerät,
welches die Dienste einer Anwendungsschicht (Application Layer)
in die andere Anwendungsschicht übersetzt,
was insbesondere bei Bit-orientierten Daten zu einem hohen Aufwand
führt, ist
bei der erfindungsgemäßen Lösung nicht
erforderlich. Die Verbindung zwischen Bussystem und Netzwerk erfolgt
bei der erfindungsgemäßen Lösung durch
Umsetzung auf der Datenverbindungsschicht (Data link layer), wodurch
beispielsweise CAN- Nachrichten in Ethernet-Nachrichten übersetzt
werden können,
da die höheren
Protokolle (Anwendungsschicht) identisch sind. Insbesondere können bei
der erfindungsgemäßen Lösung nicht
nur Master/Slave-Systeme sondern auch verteilte Steuerungen, welche
zumindest partiell nicht-hierarchische Netzwerkarchitektur mit Durchlässigkeit
in beide Richtungen erfordern, realisiert werden.
-
Weitere
Vorteile und Einzelheiten lassen sich der nachfolgenden Beschreibung
einer bevorzugten Ausführungsform
der Erfindung unter Bezugnahme auf die Zeichnung entnehmen. In der
Zeichnung zeigt:
-
1 das
Blockschaltbild eines Kommunikations-Prozessors mit frei programmierbaren
Kommunikations-Controller,
-
2 das
Blockschaltbild eines frei programmierbaren Kommunikations-Controllers für einen
Kommunikations-Prozessor gemäß 1 und
-
3 ein
Beispiel für
einen Befehlscode gemäß der Erfindung.
-
In
der Automatisierungstechnik sind seit Jahren verschiedene Kommunikationssysteme
mit standardisierten Kommunikationsdiensten und Protokollen, mit
denen man zwischen heterogenen und homogenen Netzwerken kommunizieren
kann, im Einsatz. In der untersten Ebene sind beispielsweise einfache
Sensor-Aktuator-Bussysteme oder Rückwandbussysteme (z.B. auf
handelsüblichen
Norm-Tragschienen anbringbare modulare Ein-/Ausgabe-Geräte), in
der mittleren Ebene „eingebettete" Netzwerke zur Steuerung
der Maschinen (welche programmierbare Steuerungen, komplexe elektrische
und hydraulische Antriebsgeräte,
Ein-/Ausgabe-Geräte.
Datenerfassungsgeräte
oder Mensch/Maschine-Schnittstellen verbinden) und in der obersten
Ebene die Netzwerke zur Fabrikautomation angeordnet. Bei der erfindungsgemäßen Lösung liegt
in Hinblick auf die Kommunikationsbeziehungen ein einheitliches
logisches Netzwerk vor so dass eine scharfe Trennlinie zwischen
der Technik in herkömmlichen
Telekommunikationsnetzen, welche nachfolgend beschrieben wird, und
(Computer)-Datennetzen nicht mehr gezogen werden kann.
-
In
der Telekommunikationstechnik erfolgt die Übermittelung kontinuierlicher
Datenströme,
z.B. Sprach- oder Videokommunikation, in der Regel über paketvermittelnde
Kommunikationsnetze, wie z.B. LANs (Local Area Networks), MANs (Metropolitan Area
Networks) oder WANs (Wide Area Networks). Zunehmend wird auch die
ADSL-Technik (Asymmetric Digital Subscriber Line, asymmetrisches
DSL-Datenübertragungsverfahren)
genutzt. Neben der ADSL-Technik sind auch andere DSL-Techniken gebräuchlich,
beispielsweise HDSL = High Data Rate Digital Subscriber Line; SDSL
= Single Line Digital Subscriber Line; MDSL = Multirate Digital
Subscriber Line; RADSL = Low Rate Adaptive Digital Subscriber Line
und VDSL = Very High Rate Digital Subscriber Line, die jede für den Anwendungsfall
optimiert sind und unter dem Oberbegriff xDSL-Übertragungstechnik zusammengefasst
werden. Die Kommunikation erfolgt über Verbindungen ganz unterschiedlicher Bandbreite,
d.h. beispielsweise 56 KBit Analoganschluss oder 64 KBit -ISDN oder
DSL oder – soweit in
einem LAN eingebunden – über 100
MBit Twisted Pair-Leitung, oder über
Wähl-Verbindungen
2 MBit und besser, oder über
Standleitungen X.25. Dementsprechend ist eine ganze Vielzahl von
Schnittstelleneinrichtungen bekannt, beispielsweise
- – ISDN
S0 – Schnittstellen,
- – LAN-Interface
FE (mit Programmspeicher) zum PCI-Bus,
- – externes
LAN-Interface LAN (mit Programmspeicher) als 10/100 Mbit/s Ethernet
oder Token-Ring,
- – WAN-Schnittstellen
WAN: X.21, V.35, G.703/704 bis 2 Mbit/s.
-
Dabei
werden alle Interaktionen des Benutzers durch Events dem Dialog
zwischen dem Benutzer und einem Dialogserver zugeführt, wobei
in einer Dialogsteuerung DE die Session-ID als Zugangsberechtigung
abgespeichert ist. Das Hardware-Konzept des Dialogservers muss auf
die vielfältigen,
gewachsenen Anschlussnormen im weltweiten Netzwerkbetrieb angepasst
werden. Speziell angepasste LAN-Module mit wahlweise BNC-, AUI-,
LWL- oder Twisted
Pair-Anschlüssen
verbinden den Dialogserver mit lokalen Token-Ring- und Ethernet-Netzwerken. Die Zugänge zu den
Weitverkehrsnetzen (z.B. ISDN, X.25) und Standleitungen werden mit
zum Teil mehrkanaligen WAN-Adaptern (So,
UPO, UKO, X.21, V.24,
V.35) geschaffen. Für
die optimale Performance können
aktive WAN-Adapter eingesetzt werden. Im ISDN-Bereich sind die Protokolle
DSS1, 1TR6, N1-1, sowie Fetex 150 verfügbar.
-
Bei
der in 1 dargestellten erfindungsgemäßen Lösung sind die Schnittstellen
in Form eines frei programmierbaren Kommunikations-Controllers KC aufgebaut.
Erfindungsgemäß besteht
dieser aus drei Kommunikations-ALUs, welche im Einzelnen in 2 dargestellt
sind, nämlich:
- • die
Receive Processing ALU (RPA), welche die Aufgabe hat entsprechend
der Übertragungsrate den
empfangenen Bit- bzw. Nibble (halbes Byte) seriellen Datenstrom
zu dekodieren und in eine parallele Darstellung (z.B. Byte, Wort
oder Doppelwort) zu konvertieren,
- • die
Transmitt Processing ALU (TPA), welche die Aufgabe hat Daten aus
einer parallelen Darstellung in Bit- bzw. Nibble seriellen Datenstrom
zu kodieren und mit der richtigen Übertragungsrate auf die Leitung
zu geben und
- • die
Protocol Excecution ALU (PEA), welche den Sende- und Empfangsverlauf
eines zusammengehörigen
Datenpakets steuert.
-
Um
auch bei hohen Baudraten, z.B. 100 MHz Ethernet, die notwendigen
Funktionen realisieren zu können,
werden durch die erfindungsgemäße Lösung folgende
Anforderungen erfüllt:
- • Die
Kommunikations-ALUs RPA und TPA können mehrere Befehle parallel
ausführen.
Dazu wird erfindungsgemäß ein breiter
Befehlscode BC (siehe 3) benutzt, z.B. 64 Bit, in
dem mehrere Befehle (siehe 3: die sieben
höchstwertigsten Bits,
Operation, Condition, Jump) kodiert sind. Dies können z.B. logische Operationen,
Programmsprünge,
Setzen und Löschen
von Bits in den Flags F, Inkrementieren und Dekrementieren von Zählern, Transfer
von Daten und Bedienen von speziellen Funktionsregistern sein. Im
Gegensatz zu herkömmlichen
ALUs werden diese Befehle in einem Takt parallel ausgeführt. Dazu sind
erfindungsgemäß die zugehörigen Logikfunktionsblöcke in den
Kommunikations-ALUs parallel angeordnet und können gleichzeitig den Befehlscode
BC verarbeiten.
- • Die
Kommunikations-ALUs RPA und TPA verfügen über spezielle Funktionsregister,
die ebenfalls parallel auf die zu verarbeitenden Daten wirken. Im
einzelnen sind dies:
– Schieberegister
FI, in die die seriellen Daten automatisch rein- bzw. rausgeschoben
werden und das Einfügen
und Löschen
von Bits an beliebigen Positionen ermöglichen,
– Zähler Z,
welche die seriellen Daten automatisch mitzählen und Vergleichsregister,
welche bei Gleichheit ein Bit setzen,
– Vergleichsregister V, welche
die serielle Daten auf bestimmte Bitmuster vergleichen und bei Gleichheit
ein Bit in den Flags F setzen,
– CRC-Generatoren CRC, welche
aus den bitseriellen Daten selbständig CRC-Polynome berechnen, • Die Kommunikations-ALU
PEA überwacht im
Gegensatz zu herkömmlichen
ALUs eine Vielzahl von speziellen Ereignissen per Hardware parallel.
Dies kann z.B.:
– die Übergabe
bestimmter Daten von der RPA bzw. zur TPA bzw. zur übergeordneten
CPU,
– das
Ablaufen von Zeiten,
– das
Erreichen bestimmter Zählerstände oder
– das Setzen
bestimmter Zustandsbits sein.
Wenn eines oder eine bestimmte
Kombination von Ereignissen eingetreten ist, reagiert die Kommunikations-ALU
PEA innerhalb eines Systemtakts durch Abarbeitung eines dem Ereignis
zugeordneten Stück
Programmcodes.
- • Die
Kommunikations-ALU PEA ist ferner in der Lage innerhalb eines Systemtakts:
– einen
Date aus einem lokalen Dual Port Memory DPM zu lesen,
– zu verarbeiten
und
– an
die Kommunikations-ALU TPA zu übergeben bzw.
von der Kommunikations-ALU RPA
– entgegen zu nehmen,
– zu verarbeiten
und
– in
das lokale Dual Port Memory DPM abzulegen.
- • Der
Zugriff auf das lokale Dual Port Memory DPM erfolgt über zwei
Register zweifach indiziert, um in einem Systemtakt auf die in der
Kommunikationstechnik üblichen
Datenstrukturen direkt zugreifen zu können.
- • Die
Schnittstelle zwischen den Kommunikations-ALUs PEA und der RPA bzw.
TPA ist erfindungsgemäß als FIFO
ausgeprägt,
um ein- bzw. ausgehende Daten zwischen zu speichern.
- • Die
Schnittstelle zwischen dem Kommunikations-Controller KC und einer übergeordneten Steuereinrichtung
CPU ist erfindungsgemäß als DMA-Controller DMA zur
schnellen Übertragung von
großen
Datenmengen als auch als Dual-port Memory DPM zum Führen von
Statusvariablen als auch als gemeinsamer Registersatz SR zur Synchronisation
ausgeprägt.
- • Erfindungsgemäß ist, um
die Kommunikations-ALUs PEA, RPA bzw. TPA untereinander zu synchronisieren,
ein Satz gemeinsamer Register SR vorgesehen auf die jede Kommunikations-ALU
PEA, RPA bzw. TPA schreiben als auch lesen kann.
- • Auf
die gemeinsamen Register SR kann auch die übergeordnete Steuereinrichtung
CPU zugreifen, um den Kommunikationsstatus zu monitoren bzw. zu
steuern.
-
Weitere
Funktionen der Kommunikations-ALU TPA, welche per Software bei Ethernet-Protokollen
realisiert sind: Abbilden der zu sendenden Bytes, Erkennen von Kollisionen
im Halbduplexbetrieb und Ausführen
eines Back-Off-Algorithmus,
Zurverfügungstellen
von Transmit-Status-Informationen an die Kommunikations-ALU PEA
nach Beenden eines Sendevorganges, Einhalten der Ruhezeit Inter-Packet-Gap
(IPG) zwischen zwei Telegrammen, Ergänzen der Sendedaten um eine
Präambel,
einen Start-Off-Frame-Delimeter (SFD) und ein parametrierbares Cyclic-Redundancy-Check-Wort
(CRC), Auffüllen
eines Telegramms mit Pad-Bytes, wenn die Telegrammlänge < 60 Byte wäre, und
ein Abbrechen eines Sendevorgangs auf Anforderung. Weitere Funktionen
der Kommunikations-ALU RPA sind: die empfangenen Bytes der Kommunikations-ALU
PEA zur Verfügung
zu stellen, Erkennen des Start-Of-Frame-Delimeter und eines VLAN-Frame
(Virtuell- LAN), Überprüfen des
Längenfelds
und des CRC-Worts in Telegrammen, nach Beendigung des Empfangsvorgangs
Receive-Status-Informationen der Kommunikations-ALU PEA zur Verfügung zu
stellen sowie Entfernen bei Telegrammen von Präambel und Start-Of-Frame-Delimeter.
-
Diese
Kommunikations-ALUs PEA, RPA bzw. TPA arbeiten mit der übergeordneten
Steuereinrichtung CPU zusammen, welche mit im Schaltkreis integriert
aber auch extern angeordnet sein kann. Ist die übergeordnete Steuereinrichtung
CPU integriert, kann der Schaltkreis die Kommunikationsfunktionen ausführen und
enthält
dann zur Ankopplung an eine externe Steuereinrichtung (Hostsystem)
das Dual-port Memory DPMH oder er führt neben der Kommunikation
die gesamte Applikation aus und hat dann zum Anschluss von externem
Speicher und Peripheriebausteinen den internen Systembus als Extension Bus
EB rausgeführt.
Vorzugsweise ist eine Hostschnittstelleneinrichtung mit einem an
Adress-, Daten- Steuerbusleitungen angeschlossen Hoststeuereinrichtung
HC vorgesehen, welche zwischen einem Erweiterungsbus EB zum Anschluss
von Speicher und Peripheriebausteinen und dem Dual-port Memory DPMH
zum Anschluss einer weiteren übergeordneten
Steuereinrichtung umschaltbar ist. Es bietet sich an für beide
Betriebsarten die gleichen Signale zu benutzen und diese per Software
umzuschalten. Dabei können
der Registersatz SR und das Dual-port Memory DPM der Kommunikations-ALUs
RPA, TPA, PEA parallel zum laufenden Betrieb von der übergeordneten
Steuereinrichtung (CPU) gelesen und beschrieben werden, so dass
eine industrielle Echtzeit-Ethernet-Lösung mit Netzwerkzyklen und
Präzision
im Mikrosekundenbereich ermöglicht
wird, welche keine Unterstützung
durch proprietäre
Hardwarekomponenten oder ASICs benötigt. Dies gilt auch für die Optimierung
und Anpassung der Echtzeit-Übertragung,
wie Anpassung an die Anforderungen der Anwendung, des Systems und
der Kommunikations-Architektur, so dass ein durchgängiger Datenzugriff
von der Management- bis zur Feldebene gewährleistet ist.
-
Wie
in 1 dargestellt, enthält die erfindungemäße Vorrichtung
auch einen Data Switch DS, welcher beispielsweise eine 32-Bit Steuereinrichtung CPU
und die anderen Kommunikations-ALUs PEA (wobei in 1 vier
getrennte Kommunikations-Controller KC dargestellt sind) mit einem
Speicher SP, der internen Peripherie PE und einem der Hoststeuereinrichtung
HC zugeordneten Dual-port Memory DPMH verbindet. Der Data Switch
DS vermeidet den aus anderen Kommunikations-Prozessoren bekannten „Flaschenhals" eines gemeinsamen
Busses, indem er den gleichzeitigen Zugriff der Masterports über die
verschiedenen Slaveports (im Beispielsfall zwei) auf die Daten ermöglicht.
-
Auch
wenn die Ausgestaltung der erfindungsgemäßen Lösung für den Einsatz bei der Automatisierungstechnik
(einschließlich
universelle Kommunikations-Plattform
für Barcode-
und Identifikationssysteme, intelligente EAs, Low-Cost-Antriebe, SPSen oder
Maschinenterminals) beschrieben ist, so ist der Einsatz des Verfahrens
und der Vorrichtung auch in anderen Nachrichtennetzen mit entsprechenden
Netzwerkübergängen möglich. Dies
ist darauf zurückzuführen, dass
das erfindungsgemäße Konzept
auf Vorleistungen in Nachrichtennetzen oder Systemen/Anlagen (auch
für vermittelte
Verbindungen) aufbaut und die einfache Anpassung an die jeweiligen
Gegebenheiten und Einbindung ohne Änderung der Erfindung bzw.
des Grundkonzepts erlaubt. Beispielsweise ermöglicht das erfindungsgemäße Verfahren
einen kostengünstigen
Aufbau beliebig vernetzbarer Busteilnehmer mit individueller interaktiver
Kommunikation über
beliebige drahtlose oder drahtgebundene Netzwerke bzw. Telekommunikationsnetze
(beispielsweise UTRAN UMTS Terrestrial Radio Access Network). Der
dabei ablaufende iterative Prozess des Netzwerkmanagementdienstes,
insbesondere hinsichtlich des Dialogs umfasst alle sinnvoll vorkommende
Dialogelemente (z.B. Initialisieren, Konfigurieren, Starten und
Stoppen von Busteilnehmern (Geräten)
oder Programmen, Kommunikationsprotokollen), welche entsprechend
hinterlegt sind, kann insbesondere auch bei inhomogenen Strukturen
eingesetzt werden und erlaubt auch ein Dialogmonitoring mit Einschluss
der Busteilnehmer und des Dialogservers im Telekommunikationsnetz.
So wird beispielsweise ein Zugriff auf Daten, Parameter, Funktionen
in jedem Busteilnehmer von jedem Ort aus via Internet und auch eine
einheitliche, geräteunabhängige Fehlerbehandlung
ermöglicht.
In Weiterbildung der Erfindung können
beispielsweise im Dialogserver für
TCP/IP und SPX/IPX Routing-Funktionalitäten (auch als LCR Least Cost
Router) installiert werden usw.