DE102014214025B4 - Messgerät und Messverfahren zur Synchronisation von Messvorgängen - Google Patents

Messgerät und Messverfahren zur Synchronisation von Messvorgängen Download PDF

Info

Publication number
DE102014214025B4
DE102014214025B4 DE102014214025.0A DE102014214025A DE102014214025B4 DE 102014214025 B4 DE102014214025 B4 DE 102014214025B4 DE 102014214025 A DE102014214025 A DE 102014214025A DE 102014214025 B4 DE102014214025 B4 DE 102014214025B4
Authority
DE
Germany
Prior art keywords
resource
measuring
unit
measuring device
control computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102014214025.0A
Other languages
English (en)
Other versions
DE102014214025A1 (de
Inventor
Anton Strohmeier
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.)
Rohde and Schwarz GmbH and Co KG
Original Assignee
Rohde and Schwarz GmbH and Co KG
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 Rohde and Schwarz GmbH and Co KG filed Critical Rohde and Schwarz GmbH and Co KG
Priority to DE102014214025.0A priority Critical patent/DE102014214025B4/de
Priority to US14/802,708 priority patent/US20160018802A1/en
Publication of DE102014214025A1 publication Critical patent/DE102014214025A1/de
Application granted granted Critical
Publication of DE102014214025B4 publication Critical patent/DE102014214025B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric

Abstract

Messgerät (30) mit einer Messeinrichtung (34), einer Steuereinrichtung (32) und einer Kommunikationseinrichtung (33), wobei die Messeinrichtung (34) ausgebildet ist, um mittels der Kommunikationseinrichtung (33) und der Steuereinrichtung (32) von Steuerrechnern (10, 11, 12, 13) zur Ausführung von Messvorgängen gesteuert zu werden, und wobei die Messeinrichtung (34) und/oder die Steuereinrichtung (32) über zumindest eine Einheit einer Ressource verfügen, welche gleichzeitig von lediglich einem Messvorgang nutzbar ist, dadurch gekennzeichnet, dass das Messgerät (30) ausgebildet ist, – um einem reservierenden Steuerrechner (10, 11, 12, 13) bei einer Reservierung einer Einheit der Ressource einen Schlüssel zu übertragen, und – um eine Freigabe der Einheit der Ressource nur bei Übermittlung des Schlüssels durch den reservierenden Steuerrechner (10, 11, 12, 13) durchzuführen.

Description

  • Die Erfindung betrifft ein Messgerät und Messverfahren, bei welchen ein Messgerät von zumindest zwei Steuerrechnern zur Durchführung von Messvorgängen gesteuert wird.
  • Insbesondere in Produktionsumgebungen wird ein Messgerät häufig zur Durchführung von parallelen Messungen an mehreren Messobjekten eingesetzt. Dabei greifen mehrere Steuerrechner auf das Messgerät zu und veranlassen es zur Durchführung der Messungen. Häufig wird ein Steuerrechner für jedes zu vermessende Messobjekt eingesetzt. Um einen zuverlässig störungsfreien Betrieb des Messgeräts zu erreichen, ist hierbei bislang eine Vorhaltung sämtlicher Ressourcen des Messgeräts in einer entsprechenden Anzahl der Steuerrechner notwendig, da ansonsten eine Überlappung der Messvorgänge bei in zu geringer Anzahl vorhandener Ressourcen und damit eine Verfälschung der Messungen geschehen könnte.
  • So zeigt beispielsweise die DE 10 2011 084 143 A1 ein Messsystem, bei welchem ein Steuerrechner ein Messobjekt und ein Messgerät steuert, um eine Vermessung des Messobjekts zu bewirken. Sollen mit dem Messgerät jedoch unter Zuhilfenahme mehrerer Steuerrechner mehrere Messobjekte vermessen werden, liefert die obengenannte deutsche Patentanmeldung keine Möglichkeit, Ressourcen des Messgeräts kooperativ zu nutzen.
  • Es ist somit bei dem Stand der Technik notwendig, sämtliche Ressourcen des Messgeräts in großer Anzahl vorzuhalten, um parallel mehrere Messungen durchführen zu können. Alternativ wird das Risiko von Fehlmessungen eingegangen.
  • Die US-Patentanmeldung US 2014/0156852 A1 zeigt ein Verfahren und System zum Teilen von Test-Ressourcen durch das Internet. Dabei sind mehrere Test-Ressourcen mit einem Server verbunden. Steuerrechner können über das Internet auf die Test-Ressourcen zugreifen und diese nutzen. Dabei ist eine Reservierungsmöglichkeit einzelner Ressourcen gegeben.
  • Die US-Patentanmeldung US 2013/0326290 A1 zeigt ein System und ein Verfahren zur Ausführung Nutzer-definierter Messbefehl-Sequenzen mittels mehreren Hardware-Einheiten. Durch einen Steuerrechner werden die mehreren Hardware-Einheiten angesteuert. Es ist möglich, einzelne Hardware-Einheiten zu reservieren.
  • Die US-Patentanmeldung US 2004/0039970 A1 zeigt ein Verfahren und eine Vorrichtung zur Koordination von Gruppen heterogener Messungen. Mittels einer Kommunikationsschnittstelle, welche beispielsweise SCPI nutzt, können mehrere Messgeräte angesteuert werden.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Messgerät, ein Messsystem und ein Messverfahren zu schaffen, welche eine Steuerung durch zumindest zwei Steuerrechner erlauben und gleichzeitig einen geringen Ressourceneinsatz und eine hohe Zuverlässigkeit der Messungen erreichen.
  • Die Aufgabe wird erfindungsgemäß für das Messgerät durch die Merkmale des unabhängigen Anspruchs 1, für das Messsystem durch die Merkmale des Anspruchs 9 und für das Verfahren durch die Merkmale des unabhängigen Anspruchs 10 gelöst. Vorteilhafte Weiterbildungen sind Gegenstand der hierauf rückbezogenen Unteransprüche.
  • Ein erfindungsgemäßes Messgerät beinhaltet dabei eine Messeinrichtung, eine Steuereinrichtung und eine Kommunikationseinrichtung. Die Messeinrichtung ist dabei ausgebildet, um mittels der Kommunikationseinrichtung und der Steuereinrichtung von Steuerrechnern zur Ausführung von Messvorgängen gesteuert zu werden. Die Messeinrichtung und/oder die Steuereinrichtung verfügen dabei über zumindest eine Einheit einer Ressource, welche gleichzeitig von lediglich einem Messvorgang nutzbar ist. Das Messgerät ist weiterhin ausgebildet, um einem reservierenden Steuerrechner bei einer Reservierung einer Einheit der Ressource einen Schlüssel zu übertragen, und um eine Freigabe der Einheit der Ressource nur nach Übermittlung des Schlüssels durch den reservierenden Steuerrechner durchzuführen. So ist sichergestellt, dass die Ressource nicht durch einen anderen Steuerrechner als den reservierenden Steuerrechner reserviert werden kann.
  • Dies ist insbesondere dann relevant, wenn durch einen Kommunikationsfehler versehentlich die Ressource durch zwei verschiedene Steuerrechner gleichzeitig genutzt wird. Das Messgerät und die Steuerrechner bemerken bei einem Freigabeversuch durch einen nicht berechtigten Steuerrechner, dass mehrere Steuerrechner gleichzeitig auf die Ressource zugegriffen haben und die Messergebnisse somit in Zweifel zu ziehen sind.
  • Die Steuereinrichtung ist weiterhin bevorzugt ausgebildet, um nach Reservierung der zumindest einen Einheit der Ressource durch einen Steuerrechner, die reservierte Einheit der Ressource lediglich für von dem reservierenden Steuerrechner ausgelöste Messvorgänge zu nutzen. So wird sichergestellt, dass eine in geringer Zahl vorgehaltene Ressource, welche nur von einem Messvorgang gleichzeitig genutzt werden kann, zuverlässig nur von einem Messvorgang gleichzeitig genutzt wird. Es ist somit möglich, auf eine vielfache Vorhaltung der Ressource zu verzichten und gleichzeitig eine hohe Sicherheit der Messung zu erzielen.
  • Vorteilhafterweise verfügen die Messeinrichtung und/oder die Steuereinrichtung über mehrere Einheiten der zumindest einen Ressource. Die Steuereinrichtung ist in diesem Fall ausgebildet, um bei Reservierung einer oder mehrerer Einheiten der Ressource durch einen oder mehrere Steuerrechner die noch verfügbare Zahl von Einheiten der Ressource zu ermitteln, um reservierte Einheiten der Ressource lediglich für Messvorgänge, welche durch die jeweils reservierenden Steuerrechner ausgelöst wurden, zu nutzen, und um lediglich verfügbare Einheiten der Ressource für Messvorgänge zu nutzen, welche von beliebigen Steuerrechner ausgelöst werden. So ist es möglich, die Ressource in mehrfacher Ausführung vorzuhalten und so die Verfügbarkeit des Messgeräts zu erhöhen und gleichzeitig die Sicherheit der Messungen zu gewährleisten.
  • Bevorzugt ist die Steuereinrichtung ausgebildet, um erst nach Freigabe einer reservierten Einheit der Ressource durch den reservierenden Steuerrechner und/oder nach einem Ablauf eines vorgegebenen ersten Zeitraums, die reservierte Einheit der Ressource durch nicht von dem reservierenden Steuerrechner ausgelöste Messvorgänge zu nutzen. So wird einerseits sichergestellt, dass keine Überlappung von Messvorgängen in der Einheit der Ressource stattfindet. Andererseits wird durch die Überwachung des Ablaufs des ersten Zeitraums sichergestellt, dass ein versehentliches Ausbleiben einer Freigabe nicht zu einer dauerhaften Blockierung der Ressource führt.
  • Bevorzugt ist die Steuereinrichtung weiterhin ausgebildet, um bei einem Reservierungsversuch eines Steuerrechners zu einem Zeitpunkt, zu welchem keine Einheit der Ressource verfügbar ist, dies dem jeweiligen Steuerrechner mitzuteilen. Dies bewirkt, dass der Steuerrechner nicht unnötig lange auf die Zuteilung der Ressource warten muss, sondern andere Verarbeitungsschritte vorziehen kann.
  • Vorteilhafterweise sind die Einheiten der Ressource dabei Messpfade oder Prozessoren oder Speicher oder Analog-/Digital-Wandler oder Frequenzumsetzer oder Analysatoren. Auch zahlreiche weitere Bauelemente des Messgeräts können als Einheiten der Ressource herangezogen werden. So ist eine große Flexibilität des Einsatzes des Messgeräts und des Messverfahrens möglich.
  • Bevorzugt erfolgen dabei eine Reservierung einer Einheit der Ressource und eine Freigabe einer Einheit der Ressource mittels SCPI-Befehlen von dem jeweiligen Steuerrechner an das Messgerät. Durch die Nutzung des SCPI-Standards können das erfindungsgemäße Messgerät und das erfindungsgemäße Messverfahren einfach in bestehende Messsysteme integriert werden.
  • Bevorzugt ist die Messeinrichtung dabei zur gleichzeitigen Durchführung von Messungen an mehreren Messobjekten ausgebildet. Die Steuereinrichtung verfügt dabei über eine Synchronisationseinrichtung, welche ausgebildet ist, um nach einem ersten Synchronisationspunkt eine Zahl L abgeschlossener Messvorgänge bis zum Ablauf eines zweiten Zeitintervalls nach Abschluss eines ersten Messvorgangs zu bestimmen, und um nach einem zweiten Synchronisationspunkt bis zu einem Ablauf des zweiten Zeitintervalls nach Abschluss eines ersten Messvorgangs oder bis zum Abschluss von L Messvorgängen zu warten. So wird sichergestellt, dass bei einer Vermessung mehrerer Messobjekte nicht unnötig lange auf Messergebnisse eines Messobjekts gewartet wird, wenn bereits frühere Messungen an dem Messobjekt erfolglos waren. Dies reduziert die Messzeit und erlaubt so einen höheren Durchsatz von Messobjekten.
  • Ein erfindungsgemäßes Messsystem verfügt über ein zuvor beschriebenes Messgerät und zumindest zwei Steuerrechner. Die Steuerrechner sind dabei ausgebildet, um das Messgerät zu steuern, um Einheiten der Ressource zu reservieren und um Einheiten der Ressource lediglich dann zu nutzen, wenn eine Reservierung der Einheit der Ressource erfolgreich war. So wird eine ressourcenschonende und sichere Messung gewährleistet.
  • Vorzugsweise können statt mehrerer Steuerrechner auch mehrere Prozesse in einem Steuerrechner oder sogar mehrere Threads in einem Prozessor genutzt werden.
  • Ein erfindungsgemäßes Messverfahren dient der Vermessung zumindest eines Messobjekts. Ein Messgerät wird dabei von Steuerrechnern gesteuert. Das Messgerät verfügt dabei über zumindest eine Einheit einer Ressource, welche gleichzeitig von lediglich einem Messvorgang nutzbar ist. Nach einer Reservierung einer Einheit der Ressource durch einen Steuerrechner wird die reservierte Einheit der Ressource lediglich für von dem reservierenden Steuerrechner ausgelöste Messvorgänge genutzt. So wird ermöglicht, dass die Ressource lediglich in geringer Zahl vorgehalten werden muss und gleichzeitig eine hohe Sicherheit der Messungen erreicht werden kann. Einem reservierenden Steuerrechner wird dabei bei einer Reservierung einer Einheit der Ressource ein Schlüssel übertragen. Eine Freigabe der Einheit der Ressource erfolgt nur bei Übermittlung des Schlüssels durch den reservierenden Steuerrechner. So ist sichergestellt, dass die Ressource nicht durch einen anderen Steuerrechner als den reservierenden Steuerrechner reserviert werden kann.
  • Bei einem Messvorgang handelt es sich dabei um eine vollständige Messung, eine Teilmessung oder einen Verarbeitungsschritt, welcher bei einer Messung oder Teilmessung durchgeführt wird.
  • Nachfolgend wird die Erfindung anhand der Zeichnung, in der ein vorteilhaftes Ausführungsbeispiel der Erfindung dargestellt ist, beispielhaft beschrieben. In der Zeichnung zeigen:
  • 1 ein erstes Ausführungsbeispiel des erfindungsgemäßen Messgeräts in einem Messsystem;
  • 2 ein zweiten Ausführungsbeispiel des erfindungsgemäßen Messgeräts in einem Blockschaltbild;
  • 3 ein drittes Ausführungsbeispiel des erfindungsgemäßen Messgeräts in einer Detailansicht;
  • 4 ein Flussdiagramm eines ersten Ausführungsbeispiels des erfindungsgemäßen Messverfahrens;
  • 5 ein Flussdiagramm eines zweiten Ausführungsbeispiels des erfindungsgemäßen Messverfahrens, und
  • 6 ein Flussdiagramm eines dritten Ausführungsbeispiels des erfindungsgemäßen Messverfahrens.
  • Zunächst werden anhand von 13 der Aufbau und die Funktionsweise verschiedener Ausführungsbeispiele des erfindungsgemäßen Messgeräts veranschaulicht. Anschließend wird anhand von 46 die Funktionsweise verschiedener Ausführungsbeispiele des erfindungsgemäßen Messverfahrens dargestellt. Identische Elemente werden in ähnlichen Abbildungen zum Teil nicht wiederholt dargestellt und beschrieben.
  • In 1 ist ein erstes Ausführungsbeispiel des erfindungsgemäßen Messgeräts 30 in einem Messsystem 1 dargestellt. Das Messsystem 1 beinhaltet das Messgerät 30, einen ersten Steuerrechner 10, einen zweiten Steuerrechner 11, einen dritten Steuerrechner 12 und einen vierten Steuerrechner 13. Die Steuerrechner 1013 sind dabei jeweils mit dem Messgerät 30 verbunden. Diese Verbindung erfolgt vorzugsweise mittels einer Datenleitung oder mit einer drahtlosen Verbindung. Mit dem Messsystem 1 verbunden sind Messobjekte 2023. Jedes Messobjekt 2023 ist dabei mit jeweils einem Steuerrechner 1013 verbunden. Bei dieser Verbindung handelt es sich vorzugsweise ebenfalls um eine Datenleitung. Weiterhin ist jedes Messobjekt 2023 mit dem Messgerät 30 verbunden. Bei dieser Verbindung handelt es sich vorzugsweise um eine bidirektionale Hochfrequenz-Leitung.
  • Die Steuerrechner 1013 steuern dabei die Messobjekte 2023 und das Messgerät 30. Das Messgerät 30 sendet gesteuert von den Steuerrechnern 1013 Messsignale an die Messobjekte 2023 und empfängt von den Messobjekten 2023 resultierende Ausgangssignale. Das Messgerät 30 bestimmt aus den empfangenen Ausgangssignalen der Messobjekte 2023 Messergebnisse und überträgt diese an den jeweils mit dem vermessenen Messobjekt 2023 verbundene Steuerrechner 1013.
  • Hinsichtlich der detaillierten Funktionsweise und des detaillierten Aufbaus wird auf die folgenden Figuren verwiesen.
  • In 2 ist ein zweites Ausführungsbeispiel des erfindungsgemäßen Messgeräts 30 in einem Blockschaltbild gezeigt. Hier wird der innere Aufbau des Messgeräts 30 dargestellt. Das Messgerät 30 beinhaltet dabei eine Eingabeeinrichtung 31, eine Steuereinrichtung 32, eine Kommunikationseinrichtung 33, eine Messeinrichtung 34 und eine Anzeigeeinrichtung 35. Sämtliche Einrichtungen 31, 33-–35 sind dabei jeweils mit der Steuereinrichtung 32 verbunden.
  • Die Eingabeeinrichtung 31 dient dabei der Entgegennahme von Nutzereingaben. Die Steuereinrichtung 32 dient dabei der Verarbeitung der von sämtlichen weiteren Einrichtungen 31, 3335 übermittelten Informationen, der generellen Steuerung des Messgeräts 30 und der Erzeugung von Informationen für die jeweiligen Einrichtungen 31, 3335. Die Kommunikationseinrichtung 33 dient dabei der Kommunikation mit den Steuerrechner 1013 aus 1. Die Messeinrichtung 34 dient dabei der Erzeugung der Messsignale, welche den Messobjekten 2023 aus 1 zugeführt werden und der Verarbeitung der Ausgangssignale der Messobjekte 2023 aus 1. Die Anzeigeeinrichtung 35 dient dabei der Anzeige von Messergebnissen und von Benutzerdialogen.
  • In 3 ist ein drittes Ausführungsbeispiel des erfindungsgemäßen Messgeräts in einer Detailansicht dargestellt. Hier ist lediglich ein Teil des inneren Aufbaus der Steuereinrichtung 32 gezeigt. Die Steuereinrichtung 32 beinhaltet dabei eine Synchronisationseinrichtung 40. Die Synchronisationseinrichtung 40 dient dabei der Überwachung der Messabläufe und der Synchronisation von Messabläufen zwischen Messvorgängen, welche von unterschiedlichen Steuerrechnern 1013 ausgelöst werden.
  • Hinsichtlich der detaillierten Funktion wird auf die Ausführungen zu den 46 verwiesen.
  • In 4 ist ein erstes Ausführungsbeispiel des erfindungsgemäßen Messverfahrens in einem Flussdiagramm dargestellt. In einem ersten Schritt 100 senden mehrere Steuerrechner unabhängig voneinander Steuerbefehle an das Messgerät. Solange es sich bei diesen Steuerbefehlen um von dem Messgerät problemlos parallel verarbeitbare Steuerbefehle handelt, wird der erste Schritt 100 wiederholt. Sobald es sich bei den Steuerbefehlen jedoch um Steuerbefehle handelt, welche eine Einheit einer Ressource benötigen, welche lediglich von einem Steuerrechner gleichzeitig genutzt werden kann, so sendet der jeweilige Steuerrechner in einem zweiten Schritt 101 eine Reservierung für eine Einheit der Ressource an das Messgerät.
  • Ist die Einheit der Ressource verfügbar, so blockiert das Messgerät die Einheit der Ressource in einem dritten Schritt 102 für andere Steuerrechner. Ist die Ressource jedoch nicht verfügbar, wird in einem Schritt 102a abgewartet, bis die Einheit der Ressource verfügbar ist. Fortgefahren wird mit dem dritten Schritt 102.
  • Alternativ kann der Steuerrechner mit der Abarbeitung von Schritten fortfahren, welche die Einheit der Ressource nicht benötigen. Anschließend kann mit einer erneuten Ausführung des zweiten Schritts 101 fortgefahren werden.
  • Nachdem der reservierende Steuerrechner die Einheit der Ressource nicht mehr benötigt, sendet er in einem vierten Schritt 103 eine Freigabe an das Messgerät. Das Messgerät reagiert hierauf in einem fünften Schritt 104 durch eine Freigabe der Ressource für andere Steuerrechner.
  • Durch dieses Vorgehen ist sichergestellt, dass die kritische Ressource nicht versehentlich von mehreren Steuerrechnern gleichzeitig genutzt werden, welche in diesem Fall auf möglicherweise inkorrekte Daten zugreifen würden. Gleichzeitig wird erreicht, dass die kritische Ressource lediglich einfach vorgehalten werden muss.
  • Die anhand von 4 dargestellte Reservierung einer Einheit einer Ressource kann dabei als boolsches Objekt Mutex betrachtet werden. Ein derartiges Mutex kann dabei als Barriere angesehen werden, welche entweder geöffnet oder geschlossen ist. So kann ein solches Mutex einen Teil eines Messvorgangs, wie z. B. eines Programms schützen.
  • Ein derartiges Mutex wird dabei wie folgt eingesetzt:
    • 1) Kritische Sektionen des Messablaufs bzw. des Programms werden identifiziert.
    • 2) Die Definition eines Mutex wird in eine Präambel des Messvorgangs integriert.
    • 3) Die kritische Sektion des Messvorgangs bzw. des Programms wird mit einer Reservierung (LOCK) und einer Freigabe (UNLOCK) umgeben. Während der Messvorgang bzw. das Programm ausgeführt werden, und ein LOCK-Befehl passiert wird und der entsprechende Mutex sich im UNLOCKED-Zustand befindet, wird der Zustand zu LOCKED verändert. Der Prozess kann nun die kritische Sektion durchlaufen. Nachdem der letzte Befehl der kritischen Sektion abgearbeitet ist, wird der UNLOCK-Befehl passiert, welcher das Mutex frei gibt. Jegliche andere Prozesse, welche versuchen, das Mutex zu reservieren und damit in den LOCKED-Zustand zu überführen, während dies bereits im LOCKED-Zustand ist, müssen warten, bis das Mutex erneut in den UNLOCKED-Zustand wechselt.
  • Im allgemeinen werden die folgenden Schritte durchlaufen, um eine kooperative Nutzung eines Mutex zu erreichen:
    • – ein Mutex wird für jede kritische Situation unter Nutzung des DEFINITION-Befehls definiert
    • – am Beginn jeder kritischen Sektion muss die Ausführung abwarten, bis die Sektion freigegeben ist. Der Beginn der kritischen Sektion wird dabei anhand des LOCK-Befehls erkannt. Wenn ein LOCK-Befehl vorkommt, wird wie folgt vorgegangen:
    • – Überprüfen ob die Sektion reserviert ist
    • – Reservieren der Sektion durch LOCK-Befehl und damit Überführen in den LOCKED-Zustand, wenn die Sektion frei ist.
    • – Diese beiden Schritte müssen dabei unteilbar durchgeführt werden, dass kein anderer Prozess eingreifen kann.
    • – Um eine kritische Sektion nach der Ausführung freizugeben, wird der UNLOCK-Befehl genutzt. Um unnötigen Speicherbedarf zu reduzieren, kann der Mutex nach seiner Ausführung wenn alle Instanzen des Programms den kritischen Bereich passiert haben mittels eines UNDEFINTION-Befehls gelöscht werden.
  • In manchen Situationen mag es sinnvoll sein, nicht zu warten, bis eine kritische Sektion frei ist, sondern stattdessen eine andere Aufgabe vorzuziehen und später erneut zu überprüfen, ob die Sektion frei ist. Dies kann mittels des STATE-Befehls, der in der Lage ist, atomar zu Locken falls die Sektion gerade frei ist, erreicht werden. Darüber hinaus erlaubt der CATALOG-Befehl die Überprüfung, welche Mutexe gegenwärtig eingerichtet sind.
  • Im Folgenden wird auf das Verhalten eines Mutex im Detail eingegangen:
    • – Ein Mutex, welches frei (UNLOCKED) ist, kann reserviert (LOCKED) werden, ohne dass dabei eine Wartezeit notwendig ist.
    • – Ein Mutex, welches reserviert (LOCKED) ist, kann nicht erneut reserviert (LOCKED) werden. Jeder Reservierungsversuch (Lock Attempt) durch einen anderen Prozess, resultiert in einem Warten des anderen Prozesses, bis das Mutex von dem vorherigen Prozess freigegeben (UNLOCKED) ist oder ein erster Zeitraum t1 abgelaufen ist (Timeout).
    • – Wenn mehrere Prozesse eine Reservierung gesendet haben (LOCK-Befehl) und darauf warten, dass das Mutex freigegeben (UNLOCKED) wird, ist nicht vorhersehbar, welcher Prozess als nächstes an die Reihe kommen wird. Es ist jedoch garantiert, dass lediglich ein Prozess das Mutex übernehmen wird.
    • – Ein Mutex kann lediglich mittels eines gültigen eindeutigen Schlüssels oder eines Universalschlüssels freigegeben (UNLOCKED) werden. Ein gültiger einzigartiger Schlüssel wird dabei von dem Mutex als Antwort auf das Reservieren an den Prozess übertragen.
    • – Der Zustand eines Mutex kann erfragt werden, ohne eine Wartezeit in Kauf nehmen zu müssen.
    • – Der Zustand eines Mutex kann angefragt werden, und gleichzeitig kann das Mutex reserviert werden mit lediglich einem einzigen Befehl.
    • – Ein Mutex kann nur dann neu definiert werden, wenn es nicht reserviert (LOCKED) ist.
    • – Eine Neudefinition mit einem unterschiedlichen Wirkungsbereich (Scope) ist nicht erlaubt und resultiert in einem SCPI-Fehler. Der Wirkungsbereich bezieht sich dabei auf ein Teil-Messgerät oder ein Gesamt-Messgerät.
    • – Eine Neudefinition eines Mutex ist lediglich erlaubt, um den Zeitraum t1 (timeout value) zu ändern.
    • – Ein Mutex ist nicht speicherpersistent. Es existiert nicht über ein Abschalten eines Geräts hinaus. Es muss am Beginn eines Programms definiert werden.
  • Im Folgenden wird auf die einzelnen zuvor angerissenen Befehle zur Erzeugung eines Mutex im Detail eingegangen:
  • DEFINITION
  • Der DEFINITION-Befehl definiert ein Mutex oder definiert ein Mutex neu. Dabei müssen drei verschiedene Merkmale definiert werden:
  • – Name:
  • Der Name ist ein String, welcher genutzt wird, um das Mutex im System zu identifizieren. Der Name muss eindeutig sein innerhalb des Wirkungsbereichs. D. h. der Name darf lediglich ein einziges Mal innerhalb des Messgeräts vorkommen.
  • – defTimeout:
  • Der Timeout-Wert stellt den Zeitraum t1 eines Mutex ein. Es handelt sich dabei um einen nummerischen Wert in Millisekunden. Der Wert kann von einer Millisekunde bis fünf Minuten betragen. Gewöhnlich wird ein Mutex mittels des UNLOCKED-Befehls freigegeben, wenn die kritische Sektion des Programms abgearbeitet ist. Wenn dies nicht geschieht, wird der Timeout-Wert erreicht. Es handelt sich dabei um ein abnormales Verhalten des Programms. Als Konsequenz wird ein SCPI-Fehler generiert.
  • – Scope:
  • Diese Variable definiert den Wirkungsbereich des Mutex und legt damit fest, ob das Mutex global für das gesamte Messgerät oder lediglich für ein Sub-Instrument definiert ist.
  • UNDEFINITION
  • Der UNDEFINITION-Befehl ist der Antagonist des DEFINITION-Befehls. Er entfernt ein Mutex aus dem System. Es kann nur angewendet werden, wenn das Mutex nicht reserviert (UNLOCKED) ist. Als einzigen Parameter hat der UNDEFINTION-Befehl den Name des Mutex.
  • LOCK
  • Der Zweck eines Mutex ist eine kritische Sektion des Messvorgangs bzw. Programms zu schützen. Es macht somit keinen Sinn, eine Sektion zu schützen ohne zu warten bis sie freigegeben ist. Der LOCK-Befehl fragt somit an, ob das Mutex freigegeben ist und unterbricht den Messvorgang bis die kritische Sektion freigegeben ist. D. h. es werden weitere SCPI Befehle unterbrochen. Sobald dies der Fall ist, wird das Mutex erneut in den LOCKED-Zustand überführt, wobei ein eindeutiger Schlüssel an das Programm bzw. den Steuerrechner übergeben wird. Relevante Parameter sind der Name des Mutex, ein optionaler Timeout, welcher die maximale Dauer des Locks des Mutexes abweichend von der bei der Definition angegebenen Defaultzeit angibt und der Schlüssel, bei welchem es sich um eine Integer-Zahl handelt.
  • Zweck des Schlüssels
  • Wenn ein erster Thread A ein Mutex reserviert (LOCKED) und in die kritische Sektion übergeht, dann jedoch der Zeitraum t1 abläuft, wird ein SCPI Fehler generiert und das Mutex in den UNLOCKED-Zustand überführt. Ein bereits wartender Thread B reserviert nun seinerseits das Mutex und betritt die kritische Sektion. Falls der Thread A dies jedoch nicht bemerkt hat, könnte der Thread A das Ende der kritischen Sektion erreichen und seinerseits das Mutex in den UNLOCKED-Zustand überführen, indem das Mutex freigegeben wird. Dies wird verhindert, indem lediglich der Thread (Prozess, Steuerrechner), welche das Mutex reserviert (LOCKED) hat, das Mutex wieder freigeben (UNLOCKED) kann. Dies wird durch den Schlüssel sichergestellt.
  • UNLOCK
  • Wenn die Programmausführung dabei ist, eine kritische Sektion zu verlassen, muss die kritische Sektion für den nächsten Messablauf (Programm, Thread) geöffnet werden. Dies wird dadurch bewerkstelligt, dass mittels des UNLOCK-Befehls das Mutex freigegeben wird. Relevante Parameter hierfür sind der Name des Mutex und der Schlüssel.
  • STATE
  • Wenn eine kritische Sektion reserviert ist, kann es nutzbringend sein, zunächst andere Teilaufgaben des Messvorgangs durchzuführen, anstatt zu warten, bis die kritische Sektion frei ist. Hierfür kann der STATE-Befehl genutzt werden. Wenn ein STATE-Befehl an das Messgerät gesendet wird, sendet das Messgerät zurück, ob das Mutex reserviert (LOCKED) oder freigegeben (UNLOCKED) ist. Basierend auf diesem Wissen kann der reservierende Steuerrechner (Programm, Thread) entscheiden, ob eine andere Aufgabe vorgezogen wird, oder ob auf die kritische Sektion gewartet wird. Problematisch kann hier jedoch sein, dass, falls der STATE-Befehl als Antwort einen freigegebenen (UNLOCKED) Zustand des Mutex zurückmeldet und eine Reservierung des Mutex beabsichtigt ist, ein weiterer Prozess dem Sender des STATE-Befehls zuvorkommen kann. Hierfür kann dem STATE-Befehl ein zusätzlicher Parameter angefügt werden, welcher eine automatische Reservierung (LOCK) des Mutex durchführt, wenn der Zustand freigegeben (UNLOCKED) ist. Relevante Parameter des STATE-Commands sind der Name des Mutex und ob eine automatische Reservierung (LOCK) durchgeführt werden soll, wenn der Zustand freigegeben (UNLOCKED) ist.
  • CATALOG
  • Der CATALOG-Befehl listet alle Mutexe, welche im gegenwärtigen Messgerät gültig sind, auf. Es werden sämtliche Mutexe, welche mit globalem Wirkungsbereich und Wirkungsbereich im gegenwärtigen Sub-Instrumente definiert wurden, aufgelistet. Der CATALOG-Befehl hat dabei keine Parameter.
  • In 5 ist ein zweites Ausführungsbeispiel des erfindungsgemäßen Verfahrens dargestellt. In einem ersten Schritt 200 senden mehrere Steuerrechner unabhängig voneinander Steuerbefehle an das Messgerät. In einem zweiten Schritt 201 sendet ein erster Steuerrechner eine Reservierung für eine Einheit einer Ressource an das Messgerät. Das Messgerät verfügt dabei über mehrere Einheiten der Ressource.
  • Ist zumindest eine Einheit der Ressource verfügbar, so blockiert das Messgerät die reservierte Einheit der Ressource in einem dritten Schritt 202. Ist jedoch keine Einheit der Ressource verfügbar, so kann der Steuerrechner in einem Schritt 202a abwarten, bis eine Einheit der Ressource verfügbar ist und dann mit dem dritten Schritt 202 fortfahren. Alternativ kann der Steuerrechner andere Schritte vorziehen, welche die Ressource nicht benötigen, und später erneut mit dem zweiten Schritt 201 fortfahren.
  • In einem vierten Schritt 203 sendet der Steuerrechner eine Freigabe an das Messgerät, wenn die Einheit der Ressource nicht mehr benötigt wird. Als Reaktion hierauf gibt das Messgerät die Einheit der Ressource in einem fünften Schritt 204 für andere Steuerrechner frei.
  • Das anhand von 5 beschriebene Verfahren geht somit von mehreren Einheiten einer knappen Ressource aus. Hierfür wird häufig der Begriff Semaphor benutzt. Ein Semaphor wird benutzt, wenn Ressourcen begrenzt sind. Benötigt ein Messvorgang, beispielsweise ein Programm, eine Ressource für seine Ausführung, so muss der Verbrauch der Ressource überwacht und geschützt werden. Dies kann einfach durch die Nutzung des Semaphor erreicht werden. Aus einem technischen Standpunkt aus gesehen, ist ein Semaphor ein zählendes Mutex. Das Semaphor ist verfügbar (UNLOCKED), solange Einheiten der Ressource verfügbar sind, und das Semaphor ist blockiert, wenn keine Einheiten der Ressource verfügbar sind.
  • Um ein Semaphor zu nutzen, eignet sich ein Messvorgang, z. B. ein Prozess eine Einheit der Ressource durch einen ACQUIRE-Befehl an. Sobald die Ressource nicht mehr benötigt wird, wird die Einheit der Ressource mittels eines RELEASE-Befehls freigegeben. Die Benutzung eines Semaphor ist dabei sehr ähnlich zu der Benutzung eines Mutex. Die typischen Schritte sind dabei identisch:
    • 1) Sämtliche Abschnitte in einem Programm-Code, in welchen eine knappe Ressource verwendet wird, werden identifiziert.
    • 2) Ein Semaphor wird für jeden dieser Abschnitte festgelegt. Die Definition beinhaltet dabei die Anzahl der Einheiten der Ressource, welche parallel verfügbar sind.
    • 3) Jede Benutzung der knappen Ressource wird in dem Messvorgang bzw. Programm von einem ACQUIRE-Befehl und einem RELEASE-Befehl eingerahmt. Sobald eine Einheit der Ressource benutzt wird, wird dies durch einen ACQUIRE-Befehl angezeigt. Sobald die Einheit der Ressource nicht mehr benutzt wird, wird sie mit einem RELEASE-Befehl freigegeben.
    • 4) Sobald ein Semaphor nicht länger genutzt wird, kann sie mit einem UNDEFINE-Befehl gelöscht werden.
  • Analog zu einem Mutex, können Situationen vorkommen, in welchen es für einen Messvorgang bzw. ein Programm geschickter ist, auf eine durch ein Semaphor blockierte Ressource nicht zu warten, sondern andere Teilaufgaben vorzuziehen. Dies kann mit einer Abfrage des gegenwärtigen Status des Semaphor mittels eines COUNT-Befehls bewerkstelligt werden.
  • Verhalten eines Semaphor:
    • – Durch eine Definition des Semaphor werden die Anzahl der Einheiten der Ressource und eine Ablaufzeit (Timeout) definiert. Sie können lediglich durch eine Neudefinition des Semaphor verändert werden.
    • – Ein Semaphor mit einer Anzahl von Einheiten > 0 ist verfügbar (UNLOCKED) und kann sofort in Nutzung genommen (ACQUIRED) werden. Hierzu ist keine Wartezeit notwendig.
    • – Ein Semaphor mit Anzahl verfügbarer Ressourcen = 0 ist blockiert (LOCKED) und wartet bis die Anzahl verfügbarer Einheiten > 0 ist. Dies geschieht sobald das nächste Mal ein RELEASE-Befehl ausgeführt wird.
    • – Wenn mehr als ein ACQUIRE-Befehl sich in einem Wartezustand befinden, wenn eine Ressource freigegeben wird, so kann nicht vorhergesehen werden, welcher ACQUIRE-Befehl zum Zuge kommt. Es ist jedoch garantiert, dass lediglich ein Prozess die Einheit der Ressource in Nutzung nimmt.
    • – Die maximale Wartezeit twait mit n parallelen Prozessen, welche die Ressource für eine Zeit tT nutzen, beträgt somit twait < tT(n – 1).
  • Der gegenwärtige Status hinsichtlich der verfügbaren Einheiten der Ressource eines Semaphor kann abgefragt werden, ohne eine Wartezeit abwarten zu müssen. Analog zu dem Mutex, bei welchem ein LOCK-Befehl in die Status-Abfrage mittels des STATE-Befehls eingebettet werden kann, kann bei eines Semaphor ein ACQUIRE-Befehl in den COUNT-Befehl eingebettet sein.
  • DEFINITION
  • Der DEFINITION-Befehl definiert die Eigenschaften eines Semaphor. Relevante Parameter sind der Name des Semaphor, welcher genutzt wird, um das Semaphor im System zu identifizieren. Es muss sich dabei um einen eindeutigen Namen handeln. Weiterhin relevant ist eine Wartezeit (timeout). Dabei handelt es sich um einen nummerischen Wert in Millisekunden, welcher von einer Millisekunde bis fünf Minuten ausgeprägt sein kann. Es handelt sich dabei um die Zeit die gewartet wird, bis ein Semaphor automatisch in den Verfügbar-Zustand (UNLOCKED) wechselt, nachdem sie in den Blockiert-Zustand (LOCKED) gebracht wurde.
  • Darüber hinaus relevant ist die Anzahl der Einheiten der Ressource, welche von dem Semaphor verwaltet werden. Hierzu wird die Variable COUNT herangezogen. Gültige Werte dieser Variable sind 1–20. Ein weiterer Parameter des Semaphor ist sein Wirkungsbereich (Scope), welcher definiert, ob das Semaphor im gesamten Messgerät oder lediglich in einem Sub-Messgerät wirkt.
  • UNDEFINITION
  • Der UNDEFINITION-Befehl ist der Antagonist des DEFINITION-Befehls. Er entfernt ein Semaphor aus dem System. Wenn ein Semaphor blockiert ist oder ihr gegenwärtiger COUNT nicht gleich der Maximalzahl ist, kann das Semaphor nicht aus dem System entfernt werden. Einziger relevanter Parameter des UNDEFINITION-Befehls ist der Name des Semaphor.
  • ACQUIRE
  • Der Zweck eines Semaphor ist es, knappe Ressourcen zu schützen. Wenn eine Einheit einer Ressource verfügbar ist, kann sie sofort in Nutzung genommen werden. Ist dies nicht der Fall, muss ein Messvorgang bzw. Thread abwarten bis die Einheit der Ressource wieder frei geworden ist. Der ACQUIRE-Befehl fragt den internen Zustand des Semaphor ab und stoppt den Messvorgang bzw. das Programm bis das Semaphor in den Verfügbar-Zustand (UNLOCKED) übergeht. Dies ist der Fall, wenn die Anzahl verfügbarer Einheiten der Ressource > 0 ist. Sobald dies geschieht, reduziert der ACQUIRE-Befehl die Anzahl verfügbarer Einheiten der Ressource um 1. Handelte es sich bei dieser Einheit der Ressource um die letzte verfügbare Einheit der Ressource, so führt jeder weitere Aufruf von ACQUIRE zum Warten. Es wird jedoch keine Ressource blockiert. Lediglich der weitere Ablauf des Programms wird unterbunden. Als Antwort auf einen ACQUIRE-Befehl wird stets ein Schlüssel, welcher für einen RELEASE-Befehl des Semaphors notwendig ist, übermittelt. Bei dem Schlüssel handelt es sich um einen Integer-Wert. Alle Schlüssel, welche auf einen ACQUIRE-Befehl gesendet wurden, sind gültig, um eine Einheit der Ressource freizugeben. Die Reihenfolge der Freigabe der Einheiten der Ressource ist somit unabhängig von der Reihenfolge der Reservierung der Einheiten der Ressource. Jeder Schlüssel ist jedoch lediglich einmal gültig.
  • RELEASE
  • Sobald ein Messvorgang bzw. Programm die Benutzung der Einheit der Ressource beendet hat, gibt er die Ressource durch die Nutzung des RELEASE-Befehls frei. Relevante Parameter des RELEASE-Befehls ist dabei lediglich der Name des Semaphores und der Schlüssel, welcher als Antwort auf den ACQUIRE-Befehl übermittelt wurde.
  • COUNT
  • Der COUNT-Befehl fragt die gegenwärtige Zahl verfügbarer Einheiten der Ressource des Semaphors ab. Es verändert nicht den Zustand des Semaphors. Einziger relevanter Parameter des COUNT-Befehls ist der Name des Semaphors. Als Antwort auf einen COUNT-Befehl wird ein Integer-Wert der verfügbaren Einheit der Ressource zurückgegeben.
  • CATALOG
  • Der CATALOG-Befehl existiert lediglich der Bequemlichkeit halber. Er listet sämtliche definierten Semaphore inklusive ihrer definierten Parameter auf. Der CATALOG-Befehl hat dabei keine Parameter.
  • In 6 wird ein drittes Ausführungsbeispiel des erfindungsgemäßen Messverfahrens in einem Flussdiagramm dargestellt. In einem ersten Schritt 300 initiieren N Steuerrechner parallele Messungen an einer Anzahl von Messobjekten mit dem Messgerät. In einem zweiten Schritt 301 wird dabei eine Variable P auf den Wert von N gesetzt. In einem optionalen dritten Schritt 302 führt das Messgerät nicht synchronisierte Messvorgänge an M Messobjekten durch. Bei einem Messvorgang handelt es sich dabei um eine Messung oder eine Teilmessung oder einen Verarbeitungsschritt. In einem vierten Schritt 303 wird ein Synchronisationspunkt erreicht. D. h. an diesem Punkt sollen Messvorgänge synchronisiert werden.
  • In einem fünften Schritt 304 wird auf den Abschluss bereits laufender Messvorgänge gewartet. In einem optionalen sechsten Schritt 305 wird von den bereits laufenden Messvorgängen als erster Messvorgang ein Messvorgang eines Steuerrechners abgeschlossen. In einem optionalen siebten Schritt 306 führt der Steuerrechner, dessen Messvorgang als erstes beendet wurde zumindest eine Aktion durch. Dabei kann es sich um eine Vorbereitung eines weiteren Ablaufs beispielsweise durch Aktivierung eines Bauteils des Messgeräts oder eines weiteren Messgeräts handeln.
  • In einem achten Schritt 307 wird überprüft, ob sämtliche P Messvorgänge abgeschlossen wurden. Sobald sämtliche P Messvorgänge abgeschlossen wurden oder ein Zeitraum t2 nach einem Abschluss eines ersten Messvorgangs abgelaufen ist, wird fortgefahren. In einem neunten Schritt 308 wird nun die Variable P zu einem Wert L abgeschlossener Messvorgänge gesetzt, sofern nicht sämtliche P Messvorgänge innerhalb des Zeitraums t2 abgeschlossen wurden.
  • Anschließend werden in einem zehnten Schritt 309 synchronisierte Messvorgänge durchgeführt. Das Verfahren kann nun ab den dritten Schritt 302 beliebig oft mit jeweils einem neuen Synchronisationspunkt wiederholt werden.
  • D. h. sobald ein Synchronisationspunkt fertig bearbeitet worden ist, wird überprüft, wie viele Messvorgänge L die abgeschlossen wurden. Bei weiteren Synchronisationspunkten wird nicht mehr notwendigerweise bis zum Ablauf des Zeitintervalls t2 gewartet, sondern der Messdurchgang wird bereits beendet, wenn so viele abgeschlossene Messvorgänge detektiert wurden, wie bei dem vorhergehenden Synchronisationspunkt ermittelt wurden. So kann die Messzeit drastisch reduziert werden.
  • Bei dem zuvor beschriebenen Verfahren wird somit ein Synchronisationspunkt eingesetzt. Ein Synchronisationspunkt wird eingesetzt, wenn mehrere Prozesse synchronisiert werden sollen, bevor sie weiter arbeiten dürfen. Dies bedeutet, dass alle Prozesse abwarten, bis sämtliche Prozesse einen Synchronisationspunkt erreicht haben oder bis ein Zeitintervall t2 abgelaufen ist. Um einen Synchronisationspunkt zu nutzen, wird der JOIN-Befehl des Synchronisationspunkts aufgerufen.
  • Im allgemeinen werden dabei die folgenden Schritte durchgeführt:
    • 1) Sämtliche Synchronisationspunkte innerhalb eines Messablaufs werden identifiziert und mittels eines DEFINITION-Befehls definiert.
    • 2) Ein JOIN-Befehl wird an jeder Position eines Synchronisationspunkts in den jeweiligen Messabläufen platziert.
    • 3) Nachdem der Messablauf beendet ist, wird der Synchronisationspunkt durch einen UNDEFINITION-Befehl gelöscht.
  • Insbesondere wenn es nicht klar ist, wie viele Prozesse, z. B. aufgrund unterschiedlicher Anzahlen von Messobjekten an der Weiterverarbeitung teilnehmen werden, ist es wie im oben gezeigten Beispiel möglich, lediglich für den ersten Synchronisationspunkt eine maximale Anzahl M zu definieren. Für alle späteren Synchronisationspunkte wird nun mit der korrekten Anzahl an Prozessen bzw. Messobjekten fortgefahren, wie dies oben beschrieben ist. Es wird somit nicht unnötig auf einen Zeitablauf gewartet, wenn bereits klar ist, dass die maximale Anzahl von Prozessen bzw. Messobjekten nicht erreicht werden kann.
  • In Abhängigkeit von dem Aufwand und der Dauer der Verarbeitung vor einem Synchronisationspunkt von bis zu mehreren Sekunden kann es vorkommen, dass eine längere Wartezeit als bei einem herkömmlichen SCPI-Befehl notwendig ist. Falls ein Nutzer den allgemeinen SCPI-Timeout nicht verändern möchte, ist es möglich, mittels eines REWAIT-Befehls eine längere Wartezeit zu erzielen, ohne einen SCPI-Timeout zu riskieren. Ein SCPI-Timeout sollte vermieden werden, um einen vollständigen Abbruch der Kommunikation zu vermeiden.
  • Verhalten eines Synchronisationspunkts:
    • – Die maximale Anzahl erwarteter Prozesse bzw. Messobjekte und die vorgegebene Ablaufzeit (Timeout) eines Synchronisationspunkts sind durch seine Definitionen gesetzt. Sie können lediglich durch eine Neudefintion verändert werden.
    • – Ein Synchronisationspunkt ist blockiert, wenn die Anzahl JOIN_COUNT, welche der Anzahl der Prozesse, welche den Synchronisationspunkt erreicht haben, kleiner ist als PROCESS_COUNT, welcher der erwartenden Anzahl von Prozessen entspricht.
    • – Der Synchronisationspunkt ist freigegeben, wenn JOIN-COUNT ≥ PROCESS_COUNT.
  • DEFINITION
  • Ein DEFINITION-Befehl setzt die Parameter eines Synchronisationspunkts. Relevante Parameter sind der Name des Synchronisationspunkts, wobei es sich um einen String handelt, welcher eindeutig innerhalb des Messsystems sein muss. Weiterhin relevant ist der Parameter-Zeitablauf (Timeout), welcher das Zeitintervall t2 definiert, ab welchem ein Synchronisationspunkt passiert werden darf, obwohl die erwartete Anzahl an Prozessen bzw. Messobjekten mit erfolgreicher Messung noch nicht erreicht ist. Ein weiterer relevanter Parameter ist der Wert der erwarteten Prozesse bzw. erfolgreichen Messungen. Darüber hinaus ist der Parameterwirkungsbereich (Scope) relavant, welcher definiert, ob der Synchronisationspunkt global oder lediglich in einem gegenwärtigen Sub-Instrument wirkt.
  • UNDEFINITION
  • Der UNDEFINITION-Befehl ist der Antagonist des DEFINITION-Befehls. Er entfernt einen Synchronisationspunkt aus dem System. Einziger relevanter Parameter ist der Name des Synchronisationspunkts. Der Synchronisationspunkt kann lediglich gelöscht werden, wenn noch kein Prozess den Synchronisationspunkt erreicht hat bzw. noch keine erfolgreiche Messung detektiert wurde.
  • JOIN
  • Der JOIN-Befehl repräsentiert die Funktionalität eines Synchronisationspunkts. Durch Aufruf des JOIN-Befehls, wartet ein Prozess auf alle anderen Prozesse, mit welchen der Prozess synchronisiert werden möchte. Als relevanter Parameter des JOIN-Befehls wird dabei der Name des Synchronisationspunkts aufgerufen. Als Resultat wird eine Anzahl von Prozessen, welche den Synchronisationspunkt bereits erreicht haben, zurückgegeben. Darüber hinaus kann ein Status zurückgegeben werden.
  • REWAIT
  • Der REWAIT-Befehl dient der Lösung des oben dargestellten Problems des zu kurzen Timeouts des SCPI-Kanals. Der REWAIT-Befehl wird aufgerufen, um eine weitere Wartezeit des SCPI-Standards auszulösen. Einzig relevanter Parameter des REWAIT-Befehls ist der Name des entsprechenden Synchronisationspunkts. Als Antwort wird die Anzahl der Prozesse, welche den Synchronisationspunkt erreicht haben, und optional ein Status zurückgegeben.
  • CATALOG
  • Wie auch bei Mutex und Semaphor kann der CATALOG-Befehl eingesetzt werden, um sämtliche definierte Synchronisationspunkte innerhalb des Messgeräts abzurufen.
  • Der CATALOG-Befehl hat dabei keine Parameter. Zurückgegeben werden dabei sämtliche Namen und übrigen Eigenschaften der Synchronisationspunkte.
  • Die Erfindung ist dabei nicht auf die dargestellten Ausführungsbeispiele beschränkt. Beliebige Messgeräte, wie z. B. Signalanalysatoren, Netzwerkanalysatoren, Logikanalysatoren, Signalgeneratoren, Oszilloskope, etc. können eingesetzt werden. Auch kann zur Übertragung der Nachrichten neben dem dargestellten SCPI-Standard ein abweichender Kommunikationsstandard eingesetzt werden. Alle vorstehend beschriebenen Merkmale oder in den Figuren gezeigte Merkmale oder in den Ansprüchen beanspruchten Merkmale sind im Rahmen der Erfindung beliebig vorteilhaft miteinander kombinierbar.

Claims (18)

  1. Messgerät (30) mit einer Messeinrichtung (34), einer Steuereinrichtung (32) und einer Kommunikationseinrichtung (33), wobei die Messeinrichtung (34) ausgebildet ist, um mittels der Kommunikationseinrichtung (33) und der Steuereinrichtung (32) von Steuerrechnern (10, 11, 12, 13) zur Ausführung von Messvorgängen gesteuert zu werden, und wobei die Messeinrichtung (34) und/oder die Steuereinrichtung (32) über zumindest eine Einheit einer Ressource verfügen, welche gleichzeitig von lediglich einem Messvorgang nutzbar ist, dadurch gekennzeichnet, dass das Messgerät (30) ausgebildet ist, – um einem reservierenden Steuerrechner (10, 11, 12, 13) bei einer Reservierung einer Einheit der Ressource einen Schlüssel zu übertragen, und – um eine Freigabe der Einheit der Ressource nur bei Übermittlung des Schlüssels durch den reservierenden Steuerrechner (10, 11, 12, 13) durchzuführen.
  2. Messgerät nach Anspruch 1, dadurch gekennzeichnet, dass die Steuereinrichtung (32) ausgebildet ist, um nach einer Reservierung der zumindest einen Einheit der Ressource durch einen Steuerrechner (10, 11, 12, 13) die reservierte Einheit der Ressource lediglich für von dem reservierenden Steuerrechner (10, 11, 12, 13) ausgelöste Messvorgänge zu nutzen.
  3. Messgerät nach Anspruch 2, dadurch gekennzeichnet, dass die Messeinrichtung (34) und/oder die Steuereinrichtung (32) über mehrere Einheiten der zumindest einen Ressource verfügen, und dass die Steuereinrichtung (32) ausgebildet ist, – um bei Reservierung einer oder mehrerer Einheiten der Ressource durch einen oder mehrere Steuerrechner (10, 11, 12, 13), die noch verfügbare Zahl von Einheiten der Ressource zu ermitteln, – um reservierte Einheiten der Ressource lediglich für Messvorgänge, welche durch die jeweils reservierenden Steuerrechner (10, 11, 12, 13) ausgelöst werden, zu nutzen, und – um lediglich verfügbare Einheiten der Ressource für Messvorgänge zu nutzen, welche von beliebigen Steuerrechnern (10, 11, 12, 13) ausgelöst werden.
  4. Messgerät nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass die Steuereinrichtung (32) ausgebildet ist, um erst nach Freigabe einer reservierten Einheit der Ressource durch den reservierenden Steuerrechner (10, 11, 12, 13) und/oder nach einem Ablauf eines vorgegebenen ersten Zeitintervalls (t1), die reservierte Einheit der Ressource durch nicht von dem reservierenden Steuerrechner (10, 11, 12, 13) ausgelöste Messvorgänge zu nutzen.
  5. Messgerät nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass die Steuereinrichtung (32) ausgebildet ist, um bei einem Reservierungsversuch eines Steuerrechners (10, 11, 12, 13) zu einem Zeitpunkt, zu welchem keine Einheit der Ressource verfügbar ist, dies dem jeweiligen Steuerrechner (10, 11, 12, 13) mitzuteilen.
  6. Messgerät nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Einheiten der Ressource Messpfade oder Prozessoren oder Speicher oder Analog-Digital-Wandler oder Frequenzumsetzer oder Analysatoren sind.
  7. Messgerät nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass eine Reservierung einer Einheit der Ressource und eine Freigabe einer Einheit der Ressource mittels SCPI-Befehlen von dem jeweiligen Steuerrechner (10, 11, 12, 13) an das Messgerät (30) erfolgt.
  8. Messgerät nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die Messeinrichtung (34) zur gleichzeitigen Durchführung von Messvorgängen an zumindest zwei Messobjekten (20, 21, 22, 23) ausgebildet ist, dass die Steuereinrichtung (32) über eine Synchronisationseinrichtung (40) verfügt, welche ausgebildet ist, – um nach einem ersten Synchronisationspunkt eine Zahl L abgeschlossener Messvorgänge bis zum Ablauf eines zweiten Zeitintervalls (t2) nach Abschluss eines ersten Messvorgangs zu bestimmen, und – um nach einem zweiten Synchronisationspunkt bis zu einem Ablauf des zweiten Zeitintervalls (t2) nach Abschluss eines ersten Messvorgangs oder bis zum Abschluss von L Messvorgängen zu warten.
  9. Messsystem (1) mit einem Messgerät (30) nach einem der Ansprüche 1 bis 8 und zumindest zwei Steuerrechnern (10, 11, 12, 13), welche ausgebildet sind, um das Messgerät (30) zu steuern, dadurch gekennzeichnet, dass die Steuerrechner (10, 11, 12, 13) ausgebildet sind, – um Einheiten der Ressource zu reservieren, und – um Einheiten der Ressource lediglich dann zu nutzen, wenn eine Reservierung der Einheit der Ressource erfolgreich war.
  10. Messverfahren, wobei Steuerrechner (10, 11, 12, 13) ein Messgerät (30) zur Ausführung von Messvorgängen steuern, und wobei das Messgerät (30) über zumindest eine Einheit einer Ressource verfügt, welche gleichzeitig von lediglich einem Messvorgang nutzbar ist, dadurch gekennzeichnet, dass einem reservierenden Steuerrechner (10, 11, 12, 13) bei einer Reservierung einer Einheit der Ressource ein Schlüssel übertragen wird, und dass eine Freigabe der Einheit der Ressource nur bei Übermittlung des Schlüssels durch den reservierenden Steuerrechner (10, 11, 12, 13) erfolgt.
  11. Messverfahren nach Anspruch 10, dadurch gekennzeichnet, dass das Messverfahren die folgenden Schritte beinhaltet: – Reservierung (101, 201) der zumindest einen Einheit der Ressource durch einen Steuerrechner (10, 11, 12, 13), – Nutzung (102, 202) der reservierten Einheit der Ressource lediglich für von dem reservierenden Steuerrechner ausgelöste Messvorgänge.
  12. Messverfahren nach Anspruch 11, dadurch gekennzeichnet, dass das Messgerät (30) über mehrere Einheiten der zumindest einen Ressource verfügt, und dass das Messverfahren die weiteren folgenden Schritte beinhaltet: – Ermittlung (201) einer noch verfügbare Zahl von Einheiten der Ressource bei einer Reservierung einer oder mehrerer Einheiten der Ressource durch einen oder mehrere Steuerrechner (10, 11, 12, 13), – Nutzung (202) der reservierten Einheiten der Ressource lediglich für Messvorgänge, welche durch die jeweils reservierenden Steuerrechner (10, 11, 12, 13) ausgelöst werden, und – Nutzung lediglich verfügbarer Einheiten der Ressource für Messvorgänge, welche von beliebigen Steuerrechnern (10, 11, 12, 13) ausgelöst werden.
  13. Messverfahren nach Anspruch 11 oder 12, dadurch gekennzeichnet, dass erst nach Freigabe (103, 203) einer reservierten Einheit der Ressource durch den reservierenden Steuerrechner (10, 11, 12, 13) und/oder nach einem Ablauf eines vorgegebenen ersten Zeitintervalls (t1), die reservierte Einheit der Ressource durch nicht von dem reservierenden Steuerrechner (10, 11, 12, 13) ausgelöste Messvorgänge genutzt wird.
  14. Messverfahren nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass bei einem Reservierungsversuch eines Steuerrechners (10, 11, 12, 13) zu einem Zeitpunkt, zu welchem keine Einheit der Ressource verfügbar ist, dies dem jeweiligen Steuerrechner (10, 11, 12, 13) mitgeteilt wird.
  15. Messverfahren nach einem der Ansprüche 10 bis 14, dadurch gekennzeichnet, dass eine Reservierung (101, 201) einer Einheit der Ressource und eine Freigabe einer Einheit der Ressource mittels SCPI-Befehlen von dem jeweiligen Steuerrechner (10, 11, 12, 13) an das Messgerät (30) erfolgt.
  16. Messverfahren nach einem der Ansprüche 11 bis 15, dadurch gekennzeichnet, dass gleichzeitig Messungen an mehreren Messobjekten (20, 21, 22, 23) durchgeführt werden (300), dass nach einem ersten Synchronisationspunkt eine Zahl L abgeschlossener Messvorgänge bis zum Ablauf eines zweiten Zeitintervalls (t2) nach Abschluss eines ersten Messvorgangs bestimmt wird (304), und dass nach einem zweiten Synchronisationspunkt gewartet wird, bis das zweite Zeitintervall (t2) abgelaufen ist oder L Messvorgänge abgeschlossen wurden.
  17. Computerprogramm mit Programmcode-Mitteln, um alle Schritte gemäß einem der Ansprüche 10 bis 16 durchführen zu können, wenn das Programm auf einem Computer oder einem digitalen Signalprozessor ausgeführt wird.
  18. Computerprogramm-Produkt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode-Mitteln, um alle Schritte gemäß einem der Ansprüche 10 bis 16 durchführen zu können, wenn das Programm auf einem Computer oder einem digitalen Signalprozessor ausgeführt wird.
