11.07.2009, 22:44
Beitrag #1
|
havetodo
LVF-Gelegenheitsschreiber
Beiträge: 124
Registriert seit: Jul 2009
8.6 student
-
de
59348
Deutschland
|
Programm zickt
Hallo,
ich habe meinen ersten "Bastelversuch" fertig, aber an manchen Eckenklappt es noch nicht wirklich. Vielleicht kann mir jemand sagen, was ich da falsch gemacht habe und warum die Fehler passieren.
Zu Anfang springt das Programm auf eine falsche Registerseite, und später werden die Aktionen nicht mehr angezeigt oder wecheseln ständig ungewollt hinundher.
test.vi (Größe: 22,59 KB / Downloads: 292)
|
|
|
12.07.2009, 14:21
Beitrag #3
|
havetodo
LVF-Gelegenheitsschreiber
Beiträge: 124
Registriert seit: Jul 2009
8.6 student
-
de
59348
Deutschland
|
Programm zickt
Danke!
Was ist der Vorteil oder Unterschied bei Enum statt Ring?
Wie speichere ich etwas als Typdefinition?
Ansonsten habe ich noch die Schwierigkeit, dass das Programm bei geschlossener Bypassleitung (momentan sind die beiden "Meßeingänge" noch als numerische Bedienelemente auf dem Panel) nichts macht und ich neu starten muß, wenn ich den Bypass nachträglich schließe.
Ich würde es aber gern so haben, dass es mir in diesem Fall eine Fehlermeldung ausspuckt und eine gewisse Zeit in der Warteschleife in diesem Case bleibt und weiterhin rpüft ob die Leitung geschlossen wird, um dann auch bei geschlossenem Bypass weiterarbeiten zu können. Wie bekomm ich das hin?
|
|
|
12.07.2009, 15:42
(Dieser Beitrag wurde zuletzt bearbeitet: 12.07.2009 15:45 von schrotti.)
Beitrag #4
|
schrotti
LVF-Freak
Beiträge: 842
Registriert seit: Feb 2008
2009 - 2011
2006
kA
70180
Deutschland
|
Programm zickt
Mit einem Enum lässt sich einch und sicher arbeiten. Beispielsweise kann einem Enum nicht der Wert eines zweiten, unterschiedlichen Enums zugewiesen werden. Und ein Textring sollte imo nur für das GUI benutzt werden. Auch dann benutz ich ein Textring nur, wenn sich die Einträge zur Laufzeit ändern sollen. Wird bei dir aber nicht der Fall sein.
Mach ein rechtsklick auf das Element -> Fortgeschritten -> Anpassen
Es öfnnet sich ein Fenster. Dort Typ-Def auswählen und speichern.
Edit: Deine zweite Frage kann ich nicht beantworten, da du das SubVI nicht hochgeladen hast.
|
|
|
12.07.2009, 16:09
Beitrag #5
|
havetodo
LVF-Gelegenheitsschreiber
Beiträge: 124
Registriert seit: Jul 2009
8.6 student
-
de
59348
Deutschland
|
Programm zickt
OK,
ich hab es überarbeitet. Danke für deine Tipps und Erklärungen!
Kannst du bitte nochmal drüberschauen, ob ich es so richtig umgesetzt habe?
test.vi (Größe: 23,72 KB / Downloads: 242)
edit: Hab das fehlende sub noch eben eingebunden
|
|
|
12.07.2009, 16:47
(Dieser Beitrag wurde zuletzt bearbeitet: 12.07.2009 16:48 von schrotti.)
Beitrag #6
|
schrotti
LVF-Freak
Beiträge: 842
Registriert seit: Feb 2008
2009 - 2011
2006
kA
70180
Deutschland
|
Programm zickt
Ein paar Punkte wären da schon noch.
1. Du schreibst Werte signalisierend in Eigenschaftsknoten, obwohl dies nicht nötig wäre. So wie ich das sehe schreibst du da rein, um einen Zustand des Automaten zu setzen. Stattdessen könntest du auch direkt ins Schieberegister schreieben und damit direkt den Zustand setzen. Den Wert am besten über lokale Variablen setzen.
2. Setz Messablauf als Standardwert und schmeiß die lokale Variable raus.
3. Schmeiß die Sequenzstruktur raus und schaff Datenabhängigkeit, indem du das Fehlercluster des Methodenknoten zur Whileschleife führst. Die Schleife wird erst dann ausgeführt, wenn der Methodenknoten seinen Code abgearbeitet und die Daten, also das Fehlcluster, übergeben hat.
4. Ganz wichtig, bevor ich Augenkrebs bekommen. Werkzeuge -> Optionen -> Blockdiagramm -> "Frontpanel-Elemente als Symbole darstellen " bitte deaktivieren
|
|
|
12.07.2009, 16:50
Beitrag #7
|
|
|
12.07.2009, 18:26
Beitrag #8
|
havetodo
LVF-Gelegenheitsschreiber
Beiträge: 124
Registriert seit: Jul 2009
8.6 student
-
de
59348
Deutschland
|
Programm zickt
Hi Julius,
zu 1)
Ich hab das geändert und die Schieberegister direkt aufgerüfen. Das mit den lokalen Variablen hab ich allerdings noch nicht verstanden.
zu 2)
Ich hab das erstmal so gelassen, da das Programm später alle Registertabs durchlaufen muß und ich dann dort die lokalen Variablen brauchen werde. Oder?
zu 3)
sorry, ich versteh kein Wort
zu 4)
sofort erledigt
|
|
|
12.07.2009, 18:57
Beitrag #9
|
|
|
12.07.2009, 19:31
|
havetodo
LVF-Gelegenheitsschreiber
Beiträge: 124
Registriert seit: Jul 2009
8.6 student
-
de
59348
Deutschland
|
Programm zickt
oh mann, ist das frustrierend
grad hatte ich das Gefühl ich hätte schon was verstanden, da komm ich mir wieder vor wie der Oberdoofkopp
also nochmal langsam..... welche Sequenz soll ich rauswerfen? Und worauf bezieht sich der Methodenknoten? was ist ein Fehlercluster?
Die beiden beiden Entwurfsmuster unter "neu..." verstehe ich nicht, gibt es da nicht irgendein kleines konkretes Programm, aus dem man ersehen kann, was da genau passiert und wozu das gut sein soll? und wo finde ich den Examplefinder?
noch eine Sache, die mir so eingefallen ist: Wie kann man auf dem Frontpanel ein Bedienelement "gestrichelt" markieren, so dass man dieses beim Drücken der Entertaste drücken würde?
|
|
|
| |