LabVIEWForum.de - Motoren starten nicht synchron

LabVIEWForum.de

Normale Version: Motoren starten nicht synchron
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich bin gerade dabei einen 3D-Drucker zu programmieren und dabei sollten die Motoren natürlich möglichst zeitgleich starten. Momentan gibt es aber eine Verzögerung von ca. 0,2s zwischen X- und Y-Achse.

In dem VI werden in dem Case "Druckauftrag" in der Nachrichtenbehandlungsschleife Daten für die Motoren erzeugt, die dann in einem Cluster über einen Melder an die Motoren weitergeleitet werden. Der Melder sollte eigentlich auch dazu dienen, dass die Motoren gleichzeitig starten. Links unten im VI sind vier Schleifen in denen jeweils ein Motor über eine DLL gesteuert wird und rechts daneben ist noch eine Schleife in der leicht verzögert der Motorstatus überprüft werden soll.

Liegt die Verzögerung an dem VI oder ist der Fehler eher woanders zu suchen?
Bist du sicher, dass die DLL wirklich mehrfach parallel aufrufbar ist?
Ist das "Motor-VI", welches die DLL aufruft, auf reentrant gestellt? Nur dann kann es von LabVIEW mehrfach (quasi) parallel aufgerufen werden.

Gruß, Jens
Sicher bin ich mir nicht, das könnte durchaus das Problem sein. Aber ist die Verzögerung dann nicht trotzdem etwas hoch?
Meinst du mit reentrant die Option "In beliebigen Thread ausführen" / "Run in any thread"? Ich werde das morgen mal ausprobieren.
Nein, das meinte ich nicht (obwohl das auch eine Fehlerquelle sein könnte). Auf was stehen denn aktuell die DLL-Aufrufe? Hoffentlich nicht auf UI-Thread?

Ich meinte das hier:
[attachment=49852]

Du rufst - wenn ich mich richtig erinnere - immer dasselbe VI auf, nur mit anderen Parametern.
Ein VI, das nicht auf reentrant gestellt ist, kann aber nicht mehrmals parallel ausgeführt werden (deshalb funktionieren FGVs...).

Ob 0,2s selbst bei sequentieller Ausführung (zwecks DLL oder VI) zu viel ist, das kann ich nicht sagen. Ich kenne weder deine DLL noch das VI, welches die DLL aufruft.

Gruß, Jens
Doch, momentan steht alles auf UI-Thread.

Ich teste das dann morgen mal und melde mich ggf. nochmal.
Ich habe jetzt beides ausprobiert, aber gebracht hat es leider nichts.
Referenz-URLs