LabVIEWForum.de
Reset - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Reset (/Thread-Reset)

Seiten: 1 2 3


Reset - GerdW - 05.03.2010 10:51

Hallo selma,

ja, genau das meinte ich!

Wieso brauchst du für die Reset-Funktionen überhaupt locals? Huh Ich muss mir wirklich noch mal dein VI anschauen...

Gruß GerdW


Reset - GerdW - 05.03.2010 17:02

Hallo selma,

habe jetzt die Gelegenheit gehabt, dein VI anzuschauen.

Die OR-Verknüpfung hast du ja hinbekommen. Dafür solltest du deine anderen logischen Verknüpfungen mal überdenken (Stichwort: Rube-Goldberg).

Beispiel:
- Du erzeugst anhand eines boolschen Werts den Hinweis Warnung/Keine Warnung. Den so erzeugten Text vergleichst du mit "Keine Warnung", um damit eine LED anzusteuern. Warum verwendest du nicht den originalen boolschen Wert dafür?
- Du liest einen Wert als String ein (die simulierte Datenerzeugungs-Sequenz per "random value"). Diesen String wandelst du an zwei Stellen wieder in eine Zahl um. Würde es nicht ausreichen, einmal umzuwandeln und den Draht danach zu verzweigen?
- Du überprüfst dein "Reset All" per pt-by-pt Operation auf einen positiven Flankenwechsel. Dies entspricht der logischen Verknüpfung NOT(tn-1) AND tn, was wiederum nur eine simple Operation in LV ist (CompoundArithmetic!) - du brauchst nur eine FeedbackNode daneben packen...

Sind vielleicht nur Kleinigkeiten, die sich in größeren Projekten aber schnell zum Bumerang entwickeln könnenSmile

Ich hab zur Verdeutlichung mal die Änderungen in dein VI eingearbeitet.

Edit:
Hab jetzt auch ins SubVI geschaut...
MaxReset_Lager9_MIx: du erzeugst aus dem "numerischen Element" ein Array (mit einem Element!), um dann das Maximum des Arrays zu bestimmen!? Gibt es einen Grund für diese Vorgehensweise???
Warum machst du 2 gleiche SubVIs aus diesem MaxReset? Reicht nicht eine Kopie, die man dann als Reentrant einstellt?
NachDatumSpeicher_TDMS: Du weißt schon, das es spezielle Funktionen gibt, um Pfade zu basteln? Und das man einen Datumsstring einfacher und, vor allen Dingen, auch sicherer produzieren kann? (siehe 2. Attachment) Deine Version erzeugt auf meinem Rechner nämlich "20-03-05" statt des vermutlich gewollten "10-03-05"...

Lv85_img


Reset - jg - 05.03.2010 18:45

' schrieb:Die OR-Verknüpfung hast du ja hinbekommen.
Das habe ich hinbekommen.Wink
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=92763
' schrieb:- Du überprüfst dein "Reset All" per pt-by-pt Operation auf einen positiven Flankenwechsel. Dies entspricht der logischen Verknüpfung NOT(tn-1) AND tn, was wiederum nur eine simple Operation in LV ist (CompoundArithmetic!) - du brauchst nur eine FeedbackNode daneben packen...
Auch das ist auf meinem Mist gewachsen. Aber wieso etwas programmieren, was fertig in der Palette ist?! Und was intern das machst, was du erklärst!

Und nicht vergessen, dein VI enthält noch diesen Fehler hier (auch von mir!Wacko)
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=92803

Gruß, Jens


Reset - selma - 08.03.2010 11:45

' schrieb:Hallo selma,

habe jetzt die Gelegenheit gehabt, dein VI anzuschauen.

Die OR-Verknüpfung hast du ja hinbekommen. Dafür solltest du deine anderen logischen Verknüpfungen mal überdenken (Stichwort: Rube-Goldberg).

Beispiel:
- Du erzeugst anhand eines boolschen Werts den Hinweis Warnung/Keine Warnung. Den so erzeugten Text vergleichst du mit "Keine Warnung", um damit eine LED anzusteuern. Warum verwendest du nicht den originalen boolschen Wert dafür?
Gute Frage, wusste es nicht besser zu lösen.^_^
- Du liest einen Wert als String ein (die simulierte Datenerzeugungs-Sequenz per "random value"). Diesen String wandelst du an zwei Stellen wieder in eine Zahl um. Würde es nicht ausreichen, einmal umzuwandeln und den Draht danach zu verzweigen?
Stimmt, ist unsinnig, habe ich schon geändert.^_^
- Du überprüfst dein "Reset All" per pt-by-pt Operation auf einen positiven Flankenwechsel. Dies entspricht der logischen Verknüpfung NOT(tn-1) AND tn, was wiederum nur eine simple Operation in LV ist (CompoundArithmetic!) - du brauchst nur eine FeedbackNode daneben packen...
Wie Jens schon sagte habe ich das so übernommen.
Aber was meinst du mit einer - du brauchst nur eine FeedbackNode daneben packen...

Sind vielleicht nur Kleinigkeiten, die sich in größeren Projekten aber schnell zum Bumerang entwickeln könnenSmile

Ich hab zur Verdeutlichung mal die Änderungen in dein VI eingearbeitet.
:hmm:habe irgendwie nix entdecken könnenDenknach
Edit:
Hab jetzt auch ins SubVI geschaut...
MaxReset_Lager9_MIx: du erzeugst aus dem "numerischen Element" ein Array (mit einem Element!), um dann das Maximum des Arrays zu bestimmen!? Gibt es einen Grund für diese Vorgehensweise???
Habe ich so übernommen.Die Funktion soll mir einfach den obersten Wert anzeigen.
Warum machst du 2 gleiche SubVIs aus diesem MaxReset? Reicht nicht eine Kopie, die man dann als Reentrant einstellt?
Hatte das Problem das wen ich MaxReset.Sub.VI einmal nehme und ich nur eine Anzeige Reseten wollte. Alle Maxwerte gelöscht wurden.
Ist das anders wenn man das SubVI als Reentrant einstellt?
Und wie macht man das ?

NachDatumSpeicher_TDMS: Du weißt schon, das es spezielle Funktionen gibt, um Pfade zu basteln? Und das man einen Datumsstring einfacher und, vor allen Dingen, auch sicherer produzieren kann? (siehe 2. Attachment) Deine Version erzeugt auf meinem Rechner nämlich "20-03-05" statt des vermutlich gewollten "10-03-05"...
So genau weiß ich das nicht?:noe:Am meinen Pc habe ich dieses in Window umgestellt. Ich muss aber das mit dem Datum noch ändern. Hatte bis jetzt noch keine Lösung.
Herzlichen Dank für die Hilfe


Reset - GerdW - 08.03.2010 11:49

Hallo Selma,

zu den subVIs:
In der Version der MaxReset**, die ich mir angeschaut hatte, geht der Eingang "numerischer Wert" auf eine BuildArray-Node, gefolgt von einem ArrayMinMax - die ganze Operation ist unnötig...

Die ReEntranz wird in den VI-Properties eingestellt, im Reiter "Execution"...

Willst du jedesmal den Nutzer beauftragen, sein Windows nach deinen Vorstellungen zu konfigurieren, damit dein Programm das korrekte Datum ausgibt? Ist es da nicht besser/sinnvoller, das Datum korrekt programm-intern zu bestimmen?


Reset - selma - 08.03.2010 12:07

' schrieb:zu den subVIs:
In der Version der MaxReset**, die ich mir angeschaut hatte, geht der Eingang "numerischer Wert" auf eine BuildArray-Node, gefolgt von einem ArrayMinMax - die ganze Operation ist unnötig...
Stimmt

Die ReEntranz wird in den VI-Properties eingestellt, im Reiter "Execution"...
Finde ich leider nicht
Willst du jedesmal den Nutzer beauftragen, sein Windows nach deinen Vorstellungen zu konfigurieren, damit dein Programm das korrekte Datum ausgibt? Ist es da nicht besser/sinnvoller, das Datum korrekt programm-intern zu bestimmen?
NEIN,aber wie schon gesagt hatte noch keine Lösung



Reset - GerdW - 08.03.2010 12:20

Hallo Selma,

hier ist die englische Beschreibung der VI-Properties. Es handelt sich um den dritten Punkt.
Da ich nur mit der engl. LV-Version arbeite, kann ich dir leider nicht die deutsche Übersetzung verraten...


Reset - jg - 08.03.2010 20:54

Ich meine im deutschen LV steht statt Reentrant "Ablaufinvariant".

Gruß, Jens