LabVIEWForum.de
System Exec.vi langsamer als dll? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: System Exec.vi langsamer als dll? (/Thread-System-Exec-vi-langsamer-als-dll)



System Exec.vi langsamer als dll? - kaic - 07.04.2008 17:00

Hallo!

Meine Frage: Arbeitet das VI "System Exec.vi" langsamer als wenn ich den externen Code mit einer dll einbinden würde?

Es geht bei mir dabei um die Ansteuerung eines xy-Tischs. Mein externes Programm führt mir je nach Parameterübergabe einen Schritt aus. Dies wird relativ schnell hintereinander wiederholt um die ganze Fläche systematisch abzufahren.

Im Moment braucht der Tisch für einen Schritt ca. 0,6 Sekunden. Das ist mir eigentlich zu langsam, da der Tisch hardwareseitig schneller sein kann. Ist es möglich dass ich das beschleunigen kann indem ich den Code mit einer dll einbinde? Dazu müsste ich mich aber erst einmal schlau lesen.

Vielen Dank schon mal für eure Antworten!

MfG Kai


System Exec.vi langsamer als dll? - dc6xs - 07.04.2008 18:12

Wie sprichste den Tisch denn genau an?
Per rs232?

Dann vielleicht einfach die Schnittstellengeschwinidkeit erhöhen?


System Exec.vi langsamer als dll? - IchSelbst - 07.04.2008 22:53

' schrieb:Meine Frage: Arbeitet das VI "System Exec.vi" langsamer als wenn ich den externen Code mit einer dll einbinden würde?
Davon gehe ich aus.

SystemExec startet ein Programm auf Betriebssystemebene. Da ist aber einiger Overhead dabei. Mindestens der wird beim Aufruf durch eine DLL gespart. Außerdem wird in deiner per SystemExec aufgerufenen EXE bestimmt eine Schnittstelle (z.B RS232) initialisiert und beendet. Dieses Initailisieren und Beenden kann man mit der DLL-Methode optimieren. DLL sollte also auf jeden Fall schneller sein.

Am schnellsten wäre aber die Integration in LV direkt.


System Exec.vi langsamer als dll? - kaic - 15.04.2008 12:44

Vielen Dank für eure Antworten.
Der Tisch wird über RS232 gesteuert. Aber das C-Programm hat mir ein Kollege geschrieben, sodass ich zwar die Schnittstelle kenne aber nicht die Implementierung.
Erscheint mir logisch dass systemexec langsamer ist. werde mich jetzt wohl in die dlls einarbeiten und es damit versuchen.


System Exec.vi langsamer als dll? - jg - 15.04.2008 19:28

' schrieb:Der Tisch wird über RS232 gesteuert.
Wenn dem so ist, dann kannst du die Kommunikation mit dem Tisch-Controller selber in LV programmieren. Dazu brauchst du nur die Befehlssyntax, die du dann selber per VISA-VI's an den Tisch schicken kannst.

MfG, Jens