14.12.2015, 15:31
(Dieser Beitrag wurde zuletzt bearbeitet: 14.12.2015 21:04 von jg.)
Beitrag #1
|
LabViewPete
LVF-Gelegenheitsschreiber
Beiträge: 74
Registriert seit: Jul 2015
7.1
2015
DE
|
Zeitsteuerung Sequenz
Hey Leute,
ich habe ein Programm geschrieben, welches auf einer Sequenz, bestehend aus 5 Teilen, basiert. Ich weis, dass der Sinn und Zweck einer Sequenz ist, die einzelne Teile nacheinander abzuarbeiten. Trotzdem würde ich gerne wissen, ob und wenn ja wie man die Abarbeitung einer Sequenz steuern kann, sodass zwei Teile zeitgleich/ nahezu zeitgleich abgearbeitet werden? Vielen Dank für eure Anregungen!
|
|
|
14.12.2015, 16:00
Beitrag #2
|
|
|
14.12.2015, 16:01
Beitrag #3
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Zeitsteuerunng Sequenz
Hallo Pete,
erste Option: Sequenz durch eine Statemachine ersetzen. Da kannst du schon mal festlegen, in welcher Reihenfolge die "Frames" (aka States) abgearbeitet werden.
Wenn etwas wirklich parallel stattfinden soll, muss es aber auch in parallelen Schleifen stattfinden!
|
|
|
15.12.2015, 11:59
Beitrag #4
|
LabViewPete
LVF-Gelegenheitsschreiber
Beiträge: 74
Registriert seit: Jul 2015
7.1
2015
DE
|
RE: Zeitsteuerung Sequenz
Okay, ich habe mein Programm so umgestaltet, dass in jeder Iteration eine Spalte (3 Elemente) einer 3x100 Matrix augelesen wird. Jedes Element stellt einen Befehl dar, den ich zeitlich getimt an eine weitere Funktion übergeben möchte. Wie kann ich das Tiiming in LabView umsetzen? Besten Dank!
|
|
|
15.12.2015, 13:03
Beitrag #5
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Zeitsteuerung Sequenz
Hallo Pete,
allgemeine Antwort: mit Wait-Befehlen! (Es gibt auch andere Antworten, die dann aber mehr Info über die Aufgabe erfordern…)
|
|
|
15.12.2015, 13:55
Beitrag #6
|
LabViewPete
LVF-Gelegenheitsschreiber
Beiträge: 74
Registriert seit: Jul 2015
7.1
2015
DE
|
RE: Zeitsteuerung Sequenz
Ich lese in jeder Iteration meiner While- Schleife 3 Werte eines Arrays indiziert aus und möchte jeden Wert an eine Funktion zum Versenden der Befehle übergeben. Nun möchte ich zwischen den Versenden jedes Befehls eine Verzögerung einbauen, die 0 oder 1 Sekunde sein soll. Wenn ich ein Wait-Element in meiner While- Schleife platziere, wartet mein Programm immer die 1 Sekunde nachdem alle Befehle versendet worden. Wie schaffe ich eine Verzögerung zwischen dem Versenden zweier Befehle?
|
|
|
15.12.2015, 14:05
Beitrag #7
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Zeitsteuerung Sequenz
Hallo Pete,
mit einer Wait-Funktion zwischen dem Versand der Befehle - THINK DATAFLOW!
|
|
|
15.12.2015, 14:12
(Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2015 14:13 von Freddy.)
Beitrag #8
|
Freddy
Oldtimer
Beiträge: 729
Registriert seit: Aug 2008
2019, 2020, 2021
1996
DE
76275
Deutschland
|
RE: Zeitsteuerung Sequenz
Ich habe so etwas mal in einer einfachen Variante gemacht.
Ein eigenes VI mit der Wait - Funktion und einer Error (Eingang) und Error (Ausgang). Für die Wait - Funktion habe ich einen Zahlen Eingang noch dazu genommen. Dieses VI kann ich dann zwischen die Befehle über die Error Leitung hängen. Dann wird der erste Befehl ausgeführt, die Zeit abgewartet und der nächste Befehl wird ausgeführt.
Das Bild dient nur als Beispiel.
Gruß
Freddy
Das Bild
|
|
|
15.12.2015, 16:31
Beitrag #9
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Zeitsteuerung Sequenz
Hallo,
genau wie Freddy es vorschlägt.
Sowas gibt es auch fertig bei den OpenG-Funktionen (LabVIEW-Tools-Network/VIPM)!
|
|
|
15.12.2015, 17:02
|
|
|
| |