-
TECHNISCHES
GEBIET
-
Die
vorliegende Erfindung betrifft im Allgemeinen Steuersysteme. Genauer
genommen betrifft die vorliegende Erfindung ein Gerät und ein
Verfahren zum Bestimmen des Typs eines Kommunikationsgeräts, das bekannte
Kommunikationsprotokolle über
Standardnetzwerke verwendet, und zum Bewegen von Daten in Zusammenhang
mit Eingangs- und Ausgangs(E/A)-Geräten innerhalb des Steuersystems,
zu und von einem programmierbaren Logikcontroller.
-
ALLGEMEINER
STAND DER TECHNIK
-
In
Steuersystemen besteht ein Bedarf, E/A-Geräte und Module, programmierbare
Logikcontroller (PLCs) und andere Geräte zu machen, die auf Standardkommunikationsprotokollen,
wie zum Beispiel Ethernet, TCP/IP und anderen verwendet werden können. Das
umfasst die Fähigkeit,
eine Schnittstelle mit einem herstellerspezifischen Kommunikationsprotokoll
mit Standardprotokollen zu bilden. Frühere E/A-Scanner verwendeten
typisch herstellerspezifische Steuernetzwerkprotokolle. Der Gebrauch
herstellerspezifischer Steuernetzwerkprotokolle ergab hohe Installationskosten,
wenig Einfachheit im Gebrauch und Kompatibilitätsprobleme mit anderen Geräten/Systemen,
die in einem Steuersystem verwendet werden, wie zum Beispiel bei Werksautomatisierungsanwendungen.
Die US Patente 5 159 673 (Sackman et al.), 4 992 926 (Janke et al.),
4 897 777 (Janke et al.), 5 245 704 (Weber et al.), 4 937 777 (Flood
et al.), 5 307 463 (Hyatt et al.) und/oder 5 805 442 (Crater et
al.) stellen einigen Hintergrund und Kontext für die vorliegende Erfindung
bereit.
-
US-A-4
897 777 beschreibt ein Kommunikationsnetz für programmierbare Logikcontroller
(PLCs), wobei ausgewählte
Speichermittel jedes PLC mindestens zwei Schnittstellen haben, die
direkt über
andere PLCs zugänglich
sind, und bestimmte Register der PLCs sind identisch, um effizienten
Hochgeschwindigkeitstransfer von Datenblöcken zwischen den PLCs zu erlauben.
-
US-A-4
855 906 beschreibt ein Mehrstufencomputersystem, eine Datenbankkonfigurationsmitteilung wird
von einer Zelle, die den Computer steuert, zu einem Datenbankcachecomputer übertragen,
um bestimmte Datenelemente anzugeben, die an einem oder mehreren
Stationsniveaucomputern zu überwachen
sind. Der Datenbankcachecomputer ist über ein lokales Netzwerk an
die Stationsniveaucomputer angeschlossen. Die Stationsniveaucomputer überwachen
die Datenelemente und erzeugen nicht angeforderte Mitteilungen,
die geänderte
Zustände
für Datenelemente
enthalten, die sich während
der Überwachungszeitspanne
geändert haben.
Der Datenbankcachecomputer empfängt
die nicht angeforderten Mitteilungen und legt die Daten darin aus,
um die relevanten Datenelemente zu aktualisieren. Die nicht angeforderten
Mitteilungen werden in regelmäßigen Abständen ohne
die Notwendigkeit zurückgesandt,
dass der Datenbankcachecomputer eine Abfrage durchführt. Nach
Wunsch können
die Daten in den nicht angeforderten Mitteilungen auf Daten beschränkt werden,
die seit der letzten Aktualisierung der relevanten Datenelemente
geändert
wurden.
-
Die
vorliegende Erfindung betrifft das Lösen der Probleme des Bereitstellens
von E/A-Geräten
und Modulen, PLCs und anderer Geräte, die auf Standardkommunikationsprotokollen
verwendet werden können, darunter
die Fähigkeit.
Schnittstellen zwischen herstellerspezifischen Kommunikationsprotokollen
und Standardprotokollen zu bilden.
-
Bei
einem ersten Aspekt der Erfindung wird ein Verfahren zum Identifizieren
eines zweiten Geräts
auf einem zweiten Knoten eines Standardkommunikationsnetzwerks von
einem ersten Gerät,
das sich auf einem ersten Knoten des Standardkommunikationsnetzwerks
befindet, bereitgestellt, die folgenden Schritte umfassend: Auslösen von
dem ersten Knoten eines ersten Kommunikationsbefehls in einem Protokoll.
das für
die Kommunikation zu Partnergeräten
(unten Partnerprotokollformat genannt) zu dem zweiten Knoten geeignet ist;
Auslösen
von dem zweiten Knoten eines zweiten Kommunikationsbefehls in dem
Partnerprotokollformat zu dem ersten Knoten; Identifizieren des
zweiten Geräts
auf dem zweiten Knoten als ein Partnergerät innerhalb des ersten Geräts auf dem
ersten Knoten; und Identifizieren des ersten Geräts auf dem ersten Knoten als
ein Partnergerät
innerhalb des zweiten Geräts
auf dem zweiten Knoten, und wobei das Bestimmen eines Partnergeräts ferner
erfolgt, indem bestimmt wird, ob das Gerät den Lese-/Schreibregisterbefehl des Partnerprotokollformats
versteht und ob die Information in einer Abtasttabelle zum Speichern
von Daten in Zusammenhang mit dem Gerät der Kommunikation entspricht,
welche das dezentrale Gerät
zu diesem Knoten richtet.
-
Die
vorliegende Erfindung ist auch ein Gerätscanner für ein erstes Gerät, das sich
auf einem ersten Knoten eines Standardkommunikationsnetzwerks befindet.
Der Gerätscanner
ist zum Abtasten von Geräten auf
dem Standardkommunikationsnetzwerk und zum Identifizieren eines
zweiten Geräts
auf einem zweiten Knoten des Standardkommunikationsnetzwerks ausgestattet.
Der Gerätscanner
hat einen Auslöser
zum Auslösen
eines ersten Kommunikationsbefehls in einem Partnerprotokollformat
zu dem zweiten Knoten, einen Empfänger zum Empfangen von dem
zweiten Knoten eines zweiten Kommunikationsbefehls in dem Partnerprotokollformat
als Antwort auf den ersten Kommunikationsbefehl und einen Identifikator
zum Identifizieren des zweiten Geräts auf dem zweiten Knoten als
ein Partnergerät,
wobei das Bestimmen eines Partnergeräts erfolgt, indem bestimmt
wird, ob das Gerät
den Partnerprotokollformat-Lese-/Schreibregisterbefehl versteht,
und ob die Information in einer Abtasttabelle zum Speichern von
Daten in Zusammenhang mit dem Gerät der Kommunikation entspricht,
die das dezentrale Gerät
zu diesem Knoten richtet. Diese Vorrichtung und dieses Gerät können innerhalb
eines Steuersystems zum Überwachen
von Eingangsgeräten
und zum Steuern von Ausgangsgeräten
verwendet werden, die auf dem Standardkommunikationsnetzwerk vorhanden
sind, wie unten detailliert beschrieben.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein funktionales Netzwerkblockschaltbild eines Beispiels eines Steuersystemnetzwerks über Ethernet
der vorliegenden Erfindung.
-
2 ist
ein funktionales Blockschaltbild einer Ausführungsform der vorliegenden
Erfindung und der Anschlüsse
zu anderen Abschnitten des Steuersystems der vorliegenden Erfindung.
-
3 ist
Zustandsdiagramm der Steuerzustände
eines Scanners der vorliegenden Erfindung.
-
4 ist
ein funktionales Block- und Timingschaltbild einer Ausführungsform
einer Partnergerätbestimmung
der vorliegenden Erfindung.
-
5A–5G sind
detaillierte Flussdiagramme einer Ausführungsform des Softwarecodes,
der auf einer Ausführungsform
des Scanners der vorliegenden Erfindung läuft.
-
DETAILLIERTE
BESCHREIBUNG
-
Obwohl
sich diese Beschreibung in vielen verschiedenen Formen ausführen lässt, werden
in den Zeichnungen detaillierte bevorzugte Ausführungsformen der Erfindung
gezeigt und hier beschrieben, wobei klar ist, dass die vorliegende
Offenbarung nicht dazu bestimmt ist, die Erfindung auf die veranschaulichten Ausführungsformen
zu beschränken.
-
Unter
Bezugnahme auf die 1 und 2 zeigen
diese eine Vorrichtung zur Kommunikation mit wenigstens einem Gerät 22, 26, 32 und/oder 36,
das sich auf einem Standardkommunikationsnetzwerk 10, wie zum
Beispiel einem Ethernetnetzwerk befindet, das ein Standardkommunikationsprotokoll,
wie zum Beispiel TCP verwendet. Die Vorrichtung hat einen Scanner 110,
der sich innerhalb des in 1 als „NOE" 100 bezeichneten
Elements befindet. „NOE" bedeutet Netzwerkoptionen-Ethernetmodul oder
-karte. Bei dem in 1 gezeigten Beispiel ist das
NOE eine Kommunikationskarte, die in eine Rückwand 70 passt, die
mehrere Schlitze (in 1 acht) für verschiedene Karten/Module
hat, wie zum Beispiel lokale Eingangsmodule 24 und lokale
Ausgangsmodule 34, innerhalb des Steuersystems. Ein Beispiel
ist mit Software umgesetzt (auch Firmware oder Exec genannt), die
auf dem NOE-Modul, das einen Mikroprozessor und einen Speicher hat,
läuft. Andere
Beispiele können
jedoch in verschiedenen unterschiedlichen Arten umgesetzt werden,
wie zum Beispiel mit dem Scanner 110 auf dem PLC 50, 52 selbst,
je nach Implementierung der Erfindung. Der Gerätscanner ist zum Abtasten der
Geräte 22, 26, 32, 36 bestimmt,
und zwar sowohl lokal (auf seiner eigenen Rückwand) als auch dezentral
(über das
Standardkommunikationsnetzwerk, in den Figuren als ein Ethernet-Netzwerk gezeigt).
Eine Gerätabtasttabelle 120 wird
zum Speichern von Daten in Zusammenhang mit den Geräten 22, 26, 32, 36 bereitgestellt.
Eine Standardkommunikationsschnittstelle 140, wie zum Beispiel
ein TCP/IP-Stapel mit einem Ethernet-Treiber ist zum Bilden der
Schnittstelle zwischen dem Gerätscanner 110 und
dem Standardkommunikationsnetzwerk 10 unter Gebrauch des
Standardkommunikationsprotokolls, wie zum Beispiel TCP bereitgestellt.
Die Ethernetnetzwerkausführungsform
der vorliegenden Erfindung verwendet Ethernet als das Netzwerk 10 des
Gerätniveaus.
Das stellt eine schnelle, anpassungsfähige und prakti sche Art der
Schnittstellenbildung zwischen den E/A-Geräten verschiedener PLCs oder
E/A-Module mit den PLCs bereit.
-
Die
Gerätabtasttabelle 120 enthält mehrere
Parameter, die von dem Scanner 110 verwendet werden können, um
mit den Geräten 22, 26, 32, 36 zu
kommunizieren. Eine Auflistung der Parameter in einem Beispiel ist
in einer Tabelle weiter unten bereitgestellt. Einige dieser Parameter
in der Abtasttabelle 120 sind die folgenden: ein erster
Abtastparameter wird bereitgestellt, um die Anzahl von Geräten 22, 26, 32 und 36,
die von dem Gerätscanner 110 abzutasten
sind, anzugeben. Ein zweiter Abtastparameter wird bereitgestellt,
um den Gerättyp
anzugeben. Ein dritter Abtastparameter wird bereitgestellt, um anzuzeigen,
wo Daten für
die Geräte 22, 26, 32 36 zu
holen und zu speichern sind. Ein fünfter Abtastparameter wird
bereitgestellt, um die Länge
der gespeicherten Daten und der geholten Daten anzuzeigen.
-
Innerhalb
des Steuersystems kommunizieren die programmierbaren Logikcontroller
(PLC) 50, 52) untereinander und mit anderen Geräten, indem
sie ein PLC-Kommunikationsprotokoll verwenden. Ein solches Protokoll
ist Modbus, ein bekanntes Protokoll. Bei der vorliegenden Ausführungsform
wird das PLC-Kommunikationsprotokoll über das Standardkommunikationsprotokoll,
wie zum Beispiel TCP kommuniziert. Detaillierte Information über das
Modbus-Protokoll und TCP sowie TCP/IP findet man im Internet unter
www.modicon.com und an anderen Stellen, darunter in der Dokumentation
aufgelistet als „Open
Modbus/TCP Specification",
die hier durch Bezugnahme in die vorliegende Spezifikation aufgenommen
wird. Das Standardkommunikationsnetzwerk 10 stellt Kommunikation
zwischen dem Gerätscanner 110 und
den dezentralen Geräten 22, 32 und
Modulen 20, 30 bereit. Innerhalb von 1 zeigt
das Element 42, dass viele andere Geräte an das Standardkommunikationsnetzwerk 10 wie
gut bekannt angeschlossen werden können. Wie oben angegeben, tastet
der E/A-Scanner 110 die E/A-Geräte in einem Beispiel anhand
des Protokolls Modbus (von Schneider Automation, Inc.) über TCP/IP
ab. Bei dieser Ausführungsform
verwendet der E/A-Scanner 110 die Leseregister-, Schreibregister-
und Lese/Schreibregister-Modbusbefehle,
um Daten von dem PLC-Speicher und zu ihm zu bewegen. Das erlaubt
es spezifischen Typen von PLCs innerhalb des Steuersystems, effizient
sich wiederholende Daten zu Ethernet-Modulen, anderen Typen von
PLCs und jedem beliebigen anderen Ethernet TCP/IP-Gerät, das das
MB (Modbus)-Protokoll unterstützt,
zu übertragen.
-
Das
in 1 gezeigte Steuersystem kann zahlreiche PLCs 50, 52 haben.
Jeder PLC 50, 52 hat typisch einen Mikroprozessor
und einen Speicher (PLC-Speicher, wie zum Beispiel Direktzugriffsspeicher – RAM) mit Software
oder Firmware, die darauf läuft.
Innerhalb der Ausführungsform,
die in den 1 und 2 gezeigt ist,
hat jeder PLC 50, 52 einen PLC-Speicher, der eine
Konfigurationstabelle enthält.
Die PLC-Speicherkonfigurationstabelle kann die gleichen Parameter
haben, wie die in der oben erwähnten
Abtasttabelle 102 aufgelisteten und/oder wie die in der
Parametertabelle weiter unten aufgelisteten. In dem Beispiel, das
eine Konfigurationstabelle innerhalb des PLC-Speichers verwendet,
werden die Parameter innerhalb der Konfigurationstabelle des PLC-Speichers
in die Abtasttabelle 120 beim Starten des NOE 100 und/oder
Gerätscanners 110 gelesen.
Andere Beispiele können
jedoch Parameter haben, die in die Abtasttabelle 120 von
anderen Mitteln gelesen werden, wie zum Beispiel über eine
Webseite (zugänglich über das
World Wide Web (www)), die sich auf dem NOE selbst befindet. Dieser
Typ von NOE könnte
allgemein ein im Internet eingebettetes Servermodul genannt werden.
Alternativ könnten
die Parameter in die Abtasttabelle über einen Benutzer platziert
werden, der eine Datei auf dem PC des Benutzers anlegt/editiert,
und der Benutzer könnte
die Datei zu dem NOE anhand eines Dateiübertragungsprotokolls (FTP)
oder einem anderen Übertragungsmittel
von einem dezentralen Ort senden.
-
In
dem in 1 und 2 gezeigten Beispiel können die
PLCs 50, 52 mit den lokalen Eingangs- und Ausgangs(E/A)-Geräten 26, 36 über die
Rückwand 70 kommunizieren,
und mit den dezentralen Eingangs- und Ausgangs(E/A)-Geräten 22, 32 über die
Rückwand 70,
dem NOE 100, dem Netzwerk 110 und den E/A-Modulen 20, 30 auf
dem Netzwerk 10. Das NOE 100 in dem Beispiel in
den 1 und 2 kann mit dem PLC 50, 52,
den lokalen Eingangs-/Ausgangsgeräten 26, 36,
dem Ethernetnetzwerk 10 und den dezentralen Eingangs- und
Ausgangsgeräten 22, 32 kommunizieren.
Wie oben erwähnt
und wie unten detaillierter beschrieben, hat das NOE-Servermodul 100 einen
Scanner 110 zum Abtasten der Eingangs- und Ausgangsgeräte, eine E/A-Abtasttabelle 120 zum
Echtzeitspeichern und andere Information für die Eingangs- und Ausgangsgeräte, eine
Standardkommunikations-Protokollschnittstelle 142 und einen
Standardkommunikations-Netzwerktreiber 144 zum Herstellen
der Schnittstelle zwischen dem E/A-Scanner 110 und dem
Standardkommunikations-Netzwerk 10 unter Einsatz des Standardkommunikations-Protokolls.
Der Standard kommunikations-Netzwerktreiber 144 kann ein
im Handel erhältlicher
AM79C961-Treiber sein.
-
Bei
der in den 1 und 2 gezeigten
Ausführungsform
hat das NOE-Modul 100 auch
ein Echtzeitbetriebssystem zum Ausführen der verschiedenen Aufgaben
auf dem NOE, darunter die „E/A-Abtastaufgabe" oder Scanner 110.
Im Handel erhältliche
Betriebssysteme können
verwendet werden, wie zum Beispiel das PSOS-Echtzeitbetriebssystem
hergestellt von Integrated Systems, Inc., Sunnyvale, Kalifornien.
Information über
das PSOS-Echtzeitbetriebssystem ist bei dieser Gesellschaft und/oder
auf dem Internet unter www.isi.com verfügbar. Ein bevorzugtes Echtzeitbetriebssystem,
das verwendet werden kann, ist VXWORKS, bereitgestellt von einer
Gesellschaft mit der Bezeichnung Wind River Systems, Inc., Alameda,
Kalifornien. UXWORKS wurde innerhalb der QUANTUM-Produktlinie von
Schneider Automation, Inc., dem Übernehmer
der vorliegenden Erfindung verwendet. Einige der Ausführungsformen
der vorliegenden Erfindung brauchen kein Echtzeitbetriebssystem,
wie zum Beispiel die „M1"-Produktlinie von
Schneider Automation, Inc., und in diesem Fall läuft die Firmware auf einem
Prozessor ohne Unterstützung
eines Echtzeitbetriebssystems.
-
Bei
einem Beispiel ist der Betrieb des Scanners 110 unter Einsatz
einer im Handel verfügbaren
Panel-Softwareanwendung konfiguriert, wie zum Beispiel ModsoftTM oder ConceptTM.
Die Panelsoftware wird verwendet, um Information über E/A-Geräte einzugeben,
die von dem NOE abzutasten sind, das heißt zu welchen geschrieben und
von welchen gelesen werden soll.
-
Bei
einer speziellen Ausführungsform
der vorliegenden Erfindung weist die Abtasttabelle 120 Folgendes
auf: die Anzahl der 16-Bit-Wörter,
die das Gerät
als Eingang akzeptiert oder als Ausgang produziert; die Ursprungs-
oder Zieladresse in dem Controllerspeicherraum (OX-, IX-, 3X- oder
4X-Register genannt): den Timeout-Wert für ein Gerät, das heißt die Menge an Zeit, die verstreichen
darf, bevor ein Gerät
als defekt betrachtet wird; einen Flag, um anzugeben, was mit den
Eingangsdaten zu tun ist, wenn ein Gerät nicht mehr antwortet, wobei
die zwei Möglichkeiten
HOLD oder ZERO sind. Diese Implementierung erzeugt die IP-Adresse
des Geräts
aus seiner Modbus-Adresse wie folgt:
IP-Adresse des Geräts: AA.BB.CC.MB
-
AA.BB.CC
sind die ersten 3 Bytes der IP-Adresse dieses NOE, und MB ist die
Modbus-Adresse, die mit der Panelsoftware eingegeben wurde. Eine
weitere Ausführungsform
weist die Möglichkeit
auf, die dezentralen E/A-Geräte,
IP-Adressen, sowie auch die Gerättypen
direkt einzugeben.
-
Eine
TCP-Verbindung ist jedem E/A-Gerät
in der Abtastliste vorbehalten, bis das Maximum von 128 Geräten erreicht
ist. Wie bei dieser Spezifikation verwendet, bedeutet FC 3 Funktionscode
3, das heißt
eine MB (Modbus)-Registerlesemitteilung. Ebenso bedeutet FC 16 Funktionscode 16 und
ist ebenfalls eine MB-Registerschreibmitteilung, und FC 23 bedeutet
Funktionscode 23, eine MB-Lese-/Schreibmitteilung. Die
bevorzugte Ausführungsform
der vorliegenden Erfindung kann Peer Cop unterstützen, die Bezeichnung einer
spezifischen Steuersystemanordnung von Schneider Automation, Inc.,
die in der US Patentanmeldung mit der Seriennummer 60/078 223 beschrieben
ist, mit dem Titel „Communications
System For A Control System Over Ethernet And IP Networks and Communications
Interfaces for Such Systems",
die hier durch Bezugnahme in die vorliegende Spezifikation eingegliedert
wird. Zusätzliche
Information über „Peer Cop" ist auch auf dem
Internet verfügbar
unter www.modicom.com. Bei diesem Beispiel kann der Benutzer Peer
Cop-Eingangsanzeigen in der Panelsoftware verwenden, um das NOE
zu konfigurieren, darunter die E/A-Abtasttabelle, obwohl es andere
Wege zum Konfigurieren des NOE gibt, wie in der vorliegenden Spezifikation
beschrieben.
-
Das
allgemeine Setup und der Fluss der E/A-Scannersoftware-/Firmware
ist in 3 gezeigt. Die folgende Übergangstabelle auf den nächsten Zustand
zeigt die nächsten
Zustände
des Diagramms „nächster Zustand" der 3 an.
-
-
-
Bei
einem Beispiel verwendet der E/A-Scanner 110 die Ereignisflag-Kapazität des PSOS-Echtzeitbetriebssystems
(RTOS). Das erlaubt es, maximal 16 benutzerdefinierte Ereignisse
zu einer Aufgabe zu senden. Die E/A-Scannerschnittstelle auf dem
Rückwand
(BP)-Treiber erfolgt über
eine Rückruffunktion.
Der BP-Treiber ruft die Rückruffunktion
ab, um eine Schnittstelle mit dem E/A-Scanner 110 zu bilden.
Die Rückruffunktion sendet
das entsprechende Ereignis zu dem E/A-Scanner 110. Der
E/A-Scanner 110 läuft
in einer unendlichen Schleife und prüft auf Ereignisse. Wenn ein
Ereignis gesendet wird, führt
der E/A-Scanner 110 die
entsprechende Funktion aus. Die Ereignisflagkommunikation innerhalb
des PSOS RTOS stellt nicht die volle Funktionalität des Mitteilungswarteschlangen-Kommunikationsverfahrens
bereit, sondern erfordert viel weniger Systemressourcen. Ereignisflags
brauchen bei diesem Beispiel nicht in Warteschlange gegeben zu werden.
-
Der
E/A-Scanner 110 verwendet die Dienste einer Clientaufgabe 160,
um das E/A-Scannen zu implementieren. Der Clientabschnitt oder die
Aufgabe 160 ist der Abschnitt des NOE 100, das
die „Client"-Aufgaben handhabt.
Der Benutzer kann zum Beispiel ein Steuerprogramm für den PLC 50 schreiben,
das als Teil des Betriebs des Programms auf dem PLC [ ], der PLC
sendet/empfängt
eine Modbus-Mitteilung zu/von der Rückwand 70, und diese
Typen von Mitteilungen werden von der Clientaufgabe 160 zu/von
dem TCP/IP-Stapel 142 und Ethernet-Treiber 144 gehandhabt.
Parameter werden verwendet, um Pointer für die Anschlussliste und Anschlussanordnungen
durchzugeben.
-
Unter
Bezugnahme auf die oben genannte Tabelle für den Übergang auf den nächsten Zustand
und 3 ist kein Verarbeiten während des Zustands IOScanEmpty
erforderlich. Der Rückwandtreiber
initialisiert die E/A-Abtasttabelle 120 über existierende
oder angelegte Konfigurationsdaten, die sich anderswo befinden, wie
hier beschrieben wurde. Während
des Zustands IOScanNewCfg deaktiviert der E/A-Scanner-Interrupts und testet,
um festzustellen, ob der Zustand immer noch IOScanNewCfg ist. Wenn
der Zustand IOScanNewCfg ist, ändert
die Aufgabe des E/A-Scanner 110 den E/A-Abtaststatus auf
IOScanReadCfg und reaktiviert die Interrupts. Der E/A-Scanner 110 führt auch
das notwendige Organisieren aus, um zuvor verwendete offene Anschlüsse zu entfernen.
Wenn das Testen auf IOScanNewCfg scheitert, reaktiviert der E/A-Scanner 110 die
Interrupts und verlässt
wieder. Der E/A-Scanner 110 kopiert
die E/A-Abtastdatenstruktur zu seiner eigenen lokalen Variablen,
um sicherzustellen, dass es kein Konkurrenzproblem mit dem Rückwand-Treiber
gibt, der versucht, gleichzeitig auf Daten zuzugreifen.
-
Ein
weiterer Aspekt der vorliegenden Erfindung umfasst einen „Partner"-Bestimmungsabschnitt,
der unter anderem implementiert wurde, um die Vielfalt der Steuersysteme
zu berücksichtigen.
Wie unten genauer beschrieben, enthält eine spezielle Ausführungsform
der vorliegenden Erfindung den Einsatz von zwei Bestimmungen, um
zu bestimmen, ob ein Gerät
(in der Abtastliste) ein Partner ist: (1) Versteht das Gerät den Modbus-Lese-/Registerbefehl
(Funktionscode 23)? und (2) Entspricht die Information
in der Abtasttabelle 120 der Kommunikation, die das dezentrale
Gerät zu
diesem Knoten richtet? Wenn diese zwei Bedingungen erfüllt sind,
wird das Gerät
als ein Partnergerät
bestimmt.
-
Unter
Bezugnahme auf 4 angesichts der 1 bis 3,
ist die vorliegende Erfindung im Allgemeinen ein Verfahren zum Identifizieren
eines zweiten Geräts 210 auf
einem zweiten Knoten eines Standardkommunikationsnetzwerks 10.
Das erste Verfahren löst
von dem ersten Knoten einen ersten Kommunikationsbefehl in einem
Partnerprotokollformat zu dem zweiten Knoten aus. Das Verfahren
antwortet dann auf den ersten Kommunikationsbefehl von dem zweiten
Knoten zu dem ersten Knoten. Das Verfahren löst dann von dem zweiten Knoten
einen zweiten Kommunikationsbefehl in dem Partnerprotokollformat
zu dem ersten Knoten aus. Das Verfahren antwortet dann auf den zweiten
Kommunikationsbefehl von dem ersten Knoten zu dem zweiten Knoten.
Das Verfahren identifiziert dann das zweite Gerät auf dem zweiten Knoten als
ein Partnergerät innerhalb
des ersten Geräts
auf dem ersten Knoten, und das Verfahren identifiziert das erste
Gerät auf
dem ersten Knoten als ein Partnergerät innerhalb des zweiten Geräts auf dem
zweiten Knoten. Das Verfahren setzt dann den ersten Knoten auf einen
aktiven Zustand und setzt den zweiten Knoten auf einen passiven
Zustand. Bei einer Ausführungsform
kann das Partnerprotokollformat ein programmierbares Logikcontroller
(PLC)-Format sein, das Partnergerät kann ein program mierbares
Logikcontroller-(PLC)-Gerät
sein, das Partnerprotokollformat kann Modbus sein, und das Standardkommunikationsnetzwerk
kann Ethernet sein.
-
Die
vorliegende Erfindung ist auch ein Gerätscanner 110 für ein erstes
Gerät 200,
das sich auf einem ersten Knoten eines Standardkommunikationsnetzwerks 10 befindet,
zum Abtasten von Geräten
auf dem Standardkommunikationswerk 10 und zum Identifizieren
eines zweiten Geräts 210 auf
einem zweiten Knoten des Standardkommunikationsnetzwerks 10.
Der Gerätscanner 110 hat
einen Auslöser
zum Auslösen
eines ersten Kommunikationsbefehls in einem Partnerprotokollformat
zu dem zweiten Knoten, einen Empfänger zum Empfangen von dem
zweiten Knoten eines zweiten Kommunikationsbefehls in dem Partnerprotokollformat
als Antwort auf den ersten Kommunikationsbefehl, und einen Identifikator
zum Identifizieren des zweiten Geräts 210 auf dem zweiten
Knoten als ein Partnergerät.
Der Gerätscanner 110 kann
die Abtasttabelle 120 vorausgegangener Ausführungsformen
haben, in den Gerätscanner 110 eingebaut
oder als getrennter Abschnitt des Systems zum Speichern von Parametern
in Zusammenhang mit den Geräten.
Wie bei vorausgehenden Ausführungsformen
verwendet der Scanner 110 einen oder mehrere der Parameter
zum Scannen der Geräte.
-
Bei
einer spezifischen Ausführungsform,
wenn die Kommunikation von einem Gerät, das sich in der Abtasttabelle 120 befindet,
ausgelöst
wurde, das heißt
ein Gerät,
mit dem dieses NOE 100 ebenfalls zum Kommunizieren konfiguriert
wurde, wird der Partnerbestimmungstest ausgeführt. Wie oben erwähnt, weist
das Partnerbestimmen mindestens die folgenden Aspekte auf: 1) Versteht
das dezentrale Gerät
den Lese-/Schreibregisterbefehl?
2) Entspricht die Kommunikation von dem dezentralen Gerät den Merkmalen
dieser Abtasttabelle 120? Das heißt, entspricht die geschriebene
Länge der
gelesenen Länge
in der Abtasttabelle und entspricht die gelesene Länge der
Schreiblänge
in der Abtasttabelle 120? Wenn (1) und (2) erfüllt sind,
wird das Gerät
als ein „Partner" geflaggt. Es gibt
zwei Partnertypen: aktiver Partner und passiver Partner. Der aktive Partner über2nimmt die Aufgabe des Auslösens des
Scannens, während
der passive Partner nur den guten Zustand des aktiven Partners überwacht.
-
Insbesondere
bestimmt der E/A-Scanner 110 als Teil seines Betriebs während des
Initialisierens, ob ein E/A-Gerät,
das in der E/A-Abtasttabelle 120 aufgelistet ist, ein Partnergerät ist, das
aktiv Übertra gungen auslöst, oder
ein einfaches Slavegerät,
in welchem Fall der E/A-Scanner MB-Lesen oder -Schreiben herausgeben
muss, um Daten zu holen oder zu empfangen. Um den Partnerzustand
zu bestimmen, gibt der E/A-Scanner 110 eine MB-Lese-/Schreibanfrage
(das heißt
FC 23) zu dem E/A-Gerät
aus. Antwortet das E/A-Gerät
mit einer Ausnahme, die anzeigt, dass es die Lese-/Schreibanforderung
nicht unterstützt,
wird das E/A-Gerät
als einfaches Gerät
angenommen, und der E/A-Scanner 110 muss daher alle Anforderungen
für Eingangsdaten
auslösen.
Wenn das Gerät
positiv antwortet, ist es ein Partner oder auch nicht. Das nächste qualifizierende
Ereignis, um ein E/A-Gerät
als einen Partner zu erklären,
ist die Ankunft einer Lese-/Schreibanforderung von dem Partner-E/A-Gerät. Wenn
die Lese-/Schreibanfrage empfangen wird und die Eingangs- und die
Ausgangslänge
der Konfiguration in der Abtasttabelle 120 dieses E/A-Scanners
entsprechen, wird das Gerät
als ein Partner erklärt.
-
Wie
oben kurz erwähnt,
wenn ein Gerät
als ein Partner erklärt
wird, werden die E/A-Geräte-IP-Adressen
verwendet, um zu entscheiden, welches E/A-Gerät das „aktive" ist, und welches E/A-Gerät das „passive" ist. Vereinbarungsgemäß wird in
dem E/A-Abtastvorgang das E/A-Gerät mit der
niedrigeren IP-Adresse aktiv (niedriger = aktiv) und das Gerät mit der
höheren
IP-Adresse wird passiv (höher
= passiv). Das aktive Gerät löst das Lesen,
Schreiben oder die Lese-/Schreibanfrage
zu dem passiven E/A-Gerät
aus. Das passive E/A-Gerät
akzeptiert/stellt Daten als Antwort auf die Anfrage des aktiven
E/A-Geräts bereit. 4 zeigt
die Zeitabfolge für
die Partnerbestimmung:
- T0 – Knoten Nr. 1 löst ein Lese-/Schreib-MSTR
zu Knoten Nr. 2 aus.
- T1 – Knoten
Nr. 2 antwortet auf die Anfrage des Knotens Nr. 1.
- T2 – Knoten
Nr. 2 löst
ein Lese-/Schreib-MSTR zum Knoten Nr. 1 aus.
- T3 – Knoten
Nr. 1 antwortet auf die Anfrage des Knotens Nr. 2.
- T4 – Knoten
Nr. 1 erklärt
Knoten Nr. 2 als einen Partner.
- Knoten Nr. 2 erklärt
dann Knoten Nr. 1 als einen Partner.
- Knoten Nr. 1 wird dann aktiv und Knoten Nr. 2 wird ein passiver
Partner.
-
Unten
wird zusätzliches
Detail einer Ausführungsform
des Scanners
110 und der Abtasttabelle
120 der vorliegenden
Erfindung bereitgestellt. Die E/A-Abtasttabelle
120 erlaubt
maximal
128 Eingangsgeräte
und ein Maximum von
128 Ausgangsgeräten. Die E/A-Abtasttabelle
erlaubt das Senden von maximal
100 Datenwörtern zu
oder von einem Gerät
in der E/A-Abtasttabelle
120. Das Format der E/A-Abtasttabelle
120 ist
das folgende:
-
Während des
Zustands IOScanReadCfg, initialisiert der E/A-Scanner 110 die
Verbindung und Übertragungsanordnungen,
geht dann über
auf den Zustand IOScanRunning. Während
des Zustands IOScannRunning gibt der E/A-Scanner Schreib-/Leseregister
(FC 23) an E/A-Geräte
in der gleichen Abtasttabelle 120 aus, die sowohl Eingänge als
auch Ausgänge,
write4x-Register haben, und read4x-Registerbefehle zu E/A-Geräten der
Abtasttabelle 120. Die Daten, die von den write4x-Antworten
zurückkommen,
werden zu dem Rückwandtreiber
gesendet, um den Controllerspeicher zu aktualisieren.
-
Unten
wird das aktive Verarbeiten des Partners einer der Ausführungsformen
der vorliegenden Erfindung genauer beschrieben. In dem E/A-Partner-Fall wird
der ursprüngliche
FC 23 von dem Partner der Partnerbestimmung von dem Server
auf der Serveraufgabe 190 empfangen sowie FC 23 von
aktiven Partnergeräten.
Der Server 190 bestimmt, ob das Gerät in Zusammenhang mit einem
eintreffenden FC 23 in der E/A-Abtasttabelle 120 des E/A-Scanners
befindet. Ist das der Fall, übernimmt
der Server die Steuerung der E/A-Abtasttabelle 120, indem
er die E/A-Abtasttabelle als Semaphor verwendet. Sobald der Server 190 die
Kontroller der E/A-Abtasttabelle 120 hat, bestimmt er,
ob das Gerät,
das mit dem eintreffenden FC 23 verbunden ist, bereits
als ein Partner geflaggt oder als ein Sklave aufgelistet ist.
-
Wenn
das Gerät
in der E/A-Abtasttabelle als Sklave aufgelistet ist, gehört dieser
FC 23 zur Partnerbestimmung. Der Server 190 sendet
dann IOSCAN_PEER_DETERMINATION_EVENT zu dem E/A-Scanner 110.
Beim Empfang des IOSCAN_PEER_DETERMINATION_EVENT aktualisiert der
E/A-Scanner 110 den Zustand des Geräts je nach IP-Adresse entweder
auf aktiver Partner oder passiver Partner. Ist das Gerät als aktiver
Partner aufgelistet, entspricht dieser FC 23 den E/A-Abtastdaten
in Zusammenhang mit diesem Partner. Der Server 190 übernimmt
die Kontrolle der E/A-Abtasttabelle 120, indem er den Semaphor
beansprucht. Der Server 190 schreibt die neuen Daten in
die E/A-Abtasttabelle 120 und aktualisiert den Flag NewInputDataAvailable.
Der Server 190 gibt dann den Semaphor der E/A-Abtasttabelle 120 frei.
Ist die ausgegebene Datenlänge
nicht gleich Null, übernimmt
der Server 190 die Kontrolle der E/A-Abtasttabelle und
schreibt die Ausgangsdaten in die Antwort auf den FC 23 zu
dem Partner. Die E/A-Abtasttabelle 120 kann in eine oder mehrere
Gruppen gegliedert werden, so dass der Server 190 und/oder
der Scanner 110 die Kontrolle über eine oder mehrere Gruppen übernehmen
können
und das Zugreifen auf die anderen Gruppen durch die andere Aufgabe
erlauben. Bei passivem Partner wird die Antwort auf den Partnerdatenaustausch
direkt von dem E/A-Scanner 110 empfangen und gleich behandelt
wie der Sklavenfall.
-
Unten
wird die Eingangsgerät-Abtastoperation
einer Ausführungsform
der vorliegenden Erfindung genauer beschrieben. Während sich
der E/A-Scanner 110 in
dem Zustand IOScanRunning befindet, sendet der BP-Treiber ein Ereignis
zu dem E/A-Scanner 110 bei jedem End of Scan (EOS = Abtastende).
Das Übertragen der
Anfrage nach Daten für
jeden Eintrag in die Abtasttabelle erfolgt durch das EOS. Der E/A-Scanner 110 sendet
einen FC 24 oder FC3 für
jeden Slaveeingang und Partner aktiv-Eingang in der Abtasttabelle 120,
wenn das Gerät
auf die vorhergehende Anfrage um Daten geantwortet hat. Der E/A-Scanner 110 löscht den
Flag E/A-Daten empfangen für
jede Anfrage, die gesendet wird. Die Eingangsdaten, die als ein
Ergebnis des FC 23- oder FC 3- Befehls, die übertragen wurden, empfangen
werden bewirken das Auslösen
eines IOSCAN_TCIP_EVENT. Dieses Ereignis wird von der Funktion TCPSignalHandler
erzeugt. Das IOSCAN_TCIP_EVENT wird gehandhabt von dem E/A-Scanner 110,
indem bestimmt wird, über
welche Verbindung die Antwort empfangen wurde, und indem der Flag
E/A-Daten empfangen für
dieses Gerät
gesetzt wird. Der Health-Timer wird zurückgestellt, und das Health-Bit
wird für
das Gerät
gesetzt.
-
Unten
wird die Ausgangsgerät-Abtastoperation
einer Ausführungsform
der vorliegenden Erfindung genauer beschrieben. Nach der Eingangsgerät-Abtastoperation
werden die Ausgangsgeräte
abgetastet. Die Ausgangsdaten werden zu jedem Slaveausgang gesendet,
und Partner aktiv wird in der Abtastliste ausgegeben, wenn das Gerät die vorausgehenden
Ausgangsdaten bestätigt
hat. Wenn ein Gerät
auf der Ausgangsabtastliste den Empfang der Ausgangsdaten bestätigt, wird
der Health-Timer für
dieses Gerät
zurückgesetzt
und das Health-Bit wird gesetzt. Um die Konsistenz für alle ausgegebenen
Daten, die bei jedem Scannen gesendet werden, beizubehalten, werden
die Ausgangsdaten von dem E/A-Scanner 110 doppelt
zwischengespeichert, bevor die Ausgabe der Daten für jedes
Abtasten gestartet wird. Wenn der BP-Treiber daher einen Teil der
Ausgangsdaten aktualisiert hat, während sich der E/A-Scanner 110 mitten
in einer Übertragung
befand, wird der aktuelle Satz der gerade ausgegebenen Daten nicht
beeinträchtigt.
-
Unten
wird die E/A-Gerät-Health-Informationsoperation
einer Ausführungsform
der vorliegenden Erfindung genauer beschrieben. Der Health-Timer für jedes
Gerät wird
ursprünglich
auf den Health-Timeoutwert in der E/A-Abtasttabelle 120 gesetzt.
Die Echtzeitbetriebssystem(*-Timerfunktionalität 150 wird
verwendet, um die Health-Timer für
jedes Gerät
in der E/A-Abtasttabelle 120 aufrechtzuerhalten. Der RTOS-150-Systemtimer wird
konfiguriert, um ein Ereignis zu dem E/A-Scanner 110 alle
16,67 ms zu erzeugen. Das wird über
den Funktionsabruf tm_evevery (lange Ticks ohne Vorzeichen, lange
Ereignisse ohne Vorzeichen, langes *tmid ohne Vorzeichen)(siehe
PSOS-Dokumentation für
mehr Details) verwirklicht. Das konfiguriert einen Timer, der sich automatisch
nachlädt.
Jedes Mal, wenn der Timer abläuft,
wird von dem E/A-Scanner 110 ein Ereignis erzeugt, das
anzeigt, dass die Health-Timer dekrementiert werden müssen. Nach
dem Aktualisieren wird jedes Gerät, dessen
Health-Timer abgelaufen ist, als schlecht geflaggt, indem das Health-Bit
für das
Gerät zurückgesetzt wird.
Jedes Mal, wenn Daten von einem Eingangsgerät empfangen oder eine Bestätigung von
einem Ausgangsgerät
empfangen wird, wird dieser Health-Timer für das Gerät auf den ursprünglichen
Health-Timeout-Wert gesetzt. Um die E/A-Gerät-Health-Information mit dem
aktuellen MSTR zu verwenden, um den Zustand des „Partner-Cop" zu holen, wird eine
128-Bit-Anordnung verwendet, um Health-Information für 128 Geräte bereitzustellen.
Anderenfalls wird der Zustand von den ersten 64 Geräten bereitgestellt.
Die E/A-Abtasttabelle wird nach aufsteigenden IP-Adressen sortiert.
Jedes Bit in den 128-Bit-Anordnungen zeigt den Zustand eines der
E/A-Geräte
an. Der E/A-Scanner 110 kann 1000 Transaktionen pro Sekunde
abwickeln.
-
Unten
wird zusätzliche
Information über
die Beziehung zwischen dem E/A-Scanner 110, dem Server 190 und
dem Rückwandtreiber 180 gegeben.
Bei einer Ausführungsform
der vorliegenden Erfindung werden drei Bauteile verwendet, um das
E/A-Scannen auszuführen:
der Rückwandtreiber 180,
der Server 190 und der E/A-Scanner 110. Eine Doppelpufferspeicher-Abtasttabelle
und eine Doppelpufferspeicher-Ausgangstabelle werden verwendet.
Die Doppelspeicher-Ausgangstabelle wird für ausgehende Schreibanfragen
verwendet. Eine Eingangstabelle wird ferner für ausgehende Leseanfragen verwendet.
Ferner wird eine Health-Anordnung verwendet. Wenn sich die Konfiguration ändert, kopiert
der Rückwandtreiber 190 die
Konfiguration von dem PLC 50 in eine Konfigurationstabelle,
während
die Client- und Serveraufgaben eine andere Konfigurationstabelle
verwenden. Wenn der Rückwandtreiber 190 mit
dem Kopieren der Konfiguration fertig ist, meldet er die Aufgabe
des Client E/A-Scanner 110, indem er den Ereignisflag setzt.
Die Clientaufgabe 160 tauscht dann die Tabellen aus, und
die neue Tabelle wird auch von dem Server 190 verwendet.
Es ist die Clientaufgabe 160, die bestimmt, welche Tabellen
(Konfiguration und Ausgang) von dem Server und dem Rückwandtreiber 180 verwendet
werden. Sie tut dies mit einer Variablen für die Konfigurationstabelle
und einer anderen Variablen für
die Ausgangstabelle. Der Server 190 und der Rückwandtreiber 180 lesen
die entsprechende Variable und bestimmen die zu verwendende Tabelle,
und die Clientaufgabe 160 setzt die entsprechende Variable.
Der Server 190 prüft,
ob die Lese-, Schreib- oder Lese-Schreib-Anfragen des dezentralen Knotens einen
entsprechenden Eintrag in der Abtasttabelle 120 haben.
Ist das nicht der Fall, wird die Anfrage normal verarbeitet, indem
die Anfrage zu dem Rückwandtreiber 180 gegeben
wird. Besteht ein entsprechender Eintrag, verarbeitet der Server 190 ihn
unter Verwenden der Eingangs- und Ausgangstabelle. Um an Bandbreite
zu sparen, vergleicht der Server 190 seine IP-Adresse mit
dem dezentralen Knoten. Ist seine IP-Adresse größer als der dezentrale Knoten,
geht er auf passiven Modus über
und ändert
den Zustand in der Abtasttabelle 120. Später, wenn
die Clientaufgabe 160 feststellt, dass sie in einem passiven
Zustand ist, sendet sie keine Modbus-Anfragen zu dem dezentralen
Knoten mehr. Daher wird Bandbreite durch Senden von weniger Mitteilungen
gespart.
-
Unter
Bezugnahme auf die Ausführungsform
in den 1 und 2 handhabt der E/A-Scanner 110 die
zyklische Kommunikation, der Server 190 kommuniziert direkt
mit einem Doppelschnittstellen-RAM und einem ASIC, der direkt mit
einem Bus verbunden ist, der über
die Rückwand 70 läuft, die
wiederum mit dem PLC 50 verbunden ist. Der Rückwandtreiber 180 handhabt
Kommunikation zu/von dem Controller. Wie oben besprochen, hat der
PLC 50 Konfigurationstabellen, die zumindest die Anzahl
von Geräten,
die abzutasten sind, speichert, ob ein Gerät ein Eingangs- und Ausgangs-
oder ein Eingangs-Ausgangsgerät
ist. Ist das Gerät
ein Eingangsgerät,
speichert die Tabelle, wo die Daten in dem Speicher des Controllers
zu speichern sind. Ist das Gerät
ein Ausgang, speichert die Tabelle, wo die Daten in dem Speicher
zu holen sind. Ist das Gerät
sowohl ein Eingangs- als auch ein Ausgangsgerät. speichert die Tabelle beides.
Die Konfigurationstabelle speichert auch die Länge (in Bytes) der Eingangs-
und Ausgangsdaten. Wie oben detailliert beschrieben, enthält die Konfigurationstabelle
ferner einen Health-Timeoutparameter für jedes Gerät. Wenn auf ein Lesen/Schreiben zu
einem E/A-Gerät
innerhalb der Zeitspanne des Timeoutparameters keine Antwort erfolgt,
kann das Gerät in
dem NOE 100 als "defekt" geflaggt werden.
Das NOE 100 überwacht
den dynamischen Health-Zustand.
-
Bei
dieser Ausführungsform
wird die Konfigurationstabelle von dem NOE 100 abgetastet,
und dann funktioniert das NOE gemäß diesen Parametern. Der Controller
(PLC) 50, 52 läuft
zyklisch und handhabt das Aktualisieren der Eingänge und Ausgänge einmal
pro Abtasten. Am Ende jedes Abtastens gibt der Controller eine Angabe
zu dem NOE 100, dass der Controller am Ende eines Abtastens
ist, und dass NOE 100 legt eine Momentaufnahme aller verfügbaren Ausgänge an und
kopiert die Ausgänge
in seinen lokalen Speicher. Dann erzeugt das NOE 100 Mitteilungen,
um alle der Ausgangsgeräte,
die sich in der E/A-Abtasttabelle befinden, zu aktualisieren. Das
NOE 100 nimmt auch die aktuellen Werte für alle Eingangsgeräte (nach
dem Senden von Lesemitteilungen für alle Eingangsgeräte), und
das NOE 100 aktualisiert den Controller 50 mit
allen neuen Eingangsdaten.
-
In 2 besteht
eine Angabe einer „semaphorgesteuerten" E/A-Abtasttabelle 120.
Dieser Begriff wurde oben kurz erwähnt. Die Abtasttabelle muss
sowohl für
den E/A-Scanner 110 als auch für den Server 190 verfügbar sein,
weil der Server 190 mit einem Partnergerät, das Mitteilungen
erzeugt, reden können
muss. Diese Mitteilungen gehen zuerst zu dem Server 190 (bevor
sie zu dem E/A-Scanner 110 gehen). Im Allgemeinen empfängt der
Server 190 Anfragen auf der Modbus-Schnittstelle 502 von
anderen Controllern 50, 52 und NOEs 100.
Beim Fortsetzen und um zu vermeiden, dass sowohl der Server 190 als
auch der E/A-Scanner 110 gleichzeitig auf die E/A-Abtasttabelle 120 zugreifen,
wird ein Steuermechanismus bereitgestellt, um das „Eigentum" der Tabelle jederzeit
entweder durch den E/A-Scanner 110 oder den Server 190 zu
steuern. Erfolgt das nicht, können
sich Probleme mit der Konsistenz der Daten und ihrem Gebrauch ergeben.
-
Die
Clientaufgabe 160 ist ein Abschnitt des NOE 100,
das die „Client"-Aufgaben handhabt.
Wie oben beschrieben, erzeugen die Benutzer von Controllern Programme,
die auf Controllern laufen. Die Programme können geschrieben werden, um
Modbus-Mitteilungen über
TCP zu senden. Der Controller 50, 52 sendet eine Mitteilung
zu der Rückwand 70 (Typ
der Mitteilung wird von der Clientaufgabe 160 gehandhabt),
und die Clientaufgabe 160 sendet die Meldung zu dem TCP/IP über das
Ethernet-Netzwerk. Dann kommt eine Mitteilung von dem TCP/IP über das
Ethernetnetzwerk zurück,
die Clientaufgabe 160 handhabt die Rücksendemitteilung und sendet
sie für
den Gebrauch durch das Programm, das auf dem Controller 50, 52 läuft, zu
dem Controller 50, 52. Die Clientverbindungsfunktionsbibliothek 128 ist
eine Bibliothek von Funktionen, die verwendet werden, um Mitteilungen
zu/von dem Format auf der Rückwand 70,
die von dem Rückwandtreiber 180 gehandhabt wird,
zu formatieren und deformatieren, sowie das Format des TCP/IP-Stapels 142,
darunter das Handhaben des Modbus-Formats.
-
Ein
detailliertes Flussdiagramm einer Ausführungsform des E/A-Scanners 110 der
vorliegenden Erfindung ist in 5A bis 5G gezeigt,
wie der Fachmann versteht. Diese Ausführungsform braucht kein RTOS 150 für ihren
Betrieb zu verwenden und enthält
daher einige zusätzli che
Hilfsprogramme zum Handhaben. Das Programm dieses detaillierten
Flussdiagramms kann in einen Flash-Programm-Firmware-Speicher auf
dem NOE geladen werden.
-
Obwohl
spezifische Ausführungsformen
veranschaulicht und beschrieben wurden, kann man sich zahlreiche Änderungen
vorstellen, die nur durch den Geltungsbereich der anliegenden Ansprüche beschränkt sind.