(20.04.2012 09:41 )GerdW schrieb: Hallo Dominator,
dein VI bedarf mMn einer gründlichen Aufräumaktion...
Ich würde dir zu einer Statemachine raten, außerdem sind diese ganzen (quasi)parallelen Zugriffe auf eine Resource (hier: RS232) nicht so das Gelbe vom Ei. Unfein ist es auch, die Schnittstelle mittendrin zu schließen wie in dieser (unsinnigen, weil nur einmal durchlaufenden) Schleife zur Geschwindigkeitsabfrage.
Hallo Gerd,
danke erstmal fürs Durchschauen!
Also dafür, dass ich vor ner Woche mit Labview angefange habe, find ichs gar nicht so schlimm
Auch wenn das bestimmt einfacher und ordentlicher geht, aber Profi in ner Woche is nich
Von dem was ich bis jetzt so gesehen habe, wäre diese Event-Struktur was feines... Gibts aber nicht im "Base-Pack".
State Machine... ich hab das mal gegoogelt, was konkret das für mich bedeuten soll... Naja ;D Hab mich schon mal schlauer gefühlt
Also das einmalige Schließen und die Schleife hab ich rausgekickt. Ach ja, ich setzte die Geschwindigkeit, frage sie nicht ab.
Das mit den Aufrufen ist so ne Sache. Ich muss eben 2 mal aufrufen, weil der blöde MotionController das so will. Ich schick ihm den nen Befehl und bekomm die Antwort. Ich brauch regelmäßig Position und Stromstärke. Und ich kann nicht beides auf einmal abfragen, der liefert dann nur ne Rückgabe auf den ersten Befehl. Wenn ich Strom und Position beides gleichzeitig abfrage (mit: pos grc) bekomm ich z.B. nur die Antwort für pos. Deswegen das mehrmalige Zugreifen.
(20.04.2012 09:41 )GerdW schrieb: Zitat:Ist das Abfragen der Werte abhänig von der "Durchlauf-Frequenz" der Routine? Soweit ich weiß, meldet die Schnitstelle ja einfach nur, das Daten da sind und Labview hohlt das entsprechende Paket ab.
Jein. Wenn du zu langsam abfragst, ist irgendwann der Lesebuffer voll...
Hm, ok. Meine Routine läuft in der Tat ar***lahm. 2-3 Durchgänge pro Sekunde.
Denkst du, das wird durch's aufräumen besser?
Oder gibts da andere Tricks? Ich mein, das System ist kaum ausgelastet, also sollte theoretisch doch auch noch mehr gehn.
(20.04.2012 09:41 )GerdW schrieb: Was soll das hier:
Das ist RubeGoldberg vom Allerfeinsten:
- Wenn Bool2=TRUE dann FALSE sonst TRUE
- Bools in DBL (!) umwandeln
- DBL-Werte verrechnen (in einer FormulaNode!), um boolschen Wert, verpackt als INT32 zu erhalten
- INT32 dann wieder zu BOOL umwandeln und dabei auch gleich noch negieren
Wieso nicht einfach: z = NOT(B1 AND NOT(B2)) in schöner einfacher boolscher Algebra, die in LabVIEW mit einer einzigen Compound-Arithmetik-Node abgebildet werden kann... So z.B.:
Jaaaa, was soll ich sagen. Ich wusste nich, dass es dieses nette Instrument gibt. Bzw. das dieses Symbol genau das macht, was ich will. Aber hey... ich habs mir selber ausgedacht und es hat funktioniert!!
Aber ich habs jetzt auch geändert, sieht deutlich schöner aus jetzt
Danke für den Tipp.
Aber so was ganz konkretes, wie "mach das und das" dann hast du den fehler nicht mehr fällt dir nicht ein?
Liebe Grüße
Dominik