15.05.2006, 15:22
Hallo,
ich habe zwei while-Schleifen, die eine (im pdf-file oben) ließt eine digitizer-Karte über eine cPCI Schnittstelle ein (das ist angepaßter Code vom Hersteller der digitizer-Karte), die andere (im pdf-file unten) einen Controller über eine RS232-Schnittstelle. Beide Schleifen werden über einen Melder synchronisiert, d.h. wenn es ein spezielles Event gibt, erhalten sowohl die digitizer-Karte als auch kurz danach (30-200 ms) der Controller aktuelle Werte, die von LabVIEW eingelesen werden. Der Controller-Wert kommt etwas später und wird über den Melder in die digitizer-Schleife geschickt. Dort werden die beiden Daten zusammen in eine Datei abgespeichert. Das Programm funktioniert nach dem Start eine Weile so wie es soll, doch dann wird der Controller-Wert zu spät eingelesen (obwohl er wie vorher immer noch 30 bis 200 ms nach dem digitizer-Wert geschickt wird). Somit erhält auch der Melder in der digitzer-Schleife keinen Wert mehr und ein timeoput wird erzeugt. Ich habe den Melder auch schon durch eine Ereignisstruktur mit lokaler Variable ersetzt, aber auch dies hat das Problem nicht gelöst. Kann mir irgend jemand weiterhelfen. Ich bin für jeden noch so kleinen Tipp dankbar.
Ich benutze LV 7.0 und winXP
ich habe zwei while-Schleifen, die eine (im pdf-file oben) ließt eine digitizer-Karte über eine cPCI Schnittstelle ein (das ist angepaßter Code vom Hersteller der digitizer-Karte), die andere (im pdf-file unten) einen Controller über eine RS232-Schnittstelle. Beide Schleifen werden über einen Melder synchronisiert, d.h. wenn es ein spezielles Event gibt, erhalten sowohl die digitizer-Karte als auch kurz danach (30-200 ms) der Controller aktuelle Werte, die von LabVIEW eingelesen werden. Der Controller-Wert kommt etwas später und wird über den Melder in die digitizer-Schleife geschickt. Dort werden die beiden Daten zusammen in eine Datei abgespeichert. Das Programm funktioniert nach dem Start eine Weile so wie es soll, doch dann wird der Controller-Wert zu spät eingelesen (obwohl er wie vorher immer noch 30 bis 200 ms nach dem digitizer-Wert geschickt wird). Somit erhält auch der Melder in der digitzer-Schleife keinen Wert mehr und ein timeoput wird erzeugt. Ich habe den Melder auch schon durch eine Ereignisstruktur mit lokaler Variable ersetzt, aber auch dies hat das Problem nicht gelöst. Kann mir irgend jemand weiterhelfen. Ich bin für jeden noch so kleinen Tipp dankbar.
Ich benutze LV 7.0 und winXP