LabVIEWForum.de - 2 sich stoerende Analog Inputs

LabVIEWForum.de

Normale Version: 2 sich stoerende Analog Inputs
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Leute,


ich hab folgendes Problem:

Ich hab eine NI PXI 6221 Karte.
Hierbei hab ich unter anderem 2 Analoge Inputs belegt.

Hierbei bekomme ich einmal ein Signal in einen hinein der zuvor von Labview selbst generiert wurde. AI9 (PIN9_I_DIODE im Screenshot genannt)

Beim 2. kommt ein Signal von einem Tueroeffner-Kontakt rein. AI8 (NOT_STOP im Screenshot genannt)
Dieser ist von Schmersal wenn einem die Firma was sagt. Is ein BNS33 mit BPS33 Betaetiger. Aber das nicht so wichtig.


Es laeuft nun so ab:
AI9 wird mittels Buttonklick staendig von DAQMx abgefragt. Das Signal wird geholt und dargestellt.
Gleichzeitig zur Sicherheit gibt es ein Tueroeffner-Kontakt. Dieser wird auch sobald AI9 aktiv ist immer wieder ausgelesen.
Hierbei passiert es nun das ich folgenden Error bekomme.


Error -50103 occurred at KT_Support_Task_Read.vi
Possible reason(s):
NI Platform Services: The specified resource is reserved. The operation could not be completed as specified.
Task Name: PIN9_I_DIODE

Will heissen das sich beide AI iwie stoeren. Wenn ich den AI8 also disable klappt alles wieder.
Ich habs auch schon mit "Wait Until Done" innerhalb des lesens von AI9 versucht. Klappt leider auch net...

Also beide stoeren sich noch total und jenachdem wie ich es mach wirds einfach nicht besser. Hat wer nen Tipp worauf ich achten koennte?

Hier mal noch die Screens:
Das is das mainVI, oben der AI9 zu sehen.
Und unten der AI8.
[attachment=39313]

Bei AI9 ist das ganze ueber ein subVI geregelt. Hier auch das "Wait Until Done" zu sehen.
[attachment=39314]
Du greifst mit zwei Tasks gleichzeitig auf die Hardware zu...wen soll der Treiber denn nun bedienen?

Also: Nur einen Task, den aber mit 2 (bzw. n) Kanälen konfigurieren...und dann die Daten "verteilen" (Variable, Notifier, Queue,...)

A.
Halloechen Achim,

okay ich hab mal ein Task mit 2 Inputs erstellt aber wie mach ich damit weiter? Im Labview weiss ich ja jetzt nicht welchen ich grad nutze mit einer normalen Constante die den Task benutzt mit den 2 Inputs...
Da nimmste das DAQmx Read und stellst es auf Analog -> Multiple Channels -> Single Sample -> 1D DBL
Und dann Liest er ein Array aus, dieses kannst du per Index Array aufspalten und dann einzeln auslesen.
Dein 1. Kanal hat den Index 0, der 2. den Index 1.
Das eine ist aber ein Analog DBL und das andere ein Analog Waveform... Ich bekomm zwar ein Array raus mit den 2 Werten im Index 0 und 1, aber die Werte stimmen absolut nicht.
Dir fehlen Grundlagen...ich kann gar nicht glauben, dass das gezeigte VI von dir stammen soll!

1. Eine "Waveform" ist nichts anderes als ein 1D-Double-Array mit zusätzlichen Informationen, nämlich Startzeit (t0) und 1/Abtastrate (dt)...du kannst also ganz leicht mit den Waveform-Funktionen das Wertearray extrahieren. Warum allerdings in deinem Task "gemischte" Ausgänge vorkommen, kann ich nicht nachvollziehen! Am besten postest du dein VI...

2. Warum nimmst du für den Türkontakt eigentliche einen Analogeingang? Das ist doch nur ne Schaltinformation, das schreit förmlich nach einem Digital-Eingang...der dann in einem zweiten Task abgefragt werden kann! DIO- und AIO-Tasks können nämlich parallel auf eine Karte zugreifen!

A.
Doch das VI ist von mir Big Grin

Mir kam schnell nach meiner Aussage wieder in den Sinn das der Datentyp ansich doch der selbe ist. Hab ja schon mit Waveforms rumgespielt und so. Tut mir leid fuer diese unueberlegte Antwort.

Der Tuerkontakt gibt mir nunmal leider ein Analoges Signal zurueck weil ich leider im Moment keinen anderen habe. Jedoch wird dieser verworfen und ein ich denk mal ein anderer besorgt.
Hatte hier einen Schmersal BNS33 und BPS33.

Trotzdem habe ich ca. 3 Stellen in meinem Programm wo er dauerhafte Digital und Analog-Abfragen gleichzeitig ausfuehren muss. Hierbei sollte die Karte natuerlich nichts verhaspeln.
Ich werde das mit dem einen Task und den N-Channels nochmals testen. Waere ja gelacht wenn das nun nicht funktionieren will... Rueckmeldung poste ich dann nochmals. Smile

Die 3 Stellen beziehen sich auf:
- Ein dauerhaft generiertes Analog-Signal
- Eine dauerhafte Abfrage eines zu erhaltenden analogen Signals
- Zwei dauerhafte Abfragen von digitalen Eingaengen. (Wird evtl erhoeht)
Referenz-URLs