DE102014214025.0A 2014-07-18 2014-07-18 Messgerät und Messverfahren zur Synchronisation von Messvorgängen Active DE102014214025B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102014214025.0A DE102014214025B4 (de) 2014-07-18 2014-07-18 Messgerät und Messverfahren zur Synchronisation von Messvorgängen
US14/802,708 US20160018802A1 (en) 2014-07-18 2015-07-17 Measuring device and a measuring method for the synchronisation of measurement procedures

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014214025.0A DE102014214025B4 (de) 2014-07-18 2014-07-18 Messgerät und Messverfahren zur Synchronisation von Messvorgängen

Publications (2)

Publication Number Publication Date
DE102014214025A1 DE102014214025A1 (de) 2016-01-21
DE102014214025B4 true DE102014214025B4 (de) 2016-12-15

Family

ID=55021744

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014214025.0A Active DE102014214025B4 (de) 2014-07-18 2014-07-18 Messgerät und Messverfahren zur Synchronisation von Messvorgängen

Country Status (2)

Country Link
US (1) US20160018802A1 (de)
DE (1) DE102014214025B4 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039970A1 (en) * 2002-08-22 2004-02-26 Barnard David L. Method and apparatus to coordinate groups of heterogeneous measurements
DE102011084143A1 (de) * 2011-10-07 2013-04-11 Rohde & Schwarz Gmbh & Co. Kg Messsoftware unterstütztes Messsystem und Messverfahren
US20130326290A1 (en) * 2012-06-05 2013-12-05 Litepoint Corporation System and method for execution of user-defined instrument command sequences using multiple hardware and analysis modules
US20140156852A1 (en) * 2011-07-12 2014-06-05 Onycom, Inc. Method and system for sharing testing resources through the web

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636242B2 (en) * 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US7673197B2 (en) * 2003-11-20 2010-03-02 Practical Engineering Inc. Polymorphic automatic test systems and methods
US8515015B2 (en) * 2008-05-09 2013-08-20 Verizon Patent And Licensing Inc. Method and system for test automation and dynamic test environment configuration
US8547125B2 (en) * 2010-01-26 2013-10-01 Advantest Corporation Test apparatus and test module
US9274911B2 (en) * 2013-02-21 2016-03-01 Advantest Corporation Using shared pins in a concurrent test execution environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039970A1 (en) * 2002-08-22 2004-02-26 Barnard David L. Method and apparatus to coordinate groups of heterogeneous measurements
US20140156852A1 (en) * 2011-07-12 2014-06-05 Onycom, Inc. Method and system for sharing testing resources through the web
DE102011084143A1 (de) * 2011-10-07 2013-04-11 Rohde & Schwarz Gmbh & Co. Kg Messsoftware unterstütztes Messsystem und Messverfahren
US20130326290A1 (en) * 2012-06-05 2013-12-05 Litepoint Corporation System and method for execution of user-defined instrument command sequences using multiple hardware and analysis modules

Also Published As

Publication number Publication date
DE102014214025A1 (de) 2016-01-21
US20160018802A1 (en) 2016-01-21

Similar Documents

Publication Publication Date Title
EP2513796B1 (de) Verfahren zum betreiben einer recheneinheit
DE102016000215A1 (de) Numerisches Steuersystem mit Selbstrücksetzfunktion für ein internes Register mit serieller Kommunikationssignalüberwachung
DE102017200669A1 (de) Verfahren und Vorrichtung zum Betreiben eines Steuergeräts, Computerprogramm und Verfahren zum Generieren des Computerprogramms
DE102014214025B4 (de) Messgerät und Messverfahren zur Synchronisation von Messvorgängen
DE3235762A1 (de) Verfahren und vorrichtung zur synchronisation von datenverarbeitungsanlagen
DE102013213087A1 (de) Überwachungsschaltung mit einem fenster-watchdog
EP1870787B1 (de) Verfahren zur Überwachung eines zyklischen Steuerungsprogramms
DE112017002556B4 (de) Steuerungssystem
EP1686471A1 (de) Verfahren zur Steuerung von Softwaremodulen
EP3070551A1 (de) Datenbuskoppler und Verfahren zum Betrieb
DE102017123911A1 (de) Verfahren und Vorrichtung zum Überwachen der Reaktionszeit einer durch ein Sicherheitssystem bereitgestellten Sicherheitsfunktion
DE112013006756T5 (de) Kommunikations-, Steuervorrichtung und Programm
DE102015221892A1 (de) Bestimmung einer maximalen Latenzzeit
EP1426862B1 (de) Synchronisation der Datenverarbeitung in redundanten Datenverarbeitungseinheiten eines Datenverarbeitungssystems
EP2869143B1 (de) Emulationssystem zur Simulation eines technischen Systems
EP2774431B1 (de) Verfahren zum übertragen von informationen zur synchronisierung einer anwendung zwischen einem mobilen telefon und einem empfänger.
EP2758886B1 (de) Zugangssteuerung zu einem gemeinsam exklusiv nutzbaren übertragungsmedium
DE102017126400A1 (de) Verfahren und Vorrichtung zum Betrieb einer Sanitäreinrichtung
DE102017211564A1 (de) Elektronische steuereinheit
EP0389077B1 (de) Verfahren zur Untersuchung eines digitalen Datenstroms
DE2337159C3 (de) Prioritätssteuerschaltung
EP3761179A1 (de) Verfahren zur überprüfung der funktion eines prozessors durch einen watchdog
DE10125603B4 (de) Verfahren zur automatischen Unterdrückung flatternder Ereignisse
EP4300220A1 (de) Safety-kommunikationsverfahren, kommunikationsvorrichtung, safety-kommunikationssystem und steuerungssystem
DE102014213293A1 (de) Verfahren, Überwachungsvorrichtung und System zur Erkennung einer Manipulation eines Datenstroms

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final