Im folgenden Dokument erfahren Sie, wie Sie mit Hilfe von Signalgeneratoren benutzerdefinierte Signale durch Verknüpfen und Schleifen von Signalverläufen erzeugen, dynamische Signalverläufe mit Hilfe von Skripten erzeugen und mit Hilfe von Markern und Datenmarkerereignissen mit anderen Geräten synchronisieren können.
Fortgeschrittene Funktionen zur Triggerung und Sequenzierung von Signalverläufen sind für eine Vielzahl modularer Messgeräte von NI verfügbar, darunter Arbiträrsignalgeneratoren und digitale Hochgeschwindigkeitsprodukte.
Moderne Arbiträrsignalgeneratoren verfügen über einen großen integrierten Speicher zum Speichern großer Signalverläufe. Sie können diese Signalverläufe sequenziell erzeugen, indem Sie das so genannte "Linking and Looping" verwenden. Mit dieser Funktion können Sie komplexe Signalverlaufsfolgen erstellen, indem Sie Signalverläufe in einer vorbestimmten oder dynamischen Reihenfolge erzeugen.
In Abbildung 1 sind drei Signalverläufe dargestellt, die auf einem Signalgenerator gespeichert werden können.
Abbildung 1: Mehrere Arbiträrsignalverläufe im Speicher
Sobald Sie diese Signalverläufe im Speicher gespeichert haben, können Sie sie sequenziell verknüpfen und schleifen. Daher müssen Sie auch die Sequenzanweisungen für die Signalverläufe im Speicher speichern, bevor die Erzeugung beginnt. Mit Signalgeneratoren von NI können Sie mehrere Signalverläufe und Sequenzanweisungen im integrierten Speicher speichern. Abbildung 2 zeigt die mögliche Speicherauslastung eines Signalgenerators von NI.
Abbildung 2: Signalgeneratoren von NI speichern mehrere Signalverläufe im integrierten Speicher.
Abbildung 2 zeigt, dass auf einem Signalgenerator gespeicherte Signalverläufe einen erheblichen Speicherplatz beanspruchen können. Ein Signalverlauf, der 1 Sekunde lang mit 100 MS/s abgetastet wurde, belegt beispielsweise 200 MB. Daher ist es wichtig, den karteneigenen Speicher Ihres Signalgenerators effektiv zu nutzen. Ein Vorteil der Signalverlaufsverknüpfung und -schleife besteht darin, dass komplexe Sequenzen mit minimalem karteneigenen Speicher erzeugt werden können.
Verknüpfungs- und Schleifenoptionen, die auf NI-Signalgeneratoren verfügbar sind, fallen in zwei Verknüpfungs- und Schleifenmodi: den Sequenzmodus und den Skriptmodus. Im Sequenzmodus können Sie das Gerät so konfigurieren, dass es mit einer im karteneigenen Speicher gespeicherten Sequenz eine vorbestimmte Folge von Signalverläufen erzeugt. Der Skriptmodus hingegen ist noch leistungsfähiger, da Sie damit eine dynamische Signalverlaufsfolge erstellen können, bei der der erzeugte Signalverlauf vom Zustand eines Hardware- oder Software-Triggers abhängt. Darüber hinaus verwendet der Skriptmodus bedingte Anweisungen wie "if/else", um verzweigende Signalverlaufsfolgen zu implementieren. Im Verknüpfungs- und Schleifenmodus können Sie den Signalgenerator so konfigurieren, dass er ein oder mehrere Trigger-Signale mit Merkmalen wie dem Marker- oder Marker-Ereignis ausgibt.
Im Sequenzmodus muss die Signalverlaufssequenz so konfiguriert werden, dass jeder Schritt Informationen für drei Parameter enthält - Signalverlaufsname, Schleifenanzahl und Markierungsposition. Abbildung 3 zeigt die Parameter, die in einem typischen Skript konfiguriert sind.
Abbildung 3: Konfigurierte Parameter in einer Signalverlaufsfolge
Die Programmieroberfläche für die Sequenzierung wird mit der erweiterten Palette für beliebige Sequenzen des NI-FGEN Treibers in LabVIEW erstellt. Schreiben Sie mit diesem Treiber die Sequenzanweisungen mit dem VI "niFGEN Create Arbitrary Sequence" an den Signalgenerator (siehe Abbildung 4).
Abbildung 4: Schreiben einer Sequenz in den karteneigenen Speicher
Bei diesem VI werden die Sequenzanweisungen als zwei Arrays geschrieben - eines mit der Anzahl der Iterationen für jeden Signalverlauf und das zweite mit den Handle-Informationen für jeden Signalverlauf. Darüber hinaus können Sie noch komplexere Sequenzen erstellen, um für jeden Signalverlauf ein Markierungsereignis auszugeben. Bei aktivierter Option müssen Sie ein drittes Array konfigurieren, um den Marker-Offset für jeden Signalverlauf festzulegen.
Je nach ausgewähltem Trigger-Mechanismus können Signalverläufe erzeugt werden, die in einer Sequenz mit verschiedenen Modi konfiguriert werden. Während ein Trigger-Ereignis als Software-Ereignis auftreten kann, tritt es häufiger in Hardware auf einer der vielen verfügbaren Trigger-Leitungen auf. Bei Signalgeneratoren von National Instruments stehen für die Signalverlaufssequenz Einzel-Trigger, Dauer-Trigger, Stufen-Trigger und Burst-Trigger zur Verfügung. Jeder dieser Modi bietet unterschiedliche Ausgabeoptionen, wenn jeder Signalverlauf erzeugt wird. Sie werden nachfolgend beschrieben.
Der Einzel-Trigger-Modus ist der einfachste aller Trigger-Modi, da bei diesem Modus ein Trigger nur einmal während der Erzeugungsperiode verwendet wird. Nach dem Eintreten der Trigger-Bedingung muss das Gerät also wieder in Betrieb genommen werden. Im Einzel-Trigger-Modus wird ein Trigger üblicherweise als Start-Trigger verwendet, um mit der Erzeugung des Signalverlaufs zu beginnen. Wie in Abbildung 5 dargestellt, gibt der Signalgenerator das letzte Sample des letzten Signalverlaufs aus, während er auf den Start-Trigger wartet. Sobald diese Triggerbedingung erfüllt ist, beginnt der Signalgenerator mit der Erzeugung des Signalverlaufs oder der Signalfolge.
Abbildung 5: Sequenzierung mit einem Start-Trigger
Wie Abbildung 5 zeigt, beginnt der Signalgenerator bei einer steigenden Flanke des Start-Triggers mit der Ausgabe. Beachten Sie jedoch, dass zwischen dem Start-Trigger und dem Beginn des Ausgangs Kanal 0 eine leichte Verzögerung liegt. Diese von der Sample-Rate und Interpolationsfaktoren abhängige Verzögerung ist in den Spezifikationen des Signalgenerators beschrieben. Beachten Sie außerdem, dass in diesem speziellen Szenario eine Folge von zwei Signalverläufen zur Erzeugung konfiguriert wurde. Nachdem der letzte Signalverlauf in der Sequenz erzeugt wurde, fährt der Signalgenerator mit dem letzten Sample-Wert fort.
Andererseits wird im kontinuierlichen Trigger-Modus kontinuierlich die gesamte Folge von Signalverlaufssegmenten erzeugt. Nach Empfang des Triggers beginnt der Signalgenerator mit der Erzeugung des Signals mit dem ersten Signalverlauf in der Sequenz. Außerdem gibt der Signalgenerator jeden Schritt der Sequenz aus und kehrt dann nach Beendigung der Sequenz zum ersten Schritt zurück.
Abbildung 6: Sequenzierung mit kontinuierlichem Trigger-Modus
Wie Abbildung 6 zeigt, beginnt die Ausgabe kurz nach dem Eintreten der Start-Trigger-Bedingung. Außerdem erzeugt der Signalgenerator die Folge von Signalverläufen so lange, bis die Erzeugung gestoppt wird. Beachten Sie in Abbildung 5, dass der Signalgenerator zum Zeitpunkt t2 den ersten Signalverlauf in der Sequenz durchläuft.
Im Stufen-Trigger-Modus wird ein Trigger verwendet, um jeden Signalverlauf in einer Sequenzliste zu durchlaufen. Wenn die Erzeugung gestartet wird, wird der erste Signalverlauf so oft durchlaufen, wie für diesen Schritt konfiguriert wurde. Nachdem der Signalverlauf für die entsprechende Anzahl von Iterationen durchlaufen wurde, wiederholt sich das letzte Sample des Signalverlaufs kontinuierlich, bis der nächste Trigger empfangen wird. Wenn der nächste Trigger empfangen wird, erzeugt der zweite Signalverlauf für die konfigurierte Anzahl von Iterationen. Dieser Vorgang wird wiederholt, bis der letzte konfigurierte Signalverlauf erzeugt wurde. An diesem Punkt ist eine Trigger-Bedingung erforderlich, um die Erzeugungssequenz erneut zu starten (Abbildung 7).
Abbildung 7: Sequenzierung im Stufen-Trigger-Modus
Wie Abbildung 7 zeigt, beginnt der Signalgenerator mit der Erzeugung des ersten Signalverlaufs zum Zeitpunkt t0, wenn der erste Trigger empfangen wird. Darüber hinaus wird die Erzeugung von "Signalverlauf0" so lange durchlaufen, bis die Anzahl konfigurierter Schleifen erreicht ist (in diesem Fall zwei). In diesem speziellen Szenario können Sie beobachten, dass "waveform0" für eine zweifache Schleifenausführung konfiguriert wurde. Wie Sie in Abbildung 7 sehen, steuert der Signalgenerator das letzte Sample von "Signalverlauf0" bis zum Zeitpunkt t1, wenn der nächste Signalverlauf erzeugt wird.
Der Burst-Trigger-Modus ähnelt dem Stufen-Trigger-Modus mit dem Unterschied, dass sich jeder Signalverlauf in der Sequenz kontinuierlich zwischen jedem empfangenen Trigger wiederholt. In diesem Modus beginnt der Signalgenerator bei Empfang eines Triggers mit der Erzeugung eines Signalverlaufs. Darüber hinaus wird die Schleife so lange ausgeführt, bis ein nachfolgender Trigger empfangen wird. Erst dann wird zum nächsten Signalverlauf gewechselt (siehe Timing-Diagramm in Abbildung 8).
Abbildung 8: Sequenzierung mit Burst-Trigger-Modus
Wie Abbildung 8 zeigt, wird der erste Trigger zum Zeitpunkt t0 empfangen und der Signalgenerator erzeugt den ersten Schritt der Sequenz. Beachten Sie, dass der Signalgenerator diesen Signalverlauf weiterschleift, bis er den nächsten Trigger empfängt. Bei t1 fährt der Signalgenerator mit dem nächsten Schritt der Sequenz fort, wenn ein zweiter Trigger empfangen wird.
Der Sequenzmodus ermöglicht es einem Signalgenerator, beim Empfang von Triggern eine Reihe von Signalverläufen auszugeben. Grundsätzlich erfordert der Sequenzmodus, dass jeder Schritt konfiguriert wird, bevor die Signalerzeugung begonnen hat. Um ein dynamisches Skript zu konfigurieren, bei dem die Ausgabe bedingt ist, müssen Sie eine fortgeschrittene Form der Sequenzierung verwenden, die Skripte genannt wird.
Mit Skripten kann ein Signalgenerator basierend auf Hardware- oder Softwareereignissen im System eine Folge von Signalverläufen dynamisch ausgeben. Darüber hinaus ist es die fortschrittlichste Signalverlaufssteuerung aufgrund seiner Flexibilität. Sie können Skripte nicht nur verwenden, um mehrere Signalverläufe zu verknüpfen und zu schleifen, sondern auch, um einen Signalverlauf zu erzeugen, der von einem Ereignis abhängig ist, das im Prüfling auftritt. In diesem Abschnitt werden grundlegende Skriptsprachenelemente anhand mehrerer Beispielskripte behandelt.
Die Grundidee des Skripts besteht darin, dass ein benannter Signalverlauf auf dem Signalgenerator gespeichert und dann von einem Skript aufgerufen werden kann, das bestimmt, welcher Signalverlauf zu einem bestimmten Zeitpunkt erzeugt wird. Das Skript wird außerdem vor der Signalerzeugung auf den Arbiträrgenerator heruntergeladen.
In Software erfordert die Skript-Programmierschnittstelle drei grundlegende Funktionen. Diese sind in Abbildung 9 dargestellt.
Abbildung 9: Konfigurieren eines Skripts in LabVIEW
Zuerst wird jeder Signalverlauf als benannter Signalverlauf in den Arbiträrgenerator (AWG) heruntergeladen. Ein benannter Signalverlauf muss unbedingt geschrieben werden, da das Skript jeden Signalverlauf namentlich identifiziert. Zweitens wird das Skript in den Signalverlauf geschrieben. Das Skript enthält verschiedene Befehle, mit denen die Reihenfolge der Signalverläufe festgelegt wird. Schließlich wird die Erzeugung gestartet und der AWG beginnt mit der Erzeugung eines Signalverlaufs von der Ausgangs-Engine.
Skript-Trigger ermöglichen die Erzeugung auch komplexer Skripte. Mit Hilfe von Skripten können Sie anhand eines realen Signals bestimmen, welcher Signalverlauf sofort erzeugt werden soll. Dieses Signal kann von einer PXI-Trigger-Leitung an der Backplane oder einem PFI-Trigger (programmierbare Funktionsschnittstelle) vom Frontpanel-Anschluss stammen.
Sie können den Skript-Trigger in Software mit dem VI niFgen - Skript-Trigger konfigurieren konfigurieren. Mit dieser Funktion können Sie entweder einen Pegel- oder Flanken-Trigger für eine bestimmte Trigger-Leitung konfigurieren. Nach dem Funktionsaufruf in Abbildung 10 kann ein Skript "scriptTrigger0" als Variable verwenden, um die Reihenfolge festzulegen, in der verschiedene Signalverläufe erzeugt werden.
Abbildung 10: Konfigurieren eines Skript-Triggers
In der Skriptsprache wird der Skript-Trigger als Variable behandelt, die einer bestimmten Hardwarebedingung zugeordnet ist. Wie im Beispielskript in Abbildung 10 dargestellt, muss scriptTrigger0 als true/false boolesche Logikanweisung ausgewertet werden. Dies ist in Abbildung 11 dargestellt.
Abbildung 11: Evaluierung eines Skript-Triggers
Da Sie mit Skript-Triggern bedingte Anweisungen in der Skriptsprache verwenden können, kann der Signalgenerator ein Signal ausgeben, das von einem Signal eines realen Prüflings abhängt. Im nächsten Abschnitt werden einige grundlegende Aussagen zur Skriptsprache behandelt, um einen Überblick über die Skriptfunktionen zu geben.
Die Skriptsprache enthält mehrere grundlegende Befehle, mit denen die Reihenfolge der Signalverläufe festgelegt wird. In diesem Abschnitt werden die grundlegenden Befehle aufgelistet und einige grundlegende Sequenzen beschrieben, mit denen sie verwendet werden. Der Skriptbefehlssatz enthält Befehle wie die folgenden:
Mit dem Befehl "Bis wiederholen" können Sie wiederholt einen Signalverlauf erzeugen, bis ein Trigger auftritt. Abbildung 12 zeigt die Befehle zur Implementierung eines einfachen Skripts, das diesen Befehl verwendet.
Abbildung 12 Beispielskript mit dem Befehl "Wiederholen bis"
Beachten Sie, dass "scriptTrigger0" als Variable verwendet wird, die bestimmt, welcher Signalverlauf erzeugt werden soll. Verwenden Sie das Ablaufdiagramm in Abbildung 13, um die Skriptsprache zu visualisieren.
Abbildung 13: Ablaufdiagramm des Skripts mit dem Befehl "Wiederholen bis"
In diesem Skript beginnt der Signalgenerator mit der Erzeugung von "Signalverlauf0". Dann wird „Signalverlauf1“ durchlaufen und so lange wiederholt, bis „scripttrigger0“ TRUE ist. Sobald dieses Ereignis eintritt, erzeugt der Signalgenerator "Signalverlauf2", bevor die Sequenz beendet wird. Abbildung 14 zeigt das Ausgangssignal dieses Skripts.
Abbildung 14: Signalgenerator mit dem Skript "Wiederholen bis"
Wie Abbildung 14 zeigt, erzeugt der AWG weiterhin "Signalverlauf1", bis "scripttrigger0" TRUE ist.
Mit dem Befehl "Warten bis" können Sie einen Signalgenerator so konfigurieren, dass er die Erzeugung eines Signalverlaufs anhält, bis eine Hardwarebedingung eintritt. Abbildung 15 zeigt ein Beispielskript mit dem Namen "Wait until". Beachten Sie auch hier, dass "scriptTrigger0" als Variable verwendet wird, um zu bestimmen, wann der AWG die Signalerzeugung wieder aufnimmt.
Abbildung 15: Beispielskript mit dem Befehl "Wait until"
Beachten Sie die Verwendung der "Clear"-Anweisung vor der "Wait until"-Anweisung. Mit der Clear-Anweisung werden alle Trigger-Bedingungen ignoriert, die während der Erzeugung von "waveform0" aufgetreten sind. Abbildung 16 zeigt ein Ablaufdiagramm dieses spezifischen Skripts.
Abbildung 16: Ablaufdiagramm des Skripts mit dem Befehl "Wait until"
In diesem spezifischen Skript beginnt die AWG damit, zuerst "Signalverlauf0" zu erzeugen. Danach gibt der Signalgenerator das letzte Sample von "Signalverlauf0" aus, bis die Trigger-Bedingung erfüllt ist. Sobald die Trigger-Bedingung eintritt, setzt der AWG das Skript fort und erzeugt "Signalverlauf1" und dann "Signalverlauf2". Die physikalische Ausgabe des Generators ist in Abbildung 17 dargestellt.
Abbildung 17: Signalgenerator mit dem Skript "Warten bis"
Mit der Befehlssequenz „If/else“ kann die Reihenfolge der Signalverläufe in Abhängigkeit von einer Hardwarebedingung festgelegt werden. Wenn diese Befehle verschachtelt sind, können Sie sie außerdem verwenden, um eine Wahrheitstabelle zu implementieren, in der der zu erzeugende Signalverlauf von mehreren Trigger-Bedingungen abhängt. Abbildung 18 zeigt ein einfaches Skript mit der Befehlsfolge "If/else".
Abbildung 18: Beispielskript mit dem Befehl "If/else"
Außerdem zeigt Abbildung 19 ein Ablaufdiagramm, das die Reihenfolge der Erzeugung bestimmter Signalverläufe darstellt.
Abbildung 19: Ablaufdiagramm des Skripts mit dem Befehl "If/else"
In diesem Beispiel beginnt die AWG mit der Erzeugung von "Signalverlauf0". Anschließend wird "scripttrigger0" ausgewertet, um zu bestimmen, welcher Signalverlauf als Nächstes erzeugt wird. Wenn “scripttrigger0” FALSE ist, wird “waveform1” erzeugt. Wenn "scriptrigger0" TRUE ist, wird "waveform2" erzeugt. Abbildung 20 zeigt die physikalische Ausgabe des AWG als Funktion der Zeit.
Abbildung 20: Signalgenerator mit dem Skript "If/else"
Wenn in Abbildung 20 "scripttrigger0" TRUE ist, wird "waveform2" erzeugt. Beachten Sie, dass in diesem Beispiel nur eine Bedingung angezeigt wird. Mit AWGs von National Instruments können bis zu vier Skript-Trigger konfiguriert werden. Daher können Sie "If/else"-Anweisungen verschachteln, um auch kompliziertere logische Aussagen darzustellen.
Bisher konzentriert sich dieses Dokument hauptsächlich auf die Verwendung von Eingangs-Triggern zur Steuerung der Ausgabe von Signalgeneratoren. Signalgeneratoren können jedoch Ausgabe-Trigger erzeugen, um das Verhalten anderer Geräte zu steuern. Die zwei Arten von Ausgabe-Triggern sind Markerereignisse und Datenmarkerereignisse. Für den ersten Typ können Sie bis zu einer (Sequenzmodus) oder vier (Skriptmodus) Trigger-Leitungen konfigurieren, um den Zustand synchron mit einer konfigurierten Sample-Nummer zu ändern. Im Gegensatz dazu können bis zu vier Bits des analogen Signalverlaufs auf bis zu vier Trigger-Leitungen geleitet werden. Bei dieser Art von Ausgangs-Trigger wird der Zustand des Triggers in den eigentlichen Signalverlauf eingebettet.
Mit einem Markerereignis können Sie bis zu vier Trigger-Leitungen so konfigurieren, dass sich deren Zustände synchron mit der Erzeugung eines bestimmten Samples ändern. Dieser digitale Impuls kann über PFI-Trigger-Leitungen auf dem Frontpanel eines Signalgenerators oder auf der PXI-Backplane erzeugt werden.
Markerereignisse werden durch Angabe eines Offset-Werts (in Sample-Anzahl) vom Beginn des Signalverlaufs festgelegt. Im Sequenzmodus konfigurieren Sie für jeden Schritt in der Sequenz ein Markerereignis. Im Skriptmodus können Sie bis zu vier Markierungen mit unterschiedlichen Offsets eines bestimmten Signalverlaufs konfigurieren. Wie Sie in Abbildung 21 sehen, wird die Trigger-Leitung, die dem Marker zugeordnet ist, an derselben Taktflanke aktiviert, die das 20. Sample erzeugt. Außerdem können Sie beobachten, dass in diesem speziellen Fall die Trigger-Leitung für 40 Perioden des Sample-Takts aktiviert wurde.
Abbildung 21: Timing der Ausgabe von Markerereignissen
Beachten Sie, dass Sie die Funktionsweise der Markerausgabe auf verschiedene Weise mit einem Eigenschaftsknoten konfigurieren können. Wie Abbildung 21 zeigt, wurde das Markerereignis für acht Perioden des Sample-Takts als Impuls konfiguriert. Dieses Verhalten kann mit einem niFgen-Eigenschaftsknoten festgelegt werden (Abbildung 22).
Abbildung 22: Konfigurieren eines Markerereignisses mit einem Eigenschaftsknoten
Abbildung 22 zeigt, dass es möglich ist, den Ausgangsanschluss, das Ausgabeverhalten und die Impulsbreite zu konfigurieren. Während die Markierung in Abbildung 22 als Impuls konfiguriert ist, können Sie stattdessen auch den Ausgang umschalten.
Markerereignisse eignen sich besonders für Situationen, in denen mehrere Instrumente synchronisiert werden müssen. Darüber hinaus können Sie mit PXI-Signalgeneratoren Markerereignis-Trigger einfach an mehrere Module wie Digitalisierer, RF-Vektorsignalgeneratoren oder Hochgeschwindigkeits-Digital-I/O-Hardware weiterleiten.
Mit Hilfe des Datenmarkierungsereignisses können Sie bis zu vier Signalverlaufsdatenbits als digitales Signal an eine physikalische Trigger-Leitung exportieren. Ein typischer Signalgenerator verwendet beispielsweise einen 16-Bit-D/A-Wandler. Bei der Erzeugung eines Signals werden also in jeder Periode der Sample-Rate 16-Bit-Samples an den D/A-Wandler gesendet. Darüber hinaus können Sie bis zu vier Bits jedes Samples auf physische Trigger-Leitungen leiten. Somit können Sie diese vier Signalverlaufsbits als digitalen Signalverlauf zur Synchronisation mit anderer Hardware konfigurieren.
Der digitale Pegel eines Datenmarkierungsereignisses ändert sich, wenn ein bestimmtes Datenbit die Signalverlaufsdaten ein- und ausschaltet. Wenn das Signalverlaufsdatenbit mehrmals in einem Segment umschaltet, ändert sich die Datenmarkierung jedes Mal. Wenn der Datenbitpegel "High" ist, ist der Datenmarkerpegel "High". Darüber hinaus können Sie Datenbitmarkierungen für die Verwendung inverser Logik konfigurieren. Ein Timing-Diagramm eines Signals mit Datenbitmarkern ist in Abbildung 23 dargestellt.
Abbildung 23: Bitweise Darstellung eines Signalverlaufs
Wie Abbildung 23 zeigt, besteht jedes Sample eines typischen Signalgenerators aus einer 16-Bit-Zahl. Sie können die 16-Bit-Zahl in jedem Sample-Takt des Signalgenerators aktualisieren. Abbildung 23 zeigt die vier niedrigstwertigen Bits jedes 16-Bit-Samples. Wie oben beschrieben, können Sie jedes dieser einzelnen Bits als digitales Signal auf eine physikalische Trigger-Leitung leiten. Die Funktionsweise der digitalen Trigger-Leitungen ist im Timing-Diagramm für jede Datenbit-Trigger-Leitung in Abbildung 24 dargestellt.
Abbildung 24: Timing-Diagramm für Datenmarkierungsereignisse
Abbildung 24 zeigt, dass jeder Datenbitmarker als externe Trigger-Leitung geschaltet werden kann. Beachten Sie, dass der Bitwert für jedes Sample den Zustand der Trigger-Leitung bestimmt. Beachten Sie in "DataBit3", dass das Bit für die ersten drei Taktperioden eine 0 ist und sich beginnend bei "t2" in eine 1 ändert. Daher bleibt der digitale Zustand von „PXI_Trig 3“ während der ersten drei Perioden auf Low und wechselt zum Zeitpunkt „t2“ auf High.
Mit Hilfe von Datenmarkierungsereignissen können Sie eine engere Synchronisation zwischen Signalgeneratoren und anderen Geräten erreichen, da Sie deren Betrieb in Hardware zeitlich steuern können. Darüber hinaus ist die Synchronisation zwischen mehreren PXI-Geräten noch einfacher, da keine externen Verbindungen zwischen Modulen erforderlich sind.
Mit den erweiterten Trigger- und Sequenzierungsfunktionen von Signalgeneratoren von National Instruments können Sie komplexe Signalverläufe erzeugen und eine Synchronisation zwischen mehreren Geräten erzielen. Außerdem befinden sich die synchronisierten Geräte im selben physischen PXI-System. Dadurch können Sie komplexe Testsignale implementieren, die eng mit mehreren Geräten synchronisiert sind. Abbildung 25 zeigt einen Beispiel-Testaufbau mit mehreren Geräten. Beachten Sie, dass in einem PXI-System ein Signalgenerator Markerereignisse oder Datenbitmarkerfunktionen implementieren kann, um den Betrieb anderer Instrumente zu steuern.
Abbildung 25: Automatisiertes PXI-Testsystem
Wie Abbildung 25 zeigt, kann ein Signalgenerator ein Erregersignal für den Prüfling bereitstellen. Darüber hinaus können zusätzliche Instrumente synchron mit dem Prüfling interagieren, indem sie den Erreger des Master-Signalgenerator verwenden. Weitere Informationen zum Entwerfen von ATE-Systemen finden Sie in der Ressourcenbibliothek des Testsystems.
Sie können auch Erregersignale von einem Prüfling verwenden, um das Erregersignal vom Prüfling zu bestimmen. Mit Skript- und Skript-Triggern können Sie die Ausgabe des Signals basierend auf realen Trigger-Ereignissen steuern. Abbildung 26 zeigt ein Blockdiagramm eines Testszenarios, bei dem ein Signalgenerator eine Reihe verschiedener Signale erzeugt, die von digitalen Steuersignalen des Prüflings abhängig sind. Mit Skripten kann ein Signalgenerator sofort auf diese digitalen Steuersignale reagieren, ohne die Erzeugung seines Signalverlaufs zu stoppen.
Abbildung 26: Dynamische Sequenzierung
In Abbildung 26 sind PFI0 und PFI1 als Skript-Trigger konfiguriert, um Eingaben vom Prüfling zu empfangen. Beachten Sie, dass Signalgeneratoren bis zu vier Skript-Trigger zur Steuerung der Signalausgabe verwenden können. Wenn Sie mehr als zwei Steuerleitungen benötigen, können Sie ein PXI-Timing- und Synchronisationsmodul verwenden, um digitale Trigger-Signale an den Signalgenerator zu leiten.
Moderne Signalgeneratoren von NI können komplexe und genaue Analogsignale erzeugen. Dadurch können Signalgeneratoren eine Vielzahl von Signalen erzeugen und eine Vielzahl von Anwendungen unterstützen.