Erst mal generelle Kritik:
Schäm dich, einen solchen Spaghetti-Code hier hochzuladen.
Schon mal was vom LV-Style-Guide gehört? Von links nach rechts programmieren? Dabei hast du LabVIEW 8.6, und bei deinen VIs bringt das automatische Aufräumtool (Strg-U) schon eine große Verbesserung.
Dann mal zur möglichen Fehlerquelle: Du öffnest andauernd neue Referenzen zu Objekten deiner ActiveX-Klasse, ohne diese, nachdem du sie nicht mehr benötigst, mit einem Close-Befehl zu schließen.
Das andauernde Fileposition-VI brauchst du auch nicht, schließlich hältst du den File dauernd per Refnum offen, und somit steht der File-Pointer immer an der Position, an der er nach der letzten Schreib-Operation aufgehört hat, zu schreiben.
File schließen würde ich nach Beendigung der Schleife machen, nicht innerhalb der Schleife, du erzeugst nur einen unnötigen Schreibfehler durch Nichtbeachtung des Datenflußes (Erst schließt du File, dann kommt noch eine Schreiboperation
)
So, 2 deiner Sub-VIs habe ich mal umgebaut, das mit den Referenzen schließen musst du dann noch im Main-VI und den beiden anderen nachziehen:
OPC_auslesen_Sub_1.vi (Größe: 83,98 KB / Downloads: 307)
OPC_auslesen_Sub_4_in_1.vi (Größe: 9,32 KB / Downloads: 265)
Aber das mach mal selber.
Gruß, Jens