LabVIEWForum.de
Eigener Satz Umgebungsvariablen für Clone VIs - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenkommunikation (/Forum-Datenkommunikation)
+---- Thema: Eigener Satz Umgebungsvariablen für Clone VIs (/Thread-Eigener-Satz-Umgebungsvariablen-fuer-Clone-VIs)



Eigener Satz Umgebungsvariablen für Clone VIs - MartinFeelgood - 20.01.2021 11:54

Hallo zusammen.

Ich brauche mal eine Konzeptidee von euch.

In meinem Projekt geht es um die Simulation eines CAN-Netzwerks. Die Kommunikation selbst wird von CANoe ausgeführt.
Das Verhalten der Komponenten (CAN-Knoten) wird in LabVIEW abgebildet. Jede Komponente bekommt ein eigenes VI.
Die Übergabe der zu versendenden/empfangenen Daten zwischen CANoe und LabVIEW erfolgt über Umgebungsvariablen (shared variables: Tx_Array_u8, Rx_Array_u8, Tx_Flag, Rx_Flag).

Da im Netzwerk viele Komponenten identisch sind, möchte ich das vorhandene VI einer Komponete clonen, also eine bestimmte Anzahl als Preallocated Reentrant VI ausführen.

Mein Problem ist, dass die Clone dann auf dieselben Umgebungsvariablen zugreifen. Ich möchte aber jedem Clone einen eigenen Satz Umgebungsvariablen zugewiesen, also Clone 1 greift auf Tx_Array_u8_1 zu, Clone 2 auf Tx_Array_u8_2, u.s.w.

Wie kann ich das am geschicktesten lösen?

Viele Grüße

Martin


RE: Eigener Satz Umgebungsvariablen für Clone VIs - GerdW - 20.01.2021 11:58

Hallo Martin,

referenziere die SharedVariables programmatisch über ihren Namen, bei Benutzung der PSP-Funktionen.


RE: Eigener Satz Umgebungsvariablen für Clone VIs - jg - 20.01.2021 14:58

Hallo Martin,

in Ergänzung zu Gerds Antwort, hier gibt es eine ganze Palette, mit der du auf Shared Variablen programmatisch zugreifen kannst:

[attachment=61562]

Das Schöne dabei: Die Shared-Variablen Refnum bei "Open Variable Connection" kann genauso wie bei VISA, DAQmx, u.ä. ein String sein, und den kannst du wunderbar zur Laufzeit erzeugen. Somit skaliert dein Clone-VI ganz beliebig.

Gruß, Jens