11.11.2015, 13:09
Hi,
ich habe ein VI, mit dem ich einen linearen Antrieb steuere. Da dieses VI Teil eines größeren Programms sein soll, möchte ich es durch ein übergeordnetes VI fernsteuern. Wären die übergebenen Werte statisch, würde ich einfach ein SubVI draus machen, aber das sind sie leider nicht:
Es gibt eine Schleife, die bei verschiedenen Ereignissen (Drücken eines Buttons oder Ändern eines Eingabewerts, z.B. für die Zielposition) Befehlsstrings in den Controller des Antriebs schreibt. Die Werte können und müssen sich ändern, während das VI läuft.
Ich habe ein separates kleines Test-VI zur Fernsteuerung gemacht, das auch wunderbar funktioniert. Dazu habe ich globale Variablen und Eigenschaftsknoten mit "signaling value" verwendet.
Aber in meiner Anwendung mit dem Antrieb will es einfach nicht funktionieren.
Ich habe die drei VIs aus meinem Test angehängt (ein aufrufendes, ein empfangendes und das VI mit den Variablen).
Auch das VI des Antriebs "Linear Y.vi" (nicht ausführbar wegen fehlender SubVIs und Controller, aber zum Reinschauen sollte es reichen) und mein aufrufendes Test-VI "linearachsen_test_fernsteuerung_2" dafür.
Kann jemand vielleicht bitte drüberschauen und mir einen Tip geben? Gibt es eine noch vernünftigere Möglichkeit, sich ändernde Daten zur Laufzeit von VIs zwischen VIs zu übergeben?
Danke und Gruß
Joe
Edit:
Ich habe es nun mit Benutzerereignissen hinbekommen
Aber nun wüsste ich noch gerne, ob man mehrere dieser Ereignisse übersichtlich registrieren kann? So wie in diesem Bild hier:
https://lavag.org/uploads/monthly_01_201...174491.png
Mit ist da nicht klar, wo die Eingänge herkommen. Bei mir ist es eine globale Variable. In dieser würde ich gerne mehrere Ereignisse zusammenfassen, ich weiß aber nicht wie.
ich habe ein VI, mit dem ich einen linearen Antrieb steuere. Da dieses VI Teil eines größeren Programms sein soll, möchte ich es durch ein übergeordnetes VI fernsteuern. Wären die übergebenen Werte statisch, würde ich einfach ein SubVI draus machen, aber das sind sie leider nicht:
Es gibt eine Schleife, die bei verschiedenen Ereignissen (Drücken eines Buttons oder Ändern eines Eingabewerts, z.B. für die Zielposition) Befehlsstrings in den Controller des Antriebs schreibt. Die Werte können und müssen sich ändern, während das VI läuft.
Ich habe ein separates kleines Test-VI zur Fernsteuerung gemacht, das auch wunderbar funktioniert. Dazu habe ich globale Variablen und Eigenschaftsknoten mit "signaling value" verwendet.
Aber in meiner Anwendung mit dem Antrieb will es einfach nicht funktionieren.
Ich habe die drei VIs aus meinem Test angehängt (ein aufrufendes, ein empfangendes und das VI mit den Variablen).
Auch das VI des Antriebs "Linear Y.vi" (nicht ausführbar wegen fehlender SubVIs und Controller, aber zum Reinschauen sollte es reichen) und mein aufrufendes Test-VI "linearachsen_test_fernsteuerung_2" dafür.
Kann jemand vielleicht bitte drüberschauen und mir einen Tip geben? Gibt es eine noch vernünftigere Möglichkeit, sich ändernde Daten zur Laufzeit von VIs zwischen VIs zu übergeben?
Danke und Gruß
Joe
Edit:
Ich habe es nun mit Benutzerereignissen hinbekommen

Aber nun wüsste ich noch gerne, ob man mehrere dieser Ereignisse übersichtlich registrieren kann? So wie in diesem Bild hier:
https://lavag.org/uploads/monthly_01_201...174491.png
Mit ist da nicht klar, wo die Eingänge herkommen. Bei mir ist es eine globale Variable. In dieser würde ich gerne mehrere Ereignisse zusammenfassen, ich weiß aber nicht wie.