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 

Daten aus einer For-Schleife werden nicht korrekt übertragen



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!

24.01.2011, 19:48
Beitrag #11

schrotti Offline
LVF-Freak
****


Beiträge: 842
Registriert seit: Feb 2008

2009 - 2011
2006
kA

70180
Deutschland
Daten aus einer For-Schleife werden nicht korrekt übertragen
Hallo brik,

lad doch nochmals dein aktuelles VI hoch. Da sind noch ein paar Sachen, die können so nicht bestehen bleiben. Beispielsweise der Zugriff auf ein Element per Eigenschaftsknoten. Außer der mangelnden Performance, die hier wahrscheinlich keine Rolle spielt, handelst du dir Race Conditions ein.

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.01.2011, 14:26 (Dieser Beitrag wurde zuletzt bearbeitet: 25.01.2011 14:26 von brik.)
Beitrag #12

brik Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Jan 2011

10.0
2011
de

46539
Deutschland
Daten aus einer For-Schleife werden nicht korrekt übertragen
' schrieb:Hallo brik,

lad doch nochmals dein aktuelles VI hoch. Da sind noch ein paar Sachen, die können so nicht bestehen bleiben. Beispielsweise der Zugriff auf ein Element per Eigenschaftsknoten. Außer der mangelnden Performance, die hier wahrscheinlich keine Rolle spielt, handelst du dir Race Conditions ein.

Hallo Julius,

selbstverständlich lade ich mein VI hoch. Jedoch sind in der aktuellen Version noch "ein paar" Funktionen hinzugekommen, so dass sich hier einige eventuell wieder die Haare raufen werden.

Sollten du oder jemand anderes der Meinung sein, dass eine Funktion so wie ich sie realisiert habe, auf gar keinen Fall ausgeführt werden sollte, so würde ich mich natürlich über Verbesserungsvorschläge sehr freuen. Es bringt mir allerdings sehr wenig, wenn einfach etwas geändert wird, bei dem ich nicht nachvollziehen kann was und/oder warum. Dann mache ich es beim nächsten Mal ja wieder falsch und ich würde gerne noch was lernen. Eine entsprechende Erklärung wäre also super.

Also, danke schon mal für die Hilfe und hier ist mein VI:

Lv10
Sonstige .vi  024_Datei_auslesen_senden_validieren.vi (Größe: 133,66 KB / Downloads: 185)


+ entsprechende SubVIs im Anhang
+ benötigte Textdatei zum Einlesen.

Thanx


Angehängte Datei(en)
Sonstige .vi  101_SubVI_durch10plus100_string.vi (Größe: 18,42 KB / Downloads: 162)

Sonstige .vi  102_SubVI_mal10minus100_string.vi (Größe: 18,79 KB / Downloads: 167)

Sonstige .vi  103_Rotationsstring_zerschneiden.vi (Größe: 14,9 KB / Downloads: 149)

Sonstige .txt  001_Holz_flach.txt (Größe: 445 Bytes / Downloads: 183)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.01.2011, 21:59 (Dieser Beitrag wurde zuletzt bearbeitet: 25.01.2011 22:01 von schrotti.)
Beitrag #13

schrotti Offline
LVF-Freak
****


Beiträge: 842
Registriert seit: Feb 2008

2009 - 2011
2006
kA

70180
Deutschland
Daten aus einer For-Schleife werden nicht korrekt übertragen
Ich hab ein paar Änderungen vorgenommen. Jedoch solltest du den Aufbau deines Programmes überdenken. Ich würde für so etwas ein Statemachine verwenden, denn so ließen sich bei dir unvermeidlich Konflikte vermeiden. Wenn dein Programm allerdings soweit funzt und keine durchschnittlischer User damit schaffen muss, dann kannst es auch lassen. Ich prophezeie dir allerdings, dass es mit dem Programm massive Probleme geben wird, wenn nicht nur du es bedienen muss. Zur Inspiration schau dir in Labview unter Datei -> Neu... doch die Entwursmuster für "Erzeuger/Verbrauch" an und schau dir auch mal die Beispiel-VIs an. Da gibt es zwar keine Funde unter den Stichworten Statemachine oder Zustandsautomat, aber einiger der Beispiele beruhen auf solch einem Entwurfsmuster. Nicht zu vergessen das Gegenteil davon.

Lv10
Sonstige .vi  024_Datei_auslesen_senden_validieren.vi (Größe: 129,98 KB / Downloads: 185)

Lv10
Sonstige .vi  101_SubVI_durch10plus100_string.vi (Größe: 18,55 KB / Downloads: 194)

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.01.2011, 07:43
Beitrag #14

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

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Daten aus einer For-Schleife werden nicht korrekt übertragen
Hab's jetzt nur überflogen, aber zwei Eventstrukturen in einem VI würde ich vermeiden (wird auch von NI empfohlen). Was gar nicht gehen würde, wären zwei Eventstrukturen in einem VI. Und wie Schrotti schon sagt, eine Statemachine wäre für so etwas besser geeignet.

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
26.01.2011, 10:22 (Dieser Beitrag wurde zuletzt bearbeitet: 26.01.2011 10:25 von brik.)
Beitrag #15

brik Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Jan 2011

10.0
2011
de

46539
Deutschland
Daten aus einer For-Schleife werden nicht korrekt übertragen
' schrieb:Ich hab ein paar Änderungen vorgenommen. Jedoch solltest du den Aufbau deines Programmes überdenken. Ich würde für so etwas ein Statemachine verwenden, denn so ließen sich bei dir unvermeidlich Konflikte vermeiden. Wenn dein Programm allerdings soweit funzt und keine durchschnittlischer User damit schaffen muss, dann kannst es auch lassen. Ich prophezeie dir allerdings, dass es mit dem Programm massive Probleme geben wird, wenn nicht nur du es bedienen muss. Zur Inspiration schau dir in Labview unter Datei -> Neu... doch die Entwursmuster für "Erzeuger/Verbrauch" an und schau dir auch mal die Beispiel-VIs an. Da gibt es zwar keine Funde unter den Stichworten Statemachine oder Zustandsautomat, aber einiger der Beispiele beruhen auf solch einem Entwurfsmuster. Nicht zu vergessen das Gegenteil davon.

Lv10[attachment=61088:024_Date...lidieren.vi]
Lv10[attachment=61089:101_SubV...0_string.vi]

Vielen Dank für die Verbesserungen und die Erklärungen.
Ich sehe absolut ein, was du zu der Realisierung mit einer Statemachine sagst. Ich bin mir sicher, dass das dadurch sehr viel strukturierter und ressourcenschonender würde, allerdings bin ich schon bei den ersten Ansätzen bei der Umsetzung einer Statemachine gescheitert. Ich hätte zu dieser Realisierung weitaus mehr Zeit benötigt als bei meinem jetzigen Programm.
Nichtsdestotrotz werde ich mich weiter mit dem Thema auseinandersetzen und gucken, ob ich es vielleicht nicht doch noch hin bekomme.
Was siehst du denn für potentielle Probleme in meinem Programm, gerade im Bezug auf fremde Benutzer?

Und gut, dass du noch in das SubVI reingeschaut hast. Die Lösung mit dem Array, was aus 36 Elementen bestand war nur provisorisch. Als ich an den Divisionsknoten eine Konstante angefügt habe, hat er mir automatisch ein Array erstellt und ich wusste auf die Schnelle nicht, wie ich das ändern kann. Die Lösung mit der Konstante ist natürlich mehr als trivial, aber ich habe es nachher schlichtweg vergessen.


' schrieb:Hab's jetzt nur überflogen, aber zwei Eventstrukturen in einem VI würde ich vermeiden (wird auch von NI empfohlen). Was gar nicht gehen würde, wären zwei Eventstrukturen in einem VI. Und wie Schrotti schon sagt, eine Statemachine wäre für so etwas besser geeignet.

Gruß Markus

Ah, das war mir nicht bewusst. Allerdings habe ich es einfach nicht hinbekommen, die TCP-Verbindungsinformationen aus der Schleife mit Meldern an die Casestruktur zu übergeben, deswegen brauche ich einmal die Schleife, die abbricht, wenn die Verbindung hergestellt wurde und einmal die Schleife die weiter läuft.
Bei der Ereignisstruktur ganz rechts mit den booleschen Abfragen habe ich es auch nicht anders hinbekommen.Sad
Ich werde bei Gelegenheit weiter daran arbeiten und versuchen es zu ändern.

Soweit läuft mein Programm jetzt aber so wie ich es mir vorgestellt habe. Deswegen haben aus Zeitmangel nun andere Dinge Priorität.

Nochmals Danke, ihr wart bis jetzt schon eine sehr große Hilfe.
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
  Array per TCP/IP Übertragen Roland 4 5.551 14.09.2017 21:51
Letzter Beitrag: Roland
  Komplette Ordner über FTP übertragen raverel 10 11.810 23.07.2013 08:28
Letzter Beitrag: Y-P
  LV 2011 DSC Tags werden nach Update von 8.6 nicht geschriebennicht tomy141 0 2.976 08.03.2012 10:43
Letzter Beitrag: tomy141
  Email mit Anhang (Datei kann nicht mehr geöffnet werden) WeberEng 5 7.615 21.10.2011 14:30
Letzter Beitrag: Dennis.Moser
  Daten von OPC werden nicht aktualiert dargestellt Kolumbus 3 3.726 27.04.2011 17:10
Letzter Beitrag: Kolumbus
  2 Datasocket Read in einer While-Schleife sehr langsam Haarry09 5 6.787 09.09.2010 11:49
Letzter Beitrag: Haarry09

Gehe zu: