DE102005029439A1 - Zusatz-Modul zum Synchronisieren von Operationen einer Mehrzahl von Vorrichtungen - Google Patents

Zusatz-Modul zum Synchronisieren von Operationen einer Mehrzahl von Vorrichtungen Download PDF

Info

Publication number
DE102005029439A1
DE102005029439A1 DE102005029439A DE102005029439A DE102005029439A1 DE 102005029439 A1 DE102005029439 A1 DE 102005029439A1 DE 102005029439 A DE102005029439 A DE 102005029439A DE 102005029439 A DE102005029439 A DE 102005029439A DE 102005029439 A1 DE102005029439 A1 DE 102005029439A1
Authority
DE
Germany
Prior art keywords
synchronization module
event
action
instrument
message
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
DE102005029439A
Other languages
English (en)
Inventor
John B. Santo Rosa Stratton
Leon K. Mukiteo Werenka
Daniel L. Santa Rosa Pleasant
Gopalakrishnan Santa Rosa Kailasam
Robert T. Everett Cutler
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 DE102005029439A1 publication Critical patent/DE102005029439A1/de
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/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0697Synchronisation in a packet node
    • 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]

Abstract

Ein System und ein Verfahren werden geschaffen, die über ein Zusatz-Modul eine Synchronisations-Funktionalität zu einem Instrument hinzufügen, das ansonsten eine solche Synchronisations-Funktionalität nicht unterstützt. Verschiedene Synchronisationstechniken können durch das Synchronisationsmodul unterstützt werden. Zum Beispiel unterstützt bei bestimmten Ausführungsbeispielen das Synchronisationsmodul meldungsbasierte Synchronisationstechniken und/oder zeitbasierte Synchronisationstechniken. Dementsprechend, bei bestimmten Ausführungsbeispielen, unterstützt das Zusatz-Modul eine Synchronisation mit einer anderen Vorrichtung (z. B. einem anderen Instrument oder einem anderen Zusatz-Modul, das mit einem Instrument gekoppelt ist) über synchronisierte lokale Takte (z. B. IEEE 1588) und die Meldungsübertragung über ein Kommunikationsnetzwerk. Bei bestimmten Ausführungsbeispielen unterstützt das Zusatz-Modul zusätzlich oder alternativ die Verwendung von "Zeitbomben", um geplante Aktionen an dem Instrument auszulösen, mit dem das Synchronisationsmodul schnittstellenmäßig verbunden ist.

Description

  • Diese Anmeldung bezieht sich auf gleichzeitig eingereichte und gemeinschaftlich zugewiesene deutsche Patentanmeldungen Anwaltsaktenzeichen AG050620PDE 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. AG050617PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM SYNCHRONISIEREN VON OPERATIONEN EINER MEHRZAHL VON VORRICHTUNGEN ÜBER MELDUNGEN ÜBER EIN KOMMUNIKATIONSNETZWERK", und Anwaltsaktenzeichen Nr. AG050620PDE mit dem Titel „SYSTEM UND VERFAHREN ZUR STABILEN KOMMUNIKATION ÜBER EIN UNZUVERLÄSSIGES PROTOKOLL", deren Offenbarungen hierin durch Bezugnahme aufgenommen sind.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein System, ein Synchronisationsmodul und ein Verfahren mit verbesserten Charakteristika zu schaffen.
  • Diese Aufgabe wird durch ein System gemäß Anspruch 1, durch ein Synchronisationsmodul gemäß Anspruch 13 und 21 und durch ein Verfahren gemäß Anspruch 28 und 37 gelöst.
  • Die vorliegende Erfindung richtet sich auf ein System und ein Verfahren, die über ein Zusatz-Modul eine Synchronisationsfunktionalität zu einem Instrument hinzufügen, das ansonsten eine solche Synchronisationsfunktionalität nicht unterstützt. Es sind hierin verschiedene Ausführungsbeispiele offenbart, die ein Zusatz-Modul schaffen, das schnittstellenmäßig mit einer bereits existierenden Ursprungsvorrichtung verbunden werden kann, um eine Synchronisationsfunktionalität zu der Ursprungsvorrichtung hinzuzufügen. Bei bestimmten Ausführungsbeispielen unterstützt das Zusatz-Modul eine Synchronisation mit einer anderen Vorrichtung (z. B. einem anderen Instrument oder einem anderen Zusatz-Modul, das mit einem Instrument gekoppelt ist) über synchronisierte lokale Takte (z. B. IEEE 1588) und eine Nachrichtenübermittlung über ein Kommunikationsnetzwerk. Viele Ursprungstestinstrumente sind nicht mit einem lokalen Takt ausgerüstet und sogar wenn ein lokaler Takt umfasst ist, unterstützen solche Ursprungstestinstrumente häufig eine Synchronisation (z. B. über IEEE 1588) des lokalen Takts mit dem lokalen Takt einer anderen Vorrichtung nicht. Ferner umfassen viele Ursprungstestinstrumente keine Schnittstelle mit einem Kommunikationsnetzwerk. In jedem Fall unterstützen Ursprungstestinstrumente keine der hierin beschriebenen Techniken, die durch das Zusatz-Modul zum Synchronisieren ihrer Operation mit anderen Instrumenten bereitgestellt werden.
  • Gemäß zumindest einem Ausführungsbeispiel weist ein Verfahren ein schnittstellenmäßiges Verbinden eines Synchronisationsmoduls mit einem Instrument auf, wobei das Synchronisationsmodul eine Funktionalität schafft zum Synchronisieren einer Operation des Instruments mit zumindest einem anderen Instrument. Das Verfahren weist ferner das Auslösen, durch das Synchronisationsmodul, von zumindest einer Aktion an dem Instrument auf, um das Verhalten der zumindest einen Aktion durch das Instrument mit dem Verhalten einer anderen Aktion durch das zumindest eine andere Instrument zu synchronisieren.
  • Verschiedene Synchronisationstechniken können durch das Synchronisationsmodul unterstützt werden. Zum Beispiel unterstützt das Synchronisationsmodul bei bestimmten Ausführungsbeispielen meldungsbasierte Synchronisationstechniken und/oder zeit-basierte Synchronisationstechniken. Gemäß einem Ausführungsbeispiel weist ein Verfahren das schnittstellenmäßige Verbinden eines Synchronisationsmoduls mit einem Instrument und das Programmieren des Synchronisationsmoduls auf, um eine Aktion für das Instrument zu definieren, die ansprechend auf ein spezifiziertes Ereignis unternommen werden soll. Das Verfahren weist ferner das Empfangen von Meldungen, durch das Synchronisationsmodul, über ein Kommunikationsnetzwerk von zumindest einer anderen Vorrichtung auf, mit der das Synchronisationsmodul temporär synchronisiert ist, wobei die Meldungen jeweils ein Ereig nis identifizieren und einen Zeitstempel umfassen. Das Synchronisationsmodul bestimmt, ob ein Ereignis, das durch eine empfangene Meldung identifiziert wird, das spezifizierte Ereignis ist (für das es programmiert wurde, die definierte Aktion zu unternehmen), und wenn das Ereignis, das durch eine empfangene Meldung identifiziert wird, das spezifizierte Ereignis ist, dann verursacht das Synchronisationsmodul, dass das Instrument die definierte Aktion basierend auf dem Zeitstempel der empfangenen Meldung unternimmt.
  • Gemäß einem anderen Ausführungsbeispiel weist ein Verfahren das Empfangen, durch ein Synchronisationsmodul, das mit einer ersten Mehrzahl von Vorrichtungen schnittstellenmäßig verbunden ist, einer Meldung auf, die die Identifikation einer Aktion und einer Detonationszeit umfasst, wobei das Synchronisationsmodul einen lokalen Takt aufweist, der mit einem lokalen Takt einer zweiten der Mehrzahl von Vorrichtungen synchronisiert ist, und wobei das Synchronisationsmodul kommunikativ mit der zweiten der Mehrzahl von Vorrichtungen über ein Kommunikationsnetzwerk kommunikativ gekoppelt ist. Das Verfahren weist ferner das Überwachen auf, durch das Synchronisationsmodul, seines lokalen Taktes im Hinblick auf das Auftreten der Detonationszeit, und nach dem Auftreten der Detonationszeit verursacht das Synchronisationsmodul dann, dass die erste Vorrichtung, mit der es schnittstellenmäßig verbunden ist, die Aktion ausführt.
  • 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.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Beispielsystem, das ein Ausführungsbeispiel eines Synchronisationsmoduls zum Synchronisieren von Operationen einer Mehrzahl von vernetzten Vorrichtungen umfasst, wobei das Synchronisationsmodul eine meldungsbasierte Synchronisationstechnik unterstützt;
  • 2 ein Beispielsystem, das ein anderes Ausführungsbeispiel eines Synchronisationsmoduls zum Synchronisieren von Operationen einer Mehrzahl von vernetzten Vorrichtungen umfasst, wobei das Synchronisationsmodul eine zeit-basierte Synchronisationstechnik unterstützt;
  • 3 ein Beispielmesssystem, das ein Ausführungsbeispiel von Synchronisationsmodulen umfasst, die sowohl meldungs-basierte Synchronisationstechniken als auch zeit-basierte Synchronisationstechniken unterstützen;
  • 4A und 4B ein spezifisches Beispiel zum Verwenden der Modu le aus 3 zum Koordinieren der Operationen ihrer entsprechenden Instrumente;
  • 5 ein Operationsflussdiagramm zum Synchronisieren der Operation einer Mehrzahl von vernetzten Vorrichtungen gemäß einem Ausführungsbeispiel;
  • 6 ein Operationsflussdiagramm zum Synchronisieren der Operation einer Mehrzahl von vernetzten Vorrichtungen gemäß einem anderen Ausführungsbeispiel; und
  • 7 ein Operationsflussdiagramm zum Synchronisieren der Operation von Vorrichtungen gemäß bestimmten Ausführungsbeispielen.
  • Die gleichzeitig eingereichte und gemeinsam zugewiesene deutsche Patentanmeldung Nr. AG050617PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM SYNCHRONISIEREN VON OPERATIONEN EINER MEHRZAHL VON VORRICHTUNGEN ÜBER MELDUNGEN ÜBER EIN KOMMUNIKATIONSNETZWERK", offenbart verschiedene Techniken zum Synchronisieren von Operationen von vernetzten Vorrichtungen durch Verwenden von Meldungen, die zwischen den Vorrichtungen kommuniziert werden. Zum Beispiel ist eine Mehrzahl dieser Vorrichtungen kommunikativ über ein Kommunikationsnetzwerk gekoppelt, und die Vorrichtungen weisen lokale Takte auf, die zu einem hohen Präzisionsgrad synchronisiert sind, unter Verwendung von IEEE 1588, NTP oder einer anderen Technik zum Synchronisieren ihrer lokalen Takte. Ereignismeldungen können über das Netzwerk 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 der Empfän ger diese Aktion basierend auf dem Zeitstempel durchführen, der in der Ereignismeldung umfasst ist. Bei bestimmten Ausführungsbeispielen sind die Ereignisse, die eine Aktion und/oder die spezifischen Antwortaktionen auslösen sollen, die für ein bestimmtes Ereignis unternommen werden sollen, dynamisch für jede Vorrichtung programmierbar. Die Ereignismeldungen können verwendet werden, um die Operationen verschiedener 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.
  • Die gleichzeitig eingereichte und gemeinsam zugewiesene deutsche Patentanmeldung Anwaltsaktenzeichen AG050620PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM KOORDINIEREN DER AKTIONEN EINER MEHRZAHL VON VORRICHTUNGEN ÜBER PLANEN DER AKTIONEN BASIEREND AUF SYNCHRONISIERTEN LOKALEN TAKTEN" offenbart verschiedene Techniken zum Synchronisieren von Aktionen von vernetzten Vorrichtungen über ein Planen des Auftritts der Aktionen basierend auf synchronisierten lokalen Takten der Vorrichtungen. Somit ist eine Mehrzahl der Vorrichtungen kommunikativ über ein Kommunikationsnetzwerk gekoppelt und die Vorrichtungen haben ihre lokalen Takte zu einem hohen Grad an Präzision synchronisiert, unter Verwendung von IEEE 1588, NTP oder einer anderen Technik zum Synchronisieren ihrer lokalen Takte. „Zeitbomben" können an den Vorrichtungen geplant werden, um den Auftritt von Aktionen zwischen den Vorrichtungen gemäß den Detonationszeiten zu koordinieren, die für die entsprechenden Zeitbomben eingestellt sind. Diesbezüglich detonieren die „Zeitbomben" zu einer programmierten Zeit, die eine absolute Zeit sein kann (z. B. 1:00:00) oder eine relative Zeit sein kann (z. B. 2 Sekunden nach dem Auftritt eines Ereignisses), und die Detonation einer Zeitbombe löst eine bestimmte Aktion an der entsprechenden Vorrichtung aus. Bei bestimmten Ausführungsbeispielen ist nicht nur die Detonationszeit sondern auch die entsprechende Aktion, die nach der Detonation ausgelöst werden soll, für jede Vorrichtung programmierbar. Diese Zeitbomben, die an den verschiedenen Vorrichtungen implementiert sind, können verwendet werden, um die Operationen der verschiedenen Vorrichtungen mit einem hohen Grad an zeitlicher Präzision zu koordinieren. Ferner, bei bestimmten Ausführungsbeispielen, können die Zeitbomben in Kombination mit Ereignismeldungen verwendet werden, wie z. B. jenen, die in der deutschen Patentanmeldung Nr. AG050617PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM SYNCHRONISIEREN VON OPERATIONEN EINER MEHRZAHL VON VORRICHTUNGEN ÜBER MELDUNGEN ÜBER EIN KOMMUNIKATIONSNETZWERK" zum Koordinieren der entsprechenden Operationen der vernetzten Vorrichtungen beschrieben sind.
  • Verschiedene Ausführungsbeispiele sind hierin offenbart, die ein Zusatz-Modul schaffen, das schnittstellenmäßig mit einer bereits existierenden Ursprungs- (oder „Hersteller-") Vorrichtung verbunden werden kann, um eine Synchronisationsfunktionalität zu der Ursprungsvorrichtung hinzuzufügen. Bei bestimmten Ausführungsbeispielen unterstützt das Zusatz-Modul eine Synchronisation mit einer anderen Vorrichtung (z. B. einem anderen Instrument oder einem anderen Zusatz-Modul, das mit einem Instrument gekoppelt ist) über synchronisierte lokale Takte (z. B. IEEE 1588) und eine Nachrichtenübermittlung über ein Kommunikationsnetzwerk. Viele Ursprungstestinstrumente sind nicht mit einem lokalen Takt ausgerüstet und sogar wenn ein lokaler Takt umfasst ist, unterstützen solche Ursprungstestinstrumente häufig eine Synchronisation (z. B. über IEEE 1588) des lokalen Takts mit dem lokalen Takt einer anderen Vorrichtung nicht. Ferner umfassen viele Ursprungstestinstrumente keine Schnittstelle mit einem Kommunikationsnetzwerk. In jedem Fall unterstützen Ursprungstestinstrumente die Techniken nicht, die hierin beschrieben wurden, die durch das Zusatz-Modul zum Synchronisieren ihrer Operation mit anderen Instrumenten bereitgestellt werden.
  • Benutzer einer Testausrüstung haben üblicherweise eine große Ausstattung von Ursprungsausrüstung. Die Testausrüs tung ist allgemein teuer und schwierig zu ersetzen. Wenn diese Ausrüstung in Systemen nicht funktionieren kann, die eine neuere Ausrüstung umfassen, muss entweder die alte Ausrüstung beseitigt werden oder eine neuere Ausrüstung kann nicht mit der älteren Ausrüstung verwendet werden. Ausführungsbeispiele des hierin beschriebenen Zusatz-Moduls ermöglichen, dass eine Ursprungstestausrüstung mit solchen Modulen aktualisiert wird, wodurch der Ursprungstestausrüstung ermöglicht wird, ihre Operationen mit einer neueren Ausrüstung zu synchronisieren, die eine Unterstützung für die hierin beschriebenen Synchronisationstechniken umfasst. Somit ermöglichen Ausführungsbeispiele des hierin beschriebenen Zusatz-Moduls, dass Ursprungsinstrumente aktualisiert werden, um die hierin beschriebenen Synchronisationsoperationen zu unterstützen, und nicht erfordern, dass die Ursprungsausrüstung durch eine neuere Ausrüstung ersetzt wird, um eine Unterstützung der Synchronisationsoperationen zu gewinnen.
  • Bei bestimmten Ausführungsbeispielen schafft das Zusatz-Modul die Funktionalität des Verwendens von Ereignismeldungen zum Synchronisieren von Operationen von vernetzten Vorrichtungen, wie in der deutschen Patentanmeldung Nr. AG050617PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM SYN-CHRONISIEREN VON OPERATIONEN EINER MEHRZAHL VON VORRICHTUN-GEN ÜBER MELDUNGEN ÜBER EIN KOMMUNIKATIONSNETZWERK" beschrieben ist und/oder das Verwenden von Zeitbomben zum Synchronisieren von Operationen der vernetzten Vorrichtungen, wie in der deutschen Patentanmeldung AG050620PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM KOORDINIEREN DER AKTIONEN EINER MEHRZAHL VON VORRICHTUNGEN ÜBER EIN PLANEN DER AKTIONEN BASIEREND AUF SYNCHRONISIERTEN LOKALEN TAKTEN", beschrieben ist. Somit, obwohl eine Ursprungsvorrichtung das Verwenden von Ereignismeldungen und/oder Zeitbomben zum Synchronisieren ihrer Operation mit anderen Vorrichtungen auf einem Kommunikationsnetzwerk nicht unterstützt, fügt das schnittstellenmäßige Verbinden des Zusatz-Moduls mit einer solchen Ursprungsvorrichtung diese Synchronisations fähigkeit effektiv zu der Ursprungsvorrichtung hinzu. Bei bestimmten Ausführungsbeispielen muss die Ursprungsvorrichtung nicht einmal eine Netzwerkschnittstelle oder einen lokalen Takt aufweisen, da das Zusatz-Modul diese Merkmale liefert, um die Ursprungsvorrichtung in eine vernetzte Vorrichtung umzuwandeln, deren Operationen mit Operationen anderer Vorrichtungen auf dem Netzwerk synchronisiert werden können. Wie hierin weiter beschrieben wird, ist bei bestimmten Ausführungsbeispielen das Zusatz-Modul programmierbar, um zu ermöglichen, dass die Synchronisation der entsprechenden Ursprungsvorrichtung, mit der das Zusatz-Modul schnittstellenmäßig verbunden ist, dynamisch geändert wird. Zum Beispiel die Ereignisse, für die eine Antwortaktion unternommen werden soll, die Antwortaktion(en), die für ein gegebenes Ereignis unternommen werden sollen, die geplante Detonationszeit einer Zeitbombe und die Aktion(en), die nach der Detonation einer Zeitbombe unternommen werden sollen, können jeweils auf dem Zusatz-Modul programmiert werden. Somit kann eine verbesserte Synchronisationssteuerung zu Ursprungsvorrichtungen hinzugefügt werden, anstelle diese Vorrichtungen durch neue zu ersetzen, um diese Synchronisationsfähigkeit zu erreichen.
  • 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.
  • 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.
  • 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 Synchronisa tion zwischen separaten vollständig abgeschlossenen Instrumenten, aufgrund der Tatsache, dass jedes synthetische Instrument (oder „Modul") einen kleineren Funktionalitätssatz enthält.
  • 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. Und die Techniken werden über ein Zusatz-Modul implementiert, das schnittstellenmäßig mit einem ursprünglichen synthetischen oder vollständig abgeschlossenen Instrument verbunden sein kann, um diese Synchronisation für solche Ursprungsvorrichtungen zu ermöglichen, die anderweitig die hierin bereitgestellten Synchronisationstechniken nicht unterstützen würden.
  • 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. Bei diesem Beispiel sind Quelle 12 und Empfänger 13 Ursprungsvorrichtungen, die die Synchronisationsoperationen nicht unterstützen, die hierin nachfolgend derart beschrieben werden, dass sie durch die Zusatz-Module bereitgestellt werden. Dementsprechend wird ein Zusatz-Modul (das hierin ebenfalls als ein „Synchronisationsmodul" bezeichnet wird) 16 mit der Quelle 12 schnittstellenmäßig verbunden. Auf ähnliche Weise wird das Synchronisationsmodul 17 schnittstellenmäßig mit dem Empfänger 13 verbunden. Bei diesem Beispiel sind die Synchronisationsmodule 16 und 17 kommunikativ mit der Quelle 12 und dem Empfänger 13 über Befehlsschnittstellen 108A bzw. 108B gekoppelt. Ferner sind eine oder mehrere Auslöser-Eingangs- und/oder Ausgangs-Leitungen zwischen ein Synchronisationsmodul und dessen zugeordnetes Instrument bei diesem Beispiel gekoppelt. Zum Beispiel sind eine oder mehrere Auslöserleitungen (z. B. Auslöser-Eingangs- und/oder -Ausgangs-Leitungen) 112 zwischen das Synchronisationsmodul 16 und die Quelle 12 gekoppelt. Auf ähnliche Weise sind eine oder mehrere Auslöserleitungen 113 zwischen das Synchronisationsmodul 17 und den Empfänger 13 gekoppelt.
  • Die Steuerung 11 und die Synchronisationsmodule 16 und 17 sind alle kommunikativ über ein Kommunikationsnetzwerk 18 gekoppelt, das ein lokales Netz (LAN; LAN = local area network), das Internet oder ein weites Netz (WAN; WAN = wide area network), ein öffentliches Telefonnetzwerk (PSTN; PSTN = public switched telephony network), ein drahtloses Netzwerk oder eine Kombination der vorangehenden und/oder ein anderes Netzwerk sein können, das bereits bekannt ist oder später entwickelt wird zum Kommunizieren von Informationen von zumindest einer Vorrichtung zu zumindest einer anderen Vorrichtung. Dementsprechend müssen bei diesem Beispiel die Quelle 12 und der Empfänger 13 keine Schnittstelle zu dem Kommunikationsnetzwerk 18 aufweisen, da die Synchronisationsmodule 16 und 17 eine solche Schnittstelle zu dem Kommunikationsnetzwerk 18 für diese Vorrichtungen bereitstellen. Bei alternativen Ausführungsbeispielen jedoch können die Quelle 12 und/oder der Empfänger 13 eine Schnittstelle zu dem Kommunikationsnetzwerk 18 aufweisen und das Synchronisationsmodul 16 und/oder 17 muss keine solche Schnittstelle bereitstellen, sondern kann statt dessen eine Schnittstelle mit ihrer entsprechenden Vorrichtung bereitstellen, um die Synchronisationsfähigkeiten zu liefern, die hierin weiter beschrieben werden.
  • 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 auf die Anwendung an diese exemplarischen Instrumente beschränkt sind. Die hierin beschriebenen Techniken können zum Synchronisieren der Operationen von Instrumenten, die ein Messsystem bilden, verwendet werden. 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 zu einem hohen Präzisionsgrad die Operationen verschiedener Instrumente zu synchronisieren, die zum Durchführen von Messungen verwendet werden, können die hierin beschriebenen Techniken auf ähnliche Weise in anderen Arten von Systemen verwendet werden, bei denen die Synchronisation von Operationen einer Mehrzahl von vernetzten Vorrichtungen erwünscht ist.
  • Die Steuerung 11, die ein Personalcomputer (PC) oder eine andere prozessor-basierte Vorrichtung sein kann, umfasst eine zentrale Verarbeitungseinheit (CPU) 105A. Auf ähnliche Weise umfasst die Quelle 12 eine CPU 105B und der Empfänger 13 umfasst eine CPU 105C. Ferner umfasst die Quelle 12 eine Operationslogik 106, die die Logik ist zum Ausführen der Operationen, die durch diese Ursprungsvorrichtung bereitgestellt werden. Zum Beispiel kann die Operationslogik 106 eine Logik umfassen zum Ändern der Frequenz eines Signals (z. B. HF-Signal), das durch die Quelle 12 ausgegeben wird. Eine solche Operationslogik 106 kann Hardware-Auslöserleitung(en) zum Auslösen umfassen, dass die Quelle 12 eine bestimmte Aktion unternimmt, wie z. B. das Ändern der Frequenz ihres Ausgangssignals. Wie ferner hierin beschrieben wird, können externe Auslöserleitungen 112 verwendet werden, um auszulösen, dass die Quelle 12 eine Aktion unternimmt, wie z. B. das Ändern der Frequenz ihres Ausgangssignals. Auf ähnliche Weise umfasst der Empfänger 13 eine Operationslogik 107, die die Logik ist zum Ausführen der Operationen, die durch diese Ursprungsvorrichtung bereitgestellt werden. Zum Beispiel kann die Operationslogik 107 eine Logik zum Messen einer Charakteristik (z. B. Leistung etc.) des Signals umfassen, das durch die Quelle 12 ausgegeben wird. Eine solche Operationslogik 107 kann Hardware-Auslöserleitung(en) umfassen, um auszulösen, dass der Empfänger 13 eine bestimmte Aktion unternimmt, wie z. B. das Messen des Ausgangssignals der Quelle 12. Wie ferner hierin beschrieben wird, können externe Auslöserleitungen 113 verwendet werden, um auszulösen, dass der Empfänger 13 eine Aktion unternimmt, wie z. B. das Messen des Ausgangssignals der Quelle 12.
  • Bei diesem Beispiel umfassen die Steuerung 11, das Synchronisationsmodul 16 und das Synchronisationsmodul 17 jeweils einen lokalen Takt. Sowohl die Steuerung 11 als auch die Synchronisationsmodule 16 und 17 haben ihre Takte bei diesem Beispiel synchronisiert. Bei diesem spezifischen Beispiel wird IEEE 1588 verwendet, wobei die Steuerung 11 den IEEE-1588-Takt 103A implementiert, das Synchronisationsmodul 16 den IEEE-1588-Takt 103B implementiert und das Synchronisationsmodul 17 den IEEE-1588-Takt 103C implementiert. Natürlich können andere Techniken zum aktiven Synchronisieren der lokalen Takte, wie z. B. NTP, bei anderen Implementierungen verwendet werden. Die lokalen Takte werden derart bezeichnet, dass sie „aktiv synchronisiert" werden, da die Vorrichtungen miteinander in Wechselwirkung treten, um ihre jeweiligen lokalen Takte gemäß der bestimm ten verwendeten Synchronisationstechnik (z. B. IEEE 1588 oder NTP) synchronisiert zu halten. 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 und die Synchronisationsmodule 16 und 17 ihre lokalen Takte 103A, 103B und 103C zu einem hohen Präzisionsgrad synchronisiert, derart, dass sie alle einen gemeinsamen Zeitsinn aufweisen. Wie weiter hierin beschrieben wird, muss bei bestimmten Ausführungsbeispielen die Steuerung 11 ihren lokalen Takt nicht mit den Takten der Synchronisationsmodule 16 und 17 synchronisiert haben. Dementsprechend müssen bei diesem Beispiel die Quelle 12 und der Empfänger 13 keine lokalen Takte aufweisen, die synchronisiert sind. Bei alternativen Ausführungsbeispielen jedoch kann die Quelle 12 und/oder der Empfänger 13 lokale Takte implementieren, die synchronisiert sind (z. B. über IEEE 1588, NTP, GPS oder eine andere Synchronisationstechnik), und das Synchronisationsmodul 16 und/oder 17 muss keine solchen synchronisierten lokalen Takte liefern, sondern kann statt dessen eine Schnittstelle mit seiner entsprechenden Vorrichtung bilden, um die Synchronisationsfähigkeiten bereitzustellen, die weiter hierin beschrieben werden.
  • Die Steuerung 11 und die Synchronisationsmodule 16 und 17 weisen jeweils einen Ereignisverwalter auf, der auf denselben ausgeführt wird, bezeichnet mit 101A, 101B bzw. 101C. Im Allgemeinen ist der Ereignisverwalter eine Software und/oder Hardware, die entworfen ist, um zu ermöglichen, dass die verschiedenen Instrumente Informationen über zeitempfindliche Ereignisse kommunizieren. Die Operation des Ereignisverwalters gemäß diesem Ausführungsbeispiel wird nachfolgend weiter beschrieben.
  • Bevor mit der Erörterung des Beispielsystems 10 aus 1 fortgefahren wird, ist es hilfreich, kurz einen Teil der Terminologie zu erörtern, die hierin verwendet wird.
  • 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 ein Eingangspuffer eines Digitalisierers füllt, oder wenn ein Ausgangssignal eingeschwungen ist. Ereignisse werden üblicherweise durch die Hardware des Instruments erzeugt, obwohl dies keine Einschränkung ist. Software kann ebenfalls Ereignisse erzeugen. Wie hierin weiter beschrieben wird, können Ereignisse durch die Synchronisationsmodule für ihre entsprechenden Instrumente erzeugt werden, ansprechend auf den Empfang einer Ereignismeldung und/oder eine Detonation einer Zeitbombe, als Beispiele.
  • Der Ausdruck „Ereignismeldung" bezieht sich auf eine Meldung, die auf dem Kommunikationsnetzwerk gesendet wird, die verwendet wird, um andere Instrumente (oder ihr zugeordnetes Synchronisationsmodul) 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 Synchronisationsmodulen auf einem gegebenen Kommunikationsnetzwerk (z. B. auf einem gegebenen Teilnetz) rundgesendet. Bei anderen Ausführungsbeispielen werden die Ereignismeldungen über eine Punkt-zu-Punkt-Protokoll gesendet, wie z. B. das Sendesteuerungsprotokoll (TCP; TCP = Transmission Control Protocol). Ein Synchronisationsmodul kann eine Ereignismeldung senden. Andere Synchronisationsmodule können entweder auf Ereignismeldungen antworten oder dieselben ignorieren.
  • Der Ausdruck „Ausgangsereignis" 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 Ausgangsereignisse sind. Ein Instrument kann einige Ereignisse intern handhaben.
  • Der Ausdruck „Eingangsereignis" bezieht sich auf ein Ereignis, das von einem anderen Instrument/Synchronisationsmodul empfangen wird. Das Eingangsereignis kommt in der Form einer Ereignismeldung auf dem Kommunikationsnetzwerk an.
  • Der Ausdruck „Aktion" bezieht sich auf etwas, das ein Instrument und/oder sein zugeordnetes Synchronisationsmodul 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.
  • Der Ausdruck „Programmierungsmeldung" bezieht sich auf eine Meldung, die auf dem Kommunikationsnetzwerk gesendet wird, das verwendet wird, um ein Empfängersynchronisationsmodul zu programmieren, um eine bestimmte Aktion zu unternehmen (und/oder zu verursachen, dass sein zugeordnetes Instrument eine bestimmte Aktion unternimmt), ansprechend auf die Erfassung eines bestimmten Ereignisses.
  • Gemäß den hierin beschriebenen Ausführungsbeispielen werden Ereignismeldungen über das Kommunikationsnetzwerk 18 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 zugeordneten Synchronisationsmodule der Instrumente können konfiguriert/programmiert werden, um eine bestimmte Aktion zu unternehmen (und/oder zu verursachen, dass ihre zugeordneten Instrumente eine bestimmte Aktion unternehmen), nachdem das Synchronisationsmodul ein gegebenes Ereignis empfängt, das entweder ein Ereignis sein kann, das durch das Synchronisationsmodul von seinem zugeordneten Instrument 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 dem Synchronisationsmodul 16 senden, die dessen Ereignisverwalter 101B anweist, zu verursachen, dass seine zugeordnete Quelle 12 eine bestimmte Aktion unternimmt, nach der Erfassung eines bestimmten Ereignisses durch das Synchronisationsmodul 16. Bei bestimmten Ausführungsbeispielen kann das Synchronisationsmodul 16 vorkonfiguriert sein, um die bestimmte Aktion ansprechend auf ein gegebenes Ereignis zu unternehmen, und ist nicht diesbezüglich dynamisch programmiert. Somit, da die Synchronisationsmodule 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 Synchronisationsmodule) zum Koordinieren der entsprechenden Operationen der Instrumente verwendet werden, wie hierin weiter beschrieben wird.
  • Bei dem Ausführungsbeispiel aus 1 umfassen die Steuerung 11 und die Synchronisationsmodule 16 und 17 jeweils programmierte Ereignisinformationen, bezeichnet als 102A, 102B bzw. 102C. Solche programmierten Ereignisinformationen können z. B. die Aktion(en) spezifizieren, die durch die Synchronisationsmodule für ihre entsprechenden zugeordneten Instrumente ausgelöst werden sollen, ansprechend auf spezifizierte Ereignisse, die durch die Synchronisationsmodule erfasst werden. 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 Benut zer 15 zu ermöglichen, mit dem Ereignisverwalter 101A in Wechselwirkung zu treten, z. B. um die Ereignisinformationen auf den verschiedenen Synchronisationsmodulen 16 und 17 zu programmieren. Beispiele solcher programmierten Ereignisinformationen 102A102C werden hierin weiter beschrieben, einschließlich dem spezifischen Beispiel, das in Tabelle 2 unten enthalten ist.
  • Da die lokalen Takte der Synchronisationsmodule zu einem hohen Präzisionsgrad synchronisiert sind, können die Aktionen der verschiedenen zugeordneten 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 18 angetroffen werden können etc.), da die Instrumente ihre lokalen Takte aktiv auf einen hohen Präzisionsgrad synchronisiert haben.
  • Es sei z. B. angenommen, dass das Synchronisationsmodul 16 konfiguriert/programmiert ist, um auszulösen, dass die Quelle 12 ihre Ausgangsfrequenz ändert (z. B. HF-Frequenz), ansprechend darauf, dass das Synchronisationsmodul 16 „Ereignis Nr.1" erfasst, und sobald die Frequenzänderung eingeschwungen ist, das Synchronisationsmodul 16 dann eine Ereignismeldung ausgibt, die „Ereignis Nr.2" identifiziert. Es sei ferner angenommen, dass das Synchronisationsmodul 17 konfiguriert/programmiert ist, um auszulösen, dass der Empfänger 13 eine Messung des Signals durchführt (z. B. Leistung und/oder andere Charakteristika des Signals), ansprechend darauf, dass das Synchronisationsmodul 17 Ereignis Nr.2 erfasst. 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 dem Synchronisationsmodul 16 gesendet wird. Wie hierin weiter beschrieben wird, kann ein solches Ereignis Nr.1 bei bestimmten Implementierungen über das Kommunikationsnetzwerk 18 rundgesendet werden. Der Ereignisverwalter 101B des Synchronisationsmoduls 16 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, auslösen, dass die Quelle 12, über die Auslöserleitung(en) 112 ihre Frequenz ändert, und nachfolgend würde das Synchronisationsmodul 16 eine Ereignismeldung senden, die das Ereignis Nr.2 bei dem Synchronisationsmodul 17 identifiziert. Wiederum kann bei bestimmten Implementierungen diese Ereignismeldung, die durch das Synchronisationsmodul 16 gesendet wird, über das Kommunikationsnetzwerk 18 rundgesendet werden. Die Ereignismeldung umfasst ferner einen Zeitstempel, basierend auf dem lokalen Takt 103B des Synchronisationsmoduls, der dem entspricht, wann die geänderte Frequenz eingeschwungen ist (und somit bereit zur Messung ist).
  • Das Synchronisationsmodul 17 empfängt die Ereignismeldung, die das Ereignis Nr.2 identifiziert, und den entsprechenden Zeitstempel, und somit kann das Synchronisationsmodul 17 den Empfänger 13 über die Auslöserleitung(en) 113 auslösen, um seine programmierte Aktion auszuführen, ansprechend auf das Ereignis Nr.2, basierend auf dem entsprechenden Zeitstempel in der Ereignismeldung. Zum Beispiel kann das Synchronisationsmodul 17 programmiert sein, um zu verursachen, dass der Empfänger 13 die Messung an dem Zeitstempel nimmt, der in der empfangenen Ereignismeldung umfasst ist, und diese Messung zu der Steuerung 11 sendet, ansprechend darauf, dass das Synchronisationsmodul 17 ein Ereignis Nr.2 erfasst. Obwohl das Synchronisationsmodul 17 die Ereignismeldung empfängt, nach dem Zeitstempel, der bei diesem Beispiel in der Ereignismeldung umfasst war, wenn der Empfänger 13 kontinuierlich Messungen durchführt und dieselben puffert, kann der Empfänger aus seinem Puffer die Messung wiedergewinnen, die dem Zeitstempel entspricht, der in der Meldung umfasst ist, und somit kann das Synchronisa tionsmodul 17 diese Messung aus dem Puffer des Empfängers wiedergewinnen und sie 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 dem Synchronisationsmodul 16 zu dem Synchronisationsmodul 17. Wenn die Ereignismeldung von dem Synchronisationsmodul 16 zu dem Synchronisationsmodul 17 zu einem solchen Ausmaß verzögert wurde, dass der Empfänger 13 in seinem Puffer keine Messung mehr hat, die dem Zeitstempel entspricht, der in der Ereignismeldung umfasst ist, kann das Synchronisationsmodul 17 z. B. einen Fehler erzeugen.
  • Als ein anderes Beispiel könnte das Synchronisationsmodul 17 programmiert sein, um auf die Erfassung des Ereignisses Nr.2 zu antworten, durch Verursachen, dass der Empfänger 13 eine Messung zu einer Zeitperiode nachfolgend zu dem Zeitstempel durchführt, der in der empfangenen Ereignismeldung umfasst ist, wie z. B. 2 Sekunden nach dem Zeitstempel, der in der empfangenen Ereignismeldung umfasst ist, und dann, dass das Synchronisationsmodul 17 diese Messung zu der Steuerung 11 sendet. Angenommen, dass die Ereignismeldung erzeugt und über das Kommunikationsnetzwerk 18 innerhalb von 2 Sekunden von dem Zeitstempel kommuniziert werden kann, der in der Meldung umfasst ist, kann das Synchronisationsmodul 17 diese Meldung empfangen und verursachen, dass der Empfänger 13 seine Messung entsprechend durchführt (oder die entsprechende Messung aus dem Puffer des Empfängers wiedergewinnt, wenn derselbe kontinuierlich Messungen durchführt). Somit kann das Synchronisationsmodul 17 verursachen, dass der Empfänger 13 seine Messung zu einer Zeit relativ zu dem Zeitstempel durchführt, der in der Ereignismeldung umfasst ist, die durch das Synchronisationsmodul 17 empfangen wird, im Gegensatz zu der Zeit, zu der das Synchronisationsmodul die Ereignismeldung empfängt. Dementsprechend können die Operationen der Quelle 12 und des Empfängers 13 gemäß dem Zeitstempel koordiniert werden, der in der Ereignismeldung umfasst ist, und ein solcher Zeitstempel basiert auf dem synchronisierten Takt des Senders der Meldung, d. h. dem Synchronisationsmodul 16, das der Quelle 12 bei den obigen Beispielen zugeordnet ist, und ist nicht auf Synchronisationsoperationen beschränkt, basierend auf der Zeit, zu der die Meldungen empfangen werden (die basierend auf Netzwerklatenzzeiten variieren kann).
  • Befehlsschnittstellen 108A und 108B können jeweils eine geeignete Schnittstelle zum kommunikativen Koppeln des Synchronisationsmoduls mit ihrem entsprechenden Instrument sein. Als Beispiele können Befehlsschnittstellen 108A und 108B ein Allzweck-Schnittstellenbus (GPIB; GPIB = General Purpose Interface Bus), ein Universeller Serieller Bus (USB; USB = Universal Serial Bus), eine RS-232, ein LAN-Tor oder eine andere Kommunikationsschnittstelle sein, die bekannt ist oder später entwickelt wird. Befehlsschnittstellen 108A und 108B können die selbe Art von Schnittstelle sein oder sie können unterschiedliche Arten von Schnittstellen sein, abhängig von der Schnittstelle, die zum Koppeln jedes Synchronisationsmoduls mit seinem entspreichenden Instrument verfügbar ist. Ferner können mehrere Arten von Befehlsschnittstellen auf einem einzelnen Synchronisationsmodul verfügbar sein, und alle solchen Befehlsschnittstellen können selektiv zum Koppeln mit einem Instrument verwendet werden oder eine Mehrzahl der Befehlsschnittstellen eines synchronisierten Moduls kann gleichzeitig zum Koppeln mit einer Mehrzahl von Instrumenten verwendet werden.
  • Während jedes Synchronisationsmodul bei dem Beispiel aus 1 derart gezeigt ist (sowie bei dem Beispiel von 2 und 3, die nachfolgend erörtert werden), dass es mit einem einzelnen Instrument gekoppelt ist, kann bei bestimmten Ausführungsbeispielen ein einzelnes Synchronisationsmodul zum kommunikativen Koppeln mit einer Mehrzahl von unterschiedlichen Instrumenten implementiert sein, zum Bereitstellen einer Synchronisationsfunktionalität für jedes der unterschiedlichen Instrumente. Somit kann ein einzelnes Synchronisationsmodul implementiert sein, um eine Synchronisation einer Mehrzahl von Instrumenten zu steuern. Die Mehrzahl von Instrumenten kann in bestimmten Fällen ausgelöst werden, um gleichzeitig die selben Aktionen auszuführen, und in anderen Fällen kann das Synchronisationsmodul für jedes individuelle Instrument programmierbar sein, mit dem es gekoppelt ist, so dass unterschiedliche Aktionen durch die unterschiedlichen Instrumente auf synchronisierte Weise ausgeführt werden können. Zum Beispiel, wenn das Synchronisationsmodul als eine GPIB-Steuerung implementiert ist, kann eine Mehrzahl von GPIB-basierten Instrumenten mit dem GPIB-Bus gekoppelt sein. Dies würde ermöglichen, dass mehrere Instrumente durch ein einzelnes Synchronisationsmodul gesteuert werden. Zusätzliche Auslöserleitung(en) können auf dem Synchronisationsmodul bei dieser Art von Implementierung umfasst sein, um zu ermöglichen, dass eine oder mehrere Auslöserleitungen aus dem Synchronisationsmodul mit jedem der Instrumente gekoppelt werden. Ferner weist ein GPIB einen „Gruppenausführungsauslöser"-Befehl auf, der ebenfalls ermöglichen würde, dass mehrere Instrumente zusammen ausgelöst werden, wenn eine solche Operation erwünscht ist. Wiederum, während ein Eins-zu-Eins-Verhältnis bei den Beispielen aus 13 zwischen den Synchronisationsmodulen und ihren zugeordneten Instrumenten gezeigt ist, kann bei jedem der Beispiele ein Synchronisationsmodul derart implementiert sein, dass es kommunikativ mit einer Mehrzahl von Instrumenten gekoppelt ist, zum Verwalten der Synchronisation solcher Instrumente.
  • Bei dem Beispiel aus 1 ist jedes Synchronisationsmodul wirksam, um eine Ereignismeldung über das Kommunikationsnetzwerk 18 zu empfangen und zu bestimmen, ob es programmiert ist, um eine ansprechende Aktion an seinem zugeordneten Instrument auszulösen. Somit ist jedes Synchronisationsmodul mit seinem zugeordneten Instrument auf eine Weise gekoppelt, die ermöglicht, dass das Synchronisationsmodul selektiv eine oder mehrere Antwortaktionen an seinem zugeordneten Instrument auslöst. In einigen Fällen kann das Synchronisationsmodul Befehle umwandeln, die über das Kommunikationsnetzwerk 18 empfangen werden, in eine Steuerungsstruktur, die geeignet für sein zugeordnetes Instrument ist, wie z. B. Standardbefehle für programmierbare Instrumentierung (SCPI; SCPI = Standard Commands for Programmable Instrumentation), die über GPIB übertragen werden, und das Synchronisationsmodul verwendet die resultierende Steuerungsstruktur zum Auslösen seines zugeordneten Instruments, um eine entsprechende Aktion zu unternehmen (z. B. über die Befehlsschnittstelle 108A/108B). Somit können einige empfangene Ereignismeldungen dazu führen, dass das Synchronisationsmodul einen entsprechenden Instrumentbefehl erzeugt, um denselben in sein zugeordnetes Instrument einzugeben (z. B. über die Befehlsschnittstelle 108A/108B).
  • Bei bestimmten Implementierungen können die eine oder die mehreren Hardwareauslöserleitungen (Eingabe und/oder Ausgabe) zwischen das Synchronisationsmodul und sein zugeordnetes Instrument gekoppelt sein. Zum Beispiel können die Auslöserleitungen 112 die Ausgangsauslöserleitungen des Synchronisationsmoduls 16 umfassen, dies mit den entsprechenden Eingangsauslösern der Quelle 12 gekoppelt sind. Dementsprechend, ansprechend darauf, dass das Synchronisationsmodul 16 eine Ereignismeldung über das Kommunikationsnetzwerk 18 empfängt, für die es bestimmt, dass eine Antwortaktion auf der Quelle 12 ausgelöst werden sollte (z. B. um zu verursachen, dass die Quelle 12 ihre Frequenz ändert), kann das Synchronisationsmodul 16 die Antwortaktion auf der Quelle 12 auslösen, durch Aktivieren der ordnungsgemäßen Ausgangsauslöserleitung 112 des Synchronisationsmoduls. Bestimmte Instrumente können einen externen Auslösermodus aufweisen, in dem die Instrumente Auslöser (bzw. Trigger) von einer externen Hardware-Auslöserleitung empfangen, wie z. B. einer oder mehreren externen Hardware-Auslöserleitungen 112, die von einem Synchronisationsmodul gekoppelt sind. In diesem Fall kann das Synchronisationsmodul einen Befehl über die Befehlsschnittstelle 108A senden, um zu verursachen, dass die Quelle 12 in ihren externen Auslösermodus geht, und somit können die Hardware-Auslöserleitungen 112, die von dem Synchronisationsmodul 16 mit der Quelle 12 gekoppelt sind, verwendet werden, um Aktionen an der Quelle 12 auszulösen, ansprechend auf Ereignismeldungen, die durch den Ereignisverwalter 101B des Synchronisationsmoduls 16 empfangen werden.
  • Ferner kann jedes Synchronisationsmodul mit seinem zugeordneten Instrument auf eine Weise gekoppelt sein, die ermöglicht, dass das Synchronisationsmodul Ereignisse von seinem zugeordneten Instrument derart empfängt, dass das Synchronisationsmodul eine oder mehrere Antwortaktionen unternehmen kann. Zum Beispiel können die eine oder mehreren Hardwareauslöser-Ausgangsleitungen eines Instruments mit den Auslösereingängen seines zugeordneten Synchronisationsmoduls gekoppelt sein, wodurch ermöglicht wird, dass das Synchronisationsmodul Instrumentereignisse erfasst und auf dieselben antwortet. Zum Beispiel, ansprechend darauf, dass die Quelle 12 ein internes Ereignis erfasst, kann ihr Hardwareauslöserausgang aktiviert werden (z. B. Übergang auf eine hohe Spannung), und da dieser Hardwareauslöserausgang mit dem Auslösereingang des Synchronisationsmoduls gekoppelt ist (über Auslöserleitungen 112), kann das Synchronisationsmodul 16 dieses Ereignis erfassen und eine Antwortaktion unternehmen, wie z. B. das Senden einer Ereignismeldung über das Kommunikationsnetzwerk 18 zu anderen Instrumenten.
  • Während Synchronisationsmodule sowohl für die Quelle 12 als auch den Empfänger 13 bei diesem Beispiel aus 1 verwendet werden, können bei bestimmten Ausführungsbeispielen Synchronisationsmodule mit bestimmten Vorrichtungen (z. B. Ursprungsvorrichtungen) verwendet werden, während andere Vorrichtungen (z. B. neuere Vorrichtungen) die Funktionalität des Synchronisationsmoduls aufweisen, das in denselben integriert ist. Somit können die Synchronisationsmodule zu einer Mehrzahl von verschiedenen Ursprungsinstrumenten innerhalb eines Messsystems addiert werden, um die aktuali sierte Synchronisationsfunktionalität freizugeben, die dadurch zwischen den Ursprungsinstrumenten bereitgestellt wird, und/oder die Synchronisationsmodule geben ihre zugeordneten Ursprungsinstrumente frei, um ihre Operationen mit neueren Instrumenten zu synchronisieren, die die Synchronisationsoperationen unterstützen.
  • Bezug nehmend auf 2 ist ein Beispielsystem 20 gemäß einem anderen Ausführungsbeispiel zum Koordinieren von Operationen einer Mehrzahl von vernetzten Vorrichtungen (oder „Instrumenten") gezeigt. Wie bei dem System 10 aus 1 umfasst das Beispielsystem 20 eine Quelle 12 und einen Empfänger 13. Wie bei 1 sind die Quelle 12 und der Empfänger 13 Ursprungsvorrichtungen, die eine CPU 105B bzw. 105C und eine Operationslogik 106 bzw. 107 umfassen. Dementsprechend sind die Synchronisationsmodule 16A und 17A zum Bereitstellen der nachfolgend beschriebenen Synchronisationsfähigkeit für ihre entsprechenden Instrumente bereitgestellt. Das Synchronisationsmodul 16A ist mit der Quelle 12 schnittstellenmäßig über die Befehlsschnittstelle 108A und die eine oder die mehreren Auslöserleitungen 112 verbunden. Auf ähnliche Weise ist das Synchronisationsmodul 17A schnittstellenmäßig über die Befehlsschnittstelle 108B und die eine oder die mehreren Auslöserleitungen 113 mit dem Empfänger 13 verbunden. Die Synchronisationsmodule 16A und 17A sind kommunikativ über das Kommunikationsnetzwerk 18 gekoppelt. Dementsprechend müssen bei diesem Beispiel die Quelle 12 und der Empfänger 13 keine Schnittstelle mit dem Kommunikationsnetzwerk 18 aufweisen, da die Synchronisationsmodule 16A und 17A eine solche Schnittstelle zu dem Kommunikationsnetzwerk 18 für diese Vorrichtungen bereitstellen. Bei alternativen Ausführungsbeispielen können die Quelle 12 und/oder der Empfänger 13 jedoch eine Schnittstelle mit dem Kommunikationsnetzwerk 18 aufweisen und das Synchronisationsmodul 16A und/oder 17A muss keine solche Schnittstelle bereitstellen, sondern kann statt dessen eine Schnittstelle mit seiner entsprechenden Vorrichtung bilden, um die nachfolgend weiter beschriebenen Synchronisationsfä higkeiten zu liefern. Die CPUs 201A und 201B der Synchronisationsmodule 16A und 17A sind bei diesem Beispiel spezifisch gezeigt. Es sollte darauf hingewiesen werden, dass die Synchronisationsmodule anderer Ausführungsbeispiele, wie z. B. jene aus 1, die oben beschrieben ist, auf ähnliche Weise CPUs umfassen können, obwohl diese nicht spezifisch gezeigt sind.
  • Die Synchronisationsmodule 16A und 17A umfassen jeweils einen lokalen Takt bei diesem Beispiel. Ferner haben die Synchronisationsmodule 16A und 17A ihre Takte synchronisiert. Bei diesem spezifischen Beispiel wird das IEEE 1588 verwendet, wobei das Synchronisationsmodul 16A den IEEE-1588-Takt 103B implementiert und das Synchronisationsmodul 17A 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 eingesetzt werden. Alternativ können andere Techniken (z. B. passive Techniken) bei anderen Ausführungsbeispielen zum Synchronisieren der lokalen Takte eingesetzt werden, unter Verwendung von GPS-Empfängern (Global Positioning System), etc. Somit weisen die Synchronisationsmodule 16A und 17A ihre lokalen Takte 103B und 103C zu einem hohen Präzisionsgrad synchronisiert auf, derart, dass sie einen gemeinsamen Zeitsinn aufweisen. Dementsprechend müssen bei diesem Beispiel die Quelle 12 und der Empfänger 13 keine lokalen Takte aufweisen, die synchronisiert sind. Bei alternativen Ausführungsbeispielen können jedoch die Quelle 12 und/oder der Empfänger 13 lokale Takte implementieren, die synchronisiert sind (z. B. über IEEE 1588, NTP, GPS oder eine andere Synchronisationstechnik), und das Synchronisationsmodul 16A und/oder 17A muss keine solche synchronisierten lokalen Takte liefern, sondern kann statt dessen eine Schnittstelle mit seiner entsprechenden Vorrichtung bilden, um die Synchronisationsfähigkeiten zu liefern, die nachfolgend weiter beschrieben werden.
  • Bei dem Beispiel aus 2 ist eine „Zeitbombe" auf jedem der Synchronisationsmodule 16A und 17A implementiert. Genauer gesagt ist die Zeitbombe 109A auf dem Synchronisationsmodul 16A implementiert, das der Quelle 12 zugeordnet ist, und die Zeitbombe 109B ist auf dem Synchronisationsmodul 17A implementiert, das dem Empfänger 13 zugeordnet ist. Die Zeitbombe ermöglicht, dass die Synchronisationsmodule programmiert werden, um eine oder mehrere Aktionen (z. B. Anweisungen ausführen) zu vordefinierten Zeiten zu unternehmen, die als Detonationszeiten bezeichnet werden. Die Detonationszeiten können absolute Zeiten sein, wie z. B. 1:00:00, oder die Detonationszeiten können als relative Zeiten definiert sein, wie z. B. 10 Sekunden nach dem Auftritt eines bestimmten Ereignisses. Als Beispiel kann die Zeitbombe 109A auf dem Synchronisationsmodul 16A über die Steuerung 11 programmiert sein, um bei 1:00:00 zu detonieren und auszulösen, dass die Quelle 12 über die Auslöserleitungen 112 ihre Frequenz ändern. Angenommen, dass bekannt ist, dass es 1 Sekunde dauert, dass die Frequenz auf ihrem geänderten Wert auf der Quelle 12 einschwingt, kann die Zeitbombe 109B auf dem Synchronisationsmodul 17A über die Steuerung 11 programmiert werden, um bei 1:00:01 zu detonieren und auszulösen, dass der Empfänger 13 eine Charakteristik (z. B. Leistung) des Ausgangssignals der Quelle 12 misst. Diesbezüglich wird die Messaktion, die durch den Empfänger 13 durchgeführt wird, mit dem Ändern der Frequenz durch die Quelle 12 koordiniert, um sicherzustellen, dass die Messung durchgeführt wird, nachdem die Frequenz an dem geänderten Wert eingeschwungen ist. Ferner, aufgrund des hohen Präzisionsgrades zwischen den lokalen Takten 103B und 103C, können die entsprechenden Aktionen der Quelle und des Empfängers auf effiziente Weise geplant werden (z. B. ohne unnötig lange Zeitverzögerungen zwischen ihren entsprechenden Operationen zu erfordern).
  • Bei diesem Beispiel erzeugt die Detonation der Zeitbombe 109A auf dem Synchronisationsmodul 16A ein Interrupt 110A zu der CPU 201A des Synchronisationsmoduls 16A, um zu verursachen, dass eine entsprechende externe Hardware-Auslöserleitung 112 aktiviert wird (z. B. hoch geht), wodurch verursacht wird, dass die Quelle 12 die entsprechende Aktion ausführt (wie z. B. eine Änderung der Frequenz bei dem obigen Beispiel). Auf ähnliche Weise erzeugt die Detonation einer Zeitbombe 109B auf dem Synchronisationsmodul 17A ein Interrupt 110B zu der CPU 201B des Synchronisationsmoduls 17A, um zu verursachen, dass eine entsprechende externe Hardware-Auslöserleitung 113 aktiviert wird (z. B. hoch geht), wodurch verursacht wird, dass der Empfänger 13 die entsprechende Aktion ausführt (z. B. Durchführen einer Messung bei dem obigen Beispiel). Bei bestimmten Ausführungsbeispielen sind die Detonationszeiten und die entsprechenden Aktionen, die unternommen werden sollen, programmierbar.
  • Wie oben erwähnt wurde, können bestimmte Instrumente einen externen Auslösermodus aufweisen, bei dem die Instrumente Auslöser von einer externen Hardware-Auslöserleitung empfangen, wie z. B. von einer oder mehreren externen Hardware-Auslöserleitungen 112, die von einem Synchronisationsmodul gekoppelt sind. In diesem Fall kann das Synchronisationsmodul 16A einen Befehl über die Befehlsschnittstelle 108A senden, um zu verursachen, dass die Quelle 12 in ihren externen Auslösermodus geht, und somit können die eine oder die mehreren Hardware-Auslöserleitungen 112, die von dem Synchronisationsmodul 16A mit der Quelle 12 gekoppelt sind, verwendet werden, um Aktionen an der Quelle 12 auszulösen, ansprechend darauf, dass Ereignismeldungen durch den Ereignisverwalter 101B von dem Synchronisationsmodul 16A empfangen werden. Somit können bestimmte Aktionen über externe Hardware-Auslöserleitungen ausgelöst werden, die zwischen das Synchronisationsmodul und seine eines oder seine mehreren zugeordneten Instrumente gekoppelt sind. Zusätzlich dazu, in manchen Fällen, kann das Synchronisationsmodul eine Aktion an seinen zugeordneten Instrumenten über die Befehlsschnittstelle auslösen, wie z. B. die Befehlsschnittstelle 108A des Synchronisationsmoduls 16A. Zum Beispiel, ansprechend auf eine Detonation einer Zeitbombe, kann das Synchronisationsmodul einen Befehl senden, der angemessen für sein zugeordnetes Instrument ist, wie z. B. Standardbefehle für programmierbare Instrumentierung (SCPI), die über GPIB übertragen werden, und das Synchronisationsmodul verwendet die resultierende Steuerungsstruktur zum Auslösen seines zugeordneten Instruments, um eine entsprechende Aktion zu unternehmen (z. B. über die Befehlsschnittstelle 108A/108B).
  • Im Hinblick auf das oben Genannte sind bei bestimmten Ausführungsbeispielen (wie z. B. dem aus 1) Synchronisationsmodule implementiert, die eine Synchronisation zwischen ihren zugeordneten Instrumenten basierend auf einer Kommunikation von Ereignismeldungen liefern. Bei anderen Ausführungsbeispielen (wie z. B. dem aus 2) sind die Synchronisationsmodule implementiert, die eine Synchronisation zwischen ihren zugeordneten Instrumenten basierend auf geplanten Aktionen liefern (d. h. Detonation von eingestellten Zeitbomben). Es sollte darauf hingewiesen werden, dass in jedem Fall die Ursprungsinstrumente, mit denen die Synchronisationsmodule schnittstellenmäßig verbunden sind, nicht die Synchronisationsfähigkeiten liefern, die durch die Synchronisationsmodule geboten werden. Ferner unterstützen bei bestimmten Ausführungsbeispielen die Synchronisationsmodule sowohl meldungsbasierte Synchronisationstechniken als auch zeitbasierte (oder „plan-basierte") Synchronisationstechniken.
  • Bezug nehmend auf 3 ist ein Beispielmesssystem 30 gezeigt, bei dem Synchronisationsmodule 16B und 17B sowohl meldungsbasierte Synchronisationstechniken als auch zeitbasierte Synchronisationstechniken unterstützen. Bei diesem Beispiel ist das Synchronisationsmodul 16B schnittstellenmäßig mit der Quelle 12 über die Befehlsschnittstelle 108A und einen oder mehrere Auslöser 112 verbunden, und das Synchronisationsmodul 17B ist schnittstellenmäßig mit dem Empfänger 13 über die Befehlsschnittstelle 108B und einen oder mehrere Auslöser 13 verbunden. Jedes der Synchronisationsmodule 16B und 17B ist kommunikativ über das Kommunikationsnetzwerk 18 gekoppelt, wie gezeigt ist. Ferner umfasst das Synchronisationsmodul 16B einen IEEE-1588-Takt 103B, einen Ereignisverwalter 101B und programmierte Ereignisinformationen 102B, wie bei der Beispielimplementierung, die oben für das Synchronisationsmodul 16 in 1 beschrieben wurde. Auf ähnliche Weise umfasst das Synchronisationsmodul 17B einen IEEE-1588-Takt 103C, einen Ereignisverwalter 101C und programmierte Ereignisinformationen 102C, wie bei der Beispielimplementierung, die oben für das Synchronisationsmodul 17 in 1 beschrieben wurde. Zusätzlich dazu implementieren die Synchronisationsmodule 16B und 17B Zeitbomben 109A bzw. 109B, wie oben für die Synchronisationsmodule 16A und 17A bei dem Beispiel von 2 beschrieben wurde.
  • Die Steuerung 11 ist vorgesehen, die auf die Weise verwendet werden kann, die oben Bezug nehmend auf 1 beschrieben wurde, zum Programmieren von Synchronisationsmodulen 16B und 17B zum Auslösen bestimmter Aktionen in ihren zugeordneten Instrumenten ansprechend auf erfasste Ereignisse (z. B. Ereignismeldungen, die durch die Synchronisationsmodule empfangen werden). Ferner kann die Steuerung 11 zum Programmieren von Zeitbomben 109A und 109B verwendet werden. Wie bei diesem Beispiel gezeigt wird, verwaltet der Ereignisverwalter 101B der Quelle 12 die Implementierung der Zeitbombe 109A und der Ereignisverwalter 101C des Empfängers 13 verwaltet die Implementierung der Zeitbombe 109B. Zum Beispiel kann der Ereignisverwalter 101A Informationen empfangen (z. B. von der Steuerung 11), um die Detonationszeit und eine entsprechende Aktion zu programmieren, die nach der Detonation der Zeitbombe 109A ausgelöst werden soll.
  • Eine weitere Beschreibung wird in der deutschen Patentanmeldung Nr. AG050617PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM SYNCHRONISIEREN VON OPERATIONEN EINER MEHRZAHL VON VORRICHTUNGEN ÜBER MELDUNGEN ÜBER EIN KOMMUNIKATIONSNETZWERK" von der Funktionalität zum Verwenden von Ereignismeldungen zum Synchronisieren von Operationen von vernetzten Vorrichtungen geliefert, die in einem Synchronisationsmodul gemäß Ausführungsbeispielen implementiert sein können, die hierin beschrieben sind. Eine weitere Beschreibung wird ferner in der deutschen Patentanmeldung AG050620PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM KOORDINIEREN DER AKTIONEN EINER MEHRZAHL VON VORRICHTUNGEN ÜBER EIN PLANEN DER AKTIONEN BASIEREND AUF SYNCHRONISIERTEN LOKALEN TAKTEN" über die Funktionalität zum Verwenden von Zeitbomben zum Synchronisieren von Operationen von vernetzten Vorrichtungen geliefert, die in einem Synchronisationsmodul gemäß Ausführungsbeispielen implementiert sein können, die hierin beschrieben sind.
  • Bezug nehmend nun auf 4A4B ist ein spezifisches Beispiel zum Verwenden von Synchronisationsmodulen 16B und 17B zum Synchronisieren der Operationen der Quelle 12 und des Empfängers 13 des Systems 30 (von 3) gezeigt. Bei dem Beispiel von 4A4B wird die Steuerung 11 verwendet, um das Synchronisationsmodul 16B zu programmieren, das der Quelle 12 zugeordnet ist, bei dem Operationsblock 401. Zum Beispiel kann der Benutzer 15 mit der Benutzerschnittstelle 104 in Wechselwirkung treten, um bestimmte Informationen zu spezifizieren, gemäß denen das Synchronisationsmodul 16B programmiert werden soll. Bei diesem Beispiel ist das Synchronisationsmodul 16 programmiert, um zu verursachen, dass die Quelle 12 ihre Frequenz bei 1:00:00 ändert und dann eine Ereignismeldung rundsendet, die Ereignis Nr.1 identifiziert. Somit werden diese Informationen (über eine Programmierungsmeldung) durch das Synchronisationsmodul 16 von der Steuerung 11 empfangen und in ihre programmierten Ereignisinformationen 102B gespeichert. Wie oben erwähnt wurde, kann das Planen auf diese Weise, dass ein Ereignis zu einer absoluten Zeit oder zu einer relativen Zeit (z. B. einer Zeit, die in Relation zu einer anderen Zeit spezifiziert ist, wie z. B. „10 Sekunden nach dem Zeitstempel, der in einer Ereignismeldung umfasst ist, die Ereignis X identifiziert hat") auftritt, als das Einstellen einer „Zeitbombe" (z. B. Zeitbombe 109A) bezeichnet werden, die eine absolute oder relative Detonationszeit aufweist, wobei nach der Detonation einer solchen Zeitbombe das Synchronisationsmodul eine programmierte Aktion unternimmt (verursacht, dass die Quelle 12 ihre Frequenz ändert und dann eine Ereignismeldung sendet, die bei diesem Beispiel Ereignis Nr.1 identifiziert). Ein Beispiel zum Implementieren solcher Zeitbomben und Verwenden derselben zum Koordinieren von Operationen von vernetzten Vorrichtungen ist ferner in der gleichzeitig eingereichten und gemeinsam zugewiesenen deutschen Patentanmeldung AG050620PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM KOORDINIEREN DER AKTIONEN EINER MEHRZAHL VON VORRICHTUNGEN ÜBER EIN PLANEN DER AKTIONEN BASIEREND AUF SYNCHRONISIERTEN LOKALEN TAKTEN" beschrieben, deren Offenbarung hierin durch Bezugnahme aufgenommen ist.
  • Die Steuerung 11 wird verwendet, um das Synchronisationsmodul 17B zu programmieren, das dem Empfänger 13 zugeordnet ist, bei dem Operationsblock 402. Zum Beispiel kann der Benutzer 15 mit der Benutzerschnittstelle 104 in Wechselwirkung treten, um bestimmte Informationen zu spezifizieren, gemäß denen das Synchronisationsmodul 17B programmiert werden soll. Bei diesem Beispiel ist das Synchronisationsmodul 17B programmiert, um zu verursachen, dass der Empfänger 13 eine Messung ausführt, wenn Ereignis Nr.1 erfasst wird, und dann eine Ereignismeldung rundsendet, die Ereignis Nr.2 identifiziert. Somit werden diese Informationen durch das Synchronisationsmodul 17B von der Steuerung 11 empfangen und in ihre programmierten Ereignisinformationen 102C gespeichert.
  • Ferner wird bei diesem Beispiel die Steuerung 11 selbst programmiert, bei Block 403, 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 spezi fizieren, 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.
  • Bei 1:00:00 detoniert die Zeitbombe, die an dem Synchronisationsmodul 16B eingestellt wird (in dem Betriebsblock 404), und ansprechend darauf verursacht das Synchronisationsmodul 16B, dass die Quelle 12 ihre Frequenz ändert (bei Operationsblock 405) und dann das Synchronisationsmodul eine Ereignismeldung erzeugt, die Ereignis Nr.1 identifiziert. Wie oben erwähnt wurde, umfasst die Ereignismeldung ferner einen entsprechenden Zeitstempel basierend auf dem lokalen Takt 103B des Synchronisationsmoduls 16B. Bei diesem Beispiel führt das Synchronisationsmodul 16B ein Rundsenden der Ereignismeldung über das Kommunikationsnetzwerk 18 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 UNZUVER-LÄSSIGES PROTOKOLL" beschrieben, deren Offenbarung hierin durch Bezugnahme aufgenommen ist.
  • Somit führt der Ereignisverwalter 101B des Synchronisationsmoduls 16B 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 das Synchronisationsmodul 16B programmiert werden könnte, um die Meldung zu der Zeit zu senden, zu der die Quelle 12 das Ändern ihrer Frequenz beginnt, und der Zeitstempel, der in der Ereignismeldung umfasst ist, kann daher der Zeit entsprechen, zu der die Quelle 12 die Frequenzänderung beginnt, wobei in diesem Fall das Synchronisationsmodul 17B programmiert sein kann, um zu verursachen, dass der Empfänger 13 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 Synchronisationsmodul 17B sein, während die Frequenzänderung an der Quelle 12 auftritt, was zu einer verbesserten Effizienz bei der Messung führen kann.
  • Das rundgesendete Ereignis Nr.1 wird durch den Ereignisverwalter 101A der Steuerung 11 erfasst, und bei dem Operationsblock 406 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 das Synchronisationsmodul 16B rundgesendet wurde.
  • Auf ähnliche Weise wird das rundgesendete Ereignis Nr.1 durch den Ereignisverwalter 101C des Synchronisationsmoduls 17B erfasst. Da das Synchronisationsmodul 17B programmiert wird (siehe Operationsblock 402), um zu verursachen, dass der Empfänger 13 eine Messung durchführt, auf das Empfangen von Ereignis Nr.1 hin, bei Operationsblock 407, verursacht der Ereignisverwalter 101C des Synchronisationsmoduls 17B, dass eine solche Antwortaktion durch den Empfänger 13 unternommen wird (bei Operationsblock 408). Wie oben erörtert wurde, kann das Synchronisationsmodul 17B programmiert werden, um zu verursachen, dass der Empfänger 13 seine Messung an dem Zeitstempel durchführt, 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 das Synchronisationsmodul 17B kann programmiert werden, um zu verursachen, dass der Empfänger 13 seine Messung bei einem programmierten Zeitintervall von dem Zeitstempel durchführt, der in der Ereignismeldung umfasst ist, um Beispiele zu nennen.
  • So wie das Synchronisationsmodul 17B bei Operationsblock 409 programmiert wurde, um Block 402 auszuführen, führt das Synchronisationsmodul 17B 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 des Synchronisationsmoduls 16B erfasst, und bei Operationsblock 410 bestimmt ein solcher Ereignisverwalter 101B, dass keine Antwortaktion benötigt wird. Das heißt, das Synchronisationsmodul 16B wurde nicht programmiert, um eine Antwortaktion auf ein empfangenes Ereignis Nr.2 hin auszuführen, und somit ignoriert der Ereignisverwalter 101B die Ereignismeldung, die durch das Synchronisationsmodul 17B rundgesendet wurde.
  • Die rundgesendete Meldung Ereignis Nr.2 wird ebenfalls durch den Ereignisverwalter 101A der Steuerung 11 erfasst. Da die Steuerung 11 programmiert ist (siehe Operationsblock 403), die Messdaten aus dem Empfänger 13 zu lesen und solche Daten nach dem Empfangen von Ereignis Nr.2 bei Betriebsblock 411 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 das Synchronisationsmodul 17B von dem Synchronisationsmodul 16B empfangen hat, an einer bestimmten Speicheradres se 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 das Synchronisationsmodul 17B erzeugt wird, einen Zeitstempel umfassen, an dem seine Messung durchgeführt wurde (z. B. entweder den Zeitstempel, der in der Ereignismeldung umfasst ist, die von dem Synchronisationsmodul 16B zu dem Synchronisationsmodul 17B gesendet wurde, oder einen Zeitstempel, der ein bestimmtes Intervall von dem Zeitstempel entfernt ist, der in der Ereignismeldung umfasst ist, die von dem Synchronisationsmodul 16B zu dem Synchronisationsmodul 17B 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 411 durchgeführt wurde. Als ein wiederum anderes Beispiel kann die Steuerung 11 die Messung lesen, die durch den Empfänger 13 gemacht wird, aus ihrem zugeordneten Synchronisationsmodul 17B. Dann zeigt bei Block 412 die Steuerung 11 die gelesenen Messdaten an.
  • 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.
  • Natürlich ist die Anwendung der Ausführungsbeispiele, die hierin zum Synchronisieren der Operationen der Vorrichtun gen vorgesehen sind, nicht auf das spezifische Beispiel aus 2 beschränkt.
  • Wie das obige Beispiel darstellt, ist der Ereignisverwalter 101A101C (3) auf einer IEEE-1588-Funktionalität für synchronisierte Takte aufgebaut, geht aber auch über IEEE 1588 hinaus, durch Erlauben, dass zufällige asynchrone Ereignisse erzeugt werden und zu anderen Vorrichtungen rundgesendet werden (z. B. anderen Synchronisationsmodulen und/oder Instrumenten, die solche Ereignismeldungen unterstützen). Bei bestimmten Ausführungsbeispielen kann jedes Instrument oder sein zugeordnetes Synchronisationsmodul in einem System in der Lage sein, eine Ereignismeldung auf dem Netzwerk rundzusenden, immer wenn ein Ereignis auftritt. Die Liste von Ereignissen, die an jedem Instrument möglich sind (oder seinem zugeordneten Synchronisationsmodul) können von Instrument zu Instrument variieren und bei einigen Ausführungsbeispielen sind die Aktionen an jedem Instrument programmierbar (oder an seinem zugeordneten Synchronisationsmodul). Der Satz von möglichen Ereignissen kann somit spezifisch für jedes Instrument bestimmt werden.
  • Um Ereignismeldungen bei bestimmten Ausführungsbeispielen zu empfangen, ist jedes Synchronisationsmodul in der Lage, sich an Ereignismeldungen zu „beteiligen". Das heißt, jedes Synchronisationsmodul sollte in der Lage sein, auf Ereignismeldungen zu hören, die durch andere Instrumente rundgesendet werden (oder andere Synchronisationsmodule) und auf dieselben entsprechend zu antworten (oder dieselben zu ignorieren).
  • Eine spezifische Implementierung eines Ereignisverwalters, der auf einem Synchronisationsmodul implementiert sein kann, wird nachfolgend detaillierter beschrieben, aber Ausführungsbeispiele sollen nicht auf diese spezifische Implementierung beschränkt sein.
  • 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 dann entsprechend 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 wird (dies hängt von dem Betriebsystem 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.
  • 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 antworten, ruft der Ereignisverwalter die entsprechende Rückrufroutine.
  • Ausgabeereignisse werden intern durch das Synchronisationsmodul und/oder sein zugeordnetes Instrument 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 Synchronisationsmodul 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ückruf routine ausführt. Die ISR ist nicht dieselbe wie die Rückrufroutine.
  • Andere Ereignisse können unterschiedlich gehandhabt werden, abhängig von der Hardware-/Software-Architektur des Instruments. Der Ereignisverwalter ermöglicht, dass eine willkürliche Rückrufroutine zur Zeit eines Ereignisses ausgeführt wird, und diese Rückrufroutine kann das Ereignis intern innerhalb des Synchronisationsmoduls und/oder innerhalb des zugeordneten Instruments handhaben.
  • 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.
  • 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 Empfangssynchronisationsmodule 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.
  • 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. Einen für die absolute Zeit (TimeStamp = Zeitstempel), und einen anderen für Zeitintervalle (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, dem ein Synchronisationsmodul zugeordnet ist.
  • 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 durch das zugeordnete Synchronisationsmodul 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 genau 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.
  • Bei dieser Beispielimplementierung weist jedes Synchronisationsmodul eine Tabelle aus FID-Werten und ihre Beschreibungen für das zugeordnete Instrument auf, wie bei dem Beispiel, das in Tabelle 1 unten bereitgestellt wird:
    Figure 00460001
    Tabelle 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).
  • Bei bestimmten Ausführungsbeispielen kann ein Benutzer programmatisch die Funktion-ID-Tabelle für ein gegebenes Instrument erweitern. Wenn erwünscht ist, dass das Synchronisationsmodul programmiert ist, um zu verursachen, dass sein zugeordnetes Instrument auf ein externes Ereignis antwortet, kann z. B. eine neue Funktion zu der Tabelle hinzugefügt werden.
  • Ein anderer Datentyp ist Event ID (Ereignis-ID) („EID"). Der EID ist ein benutzerdefinierter Wert (z. B. eine 16-Bit-Ganzzahl), der in einer Rundsendeereignismeldung umfasst ist, um ein Ereignis zu identifizieren. Bei der Eingabe einer Ereignismeldung liest ein Synchronisationsmodul 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 Synchronisationsmodul konfiguriert/programmiert wurde, um eine Antwortaktion zu unternehmen). An dem Ausgang fügt das Synchronisationsmodul den EID zu dem Ereignismeldungspaket hinzu, so dass andere Vorrichtungen die Quelle des Ereignisses identifizieren können. Im Allgemeinen ermöglicht dies dem Benutzer, EID-Werte zu definieren, die mit FID-Werten verwendet werden.
  • Eine Function ID to Event ID map (Funktions-ID zu Event-ID-Abbildung) wird bei dieser Beispielimplementierung vorgelegt. Das heißt, der Ereignisverwalter bei jedem Synchronisationsmodul 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 denselben 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.
  • Ein Beispiel einer solchen Tabelle, die in einem Synchronisationsmodul implementiert sein kann, ist in Tabelle 2 unten bereitgestellt.
  • Figure 00480001
  • Figure 00490001
    Tabelle 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 des Synchronisationsmoduls 16B (3) gespeichert werden können. Die programmierten Ereignis-Informationen 102A und 102C der Steuerung 11 und des Synchronisationsmoduls 17B können auf ähnliche Weise angeordnet sein.
  • 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. Es ist möglich, mehrere EIDs für einen gegebenen FID zu spezifizieren (und freizugeben). Dies gibt den Ereignisverwalter frei, um die selbe Funktion auszuführen, wenn einer der EIDs empfangen wird.
  • 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
  • Ereignismeldungen werden unter Verwendung des SendEvent()-Rufs (Ereignissenderuf) gesendet. Üblicherweise wird diese Routine von innerhalb Benutzer-Rückrufroutinen gerufen. Die Daten, die mit dem Ereignis gesendet werden, sind vorzugs weise minimal, um Netzwerklatenzzeitprobleme zu vermeiden/minimieren.
  • 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.
  • Eine andere API-Funktion ist GetCurrentTime() (aktuelle Zeit erhalten). Diese Funktion bringt den aktuellen Wert des IEEE-1588-Takts zurück.
  • 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.
  • 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.
  • 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ückruffunktion gerufen, wenn eine Ereignismeldung empfangen wird, die auf die gegebene Funktion abbildet.
  • Die „CancelCallBackFn" wird gerufen, immer wenn die Funktion gesperrt wird. Wenn die Funktion bereits gesperrt ist, wird der 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, die erzwingen kann, dass einige Zeitbomben ignoriert werden und eine Warnung/Fehler 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.
  • Bei dieser Beispielimplementierung werden zu Rückruf-Funktionen die nachfolgenden Parameter geleitet:
    Funktion-ID
    Ereignis-ID
    Zeitstempel
    Verkäuferspezifische Daten
  • Um unnötige Funktionsrufe zu vermeiden, können beliebige der Rückruffunktionen Null sein.
  • 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 Zeitver zö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.
  • 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.
  • 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.
  • 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 für entweder FID oder EID spezifiziert ist, wird der Parameter ignoriert und der andere Parameter (vermutlich ungleich Null) wird verwendet.
  • 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.
  • 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 verursachen würde.
  • 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 CallBackFn für eine Ausführung gerufen.
  • 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.
  • 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.
  • 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.
  • Der Ereignisverwalter umfasst eine Netzwerkhintergrundroutine, die nach Befehlen auf dem Kommunikationsnetzwerk hört und entsprechende API-Rufe ausführt. Diese Funktionalität gibt einen (entfernten) Host-Computer frei, um ein Synchronisationsmodul für messspezifische Aufgaben zu programmieren. Der Steuerungscomputer kann z. B. ein Synchronisationsmodul programmieren, um zu verursachen, dass sein zugeordnetes Instrument eine Messung startet, wenn eine bestimmte Ereignismeldung durch das Synchronisationsmodul empfangen wird. Um dies durchzuführen, sendet der Host-Computer einen Programmierungsbefehl zu dem Synchronisationsmodul.
  • Wie oben beschrieben, hört der Ereignisverwalter auch nach Rundsende-Ereignismeldungen von anderen Vorrichtungen (z. B. anderen Synchronisationsmodulen und/oder Instrumenten). Dies bedeutet, dass der Ereignisverwalter dieser Beispielimplementierung zwei Netzwerkhörer umfasst: einen zum Hören nach Ereignismeldungen von anderen Vorrichtungen (der an einem Sammelsende-UDP-Tor hört), und einen zum Hören nach entfernten Programmierungsbefehlen (der an einem TCP-Tor hört).
  • 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.
  • 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.
  • Bezug nehmend auf 5 ist ein Operationsflussdiagramm zum Synchronisieren der Operation einer Mehrzahl von vernetzten Vorrichtungen gemäß einem Ausführungsbeispiel gezeigt. Bei diesem Beispiel ist ein Synchronisationsmodul einem Instrument zugeordnet und synchronisiert die Operation des Instruments mit einer Operation von anderen Vorrichtungen ansprechend auf Ereignismeldungen. Bei dem Operationsblock 51 wird ein Synchronisationsmodul mit einem Instrument schnittstellenmäßig verbunden. Bei Operationsblock 52 wird das Synchronisationsmodul programmiert, um eine Aktion zu definieren, die das Instrument ansprechend auf ein spezifisches Ereignis unternehmen soll. Zum Beispiel wird das Synchronisationsmodul 16 der Quelle 12 bei dem Beispiel aus 1 zugeordnet, und ein solches Synchronisationsmodul 16 kann programmiert sein, um zu verursachen, dass die Quelle 12 ihre Frequenz (die definierte Aktion) ändert, ansprechend darauf, dass das Synchronisationsmodul 16 eine Ereignismeldung empfängt, die ein Ereignis Nr.1 identifiziert (das spezifizierte Ereignis). Bei Operationsblock 53 empfängt das Synchronisationsmodul Meldungen über ein Kommunikationsnetzwerk von zumindest einer anderen Vorrichtung, mit der das Synchronisationsmodul temporär synchronisiert ist, wobei die Meldungen jeweils ein Ereignis identifizieren und einen Zeitstempel umfassen. Die zumindest eine andere Vorrichtung, mit der das Synchronisationsmodul temporär synchronisiert ist, kann in diesem Fall ein anderes Synchronisationsmodul sein, das einem anderen Instrument zugeordnet ist, oder kann ein anderes Instrument sein, das diese Synchronisation und Verwendung von Ereignismeldungen unterstützt.
  • Bei Operationsblock 54 bestimmt das Synchronisationsmodul, ob ein Ereignis, das durch eine empfangene Meldung identifiziert wird, das spezifizierte Ereignis ist. Und bei Block 55, wenn das Ereignis, das durch die empfangene Meldung identifiziert wird, das spezifizierte Ereignis ist, dann verursacht das Synchronisationsmodul, dass sein zugeordnetes Instrument die definierte Aktion basierend auf dem Zeitstempel der empfangenen Meldung unternimmt.
  • Bezug nehmend auf 6 ist ein Operationsflussdiagramm zum Synchronisieren der Operation einer Mehrzahl von vernetzten Vorrichtungen gemäß einem anderen Ausführungsbeispiel gezeigt. Bei diesem Beispiel ist ein Synchronisationsmodul einem Instrument zugeordnet und synchronisiert die Operation des Instruments über eine zeitbasierte Technik. Bei Operationsblock 61 wird eine Meldung durch ein Synchronisationsmodul empfangen, das mit einer ersten einer Mehrzahl von Vorrichtungen schnittstellenmäßig verbunden ist, wobei die Meldung eine Identifikation einer Aktion und eine Detonationszeit umfasst. Die Meldung kann z. B. von einer Steuerung empfangen werden (wie z. B. Steuerung 11). Die Aktion, die in der Meldung identifiziert ist, kann eine Mehrzahl von Aktionen sein. Die Detonationszeit kann eine absolute Zeit oder eine relative Zeit sein. Das Synchronisationsmodul weist einen lokalen Takt auf, der mit einem lokalen Takt einer zweiten der Mehrzahl von Vorrichtungen synchronisiert ist, und das Synchronisationsmodul ist kommunikativ mit der zweiten Vorrichtung über ein Kommunikationsnetzwerk gekoppelt. Wie oben beschrieben ist, können die lokalen Takte auf einen hohen Präzisionsgrad synchronisiert werden unter Verwendung einer Synchronisationstechnik, wie z. B. IEEE 1588, NTP oder GPS.
  • Bei Operationsblock 62 überwacht das Synchronisationsmodul seinen synchronisierten Takt auf das Auftreten der Detonationszeit hin. Gemäß verschiedenen Ausführungsbeispielen kann das Überwachen des synchronisierten Takts im Hinblick auf das Auftreten einer Detonationszeit durch eine Hardwarelogik und/oder Softwarelogik durchgeführt werden. Zum Beispiel, bei einer Implementierung, nachdem der Ereignisverwalter eine Meldung empfängt, die eine Detonationszeit für eine Zeitbombe einstellt, speichert der Ereignisverwalter die Detonationszeit in einem Hardwareregister. Die Hardwarelogik ist umfasst, die die Detonationszeit in dem Hardwareregister mit der aktuellen Zeit des lokalen IEEE-1588-Takts vergleicht, und wenn die Zeit des lokalen Takts gleich der Detonationszeit ist, erzeugt sie ein Interrupt. Die Interrupt-Dienstroutine (ISR) verursacht, dass der Ereignisverwalter die entsprechende Aktion auslöst, die durch das zugeordnete Instrument nach der Detonation der Zeitbombe unternommen werden soll. Alternativ könnte der lokale 1588-Takt implementiert sein, um ein Interrupt an jedem Taktzyklus zu erzeugen, und der Ereignisverwalter kann die aktuelle Zeit des lokalen Takts mit der empfangenen Detonationszeit vergleichen. Diese alternative Technik zum Verwenden der Software zum Überwachen des lokalen Takts im Hinblick auf die empfangene Detonationszeit ist jedoch nicht so effizient wie das Überwachen des Takts im Hinblick auf die Detonationszeit in der Hardwarelogik.
  • Nach dem Auftritt der Detonationszeit verursacht das Synchronisationsmodul, dass die erste Vorrichtung die Aktion bei Operationsblock 63 ausführt. Somit, wie oben beschrie ben wurde, kann die gewünschte Aktion programmiert werden, um an der ersten Vorrichtung zu einer gewünschten Zeit aufzutreten (entweder absolute Zeit oder relative Zeit), und da der Takt des Synchronisationsmoduls mit dem der zweiten Vorrichtung synchronisiert ist, kann die Aktion programmiert sein, um an der ersten Vorrichtung in einer gewünschten Koordination relativ zu dem Auftritt von einer oder mehreren Aktionen auf der zweiten Vorrichtung aufzutreten.
  • Ein anderes beispielhaftes Operationsflussdiagramm gemäß bestimmten Ausführungsbeispielen ist in 7 gezeigt. Bei Operationsblock 71 ist ein Synchronisationsmodul schnittstellenmäßig mit einem Instrument verbunden, wobei das Synchronisationsmodul eine Funktionalität für eine Synchronisationsoperation des Instruments mit zumindest einem anderen Instrument liefert. Wie oben beschrieben ist, kann das Synchronisationsmodul eine meldungsbasierte und/oder zeitbasierte Synchronisationsfunktion liefern, als Beispiele. Bei Operationsblock 72 löst das Synchronisationsmodul zumindest eine Aktion an dem zugeordneten Instrument aus, um das Verhalten derart zu synchronisieren, dass zumindest eine Aktion mit dem Verhalten einer anderen Aktion durch zumindest ein anderes Instrument synchronisiert ist. Als Beispiel kann das Synchronisationsmodul eine Aktion an seinem zugeordneten Instrument auslösen, ansprechend darauf, dass das Synchronisationsmodul eine bestimmte Ereignismeldung über ein Kommunikationsnetzwerk empfängt und/oder ansprechend auf das Detonieren einer Zeitbombe auf dem Synchronisationsmodul.
  • Im Hinblick auf das oben Genannte werden verschiedene Ausführungsbeispiele von Synchronisationsmodulen bereitgestellt, die schnittstellenmäßig mit Ursprungsvorrichtungen verbunden werden können, um eine Unterstützung für Synchronisationsoperationen zu liefern, wie z. B. eine meldungsbasierte und/oder zeitbasierte Synchronisation, die die Ursprungsvorrichtungen ansonsten nicht unterstützen würden.
  • 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 Schritte, die bereits existieren oder später entwickelt werden, die im Wesentlichen die selbe Funktion ausführen oder im Wesentlichen das selbe 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.

Claims (45)

  1. System, das folgende Merkmale aufweist: ein Synchronisationsmodul (16), das mit einer ersten von zumindest zwei Vorrichtungen (12, 13) schnittstellenmäßig verbunden ist, wobei das Synchronisationsmodul eine Einrichtung zum Synchronisieren seines Takts mit zumindest einer zweiten der zumindest zwei Vorrichtungen umfasst; wobei das Synchronisationsmodul eine Einrichtung zum Empfangen einer Meldung über ein Kommunikationsnetzwerk aufweist, die einen Zeitstempel umfasst und ein Ereignis identifiziert; und wobei das Synchronisationsmodul eine Einrichtung zum Bestimmen einer Antwortaktion aufweist, um zu verursachen, dass die erste der zumindest zwei Vorrichtungen dieselbe als Antwort auf das identifizierte Ereignis unternimmt, wobei eine bestimmte Aktion basierend auf dem Zeitstempel unternommen wird, der in der Meldung umfasst ist.
  2. System gemäß Anspruch 1, bei dem die Einrichtung zum Synchronisieren folgendes Merkmal aufweist: eine Einrichtung zum Implementieren des IEEE-1588-Standards.
  3. System gemäß Anspruch 1 oder 2, bei dem die Einrichtung zum Synchronisieren folgendes Merkmal aufweist: eine Einrichtung zum aktiven Synchronisieren des Takts des Synchronisationsmoduls mit einem Takt der zumindest einen zweiten der zumindest zwei Vorrichtungen durch Treten in Wechselwirkung mit der zumindest einen zweiten der zumindest zwei Vorrichtungen.
  4. System gemäß einem der Ansprüche 1 bis 3, bei dem der Zeitstempel auf dem Takt einer Vorrichtung basiert, die die Meldung sendet, und bei dem der Takt des Synchronisationsmoduls mit dem Takt der Sendevorrichtung synchronisiert ist.
  5. System gemäß einem der Ansprüche 1 bis 4, bei dem das Synchronisationsmodul ferner folgendes Merkmal aufweist: eine Einrichtung zum Kommunizieren einer Meldung zu der zweiten der zumindest zwei Vorrichtungen.
  6. System gemäß Anspruch 5, bei dem die Einrichtung zum Kommunizieren folgendes Merkmal aufweist: eine Einrichtung zum Rundsenden der Meldung über das Kommunikationsnetzwerk.
  7. System gemäß Anspruch 6, bei dem die Einrichtung zum Rundsenden die Meldung über ein Benutzerdatagrammprotokoll (UDP) sendet.
  8. 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.
  9. System gemäß einem der Ansprüche 1 bis 8, bei dem das Synchronisationsmodul im Hinblick auf die Antwortaktion programmierbar ist, die ansprechend auf das identifizierte Ereignis unternommen werden soll.
  10. System gemäß einem der Ansprüche 1 bis 9, bei dem die zumindest zwei Vorrichtungen Instrumente in einem Messsystem sind.
  11. System gemäß Anspruch 10, bei dem die zumindest zwei Vorrichtungen synthetische Instrumente sind.
  12. System gemäß einem der Ansprüche 1 bis 11, bei dem die zweite der zumindest zwei Vorrichtungen ein Synchronisationsmodul aufweist, das mit einem Instrument gekoppelt ist.
  13. Synchronisationsmodul (16), das folgende Merkmale aufweist: eine Schnittstelle (108A, 112) zum kommunikativen Koppeln mit einer ersten von zumindest zwei Vorrichtungen; einen lokalen Takt, der mit einem Takt von zumindest einer zweiten der zumindest zwei Vorrichtungen synchronisiert ist; und einen Ereignisverwalter, der wirksam ist, um Meldungen über ein Kommunikationsnetzwerk 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 die erste Vorrichtung ausgelöst werden soll, mit der das Synchronisationsmodul gekoppelt ist, ansprechend auf ein identifiziertes Ereignis in einer empfangenen Meldung.
  14. Synchronisationsmodul gemäß Anspruch 13, bei dem, 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.
  15. Synchronisationsmodul gemäß Anspruch 14, bei dem die Aktion an dem Zeitstempel ausgelöst wird, der in der empfangenen Meldung umfasst ist.
  16. Synchronisationsmodul gemäß Anspruch 14 oder 15, bei dem die Aktion zu einer definierten Zeit relativ zu dem Zeitstempel in der empfangenen Meldung ausgelöst wird.
  17. Synchronisationsmodul gemäß einem der Ansprüche 13 bis 16, wobei das Synchronisationsmodul und die zumindest eine zweite der zumindest zwei Vorrichtungen aktiv ihre Takte dadurch synchronisieren, dass sie miteinander in Wechselwirkung treten.
  18. Synchronisationsmodul gemäß einem der Ansprüche 13 bis 17, bei dem zumindest ein Abschnitt der Meldungen durch die zumindest eine zweite der zumindest zwei Vorrichtungen gesendet wird, und bei dem der Zeitstempel auf dem Takt des zumindest einen zweiten der zumindest zwei Vorrichtungen basiert.
  19. Synchronisationsmodul gemäß einem der Ansprüche 13 bis 18, bei dem der Ereignisverwalter wirksam ist, um eine Meldung über das Kommunikationsnetzwerk ansprechend auf ein identifiziertes Ereignis rundzusenden.
  20. Synchronisationsmodul gemäß einem der Ansprüche 13 bis 19, bei dem der Ereignisverwalter im Hinblick auf die Aktion programmierbar ist, die ansprechend auf das identifizierte Ereignis ausgelöst werden soll.
  21. Synchronisationsmodul (16), das folgende Merkmale aufweist: eine Schnittstelle (108A, 112) zum kommunikativen Koppeln mit einem Instrument (12); und einen Ereignisverwalter (101B), der wirksam ist, um zumindest eine Aktion an dem Instrument auszulösen, um das Verhalten der zumindest einen Aktion mit dem Verhalten einer anderen Aktion durch zumindest ein anderes Instrument (13) auszulösen.
  22. Synchronisationsmodul gemäß Anspruch 21, bei dem der Ereignisverwalter wirksam ist, um die zumindest eine Aktion an dem Instrument auszulösen, ansprechend auf eine Meldung, die über ein Kommunikationsnetzwerk (18) empfangen wird.
  23. Synchronisationsmodul (16) gemäß Anspruch 22, bei dem die Meldung die Identifikation eines Ereignisses und eines Zeitstempels umfasst.
  24. Synchronisationsmodul gemäß Anspruch 23, bei dem der Ereignisverwalter im Hinblick auf die zumindest eine Aktion programmierbar ist, die ansprechend auf ein spezifiziertes Ereignis ausgelöst werden soll.
  25. Synchronisationsmodul gemäß Anspruch 23 oder 24, bei dem der Ereignisverwalter die zumindest eine Aktion basierend auf dem Zeitstempel auslöst, der in der Meldung umfasst ist.
  26. Synchronisationsmodul gemäß einem der Ansprüche 21 bis 25, bei dem der Ereignisverwalter wirksam ist, um die zumindest eine Aktion an dem Instrument ansprechend darauf auszulösen, dass eine geplante Zeit auftritt.
  27. Synchronisationsmodul gemäß Anspruch 26, bei dem der Ereignisverwalter im Hinblick auf die geplante Zeit und die zumindest eine Aktion programmierbar ist, die zu der geplanten Zeit ausgelöst werden soll.
  28. Verfahren, das folgende Schritte aufweist: schnittstellenmäßiges Verbinden (71) eines Synchronisationsmoduls (16) mit einem Instrument (12), wobei das Synchronisationsmodul eine Funktionalität zum Synchronisieren einer Operation des Instruments mit zumindest einem anderen Instrument (24) schafft; und Auslösen (72) von zumindest einer Aktion durch das Synchronisationsmodul an dem Instrument, um das Verhalten der zumindest einen Aktion durch das Instrument mit dem Verhalten einer anderen Aktion durch das zumindest eine andere Instrument zu synchronisieren.
  29. Verfahren gemäß Anspruch 28, bei dem das Auslösen folgenden Schritt aufweist: Aktivieren einer Auslöserleitung, die von dem Synchronisationsmodul zu dem Instrument gekoppelt ist.
  30. Verfahren gemäß Anspruch 28 oder 29, bei dem das Auslösen folgenden Schritt aufweist: Senden eines Befehls von dem Synchronisationsmodul zu dem Instrument.
  31. Verfahren gemäß einem der Ansprüche 28 bis 30, bei dem das Auslösen folgenden Schritt aufweist: Auslösen der zumindest einen Aktion an dem Instrument ansprechend auf eine Meldung, die über ein Kommunikationsnetzwerk empfangen wird.
  32. Verfahren gemäß Anspruch 31, bei dem die Meldung die Identifikation eines Ereignisses und eines Zeitstempels umfasst.
  33. Verfahren gemäß Anspruch 32, das ferner folgenden Schritt aufweist: Empfangen einer Programmierungsmeldung durch das Synchronisationsmodul, die den Ereignisverwalter im Hinblick auf zumindest eine Aktion programmiert, die ansprechend auf ein spezifiziertes Ereignis ausgelöst werden soll.
  34. Verfahren gemäß Anspruch 32 oder 33, bei dem das Auslösen ferner folgenden Schritt aufweist: Auslösen der zumindest einen Aktion basierend auf dem Zeitstempel, der in der Meldung umfasst ist.
  35. Verfahren gemäß einem der Ansprüche 28 bis 34, bei dem das Auslösen folgenden Schritt aufweist: Auslösen der zumindest einen Aktion an dem Instrument ansprechend darauf, dass eine geplante Zeit auftritt.
  36. Verfahren gemäß Anspruch 35, das ferner folgenden Schritt aufweist: Empfangen einer Programmierungsmeldung durch das Synchronisationsmodul, die den Ereignisverwalter im Hinblick auf die geplante Zeit und die zumindest eine Aktion programmiert, die zu der geplanten Zeit ausgelöst werden soll.
  37. Verfahren, das folgende Schritte aufweist: schnittstellenmäßiges Verbinden (51) eines Synchronisationsmoduls mit einem Instrument; Programmieren (52) des Synchronisationsmoduls, um eine Aktion zu definieren, die das Instrument ansprechend auf ein spezifiziertes Ereignis unternehmen soll; Empfangen (53) von Meldungen durch das Synchronisationsmodul über ein Kommunikationsnetzwerk von zumindest einer anderen Vorrichtung, mit der das Synchronisationsmodul temporär synchronisiert ist, wobei die Meldungen jeweils ein Ereignis identifizieren und einen Zeitstempel umfassen; Bestimmen (54), durch das Synchronisationsmodul, 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 Verursachen (55) durch das Synchronisationsmodul, dass das Instrument die definierte Aktion unternimmt, basierend auf dem Zeitstempel der empfangenen Meldung.
  38. Verfahren gemäß Anspruch 37, bei dem das Verursachen, dass das Instrument die definierte Aktion basierend auf dem Zeitstempel der empfangenen Meldung unternimmt, folgenden Schritt aufweist: Verursachen, dass das Instrument die definierte Aktion an dem Zeitstempel der empfangenen Meldung unternimmt.
  39. Verfahren gemäß Anspruch 37, bei dem das Verursachen, dass das Instrument die definierte Aktion basierend auf dem Zeitstempel der empfangenen Meldung unternimmt, folgenden Schritt aufweist: Verursachen, dass das Instrument die definierte Aktion zu einer definierten Zeit relativ zu dem Zeitstempel der empfangenen Meldung unternimmt.
  40. Verfahren gemäß einem der Ansprüche 37 bis 39, bei dem die zumindest eine andere Vorrichtung ein Synchronisationsmodul aufweist, das mit einem Instrument schnittstellenmäßig verbunden ist.
  41. Verfahren, das folgende Schritte aufweist: Empfangen (61), durch ein Synchronisationsmodul, das mit einer ersten einer Mehrzahl von Vorrichtungen schnittstellenmäßig verbunden ist, einer Meldung, die eine Identifikation einer Aktion und eine Detonationszeit umfasst, wobei das Synchronisationsmodul einen lokalen Takt aufweist, der mit einem lokalen Takt einer zweiten der Mehrzahl von Vorrichtungen synchronisiert ist, und wobei das Synchronisationsmodul kommunikativ mit der zweiten der Mehrzahl von Vorrichtungen über ein Kommunikationsnetzwerk gekoppelt ist; Überwachen (62), durch das Synchronisationsmodul, seines lokalen Takts im Hinblick auf das Auftreten der Detonationszeit; und auf das Auftreten der Detonationszeit hin, dann Verursachen (63) durch das Synchronisationsmodul, dass die erste Vorrichtung, mit der es schnittstellenmäßig verbunden ist, die Aktion ausführt.
  42. Verfahren gemäß Anspruch 41, bei dem die Aktion das Durchführen einer Messung aufweist.
  43. Verfahren gemäß Anspruch 41 oder 42, bei dem die synchronisierten Takte synchronisiert werden, unter Verwendung von einem ausgewählt aus der Gruppe bestehend aus: IEEE 1588 und Netzwerkzeitprotokoll (NTP).
  44. Verfahren gemäß einem der Ansprüche 41 bis 43, bei dem die Detonationszeit eine absolute Zeit aufweist.
  45. Verfahren gemäß einem der Ansprüche 41 bis 43, bei dem die Detonationszeit eine relative Zeit aufweist.
DE102005029439A 2004-09-13 2005-06-24 Zusatz-Modul zum Synchronisieren von Operationen einer Mehrzahl von Vorrichtungen Ceased DE102005029439A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/939,867 2004-09-13
US10/939,867 US7561598B2 (en) 2004-09-13 2004-09-13 Add-on module for synchronizing operations of a plurality of devices

Publications (1)

Publication Number Publication Date
DE102005029439A1 true DE102005029439A1 (de) 2006-03-30

Family

ID=35221291

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005029439A Ceased DE102005029439A1 (de) 2004-09-13 2005-06-24 Zusatz-Modul zum Synchronisieren von Operationen einer Mehrzahl von Vorrichtungen

Country Status (4)

Country Link
US (1) US7561598B2 (de)
JP (1) JP2006081194A (de)
DE (1) DE102005029439A1 (de)
GB (1) GB2418114A (de)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680053B1 (en) 2004-10-29 2010-03-16 Marvell International Ltd. Inter-device flow control
WO2006063922A1 (de) * 2004-12-16 2006-06-22 Siemens Aktiengesellschaft Synchronisiermodul
US20070055806A1 (en) * 2005-09-02 2007-03-08 John Bruce Stratton Adapting legacy instruments to an instrument system based on synchronized time
US7174474B1 (en) * 2005-10-12 2007-02-06 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Distributed autonomous control system for multi-axis motion control
US20070223477A1 (en) * 2006-03-27 2007-09-27 Eidson John C Packet recognizer with hardware/software tradeoff
DE102006031580A1 (de) 2006-07-03 2008-01-17 Faro Technologies, Inc., Lake Mary Verfahren und Vorrichtung zum dreidimensionalen Erfassen eines Raumbereichs
US8345561B2 (en) * 2006-08-22 2013-01-01 Rueters America Inc. Time monitor
US20080074285A1 (en) * 2006-08-31 2008-03-27 Guthrie Kevin D Interface between meter and application (IMA)
US7843834B2 (en) * 2006-09-15 2010-11-30 Itron, Inc. Use of minimal propagation delay path to optimize a mesh network
CN101212309B (zh) * 2006-12-30 2011-06-15 华为技术有限公司 一种控制上报事件的时间戳的方法
CN101212308A (zh) * 2006-12-30 2008-07-02 华为技术有限公司 一种统计上报方法
US20090063709A1 (en) * 2007-08-27 2009-03-05 Thomas Ambler Rice Method for Loading and Maintaining Executable Code Extensions in Instruments
CN101399757B (zh) * 2007-09-25 2011-02-02 华为技术有限公司 跟踪时钟源的方法和装置
US8854924B2 (en) * 2007-10-29 2014-10-07 Agilent Technologies, Inc. Method, a device and a system for executing an action at a predetermined time
GB2454936B (en) * 2007-11-23 2012-09-19 Ubiquisys Ltd Oscillator calibration
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 (de) 2009-03-25 2014-11-20 Faro Technologies, Inc. Vorrichtung zum optischen Abtasten und Vermessen einer Umgebung
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 (de) 2009-11-20 2011-05-26 Faro Technologies, Inc., Lake Mary Vorrichtung zum optischen Abtasten und Vermessen einer Umgebung
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
US8630314B2 (en) 2010-01-11 2014-01-14 Faro Technologies, Inc. Method and apparatus for synchronizing measurements taken by multiple metrology devices
US8819161B1 (en) 2010-01-18 2014-08-26 Marvell International Ltd. Auto-syntonization and time-of-day synchronization for master-slave physical layer devices
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
US8875409B2 (en) 2010-01-20 2014-11-04 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US8677643B2 (en) 2010-01-20 2014-03-25 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US8615893B2 (en) 2010-01-20 2013-12-31 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine having integrated software controls
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
CN102947667A (zh) 2010-01-20 2013-02-27 法罗技术股份有限公司 具有可移除的附件装置的坐标测量机
US8028432B2 (en) 2010-01-20 2011-10-04 Faro Technologies, Inc. Mounting device for a coordinate measuring machine
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
CN102782442A (zh) 2010-01-20 2012-11-14 法罗技术股份有限公司 具有被照亮的探针端的坐标测量机及操作方法
US8638446B2 (en) 2010-01-20 2014-01-28 Faro Technologies, Inc. Laser scanner or laser tracker having a projector
US8898919B2 (en) 2010-01-20 2014-12-02 Faro Technologies, Inc. Coordinate measurement machine with distance meter used to establish frame of reference
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
US10191783B2 (en) 2010-02-26 2019-01-29 Red Hat, Inc. UDP multicast over enterprise service bus
DE102010020925B4 (de) 2010-05-10 2014-02-27 Faro Technologies, Inc. Verfahren zum optischen Abtasten und Vermessen einer Umgebung
US9012853B2 (en) 2010-05-13 2015-04-21 Flir Detection, Inc. Radiation measurement using timing-over-ethernet protocol
US9055141B2 (en) * 2010-06-24 2015-06-09 Vladimir Smelyansky Distinctive ringing
US8489775B2 (en) * 2010-07-21 2013-07-16 Dell Products L.P. System-wide time synchronization across power management interfaces and sensor data
US9168654B2 (en) 2010-11-16 2015-10-27 Faro Technologies, Inc. Coordinate measuring machines with dual layer arm
US10200476B2 (en) 2011-10-18 2019-02-05 Itron, Inc. Traffic management and remote configuration in a gateway-based network
DE102012100609A1 (de) 2012-01-25 2013-07-25 Faro Technologies, Inc. Vorrichtung zum optischen Abtasten und Vermessen einer Umgebung
US8997362B2 (en) 2012-07-17 2015-04-07 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine with optical communications bus
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 (de) 2012-10-05 2014-04-10 Faro Technologies, Inc. Vorrichtung zum optischen Abtasten und Vermessen einer Umgebung
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
US9414399B2 (en) 2013-02-07 2016-08-09 Commscope Technologies Llc Radio access networks
US9936470B2 (en) * 2013-02-07 2018-04-03 Commscope Technologies Llc Radio access networks
US9380466B2 (en) 2013-02-07 2016-06-28 Commscope Technologies Llc Radio access networks
US20150139250A1 (en) * 2013-11-18 2015-05-21 Pica8, Inc. Synchronized network statistics collection
CA3167280A1 (en) 2014-06-09 2015-12-17 Airvana Lp Radio access networks
CN105323054B (zh) * 2014-06-26 2019-05-17 中兴通讯股份有限公司 时钟同步方法及装置
US10785791B1 (en) 2015-12-07 2020-09-22 Commscope Technologies Llc Controlling data transmission in radio access networks
DE102015122844A1 (de) 2015-12-27 2017-06-29 Faro Technologies, Inc. 3D-Messvorrichtung mit Batteriepack
US11678358B2 (en) 2017-10-03 2023-06-13 Commscope Technologies Llc Dynamic downlink reuse in a C-RAN
WO2019222416A1 (en) 2018-05-16 2019-11-21 Commscope Technologies Llc Downlink multicast for efficient front-haul utilization in a c-ran
CN111989971A (zh) 2018-05-16 2020-11-24 康普技术有限责任公司 C-ran中的动态上行链路重复使用
WO2019236689A1 (en) 2018-06-08 2019-12-12 Commscope Technologies Llc Automatic transmit power control for radio points of a centralized radio access network that primarily provide wireless service to users located in an event area of a venue
CN112640379A (zh) 2018-09-04 2021-04-09 康普技术有限责任公司 用于集中式无线电接入网络中的前传速率降低

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293374A (en) * 1989-03-29 1994-03-08 Hewlett-Packard Company Measurement system control using real-time clocks and data buffers
US5774377A (en) * 1991-07-30 1998-06-30 Hewlett-Packard Company Method and apparatus for monitoring a subsystem within a distributed system for providing an archive of events within a certain time of a trap condition
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
US5987022A (en) * 1996-12-27 1999-11-16 Motorola, Inc. Method for transmitting multiple-protocol packetized data
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
US7162510B2 (en) * 1998-03-16 2007-01-09 Schneider Automation Inc. Communication system for a control system over Ethernet and IP networks
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
US6724729B1 (en) * 1998-12-30 2004-04-20 Finisar Corporation System analyzer and method for synchronizing a distributed system
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
US6611922B2 (en) * 1999-08-09 2003-08-26 Power Measurement, Ltd. Power system time synchronization device and method for sequence of event recording
US6633587B1 (en) 1999-08-26 2003-10-14 Worldcom, Inc. System and method for delivering reliable datagram service through connection-oriented service
US6543005B1 (en) 1999-10-27 2003-04-01 Oracle Corporation Transmitting data reliably and efficiently
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
JP2002124992A (ja) 2000-08-10 2002-04-26 Kddi Corp マルチキャストによるデータファイル配信方法
US7028204B2 (en) * 2000-09-06 2006-04-11 Schneider Automation Inc. Method and apparatus for ethernet prioritized device clock synchronization
US7054399B1 (en) * 2000-09-29 2006-05-30 Rockwell Automation Technologies, Inc. Low overhead synchronized activation of functional modules
US6983391B2 (en) 2001-05-09 2006-01-03 Agilent Technologies, Inc. Modular system with synchronized timing
US20030023739A1 (en) 2001-07-28 2003-01-30 Lan Ngoc Vu System and method for multi-tier multi-casting over the Internet
US6741952B2 (en) * 2002-02-15 2004-05-25 Agilent Technologies, Inc. Instrument timing using synchronized clocks
US7114091B2 (en) * 2002-03-18 2006-09-26 National Instruments Corporation Synchronization of distributed systems
US7254191B2 (en) * 2002-04-22 2007-08-07 Cognio, Inc. System and method for real-time spectrum analysis in a radio device
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
DE10333934A1 (de) * 2003-07-25 2005-02-17 Robert Bosch Gmbh Synchronisation von datenverarbeitenden Einheiten
US7535851B2 (en) * 2003-08-26 2009-05-19 Finisar Corporation Discovering diagnostic port functionality in a distributed system
US7457868B1 (en) * 2003-12-30 2008-11-25 Emc Corporation Methods and apparatus for measuring network performance
US7315791B2 (en) * 2004-02-18 2008-01-01 National Instruments Corporation Application programming interface for synchronizing multiple instrumentation devices
US7478349B2 (en) * 2004-08-13 2009-01-13 National Instruments Corporation Automatically synchronizing timed circuits on I/O Devices

Also Published As

Publication number Publication date
US20060056459A1 (en) 2006-03-16
JP2006081194A (ja) 2006-03-23
GB0518523D0 (en) 2005-10-19
GB2418114A (en) 2006-03-15
US7561598B2 (en) 2009-07-14

Similar Documents

Publication Publication Date Title
DE102005029439A1 (de) Zusatz-Modul zum Synchronisieren von Operationen einer Mehrzahl von Vorrichtungen
DE102005029440A1 (de) System und Verfahren zum Synchronisieren von Operationen einer Mehrzahl von Vorrichtungen über Meldungen über ein Kommunikationsnetzwerk
DE102005029422A1 (de) System und Verfahren zum Koordinieren der Aktionen einer Mehrzahl von Vorrichtungen über ein Planen der Aktionen basierend auf synchronisierten lokalen Takten
DE102018132290B4 (de) Fahrzeuginternes System, Gateway, Relais, nichttransitorisches computerlesbares Medium zum Speichern eines Programms, Informationsverarbeitungsverfahren, Informationsverarbeitungssystem und Fahrzeug
EP1875641B1 (de) Vorrichtung zur synchronisation zweier bussysteme sowie anordnung aus zwei bussystemen
DE102007037092A1 (de) Zeitsynchronisation für netzwerkbewusste Vorrichtungen
DE102005031704B4 (de) Anordnung bei einem modularisiertem System zur Durchführung einer Zeitstempelung von Ereignissen/Referenzereignissen
DE102012101881B4 (de) Verfahren zur Bestimmung der Topologie eines seriellen asynchronen Datenbusses
DE102007044470A1 (de) Mechanismus, um eine Verzögerung von Netzwerkelementen transparent für IEEE-1588-Protokolle zu machen
DE102006012466A1 (de) Systeme und Verfahren zum Synchronisieren einer Zeit über Netze hinweg
EP1657619B1 (de) Verfahren zur Zeitsynchronisation in einem zyklisch arbeitenden Kommunikationssystem
DE102008000562A1 (de) Kommunikationssystem umfassend einen Datenbus und mehrere daran angeschlossene Teilnehmerknoten sowie Verfahren zum Betreiben eines solchen Kommunikationssystems
DE112010004237B4 (de) Techniken zur verbesserten Messung von Taktverschiebungen
EP3170285B1 (de) Verfahren zum bestimmen einer übertragungszeit eines telegramms in einem kommunikationsnetzwerk und entsprechende netzwerkkomponenten
DE10361178B4 (de) Datenalterungsüberwachungsvorrichtung für Sicherheitsnetzwerke
DE60316758T2 (de) System zur Synchronisierung von Befehlen, sowie ein Verfahren, ein Steuerungsgerät und ein Zielgerät für dasselbe System
DE60122085T2 (de) Datenverarbeitungsgerät für serielles Kommunikationssystem
EP2619935A1 (de) Vorrichtung und verfahren zur bereitstellung einer globalen zeitinformation in ereignisgesteuerter buskommunikation
DE602004008647T2 (de) Ereignis-zeitstempelung
EP3814856B1 (de) Echtzeit-automatisierungseinrichtung mit einem echtzeit-datenbus
EP1315337B1 (de) Bus-Interface
EP3526930B1 (de) Verfahren zur überwachung eines netzwerks auf anomalien
WO2011117239A1 (de) Verfahren und vorrichtung zur verarbeitung von daten in einem netzwerk eines fahrzeugs
DE60034236T2 (de) System und Verfahren zur Synchronisation von Netzelementen
EP2843486A2 (de) Verfahren und Vorrichtung zum Synchronisieren einer Steuereinheit und mindestens einer zugeordneten Peripherieeinheit

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