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

LabVIEWForum.de

Normale Version: System Exec.vi langsamer als dll?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
Wie sprichste den Tisch denn genau an?
Per rs232?

Dann vielleicht einfach die Schnittstellengeschwinidkeit erhöhen?
' 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.
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.
' 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
Referenz-URLs