Lokale Variable aus einer Stacked Sequence herausführen
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!
13.11.2007, 18:30 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2007 14:15 von jg.)
Lokale Variable aus einer Stacked Sequence herausführen
Gutan Tag Allerseits!
Mein aktuelles LabVIEW Problem entstand aus meiner Diplomarbeit. Da die Arbeit ein Auftrag aus der Industrie ist, darf ich hier den Code leider nicht veröffentlichen. Ich versuche daher meine Frage möglichst präzise zu stellen, aber eben leider ohne Code ;-)
In den jeweiligen Frames meiner Stacked Sequence (welche wiederum Teil einer Event-Struktur ist) steuere ich einerseits ein altes Strommessgerät über GPIB an (ohne entsprechenden Treiber) und andererseits schreibe ich neue Daten über ModBus an die Aussenwelt. Die Steuerung der beiden "Kommunikationswege" funktioniert eigentlich bestens, da diese auch in anderen Teilen der LabVIEW-Software eingesetzt werden und verifiziert wurden.
Nun möchte ich jedoch in jedem Frame meiner Stacked Sequence neue Modbus-Parameter/-Daten abgeben, die dann sofort versendet werden sollen.
Zur Zeit schreibe ich die neuen Daten auf eine Variable, dessen Bezugswert ausserhalb der Stacked Sequence steht. Dabei wird in jedem Frame die Variable wieder neu überschrieben. Leider werden die Variablen aber erst am Ende der Stacked Sequence nach draussen abgegeben, womit die Daten (da sie nicht versendet werden) verloren gehen.
Ich habe nun trotzdem ein kleines Beispiel geschrieben. Dieses ist nicht lauffähig und soll nur zur Anschauung dienen. Die vier Indicators gehen bei mir dann aus der Event Struktur auf die ModBus Bausteine.
Wie kann ich nun erreichen, dass die Variablen trotzdem nach Beendigung jedes Frames aus der Event Struktur ausgegeben werden? Also über Modbus geschickt werden?
Lokale Variable aus einer Stacked Sequence herausführen
' schrieb:Wie kann ich nun erreichen, dass die Variablen trotzdem nach Beendigung jedes Frames aus der Event Struktur ausgegeben werden? Also über Modbus geschickt werden?
Aus der Eventstruktur hinaus nach jedem Frame? Das geht so nicht. Die Eventstruktur wird erst verlassen, wenn alles innerhalb eines Eventcases abgearbeitet wurde - egal was da steht.
Du kannst aber in jedem Sequenz-Frame das SubVI, das die ModBus-Comm. macht, aufrufen.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Lokale Variable aus einer Stacked Sequence herausführen
Wie sieht es aus, wenn ich die vier Indicators aus der Event-Struktur nehme? Werden diese dann auch erst bei Beendigung des gesamten Event-Frames mit den Variablen-Werten aktualisiert oder geschieht dies nun laufend?
Lokale Variable aus einer Stacked Sequence herausführen
' schrieb:Wie sieht es aus, wenn ich die vier Indicators aus der Event-Struktur nehme? Werden diese dann auch erst bei Beendigung des gesamten Event-Frames mit den Variablen-Werten aktualisiert oder geschieht dies nun laufend?
Das nützt überhaupt nichts...die umgebende While-Schleife, die für die Aktualisierung sorgt, läuft erst weiter, wenn die komplette Sequenz im Event-Frame fertig ist!
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)