INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

PSU-VI Problem mit Timer-Abbruch



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

29.04.2024, 10:44
Beitrag #21

GerdW Offline
______________
LVF-Team

Beiträge: 17.431
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: PSU-VI Problem mit Timer-Abbruch
Hallo Tom,

Zitat:Ich denke es liegt an meiner State Machine. Denn wenn ich nur meine SubVIs für Spannung und Strom setzen und alle GET-SubVIs zum auslesen des Netzgeräts in eine Schleife schmeiße funktioniert alles wunderbar. Kann der Typ der StateMachine, also die QSM diese Art von Fehler hervorrufen? Können lokale Variablen dafür verantwortlich sein?
- Die QSM (als Konstrukt an sich) wird diesen Fehler nicht hervorrufen. Nur der Code, den du innerhalb der QSM aufrufst (und wie oft du ihn aufrufst), kann den Fehler bewirken…
- Lokale Variablen an sich auch nicht - nur eben wieder die Werte, die sie enthalten. Ändert sich der Wert einer lokalen Variable irgendwann? Wozu benötigst du hier überhaupt (noch) lokale Variablen?

Wenn deine Schleife wirklich wie gewünscht funktioniert, dann packst du den enthaltenen Code in ein subVI und rufst dieses eine subVI in deiner QSM auf. Der Code sollte dann genauso wie in der Schleife funktionieren!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.05.2024, 16:44
Beitrag #22

SirTom Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Jan 2024

2019
-
EN



RE: PSU-VI Problem mit Timer-Abbruch
Guten Tag,

ich nutze für die Erstellung des rampenförmigen Signalverlaufs zwei Zustände. Im "csv StartMeasurement"-Zustand erzeuge ich die Rampe und gib diese per For-Loop aus. Im "csv WaitMeasurementTime"-Zustand wird einfach eine gewisse Zeit gewartet, solange eben der Plateau-Wert gehalten werden soll.

Aber der Timer zählt nicht durch, sondern nur 1 bis 2 sekunden, dann passiert für 2 Sekunden nichts und anschließend wird wieder weitergezählt. Der Zahlenwert des Timers verläuft erst normal, zählt also hoch (z. B. 1, 2, 3), stoppt für 2 Sekunden und zählt dann aber weiter, aber mit den 2 Sekunden berücksichtigt (also 6, 7, 8) und das durchgehend. Scheint als würde die State Machine in den Timeout wechseln und damit in den Frontpanel-Refresh-Zustand "GET Output/Limit/Mode" regelmäßig wechseln.

Wie kann ich das für bestimmte Zustände unterbinden? Ist das überhaupt möglich?

Danke für eure Hilfe.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2024, 17:04 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2024 17:06 von GerdW.)
Beitrag #23

GerdW Offline
______________
LVF-Team

Beiträge: 17.431
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: PSU-VI Problem mit Timer-Abbruch
Hi Tom,

Zitat:Wie kann ich das für bestimmte Zustände unterbinden? Ist das überhaupt möglich?
In einer Statemachine legst du programmatisch fest, welcher State als nächster aufgerufen wird. Wenn also nicht der richtige State abgearbeitet wird, dann ist dein Programm nicht korrekt...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2024, 17:26 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2024 19:23 von SirTom.)
Beitrag #24

SirTom Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Jan 2024

2019
-
EN



RE: PSU-VI Problem mit Timer-Abbruch
Wie kann das sein? Ich gebe ja in jedem Zustand den Folgezustand an und dennoch wechselt die StateMachine in den Idle bzw. Refresh.
In der aktuellen Version wechsel ich von "csv StartMeasurement" zu "csv UI" um das Frontpanel zu deaktivieren, dann in "csv RampVoltage", sowie " csv RampCurrent" um die Rampen für Spannung und Strom aufzubauen. Anschließend gehts in besagten "csv WaitMeasurementTime"-Zustand, wo der Fehler auftritt. Dieser Zustand ruft sich solange selbst auf, bis die vorgegebene Zeit erreicht wird. Naja er ruft sich auch selbst auf, allerdings eben mit dieser Gedenkpause dazwischen.
Die Selbe "Gedenkpause" tritt übrigends später auch im bzw. nach dem "csv NextPoint"-Zustand auf. Dort wird entschieden, ob ein weiterer RampenaufbauZyklus durchlaufen werden soll.

Mein VI ist im allg. langsam, aber besonders nach auftreten des Fehlers reagiert das VI extrem langsam.

Wie sieht es mit Referenzen aus um Teile des Frontpanels zu deaktivieren? Frisst das viel Zeit?


Angehängte Datei(en)
0.0 .rar  PSU StateMachine v04.rar (Größe: 2,87 MB / Downloads: 11)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.05.2024, 04:58 (Dieser Beitrag wurde zuletzt bearbeitet: 14.05.2024 04:59 von Martin.Henz.)
Beitrag #25

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 420
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: PSU-VI Problem mit Timer-Abbruch
Hi Tom,

Wie das sein kann?

LabVIEW und andere Programmiersprachen machen normalerweise nur das, was programmiert wurde. Aber selbst, wenn es doch einmal anders sein sollte, hilft Debuggen immer - ganz sicher :-)

Wenn du deine VIs in einer älteren LabVIEW Version speichern würdest, dann könnte ich und viele andere einmal einen Blick darauf werfen und vielleicht auch etwas mehr dazu sagen.

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Who read this thread?
10 User(s) read this thread:
MScz, rolfk, Martin.Henz, IchSelbst, GerdW, th13, TpunktN, SirTom, BNT, jg

Gehe zu: