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 

verschiedene DLLs über ein Libary Fct Node



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!

19.08.2011, 10:19
Beitrag #11

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: verschiedene DLLs über ein Libary Fct Node
Hallo Daniel,

warum soll eine DLL die (DAQmx?)-Tasks starten? Warum willst du das nicht in LV selbst machen?
Deine DLL/INI/whatever kann doch als Parameter zurückgeben, was du wirklich brauchst. Und nur diese DAQmx-Task konfigurierst du dann auch...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.08.2011, 10:28
Beitrag #12

M@rRy Offline
LVF-Padawan
***


Beiträge: 273
Registriert seit: Aug 2011

7.1
2011
EN


Deutschland
RE: verschiedene DLLs über ein Libary Fct Node
Die Idee wäre in sofern Ressourcen schonnender das der NI-DAQmx Task nicht gestartet würde. Aber er wäre trotzdem im Speicher. Genau das wollte ich so umgehen weil ich mir davon eine besser Performance versprochen hatte ...
Ein weiteres Problem was ich bei der Variante haben werde ist die Ausgabe. Bei der DLL war vorgesehen zwei Bereiche zu schaffen, einer der den Task startet und die Parameter übergibt und einer der dann das schreiben auf den Kanal ermöglicht. Dabei hätte ich dann auch wieder nur die NI-DAQmx Elemente die ich genau für die Anlage brauche. Bei der anderen müsste ich auch hier alle drei Kanäle erstellen, dreimal das Schreiben und dreimal das Terminieren und das ganze über eine switch-case (oder ein ähnlicher Weg) abfangen. Hier hatte ich mir ebenfalls eine Verbesserung erhofft.

Gruß

Nur wer neugierig ist, lernt ständig dazu.

Mythos:
Mit LabView lassen sich gut Programme leichter entwickeln

Realität:
Mit LabView lassen sich gut und schlechte Programme leichter enwickeln!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.08.2011, 10:33 (Dieser Beitrag wurde zuletzt bearbeitet: 19.08.2011 10:34 von GerdW.)
Beitrag #13

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: verschiedene DLLs über ein Libary Fct Node
Hallo Daniel,

Zitat:Ressourcen schonnender das der NI-DAQmx Task nicht gestartet würde. Aber er wäre trotzdem im Speicher.
???
Wenn du weißt, das du einen Task nicht benötigst, musst du ihn weder starten noch anlegen/konfigurieren/beenden/löschen...

Zitat:Ein weiteres Problem was ich bei der Variante haben werde ist die Ausgabe.
Aha. Also nicht nur Parameter durch die DLL bereitstellen, sondern auch weitere Funktionalität...

Ich habe Probleme, deiner Vorgehensweise zu folgen. Du willst Funktionen, die sich einfach aus LV heraus benutzen lassen, in eine externe DLL auslagern.
Warum? Alles, was du durch Nachladen einer DLL erledigst, lässt sich auch durch Nachladen von VIs in LV selbst erledigen... Und das Ganze ohne irgendwelche Probleme mit der Parameterübergabe/Anlegen und Nutzen von Speicherbereichen/etc!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.08.2011, 10:47
Beitrag #14

M@rRy Offline
LVF-Padawan
***


Beiträge: 273
Registriert seit: Aug 2011

7.1
2011
EN


Deutschland
RE: verschiedene DLLs über ein Libary Fct Node
Ich mache mal ein kleines Beispiel, vielleicht kannst du mir dann besser folgen. Wir haben drei Anlagen, eine braucht zur Ansteuerung ein analoges Signal (-10V bis +10V) eine ein PWM-Signal und die dritte kennt nur volle Power oder eben Aus.

Die drei Anlagen werden niemals gleichzeitig laufen. Wenn ich also nun beigehe und die erste Anlage nutzen möchte brauche ich zum einen desen Daten (Bearbeitungsfeld, Verfahrgeschwindigkeit, uws...) und dazu möchte ich gern den entsprechenden Task mit "Create Channel" und AO voltage starten. Desweiteren soll es möglich sein das die Daten dann genau auf den zuvor gestarteten Task geschrieben werden (AOut write). Sollte ich nun Lust haben mit Maschine zwei zu arbeiten, würde es mir genügen eine andere DLL zu laden und ich hätte alle meine Daten drinne und könnte gemütlich weiterarbeiten. Während die anderen Tasks in meinem Hauptprogram nicht auftauchen.

Zitat:Wenn du weißt, das du einen Task nicht benötigst, musst du ihn weder starten noch anlegen/konfigurieren/beenden/löschen...

Durch das erstellen einer Switch-Case-Anweisung, wobei jeder Case ein NI-DAQmx enthält und halt den richtigen startet, sind diese doch trotzdem im Speicher vorhanden oder habe ich das falsch verstanden? Natürlich wird dann nur der entsprechende gestartet und die restlichen zwei nicht, das ist mir klar.

Nur wer neugierig ist, lernt ständig dazu.

Mythos:
Mit LabView lassen sich gut Programme leichter entwickeln

Realität:
Mit LabView lassen sich gut und schlechte Programme leichter enwickeln!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.08.2011, 10:50
Beitrag #15

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: verschiedene DLLs über ein Libary Fct Node
Hallo Daniel,

Zitat:Alles, was du durch Nachladen einer DLL erledigst, lässt sich auch durch Nachladen von VIs in LV selbst erledigen...
Du brauchst keine große CaseStruktur - nur eine vernünftige Programmarchitektur mit nachzuladenden VIs, die (z.B.) über Queues kommunizieren...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.08.2011, 11:20
Beitrag #16

M@rRy Offline
LVF-Padawan
***


Beiträge: 273
Registriert seit: Aug 2011

7.1
2011
EN


Deutschland
RE: verschiedene DLLs über ein Libary Fct Node
(19.08.2011 10:50 )GerdW schrieb:  Du brauchst keine große CaseStruktur - nur eine vernünftige Programmarchitektur mit nachzuladenden VIs, die (z.B.) über Queues kommunizieren...

Ich finde die Idee klingt sehr interessant, ich gebe allerdings zu das ich sie nicht ganz verstehe ... Du meinst also drei verschiedene VI's mit dem entsprechendem Task? Auch mit den Daten für die Anlage? Und wie sollen die Unterschieden werden wenn nich mit Switch-Case?

Ich hab mich mit Queues noch nicht wirklich auseinander gesetzt, aber das was ich gerade auf die schnelle lesen könnte klingt sehr nach C, LIFO und FIFO, wars das dann auch schon oder kann LV mehr?

Nur wer neugierig ist, lernt ständig dazu.

Mythos:
Mit LabView lassen sich gut Programme leichter entwickeln

Realität:
Mit LabView lassen sich gut und schlechte Programme leichter enwickeln!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.08.2011, 12:37
Beitrag #17

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: verschiedene DLLs über ein Libary Fct Node
Hallo Daniel,

du könntest für jeden Prüfstand ein VI anlegen, was dann geladen/gestartet wird.
Oder (individueller anpassbar) für jeden DAQmx-Teil ein VI, was nachgeladen wird...
Guckst du in den Beispielen nach "VI Server"!

Queue: Ist erstmal nur ein FIFO. Aber einer mit eigenständiger Speicherverwaltung und sich bei Bedarf automatisch verlängernder Warteschlange...
Guckst du in den Beispielen nach "Queue"...

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
  DLLs kopieren/Bibliothek nicht gefunden ares2013 4 5.527 26.11.2020 17:06
Letzter Beitrag: rolfk
  Type Libary Pfad herausfinden LabDevo_CLD 1 7.146 24.07.2017 10:25
Letzter Beitrag: jg
  Mehrere Cuda DLLs Context-Übergabe grey 2 6.141 17.06.2010 19:50
Letzter Beitrag: rolfk
  Einbindung der Vector driver libary 6.7 in LabVIEW Langen8 3 7.506 31.07.2009 14:31
Letzter Beitrag: rolfk
  Konsolenausgabe bei dlls martinv 1 4.276 20.06.2009 06:25
Letzter Beitrag: rolfk
  Call Libary Function Node pannchen 3 9.190 06.04.2009 08:11
Letzter Beitrag: pannchen

Gehe zu: