-
ALLGEMEINER STAND DER TECHNIK
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Slave-Vorrichtung, und betrifft insbesondere eine Slave-Vorrichtung, die das Informationsübertragungstiming bei einer Master-Slave-Kommunikation bestimmt.
-
Beschreibung des Stands der Technik
-
Mit der Popularisierung der Internet-der-Dinge(loT)-Technologie verbreitet sich das Sammeln von durch Sensoren erlangten Informationen und internen Informationen durch Netzwerke zunehmend. In Netzwerken in Fabriken wird im Allgemeinen verbreitet ein Verfahren verwendet, bei dem eine Master-Vorrichtung (CNC oder PC) Daten sammelt, indem sie Slave-Vorrichtungen (wie etwa Sensoren) periodisch auffordert, Daten auszulesen.
-
Die meisten Standards für die Master-Slave-Kommunikation, die zwischen einer Master-Vorrichtung und einer Slave-Vorrichtung durchgeführt wird, unterstützen im Allgemeinen beides aus einem Lesevorgang und einem Schreibvorgang durch die Master-Vorrichtung in Bezug auf die Slave-Vorrichtung. Beim tatsächlichen Betrieb führen jedoch manche Vorrichtungen (wie etwa E/A-Vorrichtungen) sowohl Lese- als auch Schreibvorgänge durch, doch gibt es viele Fälle, in denen eine Slave-Vorrichtung (wie etwa ein Sensor oder ein Zähler) annimmt, dass eine Master-Vorrichtung Einweg-Datenlesevorgänge durchführt, oder in denen eine Master-Vorrichtung nur Datenausleseanforderungen zur Datensammlung sendet (wie etwa ein Betriebsmanagementsystem).
-
Bei einer solchen Master-Slave-Kommunikation hängt dann, wenn eine Master-Vorrichtung periodisch Daten von einer Slave-Vorrichtung sammelt, der Höchstwert der Zeit (Informationsübertragungszeit), die nach dem Auftreten einer Veränderung bei den Daten, die die Slave-Vorrichtung besitzt, vergeht, bis die Master-Vorrichtung von der Änderung erfährt, wie in 4 gezeigt von dem Zeitintervall (dem Abfrageintervall), mit dem die Master-Vorrichtung eine Datenanforderung an die Slave-Vorrichtung sendet, ab. Entsprechend muss die Master-Vorrichtung das Zeitintervall der an die Slave-Vorrichtung gesendeten Datenanforderungen verkürzen, um die Informationsübertragungszeit zu verkürzen.
-
Als herkömmliche Technik im Zusammenhang mit der Master-Slave-Kommunikation offenbart zum Beispiel die
JP H07-147 582 A die folgende Technik: eine Slave-Vorrichtung verfügt intern über eine Markierung zur Angabe, dass sich Daten verändert haben; die Slave-Vorrichtung sendet als Antwort normalerweise nur die Markierung; und wenn die Antwort eine Markierung enthält, die eine Datenveränderung angibt, fordert eine Master-Vorrichtung zusätzlich deren Einzelheiten an, wodurch die Menge an Kommunikation unter normalen Bedingungen verringert wird.
-
Bei der Master-Slave-Kommunikation ist eine mögliche Weise, um eine Master-Vorrichtung dazu zu bringen, rasch auf eine Veränderung bei Daten in einer Slave-Vorrichtung zu reagieren, beispielsweise wie in 5 gezeigt eine Verringerung des oben beschriebenen Höchstwerts der Informationsübertragungszeit, indem das Zeitintervall (das Abfrageintervall), mit dem die Master-Vorrichtung eine Datenanforderung an die Slave-Vorrichtung sendet, verkürzt wird. Doch in einem solchen Fall nimmt die Häufigkeit der Anforderungen und Antworten, die zwischen der Master-Vorrichtung und der Slave-Vorrichtung gesendet werden, zu, was die Menge an Kommunikation, die auf dem Kommunikationskanal läuft, erhöht. Dies bedeutet, dass auch dann, wenn sich die Daten in der Slave-Vorrichtung nicht verändert haben, die gleiche große Menge an Daten auf dem Kommunikationskanal läuft. Als Ergebnis verursacht sowohl die Master-Vorrichtung als auch die Slave-Vorrichtung eine Zunahme der CPU-Belastung und der Netzwerkbelastung des gesamten Systems.
-
Bei der oben genannten herkömmlichen Technik, die in der
JP H07-147 582 A offenbart ist, erfolgt die Datenübertragung normalerweise nur unter Verwendung einer Markierung, und werden tatsächliche Daten nur übertragen, wenn sich die Markierung geändert hat, wodurch die Anzahl der Datenübertragungen und die Menge an Kommunikation verringert wird. Doch wenn die Häufigkeit von Datenaktualisierungen zunimmt, kommt es dazu, dass häufig sowohl die Markierung als auch Daten gesendet werden, und wird die Menge an Kommunikation um ein Ausmaß, das der Markierungsübertragung entspricht, größer als bei der herkömmlichen Übertragung. Daher kann den oben beschriebenen Problemen nicht ausreichend entsprochen werden.
-
Weitere beispielhafte Techniken, die zum besseren Verständlins der Erfindung dienen können, sind den Dokumenten
US 4 167 730 A ,
JP 2004-80 187 A und
JP S61- 117 941 A zu entnehmen.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Entsprechend ist es eine Aufgabe der vorliegenden Erfindung, eine Slave-Vorrichtung bereitzustellen, die die Netzwerkverarbeitungsbelastung und die Menge an Kommunikationsdaten in einer Master-Slave-Kommunikation verringern kann, wenn eine Master-Vorrichtung periodisch Daten von der Slave-Vorrichtung verlangt.
-
Bei der vorliegenden Erfindung steuert eine Slave-Vorrichtung das Timing zum Senden einer Antwort auf eine Datenausleseanforderung von einer Master-Vorrichtung gemäß dem Zustand der Daten im Besitz der Slave-Vorrichtung selbst, wodurch die oben beschriebenen Probleme gelöst werden. Bei der vorliegenden Erfindung ist die Slave-Vorrichtung so ausgebildet, dass sie in der Lage ist, zu bestimmen, ob sich die gegenwärtigen Daten nach der vorhergehenden Datenübertragung von der Slave-Vorrichtung zu der Master-Vorrichtung verändert haben. Und wenn eine Datenausleseanforderung von der Master-Vorrichtung an die Slave-Vorrichtung gesendet wird, sendet die Slave-Vorrichtung nur dann eine Antwort, wenn sich Daten verändert haben, oder wenn eine vorab festgelegte Aufschubzeit abgelaufen ist.
-
Eine Slave-Vorrichtung nach der vorliegenden Erfindung führt eine Master-Slave-Kommunikation mit einer Master-Vorrichtung durch und sendet als Reaktion auf eine von der Master-Vorrichtung gesendete Datenanforderung durch die Datenanforderung angeforderte Daten als Antwort. Die Slave-Vorrichtung weist einen Datenabschnitt, um Daten zu speichern; einen Funktionsbetriebsabschnitt, um Daten, die in dem Datenabschnitt gespeichert sind, zu aktualisieren; einen Datenaktualisierungsverwaltungsabschnitt, um eine Aktualisierung der in dem Datenabschnitt gespeicherten Daten zu verwalten; und einen Befehlsanalyseabschnitt, der dazu ausgebildet ist, einen Betriebsmodus der Slave-Vorrichtung zu ändern, wenn eine Datenanforderung von der Master-Vorrichtung gesendet wurde, wobei der Betriebsmodus umfasst zu bestimmen, ob ein durch die Datenanforderung angeforderter Datenpunkt unter den in dem Datenabschnitt gespeicherten Daten seit der vorhergehenden Übertragung des Datenpunkts aktualisiert wurde, den aktualisierten Datenpunkt als Antwort auf die Datenanforderung zu senden, wenn bestimmt wird, dass der Datenpunkt seit der vorhergehenden Übertragung aktualisiert wurde, und eine Antwort auf die Datenanforderung aufzuschieben, wenn bestimmt wird, dass der Datenpunkt seit der vorhergehenden Übertragung nicht aktualisiert wurde;wobei
der Befehlsanalyseabschnitt die Funktion hat, den Betriebsmodus gemäß einem Betriebsstatus umzuschalten, und
der Befehlsanalyseabschnitt konfiguriert ist, um in Übereinstimmung mit dem Betriebsmodus zu bestimmen oder nicht zu bestimmen, ob ein durch die Datenanforderung angeforderter Datenpunkt unter den in dem Datenabschnitt gespeicherten Daten seit der vorhergehenden Übertragung des Datenelements aktualisiert wurde,
wobei der Befehlsanalyseabschnitt dazu ausgebildet ist:
- die Antwort auf die Datenanforderung auszusetzen und zu überwachen ob die Datenpunkte, die in dem Datenabschnitt gespeichert sind aktualisiert werden,
- in Reaktion darauf, dass die in dem Datenabschnitt gespeicherten Datenpunkte innerhalb einer vorbestimmten Zeitperiode aktualisiert werden nachdem die Datenanforderung von der Master-Vorrichtung gesendet wurde, die aktualisierten Datenpunkte die in dem Datenabschnitt gespeichert sind zu lesen, und als Antwort auf die Datenanforderung die aktualisierten Datenpunkte zu der Master-Vorrichtung zu versenden, und
- in Reaktion darauf, dass die in dem Datenabschnitt gespeicherten Datenpunkte nicht innerhalb der vorbestimmten Zeitperiode aktualisiert werden nachdem die Datenanforderung von der Master-Vorrichtung gesendet wurde, als Antwort auf die Datenanforderung die nicht aktualisierten Datenpunkte zu der Master-Vorrichtung zu versenden.
-
Der Datenaktualisierungsverwaltungsabschnitt kann so ausgebildet sein, dass er eine Datenaktualisierungsmarkierung speichert, die auf EIN gesetzt wird, wenn in dem Datenabschnitt gespeicherte Daten aktualisiert werden, und der Befehlsanalyseabschnitt kann so ausgebildet sein, dass er bestimmt, dass der Datenpunkt seit der vorhergehenden Übertragung aktualisiert wurde, wenn die Datenaktualisierungsmarkierung, die einem in dem Datenabschnitt gespeicherten Datenpunkt entspricht, EIN ist.
-
Der Datenaktualisierungsverwaltungsabschnitt kann so ausgebildet sein, dass er einen Datenwert, den ein in dem Datenabschnitt gespeicherter Datenpunkt bei der vorhergehenden Übertragung aufwies, als gesendete Daten speichert, und der Befehlsanalyseabschnitt kann so ausgebildet sein, dass er bestimmt, dass ein Datenpunkt seit der vorhergehenden Übertragung aktualisiert wurde, wenn sich der in dem Datenabschnitt gespeicherte Datenpunkt von den diesem Datenpunkt entsprechenden gesendeten Daten unterscheidet.
-
Der Befehlsanalyseabschnitt kann so ausgebildet sein, dass er gemäß einem Betriebsmodus bestimmt, ob ein durch die Datenanforderung angeforderter Datenpunkt unter den in dem Datenabschnitt gespeicherten Daten seit der vorhergehenden Übertragung des Datenpunkts aktualisiert wurde.
-
Der Befehlsanalyseabschnitt kann so ausgebildet sein, dass er einen Zeitraum, während dem eine Antwort auf die Datenanforderung aufgeschoben wird, auf Basis eines Timeout-Zeitraums zwischen der Master-Vorrichtung und der Slave-Vorrichtung bestimmt.
-
Nach der vorliegenden Erfindung können die Netzwerkbelastung und die CPU-Belastung bei der Master-Slave-Kommunikation verringert werden, wenn die Häufigkeit von Datenveränderungen in der Slave-Vorrichtung gering ist. Da die Netzwerkbelastung und die CPU-Belastung verringert werden, kann überdies das Abfrageintervall der Master-Vorrichtung verglichen mit jenem bei den herkömmlichen Techniken verkürzt werden, und kann die Informationsübertragungszeit verkürzt werden. Ferner ist die vorliegende Erfindung eine Technik, bei der der Betrieb einer Slave-Vorrichtung in einem herkömmlichen Kommunikationssystem verbessert wird und eine mit herkömmlichen Spezifikationen kompatible Master-Vorrichtung ohne Änderungen verwendet werden kann.
-
Figurenliste
-
- 1 ist ein Funktionsblockdiagramm, das ein Kommunikationssystem, welches eine Slave-Vorrichtung nach einer ersten Ausführungsform der vorliegenden Erfindung aufweist, schematisch zeigt.
- 2 ist ein Ablaufdiagramm, das einen in der Slave-Vorrichtung in 1 ausgeführten Prozess schematisch zeigt.
- 3 ist ein Funktionsblockdiagramm, das ein Kommunikationssystem, welches eine Slave-Vorrichtung nach einer zweiten Ausführungsform der vorliegenden Erfindung aufweist, schematisch zeigt.
- 4 ist eine Ansicht zur Erklärung der Master-Slave-Kommunikation aus dem Stand der Technik.
- 5 ist eine Ansicht zur Erklärung eines Problems aus dem Stand der Technik.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Die vorliegende Erfindung nimmt Fälle an, in denen eine Master-Vorrichtung bei einer Master-Slave-Kommunikation, die durch die Master-Vorrichtung und eine Slave-Vorrichtung in einem Kommunikationssystem durchgeführt wird, periodisch eine Datenanforderung an die Slave-Vorrichtung sendet. Beispiele für solche Fälle sind ein Fall, in dem die Master-Vorrichtung eine Steuerung ist und eine Slave-Vorrichtung ein Sensor zum Messen der Temperatur eines Werkstücks ist; und ein Fall, in dem die Master-Vorrichtung ein Betriebsverwaltungsserver ist, der nur zum Sammeln von Informationen bestimmt ist.
-
Überdies nimmt die vorliegende Erfindung im Grunde an, dass Modbus/TCP als in der Kommunikation zwischen einer Master-Vorrichtung und einer Slave-Vorrichtung verwendetes Kommunikationsprotokoll verwendet wird. Die nachstehenden Ausführungsformen werden ebenfalls unter der Annahme beschrieben, dass eine Master-Vorrichtung und eine Slave-Vorrichtung unter Verwendung von Modbus/TCP kommunizieren. Doch bei der vorliegenden Erfindung kann jedes beliebige Protokoll verwendet werden, bei dem bei der Kommunikation zwischen einer Master-Vorrichtung und jeder Slave-Vorrichtung die Reihenfolge der Kommunikationen zwischen der Master-Vorrichtung und der Slave-Vorrichtung nicht festgelegt ist. Das bei der vorliegenden Erfindung verwendete Kommunikationsprotokoll ist nicht auf ein bestimmtes Protokoll beschränkt.
-
1 ist ein Funktionsblockdiagramm, das ein Kommunikationssystem, das eine Slave-Vorrichtung nach einer ersten Ausführungsform der vorliegenden Erfindung aufweist, schematisch zeigt. 2 ist ein Ablaufdiagramm, das einen in der Slave-Vorrichtung in 1 ausgeführten Prozess schematisch zeigt. Ein Kommunikationssystem 1 der vorliegenden Ausführungsform ist so ausgebildet, dass wenigstens eine Slave-Vorrichtung 10 auf eine drahtgebundene oder drahtlose Weise so mit einer Master-Vorrichtung 20 verbunden ist, dass dazwischen eine Kommunikation durchgeführt werden kann.
-
Die Slave-Vorrichtung 10 weist einen Kommunikationsabschnitt 30, einen Befehlsanalyseabschnitt 40, einen Datenabschnitt 60, einen Datenaktualisierungsverwaltungsabschnitt 50 und einen Funktionsbetriebsabschnitt 70 auf. Der Kommunikationsabschnitt 30 erhält Informationen von der Master-Vorrichtung 20. Der Befehlsanalyseabschnitt 40 analysiert einen von der Master-Vorrichtung 20 gesendeten Befehl und erzeugt eine Antwort. Der Datenabschnitt 60 speichert Daten, die gemäß dem durch den Befehlsanalyseabschnitt 40 analysierten Befehl ausgelesen werden. Der Datenaktualisierungsverwaltungsabschnitt 50 verwendet bei der vorliegenden Ausführungsform einen Datenaktualisierungsmarkierungsabschnitt 51. Der Datenaktualisierungsmarkierungsabschnitt 51 speichert wenigstens eine Datenaktualisierungsmarkierung. Der Funktionsbetriebsabschnitt 70 ist bereitgestellt, um der Slave-Vorrichtung 10 einen Betrieb als Vorrichtung zu ermöglichen.
-
Der Datenaktualisierungsmarkierungsabschnitt 51 speichert wenigstens eine Datenaktualisierungsmarkierung, die in dem Datenabschnitt 60 gespeicherten Daten entspricht. Eine Datenaktualisierungsmarkierung kann für jeden Datenpunkt in dem Datenabschnitt 60 verwendet werden, oder kann für jede Gruppe von Datenpunkten oder alle Datenpunkte in dem Datenabschnitt 60 verwendet werden. Jede in dem Datenaktualisierungsmarkierungsabschnitt 51 gespeicherte Datenaktualisierungsmarkierung wird zu „eins“ (EIN) initialisiert, wenn die Slave-Vorrichtung 10 gestartet wird.
-
Der Funktionsbetriebsabschnitt 70 führt abhängig von der Art der Vorrichtung verschiedene Betriebe als Funktionen der Slave-Vorrichtung 10 durch, wie etwa Sensorfunktionen, Zählerfunktionen und Bearbeitungsfunktionen. Der Funktionsbetriebsabschnitt 70 speichert ein Ergebnis eines Betriebs und einen Betriebsstatus in dem Datenabschnitt 60. Zu dieser Zeit wird im Fall der Speicherung eines Werts, der sich von einem zu einer früheren Zeit gespeicherten Wert unterscheidet, die Datenaktualisierungsmarkierung, die in dem Datenabschnitt 60 gespeicherten Daten entspricht, unter den in dem Datenaktualisierungsmarkierungsabschnitt 51 gespeicherten Datenaktualisierungsmarkierungen auf „eins“ (EIN) gesetzt.
-
In der Slave-Vorrichtung 10 analysiert der Befehlsanalyseabschnitt 40 bei Erhalt einer Anforderung von der Master-Vorrichtung 20 durch den Kommunikationsabschnitt 30 (Schritt SA01) den Inhalt der Anforderung (Schritt SA02). Wenn der durch den Befehlsanalyseabschnitt 40 analysierte Befehl ein anderer Befehl als eine Datenausleseanforderung ist (das Ergebnis der Bestimmung in Schritt SA03 NEIN lautet), reagiert der Befehlsanalyseabschnitt 40 auf die gleiche Weise wie eine herkömmliche Slave-Vorrichtung und sendet er eine Antwort an die Master-Vorrichtung 20 (Schritt SA04).
-
Wenn der durch den Befehlsanalyseabschnitt 40 analysierte Befehl andererseits eine Datenausleseanforderung ist (das Ergebnis der Bestimmung in Schritt SA03 JA lautet), bezieht sich der Befehlsanalyseabschnitt 40 auf den Datenaktualisierungsmarkierungsabschnitt 51 und überprüft er die Datenaktualisierungsmarkierung, die den auszulesenden Daten entspricht. Wenn die Datenaktualisierungsmarkierung „eins“ (EIN) ist, das heißt, wenn die auszulesenden Daten seit dem vorhergehenden Auslesebetrieb aktualisiert wurden (das Ergebnis der Bestimmung in Schritt SA05 JA lautet), liest der Befehlsausleseabschnitt 40 die relevanten Daten aus dem Datenabschnitt 60, sendet er eine Antwort an die Master-Vorrichtung 20, und setzt er die Datenaktualisierungsmarkierung, die den gesendeten Daten entspricht, auf „null“ (AUS) Schritt SA04. Wenn die Datenaktualisierungsmarkierung andererseits „null“ (AUS) ist, das heißt, wenn die auszulesenden Daten seit dem vorhergehenden Auslesebetrieb nicht aktualisiert wurden (das Ergebnis der Bestimmung in Schritt SA05 NEIN lautet), schiebt der Befehlsanalyseabschnitt 40 die Übertragung einer Antwort zu der Master-Vorrichtung 20 auf.
-
Wenn der Befehlsanalyseabschnitt 40 die Übertragung einer Antwort zu der Master-Vorrichtung 20 aufschiebt, überwacht der Befehlsanalyseabschnitt 40 die Datenaktualisierungsmarkierung, die den auszulesenden Daten entspricht, unter den in dem Datenaktualisierungsmarkierungsabschnitt 51 gespeicherten Datenaktualisierungsmarkierungen. Wenn die Datenaktualisierungsmarkierung durch den Funktionsbetriebsabschnitt 70 zu „eins“ (EIN) aktualisiert wird, liest der Befehlsanalyseabschnitt 40 die relevanten Daten aus dem Datenabschnitt 60, sendet er die gelesenen Daten als Antwort an die Master-Vorrichtung 20, und setzt er die Datenaktualisierungsmarkierung, die den gesendeten Daten entspricht, auf „null“ (AUS) (Schritt SA04). Überdies sendet der Befehlsanalyseabschnitt 40 nicht aktualisierte Daten (die gleichen Daten wie die vorhergehenden Daten) als Antwort an die Master-Vorrichtung 20 (Schritt SA04), um zu verhindern, dass aufgrund eines Timeouts ein Fehler in der Master-Vorrichtung 20 auftritt, wenn der Funktionsbetriebsabschnitt 70 die Datenaktualisierungsmarkierung für nicht weniger als eine vorab festgelegte vorherbestimmte Aufschubzeit nicht aktualisiert hat, während die Übertragung einer Antwort zu der Master-Vorrichtung 20 aufgeschoben ist, mit anderen Worten, wenn Daten für nicht weniger als die Aufschubzeit nicht aktualisiert wurden (das Ergebnis der Bestimmung in Schritt SA06 JA lautet).
-
Es sollte angemerkt werden, dass die Aufschubzeit durch einen Administrator des Funktionsbetriebsabschnitts 70 oder der Slave-Vorrichtung 10 festgelegt werden kann.
-
Da wie oben beschrieben bei der ersten Ausführungsform Datenaktualisierungsmarkierungen in dem Datenaktualisierungsverwaltungsabschnitt verwaltet werden, wird eine Antwort aufgeschoben, wenn sich Daten seit der vorhergehenden Datenübertragung zu der Master-Vorrichtung nicht verändert haben. Entsprechend können die Netzwerkbelastung und die CPU-Belastung verringert werden, wenn die Häufigkeit von Datenänderungen zwischen der Master-Vorrichtung und der Slave-Vorrichtung gering ist.
-
3 ist ein Funktionsblockdiagramm, das ein Kommunikationssystem, welches eine Slave-Vorrichtung nach einer zweiten Ausführungsform der vorliegenden Erfindung aufweist, schematisch zeigt.
-
Während die Slave-Vorrichtung 10 der oben beschriebenen ersten Ausführungsform den Datenaktualisierungsmarkierungsabschnitt 51 als Datenaktualisierungsmanagementabschnitt 50 verwendet, benutzt die Slave-Vorrichtung 10 der zweiten Ausführungsform einen Gesendete-Daten-Abschnitt 52 als Datenaktualisierungsmanagementabschnitt 50.
-
Der Gesendete-Daten-Abschnitt 52 speichert gesendete Daten, bei denen es sich um Daten handelt, die als Antwort auf die vorhergehende Ausleseanforderung der Master-Vorrichtung 20 durch die Slave-Vorrichtung 10 gesendet wurden. Der Gesendete-Daten-Abschnitt 52 speichert gesendete Daten für jeden Datenpunkt, dessen Auslesen durch die Master-Vorrichtung 20 angefordert werden kann. Wenn die Slave-Vorrichtung 10 gestartet wird, werden die gesendeten Daten, die in dem Gesendete-Daten-Abschnitt 52 gespeichert sind, zu Daten (zum Beispiel einem unwahrscheinlichen Datenwert der relevanten Daten unter normalen Verhältnissen) initialisiert, die Daten, welche nicht gesendet wurden, darstellen.
-
Wenn sich bei dem Kommunikationssystem 1 der vorliegenden Ausführungsform Daten verändern, bearbeitet der Funktionsbetriebsabschnitt 70 nur die Daten in dem Datenabschnitt 60, doch bearbeitet er die gesendeten Daten in dem Gesendete-Daten-Abschnitt 52 nicht. Bei Erhalt einer Datenausleseanforderung von der Master-Vorrichtung 20 vergleicht der Befehlsanalyseabschnitt 40 die Daten in dem Datenabschnitt 60 und die gesendeten Daten in dem Gesendete-Daten-Abschnitt 52, die den relevanten Daten entsprechen. Wenn zwischen diesen Datenpunkten ein Unterschied besteht, sendet der Befehlsanalyseabschnitt 40 auszulesende Daten, die in dem Datenabschnitt 60 gespeichert sind, als Antwort an die Master-Vorrichtung 20, und aktualisiert er die gesendeten Daten in dem Gesendete-Daten-Abschnitt 52 durch die Daten, die als Antwort gesendet wurden. Wenn der Vergleich zwischen den Daten in dem Datenabschnitt 60 und den gesendeten Daten in dem Gesendete-Daten-Abschnitt, die den relevanten Daten entsprechen, keinen Unterschied zwischen diesen Datenpunkten zeigt, schiebt der Befehlsanalyseabschnitt die Antwort an die Master-Vorrichtung 20 wie bei der ersten Ausführungsform auf und überwacht er eine Veränderung der Daten, die aus dem Datenabschnitt 60 ausgelesen werden sollen. Und wenn sich Daten innerhalb der Aufschubzeit verändert haben, sendet der Befehlsanalyseabschnitt 40 die veränderten Daten in dem Datenabschnitt 60 als Antwort an die Master-Vorrichtung, und aktualisiert er die gesendeten Daten in dem Gesendete-Daten-Abschnitt 52 durch die Daten, die als Antwort gesendet wurden. Wenn sich die Daten innerhalb der Aufschubzeit nicht verändert haben, sendet der Befehlsanalyseabschnitt 40 die unveränderten Daten in dem Datenabschnitt 60 als Antwort an die Master-Vorrichtung 20, um einen Timeout-Fehler zu verhindern.
-
Wie oben beschrieben wird bei der zweiten Ausführungsform durch das Verwalten der gesendeten Daten in dem Datenaktualisierungsverwaltungsabschnitt 50 (Gesendete-Daten-Abschnitt 52) eine Antwort aufgeschoben, wenn sich Daten seit der vorhergehenden Datenübertragung zu der Master-Vorrichtung nicht verändert haben. Entsprechend können die Netzwerkbelastung und die CPU-Belastung verringert werden, wenn die Häufigkeit von Datenveränderungen zwischen der Master-Vorrichtung und der Slave-Vorrichtung gering ist.
-
Obwohl oben Ausführungsformen der vorliegenden Erfindung beschrieben wurden, ist die vorliegende Erfindung nicht auf die oben beschriebenen beispielhaften Ausführungsformen beschränkt, sondern kann sie durch Vornahme passender Abänderungen daran auf verschiedene Weisen ausgeführt werden.
-
Zum Beispiel nehmen die Slave-Vorrichtungen, die bei den oben beschriebenen Ausführungsformen beschrieben wurden, an, dass das oben beschriebene Kommunikationsverfahren stets aktiv ist. Doch das oben beschriebene Kommunikationsverfahren kann als Betriebsmodus verwendet werden, anstatt stets aktiv zu sein. Das oben beschriebene Kommunikationsverfahren kann von dem Verhalten der herkömmlichen Slave-Vorrichtung umgeschaltet werden, und umgekehrt.
-
Diese Betriebsmodusumschaltung kann durch einen Befehl von der Master-Vorrichtung 20 durchgeführt werden. In einem solchen Fall können die Kommunikationsspezifikationen so erweitert werden, dass ein zweckbestimmter Befehl für einen Betriebsartumschaltauslöser vorbereitet wird, oder kann die Betriebsart durch Schreiben eines bestimmten Werts in einen bestimmten Datenpunkt in dem Datenabschnitt 60 unter Verwendung eines Befehls umgeschaltet werden.
-
Die Betriebsart kann auf Basis einer Bestimmung, die durch die Slave-Vorrichtung 10 hinsichtlich des Betriebsstatus vorgenommen wird, umgeschaltet werden. Zum Beispiel kann der Funktionsbetriebsabschnitt 70 der Slave-Vorrichtung 10 deren CPU-Belastung überwachen und den Befehlsanalyseabschnitt 40 anweisen, die Betriebsart zu ändern, wenn die CPU-Belastung einen vorherbestimmten Pegel erreicht.
-
Überdies kann der Funktionsbetriebsabschnitt 70 der Slave-Vorrichtung 10 dann, wenn zum Zeitpunkt des Einschaltens oder zum Zeitpunkt der Teilnahme an einem Netzwerk ein anderer Befehl angefordert wird als das Auslesen von Daten - wie etwa eine Anforderung, anfängliche Einstellungen von der Master-Vorrichtung 20 zu schreiben_ bestimmen, ob die Verarbeitung dieser anderen Befehle als das Auslesen von Daten abgeschlossen ist oder nicht, und den Befehlsanalyseabschnitt 40 anweisen, die Betriebsart zu ändern. Andererseits kann die Betriebsart von dem Kommunikationsverfahren, das durch die vorliegende Erfindung vorgestellt wird, zu dem Verhalten der herkömmlichen Slave-Vorrichtung 10 geändert werden, wenn ein stabiler Zustand endet, zum Beispiel wenn in dem Funktionsbetriebsabschnitt 70 ein Fehler auftritt. Zu dieser Zeit sendet der Befehlsanalyseabschnitt 40 sofort eine Antwort an die Master-Vorrichtung, wenn in dem Befehlsanalyseabschnitt 40 ein aufgeschobener Befehl vorliegt, und ändert er die Betriebsart, nachdem die Antwort gesendet wurde.
-
Bei der oben beschriebenen ersten und zweiten Ausführungsform ist die Aufschubzeit im Voraus festgelegt. Doch der Befehlsanalyseabschnitt 40 kann gestatten, dass eine Befehlsaufschubzeit auf eine andere Weise als durch eine von einem Administrator des Funktionsbetriebsabschnitts 70 oder der Slave-Vorrichtung 10 bereitgestellte Einstellung bestimmt wird. Zum Beispiel nimmt die Slave-Vorrichtung 10 nach der Verbindung durch ein Netzwerk mit der Master-Vorrichtung 20 für nicht weniger als einen bestimmten Zeitraum von dem Senden einer Antwort als Reaktion auf eine erste Befehlsanforderung von der Master-Vorrichtung 20 Abstand. Da die Befehlsanforderung in diesem Fall eine Zeitbegrenzung auf Seiten der Master-Vorrichtung 20 auslöst, unterbricht die Master-Vorrichtung 20 einen Verbindungskanal zu der Slave-Vorrichtung 10 aufgrund des Auftretens eines Fehlers, oder versucht sie eine erneute Verbindung mit der Slave-Vorrichtung 10. Die Slave-Vorrichtung 10 kann annehmen, dass die Zeit, die nach dem Empfang der Befehlsanforderung vergeht, bis die Master-Vorrichtung 20 versucht, den Kommunikationskanal zu unterbrechen oder eine erneute Verbindung vorzunehmen, ein Timeout-Zeitraum der Master-Vorrichtung 20 ist, und kann eine Zeit, die durch Multiplizieren des Timeout-Zeitraums mit einem festen Multiplikationsfaktor (zum Beispiel 0,8) erhalten wird, als Aufschubzeit festlegen.