INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

DAQ_Assistenten ersetzen



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!

24.10.2008, 15:52
Beitrag #1

LAByrinth Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Aug 2008

7.1
2008
en

10715
Deutschland
DAQ_Assistenten ersetzen
Hallo zusammen. Ich sitze seit mehreren Monaten an einer Aufgabe und langsam habe ich es satt. Bitte um Hilfeee!

Ein Prüfstand wird duch ein Software gesteuert (LV7.1, Programmierer nicht mehr da, kein Doku, soll verbessert werden!). In diesem Programm befinden sich mehrere Daq Assistenten für digitale und analoge; Input und Output.

Insgesamt ist das Programm bei der Datenerfassung zu langsam. Mir wurde in diesem Forum mal geraten die Daq-Assis zu ersetzen. Ich habe nun vorerst zwei digitale Ausgänge (die einfach jeweils einen Schalter umlegen) durch Daq-Mx ersetzt. Es funktioniert auch.
Kann man bestimmte Daq-Mx darin zusammenfügen um das zweimalige initialisieren in jedem Schleifendurchlauf zu vermeiden?
Erklärung: Es heist, dass die Daq-Assis in der While-Schleife in jedem Durchlauf initialisiert werden. Daher Umwandlung in Daq-mx und eventl. zusammenfügen. Wenn das nähmlich klappt, kann ich alle daq-assis rausschmeisen. Meine Gedanke jedenfalls..............falls es machbar ist............Huh

vielen Dank schon mal!


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.10.2008, 17:09
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DAQ_Assistenten ersetzen
Was du auf jeden Fall machen kannst, ist den Create und den Start einer jeden der beiden Tasks links aus der While-Schleife hinauslegen und den Stopp jeder Task rechts aus der While-Schleife hinauslegen. Die Task-Variablen (also den Wire) ziehst du dann durch die While-Schleife durch und das Ausgabeelement schließt du hier an.

Du kannst auch im MAX eine Task erstellen mit zwei Ausgangspins. Dann brauchst du nur eine Task im LV-Programm.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.10.2008, 19:32
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
DAQ_Assistenten ersetzen
Weiterer Tip: Ändere die Instanz vom DAQmx Write VI:
   
Dann sparst du dir nach Screenshot unnötige Umwandlung ins Dynamic Data Format.

Und natürlich kannst du die beiden DigitalLines auch zu einem Task zusammenfassen. Das würde ich aber nur machen, wenn du wirklich immer beide Lines "gleichzeitig" schaltest. Dazu kannst du z.B. 2 Create Channel VIs hintereinanderschalten. Du musst dann natürlich eine andere Instanz beim Write VI auswählen.

Ich empfehle auch mal einen Blick auf die Bsps. im NI-Examplefinder zu DAQmx.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.10.2008, 13:16
Beitrag #4

LAByrinth Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Aug 2008

7.1
2008
en

10715
Deutschland
DAQ_Assistenten ersetzen
vielen Dank "IchSelbst" und "Jens G",
ich werde eure Ratschläge zum Herzen nehmen.

@Jens G:
"Ändere die Instanz vom DAQmx Write VI"
eeeeee, was meinst du genau!

@IchSelbst
Create und den Start einer jeden der beiden Tasks links aus der While-Schleife hinauslegen und den Stopp jeder Task rechts aus der While-Schleife hinauslegen
Welche Vorteil würde das bringen?
Das könnte ich realisieren, aber Frage: Das Programm muss immer gestartet bleiben. Zwischendurch wird der Schalter betätigt. Hat das ein Nachteil.
d.h. während das Programm läuft, kann es sein, dass der Hauptschalter ausgeschaltet und nach einer Zeit eingeschaltet wird. Muss der "Stopp" sich dann nicht in der While-Schleife befinden.

Gruß.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.10.2008, 13:40
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DAQ_Assistenten ersetzen
' schrieb:eeeeee, was meinst du genau!
Geht mal bei dem Icon des VIs im Kontextmenü auf Sichtbar. Dort gibt es meherer Einträge. Einer geht sinngemäß in die Richtung "polymorphe Auswahl anzeigen".
Hinweis:
Viele Task-VIs sind polymorph. Je nach Task muss man auswählen (oder wird intuitiv automatisch gewählt), welche Instanz des VIs verwendet werden soll. Folge der Auswahl kann z.B. sein, dass der Dateneingang ein einzelner Wert ist oder ein 1D- oder auch ein 2D-Array. Der Typ des Dateneingangs am VI ändert sich also - der Name des VIs bleibt aber bestehen.

Zitat:Welche Vorteil würde das bringen?
Einen erheblichen Geschwindigkeitsvorteil.
Eine Task, aus der man eigentlich nur lesen(schreiben) will, muss nicht ständig geöffnet und geschlossen werden. Prinzipiell reicht einmal Öffnen etc. aus.

Zitat:Frage: Das Programm muss immer gestartet bleiben. Zwischendurch wird der Schalter betätigt. Hat das ein Nachteil.
Das hat - normalerweise - keinen Nachteil.
Zwischenfrage: Ist das der Schalter, der abgefragt werden soll? Oder der Hauptschalter?

Zitat:d.h. während das Programm läuft, kann es sein, dass der Hauptschalter ausgeschaltet und nach einer Zeit eingeschaltet wird. Muss der "Stopp" sich dann nicht in der While-Schleife befinden.
Der Stopp, der jetzt in der Schleife steht, ist ja ein Stopp für die Task. Ein Task-Stopp hat mit den eigenlichen IOs, die möglicherweise bei einem Hauptschalter-Aus nicht mehr vorhanden sind, nichts zu tun.
Wenn du jedoch meinst, ein Stopp-Signal ausgeben zu müssen, dann geht das anders als mit Stopp-Task.

Ob der Hauptschalter aus oder ein ist, ist für die Task irrelevant. Die Task an sich (respektive dein Programm) kann nicht feststellen, ob ein Eingang deswegen Low ist, weil der Hauptschalter aus ist oder weil keiner den entsprechenden Taster am Eingang gedrückt hat.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.10.2008, 14:14 (Dieser Beitrag wurde zuletzt bearbeitet: 31.10.2008 14:15 von Kvasir.)
Beitrag #6

Kvasir Offline
LVF-Freak
****


Beiträge: 642
Registriert seit: May 2006

10
2004
DE_EN

0000
Oesterreich
DAQ_Assistenten ersetzen
' schrieb:Erklärung: Es heist, dass die Daq-Assis in der While-Schleife in jedem Durchlauf initialisiert werden. Daher Umwandlung in Daq-mx und eventl. zusammenfügen. Wenn das nähmlich klappt, kann ich alle daq-assis rausschmeisen. Meine Gedanke jedenfalls..............falls es machbar ist............Huh

vielen Dank schon mal!

Zitat:@IchSelbst
Create und den Start einer jeden der beiden Tasks links aus der While-Schleife hinauslegen und den Stopp jeder Task rechts aus der While-Schleife hinauslegen
Welche Vorteil würde das bringen?
Das könnte ich realisieren, aber Frage: Das Programm muss immer gestartet bleiben. Zwischendurch wird der Schalter betätigt. Hat das ein Nachteil.
d.h. während das Programm läuft, kann es sein, dass der Hauptschalter ausgeschaltet und nach einer Zeit eingeschaltet wird. Muss der "Stopp" sich dann nicht in der While-Schleife befinden.

Genau das ist ja der Punkt, den du zuerst angesprochen hast. Die Assistenten initialisieren den Task bei jedem Durchlauf neu. Das machst du nun auch! Bei jedem Schleifendurchlauf erzeugst du den Tast, startest und stopst ihn.
Deine angesprochene Zeitersparnis ist genau die, dass du den Tast vor der Schleife erstellst, startest und (hinter der Schleife) stopst.

Grüße

A few weeks of developement and testing can save a WHOLE afternoon in the library!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
31.10.2008, 17:44
Beitrag #7

LAByrinth Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Aug 2008

7.1
2008
en

10715
Deutschland
DAQ_Assistenten ersetzen
Ok, ich glaube ich habe es kapiert. Die Kanäle braucht man nicht jedesmal zu initialisieren. Einmal aufgemacht, stehen sie zur Verfügung.
Danke Kvasir, IchSelbst.

' schrieb:Zwischenfrage: Ist das der Schalter, der abgefragt werden soll? Oder der Hauptschalter?
Ich meine den Hauptschalter, der sich in meinem Programm befindet.
Wenn ich die Tasks Create, Start und Stopp aus der Schleife rausnehme, könnte ich also immer noch meinen Hauptschalter-"Button" bedienen, d.h Einschalten, Ausschalten und wieder einschalten ohne das Program erneut starten zu müssen. Der Kanal bleib bestehen. Korrekt? :-)

Neues aber ähnliches Problem:
So einen Daq-Assi mit einer einfachen digitalen Output konnte ich zwar in Daq-Mx konvertieren,
jedoch habe ich Probleme mit dem Daq-Assi der analoge Signale ausgibt.
Kann mir jemand diesen einen Daq konvertieren?
Sie befindet sich eigentlich in meiner While-Schleife und gibt eine analoge Spannung an den E-Motor weiter. Die Spannung wird zuvor aus dem eingegebenen Drehzahl umgerechnet.
(Achtung: LabVIEW7.1, falls ihr noch die Möglichkeit habt. Im Notfall würde 8.2 gehen, dann muss ich selber das gleiche in 7.1 realisieren. Höhere kann ich mir gar nicht ansehen!)

Schönes Wochenende!


Angehängte Datei(en)
Sonstige .vi  SubVI_MotorDAQ_Assi.vi (Größe: 155,04 KB / Downloads: 249)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.10.2008, 18:00
Beitrag #8

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DAQ_Assistenten ersetzen
' schrieb:Korrekt? :-)
Ja.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.11.2008, 17:07
Beitrag #9

LAByrinth Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Aug 2008

7.1
2008
en

10715
Deutschland
DAQ_Assistenten ersetzen
Würde mich freuen, wenn jemand einen Lösungsvorschlag zum obigen Problem machen würde:
Daq-Assi konvertieren!

Gruß!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.11.2008, 18:54
Beitrag #10

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DAQ_Assistenten ersetzen
' schrieb:Daq-Assi konvertieren!
Updaten aufLv82_img! Dort geht es automatisch.

Oder selber machen.

Oder hier Abschreiben: siehe Bilder.

Oder von jemandem konvertieren lassen von 82 auf 7: Siehe ZIP-File


Angehängte Datei(en) Thumbnail(s)
       

Sonstige .zip  daqkonv.zip (Größe: 43,65 KB / Downloads: 239)

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Potentiometer ersetzen braendy 18 8.510 18.01.2021 15:48
Letzter Beitrag: jg
  Fragen zum Ersetzen von DAQ Assistent und weitere SUB-VIs ultra-vatah 2 4.147 15.01.2013 17:07
Letzter Beitrag: jg
  Schalter für Datenausgang ersetzen otto 5 5.887 18.05.2010 10:02
Letzter Beitrag: BsaiboT
  Funktionsgenerator durch Dateidaten ersetzen ryxo 3 4.385 06.05.2009 15:47
Letzter Beitrag: ImExPorty
  Trigger ersetzen?? Anfangerlabv. 3 5.443 30.08.2007 20:12
Letzter Beitrag: cb

Gehe zu: