LabVIEWForum.de - Problem mit Umgebungsvariablen

LabVIEWForum.de

Normale Version: Problem mit Umgebungsvariablen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo ich bin grade im Praktikum und muss hier mit LabVIEW arbeiten, habe erst gestern mit Umgebungsvariablen zu tun bekommen also bin ich da noch nicht so der proWink

Nun ereignet sich folgendes Problem:
Wir haben LabVIEW auf 4 rechnern laufen die alle miteinander kooperieren "sollen" dies tun sie zZ über UDP weil die dann nicht mekern wenn einer der PCs aus ist.
Nun müssen wir aber alles auf Umgebungsvarablen umstellen, sollte ja eig kein Problem sein. Es werden ja auch meine 3 Testvariablen von PC1 zu PC2 übertragen (sag ich dem Chef doch gleich dass das keine robleme geben wird Dry).

Jetzt komme ich zum eigendlichen Problem:

Nachdem die 3 testvarivablen prima übertragen wurden haben ich nach dem gleichen Prinzip ca 25 weitere Variablen eingefügt, nun gehts aber nicht mehr!!!
PC1 soll die Variablen schreiben und tut dies auch (Zeitstempel local). PC1 ist auch, derjenige PC, der mit den Variablen des anderen PC's verbunden ist (PC2). PC2 soll ja nur lesen und ließt somit nur seine localen Umgebungsvariablen aus, aber bei denen kommt nie was an (Zeitstempel).

Und bitte lasst solche Kommentare wie...hasst du ne Firewall an usw. denn es funktioniert ja...mit den 3 variablen aber nicht mit allen...das isdt echt zum verrückt werden...
Pccrash

Ich würds super finden wenn mir jemand helfen will da icvh schon am verzweifeln bin und mein Chef bei dem Problem auch nicht weiter weissss!?!
Und Freitag soll zumidnest das Problem gelöst sein.

MFG
Hallo,

prüf' mal folgendes:

1. Hast Du Dich in den Variableneigenschaften (Properties) bei "Bind to source" zum Rechner durchgeklickt (Browse->Network Items) und da Deine Variable ausgesucht? Wenn nicht, dann solltest Du das so machen. Wenn Du nur die Adresse eingibst, dann kann es sein, dass es nicht klappt.

2. Hast Du die Variablen "deployed"?

3. Hast Du nach dem "Deployen" abgespeichert?

4. Ist es gewährleistet, dass Deine Variablen, die Du füllst auf der Gegenseite auch wieder geleert werden?

5. Hast Du Deine SVs beim Start des VIs initialisiert? Das solltest Du tun.

6. Sind "Race Conditions" ausgeschlossen, d.h. wird z.B. eine Variable schon wieder geleert, bevor sie geschrieben wird? Das wäre auch ein Problem. Dann müsstest Du mit Synchronisationsvariablen (boolsche SV's) arbeiten.

Gruß Markus
' schrieb:Hallo,

prüf' mal folgendes:

1. Hast Du Dich in den Variableneigenschaften (Properties) bei "Bind to source" zum Rechner durchgeklickt (Browse->Network Items) und da Deine Variable ausgesucht? Wenn nicht, dann solltest Du das so machen. Wenn Du nur die Adresse eingibst, dann kann es sein, dass es nicht klappt.

2. Hast Du die Variablen "deployed"?

3. Hast Du nach dem "Deployen" abgespeichert?

4. Ist es gewährleistet, dass Deine Variablen, die Du füllst auf der Gegenseite auch wieder geleert werden?

5. Hast Du Deine SVs beim Start des VIs initialisiert? Das solltest Du tun.

6. Sind "Race Conditions" ausgeschlossen, d.h. wird z.B. eine Variable schon wieder geleert, bevor sie geschrieben wird? Das wäre auch ein Problem. Dann müsstest Du mit Synchronisationsvariablen (boolsche SV's) arbeiten.

Gruß Markus

1.-3. Ja definitiv
4. Ja wenn sie dafür nur gelesen werden müssen
5. Ja, wobei der Programmteil ohne SVs auskommt

6. Das würde logisch für mein Problem sein, da immer nur leere Werte ankommen also 0.
wobei ich mich frage warum dann nicht im Zeitstempel sthet das jemans ein Wert eingeschreieben wurde.
Also meine Frage dazu was sind "Race Conditions"?

EDIT:
Also was Race conditions sind weiss ich jetzt schonmal aber eigendlich sollte so ein Problem nicht vorliegen da von einem anzeigeelement jeweils eine direkte Verbindung zur Umgebungsvariable herrscht, also ohne das 2 Prozesse darauf zugreifen. Oder handelt es sich bei Umgebungsvariablen da um etwas anderes aus auf dem folgenden link beschrieben?:
http://wiki.lavag.org/Race_Condition

MFG
Liest das eine VI evtl. schon, bevor das andere geschrieben hat?
Wie gesagt, probier' doch mal mit boolschen SVs das ganze zu synchronisieren.
Also: In einem VI Synchro-SV auf "True" setzen und erst dann im anderen VI mit diesem "True" in einen Case "True" gehen, wo die Synchro-SV zurückgesetzt wird,.....
Noch was...... Probier' doch mal eine kleine Wartezeit (nach dem Schreiben in die SV) einzufügen (z.B. in einer Sequenz) und lies erst dann, bzw. setze die Synchro-SV auf "True".

Gruß Markus
' schrieb:Liest das eine VI evtl. schon, bevor das andere geschrieben hat?
Wie gesagt, probier' doch mal mit boolschen SVs das ganze zu synchronisieren.
Also: In einem VI Synchro-SV auf "True" setzen und erst dann im anderen VI mit diesem "True" in einen Case "True" gehen, wo die Synchro-SV zurückgesetzt wird,.....
Noch was...... Probier' doch mal eine kleine Wartezeit (nach dem Schreiben in die SV) einzufügen (z.B. in einer Sequenz) und lies erst dann, bzw. setze die Synchro-SV auf "True".

Gruß Markus

wenn du mir jetzt noch netterweise erklären würdest wo ich das finde bin ich sofort bei der Sache xD

erstmal danke für die hilfe
' schrieb:wenn du mir jetzt noch netterweise erklären würdest wo ich das finde bin ich sofort bei der Sache xD

erstmal danke für die hilfe
Ich vermute, dass musst du dir selber programmieren...mit zusätzlichen Variablen!
' schrieb:Ich vermute, dass musst du dir selber programmieren...mit zusätzlichen Variablen!

hmm hab keine ahnung wie ich sowas mache....arbeite halt noch nicht so lange mit LabVIEW

MFG
Wie Du was machst??

Gruß Markus

' schrieb:hmm hab keine ahnung wie ich sowas mache....arbeite halt noch nicht so lange mit LabVIEW

MFG
' schrieb:Wie Du was machst??

Gruß Markus

Ich weiss nicht was ein Synchro-SV sein sollBig Grin

MFG
' schrieb:Ich weiss nicht was ein Synchro-SV sein sollBig Grin

MFG

Synchro-SV = "Synchronisierungs-Shared-Variable" = Synchronisierungs-Umgebungsvariable...

D.h. du erzeugst weitere Variablen, die du als Handshake hier True und dort False setzt...ich glaube, so hat es Markus gemeint!
Seiten: 1 2
Referenz-URLs