' schrieb:Werden Register nicht immer auf Null initialisiert wenn man nichts anschließt?
[...]
Der Fehler lag daran, dass ich die Schieberegister generell nicht initialisiert habe.
Beim ersten Schleifendurchlauf ist es noch egal, beim zweiten aber nicht mehr.
Zur Erklärung, was es damit auf sich hat:
Bei uninitialisierten Schieberegistern spricht man auch von sog. Funktionalen Globalen Variablen (FGV). Diese Schieberegister behalten beim erneuten Aufruf ihren ursprünglichen Wert.
Diese FGVs sind auch der Grund dafür, dass While-Schleifen, die nur ein einziges Mal durchlaufen werden (Stopp-Anschluss ist z.B. mit einer True-Konstanten verbunden), Sinn ergeben können. Dann haben Sie alleine die Aufgabe, diese FGVs zu realisieren.
Nur, falls du das mal irgendwo sehen solltest.
Ich persönlich setze FGVs sehr häufig in SubVIs ein und da habe ich somit häufig While-Schleifen, die nur ein einziges Mal durchlaufen werden.
Anbei noch ein Beispiel, das zeigt, wie man so etwas einsetzt (gut, hier ergibt es wenig Sinn, aber es zeigt das speichernde Verhalten der FGVs):
main_zaehler.vi (Größe: 7,58 KB / Downloads: 211)
sub_zaehler.vi (Größe: 7,75 KB / Downloads: 195)
Haupt-VI: "main_zaehler.vi"
Sub-VI mit FGV: "sub_zaehler.vi"
Grüße
Matze