Konfigurieren der Einstellungen einer zeitgesteuerten Struktur (Real-Time, Windows)
- Aktualisiert2025-08-27
- 7 Minute(n) Lesezeit
Mit Hilfe der Konfigurationsdialogfelder von zeitgesteuerten Strukturen können Sie erweiterte Einstellungen wie Fristen, Timeouts und sekundäre Timing-Quellen für zeitgesteuerte Strukturen vornehmen. Klicken Sie zur Anzeige des Dialogfelds Zeitgesteuerte Schleife konfigurieren, Zeitgesteuerte Sequenz konfigurieren oder Zeitgesteuerte Schleife mit Rahmen konfigurieren doppelt oder mit der rechten Maustaste auf den Eingangsknoten und wählen Sie anschließend Eingangsknoten konfigurieren aus dem Kontextmenü.
Festlegen einer Ausführungsfrist
Mit einer Ausführungsfrist wird einem Rahmen relativ zum Beginn des Rahmens zur Ausführung eine bestimmte Zeitspanne gesetzt. Eine Frist ist also eine zeitliche Begrenzung der Ausführung eines Unterdiagramms. Wenn ein Rahmen nicht vor der Ausführungsfrist beendet ist, gibt der linke Datenknoten des nächsten Rahmens am Ausgang Verspätete Beendigung? den Wert TRUE aus und läuft weiter. Eine Ausführungsfrist muss in der gleichen Einheit angegeben werden wie die Timing-Quelle des Rahmens.
Im folgenden Beispiel hat der erste Rahmen die Ausführungsfrist 50. Das heißt, der Rahmen muss innerhalb von 50 Taktimpulsen des 1-kHz-Takts, also in 50 ms, vollständig ausgeführt sein. Da es aber im Rahmen ein VI gibt, das eine 60-ms-Wartefunktion aufruft, werden zur vollständigen Ausführung des Rahmens 60 ms benötigt. Der Ausgang Verspätete Beendigung? des zweiten Rahmens gibt daraufhin TRUE aus, da die Ausführung des Rahmens nicht innerhalb der angegebenen Frist abgeschlossen wurde.
Festlegen eines Timeouts
Der Timeout gibt an, wie viele Millisekunden lang ein Rahmen auf den Beginn seiner Ausführung warten kann. Der Timeout-Wert bezieht sich entweder auf den Start der Iteration oder das Ausführungsende des vorherigen Rahmens. Wenn die Ausführung des Unterdiagramms nicht vor dem angegebenen Timeout-Wert beginnt, gibt die zeitgesteuerte Schleife am Ausgang Aktivierungsgrund des linken Datenknotens für diesen Rahmen Timeout aus.
Sie können verschiedene Arten von NI-DAQmx-Timing-Quellen verwenden (z. B. Digitalflankenzähler oder Signale von Task-Quellen), um zeitgesteuerte Strukturen zu steuern oder Timeouts festzulegen. Im folgenden Beispiel wird der zweite Rahmen der zeitgesteuerten Sequenzstruktur ausgeführt, wenn das VI DAQmx - Timing-Quelle erstellen einen Impuls von einem Gerät erhält. Unter idealen Bedingungen sendet das Gerät alle 50 ms einen Impuls. Das Timing des Impulses kann jedoch variieren. Der Timeout-Wert 60 ms für den zweiten Rahmen bedeutet, dass mit der Ausführung des Rahmens nach dem Beginn des ersten Rahmens 60 ms lang gewartet werden kann. Wenn der Rahmen nicht innerhalb von 60 ms gestartet wird, läuft die Iteration ungetaktet ab und für den zweiten Rahmen wird im Ausgang Aktivierungsgrund des linken Datenknotens Timeout angegeben.
Wenn ein Timeout in einer zeitgesteuerten Struktur auftritt, wird der Rest der Iteration ungetaktet ausgeführt. Für die zeitgesteuerte Struktur wird im Ausgang Aktivierungsgrund der verbleibenden Rahmen Timeout angegeben. Die Timing-Angaben, die von den verbleibenden Rahmen bereitgestellt werden, stimmen mit denen des Rahmens überein, an dem der Timeout aufgetreten ist. Wenn eine zeitgesteuerte Schleife eine andere Iteration beenden muss, hält sie wieder an dem Rahmen an, an dem der Timeout aufgetreten ist, und wartet auf das ursprüngliche Timeout-Ereignis.
Per Standardeinstellung lautet der Timeout-Wert für den ersten Rahmen einer zeitgesteuerten Struktur -1, das heißt, die Wartezeit für den Start des Rahmens ist unbegrenzt. Der Standard-Timeout-Wert für andere Rahmen lautet 0. Dieser Wert bedeutet, dass der Timeout-Wert mit dem des vorherigen Rahmens übereinstimmt.
Festlegen eines Offsets
Der Offset gibt den Ausführungszeitpunkt des ersten Rahmens relativ zum Start der zeitgesteuerten Struktur an. Der Offset wird absolut und mit der Einheit der Timing-Quelle der Struktur angegeben.
Sie können zwei zeitgesteuerte Strukturen phasengleich ablaufen lassen, indem Sie für beide dieselben Timing-Quelle und eines Offset verwenden. Die zeitgesteuerten Schleifen im folgenden Blockdiagramm haben dieselbe 1-kHz-Timing-Quelle und ihr Offset (t0) lautet 500. Das heißt, die Schleifen warten nach dem Triggern der Timing-Quelle 500 ms lang mit der Ausführung.
Im letzten Rahmen einer zeitgesteuerten Schleife können Sie mit dem rechten Datenknoten den Offset für nachfolgende Iterationen der Schleife dynamisch ändern. Beim dynamischen Ändern des Offsets für nachfolgende Iterationen müssen Sie jedoch am Eingang Modus des rechten Datenknotens einen Modus angeben.
| Hinweis Wenn Sie den Offset mit Hilfe des rechten Datenknotens ändern, darf der Eingang Modus nicht Keine Änderung lauten. Sie müssen einen Wert für den Modus angeben. |
Das Ändern des Offsets für eine zeitgesteuerte Schleife wird im Beispiel "Timed Loop Offset" im Verzeichnis labview\examples\Structures\Timed Loop veranschaulicht.
Zuweisen eines Prozessors
Per Standardeinstellung wird die die Ausführung zeitgesteuerter Strukturen automatisch auf die Prozessoren des Rechners verteilt. Sie können aber die Prozessorlast von zeitgesteuerte Strukturen für die weitere Ausführungssteuerung auch per Hand aufteilen.
Zur manuellen Auswahl eines Prozessors für eine zeitgesteuerte Struktur wählen Sie im Dialogfeld Zeitgesteuerte Schleife konfigurieren, Zeitgesteuerte Schleife mit Rahmen konfigurieren, Zeitgesteuerte Sequenz konfigurieren, Timing für nächsten Rahmen oder Nächste Iteration konfigurieren unter Prozessorauswahl die Option Manuell aus dem Pulldown-Menü Modus aus. Außerdem müssen Sie eine ganze Zahl zwischen 0 und 255 in das Feld Prozessor eingeben, um festzulegen, welcher Prozessor für die Ausführung zuständig ist. 0 steht für den ersten verfügbaren Prozessor im System. Wenn Sie eine Nummer außerhalb des angegebenen Bereichs eingeben, wird sie an den Bereich von 0 bis 255 angepasst. Wenn Sie eine größere Zahl eingeben, als Prozessoren vorhanden sind, kommt es zu einem Laufzeitfehler und die zeitgesteuerte Struktur wird nicht ausgeführt.
Wenn Sie aus dem Pulldown-Menü Modus die Option Automatisch auswählen, wird der Struktur automatisch ein Prozessor zugewiesen und der Wert von Prozessor wird automatisch auf -2 gesetzt. Wenn Sie für einen Rahmen oder eine der nächsten Iterationen aus dem Pulldown-Menü Modus die Option Keine Änderung auswählen, wird derselbe Prozessor verwendet, der auch für den letzten Rahmen oder die letzte Iteration zuständig war, und Prozessor wird automatisch auf -1 eingestellt.
Sie können aber auch einen Wert mit dem Eingang Prozessor des Eingangsknotens einer zeitgesteuerten Struktur verbinden, um einen Prozessor auszuwählen.
Weitere Informationen zur Optimierung der Leistung von zeitgesteuerten Strukturen durch manuelle Auswahl des Prozessors finden Sie unter "Optimierung von RT-Anwendungen für mehrere CPU-Systeme".
Verwendung einer sekundären Timing-Quelle
Sie können für die Steuerung von Unterdiagrammen oder Rahmen einer zeitgesteuerten Struktur mit einer anderen Taktquelle als die Struktur selbst eine sekundäre Timing-Quelle verwenden. Wählen Sie eine sekundäre Timing-Quelle im Abschnitt Timing-Quelle des Rahmens des Dialogfelds Zeitgesteuerte Schleife konfigurieren, Zeitgesteuerte Schleife mit Rahmen konfigurieren oder Zeitgesteuerte Sequenz konfigurieren.
Zeitgesteuerte Strukturen unterstützen folgende sekundären zeitgesteuerten Quellen:
- Timing-Quelle der Schleife verwenden oder der Sequenz—Verwendung derselben Timing-Quelle für die zeitgesteuerte Struktur und die Rahmen.
- LabVIEW-Timing-Quelle aus Liste verwenden—Verwendung einer separaten LabVIEW-Taktquelle für die Steuerung der Rahmen.
- 1-kHz-Takt <bei Strukturstart zurücksetzen>—Eine dem 1-kHz-Takt ähnliche Timing-Quelle, die nach jeder Iteration einer zeitgesteuerten Struktur auf 0 zurückgesetzt wird.
- 1-MHz-Takt <bei Strukturstart zurücksetzen>—Eine dem 1-MHz-Takt ähnliche Timing-Quelle, die nach jeder Iteration einer zeitgesteuerten Struktur auf 0 zurückgesetzt wird.
Absolute und relative Zeit in zeitgesteuerten Strukturen
Die Ausführung einer zeitgesteuerten Struktur wird von einer speziellen Timing-Quelle getaktet. Allerdings arbeiten nicht alle Einstellungen zu zeitgesteuerten Strukturen mit dem relativen Wert. In zeitgesteuerten Schleifen und Sequenzen mit Rahmen beziehen sich manche Einstellungen auf vorherige Rahmen und manche auf den aktuellen. Der Start- und der Stoppzeitpunkt eines Rahmens sowie alle dazugehörigen Zeitangaben sind relativ und alle Einstellungen zur Timing-Quelle sind absolut.
Der Offset bei zeitgesteuerten Strukturen ist eine absolute Zeitangabe, ebenso die Werte für Erwarteter Start, Erwartetes Ende, Tatsächlicher Start und Tatsächliches Ende für das Timing von Rahmen und Iterationen. Der Startzeitpunkt, die Ausführungsfrist und der Timeout jedes Rahmens werden relativ angegeben. Der Startzeitpunkt und der Timeout sind relativ zum Ausführungsbeginn des vorherigen Rahmens und die Ausführungsfrist ist relativ zum Beginn des aktuellen Rahmens.
Im folgenden Blockdiagramm sehen Sie eine zeitgesteuerte Schleife mit Rahmen mit einem 1-kHz-Takt, einer Periode (einem Ausführungsintervall) von 1000 ms und einem Offset von 100 ms. Der Offset ist eine absolute Zeitangabe. Das heißt, die Schleife wird ausgeführt, wenn die Timing-Quelle 100 ms, 1100 ms, 2100 ms, 3100 ms usw. erreicht, bis die Ausführung abgeschlossen ist.
| Hinweis Eine zeitgesteuerte Schleife mit verspäteten Iterationen kann je nach Modus der Schleife mit absoluten oder relativen Zeitangaben arbeiten. |
| 1 | Offset | Absolute Zeit—Gilt für die Timing-Quelle der Schleife. |
| 2 | Frist | Relative Zeit—Bezieht sich auf den Beginn des zweiten Rahmens. |
| 3 | Start | Relative Zeit—Bezieht sich auf den Beginn des ersten Rahmens. |
| 4 | Timeout | Relative Zeit—Bezieht sich auf den Beginn des letzten Rahmens. |
Die Startzeit des zweiten Rahmens der zeitgesteuerten Schleife ist mit 75 ms, also relativ angegeben. Da sich dieser Wert auf den Ausführungsbeginn des vorherigen Rahmens bezieht, kann der zweite Rahmen erst 75 ms nach Ausführungsbeginn des ersten starten. Die Zeitangabe der Timing-Quelle für die Ausführung des ersten Rahmens ist absolut und lautet 100 ms. Das heißt, der zweite Rahmen wird in der ersten Iteration nach 175 ms ausgeführt, da er dem ersten Rahmen 100 ms zeitversetzt folgt.
Der Timeout des Rahmens beträgt 2000 ms. Das heißt, nach der Ausführung eines Rahmens soll maximal 2000 ms bis zur Ausführung des nächsten gewartet werden. Wenn der zweite Rahmen nicht 2000 ms nach Ausführungsbeginn des ersten Rahmens startet, wird die verbleibende Iteration ungetaktet ausgeführt und bei der nächsten Iteration wird am Ausgang Aktivierungsgrund des linken Datenknotens Timeout ausgegeben. Wenn der zweite Rahmen nicht vor Ablauf des 2000-ms-Timeouts startet, wird die Ausführungsdauer des Rahmens durch die Frist von 150 ms begrenzt. Von dem Zeitpunkt an, bei dem der zweite Rahmen mit der Ausführung startet, können 150 ms vergehen, bevor der Rahmen unter Verspätete Beendigung TRUE ausgibt.