-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf Zeitsynchronisation.
-
Stand der Technik
-
Beispielsweise ist es in einer Produktionslinie, um mehrere Knotengeräte kooperativ zu betreiben, erforderlich, dass jedes Knotengerät eine gemeinsame Zeit hat, mit der die Operationszeit reguliert wird.
-
Ein Netzwerk verbindet Knotengeräte, und ein Mechanismus zum Bewirken, dass jedes Knotengerät über das Netzwerk die gemeinsame Zeit erhält, ist als Zeitsynchronisation bekannt.
-
Die Zeitsynchronisation zwischen Knotengeräten wird zwischen einem Knotengerät (nachfolgend als Mastergerät bezeichnet) mit einer Bezugszeit und einem Knotengerät (nachfolgend als Slavegerät bezeichnet), das bewirkt, dass eine interne Zeit mit der Bezugszeit übereinstimmt, durchgeführt.
-
Üblicherweise wird die Zeitsynchronisation durch den folgenden Vorgang erhalten.
- (1) Das Mastergerät berechnet eine Laufzeitverzögerung (Berechnungswert) zu jedem Slavegerät und teilt dem Slavegerät die Laufzeitverzögerung mit.
- (2) Das Mastergerät sendet einen Synchrondatenrahmen, in welchem eine Sendezeit festgehalten ist, zu dem Slavegerät.
- (3) Das Slavegerät setzt eine Empfangszeit des Synchrondatenrahmens als eine Synchronzeit {Sendezeit + Laufzeitverzögerung (Berechnungswert)}.
-
Da jedoch eine Laufzeitverzögerung (tatsächlicher Messwert), die von den vorstehenden (2) bis (3) genommen wird, variiert, bewirkt eine Abweichung, die zwischen der in (1) berechneten Laufzeitverzögerung (Berechnungswert) und der Laufzeitverzögerung (tatsächlicher Messwert) auftritt, einen Synchronfehler.
-
Bei einer herkömmlichen Zeitsynchronisation unterdrückt das Slavegerät den Synchronfehler auf der Grundlage eines stochastischen Prozesses, indem der Übergang der Laufzeitverzögerung (tatsächlicher Messwert) gemessen und die Laufzeitverzögerung (tatsächlicher Messwert) geschätzt wird (beispielsweise Patentdokument 1).
-
Literaturliste
-
Patentliteratur
-
- Patentdokument 1: JP 2013-121114 A
-
Kurzfassung der Erfindung
-
Technisches Problem
-
Jedoch besteht bei der herkömmlichen Zeitsynchronisation das Problem, dass das Slavegerät den stochastischen Prozess vorhalten muss, so dass die Verarbeitung kompliziert wird.
-
Die vorliegende Erfindung hat hauptsächlich das Ziel, ein Problem wie das vorgenannte zu lösen, und hat hauptsächlich das Ziel, den Synchronfehler durch einfache Verarbeitung zu verhindern.
-
Lösung des Problems
-
Ein Kommunikationsgerät gemäß der vorliegenden Erfindung enthält:
eine Synchrondatenrahmen-Empfangseinheit zum Empfangen eines Synchrondatenrahmens, der einen Bezugswert für die Zeitsynchronisation an dem Managementgerät beschreibt, der wiederholt von dem Managementgerät gesendet wird;
eine Laufzeitverzögerungs-Berechnungseinheit zum jeweiligen Berechnen einer Laufzeitverzögerung des empfangenen Synchrondatenrahmens, wenn der Synchrondatenrahmen von der Synchrondatenrahmen-Empfangseinheit empfangen wird;
eine Laufzeitverzögerungs-Zeitperioden-Berechnungseinheit zum jedesmaligen Berechnen einer Laufzeitverzögerungs-Zeitperiode, wenn die Laufzeitverzögerung durch die Laufzeitverzögerungs-Berechnungseinheit berechnet wird, durch Addieren eines Zielwerts einer Synchrongenauigkeit zu der berechneten Laufzeitverzögerung;
eine Operationseinheit für logisches ODER zum Durchführen einer logischen ODER-Operation von M (M ≥ 2) Einheiten von Laufzeitverzögerungs-Zeitperioden, die für M Einheiten von Synchrondatenrahmen, die einem letzten durch die Synchrondatenrahmen-Empfangseinheit empfangenen Synchrondatenrahmen vorhergehen, berechnet wurden; und
eine Zeitsynchronisations-Entscheidungseinheit zum Entscheiden auf der Grundlage einer Laufzeitverzögerung des letzten Synchrondatenrahmens und eines Ergebnisses der logischen ODER-Operation der M Einheiten von Laufzeitverzögerungs-Zeitperioden der M Einheiten von Synchrondatenrahmen, ob ein in den letzten Synchrondatenrahmen für die Zeitsynchronisation mit der Managementvorrichtung geschriebener Bezugswert zu verwenden ist oder nicht.
-
Vorteilhafte Wirkungen der Erfindung
-
Gemäß der vorliegenden Erfindung wird auf der Grundlage der Laufzeitverzögerungs-Zeitperiode des letzten Synchrondatenrahmens und des Ergebnisses der logischen ODER-Operation der vorhergehenden M Einheiten von Laufzeitverzögerungs-Zeitperioden der M Einheiten von Synchrondatenrahmen entschieden, ob der in den letzten Synchrondatenrahmen geschriebene Bezugswert als Zeitsynchronisation verwendet wird oder nicht.
-
Hierdurch kann die Synchronisation nur durch den Synchrondatenrahmen der Laufzeitverzögerung, die nicht außerhalb der Synchronisation ist, durchgeführt werden, und der Synchronfehler kann durch einfache Verarbeitung verhindert werden.
-
Kurzbeschreibung der Zeichnungen
-
1 ist ein Diagramm, das ein Konfigurationsbeispiel für ein Mastergerät gemäß einem ersten Ausführungsbeispiel illustriert.
-
2 ist ein Diagramm, das ein Konfigurationsbeispiel für ein Slavegerät gemäß dem ersten Ausführungsbeispiel illustriert.
-
3 ist Flussdiagramm, das ein Operationsbeispiel für das Slavegerät gemäß dem ersten Ausführungsbeispiel illustriert.
-
4 ist ein Diagramm, das ein Hardware-Konfigurationsbeispiel für das Mastergerät und das Slavegerät gemäß dem ersten Ausführungsbeispiel illustriert.
-
Beschreibung des Ausführungsbeispiels
-
Ausführungsbeispiel 1
-
Beispielsweise wird in einer Produktionslinie, um eine Echtzeiteigenschaft zu gewährleisten, eine Kommunikationszeit jedes Knotengeräts so eingestellt, dass sie Kommunikationszeiten zwischen Knotengeräten nicht überlappt.
-
Daher wird eine Variationsverteilung von Laufzeitverzögerungen (tatsächliche Messwerte) einer normalen Verteilung angenähert aufgrund einer Variationsverteilung von Verzögerungen, die in einer Zwischenstellenstation und einem Kabel auftreten.
-
Demgemäß können anhand der Variationsverteilung von Laufzeitverzögerungen (tatsächliche Messwerte) eine Anzahl von Malen von Kommunikationen (M mal (M ≥ 2)), die zum Erzeugen einer zumindest einmaligen Kommunikation erforderlich sind, die einer Synchronzielgenauigkeit genügt, vorhergesagt werden.
-
Bei dem vorliegenden Ausführungsbeispiel wird, wenn eine Laufzeitverzögerung eines letzten Synchrondatenrahmens innerhalb der (Laufzeitverzögerung ± Synchronzielgenauigkeit X) von vergangenen M Einheiten von Synchrondatenrahmen ist, der letzte Synchrondatenrahmen als ein Synchrondatenrahmen mit einer hohen Synchrongenauigkeit herausgezogen. Daher wird eine Zeitsynchronisation mit hoher Genauigkeit leicht erzielt, indem eine Zeitsynchronisation unter Verwendung des letzten Synchrondatenrahmens durchgeführt wird.
-
1 illustriert ein Konfigurationsbeispiel für ein Mastergerät gemäß dem vorliegenden Ausführungsbeispiel, und 2 illustriert ein Konfigurationsbeispiel für ein Slavegerät gemäß dem vorliegenden Ausführungsbeispiel.
-
In den 1 und 2 ist das Mastergerät 1 ein Knotengerät mit einer Bezugszeit, und das Slavegerät 2 ist ein Knotengerät, das auf der Grundlage eines Kommunikationsrahmens von dem Mastergerät 1 eine Zeit erzeugt, deren Abweichung von der Bezugszeit klein ist.
-
Mehrere Slavegeräte 2 können in einem Netzwerk angeordnet sein. Weiterhin können eine oder mehrere Zwischenstellenstationen zwischen dem Mastergerät 1 und dem Slavegerät 2 angeordnet sein.
-
Das Mastergerät 1 entspricht einem Beispiel für ein Managementgerät, und das Slavegerät 2 entspricht einem Beispiel für ein Kommunikationsgerät.
-
In dem Mastergerät 1 zählt ein Bezugszähler 11 die Bezugszeit.
-
Eine Kommunikationszyklus-Bezugszählerwert-Speichereinheit 12 speichert einen Kommunikationszyklus (nachfolgend als ein Mastergerät-Kommunikationszyklus bezeichnet) eines Synchrondatenrahmens auf einer Grundlage eines Werts des Bezugszählers 11.
-
Wenn der Wert des Bezugszählers 11 das N-fache (N ist eine natürliche Zahl) des in der Kommunikationszyklus-Bezugszählerwert-Speichereinheit 12 gespeicherten Mastergerät-Kommunikationszyklus wird, sendet eine Synchrondatenrahmen-Sendeeinheit 13 den Synchrondatenrahmen, in welchen der Wert des Bezugszählers 11 und eine Anzahl N von Malen von Kommunikationen geschrieben sind.
-
Der Wert des Bezugszählers 11, der in den Synchrondatenrahmen geschrieben ist, entspricht einem Beispiel für einen Bezugswert.
-
In dem Slavegerät 2 empfängt eine Synchrondatenrahmen-Empfangseinheit 214 den von dem Mastergerät 1 gesendeten Synchrondatenrahmen.
-
Die Synchrondatenrahmen-Empfangseinheit 214 gibt den empfangenen Synchrondatenrahmen zu einer Laufzeitverzögerungs-Berechnungseinheit 204 und einer nachfolgend beschriebenen Synchronzähler-Korrektureinheit 213 aus.
-
Ein Synchronzähler 201 zählt die Slavegeräts 2.
-
Ein Messzähler 202 misst eine Kommunikationszeit des Slavegeräts 2.
-
Eine Kommunikationszyklus-Messzählerwert-Speichereinheit 203 speichert einen Kommunikationszyklus (nachfolgend als ein Slavegeräte-Kommunikationszyklus bezeichnet) des Synchrondatenrahmens auf einer Grundlage eines Wertes des Messzählers 202.
-
Wenn die Synchrondatenrahmen-Empfangseinheit 214 den Synchrondatenrahmen empfängt, berechnet die Laufzeitverzögerungs-Berechnungseinheit 204 eine Laufzeitverzögerung einschließlich einer Versetzung zwischen dem Mastergerät 1 und dem Slavegerät 2, wobei die Laufzeitverzögerung erhalten wird durch Subtrahieren eines Wertes der Multiplikation des in der Kommunikationszyklus-Messzählerwert-Speichereinheit 203 gespeicherten Slavegeräte-Kommunikationszyklus mit der Anzahl N von Malen von Kommunikationen, die in dem Synchrondatenrahmen vorgehalten werden, von dem Wert des Messzählers 202 zu der Zeit des Empfangs.
-
Die durch die Laufzeitverzögerungs-Berechnungseinheit 204 berechnete Laufzeitverzögerung wird nachfolgend als eine Versetzungslaufzeitverzögerung bezeichnet.
-
Die Versetzungslaufzeitverzögerung entspricht einem Wert, der durch Addieren des Wertes des Messzählers 202, wenn der Bezugszähler 11 gleich 0 ist, zu der Laufzeitverzögerungszeit erhalten wird.
-
Eine Zielsynchrongenauigkeits-Speichereinheit 205 speichert Zielsynchrongenauigkeiten X zwischen dem Bezugszähler 11 und dem Synchronzähler 201.
-
Die Zielsynchrongenauigkeit X ist eine zulässige Abweichung zwischen der Zeit des Mastergeräts 1 und der Zeit des Slavegeräts 2.
-
Wie nachfolgend beschrieben wird, wird die Zielsynchrongenauigkeit X zu der Versetzungslaufzeitverzögerung addiert (Versetzungslaufzeitverzögerung ± Zielsynchrongenauigkeit X).
-
Eine Laufzeitverzögerungs-Zeitperioden-Berechnungseinheit 206 berechnet eine Laufzeitverzögerungs-Zeitperiode (Zeitperiode von (Versetzungslaufzeitverzögerung – Zielsynchrongenauigkeit X) bis (Versetzungslaufzeitverzögerung + Zielsynchrongenauigkeit X)), in der die in der Zielsynchrongenauigkeits-Speichereinheit 205 gespeicherte Zielsynchrongenauigkeit X in die durch die Laufzeitverzögerungs-Berechnungseinheit 204 berechnete Versetzungslaufzeitverzögerung reflektiert wird, und speichert die berechnete Laufzeitverzögerungs-Zeitperiode.
-
Weiterhin gibt die Laufzeitverzögerungs-Zeitperioden-Berechnungseinheit 206 jedes Mal eine vorher berechnete Laufzeitverzögerungs-Zeitperiode aus, wenn die Versetzungslaufzeitverzögerung durch die Laufzeitverzögerungs-Berechnungseinheit 204 berechnet wird.
-
Eine Laufzeitverzögerungs-Zeitperiode-1-Speichereinheit 2071 speichert eine Laufzeitverzögerungs-Zeitperiode eines Synchrondatenrahmens, der dem letzten von dem Slavegerät 2 empfangenen Synchrondatenrahmen um eine Einheit vorausgeht.
-
Eine Laufzeitverzögerungs-Zeitperiode-2-Speichereinheit 2072 speichert eine Laufzeitverzögerungs-Zeitperiode eines Synchrondatenrahmens, der dem letzten durch das Slavegerät 2 empfangenen Synchrondatenrahmen um zwei Einheiten vorausgeht.
-
Eine Laufzeitverzögerungs-Zeitperiode-3-Speichereinheit 2073 speichert eine Laufzeitverzögerungs-Zeitperiode eines Synchrondatenrahmens, der dem letzten von dem Slavegerät 2 empfangenen Synchrondatenrahmen um drei Einheiten vorausgeht.
-
Eine Laufzeitverzögerungs-Zeitperiode-(M – 1)-Speichereinheit 2074 speichert eine Laufzeitverzögerungs-Zeitperiode eines Synchrondatenrahmens, der dem letzten von dem Slavegerät 2 empfangenen Synchrondatenrahmen um (M – 1) Einheiten vorausgeht.
-
Eine Laufzeitverzögerungs-Zeitperiode-M-Speichereinheit 2075 speichert eine Laufzeitverzögerungs-Zeitperiode eines Synchrondatenrahmens, der dem letzten von dem Slavegerät 2 empfangenen Synchrondatenrahmen um M Einheiten vorausgeht.
-
Nachfolgend werden, wenn die Laufzeitverzögerungs-Zeitperiode-1-Speichereinheit 2071, die Laufzeitverzögerungs-Zeitperiode-2-Speichereinheit 2072, die Laufzeitverzögerungs-Zeitperiode-3-Speichereinheit 2073, die Laufzeitverzögerungs-Zeitperiode-(M – 1)-Speichereinheit 2074 und die Laufzeitverzögerungs-Zeitperiode-M-Speichereinheit 2075 nicht unterschieden werden müssen, diese kollektiv als Laufzeitverzögerungs-Zeitperioden-Speichereinheit 207 bezeichnet.
-
Eine Laufzeitverzögerungs-Berechnungseinheit 208 führt eine logische ODER-Operation bei Laufzeitverzögerungs-Zeitperioden, die in M Einheiten von Laufzeitverzögerungs-Zeitperioden-Speichereinheiten 207 gespeichert sind, durch und gibt eine Laufzeitverzögerung aus, die eine Laufzeitverzögerungs-Zeitperiode nach der logischen ODER-Operation ist.
-
Die Laufzeitverzögerungs-Berechnungseinheit 208 entspricht einem Beispiel für eine logische ODER-Operationseinheit.
-
Eine synchronisierbare Laufzeitverzögerungs-Speichereinheit 209 speichert synchronisierbare Laufzeitverzögerungen, die durch eine nachfolgend beschriebene Berechnungseinheit 210 für synchronisierbare Laufzeitverzögerungen berechnet wurden.
-
Die Speichereinheit 209 für synchronisierbare Laufzeitverzögerungen wird jedes Mal durch neu berechnete synchronisierbare Laufzeitverzögerungen aktualisiert, wenn die Berechnungseinheit 210 für synchronisierbare Laufzeitverzögerungen die synchronisierbaren Laufzeitverzögerungen berechnet.
-
Die Speichereinheit 209 für synchronisierbare Laufzeitverzögerungen entspricht einem Beispiel für eine Speichereinheit für das Ergebnis einer logischen UND-Operation.
-
Die Berechnungseinheit 210 für synchronisierbare Laufzeitverzögerungen führt eine logische UND-Operation zwischen den von der Berechnungseinheit 208 für Laufzeitverzögerungen berechneten Laufzeitverzögerungen und den in der Speichereinheit 209 für synchronisierbare Laufzeitverzögerungen gespeicherten synchronisierbaren Laufzeitverzögerungen durch, um die synchronisierbaren Laufzeitverzögerungen zu der Zeit des Empfangens des letzten Synchrondatenrahmens zu berechnen.
-
Zu der Zeit des Empfangens des letzten Synchrondatenrahmens wird in der Speichereinheit 209 für synchronisierbare Laufzeitverzögerungen eine synchronisierbare Laufzeitverzögerung, die von der Berechnungseinheit 210 für synchronisierbare Laufzeitverzögerungen zu der Zeit des Empfangens des Synchrondatenrahmens, der dem letzten Synchrondatenrahmen um eine Einheit vorausgeht, berechnet wurde, gespeichert.
-
Wie beschrieben wurde, führt die Berechnungseinheit 210 für synchronisierbare Laufzeitverzögerungen die logische UND-Operation zwischen den synchronisierbaren Laufzeitverzögerungen zu der Zeit des Empfangens des Synchrondatenrahmens, der um einen vorhergeht, und den Laufzeitverzögerungen, die von der Berechnungseinheit 208 für Laufzeitverzögerungen berechnet wurden, durch, um die synchronisierbaren Laufzeitverzögerungen zu der Zeit des Empfangens des letzten Synchrondatenrahmens zu berechnen.
-
Dann speichert die Berechnungseinheit 210 für synchronisierbare Laufzeitverzögerungen die berechneten synchronisierbaren Laufzeitverzögerungen in der Speichereinheit 209 für synchronisierbare Laufzeitverzögerungen.
-
Die Berechnungseinheit 210 für synchronisierbare Laufzeitverzögerungen entspricht einem Beispiel für eine logische UND-Operationseinheit.
-
Eine Synchronbestimmungseinheit 211 bestimmt, ob die Versetzungslaufzeitverzögerung zu der Zeit des Empfangens des letzten Synchrondatenrahmens in den von der Berechnungseinheit 210 für synchronisierbare Laufzeitverzögerungen berechneten synchronisierbaren Laufzeitverzögerungen enthalten ist oder nicht, und gibt ein synchronisierbares Signal aus, wenn die Versetzungslaufzeitverzögerung zu der Zeit des Empfangens des letzten Synchrondatenrahmens in den synchronisierbaren Laufzeitverzögerungen enthalten ist.
-
Die Synchronbestimmungseinheit 211 entspricht zusammen mit der nachfolgend beschriebenen Synchronzähler-Korrektureinheit 213 einem Beispiel für eine Zeitsynchronisations-Entscheidungseinheit.
-
Eine Speichervorrichtung 212 für durchschnittliche Laufzeitverzögerung speichert einen Durchschnittswert (nachfolgend als eine durchschnittliche Laufzeitverzögerung bezeichnet) der Laufzeitverzögerung zwischen dem Mastergerät 1 und dem Slavegerät 2.
-
Die Synchronzähler-Korrektureinheit 213 speichert den in dem Synchrondatenrahmen vorgehaltenen Wert des Bezugszählers 11, und wenn das synchronisierbare Signal von der Synchronbestimmungseinheit 211 empfangen wird, schreibt sie einen Wert, der durch Addieren der in der Speichereinheit 212 für durchschnittliche Laufzeitverzögerung gespeicherten durchschnittlichen Laufzeitverzögerung zu dem Wert des Bezugszählers 11 erhalten wurde, in den Synchronzähler 201.
-
Das heißt, wenn das synchronisierbare Signal von der Synchronbestimmungseinheit 211 empfangen wird, entscheidet die Synchronzähler-Korrektureinheit 213, den Wert des Bezugszählers 11 in dem letzten Synchrondatenrahmen für die Zeitsynchronisation mit dem Mastergerät 1 zu verwenden.
-
Die Synchronzähler-Korrektureinheit 213 entspricht zusammen mit der vorbeschriebenen Synchronbestimmungseinheit 211 einem Beispiel für die Zeitsynchronisations-Bestimmungseinheit.
-
Als Nächstes wird die Arbeitsweise beschrieben.
-
Zuerst sendet in dem Mastergerät 1, wenn der Wert des Bezugszählers 11 das N-fache (N ist eine natürliche Zahl) des in der Kommunikationszyklus-Bezugszählerwert-Speichereinheit 12 gespeicherten Mastergeräte-Kommunikationszyklus wird, die Synchrondatenrahmen-Sendeeinheit 13 den Synchrondatenrahmen, der den Wert des Bezugszählers und die Anzahl N von Malen der Kommunikation vorhält, zu dem Slavegerät 2.
-
Das Mastergerät 1 sendet den Synchrondatenrahmen jedes Mal zu dem Slavegerät 2, wenn der Wert des Bezugszählers 11 das N-fache des Mastergeräte-Kommunikationszyklus wird, wie vorstehend beschrieben ist.
-
Als Nächstes wird unter Verwendung eines Flussdiagramms nach 3 die Arbeitsweise des Slavegeräts 2 beschrieben.
-
In dem Slavegerät 2 berechnet, wenn die Synchrondatenrahmen-Empfangseinheit 214 den Synchrondatenrahmen empfängt (S301), die Laufzeitverzögerungs-Berechnungseinheit 204 die Versetzungslaufzeitverzögerung, wobei die Versetzungslaufzeitverzögerung erhalten wird durch Subtrahieren des Wertes der Multiplikation des in der Kommunikationszyklus-Messzählerwert-Speichereinheit 203 gespeicherten Slavegeräte-Kommunikationszyklus mit der Anzahl N von Malen der Kommunikation, die in dem Synchrondatenrahmen vorgehalten wird, von dem Wert des Messzählers 202 zu der Zeit des Empfangs (S302).
-
Weiterhin speichert zur gleichen Zeit die Synchronzähler-Korrektureinheit 213 den in dem Synchrondatenrahmen vorgehaltenen Wert des Bezugszählers (S303).
-
Wenn die Laufzeitverzögerungs-Berechnungseinheit 204 die Versetzungslaufzeitverzögerung berechnet, gibt die Laufzeitverzögerungs-Zeitperioden-Berechnungseinheit 206 die vorher berechnete Laufzeitverzögerungs-Zeitperiode aus, berechnet die Laufzeitverzögerungs-Zeitperiode (Zeitperiode von (Versetzungslaufzeitverzögerung – Zielsynchrongenauigkeit X) bis (Versetzungslaufzeitverzögerung + Zielsynchrongenauigkeit X)) durch Addieren der in der Zielsynchrongenauigkeits-Speichereinheit 205 gespeicherten Zielsynchrongenauigkeit ± X zu der Versetzungslaufzeitverzögerung (S304) und speichert die berechnete Laufzeitverzögerungs-Zeitperiode.
-
Wenn die Laufzeitverzögerungs-Zeitperioden-Berechnungseinheit 206 die vorherige Laufzeitverzögerungs-Zeitperiode ausgibt, aktualisieren die M Einheiten von Laufzeitverzögerungs-Zeitperioden-Speichereinheiten 207 die Laufzeitverzögerungs-Zeitperioden (S305).
-
Insbesondere speichert die Laufzeitverzögerungs-Zeitperiode-1-Speichereinheit 2071 die vorausgehende Laufzeitverzögerungs-Zeitperiode neu, die von der Laufzeitverzögerungs-Zeitperioden-Berechnungseinheit 206 ausgegeben wird, und gibt die Laufzeitverzögerungs-Zeitperiode, die gespeichert wurde, zu der Laufzeitverzögerungs-Zeitperiode-2-Speichereinheit 2072 aus.
-
Wenn die Laufzeitverzögerungs-Zeitperiode-1-Speichereinheit 2071 die Laufzeitverzögerungs-Zeitperiode ausgibt, speichert die Laufzeitverzögerungs-Zeitperiode-2-Speichereinheit 2072 die Laufzeitverzögerungs-Zeitperiode, die von der Laufzeitverzögerungs-Zeitperiode-1-Speichereinheit 2071 ausgegeben wurde, neu und gibt die Laufzeitverzögerungs-Zeitperiode, die gespeichert wurde, zu der Laufzeitverzögerungs-Zeitperiode-3-Speichereinheit 2073 aus.
-
Diese Operation wird wiederholt bis zur Laufzeitverzögerungs-Zeitperiode-(M – 1)-Speichereinheit 2074.
-
Wenn die Laufzeitverzögerungs-Zeitperiode-(M – 1)-Speichereinheit 2074 die Laufzeitverzögerungs-Zeitperiode ausgibt, speichert die Laufzeitverzögerungs-Zeitperioden-M-Speichereinheit 2075 die Laufzeitverzögerungs-Zeitperiode, die von der Laufzeitverzögerungs-Zeitperiode-(M – 1)-Speichereinheit 2074 ausgegeben wurde, neu.
-
Wenn die Laufzeitverzögerungs-Zeitperiode-M-Speichereinheit 2075 die neue Laufzeitverzögerungs-Zeitperiode speichert, berechnet die Berechnungseinheit 208 für Laufzeitverzögerungen die Laufzeitverzögerungen, indem die die logische ODER-Operation an den in den M Einheiten von Laufzeitverzögerungs-Zeitperioden-Speichereinheiten 207 gespeicherten Laufzeitverzögerungs-Zeitperioden durchgeführt wird (S306).
-
Wenn die Berechnungseinheit 208 für Laufzeitverzögerungen die Laufzeitverzögerungen berechnet, berechnet die Berechnungseinheit 210 für synchronisierbare Laufzeitverzögerungen die synchronisierbaren Laufzeitverzögerungen zu der Zeit des Empfangens des letzten Synchrondatenrahmens, indem die logische UND-Operation zwischen den Laufzeitverzögerungen und den synchronisierbaren Laufzeitverzögerungen (synchronisierbare Laufzeitverzögerungen zu der Zeit des Empfangens des Synchrondatenrahmens, der dem letzten Synchrondatenrahmen um eine Einheit vorausgeht), die in der Speichereinheit 209 für synchronisierbare Laufzeitverzögerungen gespeichert sind (S307), durchgeführt wird.
-
Wenn die Berechnungseinheit 210 für synchronisierbare Laufzeitverzögerungen die synchronisierbaren Laufzeitverzögerungen zu der Zeit des Empfangens des letzten Synchrondatenrahmens berechnet, speichert die Speichereinheit 209 für synchronisierbare Laufzeitverzögerungen die synchronisierbaren Laufzeitverzögerungen zu der Zeit des Empfangens des letzten Synchrondatenrahmens.
-
Weiterhin bestimmt die Synchronbestimmungseinheit 211, ob die Versetzungslaufzeitverzögerung zu der Zeit des Empfangens des letzten Synchrondatenrahmens in der von der Berechnungseinheit 210 für synchronisierbare Laufzeitverzögerungen berechneten synchronisierbaren Laufzeitverzögerungen enthalten ist oder nicht (S308).
-
Wenn die Versetzungslaufzeitverzögerung zu der Zeit des Empfangens des letzten Synchrondatenrahmens in den synchronisierbaren Laufzeitverzögerungen enthalten ist (JA in S308), gibt die Synchronbestimmungseinheit 211 das synchronisierbare Signal aus (S309).
-
Wenn die Synchronbestimmungseinheit 211 das synchronisierbare Signal ausgibt, schreibt die Synchronzähler-Korrektureinheit 213 den Wert, der durch Addieren der in der Speichereinheit 212 für durchschnittliche Laufzeitverzögerung gespeicherten durchschnittlichen Laufzeitverzögerung zu dem Wert des Bezugszählers 11 erhalten wurde, in den Synchronzähler 201 (S310).
-
Hierdurch kann die Synchrongenauigkeit verbessert werden, indem eine Synchronisation nur mit dem Synchrondatenrahmen der Laufzeitverzögerung, der nicht außerhalb der Synchronisation ist, durchgeführt wird.
-
Es ist zu beachten, dass vorstehend als ein Beispiel beschrieben ist, dass die Synchronbestimmungseinheit 211 bestimmt, ob die Versetzungslaufzeitverzögerung des letzten Synchrondatenrahmens in den synchronisierbaren Laufzeitverzögerungen enthalten ist oder nicht.
-
Alternativ kann die Synchronbestimmungseinheit 211 bestimmen, ob die Versetzungslaufzeitverzögerung des letzten Synchrondatenrahmens in den von der Berechnungseinheit 208 für Laufzeitverzögerungen berechneten Laufzeitverzögerungen enthalten ist oder nicht.
-
Das heißt, die Speichereinheit 209 für synchronisierbare Laufzeitverzögerungen und die Berechnungseinheit 210 für synchronisierbare Laufzeitverzögerungen werden aus der Konfiguration nach 2 eliminiert, und eine Konfiguration kann verwendet werden, bei der durch die Berechnungseinheit 208 für Laufzeitverzögerungen berechneten Laufzeitverzögerungen direkt in die Synchronbestimmungseinheit 211 eingegeben werden.
-
Dann kann die Synchronbestimmungseinheit 211 bestimmen, ob die Versetzungslaufzeitverzögerung des letzten Synchrondatenrahmens in den Laufzeitverzögerungen enthalten ist oder nicht, und wenn die Versetzungslaufzeitverzögerung des letzten Synchrondatenrahmens in den Laufzeitverzögerungen enthalten ist, kann die Synchronbestimmungseinheit 211 das synchronisierbare Signal ausgeben.
-
Schließlich wird ein Hardware-Konfigurationsbeispiel für das Mastergerät 1 und das Slavegerät 2, die in dem vorliegenden Ausführungsbeispiel angezeigt werden, mit Bezug auf 4 beschrieben.
-
Das Mastergerät 1 und das Slavegerät 2 sind Computer, und jede Komponente des Mastergeräts 1 und des Slavegeräts 2 kann durch ein Programm implementiert werden.
-
Als die Hardwarekonfiguration des Mastergeräts 1 und des Slavegeräts 2 sind eine arithmetische Vorrichtung 901, eine externe Speichervorrichtung 902, eine Hauptspeichervorrichtung 903, eine Kommunikationsvorrichtung 904 und eine Eingabe/Ausgabe-Vorrichtung 905 mit einem Bus verbunden.
-
Die arithmetische Vorrichtung 900 ist eine CPU (zentrale Verarbeitungseinheit), die Programme ausführt.
-
Die externe Speichervorrichtung 902 ist beispielsweise ein ROM (Festwertspeicher), ein Flashspeicher oder eine Festplattenvorrichtung.
-
Die Hauptspeichervorrichtung 903 ist ein RAM (Speicher mit direktem Zugriff).
-
Die Kommunikationsvorrichtung 904 ist beispielsweise eine NIC (Netzwerk-Schnittstellenkarte) und entspricht einer physischen Schicht der Synchrondatenrahmen-Sendeeinheit 13 und der Synchrondatenrahmen-Empfangseinheit 214.
-
Die Eingabe/Ausgabe-Vorrichtung 905 ist beispielsweise eine Anzeigevorrichtung vom Touchpanel-Typ oder dergleichen.
-
Die Programme sind üblicherweise in der externen Speichervorrichtung 902 gespeichert und werden in die Hauptspeichervorrichtung 903 geladen, um sequenziell gelesen und durch die arithmetische Vorrichtung 901 ausgeführt zu werden.
-
Die Programme sind solche, die Funktionen implementieren, die jeweils in 1 als "Einheit" illustriert sind ("Speichereinheit" ausgenommen; das Gleiche gilt auch nachfolgend).
-
Weiterhin speichert die externe Speichervorrichtung 902 auch ein Betriebssystem (OS), und zumindest ein Teil des OS ist in die Hauptspeichervorrichtung 903 geladen. Die arithmetische Vorrichtung 901 führt die Programme aus, von denen jedes die Funktion der in 1 illustrierten "Einheit" implementiert, während das OS ausgeführt wird.
-
Weiterhin sind in der Beschreibung des vorliegenden Ausführungsbeispiels Informationen, Daten, Signalwerte und variable Werte, die die Ergebnisse der als "Beurteilen", "Bestimmen", "Entscheiden", "Betätigen", "Berechnen", "Empfangen" und dergleichen beschriebenen Prozesse anzeigen, als Dateien in der Hauptspeichervorrichtung 903 gespeichert.
-
Es ist zu beachten, dass die Konfiguration nach 4 lediglich das Hardware-Konfigurationsbeispiel des Mastergeräts 1 und des Slavegeräts 2 anzeigt und die Hardware-Konfiguration des Mastergeräts 1 und des Slavegeräts 2 nicht auf die in 4 illustrierte Konfiguration beschränkt ist, sondern eine andere Konfiguration sein kann.
-
Weiterhin kann durch die in dem vorliegenden Ausführungsbeispiel angezeigte Prozedur das Kommunikationsverfahren gemäß der vorliegenden Erfindung implementiert werden.
-
Bezugszeichenliste
-
- 1: Mastergerät, 2: Slavegerät, 11: Bezugszähler, 12: Kommunikationszyklus-/Bezugszählerwert-Speichereinheit, 13: Synchrondatenrahmen-Sendeeinheit, 201: Synchronzähler, 202: Messzähler, 203: Kommunikationszyklus-Messzählerwert-Speichereinheit, 204: Laufzeitverzögerungs-Berechnungseinheit, 205: Zielsynchrongenauigkeits-Speichereinheit, 206: Laufzeitverzögerungs-Zeitperioden-Berechnungseinheit, 207: Laufzeitverzögerungs-Zeitperioden-Speichereinheit, 2071: Laufzeitverzögerungs-Zeitperiode-1-Speichereinheit, 2072: Laufzeitverzögerungs-Zeitperiode-2-Speichereinheit, 2073: Laufzeitverzögerungs-Zeitperiode-3-Speichereinheit, 2074: Laufzeitverzögerungs-Zeitperiode-(M – 1)-Speichereinheit, 2075: Laufzeitverzögerungs-Zeitperiode-M-Speichereinheit, 208: Laufzeitverzögerungs-Berechnungseinheit, 209: Speichereinheit für synchronisierbare Laufzeitverzögerungen, 210: Berechnungseinheit für synchronisierbare Laufzeitverzögerungen, 211: Synchronbestimmungseinheit, 212: Speichereinheit für durchschnittliche Laufzeitverzögerung, 213: Synchronzähler-Korrektureinheit,. 214: Synchrondatenrahmen-Empfangseinheit