22.02.2011, 20:12
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Projekt Prüfstand für Getriebe-Generatoreinheit
(22.02.2011 19:48 )moe_85 schrieb: Eigentlich habe ich noch keine Nerven wieder für das gute LabView 
Aaaaaaaber, warum startet meine Schrittkette wenn ich den Wiederholungsbutton drücke
zum Starten des Vi in Schritt 4?
Wo ist dies festgelegt?
Wenn es einmal durchgelaufen ist geht es ja auch von vorne wieder los.
Ich rate jetzt mal, dass es um das VI aus Beitrag #15 geht?!
Das VI startet immer in Schritt2, nicht in Schritt4. Das siehst du bloss nicht. Führe es mal mit aktivierter Highlight-Funktionalität aus (die Glühbirne im BD aktivieren), dann siehst du das.
Und dann ist dein 2. Shift-Register nicht initialisert. Bei wiederholter Ausführung steht bei so einem uninitialisiertem Shift-Register immer der Wert des letzten Durchlaufs drin (zumindest, solange das VI im Speicher bleibt).
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.
|
|
|
22.02.2011, 20:53
|
moe_85
LVF-Grünschnabel

Beiträge: 24
Registriert seit: Feb 2011
8.6
2010
DE
|
RE: Projekt Prüfstand für Getriebe-Generatoreinheit
Ja es geht um das VI aus Beitrag 15.
Zitat:Und dann ist dein 2. Shift-Register nicht initialisert. Bei wiederholter Ausführung steht bei so einem uninitialisiertem Shift-Register immer der Wert des letzten Durchlaufs drin (zumindest, solange das VI im Speicher bleibt).
Mein was ist wo nicht Initialisiert o.O 
Wo finde ich dieses Shift-Register denn?
Und was bewirkt dieses?
Wird wieder eine Lange Nacht werden bestimmt.
Immer wenn ich denke ich hätte was kapiert
kommt ein nächster Punkt...
Als ich so alt war wie du, da war ich 3 Jahre alt.
Das war eine ganz andere Zeit!
|
|
|
22.02.2011, 21:10
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Projekt Prüfstand für Getriebe-Generatoreinheit
Shift-Register = Schieberegister, hier sind 2 Stück davon:
Beim oberen ist ein Wert angeschlossen -> initialisiert.
unten nichts -> uninitialisiert.
Wenn du das VI zum allerersten Mal in den Speicher lädst, dann steht für die erste Ausführung der Standard-Wert des Datentypen im unteren Schieberegister drin (Think Datenfluss). Wenn du auf den Wiederholen-Button klickst, dann steht dort der Wert von der letzten Ausführung.
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.
|
|
|
22.02.2011, 21:42
|
IchSelbst
LVF-Guru
    
Beiträge: 3.704
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
RE: Projekt Prüfstand für Getriebe-Generatoreinheit
(22.02.2011 20:53 )moe_85 schrieb: Ja es geht um das VI aus Beitrag 15.
... da ist ja immer noch ein roter Punkt. Und der Enumerator ist immer noch nicht strict. Schlecht.
Zweitens:
Seit wann beginnt eine Schrittkette mit "sk_S2_Schritt2", also mittendrinn irgendwo innerhalb der Schrittkette? In S7 fängst du ja auch nicht irgendwo an, sondern am Anfang.
Das untere Schieberegister muss nicht initialisiert werden. Die Nutzung des Schieberegisters beginnt immer ein einem Case X mit Vorbesetzen des Schieberegisters, damit im gegebenenfalls öfters hintereinander auszuführenden Case X+1 eine Berechnung mit dem Schieberegisterwert gemacht werden kann.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
22.02.2011, 21:53
(Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2011 22:11 von moe_85.)
|
moe_85
LVF-Grünschnabel

