INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Umbegungsvariablen mit cFP sinnvoll nutzen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

29.07.2010, 10:19
Beitrag #1

achim @ FZK Offline
CLD
**


Beiträge: 117
Registriert seit: Nov 2008

201x
2005
DE_EN

76861
Deutschland
Umbegungsvariablen mit cFP sinnvoll nutzen
Hallo,

ich hab zwar inzwischen schon ein paar Jahre Erfahrung mit LabVIEW aber ich kämpfe gerade mit meinem 1. Projekt in dem eine cFP zum Einsatz kommt.

Ich habe die Targetanwendung soweit fertig und kämpfe nun mit der sinnvollen Anwendung an einen Host. Hierzu nutze ich die Umgebungsvariablen.
Für 90% meines Bedarfs ist das auch kein Problem (ein paar Cluster von Target nach Host oder umgekehrt) aber die letzten 10% machen mit echte Kopfschmerzen.
Ich schiebe das Projektchen schon ein wenig vor mich hin, fange dann wieder an komme nicht weiter und machen wieder was anderes Rolleyes

Ich habe auf dem Target mir eine Queue erstellt, welche mir Statusmeldungen (reine Strings) innerhalb des Programms sammelt und versuche diese Strings irgendwie Sinnvoll auf den Host zu bekommen ohne dabei Meldungen zu verlieren.

Mein erster Gedanke war ein einfaches StringArray in das das TargetVI neue Meldung einfügt (anhängt).
Liest der Host die Meldungen aus, dann 'löscht' dieser den Inhalt des StringArrays... Aber was wenn des TargetVI in der Zeit schon wieder was in das Array schreibt....
Normalerweise schreit die Anwendung nach einer Queue oder einem Semaphor aber das bekomme ich mit den Umgebungsvariablen nicht hin. (vielleicht bin ich auch nur zu blöd oder denke zu kompliziert)

Dann hab ich gesehen, dass man bei der Erstellung der Umgebungsvariablen einen RT FIFO-Modus anklicken kann welcher sich dann noch mal in drei Arten unterteilen Einzelnes Element, Multielement und Netzwerkpufferkonfiguration verwenden. Wo da nun genau der Unterschied drin besteht und ob mir das überhaupt bei meinem Problem hilft, da bin ich mir nicht sicher...
Diese RT FIFOs scheinen aber nicht mit Strings zu funktionieren... Versuchsweise hab ich eine FIFO mit einem uInt8Array erstellt und den String davor und dahinter gewandelt...
Aber das lässt mich erst recht an meinem Weg Zweifeln... Zumal das mein 2. Problem nicht löst: Wie bekomme ich Fehlercluster auf ähnlichem Wege in den HOST? (mit Clustern geht das ebenfalls nicht)


Kann mir mal jemand einen Denkanstoß geben wie man Mein Problem sinnvoll löst?

Viele Grüße
Achim
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
29.07.2010, 13:55
Beitrag #2

dlambert Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 89
Registriert seit: May 2009

2010
2007
en

12359
Deutschland
Umbegungsvariablen mit cFP sinnvoll nutzen
Zitat:..Statusmeldungen (reine Strings) innerhalb des Programms sammelt und versuche diese Strings irgendwie Sinnvoll auf den Host zu bekommen ohne dabei Meldungen zu verlieren.

Das sollte mit Network Published Shared Variables gehen. Dazu musst Du die Option UseBuffering unter dem Punkt Network bei der Erstellung der Variable aktivieren. Ist Dein Datentyp ein Array so findet sich im Buffer ein Array of Arrays.
Beim Lesen der Daten (hostseitig) wird jedoch wenn der Buffer leer ist immer das letzte Element erneut gelesen, so dass es sinnvoll sein kann den Timestamp zu enablen und zu vergleichen. ( Den RT FIFO würde ich weglassen )

Ich bevorzuge die SVE auf einem performanten Host im Netzwerk zu plazieren. Leider kenne ich cFP nicht aber ich denke auch hier wird ein ALIASES file genutzt um den Ort der SVE zu hinterlegen.

Hope it helps
Christian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: