[go: up one dir, main page]

DE102005029440A1 - A system and method for synchronizing operations of a plurality of devices via communications over a communications network - Google Patents

A system and method for synchronizing operations of a plurality of devices via communications over a communications network Download PDF

Info

Publication number
DE102005029440A1
DE102005029440A1 DE102005029440A DE102005029440A DE102005029440A1 DE 102005029440 A1 DE102005029440 A1 DE 102005029440A1 DE 102005029440 A DE102005029440 A DE 102005029440A DE 102005029440 A DE102005029440 A DE 102005029440A DE 102005029440 A1 DE102005029440 A1 DE 102005029440A1
Authority
DE
Germany
Prior art keywords
event
message
action
devices
timestamp
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.)
Ceased
Application number
DE102005029440A
Other languages
German (de)
Inventor
Daniel L. Santa Rosa Pleasant
Gopalakrishnan Santa Rosa Kailasam
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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE102005029440A1 publication Critical patent/DE102005029440A1/en
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G15/00Time-pieces comprising means to be operated at preselected times or after preselected time intervals
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G7/00Synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0664Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Ein System und ein Verfahren synchronisieren Operationen einer Mehrzahl von Vorrichtungen über Meldungen über ein Kommunikationsnetzwerk. Eine Mehrzahl von Vorrichtungen ist kommunikativ über ein Kommunikationsnetzwerk gekoppelt, und die Vorrichtungen haben ihre lokalen Takte zu einem hohen Präzisionsgrad synchronisiert durch eine Technik, wie z. B. IEEE 1588, zum Synchronisieren ihrer lokalen Takte. Ereignismeldungen können gesendet werden, die eine Identifikation eines Ereignisses sowie einen Zeitstempel umfassen, der auf dem lokalen Takt des Senders basiert. Der Empfänger einer Ereignismeldung bestimmt, ob er konfiguriert ist, um auf das identifizierte Ereignis hin zu handeln, und wenn ja, unternimmt derselbe seine Aktion, basierend auf dem Zeitstempel, der in der Ereignismeldung umfasst ist. Bei bestimmten Ausführungsbeispielen müssen die Ereignisse auslösen, dass eine Aktion und/oder die spezifischen Antwortaktionen, die für ein gegebenes Ereignis durchgeführt werden sollen, dynamisch für jede Vorrichtung programmierbar sind.A system and method synchronize operations of a plurality of devices via communications over a communications network. A plurality of devices are communicatively coupled via a communications network, and the devices have their local clocks synchronized to a high degree of precision by a technique such as a video recorder. IEEE 1588, to synchronize their local clocks. Event messages may be sent that include an identification of an event as well as a timestamp based on the sender's local clock. The receiver of an event message determines if it is configured to act upon the identified event and, if so, takes its action based on the timestamp included in the event message. In certain embodiments, the events must trigger that an action and / or the specific response actions to be performed for a given event are dynamically programmable for each device.

Description

Bezugnahme auf verwandte Anmeldungenreference on related applications

Diese Anmeldung bezieht sich auf gleichzeitig eingereichte und gemeinsam zugewiesene deutsche Patentanmeldungen Anwaltsaktenzeichen AG050618PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM KOORDINIEREN DER AKTIONEN EINER MEHRZAHL VON VORRICHTUNGEN ÜBER EIN PLANEN DER AKTIONEN BASIEREND AUF SYNCHRONISIERTEN LOKALEN TAKTEN", Anwaltsaktenzeichen Nr. AG050620PDE mit dem Titel „SYSTEM UND VERFAHREN ZUR STABILEN KOMMUNIKATION ÜBER EIN UNZUVERLÄSSIGES PROTOKOLL" und Anwaltsaktenzeichen Nr. AG050619PDE mit dem Titel „ZUSATZMODUL ZUM SYNCHRONISIEREN VON OPERATIONEN EINER MEHRZAHL VON VORRICHTUNGEN", deren Offenbarungen hierin durch Bezugnahme aufgenommen sind.These Registration refers to concurrently submitted and shared Assigned German patent applications Attorney Docket AG050618PDE entitled "SYSTEM AND METHOD FOR COORDINATING THE ACTIONS OF A MULTIPLE OF DEVICES OVER PLANNING ACTIONS BASED ON SYNCHRONIZED LOCAL CYCLES ", Attorney Docket No. AG050620PDE entitled "SYSTEM AND METHOD FOR STABLE COMMUNICATION ON AN UNRESOLVED PROTOCOL "and attorney docket No. AG050619PDE entitled "ADDITIONAL MODULE FOR SYNCHRONIZING OPERATIONS OF A NUMBER OF DEVICES ", their disclosures are incorporated herein by reference.

Beschreibungdescription

Die Synchronisation der Operation verschiedener Komponenten eines Systems ist häufig erwünscht. Zum Beispiel bei Messsystemen, die aus mehreren traditionellen Alles-in-Einem-Gehäuse-Instrumenten bestehen, erfordern komplexe Messungen häufig, dass verschiedene Instrumente zusammen gesteuert werden, um ihre entsprechenden Operationen ordnungsgemäß zu synchronisieren. Als Beispiele sollte es Spektrum-Analysatoren nicht erlaubt sein, Messungen durchzuführen, bis Signalquellen eingeschwungen sind; Leistungsmesser-Messungen sollten nicht genommen werden, bis eine ausreichende Anzahl von Proben gemittelt wurde, um eine Genauigkeit sicherzustellen; und Frequenzwobbelungsquellen sollte es nicht erlaubt sein, auf eine neue Frequenz zu schalten, bis Messungen bei der aktuellen Frequenz abgeschlossen sind. Somit wird es wünschenswert, die relativen Operationen der verschiedenen Instrumente zu synchronisieren.The Synchronization of the operation of various components of a system is common he wishes. To the For example, for measuring systems that consist of several traditional all-in-one case instruments Complex measurements often require different instruments be controlled together to properly synchronize their respective operations. As examples it should be spectrum analyzers not be allowed to take measurements until signal sources settle are; Power meter measurements should not be taken until a sufficient number of Samples were averaged to ensure accuracy; and Frequency sweep sources should not be allowed on one switch new frequency until measurements at the current frequency Are completed. Thus, it becomes desirable to have the relative Synchronize operations of different instruments.

Häufig werden Hardware-Auslöserleitungen verwendet, um die verschiedenen Instrumente in einem System zu synchronisieren. Hardware-Auslöserleitungen sind besonders wirksam bei Messsystemen, wo eine präzise Synchronisation erforderlich ist, oder wo eine Messgeschwindigkeit wichtig ist. Wenn Hardware-Auslöserleitungen implementiert werden, weisen die Instrumente einen Auslöser-Ausgang und einen Auslöser-Eingang mit einer zweckgebundenen Hardwareleitung auf (z. B. Draht), die den Auslöserausgang eines Instruments mit dem Auslösereingang eines anderen Instruments verbindet.Become frequent Hardware trigger lines used to synchronize the various instruments in a system. Hardware trigger lines are particularly effective in measuring systems where precise synchronization is required, or where a measuring speed is important. If hardware trigger lines implemented, the instruments have a trigger output and a trigger input with a dedicated hardware line on (eg, wire), the trigger output an instrument with the trigger input another instrument connects.

Zum Beispiel umfasst ein Spektrumanalysator üblicherweise einen Empfänger und einen Digitalisierer in dem selben Gehäuse, wobei das Ausgangssignal aus dem Empfänger gemessen werden sollte, nachdem es eine gewisse Zeitperiode zum Einschwingen hatte. Beim Implementieren von Hardware-Auslöserleitungen zwischen dem Empfänger und dem Digitalisierer würde der Empfänger ein Auslöser-Ausgangstor aufweisen, das über eine Hardwareleitung (z. B. Draht) mit dem Auslösereingangstor des Digitalisierers gekoppelt ist. Die Spannung auf dieser Hardwareleitung geht zu der Zeit hoch, zu der das Ausgangssignal von dem Empfänger eingeschwungen ist, und der Auslösereingang der Digitalisierereinheit erfasst diesen Spannungsübergang hin zu hoch und löst somit den Beginn der Messung aus. Somit stellt die Hardware-Auslöserleitung sicher, dass die relativen Operationen der Instrumente auf eine gewünschte Weise synchronisiert werden.To the For example, a spectrum analyzer typically includes a receiver and a digitizer in the same housing, the output signal from the receiver should be measured after a certain period of time Had settled. When implementing hardware trigger lines between the recipient and the digitizer the recipient a trigger output gate have that over a hardware line (eg, wire) to the trigger input port of the digitizer is coupled. The voltage on this hardware line goes to the Time high, to which the output signal from the receiver settled is, and the trigger input the digitizer unit detects this voltage transition too high and dissolves thus the beginning of the measurement. Thus, the hardware trigger line sure that the relative operations of the instruments at one desired Way synchronized.

Die Hardware-Auslöserleitungs-Technik erfordert einen physischen Draht, der zwischen diesen zwei Instrumenten verläuft, und die Funktion dieses Drahts ist fest und zweckgebunden zur Verwendung als ein Auslöser. Ferner erhöht die Einlagerung solcher Hardware-Auslöserleitungen die Menge an Verdrahtung und führt somit häufig zu Verdrahtungs-Komplexitäten und/oder -Komplikationen, wie z. B. Problemen im Hinblick auf die Wegleitung der Drähte und eine erhöhte Schwierigkeit beim Beheben von Problemen. Ferner, wenn sich die Länge der Hardware-Auslöserleitung erhöht (z. B. weil die gekoppelten Instrumente weiter voneinander entfernt angeordnet sind), erhöht sich auch die Latenzzeit von Signalen, die über eine solche Hardware-Auslöserleitung kommuniziert werden.The Hardware trigger line technology requires a physical wire between these two instruments runs, and the function of this wire is fixed and earmarked for use as a trigger. Further increased the inclusion of such hardware trigger lines the amount of wiring and leads thus often to wiring complexities and / or complications such. B. Problems with regard to Guide the wires and an increased Difficulty fixing problems. Further, when the Length of Hardware trigger line elevated (eg because the paired instruments are farther apart are arranged), increased Also, the latency of signals over such a hardware trigger line be communicated.

Eine andere Synchronisationstechnik verwendet eine Software zum Steuern der Operationen der verschiedenen Instrumente auf synchronisierte Weise. Eine solche Software-Synchronisation kann in Situationen verwendet werden, in denen Hardware-Auslöser nicht verfügbar sind, wie z. B. wenn die Instrumente, die synchronisiert werden sollen, zu weit auseinander angeordnet sind, um die Verwendung einer Hardware-Auslöserleitung zu ermöglichen. Beim Implementieren von Software zum Steuern der Synchronisation der Operation verschiedener Instrumente, kann die Software vordefinierte Zeitverzögerungen, abfragen der Instrumente und/oder Softwareinterrupte zum Koordinieren der Aktionen der Instrumente verwenden. Zum Beispiel, nachdem ein erstes Instrument angewiesen wird, eine erste Aktion zu unternehmen, kann die Software in einer externen Steuerung eine spezifische Zeitmenge warten, bevor ein anderes Instrument angewiesen wird, eine gegebene Aktion zu unternehmen, die nach der Fertigstellung der ersten Aktion durchgeführt werden soll. In manchen Fällen kann die Software in der externen Steuerung ein Instrument abfragen, um zu bestimmen, wann es eine gegebene Funktion abgeschlossen hat, so dass die Software bestimmen kann, wann es angemessen ist, die nächste Aktion auszulösen. In bestimmten Fällen können die Instrumente implementiert sein, um ein Signal zu der externen Steuerung zu senden, um ein Softwareinterrupt in der Steuerung zu erzeugen, die z. B. anzeigt, dass ein gegebenes Instrument eine bestimmte Operation abgeschlossen hat.Another synchronization technique uses software to control the operations of the various instruments in a synchronized manner. Such software synchronization can be used in situations where hardware triggers are not available, such as: For example, if the instruments to be synchronized are too far apart to allow use of a hardware trigger line. In implementing software to control the synchronization of the operation of various instruments, the software may use predefined time delays, interrogating the instruments and / or software interrupts to coordinate the actions of the instruments. For example, after If a first instrument is instructed to take a first action, the software in an external controller may wait a specific amount of time before instructing another instrument to take a given action to be taken after completion of the first action. In some cases, the software in the external controller may query an instrument to determine when it has completed a given function so that the software can determine when it is appropriate to trigger the next action. In certain cases, the instruments may be implemented to send a signal to the external controller to generate a software interrupt in the controller, e.g. B. indicates that a given instrument has completed a particular operation.

Als ein Beispiel für das Verwenden einer Softwaresynchronisationstechnik beim Synchronisieren von Operationen des oben erwähnten Empfängers und Digitalisierers kann ein Steuerungscomputer eine Meldung zu dem Empfänger senden, die denselben anweist, die Frequenz zu ändern. Es ist bekannt, dass eine bestimmte Wartezeit benötigt wird, bevor die Messung des Signals ausgelöst wird, das die geänderte Frequenz aufweist (um zu ermöglichen, dass die Änderung bei der Frequenz einschwingt). So, nachdem der Empfänger angewiesen wurde, seine Frequenz zu ändern, wartet der Steuerungscomputer (oder „schläft") eine vorbestimmte Zeitspanne, wie z. B. 100 Millisekunden. Der Steuerungscomputer weist dann den Digitalisierer an, das Durchführen einer Messung zu starten.When an example for using a software synchronization technique in synchronization of operations of the above receiver and digitizer, a control computer can send a message to the recipient Send the same instructing to change the frequency. It is known that requires a certain waiting time before the measurement of the signal having the changed frequency is triggered (to enable that change resonates at the frequency). So, after the receiver instructed was to change his frequency, the control computer waits (or "sleeps") for a predetermined period of time, such as z. B. 100 milliseconds. The control computer then assigns the digitizer on, performing to start a measurement.

Es sind ebenfalls Techniken zum Synchronisieren der Takte von vernetzten Vorrichtungen bis zu einem hohen Grad an Präzision bekannt. Als ein Beispiel ist ein Netzwerkzeitprotokoll (NTP; NTP = Network Time Protocol) ein Protokoll, das verwendet wird, um Computertaktzeiten in einem Netzwerk aus Computern zu synchronisieren. Gemeinsam mit ähnlichen Protokollen verwendet das NTP eine koordinierte Universalzeit (UTC; UTC = Coordinated Universal Time), um Computertaktzeiten auf innerhalb eine Millisekunde zu synchronisieren und manchmal innerhalb eines Bruchteils einer Millisekunde. Als ein anderes Beispiel hat die Institute of Electrical and Electronics Engineers Standards Association (IEEE-SA) einen neuen Standard genehmigt zum Beibehalten der Synchronität zwischen Takten auf einem Netzwerk, bezeichnet als der IEEE 1588 „Standard for a Precision Synchronization Protocol for Networked Measurement and Control Systems" (Standard für ein Präzisionssynchronisationsprotokoll für vernetzte Mess- und Steuerungs-Systeme). Im Allgemeinen definiert dieser Standard IEEE 1588 Meldungen, die verwendet werden können, um Zeitgebungsinformationen zwischen vernetzten Vorrichtungen auszutauschen, um ihre Takte synchronisiert zu halten. Der Standard IEEE 1588 ermöglicht sogar einen höheren Grad an Präzision (z. B. bis auf innerhalb eine Mikrosekunde) bei der Taktsynchronisation als der, der durch das NTP bereitgestellt wird.It are also techniques for synchronizing the clocks of networked Devices known to a high degree of precision. For example is a Network Time Protocol (NTP) a protocol that is used to make computer clocks in one Network from computers to sync. Together with similar The NTP uses a coordinated universal time (UTC; UTC = Coordinated Universal Time) to set computer clock times to within to synchronize a millisecond and sometimes within one Fraction of a millisecond. As another example, the Institute of Electrical and Electronics Engineers Standards Association (IEEE-SA) approved a new standard to maintain synchronism between Clocking on a network, referred to as the IEEE 1588 "standard for a Precision Synchronization Protocol for Networked Measurement and Control Systems "(Standard for a Precision synchronization protocol for networked Measuring and control systems). In general, this standard defines IEEE 1588 messages that can be used to provide timing information between networked devices to synchronize their clocks to keep. The IEEE 1588 standard even allows for a higher degree in precision (eg down to within a microsecond) in clock synchronization as the one provided by the NTP.

Während jedoch Techniken, wie z. B. NTP und der Standard IEEE 1588 Techniken zum Synchronisieren der Takte von vernetzten Vorrichtungen auf einen hohen Präzisionsgrad liefern, derart, dass die vernetzten Vorrichtungen, die jeweils einen lokalen Takt aufweisen, einen gemeinsamen Zeitsinn aufweisen, adressieren diese Techniken nicht die Synchronisation der Operation der Vorrichtungen. Statt dessen konzentrieren sich solche Techniken auf das aktive Beibehalten synchronisierter Takte zwischen vernetzten Vorrichtungen. Somit lassen es die aktiven Taktsynchronisationstechniken offen, wie die Vorrichtungen ihre synchronisierten Takte wirksam einsetzen, falls überhaupt, um ihre jeweiligen Operationen zu synchronisieren.While, however Techniques such. NTP and the standard IEEE 1588 techniques for Synchronizing the clocks of networked devices to one high degree of precision such that the networked devices, respectively have a local clock, have a common sense of time, These techniques do not address the synchronization of the operation of the devices. Instead, such techniques concentrate to keep synchronized clocks active between networked ones Devices. Thus, the active clock synchronization techniques leave it Open as the devices take effect their synchronized clocks use, if any, to synchronize their respective operations.

Es ist die Aufgabe der vorliegenden Erfindung, ein System und ein Verfahren mit verbesserten Charakteristika zu schaffen.It The object of the present invention is a system and a method with improved characteristics.

Diese Aufgabe wird durch ein System gemäß Anspruch 1, 15 und 25 und durch ein Verfahren gemäß Anspruch 28, 32 und 38 gelöst.These The object is achieved by a system according to claim 1, 15 and 25 and by a method according to claim 28, 32 and 38 solved.

Die vorliegende Erfindung richtet sich auf ein System und ein Verfahren, die Operationen einer Mehrzahl von Vorrichtungen über Meldungen über ein Kommunikationsnetzwerk synchronisieren. Somit ist eine Mehrzahl von Vorrichtungen kommunikativ über ein Kommunikationsnetzwerk gekoppelt, und die lokalen Takte der Vorrichtungen sind zu einem hohen Präzisionsgrad synchronisiert, unter Verwendung von IEEE 1588, NTP oder einer anderen Technik zum Synchronisieren ihrer lokalen Takte. Ereignismeldungen können gesendet werden, die eine Identifikation eines Ereignisses umfassen, sowie einen Zeitstempel, der auf dem lokalen Takt des Senders basiert. Der Empfänger einer Ereignismeldung kann bestimmen, ob er konfiguriert/programmiert ist, um auf das identifizierte Ereignis hin zu handeln, und wenn er auf das identifizierte Ereignis hin handeln soll, kann er seine Aktion basierend auf dem Zeitstempel unternehmen, der in der Ereignismeldung umfasst ist. Bei bestimmten Ausführungsbeispielen sind die Ereignisse, die eine Aktion und/oder die spezifischen ansprechenden Aktionen auslösen sollen, die für ein gegebenes Ereignis unternommen werden sollen, dynamisch für jede Vorrichtung programmierbar. Wie hierin weiter beschrieben wird, können die Ereignismeldungen verwendet werden, um die Operationen von verschiedenen Vorrichtungen mit einem hohen Grad an zeitlicher Präzision zu koordinieren, da die Aktionen, die an jeder Vorrichtung unternommen werden, auf dem Zeitstempel basieren können, der in der Ereignismeldung umfasst ist.The present invention is directed to a system and method that synchronizes operations of a plurality of devices via communications over a communications network. Thus, a plurality of devices are communicatively coupled via a communication network, and the local clocks of the devices are synchronized to a high degree of precision, using IEEE 1588, NTP or other technique for synchronizing their local clocks. Event messages may be sent that include an identification of an event and a timestamp based on the sender's local clock. The receiver of an event message may determine if it is configured / programmed to act upon the identified event, and if it is to act on the identified event, it may take its action based on the timestamp included in the event message , In certain embodiments, the events that are to trigger an action and / or the specific responsive actions to be taken for a given event are dyna can be programmed for each device. As further described herein, the event messages may be used to coordinate the operations of various devices with a high degree of temporal precision, since the actions taken on each device may be based on the timestamp included in the event message is.

Zum Beispiel weist ein System gemäß zumindest einem Ausführungsbeispiel zumindest zwei Vorrichtungen auf, die kommunikativ über ein Kommunikationsnetzwerk gekoppelt sind, wobei die zumindest zwei Vorrichtungen eine Einrichtung zum Synchronisieren ihrer Takte umfassen. Die Einrichtung zum Synchronisieren ihrer Takte synchronisiert gemäß verschiedenen hierin bereitgestellten Ausführungsbeispielen die lokalen Takte der Vorrichtungen, z. B. durch Austausch von Meldungen zwischen den Vorrichtungen. Solche synchronisierten Takte können beispielsweise gemäß dem IEEE-1588-Standard oder dem NTP-Standard implementiert sein. Die zumindest zwei Vorrichtungen weisen ferner eine Einrichtung zum Kommunizieren mit der anderen der zumindest zwei Vorrichtungen über das Kommunikationsnetzwerk auf, von einer Meldung, die einen Zeitstempel umfasst und ein Ereignis identifiziert. Ferner weisen die zumindest zwei Vorrichtungen eine Einrichtung auf zum Empfangen der Meldung und zum Bestimmen einer Antwortaktion, die ansprechend auf das identifizierte Ereignis unternommen werden soll, wobei eine bestimmte Aktion basierend auf dem Zeitstempel unternommen wird, der in der Meldung umfasst ist. Somit können Operationen der Vorrichtungen basierend auf ihren lokalen synchronisierten Takten koordiniert werden, durch die Verwendung von Ereignismeldungen, die über das Kommunikationsnetzwerk kommuniziert werden.To the Example shows a system according to at least an embodiment at least two devices communicatively over one Communication network are coupled, wherein the at least two devices comprise means for synchronizing their clocks. The device to synchronize their clocks synchronized according to different Embodiments provided herein the local clocks of the devices, eg. B. by exchanging messages between the devices. Such synchronized clocks can, for example according to the IEEE 1588 standard or the NTP standard to be implemented. The at least two devices also have means for communicating with the other one the at least two devices via the communication network on, on a message that includes a timestamp and an event identified. Furthermore, the at least two devices have one Device for receiving the message and for determining a Response action made in response to the identified event should be, taking a specific action based on the timestamp which is included in the message. Thus, operations of the devices coordinated based on their local synchronized clocks be through the use of event messages that over the Communication network are communicated.

Bei bestimmten Ausführungsbeispielen werden die Ereignismeldungen über das Kommunikationsnetzwerk rundgesendet, z. B. unter Verwendung eines UDP. Somit muss sich der Sender der Ereignismeldung nicht damit befassen, mit welchen anderen Vorrichtung(en) die Meldung gesendet werden soll, und ist sich vielleicht nicht einmal bewusst, welche anderen Vorrichtungen mit dem Kommunikationsnetzwerk gekoppelt sind. Alle Vorrichtungen auf dem Kommunikationsnetzwerk (z. B. einem LAN oder einem Teilnetz eines WAN) können die rundgesendete Ereignismeldung empfangen, und jede Vorrichtung kann bestimmen, ob sie konfiguriert ist, um eine Aktion zu unternehmen, ansprechend auf das identifizierte Ereignis. Wenn eine Empfangsvorrichtung nicht konfiguriert ist, um eine Aktion für das identifizierte Ereignis zu unternehmen, kann sie die rundgesendete Ereignismeldung ignorieren. Natürlich können bei anderen Ausführungsbeispielen die Ereignismeldungen auf eine Nicht-Rundsende-Weise gesendet werden, wie z. B. unter Verwendung eines TCP.at certain embodiments the event messages get over the communication network broadcast, z. B. using a UDP. Thus, the sender of the event message does not have to to deal with which other device (s) the message should not be sent, and may not even be aware which other devices are coupled to the communication network are. All devices on the communication network (eg LAN or a subnet of a WAN) can broadcast the broadcast event message and each device can determine if it is configured to take action, responsive to the identified Event. If a receiving device is not configured, an action for To do the identified event, it can be the most broadcast Ignore event message. Naturally can in other embodiments the event messages are sent in a non-broadcast manner, such as More colorful Using a TCP.

Das Vorangehende hat ziemlich umfassend die Merkmale und die technischen Vorteile der vorliegenden Erfindung ausgeführt, so dass die detaillierte Beschreibung der Erfindung, die folgt, besser verständlich ist. Zusätzliche Merkmale und Vorteile der Erfindung werden hierin nachfolgend beschrieben, die den Gegenstand der Ansprüche der Erfindung bilden. Es sollte darauf hingewiesen werden, dass der Entwurf und das spezifische Ausführungsbeispiel, die hierin offenbart sind, ohne weiteres als eine Basis zum Modifizieren oder Entwerfen anderer Strukturen verwendet werden können, um die selben Zwecke der vorliegenden Erfindung auszuführen. Es sollte ferner erkannt werden, dass solche gleichwertigen Entwürfe nicht von der Erfindung abweichen, wie sie in den beiliegenden Ansprüchen ausgeführt ist. Die neuen Merkmale, die als charakteristisch für die Erfindung erachtet werden, sowohl im Hinblick auf die Organisation als auf das Verfahren der Operation, sind zusammen mit weiteren Zielen und Vorteilen aus der nachfolgenden Beschreibung besser verständlich, wenn sie in Verbindung mit den begleitenden Figuren betrachtet wird. Es wird jedoch ausdrücklich darauf hingewiesen, dass jede der Figuren zum Zweck der Darstellung und der Beschreibung vorgelegt wird und nicht als eine Definition der Grenzen der vorliegenden Erfindung gedacht ist.The Previous has quite extensive features and technical Advantages of the present invention carried out so that the detailed Description of the invention which follows, is better understood. additional Features and advantages of the invention will be described hereinafter, the subject of the claims form the invention. It should be noted that the design and specific embodiment herein readily as a basis for modification or design Other structures can be used for the same purposes to carry out the present invention. It should also be recognized that such equivalent designs are not of the invention differ as set forth in the accompanying claims. The new features, which are characteristic of the invention, both in terms of organization as to the procedure of the operation, are together with others Objectives and advantages from the description below better understandable, if it is considered in conjunction with the accompanying figures. It is, however, explicit noted that each of the figures for the purpose of illustration and the description is presented rather than a definition the limits of the present invention is intended.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:preferred embodiments The present invention will be described below with reference to FIG the enclosed drawings closer explained. Show it:

1 ein Beispielsystem gemäß einem Ausführungsbeispiel zum Synchronisieren von Operationen einer Mehrzahl von vernetzten Vorrichtungen; 1 an example system according to an embodiment for synchronizing operations of a plurality of networked devices;

2 ein spezifisches Beispiel zum Verwenden einer meldungsbasierten Technik in dem System aus 1 zum Koordinieren der Operationen der vernetzten Vorrichtungen; und 2 a specific example of using a message-based technique in the system 1 for coordinating the operations of the networked devices; and

3 ein Operationsflussdiagramm zum Synchronisieren der Operation einer Mehrzahl von vernetzten Vorrichtungen gemäß einem Ausführungsbeispiel. 3 an operational flowchart for synchronizing the operation of a plurality of networked devices according to one embodiment.

Wie oben beschrieben wurde, erfordern Messsysteme häufig, dass die Operation verschiedener Instrumente synchronisiert (oder koordiniert) wird, auf eine geeignete Weise, um zu ermöglichen, dass genaue Messungen erhalten werden. Zum Beispiel sollte ein Spektrumanalysator koordiniert werden, um seine Messungen durchzuführen, nachdem eine Signalquelle ausreichend Gelegenheit hatte, bei ihrer Ausgangsfrequenz einzuschwingen.As described above, measurement systems often require that the operation of various In instruments are synchronized (or coordinated) in a suitable manner to allow accurate measurements to be obtained. For example, a spectrum analyzer should be coordinated to perform its measurements after a signal source has had sufficient opportunity to settle at its output frequency.

Das gesamte oder ein Abschnitt eines Messsystems kann mit „synthetischen Instrumenten" gebildet sein. Synthetische Instrumente sind nicht in der Lage, Messungen selbst fertigzustellen, sondern statt dessen muss eine Ansammlung derselben zusammenarbeiten, um eine Messung zu implementieren. Andererseits enthalten herkömmliche Alles-in-Einem-Gehäuse-Instrumente (hierin bezeichnet als „vollständig abgeschlossene Instrumente") vollständig alle Teilsysteme, die zum Durchführen einer gewünschten Messung benötigt werden. Zum Beispiel kann ein Spektrumanalysator als ein vollständig abgeschlossenes Instrument implementiert sein, oder ein solcher Spektrumanalysator kann durch eine Sammlung aus synthetischen Instrumenten gebildet werden, wie z. B. einen Empfänger, Digitalisierer etc., die kommunikativ über ein Kommunikationsnetzwerk gekoppelt sind. Ein vollständig abgeschlossenes System muss möglicherweise eine Schnittstelle mit einem anderen System bilden, um etwas zum Messen zu haben. Zum Beispiel bildet ein vollständig abgeschlossener Spektrumanalysator eine Schnittstelle mit einer Quelle, um das Signal zu messen, das durch die Quelle geliefert wird. Egal ob eine Mehrzahl von vollständig abgeschlossenen Instrumenten (z. B. Spektrumanalysator, HF-Quelle etc.) oder eine Mehrzahl von synthetischen Instrumenten (oder eine Kombination von vollständig abgeschlossenen und synthetischen Instrumenten) verwendet wird, ist es häufig erwünscht, dass die relativen Operationen der verschiedenen Instrumente auf eine bestimmte Weise koordiniert werden, um genaue Messungen zu ermöglichen.The entire or a section of a measuring system can be made with "synthetic Instruments "be formed. Synthetic instruments are unable to take measurements themselves but instead there must be a collection of them work together to implement a measurement. On the other hand included conventional All-in-one housing instruments (herein referred to as "fully completed Instruments ") completely all Subsystems that are to perform a desired one Measurement needed. For example, a spectrum analyzer may be considered a fully completed Instrument, or such a spectrum analyzer can be formed by a collection of synthetic instruments be such. A receiver, Digitizer, etc., communicatively via a communication network are coupled. A complete completed system may need form an interface with another system, to something for To have fairs. For example, a fully terminated spectrum analyzer forms an interface with a source to measure the signal that delivered by the source. No matter if a majority of completely closed Instruments (eg spectrum analyzer, RF source etc.) or a plurality of synthetic instruments (or a combination of completely closed and synthetic instruments), it is often desirable that the relative operations of the various instruments to a particular one Be coordinated in order to allow accurate measurements.

