LabVIEWForum.de - uninitialisierte Schieberegister suchen

LabVIEWForum.de

Normale Version: uninitialisierte Schieberegister suchen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich habe gerade einige Stunden verbracht, um in einer sehr großen Applikation einen Fehler zu finden, nämlich ein nicht initialisiertes Schieberegister einer While-Schleife.

Da ich in der Applikation "zu hause" war, und nach Ausschluss aller anderen Fehlermöglichkeiten nur noch so etwas übrigblieb, hatte ich den Fehler glücklicherweise in nur einigen Stunden gefundenSmile. Da stellte sich mir allerdings die Frage, ob es eine Möglichkeit (in LV 8.0) gibt, uninitialisierte Schieberegister zu finden, oder einem VI per Voreinstellung beizubringen, dass es keine haben darf.


Vielen Dank schonmal


Gruß, Marko
(03.07.2013 16:46 )Trinitatis schrieb: [ -> ]Hallo zusammen,

ich habe gerade einige Stunden verbracht, um in einer sehr großen Applikation einen Fehler zu finden, nämlich ein nicht initialisiertes Schieberegister einer While-Schleife.

Da ich in der Applikation "zu hause" war, und nach Ausschluss aller anderen Fehlermöglichkeiten nur noch so etwas übrigblieb, hatte ich den Fehler glücklicherweise in nur einigen Stunden gefundenSmile. Da stellte sich mir allerdings die Frage, ob es eine Möglichkeit (in LV 8.0) gibt, uninitialisierte Schieberegister zu finden,
Ich könnte mir vorstellen, dass man da etwas per VI-Scripting machen kann. Ist aber in LabVIEW 8.0 nicht offiziell freischaltbar und auch nicht nachladbar. Also IMHO nein.
(03.07.2013 16:46 )Trinitatis schrieb: [ -> ]oder einem VI per Voreinstellung beizubringen, dass es keine haben darf.
Nein, geht nicht. In einem FGV will ich das extra uninitialisierte Schieberegister haben!!!

Gruß, Jens
Hallo,

Zitat:eine Möglichkeit ... gibt, uninitialisierte Schieberegister zu finden
hört sich an, als wenn der VI Analyzer da helfen könnte... Da ich ihn nicht benutze, kann ich aber nicht sagen, ob dieser Test schon enthalten ist. Aber auf forum.ni.com gibt es Diskussionen, wie man weitere/eigene Tests hinzufügen kann!

Für LV8 wirst du da aber nichts bekommen. Dir bleibt ja immer noch, die VIs mit LV2011 zu laden, dort zu suchen und dir die Fundstellen zu merken, bevor du sie mit LV8 dann bearbeitest Smile
Hallo Jens, hallo Gerd,

vielen Dank für eure Gedanken - der VI-Analyzer in der 2011er Version klingt clever, probier ich mal aus.


Gruß, Marko
Da du LV 2011 zur Hand hast kannst es ja trotzdem öffnen in einer Version mit Scripting. Hat Gerd mittlerweile schon geschrieben. Ich hab in der Zeit mal nen VI gebastelt was dir in allen VIs eines Pfades nach UIRs sucht und wenn er diese findet das Blockdiagramm anzeigt und die Whileschleife an dem das UIR ist anzeigt.
Hallo Holy,

vielen Dank - funktioniert einwandfrei.
Da ich in LV2011 noch nicht soo viel gemacht habe und mich in deinem Beispiel schon die Farben verwirren, habe ich noch ein paar mgl.-weise blöde Fragen:

1.) Woher weiß man, dass der zu suchende Klassenname "LeftShiftRegister" heißt
2.) Wie kommt man zur Zielklassenkonstante "LinkesSchieberegister" bzw. "WhileSchleife" ?
3.) Ab wann werden Eigenschaftsknoten hellblau oder besser gesagt siemens-schriftzugfarben? Blink


Gruß, marko
Hallo Marko,

1-3) VI Scripting!
So´n Schlagwort habe ich befürchtet.

...werde ich mich mal reinwühlen.


Danke!
1.) die Klassennamen kannst über das Klassenauswahlkontextmenü raussuchen. Die Bezeichnungen werden genau gleich geschrieben.
2.) Da ich LeftShiftRegister suche mit dem Traverse VI sind die zurück gegebenen GObjects zwingend von der Klasse LeftShiftRegister. Somit kann ich die auch einfach darauf casten mit "To More Specific Class". Da ShiftRegister nur an Whileschleifen gehen muss der Owner des Shiftregisters entsprechend vom Klassentyp "WhileLoop" sein. Sobald du "To More Specific Class" platzierst und eine Konstante an "target class" erstellst kannst du einfach draufklicken und dort die korrekte Klassen auswählen.
3.) Hellblau wird der Knoten sobald du öffentliche Scriptingeigenschaften ausgewählt hast.
Hallo Holy,

ich hatte VI scripting bei mir nicht aktiviert - deshalb die dusselige Frage nach der Klassenbezeichnerkostante. Jetzt bietet LV mir diese Konstante auch an.

Aber nochmal zur Frage mit der Stringübergabe LeftShiftRegister. In meiner deutschen LV-Version heißt die Klassenbezeichnerkonstante "LinkesSchieberegister". Der String am Eingang des Traverse-VIs muss aber "LeftShiftRegister" heißen. Woher weiß man das, wenn man es sich nicht (wie hier) denken kann.

Gruß, Marko
Seiten: 1 2
Referenz-URLs