Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
27.06.2013, 11:24 (Dieser Beitrag wurde zuletzt bearbeitet: 27.06.2013 11:55 von jg.)
ich habe ein Problem mit dem Output bzw dem Input von Daten.
Ich habe hier eine PCI-DAS6036 Karte von Meassurement Computing.
Mit der möchte ich 2 Spannungen (auf 2 Kanälen) gleichzeitig ausgeben und synchron(!) zwei Kanäle lesen.
Sodass ich jedem Punkt im "Spannungsarray ("x-Spannung/y-Spannung") zwei Messwerte zuordnen kann.
Es funktionert auch mit einer While-Schleife, die die Treiber immer wieder neu aufruft. Das ist aber viel zu langsam.
Eine zweite Variante habe ich Programmiert, die sehr viel schneller läuft. Nun tritt jedoch ein seltsames Phänomen auf:
Bei stetigem Ansteigen der Spannung (Vorgabe aus Array) gibt er zwischen bestimmten Werten (Die mit dem Verhältnis aus Leserate und Schreibrate zusammenhängt) Wert "0" aus.
Egal wieviel Schritte er macht und unabhänging von der Spannung.
RE: Synchronisation zwischen AO und AI mit Mcc-Karte
Der Beginn der analogen Erfassung und der analogen Ausgabe sind nicht zueinander wirklich synchronisiert. Also eigentlich ist unklar wann es jeweils wirklich losgeht. Genaugenommen musst du entweder irgendwie ein Starttrigger für beide auslösen oder einfach die Erfassung vor der Ausgabe anstarten und auch erst Beenden wenn die Ausgabe fertig ist.
RE: Synchronisation zwischen AO und AI mit Mcc-Karte
Danke für die Antworten, aber das scheint alles nicht das Problem zu sein.
Ich habe weitere Messungen und Versuche unternommen und habe festgestellt:
Wenn ich ein Array mit 2en Fülle: 2,2,2,2,.... und dieses ausgebe kommt der gleiche Fehler-> eine Lücke. Ergebnis der Messung:
2,2,2,0,0,0,0[b],2,2,2, usw...
Wenn ich nun das Array ändere: 3,3,3,3,... und dieses wieder ausgebe, dann kommt das Ergebnis:
3,3,3,[b]2,2,2,2,3,3,3, usw.
(Die ist bei allen möglichen Formen des Arrays so...)
Daraus schliesse ich:
- Er schreibt einen Teil des alten Eingans-Arrays in die neue Ausgabe
oder
- Er schreibt einen Teil des alten Ausgangs-Arrays in die neue Ausgabe.
Wenn ich die Daten ausgebe, ohne sie synchron zu lesen, dann funktioniert die Ausgabe.
Kann es sein, dass die Karte nicht synchron lesen und schreiben kann (vllt sogar den gleichen Buffer nutzt und es dadurch zu Komplikationen kommt)?
Gruß Lars
27.06.2013, 21:46 (Dieser Beitrag wurde zuletzt bearbeitet: 27.06.2013 22:11 von Lucki.)
RE: Synchronisation zwischen AO und AI mit Mcc-Karte
Wie Holy schon sagte, funktioniert es so nicht, softwaremäßig kann man das nicht synchronisieren. Es kommt darauf an, dass auf der Karte ein und derselbe Triggerimpule sowohl AI als auch AO auslöst. Beispiele wie das geht gibt es in der Beispielsammlung von Labview.
Diese funktionieren allerdings nur mit DAQmx und NI-Karten. Wenn Du eine Karte einer Fremdfirma hast, und die NI-DAQmx-Treiber lassen sich nicht verwenden, dann nützen Dir weder die Beispiele noch wird Dir das Forum helfen können. Und das selbst heraus zu finden dürfte auch hoffnungslos sein.
Du hast nur eine reale Chance: Wenn Dich an die Firma und bitte sie um ein Beispiel. Vielleicht findet sich in den Tiefen der Webseite so ein Beispiel, denn Deine Anwendung ist ja nicht exotisch. Z.B. braucht man das für jede Frequenzgangmessung.
Wenn Du das schaffst, wäre es nicht schlecht, auch das Forum an Deinen Erkenntnissen teilhaben zu lassen.
Edit: Auf der Webseite von MC kann man die Treiber-CD saugen. Darauf sind auch viele Beispiele. Hast Du dort wirklich gründlich gesucht, ob da für Dein Problem etwas dabei ist?
RE: Synchronisation zwischen AO und AI mit Mcc-Karte
Hi, danke nochmal für eure Bemühungen.
Die Treiber CD und seine Beispiele kenne ich bald auswendig (Inklusive aller Möglichkeiten sie zu kombinieren ).
Auffällig ist dort schon, dass es keine Beispiele für solche oder nur annähernd ähnliche Fälle gibt. Synchronisation kommt einfach NIE vor.
Triggern habe ich auch versucht (Kabel vom Ausgang des Triggers in den Eingang). Er gibt auch einen Impuls raus, nimmt ihn aber nicht an, bzw. löst nicht aus. Auch mit C# geht es nicht zu triggern.
Die Firma habe ich auch schon gefragt, aber bis dato noch keine Antwort erhalten.
Gruß Lars
Anzeige
28.06.2013, 09:43 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2013 09:55 von GerdW.)
RE: Synchronisation zwischen AO und AI mit Mcc-Karte
Hallo Lars,
auch wenn es dir hier gerade nicht weiterhilft, möchte ich den Kommentar zur Warnung an andere Leser hinterlassen.
An solchen Problemen sieht man, wo der Preisunterschied zwischen HW-Produkten von NI und anderen Anbietern begründet ist! Man bezahlt halt einen ordentlichen Treibersupport mit, der alle Optionen der Hardware (wie Triggerung) einfach zur Verfügung stellt...
RE: Synchronisation zwischen AO und AI mit Mcc-Karte
(28.06.2013 09:43 )GerdW schrieb: An solchen Problemen sieht man, wo der Preisunterschied zwischen HW-Produkten von NI und anderen Anbietern begründet ist! Man bezahlt halt einen ordentlichen Treibersupport mit, der alle Optionen der Hardware (wie Triggerung) einfach zur Verfügung stellt...
Immer wieder Sonntags, kommt die Erinnerung...
Egal ob Meilhaus, AddiData, Adwin, Goldammer,....immer das Gleiche!
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
28.06.2013, 10:41 (Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2013 07:14 von Lucki.)
RE: Synchronisation zwischen AO und AI mit Mcc-Karte
(28.06.2013 09:43 )GerdW schrieb: Hallo Lars,
auch wenn es dir hier gerade nicht weiterhilft, möchte ich den Kommentar zur Warnung an andere Leser hinterlassen.
An solchen Problemen sieht man, wo der Preisunterschied zwischen HW-Produkten von NI und anderen Anbietern begründet ist! Man bezahlt halt einen ordentlichen Treibersupport mit, der alle Optionen der Hardware (wie Triggerung) einfach zur Verfügung stellt...
Bis vor ca. 10 Jahren gab es Firmen, die exakte Clones von NI-Karten herstellten und die die deutlich billiger waren. Dann aber hat NI zum doppelten Gegenschlag ausgeholt:
DAQmx Treiberkonzept. Meines Wissens gibt es keine Clones, die einfach mit den DAQmx-Treibern arbeiten und keine werkseigenen Treiber brauchen.
Aufbau einer großen Produktionsstätte für Messkarten in Ungarn, verbunden mit deutlicher Preissenkung.
So schmerzlich das für die betroffenen Formen sein mag, man muss aber sagen: der Kauf von fremden Universal-Messkarten - damit meine ich solche mit AI, AO, DI, DO, Timern, Countern auf einer Karte - lohnt sich nicht. Die verschiedene Funktionen sind bei NI-Karten so phantastisch miteinander integriert, dass sie meines Erachtens konkurrenzlos sind.
Über andere Messkarten mit nur einer oder weniger Funktionen fehlt mir die Kompetenz das zu beurteilen. Ich würde nur vermuten, dass sich da ein kritischer Preis- und Funktionsvergleich, vor allem wenn es um höhere Stückzahlen geht, eventuell lohnen könnte.
RE: Synchronisation zwischen AO und AI mit Mcc-Karte
(28.06.2013 10:41 )Lucki schrieb: [quote='GerdW' pid='153100' dateline='1372408988']
Ich würde nur vermuten, dass sich da ein kritischer Preisvergleich, vor allem wenn es um höhere Stückzahlen geht, eventuell lohnen könnte.
Jou, dass stimmt. Ein Beispiel wären dann auch ebenfalls aufeinander abgestimmte HW-Komponenten, z.B. die Heidenhain-Drehgeber (1V Vss ) + IK220-Zählerkarte. Da wäre die Integration in LV über eine NI-Karte sehr umständlich, die Integration der beigestellten VIs ist aber recht einfach.
Aber die Diskussion driftet ab...
A.
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)