Innerhalb der traditionellen, vollständig abgeschlossenen Instrumente können verschiedene Teilsysteme Zeitgebungs- und Synchronisations-Funktionen über Hardware-Auslöserleitungen (hardware trigger line) und/oder ihre zugrundeliegende Firmware erreichen. Synthetische Instrumente, die Funktionsteile der vollständig abgeschlossenen Instrumente sind, müssen möglicherweise auf eine andere Weise synchronisiert werden, da z. B. solche synthetischen Instrumente zu weit auseinander angeordnet sein können, als dass eine Verwendung von Hardware-Auslöserleitungen praktisch ist, und/oder die Verdrahtungskomplexitäten, die in das Implementieren solcher Hardware-Auslöserleitungen involviert sind, können diese Lösung unerwünscht machen. Zusätzlich dazu sind die Anforderungen zur Synchronisation synthetischer Instrumente häufig strenger als für die Synchronisation zwischen separaten vollständig abgeschlossenen Instrumenten, aufgrund der Tatsache, dass jedes synthetische Instrument (oder „Modul") einen kleineren Funktionalitätssatz enthält.Within the traditional, complete completed instruments can various subsystems Timing and synchronization functions via hardware trigger lines (hardware trigger line) and / or its underlying firmware to reach. Synthetic instruments, the functional parts of the fully completed Instruments are, must possibly be synchronized in a different way because z. B. such synthetic Instruments may be too far apart than that use of hardware trigger lines is practical, and / or the wiring complexities involved in implementing such hardware trigger lines are involved this solution undesirable do. Additionally are the requirements for synchronization of synthetic instruments often Stricter than for the Synchronization between separate fully contained instruments, due to the fact that every synthetic instrument (or "module") has a smaller size set of functionality contains.

Bezug nehmend wiederum auf das oben erwähnte Beispiel eines Spektrumanalysators umfassen moderne, vollständig abgeschlossene Spektrumanalysatoren üblicherweise einen Empfänger und einen Digitalisierer. Die Firmware des Spektrumanalysators steuert die Frequenzwobbelung des Empfängers sowie des Digitalisierers und kann ohne weiteres die Digitalisierer- mit der Empfänger-Frequenz synchronisieren, um sicherzustellen, dass Messungen korrekt durchgeführt werden. Ein synthetisches Instrumentsystem andererseits könnte einen Empfänger und einen Digitalisierer umfassen, aber nicht in dem selben Instrument. Eine Synchronisation zwischen diesen Vorrichtungen ist daher nicht in einem einzelnen Instrument enthalten. Bei diesem synthetischen Instrumentsystem ist eine Synchronisation der Digitalisierer- mit der Empfänger-Frequenz erwünscht, um sicherzustellen, dass der Digitalisierer Messungen zu der Zeit durchführt, zu der die Empfängerfrequenz eingeschwungen ist, und nicht früher oder später als das. Techniken werden hierin bereitgestellt, die zum Synchronisieren der Operationen einer Mehrzahl von synthetischen Instrumenten und/oder vollständig abgeschlossenen Instrumenten verwendet werden können.reference taking again the above-mentioned example of a spectrum analyzer include modern, complete completed spectrum analyzers usually a receiver and a digitizer. The firmware of the spectrum analyzer controls the frequency sweep of the receiver as well as the digitizer and can easily use the digitizer with the receiver frequency synchronize to ensure that measurements are performed correctly. On the other hand, a synthetic instrument system might have a receiver and a digitizer, but not in the same instrument. A synchronization between these devices is therefore not contained in a single instrument. In this synthetic Instrument system is a synchronization of the digitizer with the receiver frequency desired to To ensure that the digitizer performs measurements at the time, too the receiver frequency has settled, and not earlier or later as that techniques are provided herein for synchronization the operations of a plurality of synthetic instruments and / or fully completed Instruments can be used.

Bezug nehmend auf 1 ist ein Beispielsystem 10 gemäß einem Ausführungsbeispiel zum Synchronisieren von Operationen einer Mehrzahl von vernetzten Vorrichtungen (oder „Instrumenten") gezeigt. Das Beispielsystem 10 umfasst eine Steuerung 11, eine Quelle 12 und einen Empfänger 13, die alle kommunikativ über ein Kommunikationsnetzwerk 14 gekoppelt sind, das ein lokales Netz (LAN; LAN = local area network), das Internet oder ein anderes weites Netz (WAN; WAN = wide area network), ein öffentliches Telefonnetzwerk (PSTN; PSTN = public switched telephony network), ein drahtloses Netz, eine Kombination der Vorangehenden und/oder ein anderes Netz sein kann, das bereits bekannt ist oder später entwickelt wird, zum Kommunizieren von Informationen von zumindest einer Vorrichtung zu zumindest einer anderen Vorrichtung. Während eine Quelle 12 und ein Empfänger 13 bei diesem Beispiel gezeigt sind, wird darauf hingewiesen, dass Ausführungsbeispiele zum Synchronisieren von Operationen, die hierin beschrieben sind, nicht in ihrer Anwendung auf diese exemplarischen Instrumente eingeschränkt sind. Die hierin beschriebenen Techniken können zum Synchronisieren der Operationen von Instrumenten verwendet werden, die ein Messsystem bilden. Solche Techniken können zum Synchronisieren der Operationen von synthetischen Instrumenten eines Messsystems und/oder vollständig abgeschlossenen Instrumenten eingesetzt werden. Ferner, während die Techniken eine bestimmte Anwendbarkeit an Messsystemen aufweisen, um die Operationen von verschiedenen Instrumenten zu einem hohen Grad an Präzision zu synchronisieren, die zum Durchführen von Messungen verwendet werden, können die hierin beschriebenen Techniken auf ähnliche Weise in anderen Typen von Systemen eingesetzt werden, in denen die Synchronisation von Operationen einer Mehrzahl von vernetzten Vorrichtungen erwünscht ist.Referring to 1 is an example system 10 according to an embodiment for synchronizing operations of a plurality of networked devices (or "instruments") 10 includes a controller 11 , a source 12 and a receiver 13 , all communicatively via a communication network 14 A local area network (LAN), the Internet or other wide area network (WAN), a public switched telephony network (PSTN), a wireless network Network, a combination of the preceding and / or another network that is already known or later developed, for communicating information from at least one device to at least one other device. While a source 12 and a receiver 13 In this example, it should be understood that embodiments for synchronizing operations described herein are not limited in their application to these exemplary instruments. The techniques described herein may be used to synchronize the operations of instruments that make up a measurement system. Such techniques may be used to synchronize the operations of synthetic instruments of a measurement system and / or fully contained instruments. Further, while the techniques a have particular applicability to measurement systems to synchronize the operations of various instruments to a high degree of precision used to make measurements, the techniques described herein can be similarly employed in other types of systems in which the synchronization of Operations of a plurality of networked devices is desired.

Die Steuerung 11, die ein Personalcomputer (PC) oder eine andere prozessorbasierte Vorrichtung sein kann, umfasst eine zentrale Verarbeitungseinheit (CPU; CPU = central processing unit) 105A. Auf ähnliche Weise umfasst die Quelle 12 eine CPU 105B und der Empfänger 13 umfasst eine CPU 105C. Die Takte von jedem Element aus Steuerung 11, Quelle 12 und Empfänger 13 sind bei diesem Beispiel synchronisiert. Bei diesem spezifischen Beispiel wird das IEEE 1588 verwendet, wobei die Steuerung 11 den IEEE-1588-Takt 103A implementiert, die Quelle 12 den IEEE-1588-Takt 103B implementiert und der Empfänger 13 den IEEE-1588-Takt 103C implementiert. Natürlich können andere Techniken zum aktiven Synchronisieren der lokalen Takte, wie z. B. unter Verwendung von NTP, bei anderen Implementierungen verwendet werden. Die lokalen Takte werden derart bezeichnet, dass sie „aktiv synchronisiert" sind, da die Vorrichtungen miteinander in Wechselwirkung sind, um ihre jeweiligen lokalen Takte synchronisiert zu halten, gemäß der bestimmten verwendeten Synchronisationstechnik (z. B. IEEE 1588 oder NTP). Andere Techniken (z. B. passive Techniken) können bei alternativen Ausführungsbeispielen zum Synchronisieren der lokalen Takte verwendet werden, unter Verwendung von GPS-Empfängern (GPS = global positioning system), etc. Somit haben die Steuerung 11, die Quelle 12 und der Empfänger 13 ihre lokalen Takte 103A, 103B und 103C zu einem hohen Präzisionsgrad derart synchronisiert, dass sie alle einen gemeinsamen Zeitsinn aufweisen. Wie hierin weiter beschrieben wird, muss die der lokale Takt der Steuerung 11 bei bestimmten Ausführungsbeispielen nicht mit den Takten der anderen Instrumente in dem Messsystem synchronisiert sein, wie z. B. dem der Quelle 12 und des Empfängers 13.The control 11 , which may be a personal computer (PC) or other processor-based device, includes a central processing unit (CPU). 105A , Similarly, the source includes 12 a CPU 105B and the receiver 13 includes a CPU 105C , The bars of each element from control 11 , Source 12 and receiver 13 are synchronized in this example. In this specific example, the IEEE 1588 is used, with the controller 11 the IEEE 1588 clock 103A implemented, the source 12 the IEEE 1588 clock 103B implemented and the receiver 13 the IEEE 1588 clock 103C implemented. Of course, other techniques for actively synchronizing the local clocks, such as clocking. Using NTP, in other implementations. The local clocks are referred to as being "actively synchronized" because the devices interact with each other to keep their respective local clocks synchronized according to the particular synchronization technique used (eg, IEEE 1588 or NTP) Other Techniques (eg, passive techniques) may be used in alternative embodiments to synchronize the local clocks, using global positioning system (GPS) receivers, etc. Thus, the controller has 11 , the source 12 and the receiver 13 their local bars 103A . 103B and 103C synchronized to a high degree of precision so that they all share a common sense of time. As further described herein, the local clock of the controller must be 11 in certain embodiments may not be synchronized with the clocks of the other instruments in the measuring system, such as, for example, B. that of the source 12 and the recipient 13 ,

Die Steuerung 11, die Quelle 12 und der Empfänger 13 weisen jeweils einen Ereignisverwalter auf, der auf denselben ausgeführt wird, etikettiert als 101A, 101B bzw. 101C. Im Allgemeinen ist der Ereignisverwalter eine Software und/oder Hardware, die entworfen ist, um es den verschiedenen Instrumenten zu ermöglichen, Informationen über zeitempfindliche Ereignisse zu kommunizieren. Die Operation des Ereignisverwalters gemäß diesem beispielhaften Ausführungsbeispiel wird nachfolgend weiter beschrieben.The control 11 , the source 12 and the receiver 13 each have an event manager running on them labeled as 101A . 101B respectively. 101C , In general, the event manager is software and / or hardware designed to allow the various instruments to communicate information about time-sensitive events. The operation of the event manager according to this exemplary embodiment will be further described below.

Bevor mit der Erörterung des Beispielsystems 10 aus 2 fortgefahren wird, ist es hilfreich, kurz einen Teil der Terminologie zu erörtern, die hierin verwendet wird.Before discussing the example system 10 out 2 it is helpful to briefly discuss some of the terminology used herein.

Der Ausdruck „Ereignis", wenn er alleine verwendet wird, bezieht sich auf etwas, das innerhalb eines Instruments passiert, wie z. B. in der Quelle 12 oder in dem Empfänger 13 des Beispielsystems 10. Zum Beispiel könnte ein Ereignis erzeugt werden, wenn sich der Eingabepuffer eines Digitalisierers füllt, oder wenn ein Ausgangssignal eingeschwungen ist. Ereignisse werden üblicherweise durch die Hardware eines Instruments erzeugt, obwohl dies keine Einschränkung ist. Software kann ebenfalls Ereignisse erzeugen.The term "event", when used alone, refers to something that happens within an instrument, such as in the source 12 or in the receiver 13 of the example system 10 , For example, an event could be generated when the input buffer of a digitizer fills or when an output signal has settled. Events are usually generated by the hardware of an instrument, although this is not a limitation. Software can also generate events.

Der Ausdruck „Ereignismeldung" bezieht sich auf eine Meldung, die auf dem Kommunikationsnetzwerk gesendet wird, die verwendet wird, um andere Instrumente zu benachrichtigen, dass ein Ereignis aufgetreten ist. Bei bestimmten hierin gelieferten Ausführungsbeispielen werden Ereignismeldungen z. B. unter Verwendung eines Benutzerdatagrammprotokolls (UDP; UDP = User Datagram Protocol) zu allen Instrumenten auf einem gegebenen Kommunikationsnetzwerk (z. B. auf einem gegebenen Teilnetz) rundgesendet. Bei anderen Ausführungsbeispielen werden die Ereignismeldungen über ein Punkt-zu-Punkt-Protokoll gesendet, wie z. B. das Sendesteuerungsprotokoll (TCP; TCP = Transmission Control Protocol). Ein Instrument kann eine Ereignismeldung senden. Andere Instrumente können entweder auf Ereignismeldungen antworten oder dieselben ignorieren.Of the Expression "Event message" refers to a message sent on the communication network which is used to notify other instruments that an event has occurred. For certain supplied herein embodiments Event messages z. Using a user datagram protocol (UDP = User Datagram Protocol) to all instruments on one given communication network (eg on a given subnetwork) broadcast. In other embodiments the event messages get over a point-to-point protocol sent, such as For example, the transmit control protocol (TCP; TCP = Transmission Control Protocol). An instrument can send an event message. Other instruments can either reply to event messages or ignore them.

Der Ausdruck „Ausgabeereignis" bezieht sich auf ein Ereignis, das zu einer Ereignismeldung führt, die auf dem Kommunikationsnetzwerk kommuniziert wird. Es wird darauf hingewiesen, dass nicht alle Ereignisse Ausgabeereignisse sind. Ein Instrument kann einige Ereignisse intern handhaben.Of the Expression "Output Event" refers to an event that causes an event message to appear on the communication network is communicated. It should be noted that not all events are output events are. An instrument can handle some events internally.

Der Ausdruck „Eingabeereignis" bezieht sich auf ein Ereignis, das von einem anderen Instrument empfangen wird. Das Eingabeereignis kommt in der Form einer Ereignismeldung auf dem Kommunikationsnetzwerk an.Of the Expression "Input Event" refers to an event received by another instrument. The Input event comes in the form of an event message on the Communication network.

Der Ausdruck „Aktion" bezieht sich auf etwas, das ein Instrument entweder ansprechend auf ein Ereignis oder auf eine Ereignismeldung durchführt. Bei bestimmten hierin vorgesehenen Ausführungsbeispielen werden Aktionen mit Hilfe von Rückrufroutinen ausgeführt. In diesem Kontext ist eine Aktion kein atomares Ereignis, z. B. kann eine Rückrufroutine eine komplexe Anweisungssequenz ausführen.The term "action" refers to something that an instrument performs, either in response to an event or to an event message, in certain embodiments provided herein actions are performed using callback routines. In this context, an action is not an atomic event, e.g. For example, a callback routine may execute a complex instruction sequence.

Der Ausdruck „Programmierungsmeldung" bezieht sich auf eine Meldung, die auf dem Kommunikationsnetzwerk gesendet wird, die verwendet wird, um eine Empfängervorrichtung zu programmieren, um eine bestimmte Aktion zu unternehmen, ansprechend auf die Erfassung eines bestimmten Ereignisses.Of the Expression "Programming message" refers to a message sent on the communication network which is used to make a receiver device to program to take a particular action, appealing on the capture of a specific event.

Gemäß den hierin beschriebenen Ausführungsbeispielen werden Ereignismeldungen über das Kommunikationsnetzwerk 14 gesendet, um die Operationen der Instrumente zu koordinieren, wie z. B. der Quelle 12 und des Empfängers 13. Somit, anstelle Hardware-Auslöserleitungen zwischen allen Instrumenten zu benötigen, die in einem Messsystem verwendet werden, werden zumindest bestimmte Instrumente unter Verwendung der hierin beschriebenen meldungs-basierten Technik synchronisiert. Gemäß zumindest einem Ausführungsbeispiel umfassen die Ereignismeldungen die Identifikation eines Ereignisses sowie einen entsprechenden Zeitstempel. Die Instrumente können konfiguriert/programmiert werden, um eine bestimmte Aktion daraufhin zu unternehmen, dass das Synchronisationsmodul ein gegebenes Ereignis empfängt, das entweder ein Ereignis sein kann, das intern empfangen wird, oder ein Ereignis, das in einer Ereignismeldung umfasst ist (ein „Eingangsereignis"). Wie ferner hierin beschrieben wird, sind bei bestimmten Ausführungsbeispielen die Aktionen dynamisch programmierbar. Zum Beispiel kann die Steuerung 11 eine Programmierungsmeldung zu der Quelle 12 senden, die ihren Ereignisverwalter 101B anweist, eine bestimmte Aktion zu unternehmen, nach der Erfassung eines bestimmten Ereignisses. Bei bestimmten Ausführungsbeispielen kann die Quelle 12 vorkonfiguriert sein, um die gewünschte Aktion ansprechend auf ein gegebenes Ereignis zu unternehmen, und ist nicht diesbezüglich dynamisch programmiert. Somit, da die Instrumente programmiert sind (oder anderweitig konfiguriert sind), um entsprechende Aktionen ansprechend auf erfasste Ereignisse zu unternehmen, können Ereignismeldungen, die Ereignisse und entsprechende Zeitstempel identifizieren (gemäß den synchronisierten lokalen Takten der Instrumente), zum Koordinieren der entsprechenden Operationen der Instrumente verwendet werden, wie hierin weiter beschrieben wird.According to the embodiments described herein, event messages are sent over the communications network 14 sent to coordinate the operations of the instruments, such as The source 12 and the recipient 13 , Thus, rather than requiring hardware trigger lines between all instruments used in a measurement system, at least certain instruments are synchronized using the message-based technique described herein. In accordance with at least one embodiment, the event messages include the identification of an event and a corresponding time stamp. The instruments may be configured / programmed to take a particular action in response to the synchronization module receiving a given event, which may be either an event received internally or an event included in an event message (an "input event As further described herein, in certain embodiments, the actions are dynamically programmable 11 a programming message to the source 12 send that their event manager 101B instructs to take a specific action after detecting a specific event. In certain embodiments, the source 12 preconfigured to take the desired action in response to a given event, and is not dynamically programmed in this regard. Thus, since the instruments are programmed (or otherwise configured) to take appropriate actions in response to detected events, event messages that identify events and corresponding timestamps (according to the synchronized local clocks of the instruments) may be used to coordinate the respective operations of the instruments can be used as further described herein.

Bei dem Ausführungsbeispiel aus 1 umfassen die Steuerung 11, die Quelle 12 und der Empfänger 13 jeweils programmierte Ereignisinformationen, bezeichnet als 102A, 102B bzw. 102C. Solche programmierten Ereignisinformationen können z. B. die Aktion(en) spezifizieren, die das entsprechende Instrument laut Konfiguration ansprechend auf die spezifizierten Ereignisse unternimmt. Die programmierten Ereignisinformationen können z. B. als eine Datenbank angeordnet sein oder auf eine andere geeignete Weise gespeichert werden. Bei bestimmten Ausführungsbeispielen ist eine Benutzerschnittstelle 104 auf der Steuerung 11 vorgesehen, um einem Benutzer 15 zu ermöglichen, mit dem Ereignisverwalter 101A in Wechselwirkung zu treten, z. B. um die Ereignisinformationen auf den verschiedenen Instrumenten zu programmieren. Beispiele solcher programmierten Ereignisinformationen 102A102C werden hierin weiter beschrieben, einschließlich dem spezifischen Beispiel, das in Tabelle 2 unten enthalten ist.In the embodiment of 1 include the controller 11 , the source 12 and the receiver 13 each programmed event information, referred to as 102A . 102B respectively. 102C , Such programmed event information may e.g. For example, specify the action (s) that the corresponding instrument will make according to the configuration in response to the specified events. The programmed event information can be z. B. may be arranged as a database or stored in any other suitable manner. In certain embodiments, a user interface is 104 on the controller 11 provided to a user 15 to enable with the event manager 101A to interact, for. For example, to program the event information on the various instruments. Examples of such programmed event information 102A - 102C are further described herein, including the specific example included in Table 2 below.

Da die lokalen Takte der Instrumente zu einem hohen Präzisionsgrad synchronisiert sind, können die Aktionen der verschiedenen vernetzten Instrumente mit einem solchen hohen Grad an Präzision koordiniert werden. Während ein meldungs-basierter Lösungsansatz zum Koordinieren der Operationen der Instrumente verwendet werden kann, können ihre Operationen mit einem höheren Grad an Präzision koordiniert werden, als durch die Meldung bereitgestellt wird (z. B. aufgrund von Latenzzeiten, die beim Senden der Meldungen über das Kommunikationsnetzwerk 14 angetroffen werden können etc.), da die Instrumente ihre lokalen Takte aktiv auf einen hohen Präzisionsgrad synchronisiert haben.Since the local clocks of the instruments are synchronized to a high degree of precision, the actions of the various networked instruments can be coordinated with such a high degree of precision. While a message-based approach can be used to coordinate the operations of the instruments, their operations can be coordinated with a higher degree of precision than provided by the message (e.g., due to latencies involved in sending messages over the message) communication network 14 etc.), because the instruments have actively synchronized their local clocks to a high degree of precision.

Es sei z. B. angenommen, dass die Quelle 12 konfiguriert/programmiert ist, um ihre Ausgangsfrequenz ändert (z. B. HF-Frequenz) zu ändern, ansprechend darauf, dass das „Ereignis Nr.1" erfasst wird, und sobald die Frequenzänderung eingeschwungen ist, die Quelle 12 dann eine Ereignismeldung ausgibt, die „Ereignis Nr.2" identifiziert. Es sei ferner angenommen, dass der Empfänger 13 konfiguriert/programmiert ist, um eine Messung des Signals durchzuführen (z. B. Leistung und/oder andere Charakteristika des Signals), ansprechend auf das erfassen von Ereignis Nr.2. Der Benutzer 15 kann bei bestimmten Implementierungen den Messprozess initiieren, durch eine Wechselwirkung, über die Benutzerschnittstelle 104, mit der Steuerung 11, um zu verursachen, dass ein Ereignis Nr.1 zu der Quelle 12 gesendet wird. Wie hierin weiter beschrieben wird, kann ein solches Ereignis Nr.1 bei bestimmten Implementierungen über das Kommunikationsnetzwerk 14 rundgesendet werden. Der Ereignisverwalter 101B auf Quelle 12 würde das Ereignis Nr.1 erfassen und gemäß der entsprechenden programmierten Aktion, die in den programmierten Ereignisinformationen 102B für dieses Ereignis Nr.1 identifiziert ist, seine Frequenz ändern und nachfolgend eine Ereignismeldung zu dem Empfänger 13 senden, die das Ereignis Nr.2 identifiziert. Wiederum kann bei bestimmten Implementierungen diese Ereignismeldung, die durch die Quelle gesendet wird, über das Kommunikationsnetzwerk 14 rundgesendet werden. Die Ereignismeldung umfasst ferner einen Zeitstempel, basierend auf dem lokalen Takt 103B der Quelle, der dem entspricht, wann die geänderte Frequenz eingeschwungen ist (und somit bereit zur Messung ist).It is z. For example, assume that the source 12 configured / programmed to change its output frequency changes (eg, RF frequency), in response to detecting "Event # 1", and once the frequency change has settled, the source 12 then issue an event message identifying "Event No. 2. It is further assumed that the receiver 13 configured / programmed to perform a measurement of the signal (eg, power and / or other characteristics of the signal) in response to detection of event # 2. The user 15 In certain implementations, it may initiate the measurement process, through interaction, via the user interface 104 , with the controller 11 to cause an event # 1 to the source 12 is sent. As further described herein, such event # 1 may, in certain implementations, be over the communications network 14 be broadcast. The event manager 101B on source 12 would capture the event # 1 and according to the appropriate programmed action that was in the programmed event information 102B for this event # 1 is identified, change its frequency and subsequently an event message to the receiver 13 send that identifies Event # 2. Again, in certain implementations, this event message sent by the source may be transmitted over the communication network 14 broadcast become. The event message also includes a timestamp based on the local clock 103B the source that corresponds to when the changed frequency has settled (and thus is ready for measurement).

Der Empfänger 13 empfängt die Ereignismeldung, die das Ereignis Nr.2 identifiziert, und den entsprechenden Zeitstempel, und somit kann der Empfänger 13 seine programmierte Aktion auszuführen, ansprechend auf das Ereignis Nr.2, basierend auf dem entsprechenden Zeitstempel in der Ereignismeldung. Zum Beispiel kann der Empfänger 13 programmiert sein, um die Messung an dem Zeitstempel zu nehmen, der in der empfangenen Ereignismeldung umfasst ist, und diese Messung zu der Steuerung 11 zu senden, ansprechend auf das erfassen eines Ereignisses Nr.2. Obwohl der Empfänger 13 die Ereignismeldung empfängt, nach dem Zeitstempel, der bei diesem Beispiel in der Ereignismeldung umfasst war, kann der Empfänger, wenn der Empfänger 13 kontinuierlich Messungen durchführt und dieselben puffert, aus seinem Puffer die Messung wiedergewinnen, die dem Zeitstempel entspricht, der in der Meldung umfasst ist, und diese Messung zu der Steuerung 11 senden. Somit empfängt die Steuerung 11 die Messung, die dem exakten Zeitstempel entspricht, der in der Ereignismeldung umfasst ist, von der Quelle 12 zu dem Empfänger 13. Wenn die Ereignismeldung von der Quelle 12 zu dem Empfänger 13 zu einem solchen Ausmaß verzögert wurde, dass der Empfänger 13 in seinem Puffer die Messung nicht mehr hat, die dem Zeitstempel entspricht, der in der Ereignismeldung umfasst ist, kann der Empfänger 13 z. B. einen Fehler erzeugen.The recipient 13 receives the event message that identifies the event # 2, and the corresponding timestamp, and thus the receiver can 13 perform its programmed action in response to event # 2 based on the corresponding timestamp in the event message. For example, the receiver 13 programmed to take the measurement at the timestamp included in the received event message and that measurement to the controller 11 to send, in response to the detection of an event no.2. Although the receiver 13 After the timestamp that was included in the event message in this example, the event message may be received by the recipient when the recipient receives the event message 13 continuously performs measurements and buffers them, retrieving from its buffer the measurement corresponding to the timestamp included in the message and sending that measurement to the controller 11 send. Thus, the controller receives 11 the measurement corresponding to the exact timestamp included in the event message from the source 12 to the recipient 13 , If the event message from the source 12 to the recipient 13 was delayed to such an extent that the recipient 13 in its buffer the measurement no longer has, which corresponds to the timestamp included in the event message, the receiver can 13 z. B. generate an error.

Als ein anderes Beispiel könnte der Empfänger 13 programmiert sein, um auf die Erfassung des Ereignisses Nr.2 zu antworten, durch Durchführen einer Messung zu einer Zeitperiode nachfolgend zu dem Zeitstempel, der in der empfangenen Ereignismeldung umfasst ist, wie z. B. 2 Sekunden nach dem Zeitstempel, der in der empfangenen Ereignismeldung umfasst ist, und dann diese Messung zu der Steuerung 11 sendet. Angenommen, dass die Ereignismeldung erzeugt und über das Kommunikationsnetzwerk 14 innerhalb von 2 Sekunden von dem Zeitstempel kommuniziert werden kann, der in der Meldung umfasst ist, kann der Empfänger diese Meldung empfangen und seine Messung entsprechend durchführen (oder die entsprechende Messung aus seinem Puffer wiedergewinnen, wenn er kontinuierlich Messungen durchführt). Somit kann der Empfänger 13 seine Messung zu einer Zeit relativ zu dem Zeitstempel durchführen, der in der Ereignismeldung umfasst ist, im Gegensatz zu der Zeit, zu der der Empfänger die Ereignismeldung empfängt. Dementsprechend können die Operationen der Quelle 12 und des Empfängers 13 gemäß dem Zeit stempel koordiniert werden, der in der Ereignismeldung umfasst ist, und ein solcher Zeitstempel basiert auf dem synchronisierten Takt des Senders der Meldung, d. h. der Quelle bei den obigen Beispielen, und ist nicht auf Synchronisationsoperationen beschränkt, basierend auf der Zeit, zu der die Meldungen empfangen werden (die basierend auf Netzwerklatenzzeiten variieren kann).As another example, the recipient could 13 programmed to respond to the detection of event # 2 by performing a measurement at a time period subsequent to the timestamp included in the received event message, such as the time stamp. 2 seconds after the timestamp included in the received event message and then this measurement to the controller 11 sends. Suppose that the event message is generated and sent over the communication network 14 within 2 seconds of the timestamp included in the message, the receiver may receive this message and make its measurement accordingly (or retrieve the corresponding measurement from its buffer if continuously taking measurements). Thus, the receiver 13 perform its measurement at a time relative to the timestamp included in the event message as opposed to the time the receiver receives the event message. Accordingly, the operations of the source 12 and the recipient 13 time stamp is based on the synchronized clock of the sender of the message, ie the source in the above examples, and is not limited to synchronization operations, based on the time at which the messages are received (which may vary based on network latencies).

Bezug nehmend auf 2 ist ein spezifisches Beispiel zum Verwenden einer meldungsbasierten Technik in System 10 (aus 1) zum Koordinieren der Operationen der vernetzten Instrumente gezeigt. Bei dem Beispiel aus 2 wird die Steuerung 11 verwendet, um die Quelle 12 bei Operationsblock 201 zu programmieren. Zum Beispiel kann der Benutzer 15 mit der Benutzerschnittstelle 104 in Wechselwirkung treten, um bestimmte Informationen zu spezifizieren, gemäß denen die Quelle 12 programmiert werden soll. Bei diesem Beispiel wird die Quelle 12 programmiert, um ihre Frequenz bei 1:00:00 zu ändern und dann ein Rundsenden einer Ereignismeldung durchzuführen, die Ereignis #1 identifiziert. Somit werden diese Informationen (über eine Programmierungsmeldung) durch die Quelle 12 von der Steuerung 11 empfangen und in ihren programmierten Ereignisinformationen 102B gespeichert. Das Planen, dass ein Ereignis zu einer absoluten Zeit oder zu einer relativen Zeit auftritt (z. B. eine Zeit, die in Bezug auf eine andere Zeit spezifiziert ist, wie z. B. „10 Sekunden nach dem Zeitstempel, der in einer Ereignismeldung umfasst ist, die Ereignis X identifiziert") auf diese Weise kann als das Einstellen einer „Zeitbombe" bezeichnet werden, die eine absolute oder relative Detonationszeit aufweist, wobei nach der Detonation einer solchen Zeitbombe die entsprechende Vorrichtung, für die die Zeitbombe eingestellt wurde (Quelle 12 bei diesem Beispiel) eine programmierte Aktion unternimmt (Ändern ihrer Frequenz bei diesem Beispiel). Ein Beispiel zum Implementieren solcher Zeitbomben und zum Verwenden derselben zum Koordinieren von Operationen von vernetzten Vorrichtungen wird weiter beschrieben in der gleichzeitig eingereichten und gemeinsam zugewiesenen deutschen Patentanmeldungen Anwaltsaktenzeichen AG050618PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM KOORDINIEREN DER AKTIONEN EINER MEHRZAHL VON VORRICHTUNGEN ÜBER EIN PLANEN DER AKTIONEN BASIEREND AUF SYNCHRONISIERTEN LOKALEN TAKTEN", deren Offenbarung hierin durch Bezugnahme aufgenommen ist.Referring to 2 is a specific example of using a message based technique in system 10 (out 1 ) for coordinating the operations of networked instruments. In the example off 2 becomes the controller 11 used to the source 12 at operation block 201 to program. For example, the user 15 with the user interface 104 interact to specify specific information according to which the source 12 should be programmed. In this example, the source becomes 12 programmed to change its frequency at 1:00:00 and then broadcast an event message identifying event # 1. Thus, this information (via a programming message) is provided by the source 12 from the controller 11 received and in their programmed event information 102B saved. Scheduling that an event occur at an absolute time or at a relative time (eg, a time specified with respect to another time, such as "10 seconds after the timestamp, in an event message in this way may be referred to as setting a "time bomb" having an absolute or relative detonation time, after which, after the detonation of such a time bomb, the corresponding device for which the time bomb was set (source 12 in this example) takes a programmed action (changing its frequency in this example). An example of implementing such time bombs and using them to coordinate operations of networked devices is further described in co-pending and commonly assigned German Patent Application Attorney Docket No. AG050618PDE entitled "SYSTEM AND METHOD FOR COORDINATING ACTIONS OF A MULTIPLE OF DEVICES OVER A PLANNING OF THE DEVICES ACTIONS BASED ON SYNCHRONIZED LOCAL CYCLES ", the disclosure of which is incorporated herein by reference.

Die Steuerung 11 wird verwendet, um den Empfänger bei dem Operationsblock 202. Zum Beispiel kann der Benutzer 15 mit der Benutzerschnittstelle 104 in Wechselwirkung treten, um bestimmte Informationen zu spezifizieren, gemäß denen der Empfänger programmiert werden soll. Bei diesem Beispiel ist der Empfänger 13 programmiert, um eine Messung auszuführen, wenn Ereignis Nr.1 erfasst wird, und dann ein Rundsenden einer Ereignismeldung durchzuführen, die Ereignis Nr.2 identifiziert. Somit werden diese Informationen durch den Empfänger 13 von der Steuerung 11 empfangen und in seine programmierten Ereignisinformationen 102C gespeichert.The control 11 is used to send the receiver to the operation block 202 , For example, the user 15 with the user interface 104 interact to specify particular information according to which the receiver is to be programmed. In this example, the recipient is 13 programmed to take a measurement when event # 1 is detected, and then a round to perform an event message identifying Event # 2. Thus, this information is provided by the recipient 13 from the controller 11 received and in its programmed event information 102C saved.

Ferner wird bei diesem Beispiel die Steuerung 11 selbst programmiert, bei Block 203, um bestimmte Ereignisse zu erfassen und Antwortaktionen zu unternehmen. Zum Beispiel kann der Benutzer 15 mit der Benutzerschnittstelle 104 in Wechselwirkung treten, um bestimmte Informationen zu spezifizieren, gemäß denen die Steuerung 11 programmiert werden soll. Bei diesem Beispiel ist die Steuerung 11 programmiert, um Messdaten aus dem Empfänger 13 zu lesen, wenn Ereignis Nr.2 erfasst wird, und dann die gelesenen Daten anzuzeigen. Somit werden diese Informationen durch die Steuerung 11 empfangen und in ihre programmierten Ereignisinformationen 102A gespeichert.Further, in this example, the control 11 self-programmed, at block 203 to capture specific events and take response actions. For example, the user 15 with the user interface 104 interact to specify specific information according to which the controller 11 should be programmed. In this example, the controller is 11 programmed to receive measurement data from the receiver 13 to read when event # 2 is detected, and then display the read data. Thus, this information is controlled by the controller 11 received and their programmed event information 102A saved.

Bei 1:00:00 detoniert die Zeitbombe, die an der Quelle 12 wird, wodurch verursacht wird, dass die Quelle 12 ihre Frequenz ändert eine Ereignismeldung erzeugt, die Ereignis Nr.1 identifiziert, was als Operationsblock 204 in 2 gezeigt ist. Wie oben erwähnt wurde, umfasst die Ereignismeldung ferner einen entsprechenden Zeitstempel basierend auf dem lokalen Takt 103B der Quelle 12. Bei diesem Beispiel führt die Quelle 12 ein Rundsenden der Ereignismeldung über das Kommunikationsnetzwerk 14 unter Verwendung eines UDP oder eines anderen geeigneten Gruppenrufprotokolls durch. Techniken, die bei bestimmten Ausführungsbeispielen zum Verwenden eines „unzuverlässigen" Protokolls eingesetzt werden können, wie z. B. UDP, auf eine Weise, die die Zuverlässigkeit erhöht, wie z. B. erwünscht sein kann, wenn die Meldungen, die auf diese Weise kommuniziert werden, eine Basis zum Koordinieren von Operationen zwischen vernetzten Instrumenten darstellen, werden ferner in der gleichzeitig eingereichten und gemeinsam zugewiesenen deutschen Patentanmeldung Anwaltsaktenzeichen Nr. AG050620PDE mit dem Titel „SYSTEM UND VERFAHREN ZUR STABILEN KOMMUNIKATION ÜBER EIN UNZUVERLÄSSIGES PROTOKOLL" beschrieben, deren Offenbarung hierin durch Bezugnahme aufgenommen ist.At 1:00:00 the time bomb detonates at the source 12 which causes the source 12 their frequency changes generates an event message that identifies event # 1, which acts as an operation block 204 in 2 is shown. As mentioned above, the event message further includes a corresponding timestamp based on the local clock 103B the source 12 , In this example, the source is leading 12 a broadcast of the event message over the communications network 14 using a UDP or other suitable multicast protocol. Techniques that may be used in certain embodiments to use an "unreliable" protocol, such as UDP, in a manner that increases reliability, such as may be desired when the messages are so generated are also described in co-pending and commonly assigned German Patent Application Attorney Docket No. AG050620PDE entitled "SYSTEM AND METHOD FOR STABLE COMMUNICATION ON AN UNRESTRICTABLE PROTOCOL", the disclosure of which is herein incorporated by reference Reference is incorporated.

Somit führt der Ereignisverwalter 101B der Quelle 12 ein Rundsenden einer Ereignismeldung durch, die das Ereignis Nr.1 identifiziert und die einen entsprechenden Zeitstempel umfasst, der auf dem lokalen Takt 103B basiert. Zum Beispiel kann der Zeitstempel die Zeit 1:00:01 sein, die der Zeit entspricht, zu der die geänderte Frequenz eingeschwungen ist. Es sollte darauf hingewiesen werden, dass die Quelle 12 programmiert werden könnte, um die Meldung zu der Zeit zu senden, zu der sie das Ändern ihrer Frequenz beginnt, und der Zeitstempel, der in der Ereignismeldung umfasst ist, kann daher der Zeit entsprechen, zu der die Quelle die Frequenzänderung beginnt, wobei in diesem Fall der Empfänger 13 programmiert sein kann, um seine Messung zu einer verzögerten Zeit relativ zu dem umfassten Zeitstempel ausführt, um zu erlauben, dass die Frequenz einschwingt. Auf diese Weise kann die Ereignismeldung auf dem Weg zu dem Empfänger sein, während die Frequenzänderung an der Quelle auftritt, was zu einer verbesserten Effizienz bei der Messung führen kann.Thus, the event manager leads 101B the source 12 broadcasting an event message that identifies event # 1 and that includes a corresponding timestamp on the local clock 103B based. For example, the time stamp may be the time 1:00:01, which corresponds to the time at which the changed frequency has settled. It should be noted that the source 12 could be programmed to send the message at the time it starts changing its frequency, and the timestamp included in the event message may therefore correspond to the time at which the source begins the frequency change, in which Case of the receiver 13 may be programmed to perform its measurement at a delayed time relative to the included timestamp to allow the frequency to settle. In this way, the event message may be on the way to the receiver while the frequency change occurs at the source, which may lead to improved measurement efficiency.

Das rundgesendete Ereignis Nr.1 wird durch den Ereignisverwalter 101A der Steuerung 11 erfasst, und bei dem Operationsblock 205 bestimmt ein solcher Ereignisverwalter 101A der Steuerung 11, dass keine Antwortaktion durch die Steuerung 11 benötigt wird. Das heißt, die Steuerung 11 wurde nicht programmiert, um eine Antwortaktion auf ein empfangenes Ereignis Nr.1 auszuführen, und somit ignoriert der Ereignisverwalter 101A die Ereignismeldung, die durch die Quelle 12 rundgesendet wurde.The broadcast event # 1 will be sent by the event manager 101A the controller 11 detected, and at the operation block 205 determines such an event manager 101A the controller 11 that no response action by the controller 11 is needed. That is, the controller 11 was not programmed to perform a response action on a received event # 1, and thus the event manager ignores 101A the event message sent by the source 12 was broadcast.

Auf ähnliche Weise wird das rundgesendete Ereignis Nr.1 durch den Ereignisverwalter 101C des Empfängers 13 erfasst. Da der Empfänger 13 programmiert wird (siehe Operationsblock 202), um eine Messung durchzuführen, auf das Empfangen von Ereignis Nr.1 hin, bei Operationsblock 407, verursacht der Ereignisverwalter 101C des Empfängers 13, dass eine solche Antwortaktion durch den Empfänger 13 unternommen wird. Wie oben erörtert wurde, kann der Empfänger 13 programmiert werden, um seine Messung an dem Zeitstempel durchzuführen, der in der Ereignismeldung umfasst ist (wobei der Empfänger 13 eine gepufferte Messung wiedergewinnen kann, die er bei einem solchen Zeitstempel durchgeführt hat), oder der Empfänger 13 kann programmiert werden, um seine Messung bei einem programmierten Zeitintervall von dem Zeitstempel durchzuführen, der in der Ereignismeldung umfasst ist, um Beispiele zu nennen.Similarly, the broadcast event # 1 will be the event manager 101C Recipient 13 detected. Because the receiver 13 is programmed (see operation block 202 ) to take a measurement, upon receiving event # 1, at operation block 407 caused the event manager 101C Recipient 13 that such a response action by the recipient 13 is undertaken. As discussed above, the receiver 13 be programmed to perform its measurement on the timestamp included in the event message (the receiver 13 can recover a buffered measurement that it has performed on such a timestamp), or the receiver 13 can be programmed to perform its measurement at a programmed time interval from the timestamp included in the event message, for example.

So wie der Empfänger 13 bei Operationsblock 207 programmiert wurde, um Block 202 auszuführen, führt der Empfänger 13 ein Rundsenden einer Ereignismeldung durch, die Ereignis Nr.2 identifiziert und die einen entsprechenden Zeitstempel basierend auf ihrem lokalen Takt 103C umfasst. Das rundgesendete Ereignis Nr.2 wird durch den Ereignisverwalter 101B der Quelle 12 erfasst, und bei Operationsblock 208 bestimmt ein solcher Ereignisverwalter 101B der Quelle 12, dass keine Antwortaktion durch die Quelle 12 benötigt wird. Das heißt, die Quelle 12 wurde nicht programmiert, um eine Antwortaktion auf ein empfangenes Ereignis Nr.2 hin auszu führen, und somit ignoriert der Ereignisverwalter 101B die Ereignismeldung, die durch den Empfänger 13 rundgesendet wurde.Like the receiver 13 at operation block 207 was programmed to block 202 perform, the receiver performs 13 a broadcast of an event message that identifies event # 2 and that has a corresponding timestamp based on its local clock 103C includes. The broadcast event # 2 will be sent by the event manager 101B the source 12 captured, and at operation block 208 determines such an event manager 101B the source 12 that no response action by the source 12 is needed. That is, the source 12 was not programmed to execute a response action on a received event # 2, and thus the event manager ignores 101B the event message received by the recipient ger 13 was broadcast.

Die rundgesendete Meldung Ereignis Nr.2 wird ebenfalls durch den Ereignisverwalter 101A der Steuerung 11 erfasst. Da die Steuerung 11 programmiert ist (siehe Operationsblock 203), die Messdaten aus dem Empfänger 13 zu lesen und solche Daten nach dem Empfangen von Ereignis Nr.2 bei Betriebsblock 209 anzuzeigen, verursacht der Ereignisverwalter 101A der Steuerung 11, dass eine solche Antwortaktion durch die Steuerung 11 unternommen wird. Somit liest die Steuerung 11 die Messdaten aus dem Empfänger 13. Zum Beispiel können die Messdaten, die durch den Empfänger 13 gemäß dem Zeitstempel der Ereignismeldung erfasst werden, die der Empfänger 13 von der Quelle 12 empfangen hat, an einer bestimmten Speicheradresse in dem Empfänger 13 gespeichert werden, und die Steuerung 11 kann diese bestimmte Speicheradresse des Empfängers bei Block 411 lesen. Als ein weiteres Beispiel kann die Ereignismeldung, die durch den Empfänger 13 erzeugt wird, einen Zeitstempel umfassen, an dem seine Messung durchgeführt wurde (z. B. entweder denselben Zeitstempel, der in der Ereignismeldung umfasst ist, die von der Quelle 12 zu dem Empfänger 13 gesendet wurde, oder einen Zeitstempel, der ein bestimmtes Intervall von dem Zeitstempel entfernt ist, der in der Ereignismeldung umfasst ist, die von der Quelle 12 zu dem Empfänger 13 gesendet wurde), und die Steuerung 11 kann den Empfänger 13 nach seiner Messung entsprechend dem Zeitstempel abfragen, an dem eine solche Messung bei Block 209 durchgeführt wurde. Dann zeigt bei Block 2210 die Steuerung 11 die gelesenen Messdaten an.The broadcast message Event # 2 will also be sent by the Event Manager 101A the controller 11 detected. Because the controller 11 is programmed (see operation block 203 ), the measurement data from the receiver 13 to read and such data after receiving event no.2 at operating block 209 the event manager causes 101A the controller 11 that such a response action by the controller 11 is undertaken. Thus, the controller reads 11 the measurement data from the receiver 13 , For example, the measurement data provided by the receiver 13 be recorded according to the timestamp of the event message that the receiver 13 from the source 12 received at a particular memory address in the receiver 13 be stored, and the controller 11 can block this specific memory address of the receiver 411 read. As another example, the event message received by the receiver 13 is generated, include a timestamp on which its measurement was made (eg, either the same timestamp included in the event message received from the source 12 to the recipient 13 or a timestamp that is a certain interval away from the timestamp included in the event message received from the source 12 to the recipient 13 was sent), and the controller 11 can the receiver 13 after its measurement, query according to the time stamp at which such a measurement is made at block 209 was carried out. Then, at block 2210, control is shown 11 the read measurement data.

Bei dem obigen Beispiel empfängt die Steuerung 11 die Ereignismeldung nicht, die Ereignis Nr.2 identifiziert, bis zu einer bestimmten Zeit nachdem die Messung durch den Empfänger 13 durchgeführt wird, und die Steuerung 11 liest solche Messdaten nicht und zeigt dieselben nicht an, bis sogar zu einer noch späteren Zeit. Aufgrund der Verwendung der Zeitstempel der synchronisierten Takte in den Ereignismeldungen jedoch kann sichergestellt werden, dass die Steuerung 11 die geeigneten Messdaten anzeigt. Zum Beispiel, wenn der Empfänger 13 seine Messung bei 1:00:01 durchgeführt hat, kann sichergestellt werden, dass die Steuerung die Messdaten anzeigt, die bei 1:00:01 erfasst wurden, obwohl die Steuerung 11 die Messdaten z. B. bis 1:00:05 nicht empfangen und anzeigen kann.In the above example, the controller receives 11 the event message does not identify the event # 2 until a certain time after the measurement by the receiver 13 is performed, and the controller 11 does not read such measurements and does not display them until even later. However, due to the use of the timestamp of the synchronized clocks in the event messages, it can be ensured that the controller 11 displays the appropriate measurement data. For example, if the receiver 13 has performed its measurement at 1:00:01, it can be ensured that the controller displays the measurement data acquired at 1:00:01, even though the controller 11 the measured data z. B. can not receive and display until 1:00:05.

Natürlich ist die Anwendung der Ausführungsbeispiele, die hierin zum Synchronisieren der Operationen der Vorrichtungen vorgesehen sind, nicht auf das spezifische Beispiel aus 2 beschränkt.Of course, the application of the embodiments provided herein for synchronizing the operations of the devices is not specific to the specific example 2 limited.

Wie das obige Beispiel darstellt, ist der Ereignisverwalter 101A101C (1) auf der IEEE-1588-Funktionalität für synchronisierte Takte aufgebaut, geht jedoch auch über IEEE 1588 hinaus, durch Ermöglichen, dass zufällige asynchrone Ereignisse erzeugt und zu anderen Instrumenten rundgesendet werden. Bei bestimmten Ausführungsbeispielen kann jedes Instrument in einem System in der Lage sein, eine Ereignismeldung auf dem Netzwerk rund zu senden, immer wenn ein Ereignis passiert. Die Liste von Ereignissen, die auf jedem Instrument auftreten können, können von Instrument zu Instrument variieren, und bei einigen Ausführungsbeispielen sind die Aktionen auf jedem Instrument programmierbar. Zum Beispiel könnte eine Quelle programmiert sein, um eine Ereignismeldung rundzusenden, immer wenn das Ausgangssignal nach einer Frequenzänderung eingeschwungen ist, wie z. B. bei Operationsblock 204 bei dem obigen Beispiel aus 2, oder ein Digitalisierer könnte eine Ereignismeldung senden, immer wenn sein Eingabepuffer voll ist. Der Satz an durchführbaren Ereignissen kann somit spezifisch für jedes Instrument definiert werden.As the above example illustrates, the event manager is 101A - 101C ( 1 ) is based on the IEEE 1588 synchronized clock functionality, but also goes beyond IEEE 1588, by allowing random asynchronous events to be generated and broadcast to other instruments. In certain embodiments, each instrument in a system may be able to circulate an event message on the network whenever an event happens. The list of events that may occur on each instrument may vary from instrument to instrument, and in some embodiments, the actions on each instrument are programmable. For example, a source could be programmed to broadcast an event message whenever the output signal has settled after a frequency change, such as a change in frequency. B. at operation block 204 in the example above 2 or a digitizer could send an event message whenever its input buffer is full. The set of feasible events can thus be defined specifically for each instrument.

Um Ereignismeldungen bei bestimmten Ausführungsbeispielen zu empfangen, ist jedes Instrument in der Lage, sich an Ereignismeldungen zu „beteiligen". Das heißt, jedes Instrument sollte in der Lage sein, nach Ereignismeldungen zu hören, die durch andere Instrumente rundgesendet werden (über ihren entsprechenden Ereignisverwalter), und entsprechend auf dieselben zu antworten (oder dieselben zu ignorieren).Around Receive event messages in certain embodiments, Each instrument is able to "participate" in event messages, that is, each one Instrument should be able to listen for event messages that be broadcast by other instruments (via their respective event manager), and respond accordingly (or ignore) the same.

Es sei z. B. angenommen, dass eine Messung durchgeführt wird, die einen Aufwärtswandler benötigt, um eine Frequenz zu ändern. Der Aufwärtswandler muss einschwingen, bevor der Digitalisierer Daten lesen kann. Der Aufwärtswandler weist eine eingebaute Fähigkeit auf, ein internes Ereignis zu erzeugen (wahrscheinlich ein Interrupt), immer wenn das Ausgangssignal einschwingt. Unter Verwendung eines Ereignisverwalters, der für einen solchen Aufwärtswandler und Digitalisierer implementiert ist, könnte dies über die nachfolgende Sequenz erreicht werden:

  • 1. Der Benutzer sendet einen Befehl von einem Steuerungs-PC zu dem Aufwärtswandler, der den Aufwärtswandler programmiert, um auf das Ereignis „Signal eingeschwungen" zu antworten, was ein internes Ereignis ist, das in dem Aufwärtswandler vorab definiert wurde. Als Teil des Konfigurierens dieses Ereignisses spezifiziert der Benutzer eine Rückrufroutine. Diese Routine wird gerufen, immer wenn das Ereignis „Signal eingeschwungen" auftritt, und ist verantwortlich für das Rundsenden einer Ereignismeldung zu anderen Instrumenten auf dem Netzwerk.
  • 2. Der Benutzer programmiert den Digitalisierer, um auf die Ereignismeldung „Signal eingeschwungen" von dem Aufwärtswandler zu antworten. Wiederum wird eine Rückrufroutine spezifiziert. In diesem Fall ist die Rückrufroutine verantwortlich für das Starten einer Messung in dem Digitalisierer.
  • 3. Der Benutzer sendet einen Befehl zu dem Aufwärtswandler, um die Frequenz zu ändern.
  • 4. Wenn das Ausgangssignal des Aufwärtswandlers eingeschwungen ist, wird ein internes Ereignis erzeugt und die Rückrufroutine des Aufwärtswandlers wird gerufen. Dies führt dazu, dass eine Ereignismeldung auf dem Netzwerk rundgesendet wird. Die Meldung umfasst einen Ereignisidentifizierer (z. B. „Signal auf dem Aufwärtswandler Nr.1 eingeschwungen") und einen Zeitstempel.
  • 5. Die Meldung wird durch den Digitalisierer empfangen und syntaktisch analysiert, um zu bestimmen, ob die Meldung relevant ist oder nicht. Da der Digitalisierer programmiert wurde, um auf diese Meldung zu antworten, wird die Rückrufroutine ausgeführt und eine Messung wird begonnen.
It is z. For example, assume that a measurement is taken that requires a boost converter to change a frequency. The boost converter must settle before the digitizer can read data. The boost converter has a built-in ability to generate an internal event (probably an interrupt) whenever the output signal settles. Using an event manager implemented for such a boost converter and digitizer, this could be accomplished via the following sequence:
  • 1. The user sends a command from a control PC to the up-converter, which programs the up-converter to respond to the event "signal settled", which is an internal event predefined in the up-converter As part of the configuration In this event, the user specifies a callback routine, which is called whenever the signal steady state event occurs, and is responsible for broadcasting an event message to other instruments on the network.
  • 2. The user programs the digitizer to respond to the event signal "settled signal" from the up-converter Again, a callback routine is specified In this case, the callback routine is responsible for starting a measurement in the digitizer.
  • 3. The user sends a command to the up-converter to change the frequency.
  • 4. When the output of the up-converter has settled, an internal event is generated and the up-converter's callback routine is called. This results in an event message being broadcast on the network. The message includes an event identifier (eg, "signal settled on up-convertor # 1") and a timestamp.
  • 5. The message is received by the digitizer and parsed to determine if the message is relevant or not. Since the digitizer has been programmed to respond to this message, the callback routine is executed and a measurement is started.

Es ist wichtig, darauf hinzuweisen, dass die Ereignismeldungen mit einem Zeitstempel unter Verwendung des IEEE-1588-Takts versehen werden. Dies ermöglicht dem Empfangsinstrument, seine Antwort, falls nötig, einzustellen. In dem Fall eines Digitalisierers mit einem Ringmesspuffer ermöglicht es z. B., dass Daten zu der exakten Zeit des Originalereignisses (oder sogar früher) gespeichert werden, sogar wenn Netzwerklatenzzeiten die Ankunft der Ereignismeldung verzögern.It is important to point out that the event messages with timestamp using the IEEE 1588 clock. This allows the Receiver, to stop his answer, if necessary. In that case a digitizer with a ring buffer allows it z. For example, data at the exact time of the original event (or even earlier) even if network latency is the arrival time delay the event message.

Es sollte darauf hingewiesen werden, dass die Operation von verschiedenen vernetzten Instrumenten koordiniert werden kann, basierend auf Ereignissen, die in den Vorrichtungen auftreten, durch Erzeugen von Meldungen, die ein Ereignis identifizieren und einen Zeitstempel umfassen. Natürlich, wie das Beispiel aus 2 darstellt, kann der ereignisbasierte Lösungsansatz mit einem zeitbasierten Lösungsansatz kombiniert werden (der z. B. Zeitbomben zum Planen verwendet, dass Ereignisse zu geplanten Zeiten auftreten, entwe der zu absoluten oder relativen Zeiten). Zum Beispiel können zusätzlich zu instrumentspezifischen Ereignissen Instrumente implementiert werden, um „Zeitbomben" zu unterstützen. Dies ermöglicht dem Benutzer, die Zeit zu definieren, zu der ein Ereignis passiert (unter Verwendung des IEEE-1588-Takts, der mit den Takten an jedem anderen Instrument in dem System synchronisiert ist). Zu dieser Zeit kann eine benutzerdefinierbare Ereignismeldung zu anderen Instrumenten auf dem Netzwerk gesendet werden oder eine andere interne Funktion kann ausgeführt werden, oder beides.It should be noted that the operation may be coordinated by various networked instruments based on events that occur in the devices by generating messages that identify an event and include a timestamp. Of course, like the example 2 For example, the event-based approach can be combined with a time-based approach (using, for example, time bombs to schedule events to occur at scheduled times, either at absolute or relative times). For example, in addition to instrument-specific events, instruments can be implemented to support "time bombs." This allows the user to define the time that an event happens (using the IEEE 1588 clock, with the clocks at each other Instrument in the system is synchronized.) At this time, a user-definable event message may be sent to other instruments on the network, or another internal function may be executed, or both.

Als ein weiteres Beispiel kann das oben erwähnte synthetische System eines vernetzten Aufwärtswandlers und eines Digitalisierers deren Operationen koordiniert haben, unter Verwendung einer Kombination von einem zeitbasierten Modell und einem ereignisbasierten Modell, wie folgt:

  • 1. Der Hostcomputer definiert eine Ereignismeldung, die verwendet wird, um eine Messung zu starten. Diese neue Ereignismeldung wird die „Start"-Meldung genannt.
  • 2. Der Aufwärtswandler ist programmiert, um zu einer neuen Frequenz zu schalten, immer wenn er eine „Start"-Ereignismeldung empfängt. Genauer gesagt kann die „Start"-Meldung einen Zeitstempel enthalten und der Aufwärtswandler wird programmiert, um zu einer neuen Frequenz zu schalten, zu einer bestimmten Zeit danach. Dies macht Netzwerklatenzzeiten aus und stellt sicher, dass der Aufwärtswandler und der Digitalisierer von der selben Zeitbasis aus arbeiten.
  • 3. Es ist bekannt, dass das Ausgangssignal des Aufwärtswandlers nach 100 Mikrosekunden (μsec) einschwingt. Der Digitalisierer ist programmiert, um das Durchführen einer Messung zu beginnen, 100 μsec nachdem er eine „Start"-Ereignismeldung empfängt. Genauer gesagt kann der Digitalisierer den Zeitstempel aus der „Start"-Meldung verwenden, um eine Messung durchzuführen, 100 μsec nachdem der Aufwärtswandler schaltet.
  • 4. Der Hostcomputer führt ein Rundsenden einer „Start"-Ereignismeldung durch.
As another example, the above-mentioned synthetic system of a networked up-converter and a digitizer may have coordinated their operations using a combination of a time-based model and an event-based model, as follows:
  • 1. The host computer defines an event message that is used to start a measurement. This new event message is called the "startup" message.
  • 2. The boost converter is programmed to switch to a new frequency whenever it receives a "start" event message, more specifically, the "start" message may include a timestamp and the boost converter is programmed to increment to a new frequency switch, at a certain time afterwards. This eliminates network latency and ensures that the up-converter and digitizer operate from the same time base.
  • 3. It is known that the output of the up-converter settles after 100 microseconds (μsec). The digitizer is programmed to begin making a measurement 100 μsec after it receives a "start" notification message More specifically, the digitizer can use the time stamp from the "start" message to take a measurement, 100 μsec after the Up-converter switches.
  • 4. The host computer broadcasts a "start" event message.

Eine spezifische Implementierung eines Ereignisverwalters ist nachfolgend detaillierter beschrieben, aber Ausführungsbeispiele sollen nicht auf diese spezifische Implementierung beschränkt sein.A specific implementation of an event manager is below described in more detail, but embodiments are not intended be limited to this specific implementation.

Bei dieser darstellenden Implementierung ist der Ereignisverwalter auf viele Weisen analog zu einer Netzwerkdienst-Hintergrundroutine, wie z. B. einem FTP-Server oder einem Web-Server – er wartet auf Eingaben und handelt gemäß denselben. Bei einer solchen Implementierung ist der Ereignisverwalter ein Nur-Hören-Netzwerkserver, wenn Eingaben gehandhabt werden, aber seine Implementierung unterscheidet sich für Ausgabeereignisse. Diese darstellende Implementierung des Ereignisverwalters kann als eine Sammlung von Teilprozessen betrachtet werden, obwohl nicht angenommen werden sollte, dass der Ereignisverwalter tatsächlich unter Verwendung eines Teilprozessmodells implementiert ist (dies hängt von dem Betriebssystem ab). Die darstellende Implementierung kann als eine Sammlung von Teilprozessen modelliert sein, die alle auf eine Art von Eingabe warten. Jeder Teilprozess geht in den Schlafzustand, bis sein Eingabepuffer Daten verfügbar hat.at In this illustrative implementation, the event manager is on many ways analogous to a network service background routine such. B. one FTP server or a web server - he waits for input and act according to the same. In such an implementation, the event manager is on Listen-only network server, when inputs are handled but its implementation is different yourself for issue events. This illustrative implementation of the event manager can be described as a collection of subprocesses are considered, though not It should be assumed that the event manager is actually under Use of a subprocess model is implemented (this depends on the operating system). The illustrative implementation may be considered a collection of subprocesses be modeled, all on one Wait for type of input. Every subprocess goes to sleep, until its input buffer has data available.

Eingabeereignisse kommen auf dem Kommunikationsnetzwerk an. Der Ereignisverwalter wartet einfach, dass eine Ereignismeldung ankommt, genau auf die Weise, auf die es ein anderer Netzwerkserver tun würde. Wenn eine Ereignismeldung ankommt, wacht der Ereignisverwalter auf und untersucht das Datenpaket. Wenn das Datenpaket eine Ereignis-ID enthält (nachfolgend weiter beschrieben), für die das Synchronisationsmodul programmiert wurde, um auf dieselbe zu antwor ten, ruft der Ereignisverwalter die entsprechende Rückrufroutine.input events arrive on the communication network. The event manager just wait for an event message to arrive, right on the Way in which another network server would do it. If an event message arrives, the event manager wakes up and examines the data packet. If the data packet has an event ID contains (described further below) for which the synchronization module was programmed to respond to the same, the event manager calls the corresponding callback routine.

Ausgabeereignisse werden intern erzeugt. Häufig sind Ausgabeereignisse (z. B. Zeitbomben) das Ergebnis von Hardwareinterrupten. In diesem Fall ist eine Interrupt-Dienstroutine (ISR; ISR = interrupt service routine) zur Verwendung auf dem Instrument installiert. Die ISR ist verantwortlich für das Erfassen eines Zeitstempels für das Ereignis, das Speichern der Daten und das Aufwecken des Ereignisverwalters, der dann die entsprechende Rückrufroutine ausführt. Die ISR ist nicht dieselbe wie die Rückrufroutine.output events are generated internally. Often output events (eg, time bombs) are the result of hardware interrupts. In this case, an interrupt service routine (ISR; ISR = interrupt service routine) for use on the instrument. The ISR is responsible for capturing a timestamp for the event, saving the data and the waking up of the event manager, who then the appropriate callback routine performs. The ISR is not the same as the callback routine.

Andere Ereignisse können unterschiedlich gehandhabt werden, abhängig von der Hardware/Software-Architektur des Instruments. Der Ereignisverwalter erlaubt, dass eine beliebige Rückrufroutine zu der Zeit eines Ereignisses ausgeführt wird, und dass die Rückrufroutine das Ereignis intern handhaben kann.Other Events can be handled differently, depending on the hardware / software architecture of the instrument. The event manager allows any callback routine at the time of an event, and that the callback routine can handle the event internally.

Bei dieser Beispielimplementierung basiert der Ereignisverwalter auf Sammelsendemeldungen. Das Sammelsenden wird üblicherweise über das UDP-Protokoll implementiert, das nicht als ein Hochzuverlässigkeitsdienst entworfen ist. Pakete können (und tun dies auch) verloren gehen. Es ist wünschenswert, dass der Ereignisverwalter die Fähigkeit aufweist, verlorene Pakete zu erfassen; aber da Ereignismeldungen bei den meisten Messinstrumenten zeitkritisch sind, ist es häufig gleichermaßen wünschenswert, den Mehraufwand zu vermeiden, der Handshake-Protokollen, wie z. B. dem TCP, eigen ist.at In this example implementation, the event manager is based on Multicast messages. The multicast is usually about the Implemented UDP protocol, not as a high reliability service is designed. Packages can (and do this too) get lost. It is desirable that the event manager the ability has to detect lost packets; but there event messages time critical for most meters, it is often equally desirable avoid the overhead of the handshake protocols, such. As the TCP, is intrinsic.

Die Zuverlässigkeit des Ereignisverwalters kann durch die Verwendung von einer oder mehreren der nachfolgenden Techniken verbessert werden:

  • 1. Sorgfältige Auswahl von Schaltern. Schalter sollten ausgewählt werden, die einen hohen Pegel an Speicherungs- und Weiterleitungs-Fähigkeit aufweisen, um einen Paketverlust zu minimieren, und die eine QoS-Funktionalität implementieren, so dass UDP-Paketen eine hohe Priorität gegeben werden kann.
  • 2. Redundantes Rundsenden von Ereignismeldungen. Ereignismeldungen können mehrere Male rundgesendet werden, um sicherzustellen, dass sie empfangen werden; die Empfangsmodule können konfiguriert sein, um mehrere Empfangsereignisse der selben Meldung zu ignorieren. Beispieltechniken, die ein redundantes Rundsenden von UDP-Paketen zum Verbessern der Zuverlässigkeit verwenden, sind weiter beschrieben in der gleichzeitig eingereichten und gemeinsam zugewiesenen deutschen Patentanmeldung Anwaltsaktenzeichen Nr. AG050620PDE mit dem Titel „SYSTEM UND VERFAHREN ZUR STABILEN KOMMUNIKATION ÜBER EIN UNZUVERLÄSSIGES PROTOKOLL", deren Offenbarung hierin durch Bezugnahme aufgenommen ist.
  • 3. Eine benutzerspezifizierte Auszeit für Ereignismeldungen. Wenn sich ein Synchronisationsmodul an einem Ereignis „beteiligt", wird eine maximale Zeitverzögerung für dieses Ereignis spezifiziert. Wenn eine Ereignismeldung ankommt, wird der Zeitstempel, der in der Ereignismeldung enthalten ist, mit der aktuellen Zeit verglichen. Wenn die Zeitdifferenz größer ist als das gegebene Maximum, dann tritt ein Fehlerzustand auf. Fehler können auf dem Kommunikationsnetzwerk rundgesendet werden oder zu dem Steuerungscomputer über eine TCP-Verbindung gesendet werden, als Beispiele.
The reliability of the event manager can be improved by using one or more of the following techniques:
  • 1. Careful selection of switches. Switches should be selected which have a high level of storage and forwarding capability to minimize packet loss and which implement QoS functionality so that UDP packets can be given a high priority.
  • 2. Redundant broadcasting of event messages. Event messages can be broadcast several times to ensure that they are received; the receive modules can be configured to ignore multiple receive events of the same message. Example techniques employing redundant broadcasting of UDP packets to enhance reliability are further described in co-pending and commonly assigned German Patent Application Attorney Docket No. AG050620PDE entitled "SYSTEM AND METHOD FOR STABLE COMMUNICATION ON AN UNRESERVABLE PROTOCOL", the disclosure of which incorporated herein by reference.
  • 3. A user-specified timeout for event messages. When a synchronization module "participates" in an event, a maximum time delay is specified for that event When an event message arrives, the time stamp contained in the event message is compared to the current time if the time difference is greater than the given one Maximum, then an error condition occurs, errors may be broadcast on the communication network or sent to the control computer over a TCP connection, as examples.

Es gibt verschiedene Datentypen, die bei diesem darstellenden Beispiel eines Ereignisverwalters verwendet werden. Ein erster Datentyp ist Time (Zeit). Der Ereignisverwalter weist zwei unterschiedliche zeitbasierte Datentypen auf.It are different data types, in this illustrative example an event manager. A first data type is Time. The event manager has two different time-based ones Data types on.

Einen für die absolute Zeit (TimeStamp = Zeitstempel), und einen anderen für Zeitintervalle (TimeInterval).a for the absolute time (TimeStamp = timestamp), and another for time intervals (TimeInterval).

Ein anderer Datentyp ist Function ID (Funktions-ID) („FID"). Der FID ist ein Wert (z. B. eine 16-Bit-Ganzzahl), der eine interne Funktionalität eines Instruments darstellt. Er kann als eine instrumentspezifische Zahl implementiert sein, die verwendet wird, um verschiedene Funktionen zu identifizieren, die intrinsisch für das Instrument sind.One other data type is Function ID ("FID") The FID is on Value (for example, a 16-bit integer) that has an internal functionality of a Instruments represents. He can be considered an instrument-specific number be implemented, which is used to different functions to identify those who are intrinsic to the instrument.

Instrumentfunktionen sind klassifiziert als „Eingaben" oder „Ausgaben". Bei dieser Nomenklatur ist eine „Ausgabe"-Funktion etwas, das intern auf dem Instrument passiert und dadurch verursacht, dass eine Ereignismeldung zu anderen Instrumenten gesendet wird. Eine „Eingabe"-Funktion ist eine solche, die das Instrument ansprechend darauf ausführen kann, dass eine Ereignismeldung von anderswo empfangen wird. Eine Zeitbombe ist eine spezielle Version einer Ausgabefunktion, für die spezifische API-Operationen existieren (z. B. zum Einstellen der Detonationszeit). Diese Funktionen entsprechen eng den Definitionen von „Eingabe-Ereignissen" und „Ausgabe-Ereignissen". Genauer gesagt ist ein „Eingabe-Ereignis" ein Ereignis, das zu der Ausführung einer „Eingabe-Funktion" führen würde.Instrument functions are classified as "inputs" or "outputs". In this nomenclature, an "output" function is something that happens internally on the instrument and thereby causes an Er event message is sent to other instruments. An "input" function is one that the instrument can execute in response to receiving an event message from elsewhere A time bomb is a special version of an output function for which specific API operations exist (eg, to set the These functions closely correspond to the definitions of "input events" and "output events." More specifically, an "input event" is an event that would result in the execution of an "input function."

Bei dieser Beispielimplementierung weist jedes Instrument eine Tabelle aus FID-Werten und ihre Beschreibungen auf, wie bei dem Beispiel, das in Tabelle 1 unten bereitgestellt wird:at In this example implementation, each instrument has a table from FID values and their descriptions on, as in the example, provided in Table 1 below:

Figure 00310001
Tabelle 1
Figure 00310001
Table 1

Es sollte darauf hingewiesen werden, dass einige dieser Funktionen auch einen entsprechenden Hardware-Auslöser haben können (entweder einen Auslöser-Eingang oder einen Auslöser-Ausgang).It It should be noted that some of these features can also have a corresponding hardware trigger (either a trigger input or a trigger output).

Ein Benutzer kann programmatisch die Function-ID-Tabelle für ein gegebenes Instrument erweitern. Wenn ein Instrument programmiert werden muss, um auf ein externes Ereignis zu antworten, kann z. B. eine neue interne Funktion zu der Tabelle hinzugefügt werden.One User can programmatically use the Function ID table for a given Expand instrument. If an instrument needs to be programmed, to respond to an external event, z. B. a new one internal function to be added to the table.

Ein anderer Datentyp ist Event ID (Ereignis-ID) („EID"). Der EID ist ein benutzerdefinierter Wert (z. B. eine 16-Bit-Ganzzahl), der in einer rundgesendeten Ereignismeldung umfasst ist, um ein Ereignis zu identifizieren. Bei der Eingabe einer Ereignismeldung liest ein Instrument den EID, um zu bestimmen, ob es auf denselben antworten sollte oder nicht (z. B. zum Bestimmen, ob das identifizierte Ereignis ein solches ist, für das das Instrument konfiguriert/programmiert wurde, um eine Antwortaktion zu unternehmen). Bei der Ausgabe fügt das Instrument den EID zu dem Ereignismeldungspaket hinzu, so dass andere Instrumente die Quelle des Ereignisses identifizieren können.One other data type is Event ID ("EID") .The EID is a user-defined one Value (for example, a 16-bit integer), which is included in a broadcast event message Identify event. When entering an event message An instrument reads the EID to determine if it is on the same should or should not respond (for example, to determine if the identified Event is such, for the instrument has been configured / programmed to respond to do). When outputting, the instrument adds the EID add to the event message packet so that other instruments the Identify the source of the event.

Im Allgemeinen ermöglicht dies dem Benutzer, EID-Werte zu definieren, die mit FID-Werten verwendet werden. Zum Beispiel kann ein Instrument ein „Zeitbomben"-Ereignis erfahren, und der FID für dieses Ereignis ist „3" (und ist in das Instrument hart-codiert). Aber wenn eine Ereignismeldung als Folge dieses Ereignisses rundgesendet wird, ist der EID-Wert benutzerdefinierbar und muss nicht gleich dem FID sein.in the General allows This allows the user to define EID values that are used with FID values. For example, an instrument may experience a "time bomb" event and the FID for this event is "3" (and is in the Instrument hard-coded). But if an event message as a result When this event is broadcast, the EID value is user-definable and does not have to be equal to the FID.

Jedes individuelle Instrument kann voreingestellte EIDs für die meisten der FIDs vordefinieren. Aber der Systemintegrator/Endbenutzer kann die EID-Werte für alle FIDs nach Wunsch einstellen/ändern.each individual instrument can preset EIDs for most predefine the FIDs. But the system integrator / end user can the EID values for set / change all FIDs as desired.

Der Benutzer kann z. B. EIDs spezifizieren, die für jedes Instrument in einem Testsystem eindeutig sind. Ansonsten können Probleme angetroffen werden, immer wenn ein Testsystem mehrere identische Instrumente umfasst. Für ein gegebenes Testsystem kann der Benutzer ferner eindeutige EIDs für die Ereignisse jedes Instruments spezifizieren.Of the User can z. For example, specify EIDs for each instrument in one Test system are unique. Otherwise, problems can be encountered whenever a test system includes several identical instruments. For a For example, given the test system, the user may also provide unique EIDs for the events of each Specify instruments.

Eine Function ID to Event ID map (Funktions-ID zu Event-ID-Abbildung) wird bei dieser Beispielimplementierung vorgelegt.A Function ID to Event ID map (function ID for Event ID mapping) is added presented this example implementation.

Das heißt, das Ereignisverwalter-Teilsystem bei jedem Instrument behält eine FID-zu-EID-Abbildung bei. Diese kann z. B. als eine Tabelle implementiert sein. Diese Tabelle behält die Abbildung zwischen EIDs und FIDs bei und umfasst ferner andere Daten, wie z. B:

  • (a) Ein Flag zum Sperren/Freigeben jeder Funktion.
  • (b) Die (Adresse von der) Rückruf-Funktion, die für das Ereignis verwendet wird.
  • (c) Informationen darüber, ob das fragliche Ereignis eine Eingabe oder eine Ausgabe ist. Während Zeitbomben Ausgabeereignisse sind, können sie in der Tabelle speziell mit einem Flag versehen sein, da sie spezifische API-Funktionen aufweisen, die ihnen zugeordnet sind.
  • (d) Einen Auszeit-Wert. Dieser wird für Eingabeereignisse verwendet und stellt die maximale Verzögerung dar, die toleriert werden kann, bevor eine Ereignismeldung empfangen wird.
That is, the event manager subsystem at each instrument maintains a FID-to-EID mapping. This can, for. B. implemented as a table. This table retains the mapping between EIDs and FIDs, and also includes other data, such as: B:
  • (a) A flag for disabling / enabling each function.
  • (b) The (address of) callback function used for the event.
  • (c) information about whether the event in question is an input or an output. While time bombs are output events, they may be specially flagged in the table because they have specific API functions associated with them.
  • (d) A time-out value. This is used for input events and represents the maximum delay that can be tolerated before an event message is received.

Ein Beispiel einer solchen Tabelle für ein Instrument ist in Tabelle 2 unten bereitgestellt.One Example of such a table for an instrument is provided in Table 2 below.

Figure 00330001
Tabelle 2
Figure 00330001
Table 2

Ein gegebener FID in der Tabelle stellt entweder eine Eingabe oder eine Ausgabe dar, aber nicht beides. Eine Zeitbombe ist ein spezieller Typ einer Ausgabe-Funktion. Tabelle 2 liefert ein Beispiel von Informationen, die zu den programmierten Ereignis-Informationen 102B der Quelle 12 gespeichert werden können. Die programmierten Ereignis-Informationen 102B und 102C der Steuerung 11 und des Empfängers 13 können auf ähnliche Weise angeordnet sein.A given FID in the table represents either an input or an output, but not both. A time bomb is a special type of output function. Table 2 provides an example of information related to the programmed event information 102B the source 12 can be stored. The programmed event information 102B and 102C the controller 11 and the recipient 13 can be arranged in a similar way.

Die Freigabe-/Sperren-Einstellung aus Tabelle 2 reduziert einen unnötigen Verkehr über das Kommunikationsnetzwerk für Ausgabe-Ereignisse und wird verwendet, um relevante Ereignismeldungen für Eingabe-Ereignisse zu identifizieren. Standardmäßig kann das individuelle Instrument den Zustand des Freigeben/Sperren-Flag für alle Funktionen einstellen (die meisten werden gesperrt), und Standard-EIDs für jede Funktion einstellen. Es ist möglich, mehrere EIDs für einen gegebenen FID zu spezifizieren (und freizugeben). Dies gibt den Ereignisverwalter frei, um dieselbe Funktion auszuführen, wenn einer der EIDs empfangen wird.The Enable / disable setting from Table 2 reduces unnecessary traffic over the Communication network for Output events and is used to get relevant event messages for input events to identify. By default, can the individual instrument the state of the enable / disable flag for all Set functions (most are locked), and default EIDs for every function to adjust. It is possible, multiple EIDs for to specify (and release) a given FID. This gives free the event manager to perform the same function if one of the EIDs is received.

Ein anderer Datentyp ist Event Message Data (Ereignismeldungsdaten). Gemäß dieser darstellenden Implementierung sind Ereignismeldungen von einem einfachen Datenformat und umfassen die nachfolgenden Informationen:

  • 1. Ereignis-ID
  • 2. Zeitstempel
  • 3. Anzahl von Bytes, die folgen
  • 4. Event-spezifische Daten
Another data type is Event Message Data. According to this illustrative implementation, event messages are of a simple data format and include the subsequent ones Information:
  • 1st event ID
  • 2. Timestamp
  • 3. Number of bytes that follow
  • 4. Event-specific data

Ereignismeldungen werden unter Verwendung des SendEvent()-Rufs (Ereignissenderuf) gesendet. Üblicherweise wird diese Routine von innerhalb der Benutzer-Rückrufroutinen gerufen. Die Daten, die mit dem Ereignis gesendet werden, sind vorzugsweise minimal, um Netzwerklatenzzeitprobleme zu vermeiden/minimieren.event messages are sent using the SendEvent () call (event send). Usually this routine is called from within the user callback routines. The Data sent with the event is preferably minimal, to avoid / minimize network latency issues.

Verschiedene API-Funktionen sind bei dieser darstellenden Implementierung vorgesehen. Eine API-Funktion ist Reset() (Zurücksetzen). Diese Funktion setzt den Ereignisverwalter auf seinen voreingestellten (Fabrik-) Zustand zurück. Alle Funktionen werden gesperrt. Anstehende Zeitbomben und Ereignismeldungen werden abgebrochen. Benutzerdefinierte Ereignisse werden gelöscht.Various API functions are provided in this illustrative implementation. An API function is Reset () (Reset). This function sets the event manager to its default (factory) state back. All functions are blocked. Upcoming time bombs and event messages will be canceled. Custom events are deleted.

Eine andere API-Funktion ist GetCurrentTime() (aktuelle Zeit erhalten). Diese Funktion bringt den aktuellen Wert des IEEE-1588-Takts zurück.A other API function is GetCurrentTime () (get current time). This function returns the current value of the IEEE-1588 clock.

Eine andere API-Funktion ist CreateInputFn(FID) (Eingabefunktion erzeugen (FID)). Diese Funktion erzeugt eine neue Eingabe-Funktion mit dem gegebenen FID. Die Funktion wird ohne EIDs oder Rückrufe erzeugt und ist als eine Eingabe-Funktion markiert (nicht als eine Ausgabe-Funktion oder eine Zeitbombe). Sie gibt einen Fehler zurück und tut nichts, wenn der gegebene FID bereits verwendet wird, oder wenn nicht genug Speicher vorliegt, um die Funktionstabelle zu erweitern.A another API function is CreateInputFn (FID) (create input function (FID)). This function creates a new input function with the given FID. The function is generated without EIDs or callbacks and is as an input function marked (not as an output function or a time bomb). She returns an error and does nothing if the given FID is already in use, or if there is not enough memory to expand the function table.

Eine andere API-Funktion ist DestroyInputFn(FID) (Eingabefunktion zerstören). Diese Funktion beseitigt die gegebene Funktion aus der Funktionstabelle. Sie sendet einen Fehler zurück und tut nichts, wenn der gegebene FID nicht existiert.A another API function is DestroyInputFn (FID) (destroy input function). These Function removes the given function from the function table. It sends back an error and does nothing if the given FID does not exist.

Eine andere API-Funktion, die vorgesehen ist, ist SetCall-BackFn(FID, CallBackFn, CancelCallBackFn, ErrorCallBackFn, PtrToVendorData) (Rückruffunktion einstellen (FID, Rückruffunktion, Rückruffunktion löschen, Fehler-Rückruffunktion, Zeiger auf Verkäuferdaten)). Diese Funktion stellt die Rückruffunktion für einen FID-Wert ein. Die „CallBackFn" (Rückruffunktion) wird gerufen, wenn ein Ereignis auftritt. Für Ausgabe-Ereignisse formatiert die Rückruffunktion üblicherweise eine Ereignismeldung und führt ein Rundsenden derselben auf dem Kommunikationsnetzwerk durch, obwohl der Ereignisverwalter die Funktionalität des Rückrufs nicht einschränkt. Für Eingabe-Ereignisse wird die Rückruffunkti on gerufen, wenn eine Ereignismeldung empfangen wird, die auf die gegebene Funktion abbildet.A another API function that is provided is SetCall BackFn (FID, CallBackFn, CancelCallBackFn, ErrorCallBackFn, PtrToVendorData) (callback function set (FID, callback function, callback function Clear, Error callback function, Pointer to seller data)). This function sets the callback function for one FID value. The "CallBackFn" (callback function) is called when an event occurs. Formatted for output events the callback function usually an event message and leads broadcasting them on the communication network, though the event manager does not restrict the functionality of the callback. For input events becomes the callback function is called when an event message is received which is on the given Function maps.

Die „CancelCallBackFn" wird gerufen, immer wenn die Funktion gesperrt wird. Wenn die Funktion bereits gesperrt ist, wird dieser Rückruf nicht ausgeführt. Die „ErrorCallBackFn" (Fehler-Rückruf-Funktion) wird für Warnungen oder Fehler gerufen. Wenn z. B. eine Zeiteinstellung abläuft, kann dies erzwingen, dass einige Zeitbomben ignoriert werden und eine Warnung/Fehler wird verursacht. Die Typen der Fehler, die verursachen, dass diese Routine gerufen wird, sind im Allgemeinen instrumentspezifisch. Die SetCallBackFN (Rückruf-Einstellen-Funktion) tut nichts und sendet einen Fehler zurück, wenn ein Benutzer versucht, Rückrufe zu einem FID zuzuordnen, der nicht existiert.The "CancelCallBackFn" is called, always when the function is locked. If the function is already locked is, this callback will not executed. The "ErrorCallBackFn" (error callback function) is for Warnings or errors called. If z. B. a time setting expires, can force that to ignore some time bombs and one Warning / error is caused. The types of errors that cause that This routine is generally instrument-specific. The SetCallBackFN (callback setting function) does nothing and sends back an error when a user tries recalls to assign to a FID that does not exist.

Bei dieser Beispielimplementierung werden die nachfolgenden Parameter zu Rückruf-Funktionen geleitet:
Funktion-ID
Ereignis-ID
Zeitstempel
Verkäuferspezifische Daten
In this example implementation, the following parameters are passed to callback functions:
Function ID
Event ID
time stamp
Seller specific data

Um unnötige Funktionsrufe zu vermeiden, können beliebige der Rückruffunktionen Null sein.Around unnecessary Can avoid function calls any of the callback functions Be zero.

Eine andere API-Funktion, die bereitgestellt wird, ist SetTimeout(FID,MaxYTimeDelay) (Auszeit einstellen(FID,MaxYZeitverzögerung)). Diese Funktion stellt die maximale Zeitverzögerung ein, die toleriert werden kann, bevor eine Ereignismeldung empfangen wird. Wenn ein empfangenes Ereignis um mehr als MaxTimeDelay (maximale Zeitverzögerung) verzögert wurde, dann tritt ein Fehlerzustand auf. Diese Funktion tut nichts und sendet einen Fehler zurück, wenn die gegebene Funktion keine Eingabe-Funktion ist.A other API function provided is SetTimeout (FID, MaxYTimeDelay) (Set time out (FID, maxTime delay)). This function provides the maximum time delay one that can be tolerated before receiving an event message becomes. If a received event exceeds by more than MaxTimeDelay (max Time Delay) delayed then an error condition occurs. This feature does nothing and sends back an error, if the given function is not an input function.

MapFIDtoEID(FID,EID) ist eine andere API-Funktion, die bereitgestellt wird. Diese Funktion bildet einen gegebenen FID auf einen EID ab. Diese Funktion tut nichts und sendet einen Fehler zurück, wenn ein Benutzer versucht hat, von einer FID abzubilden, die nicht existiert.MapFIDtoEID (FID, EID) is another API function that is provided. this function maps a given FID to an EID. This function does nothing and sends back an error when a user tries has to map from a FID that does not exist.

UnMapFIDtoEID(FID,ID) ist eine API-Funktion, die eine Abbildung von einer gegebenen FID von einer EID aufhebt. Dies bringt die Abbildung in den voreingestellten Zustand zurück und sperrt ferner das Ereignis (siehe EnableEvent unten). Diese Funktionalität ist ähnlich zu dem EnableEvent-Ruf (unten), wird aber in Fällen verwendet, in denen mehrere EIDs in einen einzelnen FID abgebildet werden und nur die Abbildung von einem der EIDs aufgehoben werden soll. Diese Funktion tut nichts und sendet einen Fehler zurück, wenn das gegebene FID/EID-Paar nicht gefunden werden kann.UnMapFIDtoEID (FID, ID) is an API function that is an illustration of a given FID of an EID. This brings the picture to the default State back and also blocks the event (see EnableEvent below). These functionality is similar to the EnableEvent call (below), but is used in cases where several EIDs are mapped into a single FID and just the picture should be lifted by one of the EIDs. This feature does nothing and sends back an error, if the given FID / EID pair can not be found.

EnableEvent(FID,EID,true/false) (Ereignis freigeben (FID,EID,wahr/falsch) ist eine API-Funktion, die ein Ereignis unter Verwendung von FID oder EID oder beidem freigibt oder sperrt. Wenn die Funktion eine Eingabe ist, wird sie sich für alle Auftritte derselben beteiligen/die Beteiligung aufheben; und wenn die Funktion eine Ausgabe ist, wird sie alle Auftritte der Ausgabe freigeben/sperren. Wenn eine Null entweder für FID oder EID spezifiziert ist, wird der Parameter ignoriert und der andere Parameter (vermutlich ungleich Null) wird verwendet.(False FID, EID, true /) EnableEvent (Release event (FID, EID, true / false) is an API function, which releases an event using FID or EID or both or locks. If the function is an input, it will work for all appearances participate / cancel the participation; and if the function is a Issue, it will release / lock all occurrences of the issue. If a zero for either FID or EID is specified, the parameter is ignored and the other parameter (presumably non-zero) is used.

Wenn der gegebene FID Bezug auf eine Zeitbombe nimmt, soll die Funktion durch diese Funktion freigegeben und durch eine Funktion CreateTimeBomb() (Zeitbombe erzeugen) (siehe unten) initialisiert werden. Diese Funktion EnableEvent (Ereignis freigeben) kann verwendet werden, um eine Zeitbombe zu sperren, wobei sie in diesem Fall dasselbe tut wie der Ruf CancelTimeBomb() (Zeitbombe abbrechen). Diese EnableEvent-Funktion tut nichts und sendet einen Fehler zurück, wenn das FID/EID-Paar nicht gefunden werden kann.If the given FID refers to a time bomb, the function should enabled by this function and by a function CreateTimeBomb () (Generate time bomb) (see below). this function EnableEvent can be used to create a Lock time bomb, in which case it does the same as the call CancelTimeBomb () (cancel time bomb). This EnableEvent function does nothing and sends back an error if the FID / EID pair is not can be found.

SendEvent(EID, TimeStamp, Data, Bytes) (Ereignis senden (EID, Zeitstempel, Daten, Bytes) ist eine andere API-Funktion, die bereitgestellt wird. Diese Funktion führt ein Rundsenden einer Ereignismeldung aus. Sie soll von innerhalb der Rückrufroutinen gerufen werden und sollte nicht gerufen werden, wenn die Funktion gesperrt ist, obwohl dies keinen Fehler verursacht.SendEvent (EID, TimeStamp, Data, Bytes) (send event (EID, timestamp, data, Bytes) is another API function, which is provided. This function performs a broadcast of an event message out. It should be called from within the callback routines and should not be called when the function is locked, although this does not cause a mistake.

CreateTimeBomb(FID, TimeStamp, RepeatCount, TimeInterval) (Zeitbombe erzeugen (FID, Zeitstempel, Wiederholungsanzahl, Zeitintervall) ist eine andere API-Funktion, die vorgesehen ist. Diese Funktion stellt eine wiederholte Zeitbombe ein, die von dem gegebenen Zeitstempel startet, sich dann für RepeatCount-1 Male unter Verwendung des gegebenen Zeitintervalls wiederholt (so dass die Gesamtanzahl von Detonationen RepeatCount (Wiederholanzahl) ist). RepeatCount kann auf –1 für einen unendlichen Schleifendurchlauf eingestellt werden. Jedes Mal, wenn die Zeitbombe abläuft, wird Call-BackFn für eine Ausführung gerufen.Create Time Bomb (FID, TimeStamp, RepeatCount, TimeInterval) (generate time bomb (FID, Timestamp, retry count, time interval) is another one API function that is provided. This feature represents a repeated Time bomb that starts from the given timestamp, then it will for RepeatCount-1 times repeated using the given time interval (so that the total number of detonations RepeatCount is). RepeatCount can be set to -1 for one infinite loop pass can be adjusted. Whenever the time bomb expires, will Call-BackFn for one execution called.

CreateTimeBomb(FID, TimeStamp, Frequency) (Zeitbombe erzeugen(FID, Zeitstempel, Frequenz) ist eine andere Funktion, die eine spezielle Version der obigen Funktion ist. Diese Funktion erzeugt eine wiederholte Zeitbombe mit repeat count = –1. Das Zeitintervall wird aus dem Frequenzparameter berechnet.Create Time Bomb (FID, TimeStamp, Frequency) (generate time bomb (FID, timestamp, frequency) is another feature that is a special version of the above Function is. This feature generates a repeated time bomb with repeat count = -1. The time interval is calculated from the frequency parameter.

Eine andere API-Funktion, die vorgesehen ist, ist CancelTimeBomb(FID) (Zeitbombe abbrechen (FID)). Diese Funktion versucht, eine Zeitbombe abzubrechen. Es gibt keine Garantie, dass die Zeitbombe abgebrochen wird, bevor sie abfeuert. In einigen Fällen kann CallBackFn dies mit internen Flags handhaben. Diese Funktion CancelTimeBomb tut dasselbe wie EnableEvent() (Ereignis freigeben), wenn EnableEvent() verwendet wird, um eine Zeitbombenfunktion zu sperren. Die CancelTimeBomb-Funktion sendet einen Fehler zurück und tut nichts, wenn der gegebene FID keine eingestellte Zeitbombe aufweist, oder wenn der FID überhaupt keine Zeitbombe ist.A other API function that is provided is CancelTimeBomb (FID) (Cancel time bomb (FID)). This feature tries a time bomb cancel. There is no guarantee that the time bomb will be canceled before she fires. In some cases, CallBackFn can do this handle internal flags. This CancelTimeBomb function does the same thing such as EnableEvent () (Release event) when using EnableEvent () is to block a time bomb function. The CancelTimeBomb function sends back an error and does nothing if the given FID does not set a time bomb or if the FID at all there is no time bomb.

GetFunctionMap() (Funktionsabbildung erhalten) ist eine Funktion, die die Informationen zurücksendet, die in der FID-zu-EID-Abbildung (oben definiert) enthalten sind. Diese Funktion kann z. B. zu Fehlerbeseitigungszwecken verwendet werden.GetFunctionMap () (Get Functional Image) is a feature that contains the information returns, which are included in the FID to EID map (defined above). This function can, for. B. used for debugging purposes become.

Der Ereignisverwalter umfasst eine Netzwerkhintergrundroutine, die nach Befehlen auf dem Kommunikationsnetzwerk hört und entsprechende API-Rufe auf dem lokalen Prozessor des Instruments ausführt. Diese Funktionalität gibt einen (entfernten) Host-Computer frei, um ein Instrument für messspezifische Aufgaben zu programmieren. Der Steuerungscomputer kann z. B. ein Instrument programmieren, um eine Messung zu starten, wenn eine bestimmte Ereignismeldung empfangen wird. Um dies durchzuführen, sendet derselbe einen Programmierungsbefehl zu dem Instrument.Of the Event Manager includes a network background routine that follows Commands on the communication network are listening and corresponding API calls on the local processor of the instrument. This functionality gives you one (remote) host computer free to use an instrument for measurement-specific To program tasks. The control computer can z. B. a Program instrument to start a measurement, if one certain event message is received. To do this, send It also gives a programming command to the instrument.

Wie oben beschrieben, hört der Ereignisverwalter auch nach Rundsende-Ereignismeldungen von anderen Instrumenten. Dies bedeutet, dass der Ereignisverwalter dieser Beispielimplementierung zwei Netzwerk-Höreinrichtungen umfasst: einen zum Hören nach Ereignismeldungen von anderen Instrumenten (der an einem Sammelsende-UDP-Tor hört), und einen zum Hören nach entfernten Programmierungsbefehlen (der an einem TCP-Tor hört).As described above, the event manager also stops after broadcast event messages from their instruments. That is, the event handler of this example implementation comprises two network listening devices: one to listen for event messages from other instruments (listening to a multicast UDP port), and one to listen for remote programming commands (listening to a TCP port) ,

Die Netzwerkhintergrundroutine hört einfach auf einem TCP-Tor nach Befehlen. Jeder Befehl kann durch zusätzliche Daten begleitet werden. Es wird darauf hingewiesen, dass die erlaubten Befehle den API-Funktionen entsprechen, die oben beschrieben sind.The Network background routine is listening just on a TCP port after commands. Each command can be accompanied by additional data. It should be noted that the allowed commands are the API functions correspond to those described above.

Während eine darstellende Implementierung eines Ereignisverwalters detailliert oben beschrieben ist, sind Ausführungsbeispiele nicht auf diese Beispielimplementierung beschränkt. Statt dessen können verschiedene Merkmale und Implementierungsdetails, die oben vorgesehen sind, bei alternativen Ausführungsbeispielen geändert werden. Zum Beispiel kann bei bestimmten Ausführungsbeispielen das TCP zum Senden von Ereignismeldungen verwendet werden und nicht zum Rundsenden von Ereignismeldungen über UDP. Ferner können die verschiedenen Beispiel-API-Funktionen, die bei dem Beispielereignisverwalter vorgesehen sind, der oben beschrieben ist, sich ändern, alle oder einige solcher Funktionen können nicht vorgesehen sein und/oder zusätzliche Funktionen können bei alternativen Ereignisverwalter-Implementierungen vorgesehen sein.While one detailed implementation of an event manager described above are embodiments not limited to this example implementation. Instead, different ones can Features and Implementation Details Provided Above in alternative embodiments changed become. For example, in certain embodiments, the TCP may be used for Sending event messages are used and not for broadcasting from event messages over UDP. Furthermore, can the various example API functions used in the sample event manager are described above, change, all or some of such Functions can can not be provided and / or additional features may be provided alternative event manager implementations be provided.

Bezug nehmend auf 3 ist ein Operationsflussdiagramm zum Synchronisieren der Operation einer Mehrzahl von vernetzten Vorrichtungen gemäß einem Ausführungsbeispiel gezeigt. Bei Operationsblock 31 wird eine Ereignismeldung, die eine Identifikation eines Ereignisses und einen Zeitstempel umfasst, durch zumindest eine der Mehrzahl von vernetzten Vorrichtungen empfangen, wobei die Vorrichtungen synchronisierte Takte aufweisen. Wie oben beschrieben ist, wird bei bestimmten Ausführungsbeispielen die Ereignismeldung von einer Sendevorrichtung zu allen anderen Vorrichtungen auf dem Kommunikationsnetzwerk rundgesendet. Bei Block 32 bestimmt die zumindest eine Vorrichtung, die die Ereignismeldung empfangen hat, ob die empfangene Ereignismeldung ein Ereignis identifiziert, auf das hin die zumindest eine Empfangsvorrichtung handeln soll. Wie oben beschrieben ist, können bei bestimmten Ausführungsbeispielen die Vorrichtungen dynamisch programmiert sein, im Hinblick auf die Ereignisse, auf die sie eine Antwortaktion unternehmen sollen, sowie die spezifischen Antwortaktionen, die die Vorrichtung für ein gegebenes Ereignis unternehmen soll. Bei Block 33, wenn bestimmt wird, dass die empfangene Meldung ein Ereignis identifiziert, auf das hin die zumindest eine Empfangsvorrichtung handeln soll, dann handelt die zumindest eine Empfangsvorrichtung in Bezug auf das identifizierte Ereignis basierend auf dem Zeitstempel, der in der empfangenen Meldung umfasst ist. Somit kann die Aktion der Empfangsvorrichtung mit der Sendevorrichtung koordiniert werden, basierend auf ihren synchronisierten Takten.Referring to 3 FIG. 12 is an operational flowchart for synchronizing the operation of a plurality of networked devices according to one embodiment. At operation block 31 For example, an event message including an identification of an event and a time stamp is received by at least one of the plurality of networked devices, the devices having synchronized clocks. As described above, in certain embodiments, the event message is broadcast from one sending device to all other devices on the communication network. At block 32 the at least one device that has received the event message determines whether the received event message identifies an event to which the at least one receiving device is to act. As described above, in certain embodiments, the devices may be dynamically programmed in terms of the events to which they are to respond, as well as the specific response actions the device should take for a given event. At block 33 if it is determined that the received message identifies an event toward which the at least one receiving device is to act, then the at least one receiving device is related to the identified event based on the time stamp included in the received message. Thus, the action of the receiving device can be coordinated with the transmitting device based on its synchronized clocks.

Obwohl die vorliegende Erfindung und ihre Vorteile detailliert beschrieben wurden, sollte darauf hingewiesen werden, dass verschiedene Änderungen, Ersetzungen und Modifikationen hierin durchgeführt werden können, ohne von der Erfindung abzuweichen, wie sie durch die beiliegenden Ansprüche definiert wird. Ferner soll der Schutzbereich der vorliegenden Anmeldung nicht auf die bestimmten Ausführungsbeispiele des Prozesses, der Maschine, der Herstellung, der Zusammensetzung von Gegenständen, Einrichtungen, Verfahren und Schritten beschränkt sein, die in der Spezifikation beschrieben sind. Wie ein Durchschnittsfachmann aus der Offenbarung erkennen wird, können Prozesse, Maschinen, Herstellung, Zusammensetzung von Gegenständen, Einrichtungen, Verfahren oder Schritten, die bereits existieren oder später entwickelt werden, die im Wesentlichen dieselbe Funktion ausführen oder im Wesentlichen dasselbe Ergebnis erreichen wie die entsprechenden Ausführungsbeispiele, die hierin beschrieben sind, verwendet werden. Dementsprechend sollen die beiliegenden Ansprüche innerhalb ihres Schutzbereichs derartige Prozesse, Maschinen, Herstellungen, Zusammensetzungen von Gegenständen, Einrichtungen, Verfahren oder Schritten umfassen.Even though the present invention and its advantages described in detail It should be noted that various changes, Replacements and modifications can be made herein without to depart from the invention as defined by the appended claims becomes. Furthermore, the scope of the present application is not intended to the specific embodiments the process, the machine, the manufacturing, the composition of objects, Facilities, procedures and steps are limited in the specification are described. As one of ordinary skill in the art will appreciate can recognize Processes, machinery, manufacture, composition of objects, facilities, Procedures or steps that already exist or are developed later that perform essentially the same function or achieve substantially the same result as the corresponding ones Embodiments, which are described herein. Accordingly, should the accompanying claims within their scope, such processes, machinery, fabrications, Compositions of objects, Facilities, methods or steps include.

Claims (42)

System, das folgende Merkmale aufweist: zumindest zwei Vorrichtungen (12, 13), die kommunikativ über ein Kommunikationsnetzwerk (14) gekoppelt sind, wobei die zumindest zwei Vorrichtungen eine Einrichtung zum Synchronisieren ihrer Takte (103B, 103C) umfassen; wobei die zumindest zwei Vorrichtungen (12, 13) eine Einrichtung zum Kommunizieren einer Meldung, die einen Zeitstempel umfasst und ein Ereignis identifiziert, über das Kommunikationsnetzwerk zu der anderen der zumindest zwei Vorrichtungen aufweisen; und wobei die zumindest zwei Vorrichtungen (12, 13) eine Einrichtung zum Empfangen der Meldung und zum Bestimmen einer Antwortaktion aufweisen, die ansprechend auf das identifizierte Ereignis unternommen werden soll, wobei eine bestimmte Aktion basierend auf dem Zeitstempel unternommen wird, der in der Meldung umfasst ist.A system comprising: at least two devices ( 12 . 13 ) communicatively via a communications network ( 14 ), wherein the at least two devices comprise means for synchronizing their clocks ( 103B . 103C ); wherein the at least two devices ( 12 . 13 ) means for communicating a message comprising a timestamp identifying an event across the communication network to the other of the at least two devices; and wherein the at least two devices ( 12 . 13 ) comprise means for receiving the message and determining a response action taken in response to the identified event where a particular action is taken based on the timestamp included in the message. System gemäß Anspruch 1, bei dem die Einrichtung zum Synchronisieren ihrer Takte folgendes Merkmal aufweist: eine Einrichtung zum Implementieren des IEEE-1588-Standards zum Synchronisieren der Takte.System according to claim 1, wherein the means for synchronizing their clocks following Feature: means for implementing the IEEE 1588 standard for synchronization the bars. System gemäß Anspruch 1, bei dem die Einrichtung zum Synchronisieren ihrer Takte folgendes Merkmal aufweist: eine Einrichtung zum Implementieren eines Netzwerkzeitprotokolls (NTP) zum Synchronisieren ihrer Takte.System according to claim 1, wherein the means for synchronizing their clocks following Feature: a device for implementing a Network Time Protocol (NTP) to synchronize their clocks. System gemäß einem der Ansprüche 1 bis 3, bei dem die Einrichtung zum Synchronisieren ihrer Takte folgendes Merkmal aufweist: eine Einrichtung zum aktiven Synchronisieren der Takte durch die zumindest zwei Vorrichtungen (12, 13), die miteinander in Wechselwirkung sind.A system according to any one of claims 1 to 3, wherein the means for synchronizing its clocks comprises: means for actively synchronizing the clocks through the at least two devices ( 12 . 13 ) that interact with each other. System gemäß einem der Ansprüche 1 bis 4, bei dem der Zeitstempel auf dem Takt der Vorrichtung basiert, die die Meldung sendet.System according to one the claims 1 to 4, where the time stamp is based on the clock of the device, which sends the message. System gemäß einem der Ansprüche 1 bis 5, bei dem die Einrichtung zum Kommunizieren der Meldung zu der anderen der zumindest zwei Vorrichtungen (12, 13) folgendes Merkmal aufweist: eine Einrichtung zum Rundsenden der Meldung über das Kommunikationsnetzwerk.A system according to any one of claims 1 to 5, wherein the means for communicating the message to the other of the at least two devices ( 12 . 13 ) comprises: means for broadcasting the message over the communications network. System gemäß Anspruch 6, bei dem die Einrichtung zum Rundsenden die Meldung über ein Benutzerdatagrammprotokoll (UDP) sendet.System according to claim 6, in which the device for broadcasting the message via a User Datagram Protocol (UDP) sends. System gemäß einem der Ansprüche 1 bis 7, bei dem die Einrichtung zum Empfangen der Meldung folgendes Merkmal aufweist: eine Einrichtung zum Empfangen einer rundgesendeten Meldung über das Kommunikationsnetzwerk (14).A system according to any one of claims 1 to 7, wherein the means for receiving the message comprises: means for receiving a broadcast message over the communications network ( 14 ). System gemäß einem der Ansprüche 1 bis 8, bei dem, wenn die Einrichtung zum Bestimmen einer Antwortaktion bestimmt, dass keine Aktion für das identifizierte Ereignis unternommen werden soll, dann die andere Vorrichtung keine Antwortaktion durchführt.System according to one the claims 1-8, wherein when the means for determining a response action that determines no action for the identified event should be taken, then the other one Device performs no response action. System gemäß einem der Ansprüche 1 bis 9, bei dem die andere Vorrichtung im Hinblick auf die Antwortaktion programmierbar ist, die ansprechend auf das identifizierte Ereignis unternommen werden soll.System according to one the claims 1 to 9, in which the other device with regard to the response action is programmable, responsive to the identified event should be undertaken. System gemäß einem der Ansprüche 1 bis 10, bei dem die zumindest zwei Vorrichtungen Instrumente in einem Messsystem sind.System according to one the claims 1 to 10, in which the at least two devices have instruments in a measuring system. System gemäß Anspruch 11, bei dem die zumindest zwei Vorrichtungen synthetische Instrumente sind.System according to claim 11, wherein the at least two devices synthetic instruments are. System gemäß einem der Ansprüche 1 bis 12, bei dem die andere Vorrichtung die bestimmte Antwortaktion an dem Zeitstempel unternimmt, der in der empfangenen Meldung umfasst ist.System according to one the claims 1 to 12, where the other device is the specific response action takes the timestamp included in the received message is. System gemäß einem der Ansprüche 1 bis 13, bei dem die andere Vorrichtung die bestimmte Antwortaktion zu einer definierten Zeit relativ zu dem Zeitstempel in der empfangenen Meldung unternimmt.System according to one the claims 1 to 13, in which the other device is the specific answer action at a defined time relative to the timestamp in the received Message. System, das folgende Merkmale aufweist: zumindest zwei Vorrichtungen (12, 13), die kommunikativ über ein Kommunikationsnetz (14) gekoppelt sind, wobei die zumindest zwei Vorrichtungen synchronisierte Takte (103B, 103C) aufweisen; wobei die zumindest zwei Vorrichtungen jeweils einen Ereignisverwalter (101B, 101C) aufweisen, der wirksam ist, um Meldungen von der anderen der zumindest zwei Vorrichtungen zu empfangen, wobei die Meldungen Informationen umfassen, die ein Ereignis und einen Zeitstempel identifizieren; und wobei der Ereignisverwalter wirksam ist, um zu bestimmen, ob eine Aktion durch ihre entsprechende Vorrich tung ausgelöst werden soll, ansprechend auf ein identifiziertes Ereignis in einer empfangenen Meldung, wobei, wenn bestimmt wird, dass eine Aktion ausgelöst werden soll, eine solche Aktion basierend auf dem Zeitstempel ausgelöst wird, der in der empfangenen Meldung umfasst ist.A system comprising: at least two devices ( 12 . 13 ) communicatively via a communications network ( 14 ), wherein the at least two devices synchronized clocks ( 103B . 103C ) exhibit; wherein the at least two devices each comprise an event manager ( 101B . 101C ) operative to receive messages from the other of the at least two devices, the messages comprising information identifying an event and a timestamp; and wherein the event manager is operative to determine whether an action is to be triggered by its corresponding device in response to an identified event in a received message, wherein if it is determined that an action is to be triggered, such an action is based is triggered on the timestamp included in the received message. System gemäß Anspruch 15, bei dem die zumindest zwei Vorrichtungen aktiv ihre Takte dadurch synchronisieren, dass sie miteinander in Wechselwirkung sind.A system according to claim 15, wherein said at least two devices actively synchronize their clocks thereby chronicle that they interact with each other. System gemäß Anspruch 15 oder 16, bei dem die zumindest zwei Vorrichtungen ihre Takte gemäß dem IEEE-1588-Standard synchronisieren.System according to claim 15 or 16, in which the at least two devices their clocks synchronize according to the IEEE 1588 standard. System gemäß einem der Ansprüche 15 bis 17, bei dem der Zeitstempel auf dem Takt der Vorrichtung basiert, die die Meldung sendet.System according to one the claims 15 to 17, in which the time stamp is based on the clock of the device, which sends the message. System gemäß einem der Ansprüche 15 bis 18, bei dem der Ereignisverwalter wirksam ist, um die Meldungen zu empfangen, die über das Kommunikationsnetzwerk (14) rundgesendet werden.A system according to any one of claims 15 to 18, wherein the event manager is operative to receive the messages transmitted over the communications network ( 14 ) are broadcast. System gemäß einem der Ansprüche 15 bis 19, bei dem der Ereignisverwalter wirksam ist, um eine Meldung über das Kommunikationsnetz (14) rundzusenden.A system according to any one of claims 15 to 19, wherein the event manager is operative to send a message over the communications network ( 14 ). System gemäß einem der Ansprüche 15 bis 20, bei dem die zumindest eine der Vorrichtungen (12, 13) im Hinblick auf die Aktion programmierbar ist, die ansprechend auf das identifizierte Ereignis ausgelöst werden soll.System according to one of claims 15 to 20, wherein the at least one of the devices ( 12 . 13 ) is programmable with respect to the action to be triggered in response to the identified event. System gemäß einem der Ansprüche 15 bis 21, bei dem die Aktion an dem Zeitstempel ausgelöst wird, der in der empfangenen Meldung umfasst ist.System according to one the claims 15 to 21, where the action is triggered on the timestamp, the included in the received message. System gemäß einem der Ansprüche 15 bis 22, bei dem die Aktion zu einer definierten Zeit relativ zu dem Zeitstempel in der empfangenen Meldung ausgelöst wird.System according to one the claims 15 to 22, during which the action at a defined time relative is triggered at the time stamp in the received message. System gemäß einem der Ansprüche 15 bis 23, bei dem die zumindest zwei Vorrichtungen (12, 13) Instrumente in einem Messsystem sind.System according to one of claims 15 to 23, wherein the at least two devices ( 12 . 13 ) Are instruments in a measuring system. System, das folgende Merkmale aufweist: eine Mehrzahl von Vorrichtungen, die kommunikativ über ein Kommunikationsnetzwerk (14) gekoppelt sind, wobei die zumindest zwei Vorrichtungen (12, 13) synchronisierte Takte aufweisen; wobei zumindest eine der Mehrzahl von Vorrichtungen (12, 13) eine Schnittstelle (104) zum Empfangen einer Eingabe aufweist, die die zumindest eine Vorrichtung programmiert, um eine definierte Aktion ansprechend auf ein spezifiziertes Ereignis zu unternehmen; wobei die zumindest eine der Mehrzahl von Vorrichtungen (12, 13) ferner einen Ereignisverwalter aufweist, der wirksam ist, um Meldungen von den anderen der Mehrzahl von Vorrichtungen zu empfangen, wobei die Meldungen Informationen umfassen, die ein Ereignis und einen Zeitstempel identifizieren; und wobei der Ereignisverwalter wirksam ist, um zu bestimmen, ob ein Ereignis, das durch eine empfangene Meldung identifiziert wird, ein Ereignis ist, für das die zumindest eine der Mehrzahl von Vorrichtungen (12, 13) programmiert ist, um eine entsprechende definierte Aktion zu unternehmen, und wenn das Ereignis, das durch eine empfangene Meldung identifiziert wird, ein Ereignis ist, für das die zumindest eine der Mehrzahl von Vorrichtungen programmiert ist, um eine entsprechende definierte Aktion zu unternehmen, der Ereignisverwal ter auslöst, dass die zumindest eine der Mehrzahl von Vorrichtungen die entsprechende definierte Aktion basierend auf dem Zeitstempel der empfangenen Meldung unternimmt.A system comprising: a plurality of devices communicatively communicating over a communication network ( 14 ), wherein the at least two devices ( 12 . 13 ) have synchronized clocks; wherein at least one of the plurality of devices ( 12 . 13 ) an interface ( 104 ) for receiving an input that programs the at least one device to take a defined action in response to a specified event; wherein the at least one of the plurality of devices ( 12 . 13 ) further comprises an event manager operative to receive messages from the other of the plurality of devices, the messages comprising information identifying an event and a time stamp; and wherein the event manager is operative to determine whether an event identified by a received message is an event for which the at least one of the plurality of devices (16) 12 . 13 ) is programmed to take a corresponding defined action and if the event identified by a received message is an event for which the at least one of the plurality of devices is programmed to take a corresponding defined action Event Manager triggers that the at least one of the plurality of devices undertakes the corresponding defined action based on the timestamp of the received message. System gemäß Anspruch 25, bei dem die zumindest eine der Mehrzahl von Vorrichtungen die entsprechende definierte Aktion zu einer programmierten Zeit nach dem Zeitstempel der empfangenen Meldung unternimmt.System according to claim 25, wherein the at least one of the plurality of devices the corresponding defined action at a programmed time after takes the timestamp of the received message. System gemäß Anspruch 25 oder 26, bei dem der Ereignisverwalter wirksam ist, um die Meldungen zu empfangen, die über das Kommunikationsnetzwerk rundgesendet werden.System according to claim 25 or 26 where the event manager is in effect to receive the messages to receive that over the communication network will be broadcast. Verfahren, das folgende Schritte aufweist: Empfangen (31), durch zumindest eine einer Mehrzahl von Vorrichtungen (12, 13), die kommunikativ mit einem Kommunikationsnetzwerk gekoppelt sind, einer Meldung, die eine Identifikation eines Ereignisses und einen Zeitstempel umfasst; Bestimmen (32), durch die zumindest eine Empfangsvorrichtung, ob die empfangene Meldung ein Ereignis identifiziert, auf das hin die zumindest eine Empfangsvorrichtung handeln soll; wenn bestimmt wird, dass die empfangene Meldung das Ereignis identifiziert, auf das hin die zumindest eine Empfangsvorrichtung handeln soll, dann Handeln der zumindest einen Empfangsvorrichtung auf das identifizierte Ereignis hin, basierend auf dem Zeitstempel, der in der empfangenen Meldung umfasst ist.A method comprising the steps of: receiving ( 31 ), by at least one of a plurality of devices ( 12 . 13 ) communicatively coupled to a communication network, a message comprising an identification of an event and a time stamp; Determine ( 32 ), by which at least one receiving device determines whether the received message identifies an event towards which the at least one receiving device is to act; if it is determined that the received message identifies the event toward which the at least one receiving device is to act, then acting on the at least one receiving device upon the identified event based on the time stamp included in the received message. Verfahren gemäß Anspruch 28, bei dem die zumindest eine Empfangsvorrichtung auf das identifizierte Ereig nis hin zu einer definierten Zeit nach dem Zeitstempel handelt.Method according to claim 28, wherein the at least one receiving device to the identified event nis at a defined time after the timestamp. Verfahren gemäß Anspruch 28 oder 29, das ferner folgenden Schritt aufweist: Empfangen einer Programmierungsmeldung durch die zumindest eine Empfangsvorrichtung, die die Empfangsvorrichtung konfiguriert, um eine Aktion ansprechend auf ein Ereignis zu unternehmen.Method according to claim 28 or 29, further comprising the step of: Receive a programming message by the at least one receiving device, which configures the receiving device to respond to an action to undertake an event. Verfahren gemäß einem der Ansprüche 28 bis 30, bei dem das Empfangen der Meldung folgenden Schritt aufweist: Empfangen der Meldung, die über das Kommunikationsnetzwerk (14) rundgesendet wird.A method according to any one of claims 28 to 30, wherein receiving the message comprises the step of: receiving the message over the communication network ( 14 ) is broadcast. Verfahren, das folgende Schritte aufweist: Senden einer Meldung über ein Kommunikationsnetzwerk (14) von einer ersten Vorrichtung zu zumindest einer anderen Vorrichtung, wobei die Meldung ein Ereignis identifiziert und einen Zeitstempel umfasst; Empfangen der Meldung durch die zumindest eine andere Vorrichtung; Bestimmen, durch die zumindest eine andere Vorrichtung, ob das Ereignis, das in der empfangenen Meldung identifiziert ist, durchführbar ist; und wenn durch die zumindest eine andere Vorrichtung bestimmt wird, dass das identifizierte Ereignis durchführbar ist, Unternehmen einer Aktion durch die zumindest eine andere Vorrichtung ansprechend auf das identifizierte Ereignis basierend auf dem Zeitstempel, der in der Meldung umfasst ist.A method comprising the steps of: transmitting a message over a communications network ( 14 from a first device to at least one other device, wherein the message identifies an event and includes a timestamp; Receiving the message by the at least one other device; Determining, by the at least one other device, whether the event identified in the received message is feasible; and if it is determined by the at least one other device that the identified event is feasible, the enterprise of an action by the at least one other device in response to the identified event based on the timestamp included in the message. Verfahren gemäß Anspruch 32, bei dem die Aktion, die durch die zumindest eine andere Vorrichtung unternommen wird, auf eine gewünschte Weise mit einer Aktion synchronisiert wird, die durch die erste Vorrichtung unternommen wird.Method according to claim 32, in which the action taken by the at least one other device will, on a desired Way with an action being synchronized by the first one Device is taken. Verfahren gemäß Anspruch 32 oder 33, bei dem das Senden ein Rundsenden aufweist.Method according to claim 32 or 33, in which the transmission has a broadcast. Verfahren gemäß einem der Ansprüche 32 bis 34, bei dem das Unternehmen einer Aktion durch die zumindest eine andere Vorrichtung ansprechend auf das identifizierte Ereignis folgenden Schritt aufweist: Unternehmen einer Messung.Method according to one the claims 32 to 34, during which the enterprise of an action by the at least another device responsive to the identified event the following step: Company of a measurement. Verfahren gemäß einem der Ansprüche 32 bis 35, bei dem das Durchführen einer Aktion durch die zumindest eine andere Vorrichtung ansprechend auf das identifizierte Ereignis basierend auf dem Zeitstempel folgenden Schritt aufweist: Unternehmen der Aktion zu einer definierten Zeit relativ zu dem Zeitstempel.Method according to one the claims 32 to 35, wherein the performing an action by the at least one other device appealing following the identified event based on the timestamp Step has: Company of action to a defined Time relative to the timestamp. Verfahren gemäß einem der Ansprüche 32 bis 36, bei dem der Zeitstempel auf einem lokalen Takt der ersten Vorrichtung basiert, und bei dem lokale Takte der ersten Vorrichtung und der zumindest einen anderen Vorrichtung aktiv synchronisiert werden.Method according to one the claims 32-36, where the timestamp on a local clock of the first Device based, and the local clocks of the first device and the at least one other device is actively synchronized become. Verfahren, das folgende Schritte aufweist: Programmieren einer Vorrichtung, um eine Aktion zu definieren, die die Vorrichtung ansprechend auf ein spezifiziertes Ereignis ausführen soll; Empfangen, durch die Vorrichtung, von Meldungen über ein Kommunikationsnetzwerk (14) von zumindest einer anderen Vorrichtung, mit der die Vorrichtung temporär synchronisiert ist, wobei die Meldungen jeweils ein Ereignis identifizieren und einen Zeitstempel umfassen; Bestimmen, durch die Vorrichtung, ob ein Ereignis, das durch eine empfangene Meldung identifiziert wird, das spezifizierte Ereignis ist; und wenn das Ereignis, das durch eine empfangene Meldung identifiziert wird, das spezifizierte Ereignis ist, dann Unternehmen der definierten Aktion durch die Vorrichtung basierend auf dem Zeitstempel der empfangenen Meldung.A method comprising the steps of: programming a device to define an action to be performed by the device in response to a specified event; Receiving, by the device, messages from a communications network ( 14 ) of at least one other device with which the device is temporarily synchronized, the messages each identifying an event and including a time stamp; Determining, by the device, whether an event identified by a received message is the specified event; and if the event identified by a received message is the specified event, then the entity of the defined action by the device based on the timestamp of the received message. Verfahren gemäß Anspruch 38, bei dem die definierte Aktion das Unternehmen einer Messung ist.Method according to claim 38, where the action defined the company of a measurement is. Verfahren gemäß Anspruch 38 oder 39, bei dem lokale Takte der Vorrichtung und der zumindest einen anderen Vorrichtung aktiv synchronisiert werden.Method according to claim 38 or 39, in which local clocks of the device and the at least another device will be actively synchronized. Verfahren gemäß Anspruch 40, bei dem die lokalen Takte über ein Element synchronisiert werden, ausgewählt aus der Gruppe, bestehend aus: dem IEEE 1588 und dem Netzwerkzeitgebungsprotokoll (NTP).Method according to claim 40, where the local clocks over an item to be synchronized selected from the group consisting out: IEEE 1588 and network timing protocol (NTP). Verfahren gemäß einem der Ansprüche 38 bis 41, bei dem die Vorrichtung, die die definierte Aktion basierend auf dem Zeitstempel unternimmt, folgendes Merkmal aufweist: Unternehmen der definierten Aktion zu einer programmierten Zeit relativ zu dem Zeitstempel.Method according to one the claims 38 through 41, in which the device that the defined action based on the time stamp, has the following feature: Companies the defined action at a programmed time relative to that Time stamp.
DE102005029440A 2004-09-13 2005-06-24 A system and method for synchronizing operations of a plurality of devices via communications over a communications network Ceased DE102005029440A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/939,838 2004-09-13
US10/939,838 US8930579B2 (en) 2004-09-13 2004-09-13 System and method for synchronizing operations of a plurality of devices via messages over a communication network

Publications (1)

Publication Number Publication Date
DE102005029440A1 true DE102005029440A1 (en) 2006-03-30

Family

ID=35221290

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005029440A Ceased DE102005029440A1 (en) 2004-09-13 2005-06-24 A system and method for synchronizing operations of a plurality of devices via communications over a communications network

Country Status (4)

Country Link
US (1) US8930579B2 (en)
JP (1) JP2006081192A (en)
DE (1) DE102005029440A1 (en)
GB (1) GB2418113A (en)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101080889B (en) * 2004-12-16 2012-06-20 西门子企业通讯有限责任两合公司 Synchronization module of IEEE 1588 standard
US7573914B2 (en) 2005-05-12 2009-08-11 Agilent Technologies, Inc. Systems and methods for synchronizing time across networks
US7174474B1 (en) * 2005-10-12 2007-02-06 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Distributed autonomous control system for multi-axis motion control
US7840285B2 (en) * 2005-10-28 2010-11-23 Invensys Systems, Inc. Sequence of events recorder facility for an industrial process control environment
US7721133B2 (en) * 2006-04-27 2010-05-18 Hewlett-Packard Development Company, L.P. Systems and methods of synchronizing reference frequencies
US8078762B2 (en) 2006-06-14 2011-12-13 Continental Teves Ag & Co. Ohg Method for transmitting measured data, and sensor device
US8345561B2 (en) 2006-08-22 2013-01-01 Rueters America Inc. Time monitor
US7770183B2 (en) * 2007-01-30 2010-08-03 Microsoft Corporation Indirect event stream correlation
US8219845B2 (en) * 2007-05-09 2012-07-10 Microsoft Corporation Timer service uses a single timer function to perform timing services for both relative and absolute timers
US20090063709A1 (en) * 2007-08-27 2009-03-05 Thomas Ambler Rice Method for Loading and Maintaining Executable Code Extensions in Instruments
US8838776B2 (en) * 2007-09-26 2014-09-16 Vega Grieshaber Kg Method for the automatic time synchronisation of devices in network-based systems
CN101399655B (en) * 2007-09-27 2011-04-20 华为技术有限公司 Determining method and apparatus for synchronization port of transparent clock device
JP5239752B2 (en) * 2008-10-31 2013-07-17 富士通株式会社 Synchronous message issuing system, synchronous message issuing method, and synchronous message issuing program
US9551575B2 (en) 2009-03-25 2017-01-24 Faro Technologies, Inc. Laser scanner having a multi-color light source and real-time color receiver
DE102009015920B4 (en) 2009-03-25 2014-11-20 Faro Technologies, Inc. Device for optically scanning and measuring an environment
US9113023B2 (en) 2009-11-20 2015-08-18 Faro Technologies, Inc. Three-dimensional scanner with spectroscopic energy detector
US9529083B2 (en) 2009-11-20 2016-12-27 Faro Technologies, Inc. Three-dimensional scanner with enhanced spectroscopic energy detector
US9210288B2 (en) 2009-11-20 2015-12-08 Faro Technologies, Inc. Three-dimensional scanner with dichroic beam splitters to capture a variety of signals
DE102009057101A1 (en) 2009-11-20 2011-05-26 Faro Technologies, Inc., Lake Mary Device for optically scanning and measuring an environment
DE102010008852B4 (en) * 2010-01-04 2011-09-01 Init Innovative Informatikanwendungen In Transport-, Verkehrs- Und Leitsystemen Gmbh Method, evaluation computer and on-board computer for influencing a traffic signal system
US8630314B2 (en) 2010-01-11 2014-01-14 Faro Technologies, Inc. Method and apparatus for synchronizing measurements taken by multiple metrology devices
US8677643B2 (en) 2010-01-20 2014-03-25 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US8683709B2 (en) 2010-01-20 2014-04-01 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine with multi-bus arm technology
US8875409B2 (en) 2010-01-20 2014-11-04 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US8898919B2 (en) 2010-01-20 2014-12-02 Faro Technologies, Inc. Coordinate measurement machine with distance meter used to establish frame of reference
US9163922B2 (en) 2010-01-20 2015-10-20 Faro Technologies, Inc. Coordinate measurement machine with distance meter and camera to determine dimensions within camera images
JP5306545B2 (en) 2010-01-20 2013-10-02 ファロ テクノロジーズ インコーポレーテッド Coordinate measuring machine with illuminated probe end and method of operation
US8615893B2 (en) 2010-01-20 2013-12-31 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine having integrated software controls
US8832954B2 (en) 2010-01-20 2014-09-16 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US9607239B2 (en) 2010-01-20 2017-03-28 Faro Technologies, Inc. Articulated arm coordinate measurement machine having a 2D camera and method of obtaining 3D representations
US9628775B2 (en) 2010-01-20 2017-04-18 Faro Technologies, Inc. Articulated arm coordinate measurement machine having a 2D camera and method of obtaining 3D representations
US9879976B2 (en) 2010-01-20 2018-01-30 Faro Technologies, Inc. Articulated arm coordinate measurement machine that uses a 2D camera to determine 3D coordinates of smoothly continuous edge features
US20110178754A1 (en) 2010-01-20 2011-07-21 Faro Technologies, Inc. Portable Articulated Arm Coordinate Measuring Machine Having Integrated Software Controls
DE102010020925B4 (en) 2010-05-10 2014-02-27 Faro Technologies, Inc. Method for optically scanning and measuring an environment
US8489775B2 (en) * 2010-07-21 2013-07-16 Dell Products L.P. System-wide time synchronization across power management interfaces and sensor data
EP2596601B1 (en) * 2010-07-23 2016-03-30 Telefonaktiebolaget LM Ericsson (publ) Logging control plane events
CN102347831B (en) * 2010-07-26 2014-12-03 华为技术有限公司 Time message processing method, device and system
GB2501390B (en) 2010-09-08 2014-08-06 Faro Tech Inc A laser scanner or laser tracker having a projector
US9168654B2 (en) 2010-11-16 2015-10-27 Faro Technologies, Inc. Coordinate measuring machines with dual layer arm
CN101997671B (en) * 2010-11-25 2014-12-10 中兴通讯股份有限公司 Clock synchronization method and system of master/salve clock equipment
CN102064933A (en) * 2011-01-24 2011-05-18 华为技术有限公司 Clock synchronization method, device and equipment in packet network
US10277452B2 (en) * 2011-07-08 2019-04-30 Gree, Inc. Message processing system and message processing method
FR2983323B1 (en) * 2011-11-28 2014-06-06 Schneider Electric Ind Sas HORODATE EVENT BUFFER MANAGEMENT SYSTEM
CN102412956B (en) * 2011-11-29 2014-12-10 中兴通讯股份有限公司 Protocol unicast manner synchronization method, devices and system
DE102012100609A1 (en) 2012-01-25 2013-07-25 Faro Technologies, Inc. Device for optically scanning and measuring an environment
EP2845354A4 (en) * 2012-05-03 2015-12-23 Ericsson Telefon Ab L M Intelligent supervision for configuration of precision time protocol (ptp) entities
US9100330B1 (en) * 2012-07-13 2015-08-04 Emc Corporation Introduction of read delay or write delay in servers of a geographically distributed data processing system so that clients read up-to-date data
US8997362B2 (en) 2012-07-17 2015-04-07 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine with optical communications bus
US10067231B2 (en) 2012-10-05 2018-09-04 Faro Technologies, Inc. Registration calculation of three-dimensional scanner data performed between scans based on measurements by two-dimensional scanner
US9513107B2 (en) 2012-10-05 2016-12-06 Faro Technologies, Inc. Registration calculation between three-dimensional (3D) scans based on two-dimensional (2D) scan data from a 3D scanner
DE102012109481A1 (en) 2012-10-05 2014-04-10 Faro Technologies, Inc. Device for optically scanning and measuring an environment
US9342094B2 (en) * 2013-02-26 2016-05-17 Raytheon Company Multi-processor system and method for internal time synchronization and event scheduling of multiple processors
US9541947B2 (en) * 2013-08-07 2017-01-10 General Electric Company Time protocol based timing system for time-of-flight instruments
US9488964B2 (en) * 2014-06-27 2016-11-08 Apple Inc. Methods for maintaining accurate timing information on portable electronic devices
DE102015122844A1 (en) 2015-12-27 2017-06-29 Faro Technologies, Inc. 3D measuring device with battery pack
DE102016219663B4 (en) 2016-10-11 2018-08-02 Conti Temic Microelectronic Gmbh Method for monitoring a network for anomalies
JP7251402B2 (en) * 2019-08-20 2023-04-04 オムロン株式会社 Control systems, controllers and programs

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594280A (en) 1987-10-08 1997-01-14 Anelva Corporation Method of forming a thin film and apparatus of forming a metal thin film utilizing temperature controlling means
US5214236A (en) 1988-09-12 1993-05-25 Plessey South Africa Limited Timing of a multi-shot blast
US5293374A (en) 1989-03-29 1994-03-08 Hewlett-Packard Company Measurement system control using real-time clocks and data buffers
US5887029A (en) 1994-05-31 1999-03-23 Allen-Bradley Company, Llc Method of scheduling spatially separated control events with an industrial controller
US5566180A (en) 1994-12-21 1996-10-15 Hewlett-Packard Company Method for recognizing events and synchronizing clocks
US5887143A (en) 1995-10-26 1999-03-23 Hitachi, Ltd. Apparatus and method for synchronizing execution of programs in a distributed real-time computing system
US6826590B1 (en) 1996-08-23 2004-11-30 Fieldbus Foundation Block-oriented control system on high speed ethernet
US6108782A (en) * 1996-12-13 2000-08-22 3Com Corporation Distributed remote monitoring (dRMON) for networks
US5987022A (en) 1996-12-27 1999-11-16 Motorola, Inc. Method for transmitting multiple-protocol packetized data
US5878372A (en) * 1997-03-04 1999-03-02 Western Atlas International, Inc. Method for simultaneous inversion processing of well log data using a plurality of earth models
US6771594B1 (en) 1997-03-31 2004-08-03 Intel Corporation Reliable/non-reliable transmission of voice using TCP/UDP based on network quality of service
US6161123A (en) 1997-05-06 2000-12-12 Intermec Ip Corporation Providing reliable communication over an unreliable transport layer in a hand-held device using a persistent session
US6006254A (en) 1997-08-29 1999-12-21 Mitsubishi Electric Information Technology Center America, Inc. System for the reliable, fast, low-latency communication of object state updates over a computer network by combining lossy and lossless communications
US6173207B1 (en) 1997-09-22 2001-01-09 Agilent Technologies, Inc. Real-time control system with non-deterministic communication
US7162510B2 (en) 1998-03-16 2007-01-09 Schneider Automation Inc. Communication system for a control system over Ethernet and IP networks
US6865686B1 (en) 1998-03-27 2005-03-08 Siemens Aktiengesellschaft Method for synchronizing a local time base on a central time base and device for implementing said method with preferred applications
US6615091B1 (en) * 1998-06-26 2003-09-02 Eveready Battery Company, Inc. Control system and method therefor
GB2387752B (en) 1998-07-22 2004-02-04 Agilent Technologies Inc Data acquisition and control system
US6611519B1 (en) 1998-08-19 2003-08-26 Swxtch The Rules, Llc Layer one switching in a packet, cell, or frame-based network
US6278710B1 (en) 1998-09-10 2001-08-21 Agilent Technologies, Inc. Enhancements to time synchronization in distributed systems
US6327274B1 (en) 1998-09-15 2001-12-04 Nokia Telecommunications, Inc. Method for estimating relative skew between clocks in packet networks
FI107772B (en) 1998-12-16 2001-09-28 Nokia Networks Oy Procedure and system for limiting service quality in data transmission
US6724729B1 (en) * 1998-12-30 2004-04-20 Finisar Corporation System analyzer and method for synchronizing a distributed system
EP1141804B1 (en) * 1999-01-07 2003-11-26 Remedan APS A control device for a computer, use of a control device, a computer comprising a control device, and a method of connecting and disconnecting units in a computer
US6662217B1 (en) 1999-01-19 2003-12-09 Microsoft Corporation Distributed and automated test administration system for administering automated tests on server computers over the internet
US20020026321A1 (en) * 1999-02-26 2002-02-28 Sadeg M. Faris Internet-based system and method for fairly and securely enabling timed-constrained competition using globally time-sychronized client subsystems and information servers having microsecond client-event resolution
US6611922B2 (en) * 1999-08-09 2003-08-26 Power Measurement, Ltd. Power system time synchronization device and method for sequence of event recording
US6236277B1 (en) 1999-09-30 2001-05-22 Rockwell Technologies, Llc Low deviation synchronization clock
US6581110B1 (en) * 1999-12-07 2003-06-17 International Business Machines Corporation Method and system for reading and propagating authenticated time throughout a worldwide enterprise system
US6952727B1 (en) 1999-12-07 2005-10-04 Schneider Automation Inc. Method for adapting a computer-to-computer communication protocol for use in an industrial control system
US6512990B1 (en) 2000-01-05 2003-01-28 Agilent Technologies, Inc. Distributed trigger node
US6985499B2 (en) 2000-04-20 2006-01-10 Symmetricom, Inc. Precise network time transfer
US6745232B1 (en) 2000-08-23 2004-06-01 Rockwell Automation Technologies, Inc. Strobed synchronization providing diagnostics in a distributed system
US7080160B2 (en) * 2000-04-27 2006-07-18 Qosmetrics, Inc. Method for creating accurate time-stamped frames sent between computers via a network
JP3579826B2 (en) 2000-08-09 2004-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション Data processing system, data logging system, method for measuring system performance, and recording medium
US7224984B2 (en) * 2000-08-15 2007-05-29 University Of Maryland, College Park Method, system and computer program product for positioning and synchronizing wireless communications nodes
JP4314733B2 (en) 2000-08-22 2009-08-19 沖電気工業株式会社 COMMUNICATION CONNECTION DEVICE AND DATA OUTPUT CONTROL METHOD
JP4168582B2 (en) 2000-08-31 2008-10-22 沖電気工業株式会社 COMMUNICATION CONNECTION DEVICE AND DATA OUTPUT CONTROL METHOD
US7028204B2 (en) 2000-09-06 2006-04-11 Schneider Automation Inc. Method and apparatus for ethernet prioritized device clock synchronization
US6839754B2 (en) 2000-09-15 2005-01-04 Wm. Marsh Rice University Network tomography using closely-spaced unicast packets
US7054399B1 (en) 2000-09-29 2006-05-30 Rockwell Automation Technologies, Inc. Low overhead synchronized activation of functional modules
US7035246B2 (en) * 2001-03-13 2006-04-25 Pulse-Link, Inc. Maintaining a global time reference among a group of networked devices
DE10113260B4 (en) * 2001-03-16 2005-10-20 Siemens Ag Synchronous, clocked communication system with relative clock and method for constructing such a system
DE10113261C2 (en) 2001-03-16 2003-07-10 Siemens Ag Synchronous, clocked communication system with decentralized input / output modules and method for integrating decentralized input / output modules in such a system
US6804793B2 (en) * 2001-03-16 2004-10-12 Hewlett-Packard Development Company, L.P. Manipulating an integrated circuit clock in response to early detection of an operation known to trigger an internal disturbance
US6983391B2 (en) 2001-05-09 2006-01-03 Agilent Technologies, Inc. Modular system with synchronized timing
US7219173B2 (en) * 2001-07-31 2007-05-15 Micronas Usa, Inc. System for video processing control and scheduling wherein commands are unaffected by signal interrupts and schedule commands are transmitted at precise time
US6915353B2 (en) * 2001-08-01 2005-07-05 Hewlett-Packard Development Company, L.P. Method and apparatus for avoiding unnecessary computer peripheral calibration activities
US6894953B2 (en) * 2001-09-12 2005-05-17 Lockheed Martin Corporation Circuit for measuring time of arrival of an asynchronous event
ES2236585T3 (en) * 2001-09-26 2005-07-16 Siemens Aktiengesellschaft PROCEDURE FOR THE SYNCHRONIZATION OF NODES OF A COMMUNICATION SYSTEM.
US6996624B1 (en) 2001-09-27 2006-02-07 Apple Computer, Inc. Reliable real-time transport protocol
US7054902B2 (en) 2001-10-23 2006-05-30 Packeteer, Inc. Multicast delivery systems and methods
KR100431003B1 (en) 2001-10-31 2004-05-12 삼성전자주식회사 Data transmitting/receiving system and method thereof
US6498968B1 (en) 2001-11-27 2002-12-24 Lockheed Martin Corporation Optimistic distributed simulation for a UAV flight control system
US7069325B1 (en) * 2001-12-21 2006-06-27 Cisco Technology, Inc. Method and apparatus for handling requests in a network
US7036013B2 (en) * 2002-01-31 2006-04-25 Brocade Communications Systems, Inc. Secure distributed time service in the fabric environment
US7133368B2 (en) 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
US6741952B2 (en) 2002-02-15 2004-05-25 Agilent Technologies, Inc. Instrument timing using synchronized clocks
GB2385499A (en) 2002-02-18 2003-08-20 Venation Ltd Network transport protocol
US7111195B2 (en) * 2002-02-25 2006-09-19 General Electric Company Method and system for external clock to obtain multiple synchronized redundant computers
US7114091B2 (en) 2002-03-18 2006-09-26 National Instruments Corporation Synchronization of distributed systems
GB2386982A (en) 2002-03-28 2003-10-01 Sony Uk Ltd Data network with outputs delays to give constant time between input and output
US7254191B2 (en) 2002-04-22 2007-08-07 Cognio, Inc. System and method for real-time spectrum analysis in a radio device
KR100431700B1 (en) * 2002-08-16 2004-05-17 엘지전자 주식회사 System And Method For Synchronizing Time Between SGSN And GGSN
US7313098B2 (en) 2002-09-30 2007-12-25 Avaya Technology Corp. Communication system endpoint device with integrated call synthesis capability
WO2004034883A2 (en) * 2002-10-15 2004-04-29 Medtronic Inc. Synchronization and calibration of clocks for a medical device and calibrated clock
US7106823B2 (en) * 2002-11-15 2006-09-12 Broadcom Corporation System and method for accelerated clock synchronization of remotely distributed electronic devices
US6983393B2 (en) * 2002-12-11 2006-01-03 National Instruments Corporation Deterministically handling asynchronous events in a time triggered system
US7058838B2 (en) 2002-12-17 2006-06-06 Hewlett-Packard Development Company, L.P. System and method for synchronizing a plurality of processors in a multiprocessor computer platform employing a global clock counter
US7379480B2 (en) * 2003-01-16 2008-05-27 Rockwell Automation Technologies, Inc. Fast frequency adjustment method for synchronizing network clocks
US7478151B1 (en) * 2003-01-23 2009-01-13 Gomez, Inc. System and method for monitoring global network performance
US7954109B1 (en) * 2003-01-24 2011-05-31 Jds Uniphase Corporation Systems and methods for time based sorting and display of captured data events in a multi-protocol communications system
EP1595349B1 (en) * 2003-02-20 2008-10-29 Zarlink Semiconductor Inc. Alignment of clocks over multiple packet networks
DE10309164A1 (en) * 2003-02-28 2004-09-09 Siemens Ag Scheduling of real-time communication in switched networks
DE10333934A1 (en) 2003-07-25 2005-02-17 Robert Bosch Gmbh Synchronization of data processing units
US7340630B2 (en) * 2003-08-08 2008-03-04 Hewlett-Packard Development Company, L.P. Multiprocessor system with interactive synchronization of local clocks
US7542485B2 (en) * 2003-11-19 2009-06-02 Avaya, Inc. Time and data synchronization between network devices
US20050144309A1 (en) * 2003-12-16 2005-06-30 Intel Corporation, A Delaware Corporation Systems and methods for controlling congestion using a time-stamp
US7203858B2 (en) * 2003-12-19 2007-04-10 Intel Corporation Program clock synchronization in multimedia networks
US7457868B1 (en) * 2003-12-30 2008-11-25 Emc Corporation Methods and apparatus for measuring network performance
WO2005077063A2 (en) 2004-02-09 2005-08-25 Semtech Corporation Method and apparatus for aligning time references when separated by an unreliable data packet network
US7315791B2 (en) 2004-02-18 2008-01-01 National Instruments Corporation Application programming interface for synchronizing multiple instrumentation devices
US7701884B2 (en) 2004-04-19 2010-04-20 Insors Integrated Communications Network communications bandwidth control
US7478349B2 (en) 2004-08-13 2009-01-13 National Instruments Corporation Automatically synchronizing timed circuits on I/O Devices
US7643595B2 (en) * 2004-09-13 2010-01-05 Nortel Networks Limited Method and apparatus for synchronizing clock timing between network elements

Also Published As

Publication number Publication date
GB0518522D0 (en) 2005-10-19
US8930579B2 (en) 2015-01-06
US20060059270A1 (en) 2006-03-16
GB2418113A (en) 2006-03-15
JP2006081192A (en) 2006-03-23

Similar Documents

Publication Publication Date Title
DE102005029440A1 (en) A system and method for synchronizing operations of a plurality of devices via communications over a communications network
DE102005029439A1 (en) Add-on module for synchronizing operations of a plurality of devices
DE102005029422A1 (en) A system and method for coordinating the actions of a plurality of devices via scheduling the actions based on synchronized local clocks
DE102018132290B4 (en) In-vehicle system, gateway, relay, non-transitory computer-readable medium storing a program, information processing method, information processing system and vehicle
EP1368935B1 (en) Synchronous, clocked communication system with local input/output components and method for integrating local input/output components into such a system
DE60311266T2 (en) CLOCK SYNCHRONIZATION METHOD FOR ERROR-TOLERANT ETHERNET NETWORKS
DE69533579T2 (en) Synchronization in a data communication network
DE112019002984T5 (en) IMPLEMENTATION OF PHY-LEVEL HARDWARE TIME STAMPING AND TIME SYNCHRONIZATION IN COST-OPTIMIZED ENVIRONMENTS
DE102007037092A1 (en) Time synchronization for network aware devices
DE102006012466A1 (en) Systems and methods for synchronizing a time across networks
DE102008000562A1 (en) Communication system comprising a data bus and a plurality of subscriber nodes connected thereto and methods for operating such a communication system
DE102007045083A1 (en) Enhance IEEE 1588 synchronization using an out-of-band communication path
EP3814856B1 (en) Real time automation device with a real-time data bus
DE102007044470A1 (en) Mechanism to make a delay of network elements transparent to IEEE 1588 protocols
DE60316758T2 (en) System for the synchronization of commands, as well as a method, a control device and a target device for the same system
DE102017209328A1 (en) Device for the synchronization of clocks in control units and control unit
EP3170285B1 (en) Method for determining a propagation time of a telegram in a communication network, and corresponding network components
DE10361178B4 (en) Data age monitoring device for security networks
DE102019220495A1 (en) Procedure for checking the validity of sensor data in an on-board Ethernet network
DE10131307A1 (en) Synchronization of data transfer on a bus system whereby signal transfer times and signal time delays are calculated by data sources themselves, not the controller, so that such information does not have to be sent over the bus
EP1315337B1 (en) BUS-Interface
EP1657619B1 (en) Method for time synchronisation in a cyclically working communication system
DE102010003248B4 (en) Method and device for processing data in a network of a vehicle
EP4029168B1 (en) Method of operationing a device, device and system
DE60038589T2 (en) Method and device for controlling the synchronization between two serial communication buses of a network

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US

8131 Rejection