Beiträge: 24
Registriert seit: Feb 2011
8.6
2010
DE
|
RE: Projekt Prüfstand für Getriebe-Generatoreinheit
Okay, ich habe nun an das zweite shift Register eine Konstante 0 angeschlossen, wäre dies Falsch?
Nun besteht aber immer noch das Problem das es nach dem Stoppen und wieder starten in schritt 4 beginnt, obwohl ich in
Schritt 1 stoppe zum Beispiel.
Edit:
Zitat:Zweitens:
Seit wann beginnt eine Schrittkette mit "sk_S2_Schritt2", also mittendrinn irgendwo innerhalb der Schrittkette? In S7 fängst du ja auch nicht irgendwo an, sondern am Anfang.
Ich nutze doch das Beispiel was mir gegeben wurde und versuche daran zu verstehen was
geht und was nicht, du hast schon recht das eine Schrittkette in Schritt 1 beginnt, doch
ich nutze es doch zurzeit nur wie es mir gegeben wurde.
Ich habe nun versucht das enum zu ändern in Schritt 1, aber jetzt hat es mir alles irgendwie
gerötet, was Anschlüsse sind und ähnliches, auch heißen die Cache Strukturen nun anders.
Wollte doch nichts kaputt machen.
Als ich so alt war wie du, da war ich 3 Jahre alt.
Das war eine ganz andere Zeit!
|
|
|
22.02.2011, 22:15
(Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2011 22:17 von IchSelbst.)
|
IchSelbst
LVF-Guru
    
Beiträge: 3.704
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
RE: Projekt Prüfstand für Getriebe-Generatoreinheit
(22.02.2011 21:53 )moe_85 schrieb: Okay, ich habe nun an das zweite shift Register eine Konstante 0 angeschlossen, wäre dies Falsch?
Falsch nicht, aber unnötig. Dieses Schieberegister wird im Ablauf zu gegebener Zeit vorbesetzt ...
Zitat:Nun besteht aber immer noch das Problem das es nach dem Stoppen und wieder starten in schritt 4 beginnt, obwohl ich in Schritt 1 stoppe zum Beispiel.
Beim Wiederstart des SubVIs wird "sk_S2_Schritt2" in das Schieberegister geschrieben. Der Schritt sk_S1_Schritt1 wird also beim Wiederstart übersprungen. Wie ich ja schon sagte, Anfang der Schrittkette ...
Hast du dich eigentlich schon mit dem Verfahren "Datenfluss" auseinandergesetzt?
Das VI beginnt mit der Enum-Konstanten "sk_S2_Schritt2". Der blaue Draht ("Datenfluss") geht dann von links in das Schieberegister. Um den Draht zu sehen, darf die Konstante natürlich nicht über dem Schieberegister liegen. Von dort geht der Datenfluss in den Selektor der Case-Struktur. Mit diesem Werte beginnt nun der Ablauf ...
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
22.02.2011, 22:20
|
moe_85
LVF-Grünschnabel

Beiträge: 24
Registriert seit: Feb 2011
8.6
2010
DE
|
RE: Projekt Prüfstand für Getriebe-Generatoreinheit
Zitat:Hast du dich eigentlich schon mit dem Verfahren "Datenfluss" auseinandergesetzt?
Das VI beginnt mit der Enum-Konstanten "sk_S2_Schritt2". Der blaue Draht ("Datenfluss") geht dann von links in das Schieberegister. Um den Draht zu sehen, darf die Konstante natürlich nicht über dem Schieberegister liegen. Von dort geht der Datenfluss in den Selektor der Case-Struktur. Mit diesem Werte beginnt nun der Ablauf ...
Dies habe ich ja versucht zu ändern, indem ich ein neues Enum eingefügt habe
mit Schritt1, nur geht nun gar nichts mehr. Im Nachhinein hätte logisch sein müssen
mit dem Schritt2, da ja schritt 3 einfach durchläuft und schritt 4 dann mit Weiterschaltung
droht erst.
Als ich so alt war wie du, da war ich 3 Jahre alt.
Das war eine ganz andere Zeit!
|
|
|
22.02.2011, 22:54
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Projekt Prüfstand für Getriebe-Generatoreinheit
Ich glaube, das mit dem Enums hast du auch noch nicht so richtig verstanden (neben dem Thema Datenfluss). Dazu nochmals der Hinweis auf die "Glühbirne" oben in der Menüleiste im Blockdiagramm.
Ein Enum ist im ersten Schritt "nur" eine Zahl, ein Integer. Allerdings ist jedem Zahlenwert (auch zur Laufzeit) ein anfangs definierter Text zugewiesen. Dies erleichtert unglaublich die Lesbarkeit des Sourcecodes. Jedem Status der State-Machine kann somit ein aussagekräftiger Namen gegeben werden (z.B. Initialisierung, Speichern, Lesen, Datenerfassung, Fehlerfall, usw., usw.).
Richtig Sinn macht der Einsatz eines Enums natürlich nur, wenn du bei jedem Auftreten immer "dasselbe" Enum mit den gleichen "Zuständen" verwendest, alleine schon, um Programmierfehler zu vermeiden.
In diesem Zusammenhang ist der Hinweis von IchSelbst auf die "Typdefinition" eines Enums zu sehen, um z.B. folgenden Fall abzufangen: Irgendwann fällt dir ein, dass du zwischen "Schritt 2" und "Schritt 3" noch einen "Fall 2 b" brauchst. Jetzt heißt es also, alle Enums anzupassen - oder halt nur die "Typdefinition".
Zum Anlegen einer Typdefinition: Wähl mal im Kette-VI im FP das Enum aus, und wähle dann im Pulldownmenü "Edit->Customize Control" aus. Es öffnet sich ein neues FP nur mit dem Enum. Hier jetzt oben Type Definition auswählen:
und dieses Custom Control speichern, danach schließen. Dieses Custom Control verwendest du jetzt im Sourcecode an jeder Stelle, wo du genau dieses Enum brauchst.
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.
|
|
|
22.02.2011, 23:22
(Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2011 23:37 von moe_85.)
|
moe_85
LVF-Grünschnabel

Beiträge: 24
Registriert seit: Feb 2011
8.6
2010
DE
|
RE: Projekt Prüfstand für Getriebe-Generatoreinheit
Ich danke dir für den Tip, aber, und jetzt bitte nicht schlagen, habe anstatt die Hand, den Pfeil genommen,
mit dem man ja nichts einstellen kann. Mit der Hand kann ich es auswählen.
Das Enum abzuspeichern und als einfügeelement zu benutzen finde ich
großartig. Habe ich probiert und geht. Aber nun habe ich rote Anschlusspunkte
an den blauen Linien. Kann dies sein wegen den Orangen Linien, also DBL?
Oder liegt der Fehler wieder an mir?
Ich habe es schon versucht mit neu Verknüpfen.
Gruß moe
Edit
Zitat:Ich glaube, das mit dem Enums hast du auch noch nicht so richtig verstanden (neben dem Thema Datenfluss). Dazu nochmals der Hinweis auf die "Glühbirne" oben in der Menüleiste im Blockdiagramm.
Gebe ich dir Recht ohne zu lügen oder dir was anderes erzählen zu wollen.
Die Glühbirne nutze ich aber. Nur so sehe ich wie er zählt genau oder ähnliches.
Als ich so alt war wie du, da war ich 3 Jahre alt.
Das war eine ganz andere Zeit!
|
|
|
22.02.2011, 23:45
(Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2011 23:46 von jg.)
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Projekt Prüfstand für Getriebe-Generatoreinheit
(22.02.2011 23:22 )moe_85 schrieb: Das Enum abzuspeichern und als einfügeelement zu benutzen finde ich
großartig. Habe ich probiert und geht. Aber nun habe ich rote Anschlusspunkte
an den blauen Linien. Kann dies sein wegen den Orangen Linien, also DBL?
Oder liegt der Fehler wieder an mir?
DBL? Im VI aus Beitrag 15 sind kein Double drin. Also keine Ahnung, wo du jetzt überall "rote Punkte" hast.  Das ist übrigens ein Hinweis auf eine automatische Typkonversion und muss nicht unbedingt schlecht sein.
Wie wärs mal wieder mit einem VI-Upload?
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.
|
|
|
| |