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 

Wie füge ich 2 flat sequence Strukturen zusammen?



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!

05.04.2009, 14:49
Beitrag #1

horatius Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 55
Registriert seit: Dec 2008

8.5; 8.6:2009
2008
DE_EN

aaaaa
Deutschland
Wie füge ich 2 flat sequence Strukturen zusammen?
Wie kann ich einfach von der oberen zur unteren Struktur gelangen?

Der umständliche Weg wäre so:
füge an die obere linke Struktur 2 leere Frames an und kopiere den Inhalt der beiden rechten Frames hinein
dabei werden aber Drähte unterbrochen und man muß umständlich neu verdrahten
LV8.6
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.04.2009, 17:11
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Wie füge ich 2 flat sequence Strukturen zusammen?
Geht meines Wissens nach nicht.

Wobei: bei entsprechender Programmierung und entsprechender Erstellung von SubVIs kann man quasi immer auf eine Sequenzstruktur verzichten, dafür ist der Datenfluss da. Und wenn du was von Neuziehen von Verbindungen sagst, dann ist dies doch schon deine Abfolge...

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.04.2009, 17:13
Beitrag #3

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Wie füge ich 2 flat sequence Strukturen zusammen?
Anders wirst Du es aber nicht hinkriegen.....
Was hast Du denn mit der Sequenz vor? Wäre da nicht eine State Machine die bessere Lösung?
Und wenn Du eh schon am rumverschieben, kopieren,... bist, dann könntest Du das doch gleich umstellen.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.04.2009, 18:21 (Dieser Beitrag wurde zuletzt bearbeitet: 05.04.2009 18:22 von Lucki.)
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Wie füge ich 2 flat sequence Strukturen zusammen?
' schrieb:Wie kann ich einfach von der oberen zur unteren Struktur gelangen?
So berechtigt die Einwände sind - und ich schließe mich hier der allgemenen Kritik voll an -, so kann man sich auch auf den Standpunkt stellen: Des Menschen Wille ist sein Himmelreich, also soll es so geschehen.

Und dann wäre die einfache Antwort auf die einfach Frage:

Entweder:
In Sequenzstruktur 1/2 boolsche Konstatne erstellen, diese herausführen und an Sequenzstruktur 3/4 anschließen - ohne dort die Durchführung innen zu benutzen. (Oder statt eine boolsche Konstante zu erstellen einen beliebigen Draht anzapfen, der gerade da ist.)
Oder:
Neuen Rahmen mit 2 Sequenzen a und b erstellen. In Sequenzrahmen a die Sequenzstruktur 1/2 hineinkopieren und in Sequenzrahmen b die Sequenzstruktur 3/4 (Man hat also dann 2 Sequenzstrukturen innerhalb einer Sequenzstruktur)

In beiden Fällen hätte man die Reihenfolge 1/2/3/4 erzwungen, ohne ganz neu zu verdrahten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.04.2009, 18:45
Beitrag #5

horatius Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 55
Registriert seit: Dec 2008

8.5; 8.6:2009
2008
DE_EN

aaaaa
Deutschland
Wie füge ich 2 flat sequence Strukturen zusammen?
Wie ihr im Bild erkennen könnt, berechne ich einige Variablen, auf die ich später über Referenzen zugreife. Die Variablen sind teilweise voneinander abhängig, d.h. bestimmte Variablen ergeben sich aus früheren Variablen. Nun will ich lange Verdrahtungen, die zu einer Seqenzierung führem wegen der Unübersichtlichkeit vermeiden. Die Reihenfolge wird stattdessen durch Flat sequenzen erzwungen. Das eigentliche Problem ist, das ich festgestellt habe, dass Variablen berechnet werden, selbst wenn die dafür benötigten Eingangsvariablen (hier: Rerenzen von anderen Variablen) noch nicht berechnet wurden. LV nimmt dann einfach den Variablenwert, der im vorherigen Programmstart ermittelt wurde. Das sollte ja eigentlich nicht sein.
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.04.2009, 18:55
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Wie füge ich 2 flat sequence Strukturen zusammen?
So auf eine schnellen Blick kannst du auf alle lokalen Variablen in deinem Screenshot verzichten! Einfach Verdrahtung weiterführen, und du brauchst:
1. keine Sequenzstuktur.
2. keine lokalen Variablen (Performance!)
3. Hast keine Probleme mit den von dir angesprochenen Race Conditions.

Weitere Hinweise zu deinem Screenshot:
1. BD ist eindeutig zu groß, 5600 Pixel Breite, was soll das...
2. Ein Tip zur besseren Übersichtlichkeit: Mach doch mal aus deinen vielen Rechenschritten in den einzelnen Sequenzrahmen ein paar SubVIs. Auch dann brauchst du die Sequenzstruktur nicht und kannst durch entsprechende Datenflussverdrahtung die von dir festgestellten (und auch so programmierten) Race-Condition abstellen.

Gruß, JEns

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.04.2009, 18:55
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Wie füge ich 2 flat sequence Strukturen zusammen?
' schrieb:Nun will ich lange Verdrahtungen, die zu einer Seqenzierung führem wegen der Unübersichtlichkeit vermeiden. Die Reihenfolge wird stattdessen durch Flat sequenzen erzwungen.
Ich würde trotz ersterem letzteres trotzdem nicht machen. In deinem Falle würde ich alle Variablen zu einem Cluster zusammenfassen und den als Sequenzierung nehmen.

Zitat:Das eigentliche Problem ist, das ich festgestellt habe, dass Variablen berechnet werden, selbst wenn die dafür benötigten Eingangsvariablen (hier: Rerenzen von anderen Variablen) noch nicht berechnet wurden.
Sollte ich dieses Verhalten aus dem geposteten Bild herauslesen können?

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.04.2009, 11:41 (Dieser Beitrag wurde zuletzt bearbeitet: 06.04.2009 11:55 von horatius.)
Beitrag #8

horatius Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 55
Registriert seit: Dec 2008

8.5; 8.6:2009
2008
DE_EN

aaaaa
Deutschland
Wie füge ich 2 flat sequence Strukturen zusammen?
Hier der Kern meines Problems. Wenn ich bei a einen Wert eingebe und das Prg starte, dann wird bei Indikator b der Wert a ausgegeben und erst beim zweiten Programmstart auch bei Indikator c, d.h. c gibt den Wert von a aus dem vorletzten Programmstart aus. Ich hätte erwartet, dass erst die Abhängigkeiten abgearbeitet werden, bis c definiert ist. Stattdessen wird für Indikator c der Wert aus dem Speicher benutzt. Kann man denn nicht erzwingen, dass der Speicher abgeschaltet wird und erst dann eine Referenz benutzt wird, wenn sie klar definiert wurde?
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.04.2009, 12:03 (Dieser Beitrag wurde zuletzt bearbeitet: 06.04.2009 12:04 von IchSelbst.)
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Wie füge ich 2 flat sequence Strukturen zusammen?
' schrieb:Wenn ich bei a einen Wert eingebe und das Prg starte, dann wird bei Indikator b der Wert a ausgegeben und erst beim zweiten Programmstart auch bei Indikator c, d.h. c gibt den Wert von a aus dem vorletzten Programmstart aus.
Das ist genau das, was du als Bild gepostet hast.

Zitat:Ich hätte erwartet, dass erst die Abhängigkeiten abgearbeitet werden, bis c definiert ist. Stattdessen wird für Indikator c der Wert aus dem Speicher benutzt.
Deine Erwartungen mögen zwar deiner Applikation entsprechen - aber du hast hier mit LV ein datenflußgesteuertes Datenmodell. Alles was nicht per Datenfluß (also per Draht) verbunden (also sequenziert ist) ist, wird parallel abgearbeitet. Was da parallel abgearbeitet wird, ist dem Programm egal. Ob da deine Logik mit den Variablen durcheinander kommt, steht auf einem anderen Blatt.

Zitat:Kann man denn nicht erzwingen, dass der Speicher abgeschaltet wird und erst dann eine Referenz benutzt wird, wenn sie klar definiert wurde.
Nein. So wie du das sagt, geht das nicht. Die lokale Variable an sich ist keine Referenz. Die hat einen eigenen (Zwischen-)Speicher. Auch wäre sowas nicht im Sinne von LV resepktive dem Datenfluß.

Machs doch einfach so, wie es sich gehört: Nimm statt der lokalen Variablen einen Datenfluß (ob per Draht oder Sequenzstruktur sei vorerst nochmals zurückgestellt).

Warum willst du keinen Datenfluß machen?


Nachtrag:
Die Sache mit dem Datenfluß muss dir in Fleisch und Blut übergehen. Ohne geht zwar, mit wird aber besser.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.04.2009, 12:06
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Wie füge ich 2 flat sequence Strukturen zusammen?
Na und, das ist das ganz normale Verhalten in LV, wenn du nicht durch Datenfluss eine Abarbeitungsfolge erzwingst. Nur das Platzieren von links nach rechts sagt dir noch lange nicht, wie intern wirklich die Abfolge sein wird. Merke: LV ist keine textbasierte Programmiersprache, bei die Reihenfolge der Abarbeitung durch die Zeilennummer gegeben ist. Im Gegenteil, LV ist multithreading-fähig und versucht, Sourcecode der parallel laufen kann, auch parallel abzuarbeiten.

Die Lösung für dein Problem sieht übrigens extrem einfach aus: keine lokale Variablen und Datenfluss ausnutzen:
   

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Drähte automatisch beim Ziehen aus Strukturen erhalten cb 7 13.380 10.08.2019 11:16
Letzter Beitrag: cb
  2 Arrays, in einem Anzeigen (nicht zusammen) Daniel H. 2 3.717 23.11.2014 19:45
Letzter Beitrag: Daniel H.
  While Loops in Flat Sequences beenden virtualmake 6 5.137 04.12.2013 09:29
Letzter Beitrag: GerdW
  In Flat Sequence springen narrentanz 6 6.752 08.03.2012 14:46
Letzter Beitrag: chrissyPu
  String aus mehreren Hexwerten zusammen fügen samuel-stinger 2 3.390 09.12.2010 12:17
Letzter Beitrag: samuel-stinger
  Datenübergabe aus stacked sequence derdaniel 6 6.646 02.09.2010 12:36
Letzter Beitrag: derdaniel

Gehe zu: