DE112018007879B4 - Kommunikationssystem, Kommunikationsgerät und Programm - Google Patents

Kommunikationssystem, Kommunikationsgerät und Programm Download PDF

Info

Publication number
DE112018007879B4
DE112018007879B4 DE112018007879.5T DE112018007879T DE112018007879B4 DE 112018007879 B4 DE112018007879 B4 DE 112018007879B4 DE 112018007879 T DE112018007879 T DE 112018007879T DE 112018007879 B4 DE112018007879 B4 DE 112018007879B4
Authority
DE
Germany
Prior art keywords
counter
value
error detection
communication device
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112018007879.5T
Other languages
English (en)
Other versions
DE112018007879T5 (de
Inventor
Naoki Ito
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112018007879T5 publication Critical patent/DE112018007879T5/de
Application granted granted Critical
Publication of DE112018007879B4 publication Critical patent/DE112018007879B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • H04L1/1678Details of the supervisory signal the supervisory signal being transmitted together with control information where the control information is for timing, e.g. time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Programmable Controllers (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Kommunikationssystem (10), umfassend:ein erstes Kommunikationsgerät (1); undein zweites Kommunikationsgerät (2), wobei das erste Kommunikationsgerät (1) und das zweite Kommunikationsgerät (2) dazu konfiguriert sind, miteinander zu kommunizieren,wobei das erste Kommunikationsgerät (1) umfasst:ein erstes Uhrmittel (111) mit einem ersten Zähler (1111) zum Zählen einer verstrichenen Zeit und einem zweiten Zähler (1112) zum Zählen eines Überlaufs des ersten Zählers (1111),ein erstes Datenkonvertierungsmittel (151) zum Ersetzen eines Wertes des zweiten Zählers (1112) mit einem Wert, der zu einem vorbestimmten Zeitpunkt mit einem vorbestimmten Verfahren erzeugt wird, womit der zweite Zähler (1112) veranlasst wird, gestreute Werte anzugeben,ein erstes Fehlerdetektionsmittel (153) zum Erzeugen eines ersten Fehlerdetektionscodes basierend auf einem Wert des ersten Zählers (1111) und dem Wert des zweiten Zählers (1112) undein erstes Kommunikationsmittel (152) zum Erzeugen eines Frames undzum Senden des erzeugten Frames an das zweite Kommunikationsgerät (2), wobei das Frame an das zweite Kommunikationsgerät (2) weiterzugebende Daten und den Wert des ersten Zählers (1111) und den zu den Daten hinzugefügten ersten Fehlerdetektionscode enthält, undwobei das zweite Kommunikationsgerät (2) umfasst:ein zweites Uhrmittel (111) mit einem dritten Zähler (1111) zum Zählen einer verstrichenen Zeit und einem vierten Zähler (1112) zum Zählen eines Überlaufs des dritten Zählers (1111),ein zweites Datenkonvertierungsmittel (151) zum Ersetzen eines Wertes des vierten Zählers (1112) mit einem Wert, der zu dem vorbestimmten Zeitpunkt mit dem vorbestimmten Verfahren erzeugt wird, womit der vierte Zähler (1112) veranlasst wird, gestreute Werte anzugeben,ein zweites Kommunikationsmittel (152) zum Empfangen des Frames von dem ersten Kommunikationsgerät (1) undein zweites Fehlerdetektionsmittel (153) zum Erzeugen eines zweiten Fehlerdetektionscodes basierend auf dem in dem Frame enthaltenen Wert des ersten Zählers (1111) und dem Wert des vierten Zählers (1112) in dem zweiten Uhrmittel (111) und zum Bestimmen, ob der erzeugte zweite Fehlerdetektionscode eine Bedingung erfüllt, die für den in dem Frame enthaltenen ersten Fehlerdetektionscode eingestellt ist.

Description

  • Technischer Bereich
  • Die vorliegende Offenbarung betrifft ein Kommunikationssystem, ein Kommunikationsgerät und ein Programm.
  • Hintergrund
  • Im Bereich der Fabrikautomatisierung ist die Zuverlässigkeit von Kommunikation für die Funktionssicherheit zu erhöhen. Die Funktionssicherheit bezeichnet ein akzeptables Sicherheitsniveau, welches durch Bereitstellen von Sicherheitsverwaltungsfunktionen erreichbar ist.
  • Um die Kommunikationszuverlässigkeit zu verbessern, ist Echtzeitkommunikation zu verwirklichen. Geräte in einer Fabrik senden und empfangen zu- und voneinander Sicherheitssteuerungsinformation. Beispiele für die Sicherheitssteuerungsinformation umfassen eine Information über ein Drücken eines Notstoppschalters und einen Befehl der Energieabschaltung für einen Notstopp. Solche Sicherheitssteuerungsinformation soll an dem Zielgerät ohne Verzögerung ankommen.
  • Um eine Verzögerung von Daten zu detektieren, sendet ein Gerät in einer Fabrik an ein anderes Gerät beispielsweise Daten, denen eine Zeitinformation angehängt ist, welche die Sendezeit repräsentiert. Das Gerät, welches die Daten empfängt, bestimmt basierend auf der empfangenen Zeitinformation, ob die Daten innerhalb einer geeigneten Zeitdauer angekommen sind. Patentliteratur 1 beschreibt einen Sender, welcher Daten sendet, denen eine Zeitinformation angefügt ist, und einen Empfänger, welcher die empfangene Zeitinformation mit einer Zeitinformation vergleicht, die durch eine in dem Empfänger enthaltene Uhr angegeben wird.
  • Beispiele einer bekannten Uhr umfassen eine Takterzeugungsschaltung, welche pro eingestellter Zeit ein Taktsignal erzeugt, und einen Zähler, welcher von der Takterzeugungsschaltung ausgegebene Taktsignale zählt. 4A zeigt die Konfiguration eines bekannten Zählers. In dem gezeigten Beispiel umfasst der Zähler einen Zeitstempel 11, welcher als ein Zähler dient, der Taktsignale zählt, und einen Übertragzähler 12, welcher inkrementiert wird, wenn der Zeitstempel überläuft. Eine Uhr kann Zeit messen. Der Zeitstempel 11 und der Übertragzähler 12 werden daher sequenziell inkrementiert. Der Zeitstempel 11 und der Übertragzähler 12 haben jeweils einen Anfangswert von beispielsweise null oder einem aktuellen Datum.
  • Für eine höhere Kommunikationszuverlässigkeit sind Daten korrekt zu übertragen. Bitfehler, wie beispielsweise ein fehlender Teil codierter Daten oder eine Umkehrung zwischen 0 und 1 in einem Teil codierter Daten, können über einen Übertragungsweg auftreten. Aufgrund von Bitfehlern, die während einer Übertragung von Daten betreffend die obige Sicherheitssteuerung auftreten, können fehlerhafte Daten, die von vorgesehenen Daten verschieden sind, an einen Empfänger gesendet werden, was dazu führt, dass der Empfänger unerwartet arbeitet. Um Sicherheit zu erreichen, ist die Sicherheitssteuerungsinformation korrekt zu übertragen.
  • Ein Standard betreffend Funktionssicherheit, IEC 61784-3 definiert für jedes Zielniveau einer definierten Sicherheit eine erlaubte Restfehlerrate. Restfehler bezeichnen Fehler, die verbleiben, ohne in einer Fehlerdetektion detektiert zu werden, welche von einem Kommunikationsgerät an empfangenen Daten durchgeführt wird, um Bitfehler über einen Übertragungsweg zu detektieren. Der Standard IEC 61784-3 definiert ein Verfahren zum Berechnen der Restfehlerrate, welche eine Restfehlerwahrscheinlichkeit repräsentiert. Zur Funktionssicherheit soll die Restfehlerrate gering sein. Jedoch verbleiben Restfehler, ohne in einer Fehlerdetektion detektiert zu werden. Die Detektionsrate von Restfehlern kann daher nicht einfach erhöht werden.
  • Der Standard IEC 61784-3 beschreibt weiter die Verwendung der Auftretenswahrscheinlichkeit von Werten, die in gesendeten Daten häufig auftreten, zum Berechnen der Restfehlerrate. Mit anderen Worten wird die Wahrscheinlichkeit eines bestimmten Wertes, der sehr häufig auftritt, zum Berechnen der Restfehlerrate verwendet. Diese Berechnung verwendet eine hohe Auftretenswahrscheinlichkeit und ergibt daher eine hohe Restfehlerrate.
  • Wie oben beschrieben, kann Zeitinformation, welche gesendeten Daten angefügt ist, auch Bitfehler verursachen und wird daher einer Fehlerdetektion unterzogen. Der Zeitstempel 11 in der Uhr ist dazu ausgebildet, eine ausreichend lange Zeit zu zählen. Der Zeitstempel 11, welcher in einer sehr kurzen Dauer überläuft, kann während einer Datenübertragung überlaufen. Der Zeitstempel, der zum Senden angefügt ist, kann der Gleiche sein wie der Zeitstempel beim Empfang. Es ist daher weniger wahrscheinlich, dass der Zeitstempel 11 überläuft. Auf einen Überlauf des Zeitstempels 11 kann nach einer langen Zeit ein weiterer Überlauf folgen. Die Häufigkeit der Inkrementierung des Übertragzählers 12 ist daher sehr gering.
  • Es ist daher wahrscheinlicher, dass der Übertragzähler 12 einen Anfangswert beibehält oder einen Wert nahe dem Anfangswert hat. Mit anderen Worten, tritt für den Wert des Übertragzählers 12 mit hoher Wahrscheinlichkeit der Anfangswert oder ein Wert nahe dem Anfangswert auf.
  • Zitierungsliste
  • Patentliteratur
  • Patentliteratur 1: ungeprüfte japanische Patentanmeldung Publikationsnummer 2003-298563
  • Zusammenfassung der Erfindung
  • Technisches Problem
  • Wenn der Übertragzähler 12 auf null als Anfangswert eingestellt ist, tritt für den Wert des Übertragzählers 12 mit hoher Wahrscheinlichkeit null oder ein Wert nahe null auf, wie in 5A gezeigt ist. Die Auftretenswahrscheinlichkeit von null für den Wert des Übertragzählers 12 wird zum Berechnen der Restfehlerrate verwendet. Wenn der Übertragzähler 12 auf das aktuelle Datum als Anfangswert eingestellt ist, tritt für den Wert des Übertragzählers 12 mit hoher Wahrscheinlichkeit das Datum auf, welches als Anfangswert eingestellt ist oder nahe dem eingestellten Datum ist, wie in 5B gezeigt ist. In diesem Fall wird die Auftretenswahrscheinlichkeit des Datums, welches als der Wert des Übertragzählers 12 eingestellt ist, zum Berechnen der Restfehlerrate verwendet. Der Übertragzähler 12 in einer bekannten Uhr hat daher eine hohe Häufigkeit für das Auftreten eines bestimmten Wertes. Die hohe Auftretenswahrscheinlichkeit ist zum Berechnen der Restfehlerrate zu verwenden. Es ist daher schwierig, die Restfehlerrate zu reduzieren.
  • Ein Ziel der vorliegenden Offenbarung ist es, einen Taktzähler dazu zu veranlassen, Werte mit gestreuten Häufigkeiten anzugeben, um die Restfehlerrate zu reduzieren.
  • Lösung des Problems
  • Um das obige Ziel zu erreichen, umfasst ein Kommunikationssystem gemäß einem Aspekt der vorliegenden Offenbarung ein erstes Kommunikationsgerät und ein zweites Kommunikationsgerät, welche miteinander kommunizieren. Ein erstes Uhrmittel in dem ersten Kommunikationsgerät umfasst einen ersten Zähler zum Zählen einer verstrichenen Zeit und einen zweiten Zähler zum Zählen eines Überlaufs des ersten Zählers. Ein erstes Datenkonvertierungsmittel in dem ersten Kommunikationsgerät ersetzt einen Wert des zweiten Zählers mit einem Wert, welcher an einem vorbestimmten Zeitpunkt mit einem vorbestimmten Verfahren erzeugt wird, womit der zweite Zähler veranlasst wird, gestreute Werte anzugeben. Ein erstes Fehlerdetektionsmittel in dem ersten Kommunikationsgerät erzeugt einen ersten Fehlerdetektionscode basierend auf einem Wert des ersten Zählers und einem Wert des zweiten Zählers. Ein erstes Kommunikationsmittel in dem ersten Kommunikationsgerät erzeugt ein Frame, welches an das zweite Kommunikationsgerät weiterzugebende Daten und den Wert des ersten Zählers und den zu den Daten hinzugefügten ersten Fehlerdetektionscode enthält, und sendet das erzeugte Frame an das zweite Kommunikationsgerät. Ein zweites Uhrmittel in dem zweiten Kommunikationsgerät umfasst einen dritten Zähler zum Zählen einer verstrichenen Zeit und einen vierten Zähler zum Zählen eines Überlaufs des dritten Zählers. Ein zweites Datenkonvertierungsmittel in dem zweiten Kommunikationsgerät ersetzt einen Wert des vierten Zählers mit einem Wert, welcher an dem vorbestimmten Zeitpunkt mit dem vorbestimmten Verfahren erzeugt wird, womit der vierte Zähler veranlasst wird, gestreute Werte anzugeben. Ein zweites Kommunikationsmittel in dem zweiten Kommunikationsgerät empfängt das Frame von dem ersten Kommunikationsgerät. Ein zweites Fehlerdetektionsmittel in dem zweiten Kommunikationsgerät erzeugt einen zweiten Fehlerdetektionscode basierend auf dem in dem Frame enthaltenen Wert des ersten Zählers und dem Wert des vierten Zählers in dem zweiten Uhrmittel und bestimmt, ob der erzeugte zweite Fehlerdetektionscode eine Bedingung erfüllt, die für den in dem Frame enthaltenen ersten Fehlerdetektionscode eingestellt ist.
  • Vorteilhafte Wirkungen der Erfindung
  • Ein erstes Kommunikationsgerät in einem Kommunikationssystem gemäß der vorliegenden Offenbarung ersetzt den Wert eines zweiten Zählers, welcher Überläufe des ersten Zählers zählt, mit einem Wert, welcher an einem eingestellten Zeitpunkt mit einem eingestellten Verfahren erzeugt wird, womit der zweite Zähler veranlasst wird, gestreute Werte anzugeben. Gleich dem ersten Kommunikationsgerät ersetzt ein zweites Kommunikationsgerät einen Wert eines vierten Zählers, welcher Überläufe eines dritten Zählers zählt, mit einem Wert, welcher an einem eingestellten Zeitpunkt mit einem eingestellten Verfahren erzeugt wird, womit der vierte Zähler veranlasst wird, gestreute Werte anzugeben. Diese Struktur kann daher einen Taktzähler, Werte mit gestreuten Häufigkeiten anzugeben.
  • Figurenliste
    • 1 ist ein Blockdiagramm, welches eine Hardwarekonfiguration eines Kommunikationssystems gemäß Ausführungsform 1 zeigt;
    • 2 ist ein Funktionsblockdiagramm des Kommunikationssystems gemäß Ausführungsform 1;
    • 3 ist ein schematisches Diagramm einer Sicherheitsuhr gemäß Ausführungsform 1;
    • 4A ist ein Diagramm, welches das Zählen einer bekannten Sicherheitsuhr zeigt;
    • 4B ist ein Diagramm, welches einen Überlauf eines Zeitstempels in einer bekannten Sicherheitsuhr zeigt;
    • 5A ist ein Graph, welcher den Zusammenhang zwischen dem Wert eines Übertragzählers in einer bekannten Sicherheitsuhr und der Auftretenswahrscheinlichkeit des Wertes für den Übertragzähler unter Verwendung von null als Anfangswert zeigt;
    • 5B ist ein Graph, welcher den Zusammenhang zwischen dem Wert des Übertragzählers und der Auftretenswahrscheinlichkeit des Wertes für den Übertragzähler unter Verwendung des kalendarischen Datums als Anfangswert zeigt;
    • 6 ist ein Diagramm, welches ein Verfahren einer Datenkonvertierung durch Bitverschiebung zeigt, welches durch die Sicherheitsuhr gemäß Ausführungsform 1 ausgeführt wird;
    • 7 ist ein Diagramm, welches ein Überlaufen der Sicherheitsuhr gemäß Ausführungsform 1 zeigt;
    • 8 ein Diagramm, welches ein Verfahren zum Erzeugen einer zyklischen Redundanzprüfung (CRC) gemäß Ausführungsform 1 zeigt;
    • 9 ist ein Diagramm, welches ein Fehlerdetektionsverfahren gemäß Ausführungsform 1 zeigt;
    • 10 ist ein Ablaufdiagramm einer Datenkonvertierung gemäß Ausführungsform 1;
    • 11 ist ein schematisches Diagramm einer Sicherheitsuhr gemäß Ausführungsform 2;
    • 12 ist ein Diagramm, welches einen Überlauf der Sicherheitsuhr gemäß Ausführungsform 2 zeigt;
    • 13 ist ein Diagramm, welches ein Verfahren einer Datenkonvertierung durch Bitverschiebung zeigt, welches durch die Sicherheitsuhr gemäß Ausführungsform 2 durchgeführt wird;
    • 14 ist ein schematisches Diagramm eines Kommunikationssystems gemäß Ausführungsform 3;
    • 15 ist eine Tabelle gemäß Ausführungsform 3, welche Beispieldaten zeigt, die in Verwaltungsinformation gespeichert sind;
    • 16 ist ein Ablaufdiagramm einer Datenkonvertierung gemäß Ausführungsform 3;
    • 17 ist ein schematisches Diagramm eines Kommunikationssystems gemäß Ausführungsform 4; und
    • 18 ist eine Tabelle gemäß Ausführungsform 4, welche Beispieldaten zeigt, welche in einem Konvertierte-Daten-Speicher gespeichert sind.
  • Beschreibung von Ausführungsformen
  • Ein Kommunikationssystem 10 gemäß einer Ausführungsform der vorliegenden Offenbarung wird im Detail mit Bezug zu den Zeichnungen beschrieben.
  • Ausführungsform 1
  • Wie in 1 gezeigt, umfasst das Kommunikationssystem 10 gemäß Ausführungsform 1 speicherprogrammierbare Steuerungen 1 und 2, welche miteinander über ein Netzwerk 600 kommunizieren. Die speicherprogrammierbaren Steuerungen 1 und 2 steuern beispielsweise Detektoren oder steuerbare Geräte, welche beispielsweise in einem Produktionssystem oder einem Steuerungssystem arbeiten. Die steuerbaren Geräte umfassen Aktuatoren und Servomotoren für industrielle Roboter. Die speicherprogrammierbare Steuerung 1 ist ein Beispiel eines ersten Kommunikationsgeräts, und die speicherprogrammierbare Steuerung 2 ist ein Beispiel für ein zweites Kommunikationsgerät. Die speicherprogrammierbare Steuerung 1 ist zudem ein Beispiel für ein anderes Kommunikationsgerät, und die speicherprogrammierbare Steuerung 2 ist zudem ein Beispiel für ein Kommunikationsgerät. Die speicherprogrammierbare Steuerung 1 ist zudem ein Beispiel für einen ersten Computer, und die speicherprogrammierbare Steuerung 2 ist zudem ein Beispiel für einen zweiten Computer.
  • Die speicherprogrammierbare Steuerung 1 umfasst eine zentrale Verarbeitungseinheit (CPU) 100 und eine Netzwerkeinheit 200. Die CPU 100 und die Netzwerkeinheit 200 sind zusammen mit einer Energieversorgung (nicht gezeigt) auf einer Basiseinheit montiert und arbeiten mit Energie, die von der Energieversorgung bereitgestellt wird. Die CPU 100 und die Netzwerkeinheit 200 sind miteinander durch einen gemeinsamen Bus 300 verbunden und kommunizieren miteinander über den gemeinsamen Bus 300. Die CPU 100 steuert die gesamte speicherprogrammierbare Steuerung 1. Die Netzwerkeinheit 200 kommuniziert beispielsweise mit anderen Netzwerkeinheiten, Detektoren und steuerbaren Geräten, die durch die CPU 100 gesteuert werden.
  • Die speicherprogrammierbare Steuerung 2 umfasst eine CPU 101 und eine Netzwerkeinheit 201. Obwohl nachfolgend die speicherprogrammierbare Steuerung 1 als ein Beispiel beschrieben ist, hat die speicherprogrammierbare Steuerung 2 auch die gleiche Konfiguration wie die speicherprogrammierbare Steuerung 1.
  • In Ausführungsform 1 führen die speicherprogrammierbaren Steuerungen 1 und 2 eine Kommunikation zur Funktionssicherheit durch. Insbesondere bestimmen die speicherprogrammierbaren Steuerungen 1 und 2, dass ein Befehl in den empfangenen Daten ungültig ist und verwerfen die empfangenen Daten, wenn bestimmt wird, dass die empfangenen Daten nicht innerhalb einer erwarteten Zeitdauer angekommen sind. Die CPUs 100 und 101 umfassen daher Uhren, welche Zeitgeber sind, die synchron miteinander arbeiten. Die Uhren in den CPUs 100 und 101 werden später beschrieben.
  • Wie in 1 gezeigt, umfasst die CPU 100 als Hardwarekomponenten einen Speicher 110, welcher diverse Datensätze speichert, eine Kommunikationsschnittstellenschaltung 120, welche über den gemeinsamen Bus 300 mit der Netzwerkeinheit 200 kommuniziert, und eine Arithmetikeinheit 130, welche die gesamte CPU 100 steuert. Der Speicher 110 und die Kommunikationsschnittstellenschaltung 120 sind mit der Arithmetikeinheit 130 über einen internen Bus 190 zum Kommunizieren mit der Arithmetikeinheit 130 verbunden. Obwohl unten die CPU 100 als ein Beispiel beschrieben ist, hat die CPU 101 in der speicherprogrammierbaren Steuerung 2 die gleiche Konfiguration.
  • Der Speicher 110 umfasst einen flüchtigen Speicher und einen nichtflüchtigen Speicher und speichert Programme und diverse Datensätze. Der Speicher 110 wird als Arbeitsspeicher der Arithmetikeinheit 130 verwendet. Der Speicher 110 speichert ein Programm 001, welches von der Arithmetikeinheit 130 zum Implementieren einer Datenkonvertierung und einer Fehlerdetektion (später beschrieben) auszuführen ist.
  • Unter Steuerung durch die Arithmetikeinheit 130 sendet und empfängt die Kommunikationsschnittstellenschaltung 120 Daten an und von der Netzwerkeinheit 200 über den gemeinsamen Bus 300. Die Kommunikationsschnittstellenschaltung 120 sendet von der Arithmetikeinheit 130 ausgegebene Daten über den gemeinsamen Bus 300 an die Netzwerkeinheit 200. Beispieldaten, die von der Kommunikationsschnittstellenschaltung 120 an die Netzwerkeinheit 200 gesendet werden, umfassen einen Befehl, der durch die CPU 100 in der speicherprogrammierbaren Steuerung 1 an die CPU 101 in der speicherprogrammierbaren Steuerung 2 gesendet wird. Die Kommunikationsschnittstellenschaltung 120 gibt Daten, die über den gemeinsamen Bus 300 von der Netzwerkeinheit 200 empfangen werden, an die Arithmetikeinheit 130 aus. Beispieldaten, welche durch die Kommunikationsschnittstellenschaltung 120 von der Netzwerkeinheit 200 empfangen werden, umfassen einen Befehl, welcher durch die CPU 101 in der speicherprogrammierbaren Steuerung 2 an die CPU 100 in der speicherprogrammierbaren Steuerung 1 gesendet wird.
  • Die Arithmetikeinheit 130 umfasst eine CPU. Die Arithmetikeinheit 130 führt diverse Programme aus, die in dem Speicher 110 gespeichert sind, um diverse Funktionen der CPU 100 zu implementieren.
  • Die Netzwerkeinheit 200 umfasst als Hardwarekomponenten einen Speicher 210, welcher diverse Datensätze speichert, eine Kommunikationsschnittstellenschaltung 220 zum Kommunizieren und eine Arithmetikeinheit 230, welche die gesamte Netzwerkeinheit 200 steuert. Der Speicher 210 und die Netzwerkschnittstellenschaltung 220 sind mit der Arithmetikeinheit 230 über einen internen Bus 290 verbunden und kommunizieren mit der Arithmetikeinheit 230. Obwohl die Netzwerkeinheit 200 als ein Beispiel beschrieben ist, hat die Netzwerkeinheit 201 in der speicherprogrammierbaren Steuerung 2 auch die gleiche Konfiguration.
  • Der Speicher 210 umfasst einen flüchtigen Speicher und einen nichtflüchtigen Speicher und speichert diverse Datensätze und Programme, die durch die Arithmetikeinheit 230 zur Implementierung diverser Funktionen der Netzwerkeinheit 200 ausgeführt werden. Der Speicher 210 speichert temporär Daten, die von der CPU 100 und von der Netzwerkeinheit 201 empfangen werden. Die Kommunikationsschnittstellenschaltung 220 sendet und empfängt Daten an und von der CPU 100 über den gemeinsamen Bus 300. Die Kommunikationsschnittstellenschaltung 220 sendet Daten von der CPU 100 über das Netzwerk 600 an die Netzwerkeinheit 201. Die Kommunikationsschnittstellenschaltung 220 stellt an die CPU 100 die Daten bereit, welche über das Netzwerk 600 von der Netzwerkeinheit 201 empfangen werden. Die Arithmetikeinheit 230 umfasst eine CPU. Die Arithmetikeinheit 230 führt die in dem Speicher 210 gespeicherten Programme aus, um diverse Funktionen der Netzwerkeinheit 200 zu implementieren.
  • Wie in 2 gezeigt, umfasst die CPU 100 als funktionelle Einheiten eine Sicherheitsuhr 111 für Funktionssicherheit, einen Konvertierungsverfahren-Speicher 112, welcher ein Verfahren zum Konvertieren des Wertes eines Zählers in der Sicherheitsuhr 111 speichert, einen Konvertierungszeitpunkt-Speicher 113, welcher einen Zeitpunkt des Konvertierens des Wertes des Zählers in der Sicherheitsuhr 111 speichert, einen Empfangene-Daten-Speicher 114, welcher Daten speichert, die von der speicherprogrammierbaren Steuerung 2 empfangen werden, einen Gesendete-Daten-Speicher 115, welcher an die speicherprogrammierbare Steuerung 2 weitergegebene Daten speichert, einen Uhrwert-Konvertierer 151, welcher den Wert des Zählers in der Sicherheitsuhr 111 konvertiert, einen Kommunikator 152, welcher Daten erzeugt, die mit einem anderen Kommunikationsgerät auszutauschen sind, einen Fehlerdetektor 153, welcher eine Fehlerdetektion von gesendeten und empfangenen Daten durchführt, und einen Datenprozessor 154, welcher diverse Datenverarbeitungen durchführt.
  • Der Konvertierungsverfahren-Speicher 112 und der Konvertierungszeitpunkt-Speicher 113 in der CPU 100 sind Beispiele für ein erstes Speichermittel. Der Uhrwert-Konvertierer 151 in der CPU 100 ist ein Beispiel für ein erstes Datenkonvertierungsmittel. Der Kommunikator 152 in der CPU 100 ist ein Beispiel für ein erstes Kommunikationsmittel. Der Fehlerdetektor 153 in der CPU 100 ist ein Beispiel für ein erstes Fehlerdetektionsmittel.
  • Die Sicherheitsuhr 111 ist ein Zeitgeber mit einer Takterzeugungsschaltung, welche nach jeder eingestellten Periode einen Takt erzeugt, und einem Zähler, welcher die erzeugten Taktsignale zählt. Wie in 3 gezeigt, umfasst die Sicherheitsuhr 111 zwei Zähler, d. h. einen Zeitstempel 1111 und einen Übertragzähler 1112. Der Zeitstempel 1111 zählt Taktsignale, welche von einer Takterzeugungsschaltung (nicht gezeigt) ausgegeben werden. Der Übertragzähler 1112 wird inkrementiert, wenn der Zeitstempel 1111 überläuft. In dem gezeigten Beispiel wird der Zählwert des Zeitstempels 1111 in den unteren 16 Bits gespeichert. Der Zählwert des Übertragzählers 1112 wird in oberen 32 Bits gespeichert.
  • Der Zeitstempel 1111 ist dazu ausgebildet, eine ausreichend lange Zeit zu zählen. Der Zeitstempel 1111 kann eine ausreichend lange Zeit zählen und läuft daher selten über. Der Übertragzähler 1112 ändert den Wert gegenüber dem Anfangswert daher selten und kann nicht-gestreute Werte angeben. In Ausführungsform 1 wird der Wert des Übertragzählers 1112 an einem vorbestimmten Zeitpunkt mit einem vorbestimmten Verfahren konvertiert, womit der Übertragzähler 1112 veranlasst wird, gestreute Werte anzugeben.
  • Der Übertragzähler 1112 wird inkrementiert, wenn der Zeitstempel 1111 überläuft. Jedoch wird der Wert des Übertragzählers 1112 an einem vorbestimmten Zeitpunkt konvertiert und repräsentiert daher nicht streng die Anzahl, wie oft der Zeitstempel 1111 übergelaufen ist. Die Konvertierung des Wertes des Übertragzählers 1112 wird später beschrieben. Die Sicherheitsuhr 111 wird durch den Speicher 110 und die Arithmetikeinheit 130, gezeigt in 1, implementiert.
  • Die Sicherheitsuhr 111 in der CPU 100, gezeigt in 2, ist ein Beispiel eines ersten Uhrmittels. Der Zeitstempel 1111 in der Sicherheitsuhr in der CPU 100 ist ein Beispiel eines ersten Zählers. Der Übertragzähler 1112 der Sicherheitsuhr 111 in der CPU 100 ist ein Beispiel eines zweiten Zählers.
  • Die Sicherheitsuhr 111 in der CPU 101 hat die gleiche Konfiguration wie die Sicherheitsuhr 111 in der CPU 100. Die Takterzeugungsschaltung in der Sicherheitsuhr 111 in der CPU 101 (nicht gezeigt) erzeugt Takte an dem gleichen Zeitpunkt wie die Takterzeugungsschaltung in der Sicherheitsuhr 111 in der CPU 100. Die Anfangswerte des Zeitstempels 1111 und des Übertragzählers 1112 in der Sicherheitsuhr 111 in der CPU 101 sind die gleichen wie die Anfangswerte des Zeitstempels 1111 und des Übertragzählers 1112 in der Sicherheitsuhr 111 in der CPU 100. Auf gleiche Weise wie die CPU 100 konvertiert die CPU 101 den Wert des Übertragzählers 1112 an einem vorbestimmten Zeitpunkt mit einem vorbestimmten Verfahren, wodurch der Übertragzähler 1112 veranlasst wird, gestreute Werte anzugeben. Die Werte des Zeitstempels 1111 und des Übertragzählers 1112 in der Sicherheitsuhr 111 in der CPU 101 werden daher gesteuert, um fortwährend mit den Werten des Zeitstempels 1111 und des Übertragzählers 1112 in der Sicherheitsuhr 111 in der CPU 100 übereinzustimmen.
  • Die Sicherheitsuhr 111 in der CPU 101 ist ein Beispiel eines zweiten Uhrmittels. Der Zeitstempel 1111 in der Sicherheitsuhr 111 in der CPU 101 ist ein Beispiel eines dritten Zählers. Der Übertragzähler 1112 in der Sicherheitsuhr 111 in der CPU 101 ist ein Beispiel eines vierten Zählers.
  • Zum Vergleich wird mit Bezug zu den 4A und 4B zuerst ein Zählverfahren beschrieben, welches von einer bekannten Sicherheitsuhr verwendet wird. In dem unten beschriebenen Beispiel sind der Zeitstempel 11 und der Übertragzähler 12 in der Sicherheitsuhr auf die Anfangswerte null eingestellt. Die Anfangswerte des Zeitstempels 11 und des Übertragzählers 12 in der Sicherheitsuhr werden beispielsweise durch einen Verwalter der speicherprogrammierbaren Steuerungen 1 und 2 eingestellt.
  • Wie in 4A gezeigt, werden die unteren 16 Bits des Zeitstempels 11 nach jeder eingestellten Periode mit einem bekannten Verfahren inkrementiert. Wie in 4B gezeigt, wenn der Wert des Zeitstempels 11 den größten zählbaren Wert überschreitet oder wenn der Zeitstempel 11 überläuft, wird der Übertragzähler 12 inkrementiert und der Zeitstempel 11 auf den Anfangswert von null zurückgesetzt. Der Zeitstempel 11 wird sequenziell inkrementiert und, wenn der Zeitstempel 11 wieder überläuft, wird der Übertragzähler 12 inkrementiert. Mit einem bekannten Verfahren kann der Übertragzähler 12 daher einen Wert haben, welcher die Anzahl repräsentiert, wie oft der Zeitstempel 11 übergelaufen ist. Die Werte des Übertragzählers 12 und des Zeitstempels 11, die in den 4A und 4B gezeigt sind, sind hexadezimal. Das Gleiche gilt nachfolgend.
  • Anstelle von null kann ein Verwalter der speicherprogrammierbaren Steuerungen 1 und 2 den Übertragzähler 1112 auf das kalendarische Datum als Anfangswert setzen. Beispielsweise kann der Anfangswert ein Wert sein, welcher den 10. April angibt. Der Zeitstempel 1111 wird auf gleiche Weise nach jeder eingestellten Periode inkrementiert, und der Übertragzähler 12 wird inkrementiert, wenn der Zeitstempel 11 überläuft.
  • Der Zeitstempel 11 ist dazu ausgebildet, eine ausreichend lange Zeit zu zählen, und daher wird erwartet, dass er selten überläuft. Es ist daher wahrscheinlicher, dass der Übertragzähler 12 den Anfangswert beibehält oder einen Wert nahe dem Anfangswert hat. Mit anderen Worten ist es sehr wahrscheinlich, dass der Übertragzähler 12 einen Wert hat, der gleich oder nahe dem Anfangswert ist.
  • Wie in 5A gezeigt, tritt für den Wert des Übertragzählers 12 mit hoher Häufigkeit null oder ein Wert nahe null auf, wenn der Übertragzähler 12 auf null als Anfangswert eingestellt ist. Der Übertragzähler 12 wird weniger häufig inkrementiert und der Zeitstempel 11 und der Übertragzähler 12 können zurückgesetzt werden, beispielsweise als Reaktion auf einen Neustart des Geräts. Dies begrenzt die Werte, die der Übertragzähler 12 in der Praxis angibt. Wie in 5B gezeigt, wenn der Übertragzähler 12 auf das aktuelle Datum als Anfangswert eingestellt ist, tritt für den Wert des Übertragzählers 12 mit hoher Häufigkeit das als Anfangswert eingestellte Datum oder der Wert nahe dem eingestellten Datum auf. Wenn der Übertragzähler 12 auf null eingestellt ist oder wenn der Übertragzähler 12 auf das kalendarische Datum als Anfangswert eingestellt ist, kann der Übertragzähler 12 nicht-gestreute Werte haben, wie in den 5A und 5B gezeigt.
  • In Erwiderung auf diese Umstände schiebt die CPU 100 in Ausführungsform 1 ein oder mehr Bits, welche den Wert des Übertragzählers 1112 in der Sicherheitsuhr 111 angeben, an einem eingestellten Zeitpunkt, um den Wert des Übertragzählers 1112 zu konvertieren. Diese Bitverschiebung an dem eingestellten Zeitpunkt ändert den Wert des Übertragzählers 1112 auf einen Wert, der von dem Wert vor der Konvertierung verschieden ist. Die CPU 100 konvertiert den Wert des Übertragzählers 1112 mit einer Bitverschiebung, und der Übertragzähler 1112 wird nicht sequenziell inkrementiert. Dies veranlasst den Übertragzähler 1112 dazu, gestreute Werte anzugeben. Der Zeitstempel 1111 wird von dem eingestellten Anfangswert nach jeder eingestellten Periode mit einem bekannten Verfahren sequenziell inkrementiert. Wenn der Zeitstempel 1111 nach der Konvertierung mit einer Bitverschiebung überläuft, wird der Übertragzähler 1112 ausgehend von dem aus der Konvertierung erhaltenen Wert inkrementiert. Wenn der Zeitstempel 1111 vor der Konvertierung mit Bitverschiebung überläuft, wird der Übertragzähler 1112 ausgehend von dem eingestellten Anfangswert inkrementiert. Ein bestimmtes Verfahren zum Konvertieren des Wertes des Übertragzählers 1112 wird später beschrieben.
  • Der Konvertierungsverfahren-Speicher 112, gezeigt in 2, speichert Daten, welche ein Verfahren zum Konvertieren des Wertes des Übertragzählers 1112 in der Sicherheitsuhr 111 repräsentieren. Beispielsweise speichert ein Verwalter der speicherprogrammierbaren Steuerungen 1 und 2 vorab in dem Konvertierungsverfahren-Speicher 112 Daten, welche ein Verfahren zum Konvertieren des Wertes des Übertragzählers 1112 in der Sicherheitsuhr 111 repräsentieren. Der Konvertierungsverfahren-Speicher 112 wird durch den Speicher 110 implementiert. In Ausführungsform 1 wird, wie oben beschrieben, der Wert des Übertragzählers 1112 in der Sicherheitsuhr 111 durch eine Bitverschiebung konvertiert. Der Konvertierungsverfahren-Speicher 112 speichert daher eine Information über den Übertragzähler 1112, welche ein oder mehr zu konvertierende Bits angibt, die Verschiebungsrichtung angibt und die Anzahl der zu verschiebenden Bits angibt.
  • Wie in 6 gezeigt, ist der Übertragzähler 1112 in der Sicherheitsuhr 111 beispielsweise auf das Kalenderdatum des 1. April als Anfangswert eingestellt. Insbesondere ist der Zähler auf einen Wert eingestellt, der erhalten wird durch Konvertieren der einstelligen Dezimalwerte von 0, 4, 0 und 1 zu achtstelligen Binärwerten. Als Konvertierungsverfahren speichert der Konvertierungsverfahren-Speicher 112 eine zyklische Rechtsverschiebung der oberen 24 Bits um 8 Bits. Das zyklische Verschieben der oberen 24 Bits nach rechts um 8 Bits ordnet die oberen 24 Bits des Übertragzählers 1112 neu an.
  • Zum Beispiel, wenn der Zeitstempel 1111 in dem in 7 gezeigten Zustand überläuft, wird der Übertragzähler 1112 inkrementiert.
  • Der Konvertierungszeitpunkt-Speicher 113 speichert Daten, welche einen Zeitpunkt angeben, an welchem der Wert in dem Übertragzähler 1112 der Sicherheitsuhr 111 konvertiert wird. Beispielsweise speichert der Verwalter der speicherprogrammierbaren Steuerungen 1 und 2 vorab in dem Konvertierungszeitpunkt-Speicher 113 Daten, welche einen Zeitpunkt angeben, an welchem der Wert des Übertragzählers 1112 in der Sicherheitsuhr 111 konvertiert wird. Der Konvertierungszeitpunkt-Speicher 113 wird durch den in 1 gezeigten Speicher 110 implementiert. Der in 2 gezeigte Konvertierungszeitpunkt-Speicher 113 speichert Daten, welche den Zeitpunkt angeben, unabhängig von dem eingestellten Zeitpunkt, an welchem der Zeitstempel 1111 inkrementiert wird.
  • Der Wert des Übertragzählers 1112 kann an einem Zeitpunkt konvertiert werden, welcher beispielsweise einmal je Millisekunde oder einmal je vorbestimmter Anzahl des Zählens durch den Zeitstempel 1111 in der Sicherheitsuhr 111. Der Konvertierungszeitpunkt kann jedes Mal sein, wenn die Sicherheitsuhr 111 überläuft oder wenn der Wert des eingestellten Bits der Sicherheitsuhr 111 geändert wird. Um die ungleiche Streuung der Werte des Zählers in der Sicherheitsuhr 111 zu unterbinden, kann in der Ausführungsform 1 der Wert des Übertragzählers 1112 in kurzen Zyklen konvertiert werden.
  • Der Empfangene-Daten-Speicher 114 speichert Daten, welche durch die Netzwerkeinheit 200 von der Netzwerkeinheit 201 empfangen werden und für welche der Fehlerdetektor 153 durch Detektion bestimmt hat, dass sie keinen Fehler haben. Die durch die Netzwerkeinheit 200 von der Netzwerkeinheit 201 empfangenen Daten umfassen beispielsweise einen Befehl von der speicherprogrammierbaren Steuerung 2 an die speicherprogrammierbare Steuerung 1. Der Empfangene-Daten-Speicher 114 wird durch den in 1 gezeigten Speicher 110 implementiert. Daten, welche in dem in 2 gezeigten Empfangene-Daten-Speicher 114 gespeichert sind, werden je nach Erfordernis durch den Datenprozessor 154 (später beschrieben) verarbeitet.
  • Der Gesendete-Daten-Speicher 115 speichert Daten, die an die speicherprogrammierbare Steuerung 2 zu senden sind. Der Gesendete-Daten-Speicher 115 wird durch den in 1 gezeigten Speicher 110 implementiert. Der Datenprozessor 154 (später beschrieben) schreibt Sendedaten in den in 2 gezeigten Gesendete-Daten-Speicher 115.
  • Der Uhrwert-Konvertierer 151 konvertiert den Wert des Übertragzählers 1112 in der Sicherheitsuhr 111 unter Verwendung eines Verfahrens, welches von dem Konvertierungsverfahren-Speicher 112 zum Speichern von Daten verwendet wird, an einem Zeitpunkt, wenn der Konvertierungszeitpunkt-Speicher 113 Daten speichert. Die Funktion des Uhrwert-Konvertierers 151 wird durch die in 1 gezeigte Arithmetikeinheit 130 implementiert, welche das Programm 001 ausführt.
  • Der Kommunikator 152 erzeugt ein Sendeframe, welches an die speicherprogrammierbare Steuerung 2 zu senden ist. Das Sendeframe umfasst einen Header, einen Datenteil und einen Fehlerdetektionscode. Der Header umfasst Adressinformation. Der Datenteil umfasst in dem Gesendete-Daten-Speicher 115 gespeicherte Daten, die an die speicherprogrammierbare Steuerung 2 weitergegeben werden, und den Wert des Zeitstempels 1111 in der Sicherheitsuhr 111. Der Fehlerdetektionscode wird durch den Fehlerdetektor 153 (später beschrieben) erzeugt. Der Kommunikator 152 sendet das erzeugte Sendeframe an die Netzwerkeinheit 200 über den gemeinsamen Bus 300. Der Kommunikator 152 empfängt Daten von der Netzwerkeinheit 200 über den gemeinsamen Bus 300. Von der Netzwerkeinheit 200 gesendete Daten entsprechen Daten, die durch die Netzwerkeinheit 200 von der Netzwerkeinheit 201 in der speicherprogrammierbaren Steuerung 2 empfangen werden. Der Kommunikator 152 wird durch die Kommunikationsschnittstellenschaltung 120 und die Arithmetikeinheit 130, gezeigt in 1, implementiert.
  • Der in 2 gezeigte Fehlerdetektor 153 erzeugt eine zyklische Redundanzprüfung (CRC), welche dem Sendeframe zum Senden an die speicherprogrammierbare Steuerung 2 hinzuzufügen ist. Der Fehlerdetektor 153 führt eine Fehlerdetektion unter Verwendung einer CRC durch, welche dem Frame hinzugefügt ist, welches von der speicherprogrammierbaren Steuerung 2 empfangen wird. In der vorliegenden Ausführungsform verwendet der Fehlerdetektor 153 eine CRC, um eine Fehlerprüfung durchzuführen, um zu bestimmen, ob Daten auf dem Übertragungsweg beschädigt wurden. Die Funktion des Fehlerdetektors 153 wird durch die in 1 gezeigte Arithmetikeinheit 130 implementiert, welche das Programm 001 ausführt.
  • Insbesondere berechnet der in 2 gezeigte Fehlerdetektor 153 eine CRC als einen Fehlerdetektionscode, welcher dem Sendeframe zum Senden an die Netzwerkeinheit 201 durch die Netzwerkeinheit 200 hinzugefügt ist. Wie in 8 gezeigt, erzeugt der Fehlerdetektor 153 in Ausführungsform 1 eine CRC basierend auf den an die speicherprogrammierbare Steuerung 2 weitergegebenen Daten, die in dem Gesendete-Daten-Speicher 115 gespeichert sind, und den Werten des Zeitstempels 1111 und des Übertragzählers 1112 in der Sicherheitsuhr 111. Der Fehlerdetektor 153 gibt die erzeugte CRC an den Kommunikator 152 aus. Nachfolgend wird die CRC, welche durch einen Sender erzeugt wird, als CRC_s bezeichnet. Die CRC_s, die durch den Sender erzeugt wird, ist ein Beispiel eines ersten Fehlerdetektionscodes.
  • Wie in 9 gezeigt, bestimmt der Fehlerdetektor 153, ob die CRC_s, welche dem durch die Netzwerkeinheit 200 von der Netzwerkeinheit 201 empfangenen Frame hinzugefügt ist, mit der basierend auf dem empfangenen Frame berechneten CRC übereinstimmt. Wie oben beschrieben, erzeugt der Sender eine CRC_s basierend auf Sendedaten und den Werten des Zeitstempels 1111 und des Übertragzählers 1112 in der Sicherheitsuhr 111. Der Fehlerdetektor 153 erzeugt daher eine CRC basierend auf Daten, welche in dem Datenteil des von dem Kommunikator 152 empfangenen Frames enthalten sind, dem in dem Datenteil enthaltenen Wert des Zeitstempels 1111 und dem Wert des Übertragzählers 1112 in der korrespondierenden Sicherheitsuhr 111. Nachfolgend kann eine CRC, welche durch einen Empfänger erzeugt wird, als CRC_r benannt sein. Der Fehlerdetektor 153 bestimmt, ob die erzeugte CRC_r mit der in dem empfangenen Frame enthaltenen CRC_s übereinstimmt. Die durch den Empfänger erzeugte CRC_r ist ein Beispiel für einen zweiten Fehlerdetektionscode.
  • Wenn die CRC_r und die CRC_s nicht übereinstimmen, verwirft der Fehlerdetektor 153 das empfangene Frame, weil die Daten des empfangenen Frames beschädigt sind.
  • Wenn die CRC_r und die CRC_s übereinstimmen, bestimmt der Fehlerdetektor 153, ob der Wert des Zeitstempels 1111, welcher in dem Datenteil der empfangenen Daten enthalten ist, eine bestimmte Zeit angibt, die früher als die aktuelle Zeit ist, die durch den Zeitstempel 1111 in der korrespondierenden Sicherheitsuhr 111 angegeben wird. Insbesondere bestimmt der Fehlerdetektor 153, ob der Zeitpunkt, der durch Addieren einer bestimmten Offsetzeit zu dem in den empfangenen Daten enthaltenen Wert des Zeitstempels 1111 erhalten wird, früher als die aktuelle Zeit ist, welche durch die korrespondierende Sicherheitsuhr 111 angegeben wird. Dies bestimmt, ob die empfangenen Daten innerhalb einer erwarteten Zeitdauer angekommen sind.
  • Wenn bestimmt wird, dass die Zeit, die durch Addieren einer bestimmten Offsetzeit zu dem in den empfangenen Daten enthaltenen Wert des Zeitstempels 1111 erhalten wird, früher ist als die aktuelle Zeit, welche durch die korrespondierende Sicherheitsuhr 111 angegeben wird, speichert der Fehlerdetektor 153 die Daten des empfangenen Frames in den Empfangene-Daten-Speicher 114.
  • Wenn bestimmt wird, dass die Zeit, die durch Addieren einer bestimmten Offsetzeit zu dem in den empfangenen Daten enthaltenen Wert des Zeitstempels 1111 erhalten wird, später ist als die aktuelle Zeit, welche durch die korrespondierende Sicherheitsuhr 111 angegeben wird, verwirft der Fehlerdetektor 153 das empfangene Frame, weil das empfangene Frame nicht innerhalb einer erwarteten Zeitdauer angekommen ist.
  • Der Datenprozessor 154 speichert an die speicherprogrammierbare Steuerung 2 weitergegebene Daten in den Gesendete-Daten-Speicher 115. Der Datenprozessor 154 speichert in den Gesendete-Daten-Speicher 115 beispielsweise einen Befehl an ein steuerbares Gerät, welches mit der speicherprogrammierbaren Steuerung 2 verbunden ist, als die an die speicherprogrammierbare Steuerung 2 weitergegebenen Daten. Der Datenprozessor 154 führt eine geeignete Verarbeitung mit Daten durch, die in dem Empfangene-Daten-Speicher 114 gespeichert sind. Wenn die in dem Datenprozessor 154 gespeicherten Daten Inspektionsdaten sind, die durch die speicherprogrammierbare Steuerung 2 gesammelt wurden, führt der Datenprozessor 154 eine Statistikverarbeitung mit den Inspektionsdaten durch. Der Datenprozessor 154 wird durch die in 1 gezeigte Arithmetikeinheit 130 implementiert.
  • Die CPU 101 in der speicherprogrammierbaren Steuerung 2, gezeigt in 2, hat die gleiche Konfiguration wie die CPU 100.
  • Die Werte der Sicherheitsuhren 111 müssen zwischen der CPU 100 in der speicherprogrammierbaren Steuerung 1 und der CPU 101 in der speicherprogrammierbaren Steuerung 2 übereinstimmen. Der Konvertierungsverfahren-Speicher 112 in der CPU 101 speichert daher Daten über das gleiche Konvertierungsverfahren wie das Verfahren in dem Konvertierungsverfahren-Speicher 112 in der CPU 100. Beispielsweise speichert ein Verwalter der speicherprogrammierbaren Steuerungen 1 und 2 in den Konvertierungsverfahren-Speicher 112 in der CPU 101 Daten über das gleiche Konvertierungsverfahren wie das Verfahren in dem Konvertierungsverfahren-Speicher 112 in der CPU 100. Der Konvertierungszeitpunkt-Speicher 113 in der CPU 101 speichert Information über den gleichen Konvertierungszeitpunkt wie der Zeitpunkt in dem Konvertierungszeitpunkt-Speicher 113 in der CPU 100. Daher konvertiert die CPU 101 in der speicherprogrammierbaren Steuerung 2 ebenfalls den Wert des Übertragzählers in der Sicherheitsuhr 111 zu dem gleichen Zeitpunkt und mit dem gleichen Verfahren wie die CPU 100 in der speicherprogrammierbaren Steuerung 1. Daher stimmen die Werte der Sicherheitsuhren 111 in den CPUs 100 und 101 fortwährend überein. Jede der CPUs 100 und 101 konvertiert den Wert des Übertragzählers 1112 in der korrespondierenden Sicherheitsuhr 111 mit einer Bitverschiebung. Daher wird der Wert des Übertragzählers 1112 in den CPUs 100 und 101 jeweils nicht sequenziell inkrementiert. Die durch die Übertragzähler 1112 angegebenen Werte können daher gestreut sein. Die Sicherheitsuhren 111 in den speicherprogrammierbaren Steuerungen 1 und 2 werden auf den gleichen Anfangswert eingestellt.
  • Der Konvertierungsverfahren-Speicher 112 und der Konvertierungszeitpunkt-Speicher 113 in der CPU 101 sind Beispiele eines zweiten Speichermittels. Der Uhrwert-Konvertierer 151 in der CPU 101 ist ein Beispiel für ein zweites Datenkonvertierungsmittel. Der Kommunikator 152 in der CPU 101 ist ein Beispiel für ein zweites Kommunikationsmittel. Der Fehlerdetektor 153 in der CPU 101 ist ein Beispiel für ein zweites Fehlerdetektionsmittel.
  • Die Netzwerkeinheit 200 umfasst als Funktionseinheit einen Kommunikator 221, welcher mit der CPU 100 über einen gemeinsamen Bus kommuniziert und mit der Netzwerkeinheit 201 kommuniziert.
  • Der Kommunikator 221 sendet und empfängt Daten an und von der CPU 100 über den gemeinsamen Bus 300. Der Kommunikator 221 kommuniziert mit der Netzwerkeinheit 201 über das Netzwerk 600. Beispielsweise empfängt der Kommunikator 221 von der CPU 100 über den gemeinsamen Bus 300 Daten, die an die speicherprogrammierbare Steuerung 2 weitergegeben werden. Der Kommunikator 221 sendet die empfangenen Daten an die Netzwerkeinheit 201 über das Netzwerk 600. Der Kommunikator 221 empfängt Daten von der Netzwerkeinheit 201 über das Netzwerk 600. Der Kommunikator 221 sendet die empfangenen Daten über den gemeinsamen Bus 300 an die CPU 100. Der Kommunikator 221 wird durch den Speicher 210, die Kommunikationsschnittstelle 220 und die Arithmetikeinheit 230, gezeigt in 1, implementiert.
  • Das Netzwerk 600 ist beispielsweise ein LAN (Local Area Network) gemäß Ethernet (registrierte Marke).
  • Nun wird die Konvertierung beschrieben, welche durch den Uhrwert-Konvertierer 151, gezeigt in 2, durchgeführt wird. Wie in 10 gezeigt, bestimmt der Uhrwert-Konvertierer 151, ob der aktuelle Zeitpunkt ein in dem Konvertierungszeitpunkt-Speicher 113 gespeicherter Zeitpunkt zum Konvertieren ist (Schritt S11). Wenn bestimmt wird, dass der aktuelle Zeitpunkt ein Zeitpunkt zum Durchführen der Konvertierung ist (Ja in Schritt S11), konvertiert der Uhrwert-Konvertierer 151 den Uhrwert (Schritt S12).
  • Beispielsweise speichert der Konvertierungsverfahren-Speicher 112 als Konvertierungsverfahren eine zyklische Rechtsverschiebung der oberen 24 Bits um 8 Bits. Wie in 6 gezeigt, verschiebt der Uhrwert-Konvertierer 151 die oberen 24 Bits des Wertes des Zählers in der Sicherheitsuhr 111 zyklisch nach rechts um 8 Bits. Daher wird der Wert des Übertragzählers 1112 in der Sicherheitsuhr 111 mit dem aus der Konvertierung erhaltenen Wert überschrieben. Wie in 10 gezeigt, schreitet der Uhrwert-Konvertierer 151 wieder zu der Verarbeitung in Schritt S11 voran.
  • Wenn in Schritt S11 bestimmt wird, dass der aktuelle Zeitpunkt kein Zeitpunkt zum Durchführen der Konvertierung ist (Nein in Schritt S11), wartet der Uhrwert-Konvertierer 151 bis zu dem Zeitpunkt für die Konvertierung.
  • Die CPU 101 konvertiert den Wert des Übertragzählers 1112 in der Sicherheitsuhr 111 zu dem gleichen Zeitpunkt und mit dem gleichen Verfahren wie die CPU 100. Daher sind die Werte des Übertragzählers 1112 in der Sicherheitsuhr 111 in der CPU 100 und die Werte des Übertragzählers 1112 in der Sicherheitsuhr 111 in der CPU 101 gleich gestreut.
  • Das Obige beschreibt die Konfiguration gemäß Ausführungsform 1. In Ausführungsform 1 werden die Werte des Übertragzählers 1112 unter den Zählern in der Sicherheitsuhr 111 mit bitverschobenen Werten ersetzt. Die Konvertierung der Werte des Zählers in der Sicherheitsuhr 111 innerhalb eines eingestellten Bereichs kann den Zähler in der Sicherheitsuhr 111 veranlassen, Werte mit gestreuten Häufigkeiten anzugeben. Jedoch können die Werte des Zählers in der Sicherheitsuhr 111 mit einem anderen Verfahren konvertiert werden.
  • Ausführungsform 2
  • In Ausführungsform 2 werden die Werte der Sicherheitsuhr konvertiert, indem die Werte des Zählers in der Sicherheitsuhr 111 mit Zufallszahlen ersetzt werden, welche mit einem vorbestimmten Erzeugungsverfahren erzeugt werden. Ausführungsform 2 wird mit Fokus auf ihre Unterschiede zur Ausführungsform 1 beschrieben.
  • Auf gleiche Weise wie in Ausführungsform 1 umfasst die in 2 gezeigte Sicherheitsuhr 111 eine Takterzeugungsschaltung, welche pro eingestellter Zeitdauer einen Takt erzeugt, und einen Zähler, welcher die erzeugten Taktsignale zählt. Wie in 11 gezeigt, umfasst die Sicherheitsuhr 111 gemäß Ausführungsform 2 zwei Zähler, d. h. den Zeitstempel 1111 und den Übertragzähler 1112. Der Zeitstempel 1111 zählt die Taktsignale, welche von der Takterzeugungsschaltung (nicht gezeigt) ausgegeben werden. Der Übertragzähler 1112 zählt Überläufe des Zeitstempels 1111. Die Sicherheitsuhr 111 umfasst zudem einen Scramblingbereich 1113, in welchem die Werte zu einem eingestellten Zeitpunkt überschrieben werden. 11 ist ein schematisches Diagramm der Sicherheitsuhr 111 gemäß Ausführungsform 2, welches eine Bitfolge zeigt, die durch die Zähler gehalten werden. Ausführungsform 2 ist gleich der in 3 gezeigten Ausführungsform 1 dahingehend, dass die unteren 16 Bits dem Bereich des Zeitstempels 1111 zugeordnet sind. 8 Bits der oberen 32 Bits sind dem Bereich des Übertragzählers 1112 zugeordnet. Die übrigen 24 Bits der oberen 32 Bits sind dem Scramblingbereich 1113 zugeordnet. In Ausführungsform 2 wird der Wert des Scramblingbereichs 1113 mit der erzeugten Zufallszahl an einem vorbestimmten Zeitpunkt ersetzt.
  • Obwohl Ausführungsform 2 von der Ausführungsform 1 hinsichtlich der Anzahl von Bits, die dem Übertragzähler 1112 zugeordnet sind, verschieden ist, wird der Übertragzähler 1112 inkrementiert, wenn der Zeitstempel 1111 überläuft, wie in 12 gezeigt.
  • Der in 2 gezeigte Konvertierungsverfahren-Speicher 112 definiert einen Konvertierungsbereich des in 11 gezeigten Scramblingbereichs 1113, einen Zufallszahl-Erzeugungsalgorithmus und einen Startwert für das Erzeugen von Zufallszahlen. Beispielsweise definiert der Konvertierungsverfahren-Speicher 112 die oberen 24 Bits als den Konvertierungsbereich, einen Algorithmus 2000 als den zu verwendenden Zufallszahl-Erzeugungsalgorithmus und einen Startwert 3000 als den zu verwendenden Startwert. Wenn der bestimmte Bereich mit der erzeugten Zufallszahl ersetzt wird, wird der Wert des Scramblingbereichs 1113 in der Sicherheitsuhr 111 beispielsweise auf die in 13 gezeigte Weise konvertiert.
  • Die Werte der Zähler in den Sicherheitsuhren 111 in den CPUs 100 und 101 sollen miteinander übereinstimmen. Daher soll der Zufallszahl-Erzeugungsalgorithmus, welcher in dem in 2 gezeigten Konvertierungsverfahren-Speicher 112 gespeichert ist, die CPUs 100 und 101 befähigen, den gleichen Wert unter Verwendung des gleichen Startwerts zu erhalten.
  • Um die ungleiche Streuung der Werte der Zähler in der Sicherheitsuhr 111 zu unterbinden, kann in Ausführungsform 2 ein ausgewählter Zufallszahl-Erzeugungsalgorithmus gleiche Auftretensraten für 0 und 1 in den erzeugten Zufallszahlen haben, welche in einer Bitfolge aus 0 und 1 gebildet sind, und kann einen Evaluierungstest für einen Zufallszahl-Erzeugungsalgorithmus bestehen.
  • Der Konvertierungszeitpunkt-Speicher 113 speichert den Zeitpunkt, an welchem der Wert des Scramblingbereichs 1113 in der Sicherheitsuhr 111, gezeigt in 11, innerhalb eines bestimmten Bereichs konvertiert wird.
  • Der Uhrwert-Konvertierer 151 erzeugt Zufallszahlen unter Verwendung des Zufallszahl-Erzeugungsalgorithmus und des Startwerts, welche in dem Konvertierungsverfahren-Speicher 112 angegeben sind, an dem Zeitpunkt, welcher in dem Konvertierungszeitpunkt-Speicher 113 gespeichert ist. Der Uhrwert-Konvertierer 151 ersetzt in dem Scramblingbereich 1113 den Wert innerhalb des in dem Konvertierungsverfahren-Speicher 112 angegebenen Bereichs mit einer Bitfolge, die 0 und 1 umfasst und die erzeugte Zufallszahl repräsentiert. So wird der Wert des Scramblingbereichs 1113 in der Sicherheitsuhr 111 konvertiert. In Ausführungsform 2 können die durch den Übertragzähler 1112 in der Sicherheitsuhr 111 angegebenen Werte ebenfalls gestreut sein. Der Konvertierungsablauf des Uhrwert-Konvertierers 151 in Ausführungsform 2 ist gleich dem in Ausführungsform 1, gezeigt in 10.
  • Einige Zufallszahl-Erzeugungsalgorithmen können eine Initialisierung mit sich bringen. Zur Verwendung eines Zufallszahl-Erzeugungsalgorithmus, welcher durch den Konvertierungsverfahren-Speicher 112 angegeben ist und eine Initialisierung mit sich bringt, führt der Uhrwert-Konvertierer 151 eine Initialisierung vor dem in dem Konvertierungszeitpunkt-Speicher 113 angegebenen Zeitpunkt durch.
  • Ausführungsform 3
  • Die Erzeugung von Zufallszahlen in Ausführungsform 2 reduziert die ungleiche Streuung der Werte der Sicherheitsuhr 111 effektiver als die Verwendung von Bitverschiebungen in Ausführungsform 1. Das Konvertierungsverfahren mit der Erzeugung von Zufallszahlen hat jedoch eine höhere Verarbeitungslast auf die CPUs 100 und 101. Aufgrund der Verarbeitungslast kann in Abhängigkeit des Durchsatzes der CPUs 100 und 101 die Konvertierung unter Verwendung von Bitverschiebungen verwendet werden. Auf diese Weise können die CPUs jeweils in Abhängigkeit des Durchsatzes das Konvertierungsverfahren mit Bitverschiebungen oder Erzeugung von Zufallszahlen verwenden.
  • In den Ausführungsformen 1 und 2 speichern die CPUs 100 und 101 jeweils das Verfahren zum Konvertieren des Wertes des Zählers in der Sicherheitsuhr 111 in dem Konvertierungsverfahren-Speicher 112 und speichern den Konvertierungszeitpunkt in dem Konvertierungszeitpunkt-Speicher 113. Die Verwendung von mehr CPUs 100 wird jedoch die Zeit und den Aufwand erhöhen, den ein Verwalter zum Einstellen des Konvertierungsverfahrens und des Konvertierungszeitpunkts für jede CPU 100 benötigt.
  • Daher sind in der Ausführungsform 3 ein Master-Kommunikationsgerät, welches die Konvertierung des Wertes des Zählers in der Sicherheitsuhr verwaltet, und ein Slave-Kommunikationsgerät, für welches die Konvertierung des Wertes des Zählers in der Sicherheitsuhr verwaltet wird, vordefiniert. Das Master-Kommunikationsgerät kann dann das Konvertierungsverfahren und den Konvertierungszeitpunkt für den Wert der Sicherheitsuhr dem Slave-Kommunikationsgerät mitteilen.
  • 14 ist ein schematisches Diagramm eines Kommunikationssystems 50 gemäß Ausführungsform 3. Die speicherprogrammierbare Steuerung 1 ist ein Master-Kommunikationsgerät. Speicherprogrammierbare Steuerungen 3 und 4 sind Slave-Kommunikationsgeräte. Die speicherprogrammierbaren Steuerungen 1, 3 und 4 können miteinander über das Netzwerk 600 kommunizieren. Ausführungsform 3 wird mit Fokus auf ihre Unterschiede zu den Ausführungsformen 1 und 2 beschrieben.
  • In Ausführungsform 3 umfasst die CPU 100 in der speicherprogrammierbaren Steuerung 1 die Sicherheitsuhr 111 zur Kommunikation mit der speicherprogrammierbaren Steuerung 3 und eine Sicherheitsuhr 116 zur Kommunikation mit der speicherprogrammierbaren Steuerung 4.
  • Die Sicherheitsuhr 111 hat die in 3 gezeigte Konfiguration. Die Sicherheitsuhr 116 hat die in 11 gezeigte Konfiguration. Die CPU 100 konvertiert den Wert der Sicherheitsuhr 111 mit einer Bitverschiebung und ersetzt als Konvertierung den Wert der Sicherheitsuhr 116 mit einer Zufallszahl.
  • In Ausführungsform 3 umfasst die CPU 100 eine Verwaltungsinformation 117 anstelle des Konvertierungsverfahren-Speichers 112 und des Konvertierungszeitpunkt-Speichers 113 der Ausführungsformen 1 und 2. Die Verwaltungsinformation 117 speichert Information, welche das Konvertierungsverfahren und den Konvertierungszeitpunkt für den Wert der Sicherheitsuhr angibt und den als Slave arbeitenden speicherprogrammierbaren Steuerungen 3 und 4 durch die als Master arbeitende speicherprogrammierbare Steuerung 1 mitgeteilt wird. Wie in 15 gezeigt, definiert die Verwaltungsinformation 117 Information zum Identifizieren einer als Slave arbeitenden speicherprogrammierbaren Steuerung, Information zum Identifizieren der in der als Slave arbeitenden speicherprogrammierbaren Steuerung enthaltenen Sicherheitsuhr, Information, welche das Konvertierungsverfahren für den Wert der Sicherheitsuhr angibt, und Information, welche den Konvertierungszeitpunkt angibt. Die Sicherheitsuhr 111 und eine Sicherheitsuhr lila, welche in einer CPU 102 in der speicherprogrammierbaren Steuerung 3 (später beschrieben) enthalten ist, sollen den gleichen Wert haben. Die Sicherheitsuhr 116 und eine Sicherheitsuhr 116a, welche in einer CPU 103 in der speicherprogrammierbaren Steuerung 4 (später beschrieben) enthalten ist, sollen den gleichen Wert haben. Daher speichert die Verwaltungsinformation 117 Information über das Konvertierungsverfahren und den Konvertierungszeitpunkt für die Sicherheitsuhr 111a in der speicherprogrammierbaren Steuerung 3, die gleich der für die Sicherheitsuhr 111 ist. Die Verwaltungsinformation 117 speichert die Information über das Konvertierungsverfahren und den Konvertierungszeitpunkt für die Sicherheitsuhr 116a in der speicherprogrammierbaren Steuerung 4, die gleich der für die Sicherheitsuhr 116 ist. Die CPU 100 speichert vorab Information, welche die Zuordnung zwischen den Sicherheitsuhren 111 und 111a und die Zuordnung zwischen den Sicherheitsuhren 116 und 116a angibt. Die Verwaltungsinformation 117 wird durch den in 1 gezeigten Speicher 110 implementiert. Die Verwaltungsinformation 117 ist ein Beispiel für ein erstes Speichermittel.
  • Der in 14 gezeigte Uhrwert-Konvertierer 151 konvertiert die Werte der Sicherheitsuhren 111 und 116 gemäß dem Konvertierungsverfahren und dem Konvertierungszeitpunkt, welche in der Verwaltungsinformation 117 definiert sind.
  • Der Uhrwert-Konvertierer 151 teilt den in der Verwaltungsinformation 117 angegebenen als Slave arbeitenden speicherprogrammierbaren Steuerungen zudem die Konvertierungsverfahren und den Konvertierungszeitpunkt mit, welche in der Verwaltungsinformation 117 definiert sind. Der Uhrwert-Konvertierer 151 gibt an den Kommunikator 152 für jede der als Slave arbeitenden speicherprogrammierbaren Steuerungen eine Information aus, welche das Konvertierungsverfahren und den Konvertierungszeitpunkt angibt. Daher erzeugt der Kommunikator 152 ein Frame, welches einen bestimmten Befehl, welcher einen Datenkonvertierungsbefehl repräsentiert, und eine Information, welche das Konvertierungsverfahren und den Konvertierungszeitpunkt angibt, umfasst, und sendet das erzeugte Frame an die Netzwerkeinheit 200. Die Netzwerkeinheit 200 sendet das von der CPU 100 gesendete Frame an die Netzwerkeinheiten 202 und 203. Der Uhrwert-Konvertierer 151 ist ein Beispiel für ein Mitteilungsmittel.
  • Die CPU 102 in einer als Slave arbeitenden speicherprogrammierbaren Steuerung 3, die durch die speicherprogrammierbare Steuerung 1 verwaltet wird, umfasst die Sicherheitsuhr 111a. Gleich der Sicherheitsuhr 111 hat die Sicherheitsuhr 111a die in 3 gezeigte Konfiguration. Die Sicherheitsuhr 111a wird so gesteuert, dass sie den gleichen Wert hat wie die Sicherheitsuhr 111 in der CPU 100.
  • Ein Uhrwert-Konvertierer 151a in der CPU 102 konvertiert den Wert der Sicherheitsuhr 111a an dem Konvertierungszeitpunkt mit dem Konvertierungsverfahren, welche von der CPU 100 mitgeteilt wurden. Wenn die Netzwerkeinheit 202 von der Netzwerkeinheit 200 das Frame empfängt, welches einen bestimmten Befehl enthält, stellt ein Kommunikator 152a dem Uhrwert-Konvertierer 151a eine Information bereit, welche das Konvertierungsverfahren und den Konvertierungszeitpunkt angibt, die in dem Frame enthalten sind. Die CPU 102 umfasst weder den Konvertierungsverfahren-Speicher 112 noch den Konvertierungszeitpunkt-Speicher 113, welche in den CPUs 100 und 101 gemäß Ausführungsform 1 enthalten sind.
  • Die CPU 103 in der anderen als Slave arbeitenden speicherprogrammierbaren Steuerung 4, welche durch die speicherprogrammierbare Steuerung 1 verwaltet wird, umfasst die Sicherheitsuhr 116a.
  • Gleich der Sicherheitsuhr 116 hat die Sicherheitsuhr 116a die in 11 gezeigte Konfiguration. Die Sicherheitsuhr 116a wird so gesteuert, dass sie den gleichen Wert hat wie die Sicherheitsuhr 116 in der CPU 100. Der Uhrwert-Konvertierer 151a und der Kommunikator 152a in der CPU 103 haben die gleiche Konfiguration wie die CPU 102. Gleich der CPU 102 umfasst die CPU 103 weder den Konvertierungsverfahren-Speicher 112 noch den Konvertierungszeitpunkt-Speicher 113 gemäß Ausführungsform 1.
  • Die Komponenten der CPUs 102 und 103 mit den gleichen Bezugszeichen wie die CPUs 100 und 101 gemäß Ausführungsformen 1 und 2 sind im Wesentlichen die gleichen wie jene in den Ausführungsformen 1 und 2, sofern in Ausführungsform 3 nicht explizit etwas anderes angegeben ist.
  • Wie in 16 gezeigt, führen die CPUs 100, 102 und 103 mit der obigen Konfiguration eine Datenkonvertierung durch.
  • Die in der CPU 100 durchgeführte Datenkonvertierung wird zuerst beschrieben. Die CPU 100, welche als Master dient (Ja in Schritt S21), teilt den CPUs 102 und 103 jeweils das Konvertierungsverfahren und den Konvertierungszeitpunkt mit, welche in der Verwaltungsinformation 117 definiert sind (Schritt S22). Wenn von den CPUs 102 und 103 jeweils eine Antwort empfangen wird, welche angibt, dass sie eine Konvertierung durchführen können, bestimmt die CPU 100, dass das Konvertierungsverfahren und der Konvertierungszeitpunkt bestimmt wurden (Ja in Schritt S23) und schreitet zu dem nächsten Verarbeitungsschritt voran. In Schritt S24, wenn bestimmt wird, dass der aktuelle Zeitpunkt ein Zeitpunkt zum Durchführen der Konvertierung ist (Ja in Schritt S24), konvertiert die CPU 100 die Werte der Sicherheitsuhren 111 und 116, denen die CPUs 102 und 103 zugeordnet sind (Schritt S25). Die Verarbeitung wird durch die CPU 100 durchgeführt. Die CPU 100 konvertiert den Wert der Sicherheitsuhr für eine oder beide CPUs 102 und 103, welche in Schritt S23 geantwortet haben, dass sie eine Konvertierung durchführen können. Wenn in Schritt S23 von den CPUs 102 und 103 keine Antwort, dass sie eine Konvertierung durchführen können, empfangen wird oder eine Antwort, dass sie eine Konvertierung nicht durchführen können, empfangen wird, bestimmt die CPU 100, dass das Konvertierungsverfahren und der Konvertierungszeitpunkt nicht bestimmt wurden (Nein in Schritt S23) und kehrt wieder zu der Verarbeitung in Schritt S21 zurück.
  • Die Datenkonvertierung in einem Slave oder in der Slave-CPU 102 wird beschrieben. Die CPU 102 ist keine Master-CPU (Nein in Schritt S21) und bestimmt, ob die CPU 102 Information über das Datenkonvertierungsverfahren und den Konvertierungszeitpunkt von der CPU 100 empfangen hat (Schritt S26). Wenn die Information empfangen wird (Ja in Schritt S26), bestimmt die CPU 102 ferner, ob die CPU 102 eine Konvertierung durchführen kann, und teilt der CPU 100 das Bestimmungsergebnis mit (Schritt S27). Die CPU 102 bestimmt, dass die CPU 102 eine Konvertierung nicht durchführen kann, wenn, zum Beispiel, das bestimmte Konvertierungsintervall für die CPU 102 aufgrund der Verarbeitungslast zu kurz ist oder wenn die CPU 102 kein Programm für einen Zufallszahl-Erzeugungsalgorithmus umfasst. Wenn bestimmt wird, dass die CPU 102 eine Konvertierung durchführen kann, wurden das Konvertierungsverfahren und der Konvertierungszeitpunkt bestimmt (Ja in Schritt S23) und die CPU 102 führt daher die Verarbeitung in Schritt S24 und der nachfolgenden Schritte durch, um den Wert der Sicherheitsuhr 111a zu konvertieren. Der andere Slave oder die andere Slave-CPU 103 führen ebenfalls die gleiche Verarbeitung wie die CPU 102 durch.
  • Ausführungsform 4
  • In Ausführungsform 3 umfasst die CPU 100 zwei Sicherheitsuhren 111 und 116. Die Sicherheitsuhren 111 und 116 werden dazu verwendet, um zu bestimmen, ob Daten innerhalb einer erwarteten Zeitdauer angekommen sind, und es wird von ihnen erwartet, Zeit mit hoher Präzision zu messen. Die CPU 100, welche hochpräzise Zeitgeber für die Sicherheitsuhren 111 und 116 umfasst, ist daher teuer.
  • In Ausführungsform 4 umfasst die CPU 100, welche als Master-Kommunikationsgerät dient, eine einzige Sicherheitsuhr 111 und verwaltet eine Datenkonvertierung der Sicherheitsuhren in den Slave-CPUs 102 und 103.
  • Im Gegensatz zur Ausführungsform 3 umfasst eine CPU 100 in Ausführungsform 4 eine einzige Sicherheitsuhr 111, wie in 17 gezeigt. Auch in Ausführungsform 4 umfasst die CPU 100 die in 15 gezeigte Verwaltungsinformation 117.
  • Der Uhrwert-Konvertierer 151 konvertiert den Wert der Sicherheitsuhr 111 an dem Zeitpunkt und mit dem Konvertierungsverfahren, welche in der in 15 gezeigten Verwaltungsinformation 117 gespeichert sind, und speichert den erhaltenen Wert in einen Konvertierte-Daten-Speicher 118. Zum Verwalten der CPUs 102 und 103 speichert die CPU 100 die Werte, welche aus der Datenkonvertierung für die jeweiligen Sicherheitsuhren erhalten werden, in den Konvertierte-Daten-Speicher 118. Der Konvertierte-Daten-Speicher 118 hält den gleichen Wert wie der Wert der Sicherheitsuhr 111a in der CPU 102 und den gleichen Wert wie der Wert der Sicherheitsuhr 116a in der CPU 103.
  • Insbesondere konvertiert der Uhrwert-Konvertierer 151 den Wert der Sicherheitsuhr 111 zu dem gleichen Zeitpunkt wie der Konvertierungszeitpunkt für die Sicherheitsuhr 111a in der CPU 102 mit dem gleichen Konvertierungsverfahren wie für die Sicherheitsuhr 111a. Wie in 18 gezeigt, speichert der Uhrwert-Konvertierer 151 den erhaltenen Wert zusammen mit Information, welche die Slave-CPUs und die Sicherheitsuhren in den Slave-CPUs identifiziert, in den Konvertierte-Daten-Speicher 118. Die CPU 102 konvertiert ebenfalls den Wert der Sicherheitsuhr 111a zu dem gleichen Konvertierungszeitpunkt wie für die CPU 100 mit dem gleichen Konvertierungsverfahren wie für die CPU 100. Daher stimmt der in dem Konvertierte-Daten-Speicher 118 gespeicherte Wert mit dem Wert der Sicherheitsuhr 111a in der CPU 102 überein.
  • Der Uhrwert-Konvertierer 151 konvertiert den Wert der Sicherheitsuhr 111 zum gleichen Zeitpunkt wie der Konvertierungszeitpunkt für die Sicherheitsuhr 116a in der CPU 103 mit dem gleichen Konvertierungsverfahren wie für die Sicherheitsuhr 116a und speichert den erhaltenen Wert in den Konvertierte-Daten-Speicher 118. Die CPU 103 konvertiert den Wert der Sicherheitsuhr 116a zu dem gleichen Konvertierungszeitpunkt wie für die CPU 100 mit dem gleichen Konvertierungsverfahren wie für die CPU 100. Daher stimmt der in dem Konvertierte-Daten-Speicher 118 gespeicherte Wert mit dem Wert der Sicherheitsuhr 116a in der CPU 103 überein.
  • Zur Kommunikation mit den speicherprogrammierbaren Steuerungen 3 und 4 erzeugt der Fehlerdetektor 153 CRCs und detektiert Fehler, statt den Wert des Übertragzählers 1112 in der Sicherheitsuhr 111 zu verwenden, unter Verwendung des aus der Konvertierung des Übertragzählers 1112 resultierten, in dem Konvertierte-Daten-Speicher 118 gespeicherten Wertes, welcher mit dem Kommunikationsgegenstück assoziiert ist. Das Obige beschreibt eine Konfiguration gemäß Ausführungsform 4.
  • Wie oben beschrieben, werden in den Ausführungsformen 1 bis 4 der Wert der Sicherheitsuhr in der CPU 100 innerhalb eines bestimmten Bereichs und die Werte der Sicherheitsuhren in den CPUs 101, 102 und 103, mit denen die CPU 100 kommuniziert, innerhalb eines bestimmten Bereichs mit anderen Werten an dem gleichen Zeitpunkt mit dem gleichen Verfahren ersetzt. Daher stimmen die nach der Ersetzung erhaltenen Werte der Sicherheitsuhren überein und die ungleiche Streuung der Werte der Sicherheitsuhren kann reduziert werden. Daher kann die Restfehlerrate bei der Fehlerdetektion der Werte der Sicherheitsuhr reduziert werden.
  • In der Ausführungsform 1 werden die Werte des Übertragzählers 1112 unter Verwendung einer Bitverschiebung ersetzt. Daher kann die Restfehlerrate reduziert werden, ohne die Last auf die CPU 100 zu erhöhen.
  • In Ausführungsform 2 werden die Werte des Übertragzählers 1112 mit erzeugten Zufallszahlen ersetzt. Dieses Verfahren kann die Sicherheitsuhr 111 weiter veranlassen, stärker gestreute Werte anzugeben als das Verfahren mit Bitverschiebung, und daher kann es die Restfehlerrate effektiver reduzieren.
  • In Ausführungsform 3 werden das Datenkonvertierungsverfahren und der Zeitpunkt durch Kommunikation geteilt, ohne in jedem der Kommunikationsgeräte eingestellt zu sein. Diese Struktur ermöglicht die Auswahl eines Datenkonvertierungsverfahrens, welches für den Durchsatz eines Masters und eines Slaves geeignet ist. Beispielsweise kann zur Kommunikation mit einem Kommunikationsgerät mit geringem Durchsatz ein Verfahren mit Bitverschiebung anstelle eines Verfahrens verwendet werden, bei welchem eine Zufallszahlerzeugung eine hohe Last mit sich bringt. Daher kann die Konfiguration gemäß jeder der obigen Ausführungsformen für ein bekanntes Kommunikationsgerät verwendet werden.
  • In Ausführungsform 4 gibt der Wert der Sicherheitsuhr beispielsweise die Zeit an, die auf einem Kalender datiert ist, ohne den Wert des Übertragzählers direkt zu überschreiben. Daher kann der Wert der Sicherheitsuhr auch für andere Zwecke verwendet werden, beispielsweise zum Überprüfen, ob Daten von einem Kommunikationsgerät an einem anderen Kommunikationsgerät innerhalb einer erwarteten Zeit angekommen sind. Der Master umfasst einfach einen einzigen Zeitgeber mit einer Präzision, die als Sicherheitsuhr ausreicht. Die Kosten können daher weiter reduziert werden als mit einem Master, welcher mehrere Sicherheitsuhren umfasst.
  • In den Ausführungsformen 1 bis 4 kommunizieren die speicherprogrammierbaren Steuerungen 1 bis 4 miteinander, dies ist jedoch nicht begrenzend. Beispielsweise kann die speicherprogrammierbare Steuerung 1 alleine Daten senden und die speicherprogrammierbaren Steuerungen 2 bis 4 können lediglich Daten empfangen. In diesem Fall erzeugt die als Sender arbeitende speicherprogrammierbare Steuerung 1 einen Fehlerdetektionscode und sendet an die anderen speicherprogrammierbaren Steuerungen ein Frame, welches den Fehlerdetektionscode und einen Zeitstempel der korrespondierenden Sicherheitsuhr enthält. Die als Empfänger arbeitenden speicherprogrammierbaren Steuerungen 2 bis 4 erzeugen jeweils einen Fehlerdetektionscode basierend auf dem von der speicherprogrammierbaren Steuerung 1 empfangenen Zeitstempel und dem Übertragzähler in der korrespondierenden Sicherheitsuhr und können bestimmen, ob der erzeugte Fehlerdetektionscode und der von der speicherprogrammierbaren Steuerung 1 empfangene Fehlerdetektionscode miteinander übereinstimmen.
  • In den Ausführungsformen 1 bis 4 umfasst die CPU eine Sicherheitsuhr und konvertiert den Wert der Sicherheitsuhr. Anstelle der CPU kann eine Netzwerkeinheit die Konvertierung durchführen.
  • Beispiele eines Aufzeichnungsmediums, welches Programme aufzeichnet, die die obige Datenkonvertierung betreffen, umfassen nichtflüchtige computerlesbare Aufzeichnungsmedien, wie beispielsweise eine magnetische Diskette, eine optische Diskette, eine magnetooptische Diskette, ein Flashmemory, einen Halbleiterspeicher und ein magnetisches Band.
  • Das Vorangegangene beschreibt einige beispielhafte Ausführungsformen zu Erläuterungszwecken. Obwohl die vorangegangene Diskussion spezifische Ausführungsformen präsentiert hat, versteht der Fachmann, dass Änderungen in Form und Detail vorgenommen werden können, ohne den breiteren Geist und Umfang der Erfindung zu verlassen. Dementsprechend sind die Beschreibung und die Zeichnungen eher als beispielhaft denn als restriktiv zu verstehen. Diese detaillierte Beschreibung ist daher nicht als begrenzend zu verstehen und der Umfang der Erfindung ist allein durch die beigefügten Ansprüche, zusammen mit dem vollen Umfang der solchen Ansprüchen zugeschriebenen Äquivalente definiert.
  • Bezugszeichenliste
  • 001
    Programm
    1, 2, 3, 4
    speicherprogrammierbare Steuerung
    10,50
    Kommunikationssystem
    11, 1111
    Zeitstempel
    12, 1112
    Übertragzähler
    100, 101, 102, 103
    CPU
    110,210
    Speicher
    111, 111a, 116, 116a
    Sicherheitsuhr
    112
    Konvertierungsverfahren-Speicher
    113
    Konvertierungszeitpunkt-Speicher
    114
    Empfangene-Daten-Speicher
    115
    Gesendete-Daten-Speicher
    117
    Verwaltungsinformation
    118
    Konvertierte-Daten-Speicher
    120,220
    Kommunikationsschnittstellenschaltung
    130,230
    Arithmetikeinheit
    151, 151a
    Uhrwert-Konvertierer
    152, 152a, 221
    Kommunikator
    154
    Datenprozessor
    153
    Fehlerdetektor
    190,290
    interner Bus
    200, 201, 202, 203
    Netzwerkeinheit
    300
    gemeinsamer Bus
    600
    Netzwerk
    1113
    Scramblingbereich
    2000
    Algorithmus
    3000
    Startwert

Claims (12)

  1. Kommunikationssystem (10), umfassend: ein erstes Kommunikationsgerät (1); und ein zweites Kommunikationsgerät (2), wobei das erste Kommunikationsgerät (1) und das zweite Kommunikationsgerät (2) dazu konfiguriert sind, miteinander zu kommunizieren, wobei das erste Kommunikationsgerät (1) umfasst: ein erstes Uhrmittel (111) mit einem ersten Zähler (1111) zum Zählen einer verstrichenen Zeit und einem zweiten Zähler (1112) zum Zählen eines Überlaufs des ersten Zählers (1111), ein erstes Datenkonvertierungsmittel (151) zum Ersetzen eines Wertes des zweiten Zählers (1112) mit einem Wert, der zu einem vorbestimmten Zeitpunkt mit einem vorbestimmten Verfahren erzeugt wird, womit der zweite Zähler (1112) veranlasst wird, gestreute Werte anzugeben, ein erstes Fehlerdetektionsmittel (153) zum Erzeugen eines ersten Fehlerdetektionscodes basierend auf einem Wert des ersten Zählers (1111) und dem Wert des zweiten Zählers (1112) und ein erstes Kommunikationsmittel (152) zum Erzeugen eines Frames und zum Senden des erzeugten Frames an das zweite Kommunikationsgerät (2), wobei das Frame an das zweite Kommunikationsgerät (2) weiterzugebende Daten und den Wert des ersten Zählers (1111) und den zu den Daten hinzugefügten ersten Fehlerdetektionscode enthält, und wobei das zweite Kommunikationsgerät (2) umfasst: ein zweites Uhrmittel (111) mit einem dritten Zähler (1111) zum Zählen einer verstrichenen Zeit und einem vierten Zähler (1112) zum Zählen eines Überlaufs des dritten Zählers (1111), ein zweites Datenkonvertierungsmittel (151) zum Ersetzen eines Wertes des vierten Zählers (1112) mit einem Wert, der zu dem vorbestimmten Zeitpunkt mit dem vorbestimmten Verfahren erzeugt wird, womit der vierte Zähler (1112) veranlasst wird, gestreute Werte anzugeben, ein zweites Kommunikationsmittel (152) zum Empfangen des Frames von dem ersten Kommunikationsgerät (1) und ein zweites Fehlerdetektionsmittel (153) zum Erzeugen eines zweiten Fehlerdetektionscodes basierend auf dem in dem Frame enthaltenen Wert des ersten Zählers (1111) und dem Wert des vierten Zählers (1112) in dem zweiten Uhrmittel (111) und zum Bestimmen, ob der erzeugte zweite Fehlerdetektionscode eine Bedingung erfüllt, die für den in dem Frame enthaltenen ersten Fehlerdetektionscode eingestellt ist.
  2. Kommunikationssystem (10) nach Anspruch 1, wobei der zweite Zähler (1112) den gleichen Anfangswert wie der vierte Zähler (1112) hat.
  3. Kommunikationssystem (10) nach Anspruch 1 oder 2, wobei das erste Datenkonvertierungsmittel (151) einen Wert des zweiten Zählers (1112) innerhalb eines bestimmten Bereichs mit einem Wert ersetzt, der um eine bestimmte Anzahl von Bits in einer bestimmten Richtung verschoben ist, und das zweite Datenkonvertierungsmittel (151) einen Wert des vierten Zählers (1112) mit dem gleichen Verfahren ersetzt wie das, das von dem ersten Datenkonvertierungsmittel (151) verwendet wird.
  4. Kommunikationssystem (10) nach Anspruch 1 oder 2, wobei das erste Datenkonvertierungsmittel (151) einen Wert des zweiten Zählers (1112) innerhalb eines bestimmten Bereichs mit einer Zufallszahl ersetzt, die mit einem bestimmten Erzeugungsverfahren erzeugt wird, und das zweite Datenkonvertierungsmittel (151) einen Wert des vierten Zählers (1112) mit dem gleichen Verfahren ersetzt wie das, das von dem ersten Datenkonvertierungsmittel (151) verwendet wird.
  5. Kommunikationssystem (10) nach einem der Ansprüche 1 bis 4, wobei das erste Fehlerdetektionsmittel (153) in dem ersten Kommunikationsgerät (1) den ersten Fehlerdetektionscode basierend auf den an das zweite Kommunikationsgerät (2) weiterzugebenden Daten, dem Wert des ersten Zählers (1111) und dem Wert des zweiten Zählers (1112) erzeugt und das zweite Fehlerdetektionsmittel (153) in dem zweiten Kommunikationsgerät (2) den zweiten Fehlerdetektionscode basierend auf den an das zweite Kommunikationsgerät (2) weitergegebenen, in dem Frame enthaltenen Daten, dem in dem Frame enthaltenen Wert des ersten Zählers (1111) und dem Wert des vierten Zählers (1112) in dem zweiten Uhrmittel (111) erzeugt.
  6. Kommunikationssystem (10) nach einem der Ansprüche 1 bis 5, wobei das zweite Fehlerdetektionsmittel (153) das Frame als Reaktion auf die Bestimmung hin verwirft, dass der erzeugte zweite Fehlerdetektionscode die Bedingung, die für den in dem Frame enthaltenen ersten Fehlerdetektionscode eingestellt ist, nicht erfüllt.
  7. Kommunikationssystem (10) nach einem der Ansprüche 1 bis 6, wobei das zweite Fehlerdetektionsmittel (153) bestimmt, ob der erzeugte zweite Fehlerdetektionscode mit dem in dem Frame enthaltenen ersten Fehlerdetektionscode übereinstimmt.
  8. Kommunikationssystem (10) nach einem der Ansprüche 1 bis 7, wobei das zweite Fehlerdetektionsmittel (153) basierend auf einer durch einen Wert des dritten Zählers (1111) angegebenen Zeit und einer durch den in dem Frame enthaltenen Wert des ersten Zählers (1111) angegebenen Zeit bestimmt, ob das Frame an dem zweiten Kommunikationsgerät (2) innerhalb einer eingestellten Zeitdauer angekommen ist, und das Frame auf die Bestimmung hin verwirft, dass das Frame an dem zweiten Kommunikationsgerät (2) nicht innerhalb der eingestellten Zeitdauer angekommen ist.
  9. Kommunikationssystem (10) nach einem der Ansprüche 1 bis 8, wobei das erste Kommunikationsgerät (1) ein erstes Speichermittel (112, 113) zum Speichern von Information, welche den vorbestimmten Zeitpunkt angibt, und von Information, welche das vorbestimmte Verfahren angibt, umfasst und das zweite Kommunikationsgerät (2) ein zweites Speichermittel (112, 113) zum Speichern von Information, welche den vorbestimmten Zeitpunkt angibt, und von Information, welche das vorbestimmte Verfahren angibt, umfasst.
  10. Kommunikationssystem (10) nach einem der Ansprüche 1 bis 8, wobei das erste Kommunikationsgerät (1) umfasst: ein erstes Speichermittel (117) zum Speichern von Information, welche den vorbestimmten Zeitpunkt angibt, und von Information, welche das vorbestimmte Verfahren angibt, und ein Mitteilungsmittel (151) zum Bereitstellen der in dem ersten Speichermittel (117) gespeicherten Information an das zweite Kommunikationsgerät (2).
  11. Kommunikationsgerät (2) zum Kommunizieren mit einem anderen Kommunikationsgerät (1), wobei das andere Kommunikationsgerät (1) einen ersten Zähler (1111) zum Zählen einer verstrichenen Zeit und einen zweiten Zähler (1112) zum Zählen eines Überlaufs des ersten Zählers (1111) umfasst, wobei das andere Kommunikationsgerät (1) konfiguriert ist, einen Wert des zweiten Zählers (1112) mit einem Wert zu ersetzen, der zu einem vorbestimmten Zeitpunkt mit einem vorbestimmten Verfahren erzeugt wird, womit der zweite Zähler (1112) veranlasst wird, gestreute Werte anzugeben, einen ersten Fehlerdetektionscode basierend auf einem Wert des ersten Zählers (1111) und dem Wert des zweiten Zählers (1112) zu erzeugen und ein Frame zu erzeugen und das erzeugte Frame an das Kommunikationsgerät (2) zu senden, wobei das Frame an das Kommunikationsgerät (2) weiterzugebende Daten und den Wert des ersten Zählers (1111) und den zu den Daten hinzugefügten ersten Fehlerdetektionscode enthält, wobei das Kommunikationsgerät (2) umfasst: ein zweites Uhrmittel (111) mit einem dritten Zähler (1111) zum Zählen einer verstrichenen Zeit und einem vierten Zähler (1112) zum Zählen eines Überlaufs des dritten Zählers (1111); ein zweites Datenkonvertierungsmittel (151) zum Ersetzen eines Wertes des vierten Zählers (1112) mit einem Wert, der zu dem vorbestimmten Zeitpunkt mit dem vorbestimmten Verfahren erzeugt wird, womit der vierte Zähler (1112) veranlasst wird, gestreute Werte anzugeben; ein zweites Kommunikationsmittel (152) zum Empfangen des Frames von dem anderen Kommunikationsgerät (1); und ein zweites Fehlerdetektionsmittel (153) zum Erzeugen eines zweiten Fehlerdetektionscodes basierend auf dem in dem Frame enthaltenen Wert des ersten Zählers (1111) und dem Wert des vierten Zählers (1112) in dem zweiten Uhrmittel (111) und zum Bestimmen, ob der erzeugte zweite Fehlerdetektionscode eine Bedingung erfüllt, die für den in dem Frame enthaltenen ersten Fehlerdetektionscode eingestellt ist.
  12. Programm für ein Kommunikationssystem (10), in welchem ein erster Computer (1) und ein zweiter Computer (2) miteinander kommunizieren, wobei das Programm den ersten Computer (1) dazu veranlasst: ein erstes Uhrmittel (111) mit einem ersten Zähler (1111) zum Zählen einer verstrichenen Zeit und einem zweiten Zähler (1112) zum Zählen eines Überlaufs des ersten Zählers (1111) zu implementieren; den zweiten Zähler (1112) mit einem vorbestimmten Verfahren zu veranlassen, gestreute Werte anzugeben; und einen ersten Fehlerdetektionscode basierend auf einem Wert des ersten Zählers (1111) und einem Wert des zweiten Zählers (1112) zu erzeugen und ein Frame zu erzeugen und das erzeugte Frame an den zweiten Computer (2) zu senden, wobei das Frame an den zweiten Computer (2) weiterzugebende Daten und den Wert des ersten Zählers (1111) und den zu den Daten hinzugefügten ersten Fehlerdetektionscode enthält, und wobei das Programm den zweiten Computer (2) dazu veranlasst: ein zweites Uhrmittel (111) mit einem dritten Zähler (1111) zum Zählen einer verstrichenen Zeit und einem vierten Zähler (1112) zum Zählen eines Überlaufs des dritten Zählers (1111) zu implementieren; den vierten Zähler (1112) zu veranlassen, mit dem gleichen Verfahren wie das, das von dem ersten Computer (1) verwendet wird, gestreute Werte anzugeben; und einen zweiten Fehlerdetektionscode basierend auf dem in dem Frame enthaltenen, von dem ersten Computer (1) gesendeten Wert des ersten Zählers (1111) und einem Wert des vierten Zählers (1112) in dem zweiten Uhrmittel (111) zu erzeugen und zu bestimmen, ob der erzeugte zweite Fehlerdetektionscode eine Bedingung erfüllt, die für den in dem Frame enthaltenen ersten Fehlerdetektionscode eingestellt ist.
DE112018007879.5T 2018-09-06 2018-09-06 Kommunikationssystem, Kommunikationsgerät und Programm Active DE112018007879B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/033097 WO2020049698A1 (ja) 2018-09-06 2018-09-06 通信システム、通信装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
DE112018007879T5 DE112018007879T5 (de) 2021-04-22
DE112018007879B4 true DE112018007879B4 (de) 2022-02-17

Family

ID=67297532

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018007879.5T Active DE112018007879B4 (de) 2018-09-06 2018-09-06 Kommunikationssystem, Kommunikationsgerät und Programm

Country Status (4)

Country Link
US (1) US11126487B2 (de)
JP (1) JP6545427B1 (de)
DE (1) DE112018007879B4 (de)
WO (1) WO2020049698A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003298563A (ja) 2003-04-03 2003-10-17 Yamaha Corp データ伝送システムにおけるノード

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3613219B2 (ja) 2001-10-02 2005-01-26 日本電気株式会社 変調装置、通信システム、変調プログラム
US7254133B2 (en) * 2002-07-15 2007-08-07 Intel Corporation Prevention of denial of service attacks
DE102014114883A1 (de) * 2014-10-14 2016-04-14 Beckhoff Automation Gmbh Verfahren und System zum Überwachen eines ersten Teilnehmers eines Kommunikationsnetzwerks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003298563A (ja) 2003-04-03 2003-10-17 Yamaha Corp データ伝送システムにおけるノード

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DIN EN 61784-3 2017-09-00. Industrielle Kommunikationsnetze - Profile - Teil 3: Funktional sichere Übertragung bei Feldbussen - Allgemeine Regeln und Festlegungen für Profile (IEC 61784-3:2016)

Also Published As

Publication number Publication date
US20210182138A1 (en) 2021-06-17
US11126487B2 (en) 2021-09-21
JP6545427B1 (ja) 2019-07-17
JPWO2020049698A1 (ja) 2020-09-10
DE112018007879T5 (de) 2021-04-22
WO2020049698A1 (ja) 2020-03-12

Similar Documents

Publication Publication Date Title
EP3646493B1 (de) Verfahren, computer-lesbares medium, system, und fahrzeug umfassend das system zum validieren einer zeitfunktion eines masters und der clients in einem netzwerk eines fahrzeugs
DE112007003434B4 (de) Kommunikationssystem, Verwaltungsgerät, Kommunikationsgerät und Computerprogramm zur Zeitsynchronisation zwischen mehreren Knotengeräten, die zur Bildung eines Netzwerks vom Ringtyp verbunden sind
DE102010037221A1 (de) Verfahren und Geräte zum Angleichen einer Regelkreiszeiteinstellung in einem Prozessregelsystem
DE112010003309B4 (de) Kommunikationssystem und Kommunikationsvorrichtungs-Zustandsbestimmungsverfahren
DE102005063053A1 (de) Verfahren zur Anlagenüberwachung mit einem Feldbus der Prozessautomatisierungstechnik
DE102015101370A1 (de) Verwalten von Big-Data in Prozesssteuerungssystemen
EP0570557A1 (de) Verfahren zur erzeugung einer systemzeitbasis in einer anlage mit verteilten rechnereinheiten
DE102008000562A1 (de) Kommunikationssystem umfassend einen Datenbus und mehrere daran angeschlossene Teilnehmerknoten sowie Verfahren zum Betreiben eines solchen Kommunikationssystems
DE112019002984T5 (de) Durchführung von phy-level-hardware-zeitstempelung und zeitsynchronisierung in kostenoptimierten umgebungen
DE112016006755B4 (de) Netzwerksystem und Kommunikationsverfahren
DE10223723A1 (de) Ereigniserfassungssystem für eine Folge von Ereignissen in einem Prozesssteuerungssystem
DE112017001236T5 (de) Kommunikationssystem
DE10361178B4 (de) Datenalterungsüberwachungsvorrichtung für Sicherheitsnetzwerke
DE10236900B4 (de) Verfahren zum Durchführen eines Bitfehlerratentests und Bitfehlerratentestsystem
DE19943790A1 (de) Verfahren und Vorrichtung zur Bestimmung eines Synchronisationsfehlers in einem Netzwerkknoten
DE102021129478A1 (de) Verfahren und system zum übertragen von daten von fertigungsdatenurhebern an zielrechensysteme unter verwendung von definierten nachrichtenschemata
EP3022856B1 (de) Verfahren zur lokalisierung einer frequenzabweichung in einem kommunikationsnetz und entsprechendes kommunikationsnetz
WO2006092182A1 (de) Verfahren und vorrichtung zur überwachung einer prozessausführung
WO2013041296A1 (de) Verfahren und vorrichtung zum koppeln eines ersten sensors mit zumindest einem zweiten sensor
DE112019006938B4 (de) Kommunikationssystem, Kommunikationsgerät und Programm
DE112018007879B4 (de) Kommunikationssystem, Kommunikationsgerät und Programm
WO2015161871A1 (de) Verfahren und vorrichtung zur diagnose von übertragungs-störungen in einem netzwerk gemäss opc ua standard
EP3526930B1 (de) Verfahren zur überwachung eines netzwerks auf anomalien
DE102018001670A1 (de) Kommunikationssystem und Kommunikationsverfahren für Kommunikationssystem
DE102005056709A1 (de) Verfahren und Vorrichtung zur Kopplung mindestens zweier unabhängiger Bussysteme

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R018 Grant decision by examination section/examining division
R020 Patent grant now final