-
VERWANDTE
ANMELDUNG
-
Dies
ist eine Teilfortsetzung der US-Patentanmeldung Serial-Nr. 08/726264,
angemeldet am 4. Oktober 1996.
-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft allgemein Prozeßsteuerungsnetze und insbesondere
eine Schnittstelle, die Daten zwischen einem Prozeßsteuerungsnetz
mit verteilten Steuerfunktionen und einem entfernten Kommunikationsnetz überträgt.
-
BESCHREIBUNG
DES STANDS DER TECHNIK
-
Großprozesse
wie Chemie-, Erdöl-
und andere Herstellungs- und Raffinationsprozesse weisen zahlreiche
Feldeinrichtungen auf, die an verschiedenen Stellen angeordnet sind,
um Parameter eines Prozesses zu messen und zu steuern und dadurch die
Steuerung des Prozesses durchzuführen.
Diese Feldeinrichtungen können
beispielsweise Sensoren wie Temperatur-, Druck- und Strömungsratensensoren
sowie Steuerelemente wie Ventile und Schalter sein. Historisch verwendete
die Prozeßsteuerungsindustrie
manuelle Vorgänge
wie die manuelle Ablesung von Pegel- und Druckmessern, das Drehen
von Ventilrädern
usw., um die Meß-
und Steuerungs-Feldeinrichtungen innerhalb eines Prozesses zu betätigen. Mit
Beginn des 20. Jahrhunderts begann die Prozeßsteuerungsindustrie mit der
Verwendung von lokaler pneumatischer Steuerung, wobei lokale pneumatische
Steuerelemente, Meßwandler und
Ventilpositionierer an verschiedenen Stellen innerhalb einer Prozeßanlage
angeordnet wurden, um die Steuerung an bestimmten Stellen der Anlage
zu bewirken. Mit dem Aufkommen der mikroprozessorbasierten verteilten Steuersysteme
bzw. DCS in den siebziger Jahren des vorigen Jahrhunderts verbreitete
sich die verteilte elektronische Prozeßsteuerung in der Prozeßsteuerungsindustrie.
-
Wie
bekannt ist, weist ein verteiltes Steuerungssystem bzw. DCS einen
Analog- oder einen Digitalrechner wie etwa ein programmierbares
logisches Steuerwerk auf, das mit zahlreichen elektronischen Überwachungs-
und Steuereinrichtungen wie etwa elektronischen Sensoren, Meßwandlern, Strom-Druck-Wandlern,
Ventilpositionierern usw., die im gesamten Prozeß vorhanden sind, verbunden
ist. Der Rechner des DCS speichert und implementiert ein zentrales
und häufig
komplexes Steuerungsschema, um die Messung und Steuerung von Einrichtungen
innerhalb des Prozesses zu bewirken und dadurch Prozeßparameter
nach Maßgabe
eines Gesamtsteuerungsplans zu steuern. Gewöhnlich ist jedoch das von einem
DCS implementierte Schema Eigentum des Herstellers des Steuerwerks
des DCS, wodurch es wiederum schwierig und teuer wird, das verteilte
Steuerungssystem zu erweitern, aufzurüsten, umzuprogrammieren und
zu warten, weil der DCS-Provider auf integrale Weise einbezogen
werden muß,
um eine oder jede dieser Aktivitäten
auszuführen.
Ferner kann aufgrund der herstellereigenen Beschaffenheit des DCS-Steuerwerks
und der Tatsache, daß ein
Provider eines DCS-Steuerwerks
bestimmte Einrichtungen oder Funktionen von Einrichtungen, die von
anderen Herstellern stammen, eventuell nicht unterstützt, die
Anlage, die innerhalb eines bestimmten verteilten Steuerungssystems
verwendet oder damit verbunden werden kann, Einschränkungen
aufweisen.
-
Um
einige der Probleme zu überwinden,
die mit der Anwendung von herstellereigenen verteilten Steuerungssystemen
verbunden sind, hat die Prozeßsteuerungsindustrie
eine Reihe von offenen Standard-Kommunikationsprotokollen entwickelt, beispielsweise
die Protokolle HART®, PROFIBUS®, WORLDFIP®,
Device-Net® und
CAN, die es Feldeinrichtungen, die von verschiedenen Herstellern
stammen, ermöglichen,
gemeinsam innerhalb desselben Prozeßsteuerungsnetzes benutzt zu
werden. Tatsächlich
kann jede Feldeinrichtung, die einem dieser Protokolle entspricht,
innerhalb eines Prozesses verwendet werden, um mit einem DCS-Steuerwerk
oder einem anderen das Protokoll unterstützenden Steuerwerk zu kommunizieren
und davon gesteuert zu weiden, und zwar auch dann, wenn diese Feldeinrichtung
von einem anderen als dem Hersteller des DCS-Steuerwerks stammt.
-
Ferner
gibt es nunmehr eine Entwicklung innerhalb der Prozeßsteuerungsindustrie,
die Prozeßsteuerung
zu dezentralisieren und dadurch DCS-Steuerwerke zu vereinfachen
oder die Notwendigkeit für
DCS-Steuerwerke weitgehend zu eliminieren. Eine dezentrale Steuerung
wird erhalten, indem man im Feld angebrachte Prozeßsteuerungseinrichtungen
wie etwa Ventilpositionierer, Meßwandler usw. eine oder mehrere
Prozeßsteuerfunktionen
ausführen
läßt und dann
Daten über
eine Busstruktur zur Nutzung durch andere Prozeßsteuereinrichtungen bei der
Durchführung
anderer Steuerfunktionen übermittelt.
Zur Implementierung dieser Steuerfunktionen weist jede Prozeßsteuereinrichtung
einen Mikroprozessor auf, der imstande ist, eine Steuerfunktion
auszuführen,
sowie die Fähigkeit
hat, mit anderen Prozeßsteuereinrichtungen
unter Nutzung eines offenen Standard-Kommunikationsprotokolls zu
kommunizieren. Auf diese Weise können
Feldeinrichtungen, die von verschiedenen Herstellern stammen, innerhalb eines
Prozeßsteuerungsnetzes
miteinander verbunden werden, um miteinander zu kommunizieren und eine
oder mehrere Prozeßsteuerfunktionen
unter Bildung einer Steuerschleife ohne Eingriff eines DCS-Steuerwerks
auszuführen.
Das vollständig
digitale Zweidrahtbusprotokoll, das heute von der Fieldbus Foundation
verbreitet wird und als das FOUNDATIONTM Fieldbus-Protokoll
(nachstehend "Fieldbus"-Protokoll) bekannt
ist, ist ein solches offenes Kommunikationsprotokoll, das es Einrichtungen,
die von verschiedenen Herstellern stammen, ermöglicht, über einen Standardbus untereinander
zusammenzuwirken und zu kommunizieren, um so eine dezentrale Steuerung
innerhalb eines Prozesses zu bewirken.
-
Prozeßsteuerungssysteme
haben also eine Erweiterung von lokalen Kommunikationsschleifen mit
einer Reihe von Feldeinrichtungen, die mit einem oder mehreren Steuerwerken
verbunden sind, zu Kommunikations-Großnetzen erfahren. Es ist jedoch derzeit
schwierig, Feldeinrichtungsinformation auf einem Prozeßsteuerungsnetz
zu anderen Kommunikationsnetzen eventuell über große Entfernungen zu übertragen,
um beispielsweise eine Leistungsanalyse, diagnostische Prüfungen,
Wartungsarbeiten und Störungssuche
und dergleichen auszuführen.
Tatsächlich
ist ein zufriedenstellendes Verfahren zum Ubertragen von Feldeinrichtungsinformation
auf einem Basisniveau, beispielsweise Prozeßsteuerungsventildaten, bisher
nicht gefunden worden. Die Übertragung
von Feldeinrichtungsinformation ist zwar unter Anwendung von Lichtleiterverbindungen
zwischen einer Vielzahl von entfernten Prozeßsteuerungsstellen versucht
worden, diese Lichtleiterverbindungen zwischen verschiedenen Stellen
sind jedoch teuer, und häufig
treten Konflikte auf, wenn eine Vielzahl von Einrichtungen versucht,
gleichzeitig Informationen zu senden. Ferner weisen die Lichtleitersysteme
komplexe Kommunikationssteuerwerke auf, die die Nutzung des Busses
entscheiden. Da jede Datenübertragung
dieses Systems synchron mit dem Sammeln von Daten an den einzelnen
Feldeinrichtungen ist, wird das Sammeln von Daten aufgehalten, während auf
den Zugang zu dem Lichtleiterbus gewartet wird, und die Übertragungen
werden aufgehalten, während
auf das Sammeln von Daten gewartet wird.
-
Die Übertragung
von Felddaten über
ein Netzwerk umfaßt
herkömmlich
das Leiten von gekapselten Informationspaketen durch Netz-zu-Netz-Verbindungen
(typischerweise LAN-zu-LAN-Netzen). Die Pakete werden an jedem Knoten
des Netzes unter Hinzufügung
von Überführungsparametern
gekapselt, so daß die
Informationspakete zusätzliche Fremdinformation
dazugewinnen und an jedem Knoten Verarbeitungszeit benötigen. Diese
herkömmliche
Fernkommunikationstechnik wird durch Verzögerungen an jedem Knoten verlangsamt
und ist wegen des Hinzufügens
von Fremdinformation bei jeder Kapselung ineffizient.
-
Es
ist daher erwünscht,
eine einfache Schnittstelleneinrichtung anzugeben, die Feldeinrichtungsdaten
zwischen einem Prozeßsteuerungsnetz und
einem Kommunikationsnetz oder anderen abgesetzten Stellen überträgt, ohne
daß die
Feldeinrichtungen innerhalb des Prozeßsteuerungsnetzes den Betrieb
aufhalten müssen,
während
sie auf den Zugang zu dem Kommunikationsnetz warten, und ohne daß an jedem
Knoten des Netzes eine unnötige
Verarbeitung erforderlich ist.
-
EP-A-0449458
und Advanced Systems Simplify Control, Machine Design, Bd. 68, Nr.
12, 11. Juli 1996, S. 118, 120, betreffen die Umwandlung zwischen
einem busbasierten Kommunikationsnetz und einem nichtbusbasierten
System, also einem System, das dedizierte Leitungen nutzt, um verschiedene
Einrichtungen kommunikativ miteinander zu verbinden. Insbesondere
zeigt EP-A-0449458 ein System, das eine Reihe von Hauptrechnern
hat, die über einen
Abbildprotokollbus mit zahlreichen Netzfeldschnittstellen- bzw.
NFI-Einrichtungen verbunden sind. Die Einrichtungen zeigen die Verwendung
eines Feldbusprotokolls in einem Prozeßsteuerungssystem, wobei die
mit dem Feldbusnetz verbundenen Einrichtungen direkt mit anderen
Einrichtungen über separate
und dedizierte Drähte
verbunden sind.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung richtet sich auf eine Schnittstelleneinrichtung,
die Interaktionen zwischen einem Kommunikationsnetz und einem Prozeßsteuerungsnetz
ermöglicht,
die in dem Prozeßsteuerungsnetz
auftretenden Kommunikationen nicht verändert und das Hinzufügen von
Fremddaten zu Paketen auf dem Kommunikationsnetz nicht erforderlich
macht. Die Schnittstelleneinrichtung der vorliegenden Erfindung
kann von einem Rechner, der ein Softwarekommunikationsprotokoll
ausführt,
das beispielsweise dem Fieldbus-Kommunikationsprotokoll zugeordnet
ist, und einer Anwendersoftwareschicht gebildet sein, die Fieldbus-Anforderungen von
einem Einzelanwender oder einer Vielzahl von Anwendern über ein
lokales Netz bzw. LAN oder ein Fernnetz bzw. WAN verarbeitet. Die
Anwendersoftwareschicht bildet eine direkte Schnittstelle zu dem Fieldbus-Kommunikationsnetz
in einer Einrichtung zu einer entfernten Stelle über eine Netzverbindung.
-
Gemäß der vorliegenden
Erfindung weist eine Schnittstelle zwischen einem Kommunikationsnetz
und einem Prozeßsteuerungsnetz
auf: einen Kommunikationssoftwarestapel, der in einem Prozeßsteuerungssystem
wirksam ist, Schnittstellensoftware, die eine Routine umfaßt, die
Meldungsverkehr an dem Kommunikationssoftwarestapel überwacht, eine
Routine, die den Meldungsverkehr in einen Speicher kopiert, und
eine Medienschnittstellensoftwareroutine, die den Fernzugriff zu
dem Speicher zuläßt.
-
Durch
die beschriebene Schnittstelle und das Betriebsverfahren werden
viele Vorteile erreicht. Beispielsweise wandelt die Schnittstelleneinrichtung der
vorliegenden Erfindung eine zeitkritische Operation der Überwachung
von niederen Felddaten in eine nichtzeitkritische Operation der Übertragung von
Daten zu einer entfernten Stelle um.
-
Ein
weiterer Vorteil ist, daß die
beschriebene Schnittstelle und das Verfahren stark herstellerkompatibel
sind und in vielen verschiedenen Steuerungssystemen und -netzen
auf praktisch jedem Computersystem, das Standard-Softwareelemente
verwendet, implementiert werden können. Ferner ist es vorteilhaft,
daß nur
eine kleine Datenmenge, d. h. die relevanten oder angeforderten
Daten, übertragen
wird und daß die
Schnittstelle bei der Übermittlung
von Feldeinrichtungsdaten über
ein sekundäres
oder entferntes Kommunikationsnetz den Zusatzaufwand hinsichtlich
Zeit und Datenübertragungsgröße erheblich
verringert.
-
Mit
der Schnittstelle der vorliegenden Erfindung können diagnostische Prüfungen,
Wartungsarbeiten und Störungssuche
von einem entfernten Ort aus, der mit dem Prozeßsteuerungsnetz über einen Kommunikationsbus
wie etwa ein LAN oder ein WAN verbunden ist, ausgeführt oder
implementiert werden. Nachrichten bzw. Meldungen und Informationen werden
vorteilhaft sehr schnell übertragen,
und Daten werden asynchron und unabhängig zwischen dem lokalen Anwender
und dem entfernten Anwender übertragen,
so daß Probleme
der Synchronisierung vermieden werden.
-
Die
vorliegende Erfindung ist durch die Ansprüche 1 bis 17 definiert und
betrifft eine Schnittstelle zwischen einem Kommunikationsnetz, das
von einem ersten Kommunikationsprotokoll Gebrauch macht, und einem
Prozeßsteuerungssystem,
das einen Bus hat, der von einem zweiten Kommunikationsprotokoll
Gebrauch macht, wobei die Schnittstelle folgendes aufweist: einen
Prozessor; eine Speichereinrichtung, die mit dem Prozessor gekoppelt
ist; ein Softwaresystem zur Ausführung
auf dem Prozessor, das folgendes aufweist: einen Kommunikationssoftwarestapel,
der so ausgebildet ist, daß er
mit dem Bus kommunikativ gekoppelt und in dem Prozeßsteuerungssystem
unter Anwendung des zweiten Kommunikationsprotokolls wirksam ist,
eine Überwachungsroutine,
die so ausgebildet ist, daß sie
Meldungsverkehr an dem Kommunikationssoftwarestapel überwacht,
eine Kopierroutine, die so ausgebildet ist, daß sie den Meldungsverkehr zu
der Speichereinrichtung kopiert, und eine Medienschnittstellenroutine,
die so ausgebildet ist, daß sie
einen Fernzugriff auf die Speichereinrichtung über das Kommunikationsnetz
unter Anwendung des ersten Kommunikationsprotokolls aktiviert.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein schematisches Blockbild eines beispielhaften Prozeßsteuerungsnetzes,
das das Fieldbus-Protokoll verwendet;
-
2 ist
ein schematisches Blockbild von drei Fieldbus-Einrichtungen, in
denen Funktionsblöcke
vorhanden sind;
-
3 ist
ein schematisches Blockbild, das die Funktionsblöcke in einigen der Einrichtungen
des Prozeßsteuerungsnetzes
von 1 zeigt;
-
4 ist
eine schematische Steuerschleife für eine Prozeßsteuerschleife
innerhalb des Prozeßsteuerungsnetzes
von 1;
-
5 ist
ein Zeitdiagramm für
einem Makrozyklus eines Segments des Busses des Prozeßsteuerungsnetzes
von 1;
-
6 ist
ein schematisches Blockbild, das ein Steuerungssystemnetz zeigt,
das eine Fieldbus-Schnittstelle mit Netzzugang gemäß der vorliegenden
Erfindung zeigt;
-
7 ist
ein schematisches Blockbild, das ein geeignetes Computersystem zeigt,
das imstande ist eine Ausführungsform
einer Fieldbus-Schnittstelle mit Netzzugang gemäß einer Ausführungsform
der vorliegenden Erfindung zu implementieren;
-
8 ist
ein Flußdiagramm,
das Operationen veranschaulicht, die von der Fieldbus-Schnittstelle mit
Netzzugang gemäß der vorliegenden
Erfindung durchgeführt
werden; und
-
9 ist
ein schematisches Blockbild, das mehrere Beispiele von Implementierungen
der Fieldbus-Schnittstelle mit Netzzugang zeigt.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Die
Fieldbus-Schnittstelle mit Netzzugang bzw. NAFI der vorliegenden
Erfindung wird zwar im einzelnen in Verbindung mit einem Prozeßsteuerungsnetz
beschrieben, das Prozeßsteuerungsfunktionen
auf eine dezentrale oder verteilte Weise unter Verwendung eines
Satzes von Fieldbus-Einrichtungen implementiert, es ist aber zu
beachten, daß die NAFI-Einrichtung
der vorliegenden Erfindung mit Prozeßsteuerungsnetzen verwendbar
ist, die verteilte Steuerfunktionen unter Anwendung anderer Arten von
Feldeinrichtungen und Kommunikationsprotokollen ausführen, was
Protokolle einschließt,
die auf anderen als Zweidrahtbussen basieren, und Protokolle einschließt, die
analoge und digitale Kommunikationen unterstützen. Beispielsweise kann die
NAFI-Einrichtung der vorliegenden Erfindung in jedem Prozeßsteuerungsnetz
verwendet werden, das verteilte Steuerfunktionen ausführt, und
zwar auch dann, wenn dieses Prozeßsteuerungsnetz die Kommunikationsprotokolle
HART, PROFIBUS usw. oder irgendwelche anderen Kommunikationsprotokolle
verwendet, die es heute gibt oder die künftig entwickelt werden. Ebenso
kann, falls gewünscht,
die NAFI-Einrichtung der vorliegenden Erfindung in Prozeßsteuerungsnetzen
verwendet werden, die keine verteilten Steuerfunktionen haben, sondern
statt dessen ein zentrales Steuerwerk oder Steuerungsschema verwenden,
um die darin vorhandenen Einrichtungen zu steuern.
-
Bevor
die Einzelheiten der NAFI-Einrichtung der vorliegenden Erfindung
erörtert
werden, folgt eine allgemeine Beschreibung des Fieldbus-Protokolls,
von Feldeinrichtungen, die entsprechend diesem Protokoll konfiguriert
sind, und der Art und Weise, wie die Kommunikation in einem Prozeßsteuerungsnetz
stattfindet, das das Fieldbus-Protokoll verwendet. Es versteht sich
jedoch, daß das
Fieldbus-Protokoll zwar ein relativ neues volldigitales Kommunikationsprotokoll
ist, das zur Anwendung in Prozeßsteuerungsnetzen
entwickelt wurde, jedoch im Stand der Technik bekannt ist und im
einzelnen in zahlreichen Artikeln, Broschüren und Betriebsanleitungen
beschrieben wird, die unter anderem von der Fieldbus Foundation,
einer gemeinnützigen
Organisation mit dem Sitz in Austin, Texas, veröffentlicht, verteilt und verfügbar gemacht
werden. Insbesondere ist das Fieldbus-Protokoll und die Art und
Weise der Kommunikation mit Einrichtungen und der Datenspeicherung
in Einrichtungen, die das Fieldbus-Protokoll verwenden, im einzelnen
in den Handbüchern mit
dem Titel Communications Technical Specification und User Layer
Technical Specification der Fieldbus Foundation beschrieben, die
hier insgesamt summarisch eingeführt
werden.
-
Das
Fieldbus-Protokoll ist ein volldigitales serielles Protokoll für wechselseitige
Datenübermittlung,
das eine standardisierte physische Schnittstelle mit einer Zweidrahtschleife
oder einem Bus, der "Feld"-Einrichtungen wie
Sensoren, Betätiger,
Regler, Ventile usw., die in einer Instrumenten- oder Prozeßsteuerungsumgebung
etwa einer Fabrik oder Anlage angeordnet sind, miteinander verbindet.
Das Fieldbus-Protokoll bietet praktisch ein lokales Datennetz für Feldinstrumente
(Feldeinrichtungen) innerhalb eines Prozesses, das es diesen Feldeinrichtungen
ermöglicht,
Steuerfunktionen an Stellen auszuführen, die überall in einer Prozeßanlage
verteilt sind, und miteinander vor und nach der Durchführung dieser
Steuerfunktionen zu kommunizieren, um eine Gesamtsteuerungsstrategie
zu implementieren. Da das Fieldbus-Protokoll die Verteilung von
Steuerfunktionen überall
in einem Prozeßsteuerungsnetz
ermöglicht,
verringert es die Arbeitsbelastung des zentralen Prozeßsteuerwerks,
das typischerweise einem DCS zugeordnet ist, oder beseitigt sogar
die Notwendigkeit für
ein solches zentrales Prozeßsteuerwerk.
-
Gemäß 1 kann
ein Prozeßsteuerungsnetz 10,
das das Fieldbus-Protokoll verwendet, einen Hauptrechner 12 aufweisen,
der mit einer Reihe weiterer Einrichtungen wie etwa einem Programmlogikcontrollex
(PLC) 13, einer Reihe von Controllern 14, einer
weiteren Hauptrechnereinrichtung 15 und einem Satz von
Feldeinrichtungen 16, 18, 20, 22, 24, 26, 28, 30 und 32 über eine
Zweidraht-Fieldbusschleife oder einen solchen Bus 34 verbunden
ist. Der Bus 34 weist verschiedene Abschnitte oder Segmente 34a, 34b und 34c auf,
die durch Brückeneinrichtungen 30 und 32 getrennt
sind. Jeder Abschnitt 34a, 34b und 34c verbindet
ein Teilset der Einrichtungen, die an dem Bus 34 angebracht
sind, miteinander, um Verbindungen zwischen den Einrichtungen auf
die nachstehend beschriebene Weise zu ermöglichen. Selbstverständlich ist
das Netz von 1 nur beispielhaft, und es gibt
viele weitere Möglichkeiten, wie
ein Prozeßsteuerungsnetz
unter Verwendung des Fieldbus-Protokolls konfiguriert sein kann.
Typischerweise ist ein Konfigurierer in einer der Einrichtungen
wie etwa dem Hauptrechner 12 angeordnet und dafür zuständig, jede
der Einrichtungen (die "intelligente" Einrichtungen sind,
da sie jeweils einen Mikroprozessor enthalten, der Verbindungs-
und in einigen Fällen
Steuerfunktionen ausführen
kann) einzurichten oder zu konfigurieren sowie zu erkennen, wenn
neue Feldeinrichtung mit dem Bus 34 verbunden werden, wenn
Feldeinrichtungen von dem Bus 34 entfernt werden, Daten
zu erkennen, die von den Feldeinrichtungen 16–32 erzeugt
werden, und mit einem oder mehreren Teilnehmerendgeräten, die
in dem Hauptrechner 12 oder in irgendeiner anderen Einrichtung,
die mit dem Hauptrechner 12 auf irgendeine Weise verbunden
ist, angeordnet sind, in Dialog treten können.
-
Der
Bus 34 unterstützt
oder ermöglicht
eine wechselseitige, rein digitale Kommunikation und kann ferner
ein Energiesignal an irgendwelche oder alle Einrichtungen liefern,
die damit verbunden sind, beispielsweise an die Feldeinrichtungen 16–32.
Alternativ können
irgendwelche oder alle Einrichtungen 12–32 jeweils ihre eigene
Energieversorgung haben oder mit externen Energiequellen über gesonderte Drähte (nicht
gezeigt) verbunden sein. Die Einrichtungen 12–32 sind
in 1 mit dem Bus 34 in einer Standardverbindung
vom Bus-Typ verbunden, wobei eine Vielzahl von Einrichtungen mit
demselben Paar von Leitern, die die Bussegmente 34a, 34b und 34c bilden,
verbunden sind; das Fieldbus-Protokoll
ermöglicht
jedoch andere Einrichtungs-/Draht-Topologien einschließlich Punkt-zu-Punkt-Verbindungen, wobei
jede Einrichtung mit einem Controller oder einem Hauptrechner über ein
separates Zweidrahtpaar verbunden ist (ähnlich typischen analogen 4-20-mA-DCS-Systemen),
und Baum- oder Abzweigverbindungen, wobei jede Einrichtung mit einem
gemeinsamen Punkt in einem Zweidrahtbus verbunden ist, der beispielsweise
ein Verteilerkasten oder ein Abschlußbereich in einer der Feldeinrichtungen
innerhalb eines Prozeßsteuerungsnetzes
sein kann.
-
Daten
können über die
verschiedenen Bussegmente 34a, 34b und 34c mit
den gleichen oder verschiedenen Kommunikations-Baudraten oder -Geschwindigkeiten
entsprechend dem Fieldbus-Protokoll gesendet werden. Beispielsweise
sieht das Fieldbus-Protokoll eine 31,25 kBit/s-Verbindungsrate (H1),
die beispielsweise von den Bussegmenten 34b und 34c von 1 verwendet
wird, und eine 1,0 MBit/s und/oder eine 2,5 MBit/s (H2) Verbindungsrate
vor, die typischerweise für
die fortgeschrittene Prozeßsteuerung,
Ferneingabe/-ausgabe und Hochgeschwindigkeits-Fabrikautomatisierung
angewandt und beispielsweise von dem Bussegment 34a von 1 verwendet
wird. Ebenso können
Daten über
die Bussegmente 34a, 34b und 34c entsprechend
dem Fieldbus-Protokoll unter Anwendung von Spannungsmodenzeichengabe
und Strommodenzeichengabe gesendet werden. Selbstverständlich ist die
maximale Länge
jedes Segments des Busses 34 nicht streng beschränkt, sondern
wird statt dessen durch die Kommunikationsrate, den Kabeltyp, die Leitergröße, die
Busenergieoption usw. dieses Abschnitts bestimmt.
-
Das
Fieldbus-Protokoll klassifiziert die Einrichtungen, die mit dem
Bus 34 verbunden werden können, in drei Hauptkategorien,
und zwar Basiseinrichtungen, Verbindungshaupteinrichtungen und Brückeneinrichtungen.
Basiseinrichtungen (wie etwa die Einrichtungen 18, 20, 24 und 28 von 1)
können kommunizieren,
d. h. Nachrichtensignale auf oder von dem Bus 34 senden
und empfangen, sind jedoch nicht imstande, die Reihenfolge oder
den zeitlichen Ablauf der Kommunikation, die auf dem Bus 34 stattfindet,
zu steuern. Verbindungshaupteinrichtungen (wie etwa die Einrichtungen 16, 22 und 26 sowie
der Hauptrechner 12 von 1) sind
Einrichtungen, die über
den Bus 34 kommunizieren und imstande sind, den Fluß und die
zeitliche Abfolge von Kommunikationssignalen auf dem Bus 34 zu
steuern. Brückeneinrichtungen
(wie etwa die Einrichtungen 30 und 32 von 1)
sind Einrichtungen, die so konfiguriert sind, daß sie auf einzelnen Segmenten
oder Zweigen eines Fieldbus-Busses kommunizieren und diese miteinander
verbinden können,
um größere Prozeßsteuerungsnetze
zu schaffen. Falls gewünscht,
können Brückeneinrichtungen
zwischen verschiedenen Datengeschwindigkeiten und/oder verschiedenen
Datenübertragungsformaten
auf den verschiedenen Segmenten des Busses 34 umschalten,
können
zwischen den Segmenten des Busses 34 übertragene Signale verstärken, können die
zwischen den verschiedenen Segmenten des Busses 34 fließenden Signale
filtern und nur diejenigen Signale durchlassen, die von einer Einrichtung
an einem der Bussegmente, mit dem die Brücke gekoppelt ist, empfangen werden
sollen, und/oder andere Aktionen ausführen, die erforderlich sind,
um verschiedene Segmente des Busses 34 miteinander zu koppeln.
Brückeneinrichtungen,
die Bussegmente miteinander verbinden, die mit unterschiedlichen
Geschwindigkeiten arbeiten, müssen
Verbindungsmasterfähigkeiten
an der langsameren Segmentseite der Brücke haben. Die Hauptrechner 12 und 15,
der PLC 13 und die Kontroller 14 können jede
Art von Fieldbus-Einrichtung sein, sind aber typischerweise Verbindungshaupteinrichtungen.
-
Jede
der Einrichtungen 12–32 ist
imstande, über
den Bus 34 zu kommunizieren und, was sehr wichtig ist,
selbständig
eine oder mehrere Prozeßsteuerfunktionen
auszuführen
unter Nutzung von Daten, die von der Einrichtung, von dem Prozeß oder von
einer anderen Einrichtung über
Kommunikationssignale auf dem Bus 34 erfaßt werden.
Fieldbus-Einrichtungen
sind daher imstande, Teile einer Gesamtsteuerungsstrategie direkt
zu implementieren, was in der Vergangenheit durch ein zentrales
digitales Steuerwerk eines DCS ausgeführt wurde. Zur Durchführung der
Steuerfunktionen weist jede Fieldbus-Einrichtung einen oder mehrere standardisierte "Blöcke" auf, die in einem
Mikroprozessor innerhalb der Einrichtung implementiert sind. Insbesondere weist
jede Fieldbus-Einrichtung einen Ressourcenblock, null oder mehr
Funktionsblöcke
und null oder mehr Wandlerblöcke
auf. Diese Blöcke
werden als Blockobjekte bezeichnet.
-
Ein
Ressourcenblock speichert und überträgt einrichtungsspezifische
Daten, die sich auf einige der Charakteristiken einer Fieldbus-Einrichtung beziehen,
beispielsweise einen Einrichtungstyp, eine Einrichtungs-Revisionsangabe
und Angaben dahingehend, wo andere einrichtungsspezifische Information
innerhalb eines Speichers der Einrichtung erhalten werden kann.
Verschiedene Hersteller von Einrichtungen können zwar unterschiedliche
Arten von Daten in dem Ressourcenblock einer Feldeinrichtung speichern,
jede Feldeinrichtung, die dem Fieldbus-Protokoll entspricht, enthält jedoch
einen Ressourcenblock, der eine gewisse Datenmenge speichert.
-
Ein
Funktionsblock definiert und implementiert eine Eingangsfunktion,
eine Ausgangsfunktion oder eine Steuerfunktion, die der Feldeinrichtung
zugeordnet ist, und somit werden Funktionsblöcke im allgemeinen als Eingangs-,
Ausgangs- und Steuerfunktionsblöcke
bezeichnet. Andere Kategorien von Funktionsblöcken wie etwa Hybridfunktionsblöcke können jedoch
existieren oder in Zukunft entwickelt werden. Jeder Eingangs- oder
Ausgangsfunktionsblock erzeugt mindestens einen Prozeßsteuereingang
(wie etwa eine Prozeßvariable
von einer Prozeßmeßeinrichtung)
oder einen Prozeßsteuerausgang
(wie etwa eine Ventilposition, die zu einer Betätigungseinrichtung übermittelt
wird), während
jeder Steuerfunktionsblock einen Algorithmus verwendet (der urheberrechtlich
geschützt
sein kann), um einen oder mehrere Prozeßausgänge aus einem oder mehreren
Prozeßeingängen und
Steuereingängen
zu erzeugen. Beispiele von Standard-Funktionsblöcken umfassen die Funktionsblöcke Analogeingang
(AI), Analogausgang (AO), Abweichung (B), Steuerselektor (CS), Diskreter
Eingang (DI), diskreter Ausgang (DO), manueller Lader (ML), Proportional- Differential (PD),
Proportional-Integral-Differential (PID), Verhältnis (RA) und Signalselektor
(SS). Es gibt aber auch andere Arten von Funktionsblöcken, und
neue Funktionsblockarten können
definiert oder geschaffen werden, um in der Fieldbus-Umgebung aktiv zu
sein.
-
Ein
Wandlerblock koppelt die Eingänge
und Ausgänge
eines Funktionsblocks mit lokalen Hardwareeinrichtungen wie etwa
Sensoren und Einrichtungs-Betätigungselementen,
um den Funktionsblöcken
zu ermöglichen,
die Ausgänge
lokaler Sensoren zu lesen und lokale Einrichtungen anzuweisen, eine oder
mehrere Funktionen wie etwa das Bewegen eines Ventilelements auszuführen. Wandlerblöcke enthalten
typischerweise Information, die notwendig ist, um Signale zu interpretieren,
die von einer lokalen Einrichtung zugeführt werden, und um lokale Hardware-Einrichtungen
richtig zu steuern, was beispielsweise Information zur Erkennung
des Typs einer lokalen Einrichtung, Kalibrierinformation, die einer
lokalen Einrichtung zugeordnet ist, usw. umfaßt. Ein einzelner Wandlerblock
ist typischerweise jedem Eingangs- oder Ausgangsfunktionsblock zugeordnet.
-
Die
meisten Funktionsblöcke
können
Alarm- oder Ereignisangaben auf der Basis von vorbestimmten Kriterien
erzeugen und sind imstande, in unterschiedlichen Moden unterschiedlich
zu arbeiten. Allgemein gesagt können
Funktionsblöcke
wirksam sein in einem Automatikmodus, in dem beispielsweise der
Algorithmus eines Funktionsblocks automatisch aktiv ist; einem Bedienermodus,
in dem der Eingang oder Ausgang eines Funktionsblocks manuell gesteuert
wird; einem Betriebsunterbrechungsmodus, in dem der Block unwirksam
ist; einem Kaskadenmodus, in dem die Operation des Blocks von dem Ausgang
eines anderen Blocks beeinflußt
(bestimmt) wird; und einem oder mehreren Fernmoden, in denen ein
entfernter Computer den Modus des Blocks bestimmt. In dem Fieldbus-Protokoll
gibt es jedoch auch andere Operationsmoden.
-
Es
ist wichtig, daß jeder
Block imstande ist, mit anderen Blöcken in den gleichen oder anderen Feldeinrichtungen über den
Fieldbus-Bus 34 unter Anwendung von Standardnachrichtenformaten,
die durch das Fieldbus-Protokoll definiert sind, zu kommunizieren.
Infolgedessen können
Kombinationen von Funktionsblöcken
(in den gleichen oder verschiedenen Einrichtungen) miteinander kommunizieren, um
eine oder mehrere dezentrale Steuerschleifen zu erzeugen. So kann
beispielsweise separat und unabhängig
von einem DCS-Steuerwerk ein PID-Funktionsblock in einer Feldeinrichtung über den
Bus 34 so verbunden werden, daß er einen Ausgang eines AI-Funktionsblocks
in einer zweiten Feldeinrichtung empfängt, daß er Daten zu einem AO-Funktionsblock in
einer dritten Feldeinrichtung sendet und daß er einen Ausgang des AO-Funktionsblocks
als Rückführung empfängt, um
eine Prozeßsteuerschleife
zu erzeugen. Auf diese Weise bewegen Kombinationen von Funktionsblöcken Steuerfunktionen
aus einer zentralen DCS-Umgebung hinaus, was es DCS-Multifunktionssteuerwerken
erlaubt, Überwachungs- oder Koordinationsfunktionen
auszuführen
oder vollständig
eliminiert zu werden. Ferner liefern Funktionsblöcke eine grafische, blockorientierte
Struktur zur einfachen Konfiguration eines Prozesses und ermöglichen
die Verteilung von Funktionen unter Feldeinrichtungen von unterschiedlichen
Herstellern, weil diese Blöcke
ein gleichbleibendes Kommunikationsprotokoll verwenden.
-
Zusätzlich dazu,
daß sie
Blockobjekte enthält
und implementiert, weist jede Feldeinrichtung eines oder mehrere
andere Objekte einschließlich
Verbindungsobjekte, Trendobjekte, Warnobjekte und Betrachtungsobjekte
auf. Verbindungsobjekte definieren die Verbindungen zwischen den
Eingängen und
Ausgängen
von Blöcken
(wie etwa Funktionsblöcken)
sowohl innerhalb der Feldeinrichtung als auch über den Fieldbus-Bus 34.
-
Trendobjekte
erlauben die lokale Trendbildung von Funktionsblockparametern, auf
die andere Einrichtungen wie etwa der Hauptrechner 12 oder
die Steuerwerke 14 von 1 Zugriff
haben können. Trendobjekte
speichern kurzzeitige historische Daten, die sich auf irgendeinen
Parameter, beispielsweise einen Funktionsblockparameter, beziehen, und
berichten diese Daten an andere Einrichtungen oder Funktionsblöcke über den
Bus 34 auf asynchrone Weise. Warnobjekte berichten Alarme
und Ereignisse über
den Bus 34. Diese Alarme oder Ereignisse können jedes
Ereignis betreffen, das innerhalb einer Einrichtung oder eines der
Blöcke
einer Einrichtung auftritt. Betrachtungsobjekte sind vordefinierte
Gruppierungen von Blockparametern, die in Mensch/Maschine-Standardschnittstellen
verwendet werden und von Zeit zu Zeit zu anderen Einrichtungen zur
Betrachtung gesendet werden können.
-
In 2 sind
drei Fieldbus-Einrichtungen, die beispielsweise irgendwelche der
Feldeinrichtungen 16–28 von 1 sein
können,
gezeigt und umfassen Ressourcenblöcke 48, Funktionsblöcke 50, 51 oder 52 und
Wandlerblöcke 53 und 54.
In der ersten Einrichtung ist der Funktionsblock 50 (der
ein Eingangsfunktionsblock sein kann) durch den Wandlerblock 53 mit
einem Sensor 55 gekoppelt, der beispielsweise ein Temperatursensor,
ein Sollwertanzeigesensor usw. sein kann. In der zweiten Einrichtung ist
der Funktionsblock 51 (der ein Ausgangsfunktionsblock sein
kann) durch den Wandlerblock 54 mit einer Ausgangseinrichtung
wie etwa einem Ventil 56 gekoppelt. In der dritten Einrichtung
ist dem Funktionsblock 52 (der ein Steuerfunktionsblock
sein kann) ein Trendobjekt 57 zugeordnet, um einen Trend
des Eingangsparameters des Funktionsblocks 52 zu zeigen.
-
Verbindungsobjekte 58 definieren
die Blockparameter jedes der zugehörigen Blöcke, und Warnobjekte 59 liefern
Alarme oder Ereignismeldungen für jeden
der zugehörigen
Blöcke.
Betrachtungsobjekte 60 sind jedem der Funktionsblöcke 50, 51 und 52 zugeordnet
und umfassen oder gruppieren Datenlisten für die Funktionsblöcke, denen
sie zugeordnet sind. Diese Listen enthalten Information, die für jede einer Gruppe
von verschiedenen definierten Ansichten erforderlich ist. Selbstverständlich sind
die Einrichtungen von 2 nur beispielhaft, und andere
Anzahlen und Arten von Blockobjekten, Verbindungsobjekten, Warnobjekten,
Trendobjekten und Betrachtungsobjekten können in jeder Feldeinrichtung
vorgesehen sein.
-
Das
Blockbild von 3 des Prozeßsteuerungsnetzes 10,
das die Einrichtungen 16, 18 und 24 als
Positionierer-/Ventileinrichtungen und die Einrichtungen 20, 22, 26 und 28 als
Sender zeigt, zeigt auch die Funktionsblöcke, die dem Positionierer/Ventil 16, dem
Sender 20 und der Brücke 30 zugeordnet
sind. Wie 3 zeigt, weist der Positionierer/Ventil 16 einen
Ressouxcen(RSC)block 61, einen Wandler(XDCR)block 62 und
eine Reihe von Funktionsblöcken auf,
die einen Analogausgangs(AO)funktionsblock 63, zwei PID-Funktionsblöcke 64 und 65 und
einen Signalwähl(SS)funktionsblock 69 umfassen.
Der Sender 20 umfaßt
einen Ressourcenblock 61, zwei Wandlerblöcke 62 und
zwei Analogeingangs(AI)funktionsblöcke 66 und 67.
Ferner weist die Brücke 30 einen
Ressourcenblock 61 und einen PID-Funktionsblock 68 auf.
-
Es
versteht sich, daß die
verschiedenen Funktionsblöcke
von 3 in einer Anzahl von Steuerschleifen zusammenwirken
können
(durch Kommunikation über
den Bus 34), und die Steuerschleifen, in denen sich die
Funktionsblöcke
des Positionierers/Ventils 16, des Senders 20 und
der Brücke 30 befinden,
sind in 3 durch einen Schleifenkennungsblock
identifiziert, der mit jedem dieser Funktionsblöcke verbunden ist. Wie 3 zeigt,
sind also der AO-Funktionsblock 63 und der PID-Funktionsblock 64 des
Positionierers/Ventils 16 und der AI-Funktionsblock 66 des
Senders 20 in einer mit LOOP1 bezeichneten Steuerschleife
miteinander verbunden, während
der SS-Funktionsblock 69 des Positionierers/Ventils 16,
der AI-Funktionsblock 67 des Senders 20 und der
PID-Funktionsblock 68 der Brücke 30 in einer mit
LOOP2 bezeichneten Steuerschleife miteinander verbunden sind. Der
andere PID-Funktionsblock 65 des Positionierers/Ventils 16 ist
in eine mit LOOP3 bezeichnete Steuerschleife eingeschaltet.
-
Die
miteinander verbundenen Funktionsblöcke, die die mit LOOP1 in 3 bezeichnete
Steuerschleife bilden, sind im einzelnen in dem Schema dieser Steuerschleife
in 4 gezeigt. Wie 4 zeigt, ist
die Steuerschleife LOOP1 vollständig
durch Kommunikationsverbindungen zwischen dem AO-Funktionsblock 63 und
dem PID-Funktionsblock 64 des
Positionierers/Ventils 16 und dem AI-Funktionsblock 66 des
Senders 20 (3) gebildet. Das Steuerschleifendiagramm
von 4 zeigt die Übertragungsverbindungen
zwischen diesen Funktionsblöcken
unter Verwendung von Linien, die die Prozeß- und Steuereingänge und
-ausgänge
dieser Funktionsblöcke
verbinden. Somit ist der Ausgang des AI-Funktionsblocks 66,
der ein Prozeßmeß- oder
Prozeßparametersignal
aufweisen kann, kommunikativ über
das Bussegment 34b mit dem Eingang des PID-Funktionsblocks 64 verbunden,
der einen ein Steuersignal aufweisenden Ausgang hat, der mit einem
Eingang des AO-Funktionsblocks 64 kommunikativ gekoppelt ist.
Ein Ausgang des AO-Funktionsblocks 63, der ein Rückführungssignal
aufweist, das beispielsweise die Position des Ventils 16 bezeichnet,
ist mit einem Steuereingang des PID-Funktionsblocks 64 verbunden.
Der PID-Funktionsblock 64 nutzt dieses Rückführungssignal
gemeinsam mit dem Prozeßmeßsignal
von dem AI-Funktionsblock 66,
um die richtige Steuerung des AO-Funktionsblocks 63 zu
implementieren. Selbstverständlich
können
die Verbindungen, die durch die Linien in dem Steuerschleifendiagramm von 4 bezeichnet
sind, intern innerhalb einer Feldeinrichtung erfolgen, wenn wie
im Fall der AO- und PID-Funktionsblöcke 63 und 64 die
Funktionsblöcke
in derselben Feldeinrichtung (z. B. dem Positionierer/Ventil 16)
liegen, oder diese Verbindungen können über den Zweidraht-Kommunikationsbus 34 unter
Anwendung von synchronen Fieldbus-Standardverbindungen implementiert
werden. Natürlich werden
andere Steuerschleifen durch andere Funktionsblöcke implementiert, die in anderen
Konfigurationen kommunikativ miteinander verbunden sind.
-
Zur
Implementierung und Durchführung
von Kommunikations- und Steueraktivitäten verwendet das Fieldbus-Protokoll
drei allgemeine Technologiekategorien, die als eine physikalische
Schicht, ein Kommunikationsstapel und eine Anwenderschicht bezeichnet
werden. Die Anwenderschicht weist die Steuer- und Konfigurationsfunktionen
auf, die in Form von Blöcken
(wie etwa Funktionsblöcken)
und Objekten innerhalb einer bestimmten Prozeßsteuereinrichtung oder Feldeinrichtung
vorgesehen sind. Die Anwenderschicht ist typischerweise firmeneigen vom
Hersteller der Einrichtung ausgebildet, muß jedoch imstande sein, Meldungen
nach Maßgabe
des Standardnachrichtenformats nach der Definition durch das Fieldbus-Protokoll
zu empfangen und zu senden und von einem Anwender auf übliche Weise konfiguriert
zu werden. Die physikalische Schicht und der Kommunikationsstapel
sind notwendig, um die Verbindung zwischen verschiedenen Blöcken verschiedener
Feldeinrichtungen auf die standardisierte Weise unter Anwendung
des Zweidrahtbusses 34 zu bewirken, und können nach
dem wohlbekannten Schichtkommunikationsmodell OSI (Kommunikation offener
Systeme) modelliert sein.
-
Die
physikalische Schicht, die der OSI-Schicht 1 entspricht,
ist in jede Feldeinrichtung und den Bus 34 eingebettet
und wirksam, um von dem Fieldbus-Übertragungsmedium (dem Zweidrahtbus 34)
empfangene elektromagnetische Signale in Nachrichten umzuwandeln,
die von dem Kommunikationsstapel der Feldeinrichtung genutzt werden können. Die
physikalische Schicht kann als der Bus 34 und die auf dem
Bus 34 vorhandenen elektromagnetischen Signale an den Eingängen und
Ausgängen
der Feldeinrichtungen angesehen werden.
-
Der
Kommunikationsstapel, der in jeder Fieldbus-Einrichtung vorhanden
ist, umfaßt
eine Datenverkettungsschicht, die der OSI-Schicht 2 entspricht,
eine Fieldbus- Zugangsunterschicht
und eine Fieldbus-Nachrichtenbeschreibungsschicht, die der OSI-Schicht 6 entspricht.
In dem Fieldbus-Protokoll gibt es keine entsprechende Struktur für OSI_Schichten 3–5.
Die Anwendungen einer Fieldbus-Einrichtung weisen jedoch eine Schicht 7 auf, während eine
Anwenderschicht eine Schicht 8 ist, die nicht in dem OSI
Protokoll definiert ist. Jede Schicht in dem Kommunikationsstapel
ist für
die Codierung oder Decodierung eines Teils der Nachricht oder des Signals
zuständig,
das auf dem Fieldbus-Bus 34 übertragen wird. Jede Schicht
des Kommunikationsstapels addiert oder entfernt daher bestimmte
Anteile des Fieldbus-Signals wie etwa Anfangshinweiscodes, Startabgrenzer
und Endabgrenzer und decodiert in einigen Fällen die ausgedünnten Anteile
des Fieldbus-Signals, um zu identifizieren, wohin der Rest des Signals
oder der Nachricht zu senden ist, oder ob das Signal verworfen werden
sollte, weil es beispielsweise eine Nachricht oder Daten für Funktionsblöcke enthält, die
sich nicht in der empfangenden Feldeinrichtung befinden.
-
Die
Datenverkettungsschicht steuert die Ubertragung von Nachrichten
auf den Bus 34 und verwaltet den Zugang zu dem Bus 34 nach
Maßgabe eines
deterministischen zentralen Busplaners, der als verkettungsaktiver
Planer bezeichnet wird und noch im einzelnen beschrieben wird. Die
Datenverkettungsschicht entfernt einen Anfangshinweiscode von den
Signalen auf dem Übertragungsmedium
und kann den empfangenen Anfangshinweiscode nutzen, um den internen
Takt der Feldeinrichtung mit dem ankommenden Fieldbus-Signal zu
synchronisieren. Ebenso wandelt die Datenverkettungsschicht Nachrichten
an dem Kommunikationsstapel in physikalische Fieldbus-Signale um
und codiert diese Signale mit Taktinformation, um ein "synchronserielles" Signal zu erzeugen,
das einen richtigen Anfangshinweiscode für die Übertragung auf dem Zweidrahtbus 34 hat.
Während
des Decodiervorgangs erkennt die Datenverkettungsschicht Spezialcodes
innerhalb des Anfangshinweiscodes wie etwa Startabgrenzer und Endabgrenzer,
um den Anfang und das Ende einer bestimmten Fieldbus-Nachricht zu
erkennen, und kann eine Prüfsumme
durchführen,
um die Integrität des
Signals oder der Nachricht, die von dem Bus 34 empfangen
wird, zu verifizieren. Ebenso überträgt die Datenverkettungsschicht
Fieldbus-Signale auf dem Bus 34 durch Hinzufügen von
Start- und Endabgrenzern zu Nachrichten an dem Kommunikationsstapel
und Anordnen dieser Signale auf dem Übertragungsmedium zu dem richtigen
Zeitpunkt.
-
Die
Fieldbus-Nachrichtenbeschreibungsschicht erlaubt der Anwenderschicht
(d. h. den Funktionsblöcken,
Objekten usw. einer Feldeinrichtung) die Kommunikation über den
Bus 34 unter Anwendung einer Standardmenge von Nachrichtenformaten
und beschreibt die Verbindungsdienste, Nachrichtenformate und Protokollverhalten,
die zum Aufbau von Nachrichten erforderlich sind, die an dem Kommunikationsstapel
zu plazieren und der Anwenderschicht zuzuführen sind. Da die Fieldbus-Nachrichtenbeschreibungsschicht
standardisierte Kommunikationen für die Anwenderschicht liefert,
sind spezielle Fieldbus-Nachrichtenbeschreibungs-Kommunikationsdienste
für jeden
Typ von Objekt, der oben beschrieben ist, definiert. Beispielsweise
umfaßt
die Fieldbus-Nachrichtenbeschreibungsschicht Objektwörterbuchdienste,
die einem Anwender erlauben, ein Objektwörterbuch einer Einrichtung
zu lesen. In dem Objektwörterbuch
sind Objektbeschreibungen gespeichert, die jedes der Objekte (wie
etwa Blockobjekte) einer Einrichtung beschreiben oder identifizieren.
Die Fieldbus-Nachrichtenbeschreibungsschicht
stellt ferner Kontextverwaltungsdienste bereit, die einem Anwender
erlauben, Kommunikationsbeziehungen zu lesen und zu ändern, die
nachstehend als virtuelle Kommunikationsbeziehungen (VCR) beschrieben
werden und einem oder mehreren Objekten einer Einrichtung zugeordnet
sind. Ferner sieht die Fieldbus-Nachrichtenbeschreibungsschicht
variable Zugangsdienste, Ereignisdienste, Upload- und Download-Dienste
sowie Programmaufrufdienste vor, die in dem Fieldbus-Protokoll wohlbekannt
sind und hier nicht im einzelnen beschrieben werden. Die Fieldbus-Zugangsunterschicht
bildet die Fieldbus-Nachrichtenbeschreibungsschicht in die Datenverkettungsschicht
ab.
-
Um
die Operation dieser Schichten zu ermöglichen oder zuzulassen, umfaßt jede
Fieldbus-Einrichtung eine Managementinformationsbasis (MIB), die
eine Datenbank ist, in der VCR, dynamische Variablen, Statistiken,
Zeitsteuerungspläne
des verkettungsaktiven Planers, Funktionsblock-Ausführungszeitpläne und Einrichtungsetiketten-
und -adreßinformation
gespeichert sind. Selbstverständlich
kann auf die Information innerhalb der MIB jederzeit unter Anwendung
von Fieldbus-Standardnachrichten
oder -befehlen zugegriffen werden, oder sie kann jederzeit geändert werden.
Ferner wird mit jeder Einrichtung gewöhnlich eine Einrichtungsbeschreibung
geliefert, um einem Anwender oder einem Hauptrechner einen erweiterten Überblick über die Information
in dem VFD zu geben. Eine Einrichtungsbeschreibung, die zur Verwendung
durch einen Hauptrechner typischerweise ein Sendeberechtigungszeichen
haben muß,
speichert Information, die der Hauptrechner benötigt, um die Bedeutung der Daten
in den VFD einer Einrichtung zu verstehen.
-
Es
versteht sich, daß zur
Implementierung einer Steuerungsstrategie unter Anwendung von in einem
Prozeßsteuerungsnetz
verteilten Funktionsblöcken
die Ausführung
der Funktionsblöcke
in bezug auf die Ausführung
von anderen Funktionsblöcken
in einer bestimmten Steuerschleife exakt geplant werden muß. Ebenso
muß die
Verbindung zwischen verschiedenen Funktionsblöcken an dem Bus 34 exakt
geplant werden, damit jedem Funktionsblock vor der Ausführung die
richtigen Daten zugeführt
werden.
-
Die
Art und Weise, wie verschiedne Feldeinrichtungen (und verschiedene
Blöcke
in Feldeinrichtungen) über
das Fieldbus-Übertragungsmedium kommunizieren,
wird unter Bezugnahme auf 1 nachstehend
beschrieben. Damit eine Kommunikation stattfindet, wirkt eine der
Verkettungsmastereinrichtungen an jedem Segment des Busses 34 (beispielsweise
Einrichtungen 12, 16 und 26) als ein
verkettungsaktiver Planer (LAS), der die Kommunikation auf dem zugehörigen Segment
des Busses 34 aktiv plant und steuert. Der LAS für jedes
Segment des Busses 34 speichert und aktualisiert einen
Kommunikationsplan (einen verkettungsaktiven Plan), der die Zeitpunkte
enthält,
zu denen jeder Funktionsblock jeder Einrichtung planmäßig mit
der periodischen Verbindungstätigkeit
auf dem Bus 34 beginnt, und die Zeitdauer enthält, während welcher
diese Verbindungstätigkeit
stattfinden soll. Es kann zwar auf jedem Segment des Busses 34 nur
eine einzige aktive LAS-Einrichtung geben, aber andere Verkettungsmastereinrichtungen
(wie etwa die Einrichtung 22 auf dem Segment 34b)
können
als Reserve-LAS dienen und aktiv werden, wenn beispielsweise der
aktuelle LAS ausfällt.
Basiseinrichtungen haben nicht die Fähigkeit, zu irgendeiner Zeit
ein LAS zu werden.
-
Im
allgemeinen sind Kommunikationsaktivitäten über den Bus 34 in
sich wiederholende Makrozyklen unterteilt, von denen jeder eine
synchrone Verbindung für
jeden Funktionsblock, der an irgendeinem bestimmten Segment des
Busses 34 aktiv ist, und eine oder mehrere asynchrone Verbindungen
für einen
oder mehrere der Funktionsblöcke oder Einrichtungen,
die an einem Segment des Busses 34 aktiv sind, aufweist.
Eine Einrichtung kann aktiv sein, d. h. Daten zu jedem Segment und
von jedem Segment des Busses 34 senden und empfangen, auch wenn
sie physisch mit einem anderen Segment des Busses 34 verbunden
ist, und zwar durch koordinierte Operation der Brücken und
der LAS auf dem Bus 34.
-
Während jedes
Makrozyklus führt
jeder der Funktionsblöcke,
die an einem bestimmten Segment des Busses 34 aktiv sind,
gewöhnlich
zu einer anderen, jedoch exakt geplanten (synchronen) Zeit einen Ablauf
aus und publiziert zu einer anderen präzise geplanten Zeit seine Ausgangsdaten
auf diesem Segment des Busses 34 als Reaktion auf einen
Erzwingungsdatenbefehl, der von dem entsprechenden LAS erzeugt wird.
Bevorzugt ist für
jeden Funktionsblock geplant, daß er seine Ausgangsdaten kurz nach
dem Ende der Ausführungsperiode
des Funktionsblocks publiziert. Ferner sind die Datenpublizierungszeiten
der verschiedenen Funktionsblöcke
seriell so geplant, daß keine
zwei Funktionsblöcke
auf einem bestimmten Segment des Busses 34 Daten gleichzeitig
publizieren. Während
der Zeit, in der keine synchrone Kommunikation stattfindet, kann
jede Feldeinrichtung nacheinander Alarmdaten, Betrachtungsdaten
usw. auf asynchrone Weise unter Anwendung von durch Berechtigungszeichen
angesteuerten Kommunikationen übertragen.
Die Ausführungszeiten
und der Zeitaufwand, der erforderlich ist, um die Ausführung jedes
Funktionsblocks zu vervollständigen,
sind in der Managementinformationsbasis MIB der Einrichtung, in
der sich der Funktionsblock befindet, gespeichert, wogegen, wie
oben gesagt, die Zeiten zum Senden der Zwangsdatenbefehle zu jeder der
Einrichtungen auf einem Segment des Busses 34 in der MIB
der LAS-Einrichtung für
dieses Segment gespeichert sind. Diese Zeiten sind typischerweise als
Versatzzeiten gespeichert, weil sie die Zeiten, zu denen ein Funktionsblock
ausführen
oder Daten senden soll, als einen Versatz seit dem Beginn einer "absoluten Verkettungsplanstartzeit" identifizieren,
die allen mit dem Bus 34 verbundenen Einrichtungen bekannt
ist.
-
Zur
Durchführung
von Kommunikationen während
jedes Makrozyklus sendet der LAS, beispielsweise der LAS 16 des
Bussegments 34b, einen Zwangsdatenbefehl an jede Einrichtung
an dem Bussegment 34b entsprechend der Liste von Übertragungszeiten,
die in dem verkettungsaktiven Planer gespeichert ist. Bei Empfang
eines Zwangsdatenbefehls publiziert ein Funktionsblock einer Einrichtung seine
Ausgangsdaten auf dem Bus 34 für einen bestimmten Zeitraum.
Da jeder der Funktionsblöcke
typischerweise einen solchen Ausführungsplan hat, daß die Ausführung dieses
Blocks beendet ist, kurz bevor der Block planmäßig einen Zwangsdatenbefehl
empfangen soll, sollten die aufgrund eines Zwangsdatenbefehls publizierten
Daten die neuesten Ausgangsdaten des Funktionsblocks sein. Wenn jedoch
ein Funktionsblock langsam ausführt
und keine neuen Ausgänge
zwischengespeichert hat, wenn er den Zwangsdatenbefehl empfängt, publiziert
der Funktionsblock die während
des letzten Laufs des Funktionsblocks erzeugten Ausgangsdaten und
zeigt unter Verwendung eines Zeitstempels an, daß die publizierten Daten alte
Daten sind.
-
Nachdem
der LAS einen Zwangsdatenbefehl an jeden der Funktionsblöcke an einem
bestimmten Segment des Busses 34 gesendet hat und während der
Zeiten, in denen Funktionsblöcke
ausführen, kann
der LAS den Ablauf von asynchronen Kommunikationsaktivitäten veranlassen.
Zur Durchführung einer
asynchronen Kommunikation sendet der LAS eine Durchlaßberechtigungsnachricht
zu einer bestimmten Feldeinrichtung. Wenn eine Feldeinrichtung eine
Durchlaßberechtigungsnachricht
empfängt,
hat die Feldeinrichtung vollständigen
Zugang zu dem Bus 34 (oder einem Segment davon) und kann
asynchrone Nachrichten wie etwa Alarmnachrichten, Trenddaten, vom
Bediener vorgenommene Sollwertänderungen
usw. senden, bis die Nachrichten entweder komplett sind oder eine
maximal zugeordnete "Berechtigungshaltezeit" abgelaufen ist.
Danach gibt die Feldeinrichtung den Bus 34 (oder ein bestimmtes
Segment desselben) frei, und der LAS sendet eine Durchlaßberechtigungsnachricht
zu einer anderen Einrichtung. Dieser Vorgang wird bis zum Ende des
Makrozyklus wiederholt oder bis der LAS planmäßig einen Zwangsdatenbefehl
sendet, um die synchrone Kommunikation zu bewirken. Selbstverständlich kann
es in Abhängigkeit
von der Menge des Nachrichtenverkehrs und der Anzahl von Einrichtungen
und Blöcken,
die mit einem bestimmten Segment des Busses 34 gekoppelt
sind, sein, da nicht jede Einrichtung während jedes Makrozyklus eine
Durchlaßberechtigungsnachricht
empfängt.
-
5 zeigt
ein Zeitschema, das die Zeiten zeigt, zu denen Funktionsblöcke auf
dem Bussegment 34b von 1 während jedes
Makrozyklus des Bussegments 34b ausführen, und die Zeiten zeigt,
zu denen synchrone Kommunikationen während jedes dem Bussegment 34b zugeordneten
Makrozyklus erfolgen. In dem Zeitplan von 5 ist die
Zeit auf der Horizontalachse angegeben, und Aktivitäten, die
mit den verschiedenen Funktionsblöcke des Positionierers/Ventils 16 und
des Senders 20 (von 3) zusammenhängen, sind
auf der Vertikalachse gezeigt. Die Steuerschleife, in der jeder
der Funktionsblöcke operiert,
ist in 5 als Index angegeben. So bezieht sich AILOOP1 auf den AI-Funktionsblock 66 des
Senders 20, PIDLOOP1 bezieht sich
auf den PID-Funktionsblock 64 des
Positionierers/Ventils 16 usw. Die Blockausführungsperiode
jedes der gezeigten Funktionsblöcke
ist durch ein schraffiertes Kästchen
gezeigt, während
jede planmäßige synchrone
Kommunikation durch einen vertikalen Ballen in 5 gezeigt
ist.
-
Entsprechend
dem Zeitplan von 5 führt also während eines bestimmten Makrozyklus
des Segments 34b (1) der Funktionsblock
AILOOP1 zuerst während des mit dem Kästchen 70 bezeichneten Zeitraums
aus. Während
des mit dem vertikalen Balken 72 bezeichneten Zeitraums
wird dann der Ausgang des Funktionsblocks AILOOP1 auf
dem Bussegment 34b als Reaktion auf einen Zwangsdatenbefehl von
dem LAS für
das Bussegment 34b publiziert. Ebenso bezeichnen die Kästchen 74, 76, 78, 80 und 81 die
Ausführungszeiten
der Funktionsblöcke PIDLOOP1 AILOOP2 ADLOOP1 SSLOOP2 und
PIDLOOP3 (die für jeden der verschiedenen Blöcke verschieden
sind), während
die vertikalen Balken 82, 84, 86, 88 und 89 die
Zeiten bezeichnen, zu denen die Funktionsblöcke PIDLOOP1 AILOOP2 SSLOOP2 und
PIDLOOP3 Daten auf dem Bussegment 34b publizieren.
-
Wie
ersichtlich ist, zeigt der Zeitplan von 5 auch die
Zeitdauern, die für
asynchrone Kommunikationsvorgänge
verfügbar
sind, die während der
Ausführungszeiten
jedes der Funktionsblöcke und
während
der Zeit am Ende des Makrozyklus in der kein Funktionsblock ausführt und
auf dem Bussegment 34b keine synchrone Kommunikation stattfindet,
auftreten können.
Falls gewünscht,
können
natürlich
verschiedene Funktionsblöcke
absichtlich zur Ausführung
zum gleichen Zeitpunkt geplant sein, und es müssen nicht alle Funktionsblöcke Daten
auf dem Bus publizieren, wenn beispielsweise keine andere Einrichtung
an den von einem Funktionsblock erzeugten Daten teilnimmt.
-
Feldeinrichtungen
sind imstande, Daten und Nachrichten über den Bus 34 unter
Anwendung von drei virtuellen Kommunikationsbeziehungen (VCR) zu
publizieren oder zu übertragen,
die in der Fieldbus-Zugangsteilschicht des Stapels jeder Feldeinrichtung
definiert sind. Eine Client/Server-VCR wird für ungeplante, vom Anwender
ausgelöste Eins-zu-Eins-Warteschlangenverbindungen
zwischen Einrichtungen auf dem Bus 34 angewandt. Solche
Warteschlangen-Nachrichten werden in der zur Übertragung abgegebenen Reihenfolge
entsprechend ihrer Priorität
ohne Überschreiben
von vorhergehenden Nachrichten gesendet und empfangen. So kann eine
Feldeinrichtung eine Client/Server-VCR anwenden, wenn sie eine Durchlaßberechtigungsnachricht
von einem LAS zum Senden einer Anforderungsnachricht an eine andere
Einrichtung auf dem Bus 34 empfängt. Der Anforderer wird als
der "Client" bezeichnet, und
die die Anforderung empfangende Einrichtung wird als der "Server" bezeichnet. Der Server
sendet eine Antwort, wenn er eine Durchlaßberechtigungsnachricht von
dem LAS empfängt.
Die Client/Server-VCR wird beispielsweise angewandt, um vom Bediener
ausgelöste
Anforderungen wie Änderungen
von Sollwerten, Abstimmen von Parameterzugang und – änderungen,
Alarmbestätigungen sowie
Uploads und Downloads von Einrichtungen zu bewirken.
-
Eine
Berichtverteilungs-VCR wird für
ungeplante, vom Benutzer ausgelöste
Eins-zu-Viele-Warteschlangenkommunikationen
verwendet. Wenn beispielsweise eine Feldeinrichtung mit einem Ereignis oder
einem Trendbereich eine Durchlaßberechtigung von
einem LAS empfängt,
sendet diese Feldeinrichtung ihre Nachricht an eine "Gruppenadresse", die in der Fieldbus-Zugangsunterschicht
des Kommunikationsstapels dieser Einrichtung definiert ist. Einrichtungen,
die so konfiguriert sind, daß sie
auf dieser VCR mithören,
empfangen den Bericht. Der Berichtverteilungs-VCR-Typ wird charakteristisch
von Fieldbus-Einrichtungen zum Senden von Alarmmitteilungen an Bedienerpulte
verwendet.
-
Ein
Herausgeber/Teilnehmer-VCR-Typ wird für gepufferte Eins-zu-Viele-Kommunikationen verwendet.
Gepufferte Kommunikationen sind solche, die nur die neueste Version
der Daten speichern und senden, und daher werden vorhergehende Daten von
neuen Daten komplett überschrieben.
Funktionsblockausgänge
weisen beispielsweise gepufferte Daten auf. Eine "Herausgeber"-Feldeinrichtung
publiziert oder verteilt eine Nachricht unter Anwendung des Herausgeber/Teilnehmer-VCR-Typs
an alle "Teilnehmer"-Feldeinrichtungen
an dem Bus 34, wenn die Herausgebereinrichtung eine Zwangsdatennachricht von
dem LAS oder von einer Teilnehmereinrichtung empfängt. Die
Herausgeber/Teilnehmer-Beziehungen sind vorbestimmt und innerhalb
des Fieldbus-Zugangsunterschicht
des Kommunikationsstapels jeder Feldeinrichtung definiert und gespeichert.
-
Um
die richtigen Kommunikationsaktivitäten über den Bus 34 sicherzustellen,
sendet jeder LAS periodisch eine Zeitverteilungsnachricht an sämtliche mit
einem Segment des Busses 34 verbundenen Feldeinrichtungen,
was es den Feldeinrichtungen ermöglicht,
ihre lokale Anwendungszeit so einzustellen, daß sie miteinander synchronisiert
sind. Zwischen diesen Synchronisierungsnachrichten wird die Taktzeit
in jeder Einrichtung auf der Basis ihrer eigenen internen Uhr unabhängig aufrechterhalten.
Die Zeitsynchronisierung erlaubt es den Feldeinrichtungen, Daten
im gesamten Fieldbus-Netz mit einem Zeitstempel zu versehen, um
beispielsweise anzugeben, wann Daten erzeugt wurden.
-
Ferner
speichert jeder LAS (und jede andere Verkettungsmastereinrichtung)
an jedem Bussegment eine "aktive
Liste"; dabei handelt
es sich um eine Liste aller Einrichtungen, die mit diesem Segment
des Busses 34 verbunden sind, d. h. aller Einrichtungen,
die auf eine Durchlaßberechtigungsnachricht
richtig reagieren. Der LAS erkennt kontinuierlich neue einem Bussegment
hinzugefügte
Einrichtungen durch periodisches Senden von Suchpunktnachrichten
an Adressen, die nicht auf der aktiven Liste sind. Tatsächlich muß jeder
LAS mindestens eine Adresse suchen, nachdem er einen Zyklus des
Sendens von Durchlaßberechtigungsnachrichten
an sämtliche Feldeinrichtungen
in der aktiven Liste beendet hat. Wenn an der abgetasteten Adresse
eine Feldeinrichtung vorhanden ist und die Suchpunktnachricht empfängt, sendet
die Einrichtung umgehend eine Suchantwortnachricht zurück. Bei
Empfang einer Suchantwortnachricht fügt der LAS die Einrichtung zu
der aktiven Liste hinzu und bestätigt
dies durch Senden einer Knotenaktivierungsnachricht an die gesuchte
Feldeinrichtung. Eine Feldeinrichtung bleibt so lange auf der aktiven
Liste, wie diese Feldeinrichtung richtig auf Durchlaßberechtigungsnachrichten anspricht.
Ein LAS entfernt jedoch eine Feldeinrichtung von der aktiven Liste,
wenn die Feldeinrichtung nach drei aufeinanderfolgenden Versuchen
entweder die Berechtigung nicht nutzt oder die Berechtigung unmittelbar
an den LAS zurücksendet.
Wenn eine Feldeinrichtung zu der aktiven Liste hinzugefügt oder von
dieser entfernt wird, verteilt der LAS Änderungen der aktiven Liste
an sämtliche
anderen Verkettungsmastereinrichtung an dem entsprechenden Segment des
Busses 34, so daß jede
Verkettungsmastereinrichtung eine aktuelle Kopie der aktuellen Liste
unterhalten kann.
-
Wie
oben gesagt, werden die Kommunikationsverbindungen zwischen den
Feldeinrichtungen und ihren Funktionsblöcken durch einen Anwender bestimmt
und sind in dem Prozeßsteuerungsnetz 10 durch
eine Konfigurationsanwendung implementiert, die beispielsweise in
dem Hauptrechner 12 vorhanden ist. Nach dem Konfigurieren
ist das Prozeßsteuerungsnetz 10 jedoch
ohne Berücksichtigung
einer Einrichtungs- oder Prozeßdiagnose
wirksam und tritt daher mit dem Hauptrechner 12 in Dialog,
um Standard-E/A-Funktionen, jedoch keine Diagnosefunktionen auszuführen.
-
Es
wird nun auf 6 Bezug genommen; das schematische
Blockbild zeigt ein Prozeßsteuerungssystem
oder -netz 100 mit einer Fieldbus-Schnittstelle mit Netzzugang
bzw. NAFI 105, die mit einem entfernten Kommunikationsnetz 106 verbunden
ist. Das gezeigte Prozeßsteuerungsnetz 100 weist
einen Computer 108 wie etwa einen Personalcomputer oder
Arbeitsplatzcomputer auf, der mit einem Netzbus 109 über ein
Steuerwerk 110 wie etwa ein Steuerwerk eines digitalen
Steuersystems bzw. DCS verbunden ist. Der Computer 108 ist
mit dem Steuerwerk 110 über
einen Bus 111 verbunden. Das Steuerungssystemnetz 100 kommuniziert
mit dem externen oder entfernten Netz 106 über einen
Verbindung des Netzwerkbusses 109 an einem Knoten 114 und
weist eine Vielzahl von Feldeinrichtungen 116 auf, die
mit dem Netzbus 109 direkt verbunden sind oder mit dem
Netzbus 109 über
eine Brückeneinrichtung 118 über einen
lokalen Bus 120 verbunden sind. Jede Brückeneinrichtung 118 dient
typischerweise dazu, Daten von einem höherfrequenten Bus zu einem
niederfrequenten Bus zu übertragen
und umgekehrt.
-
Die
NAFI-Einrichtung 105 ist zwischen den Netzbus 109 und
einen Netzverbindungsanschluß 122 geschaltet,
der seinerseits mit dem entfernten Netz 106 verbunden ist.
Selbstverständlich
kann das entfernte Netz 106 jede gewünschte Netzkonfiguration haben,
was beispielsweise eine Fernnetz- bzw. WAN-Konfiguration, eine Ortsnetz-
bzw. LAN-Konfiguration, eine Ethernet-Konfiguration, eine Modemverbindung
mit Telefonkommunikationseinrichtungen, eine Funkübertragungsverbindung
und dergleichen einschließt.
Die NAFI-Einrichtung 105 ist ein Computersystem wie etwa
ein Personalcomputer, ein Arbeitsplatzrechner oder jedes andere
System, das ein computerbasiertes Spezialkommunikationssystem oder
ein computerbasiertes Spezialprozeßsteuerwerk hat. Die NAFI-Einrichtung 105 weist
ein Softwaresystem 124 auf, das als eine Softwareschnittstelle
zwischen dem Steuerungssystemnetz 100 und dem entfernten
Netz 106 dient und einen Kommunikationssoftwarestapel 126 eines
Standard-Prozeßsteuerungsnetzes
(wie etwa einen Fieldbus-Kommunikationssoftwarestapel) und eine
Anwendersoftwareschicht 128 aufweist.
-
Der
Kommunikationssoftwarestapel 126 ist eine Softwareschnittstelle,
die die Kommunikation von Nachrichten bzw. Meldungen zwischen Einrichtungen
steuert, die in einer physikalischen Schicht des Prozeßsteuerungsnetz-Kommunikationssystems
wirksam sind, d. h. Nachrichten, die an dem Softwarestapel 126 ankommen.
Wie oben beschrieben wird, wird der Kommunikationssoftwarestapel 126 von
vielen verschiedenen Anwendungsprogrammen genutzt, um auf Daten
in Feldeinrichtungen zuzugreifen, und der Kommunikationssoftwarestapel 126 handhabt
Kommunikationen unter Anwendung von niederen Protokollen einschließlich des
Fieldbus-Protokolls. Die Anwendersoftwareschicht 128 führt Anwenderschnittstellenoperationen
zur Steuerung der NAFI-Einrichtung 105 aus, steuert den
Kommunikationssoftwarestapel 126 bei der Kommunikation über das
Prozeßsteuerungssystem 100,
um beispielsweise bestimmte Daten von einer oder mehreren Einrichtungen
innerhalb des Prozeßsteuerungssystems 100 abzurufen, überwacht
den Verkehr bestimmter Meldungen an dem Kommunikationssoftwarestapel 126 einschließlich Lese-
und Schreiboperationen und entsprechende Daten, kopiert den Verkehr
der bestimmten Meldungen in eine Datei innerhalb der Einrichtung 105 und
sendet die Datei durch das entfernte Netz 106 an eine entfernte
Stelle.
-
Bei
Verwendung mit einem Fieldbus-System tritt die NAFI-Einrichtung 105 natürlich mit
dem Netzbus 109 über
eine Zweidrahtanschlußverbindung
in Dialog, die im allgemeinen zum Verbinden von Einrichtungen wie
etwa des Steuerwerks 110, der Brückeneinrichtungen 118 oder
der Feldeinrichtungen 116 mit dem Netzbus 109 oder 120 verwendet
wird. Die NAFI-Einrichtung 105 kann jedoch verwendet werden,
um mit anderen Arten von Prozeßsteuerungssystem
oder Netzen außer
Fieldbus-Netzen in Dialog zu treten, beispielsweise mit Profibus-Netzen.
-
Gemäß 7 zeigt
ein schematisches hohes Blockbild ein Computersystem 200, 312 zur
Verwendung als NAFI-Einrichtung 105 geeignet ist. Das Computersystem 200 von 7 ist
sehr herstellerkompatibel und bei vielen Konfigurationen mit erweiterten
Funktionsblöcken
und Anwendungen anwendbar. Die NAFI-Einrichtung 105 (das
Computersystem 200) hat einen Zweidraht-Endverzweiger 202,
der an ein Zweidrahtmedium (wie etwa einen Bus) angeschlossen ist
oder der mit einem Zweidrahtmedium-Anschlußblock einer Einrichtung verbunden
ist. Die NAFI 105 weist ferner auf: einen Mikroprozessor 204,
eine Kommunikationsschnittstelle 206, eine Medienzugangseinheit 208 und
eine Vielzahl von Speichereinheiten wie etwa einen Speicher mit
wahlfreiem Zugriff bzw. RAM 210, einen Festwertspeicher bzw.
ROM 212 und einen nichtflüchtigen Speicher mit wahlfreiem
Zugriff bzw. NVRAM 214. Die Kommunikationsschnittstelle 206 ist
ein Schaltkreis, der eine Seriell-Parallel-Protokollumsetzung und eine Parallel-Seriell-Protokollumsetzung
durchführt
Datenpaketen Rahmeninformation entsprechend der Definition des Kommunikationsprotokolls
des Prozeßsteuerungssystems,
in dem die Einrichtung 105 verwendet wird, hinzufügt. Wie 7 zeigt,
bildet die Schnittstelle 206 eine Schnittstelle zwischen
dem Mikroprozessor 204 und der Medienzugangseinheit 208,
die dazu dienen kann, um beispielsweise ein Zweidrahtmedien-Kommunikationssignal
in eine digitale Darstellung des Kommunikationssignals umzuwandeln. Die
Medienzugangseinheit 208 erhält Energie von dem Zweidrahtmedium
oder von einer herkömmlichen
Energiequelle und liefert diese Energie an andere Schaltkreise in
der NAFI-Einrichtung 105. Die Medienzugangseinheit 208 führt auch
eine Wellenformung und Zeichengabe auf dem Zweidrahtmedium oder
Bus (wie etwa dem Bus 109 von 6) aus.
-
Die
Speichereinrichtungen 110, 112 und 114 stellen
Speicher für
die NAFI-Einrichtung 105 bereit und treten mit dem Mikroprozessor 204 in
Dialog. Bei der gezeigten Ausführungsform
kann der RAM 210 eine Speichereinheit mit 128 kByte, der
ROM 212 eine Speichereinheit mit 256 kByte und der NVRAM 214 eine
nichtflüchtige
Speichereinheit mit 32 kByte sein.
-
Die
NAFI-Einrichtung 105 führt
Anweisungen in dem Mikroprozessor 204 von einem Programmcode
aus, der in einer oder mehreren der Speichereinrichtungen 210, 212 oder 214 gespeichert
ist, oder führt
eine Kommunikationsschnittstellenoperation aus. Die NAFI-Einrichtung 105 kann
in praktisch jedem Computersystem in dem Steuerungssystemnetz 100 realisiert
werden, einschließlich
Computersystemen in dem Steuerwerk 110, in jeder der Brückeneinrichtungen 118 und/oder
der Feldeinrichtungen 116 sowie in einem selbständigen Computersystem.
-
Das
Flußdiagramm
von 8 zeigt Operationen, die von dem NAFI-Softwaresystem
oder der -Einrichtung 105 ausgeführt werden. In einem Schritt 222 'Anwenderbefehl empfangen' empfängt das
NAFI-Softwaresystem 105 Anwenderbefehle von einem Anwender,
die aufweisen: (1) Befehle von einem lokalen Anwender, die das Sammeln
von Daten auslösen
und den zu überwachenden
speziellen Verkehr an dem Kommunikationssoftwarestapel 126 definieren,
(2) Befehle von einem lokalen Anwender zum Initialisieren einer
NAFI-Übertragungsdatei,
(3) Befehle von einem lokalen Anwender oder einem entfernten Anwender
an einem entfernten Ort zum Senden einer NAFI-Übertragungsdatei an eine entfernte
Einrichtung, (4) Befehle und entsprechende Daten, die von einem
entfernten Anwender an einer entfernten Quelle empfangen werden,
und (5) Befehle, die von dem entfernten Anwender an dem entfernten
Ort empfangen werden und die die Übertragung einer bezeichneten
NAFI-Übertragungsdatei
verlangen. Der Schritt 222 'Anwenderbefehl empfangen' ist typischerweise
unterbrechungsgesteuert und asynchron.
-
Für einen
Befehl, der das Sammeln von Daten auslöst und den zu überwachenden
bestimmten Verkehr an dem Kommunikationssoftwarestapel 126 definiert,
gibt ein Schritt 224 'Verkehr
wählen
und Datensammeln beginnen' verschiedene
Bedingungsvariablen oder Anweisungen, die den zu überwachenden
Meldungsverkehr definieren, und fordert dazu auf, daß der Kommunikationssoftwarestapel 126 Daten
zu der Anwendersoftwareschicht 128 entsprechend den angeforderten
Daten überträgt.
-
Für einen
Befehl zur Initialisierung einer NAFI-Überführungsdatei wird ein Schritt 226 'NAFI-Datei initialisieren' ausgeführt. Während dieses
Schritts werden Daten über
den Kommunikationssoftwarestapel 126 unter Anwendung verschiedener
Anwendungsprogramme übertragen.
Die Anwendersoftwareschicht 128 überwacht alle bezeichneten
Daten oder, falls gewünscht,
alle Daten ohne Rücksicht
darauf, welches Anwendungsprogramm den Datentransfer erzeugt. Ein
Beispiel eines Anwendungsprogramms, das den Kommunikationssoftwarestapel 126 für Kommunikationen
mit Feldeinrichtungen verwendet, ist ValveLink-Software, die mit
einem Steuerventil über
das Steuersystemnetz 100 kommuniziert. ValveLink ist eine
Software, die von Fisher Control International Inc. in Verbindung
mit deren Valvelink-Produkten
hergestellt und zur Verfügung
gestellt wird. Das NAFI-Softwaresystem 105 kann Daten in bezug
auf jedes Dialogsystem überwachen,
das über den
Kommunikationssoftwarestapel liest und schreibt, und die Anwendersoftwareschicht 128 hat Zugang
zu allen Daten auf dem Netzbus 109 für die entfernte Kommunikation.
-
Für einen
Befehl zum Senden einer NAFI-Überführungsdatei
an eine entfernte Einrichtung überträgt ein Schritt 228 'NAFI-Datei senden' die Meldungen und
Daten in der NAFI-Datei an eine entfernte Stelle, die beispielsweise
nach Maßgabe
eines Arguments des Übertragungsbefehls
adressiert wird. Die Meldungen und Daten, die an die entfernte Stelle gesendet
werden, umfassen Anforderungen und Antworten, die von dem Kommunikationssoftwarestapel 126 während Steuerungs-
und Datenübertragungsvorgängen des
Steuerungssystemnetzes 100 nach Maßgabe des Kommunikationsprotokolls
des Steuerungssystemnetzes 100 wie etwa des Fieldbus-Protokolls gehandhabt
werden. Vorteilhafterweise ist die über das entfernte Netz 106 übertragene
Informationsmenge sehr klein im Vergleich mit Daten in anderer Form
wie etwa der Übertragung
eines vollständigen
Computerbildschirms oder der Übertragung
von Daten, die durch Handhabungsinformation, die während der
Durchleitung durch zahlreiche Netzknoten hinzugefügt wurde,
belastet sind. Somit verringert die NAFI-Einrichtung 106 vorteilhafterweise
die Zusatzaufwendungen hinsichtlich Zeit und Datenübertragungsgröße bei der
Kommunikation von Feldeinrichtungsdaten über ein Netzwerk. Die NAFI-Überführungsdatei
wird über
das entfernte Netz 106 an die definierte entfernte Stelle übertragen,
die die Datei lädt,
so daß Meldungen
und Daten, die von dem Steuerungssystemnetzprotokoll definiert sind,
für die Analyse
und Anzeige an der entfernten Stelle verfügbar sind, was es wiederum
dem entfernten Anwender ermöglicht,
Anwendungen ablaufen zu lassen, die Anwendungen entsprechen, die
von dem lokalen Anwender ausgeführt
werden, um Operationen und Testbedingungen während der Ferndiagnose und Abfragen
und Untersuchungen des Einrichtungszustands und von Problemen neu
zu schaffen. Selbstverständlich
muß der
entfernte Anwender geeignete Software haben, die die Bedeutung der
von der NAFI-Einrichtung gesendeten Daten decodiert oder entschlüsselt. In
jedem Fall erlaubt die Datenkommunikation unter Anwendung der NAFI-Einrichtung 105 vorteilhafterweise
eine entfernte diagnostische Prüfung,
Wartung und Störungsbeseitigung.
Ferner werden Meldungen und Information vorteilhafterweise sehr
rasch unter Verwendung der NAFI-Einrichtung 105 übermittelt,
weil die Daten asynchron und unabhängig zwischen dem lokalen Anwender
und dem entfernten Anwender übertragen
werden, um dadurch Synchronisierungsprobleme zu vermeiden. Außerdem werden
die Daten und Meldungen in bezug auf das Sammeln von Daten asynchron übertragen,
so daß das
Sammeln von Daten und die Datenübertragung
vorteilhafterweise voneinander entkoppelt sind, was einen Stauzustand
verhindert, bei dem das Sammeln von Daten unterbrochen wird, wenn eine
Netzkommunikationsverbindung nicht verfügbar ist, und die Kommunikation
unterbrochen wird, während
auf das Sammeln von Daten gewartet wird.
-
Für einen
Befehl und entsprechende von einer entfernten Quelle empfangene
Daten empfängt ein
Schritt 230 'Fernübertragung
empfangen' den Befehl
und Daten und löst
alle befohlenen Operationen an dem lokalen Steuerungssystemnetz 100 unter Verwendung
von Standard-Kommunikationseinrichtungen wie etwa einem Softwarekommunikationsstapel
aus, der dem Kommunikationsprotokoll zugeordnet ist, das von dem
Steuerungssystemnetz 100 verwendet wird.
-
In
einem Schritt 232 'Stapel überwachen' überwacht das NAFI-Softwaresystem 124 den
Meldungsverkehr an dem Kommunikationssoftwarestapel 126,
der von dem Anwender bezeichnet wird. Der Verkehr wird für die Anwendersoftwareschicht 128 als
Reaktion auf die Anforderung verfügbar gemacht, daß der Kommunikationssoftwarestapel 126 Daten zu
der Anwendersoftwareschicht 128 übertragen soll, wobei diese
Anforderung in dem Schritt 224 'Verkehr wählen und Datensammeln starten' gemacht wurde. Der
Meldungsverkehr umfaßt
die Anforderungen und Antworten, die von dem Kommunikationssoftwarestapel 126 während der
Prozeßsteuerungsvorgänge übermittelt
werden.
-
Ein
Schritt 234 'Meldungsverkehr
in eine Datei kopieren' kopiert
Lese- und Schreibanforderungen und Daten in eine NAFI-Datei. Die
NAFI-Datei kann eine Datei aus einer Vielzahl von NAFI-Dateien sein, die
für die
Speicherung von bestimmter Information wie etwa von Information
betreffend eine bestimmte Feldeinrichtung oder ein Ventil bestimmt
ist, und diese Dateien können
in einer der Speichereinheiten 210 oder 214 der
NAFI-Einrichtung 105 gespeichert sein.
-
Wie
ersichtlich ist, ist die NAFI-Einrichtung 105 ein einfaches
System, das als ein Computersystem mit dem NAFI-Softwaresystem 124 implementiert
ist, wobei die Verwendung von teuren und komplizierten Hochgeschwindigkeits-Kommunikationseinrichtungen
einschließlich
Glasfaserleitungen und Wandlern vorteilhaft vermieden wird.
-
9 zeigt
als schematisches Blockbild mehrere mögliche Implementierungen einer
Fieldbus-Schnittstelle mit Netzzugang zur Kommunikation zwischen
einem oder mehreren einer Vielzahl von Prozeßsteuerelementen und entfernten
Elementen. Die NAFI-Einrichtung 105 ist in Übereinstimmung
mit der NAFI-Verbindung gemä 6 dargestellt.
Außerdem
ist eine NAFI-Einrichtung oder -Schnittstelle 302 als in
das Steuerwerk 110 eingebaut dargestellt. Die NAFI-Einrichtung 302 kann
mit dem entfernten Netz 106 entweder direkt oder über eine
Verbindung durch eine weitere NAFI-Einrichtung 304 verbunden
sein, wodurch eine NAFI-NAFI-Verbindung dargestellt ist. Ebenso
kann der Computer 108 eine NAFI-Einrichtung 306 enthalten,
die mit dem entfernten Netz 106 entweder direkt oder über eine
Verbindung mit der NAFI-Einrichtung 304 verbunden
ist. Die Netzzugangs-Schnittstelle der vorliegenden Erfindung kann auch
in andere Einrichtungen einschließlich jede der Brückeneinrichtungen 118 und/oder
Feldeinrichtungen 116 eingefügt sein, die Fluidsteuerventile
oder jede andere Art von Feldeinrichtung wie Sensoren, Sender, Wandkonsolen
usw. sein können.
Eine NAFI-Einrichtung 308, die in eine der Brücken 118 eingefügt ist,
und eine NAFI-Einrichtung 310, die in eine der Feldeinrichtungen 116 eingefügt ist,
sind beide direkt mit dem entfernten Netz 106 verbunden
dargestellt, können
aber, falls gewünscht,
indirekt über
eine weitere NAFI-Einrichtung verbunden sein.
-
Selbstverständlich kann
die Schnittstelle mit Netzzugang der vorliegenden Erfindung nach Wunsch
andere Funktionen ausüben
und kann jede Kombination von Funktionen in jeder gewünschten Reihenfolge
ausüben,
um Kommunikationen zwischen einem Prozeßsteuerungsnetz und einem entfernten
Netz herzustellen. Die hier beschriebene Schnittstelle mit Netzzugang
ist zwar bevorzugt in Software implementiert, die beispielsweise
in einer Prozeßsteuerungseinrichtung,
einem Steuerwerk oder einem PC gespeichert ist, sie kann aber alternativ
oder zusätzlich
in Hardware, Firmware usw. nach Wunsch implementiert sein. Das heißt, der
hier beschriebene Prozessor kann alle festverdrahteten Logikanordnungen
oder andere Hardwareeinrichtungen aufweisen, die dazu bestimmt sind,
die hier beschriebene Funktionalität zu implementieren. Wenn die Schnittstelle
mit Netzzugang gemäß der vorliegenden
Erfindung in Software implementiert ist, kann sie in jedem Computer-lesbaren
Speicher wie etwa einer Magnetplatte, einer Laserplatte oder einem
anderen Speichermedium, in einem RAM oder ROM eines Computers usw.
gespeichert sein. Ebenso kann diese Software einem Anwender oder
einer Einrichtung durch jedes bekannte oder gewünschte Lieferungsverfahren
geliefert werden, beispielsweise auf einem Kommunikationskanal wie
einer Telefonleitung, dem Internet usw. Ferner ist zwar die Schnittstelleneinrichtung
mit Netzzugang hier so beschrieben, daß sie einen Kommunikationssoftwarestapel
implementiert oder verwendet, der dem OSI-Schichtkommunikationsmodell
entspricht, um Kommunikationsfunktionen in einem Prozeßsteuerungssystem
auszuführen;
es versteht sich jedoch, daß dieser
Kommunikationssoftwarestapel mit jeder Software implementiert werden
kann, die Standard-Kommunikationsfunktionen entsprechend einem Kommunikationsprotokoll
ausführt,
ohne Rücksicht
darauf, ob diese Funktionen in einem Stapelformat entsprechend der
Beschreibung durch das OSI-Modell implementiert sind oder nicht.