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 

Client-Informationen (Zugriffe etc.) bei shared variables auslesen



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!

21.10.2010, 00:48
Beitrag #1

Novgorod Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2008

2016
2006
EN

0
Sonstige
Client-Informationen (Zugriffe etc.) bei shared variables auslesen
Hiho,

ich habe einen Datenlogger-Server auf einem PC laufen, der die Werte der DAQ-Karte per shared variables zur Verfügung stellt (also selbst updatet). Auf diese shared variables können nun beliebige Applikationen zugreifen (lokal und remote), z.B. Monitorprogramme, Messprogramme usw..
Das funktioniert alles soweit schnell und unkompliziert, allerdings kann ich ums verrecken eine ganz bestimmte Funktion nicht finden, nämlich sowas wie "client list" oder "letzter Lesezugriff". Ich willim Server-Programm sehen, ob (und am besten auch welche) Clients gerade verbunden sind und Daten abfragen - z.B. um eine Warnung auszugeben, falls man den Server stoppen will und noch Clients verbunden sind..
Natürlich könnte man eine "bidirektionale" Verbindung machen, also noch eine shared variable, in die die Clients permanent reinschreiben (z.B. ein String-Array mit unique-ID, URL und timestamp pro Client in jeder "Zeile"), aber ich würde die Kommunikation gerne "read-only" haben und auf ein Minimum reduzieren (auch die Anforderungen an die Client-Programme)..

Ich weiß, dass die shared variable engine (SVE) ein eigener Prozess ist und nur eine beschränkte Menge an Daten Labview zur Verfügung stellt. Mit dem DSC-Modul kommt man z.B. an "value-changed"-Events, aber nicht an Lese-Events und schon garnicht an die Client-Connections - oder ich habs einfach nicht gefundenSad
Da die SVE ja die Clients managed, muss sie zumindest auf einer niedrigeren Ebene diese Informationen haben - gibt es irgendeine Möglichkeit, aus Labview heraus da ranzukommen (über irgendeine Schnittstelle, z.B. ActiveX o.ä.?)..
Wenn man sich das ganze selber z.B. mit TCP/IP-queues o.ä. aufbaut, hat man ja schon prinzipiell Zugriff auf die Clients, aber lässt man die SVE ran, kriegt man zwar nen Haufen Daten aber leider nicht die interessantenWink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.10.2010, 09:31
Beitrag #2

nookie Offline
CLA
*


Beiträge: 47
Registriert seit: May 2008

2011
2004
EN

2540
Oesterreich
Client-Informationen (Zugriffe etc.) bei shared variables auslesen
Hallo,

ich weiß nicht, ob es so eine Funktion überhaupt gibt.

Du könntest allerdings als einfache Lösung eine zweite Netzwerkvariable erstellen, z.B. eine Bool, die du auf True setzt, wenn die Daten gültig sind, und auf False, kurz bevor du den Server beendest.
Auf diese Information hin, kannst du bei den Clients eine Meldung ausgeben, die Kommunikation oder gleich das ganze Programm beenden, oder was auch immer du willst!

lG nookie

Intuition ist die Fähigkeit, die Lage in sekundenschnelle falsch einzuschätzen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.10.2010, 11:02
Beitrag #3

BNT Offline
LVF-Freak
****


Beiträge: 744
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
Client-Informationen (Zugriffe etc.) bei shared variables auslesen
Hi
Shared Variablen stellen, wie schon die Protokollabkürzung PSP beschreibt, einen Publisher-Subscriber-Protokoll zur Verfügung.
Bei diesem Entwurfmuster muss es den Publisher nicht interessieren, wer den Service abonniert hat. Wie beim Radio: wenn der Sender aufhört zu senden, hört der Zuhörer halt nichts mehr. D.h. die Clientprogramme müssen sich um die Fehlermeldungen und Timeouts kümmern. Es hat ja auch Vorteile, wenn der Publisher autonom ist und nicht gezwungen ist, sich um die Verwaltung der Abonnenten kümmern muss. Der Publisher kann ja seinen Zustand in einer weitern SV veröffentlichen. Der SV-Prozess kann ja weiterlaufen. Die Verbindungen werden dann auch nicht unterbrochen. Mit Hilfe der Zustands-SV kann der Client entsprechend reagieren.

Gruß Holger

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.10.2010, 20:45
Beitrag #4

Novgorod Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2008

2016
2006
EN

0
Sonstige
Client-Informationen (Zugriffe etc.) bei shared variables auslesen
' schrieb:Bei diesem Entwurfmuster muss es den Publisher nicht interessieren, wer den Service abonniert hat. Wie beim Radio: wenn der Sender aufhört zu senden, hört der Zuhörer halt nichts mehr.

Ja, das ist schon klar, aber auch beim Radio kann man Einschaltquoten "messen";)
Ich weiß, es ist kein gewöhnlicher Wunsch, aber vielleicht gibts ja eine Möglichkeit... Es geht mir nicht um die Client-Seite (wenn der Server aufhört zu senden und z.B. die shared variables löscht oder mit leeren Arrays ersetzt, kriegen die Clients das schon mit), es geht mir in erster Linie darum, ein unbedachtes Abschalten des Servers zu verhindern, solange noch Clients verbunden sind (oder messen/loggen).. Und da dachte ich, es ginge einfach, indem man entsprechende Parameter der SVE abfragt - dann bräuchte man keinen expliziten "Rückkanal", über den sich die Clients beim Server melden...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  OPC UA Labview (client) PLC SPS (Server) Babithan 1 5.399 27.10.2020 16:12
Letzter Beitrag: jg
  Network Shared Variables über DLL oder .NET ansprechen achim @ FZK 1 4.164 18.10.2017 05:48
Letzter Beitrag: Bender AC
  Network Shared Variables - gelöst - NoUse666 0 5.167 11.11.2016 14:29
Letzter Beitrag: NoUse666
  Handysensor mit Shared Variable auslesen yarocy 0 3.804 09.06.2015 21:42
Letzter Beitrag: yarocy
  OPC UA Client Icebaer 6 11.876 17.03.2015 09:01
Letzter Beitrag: Icebaer
  Shared Variable von sbRIO mit exe auslesen Tyler 3 4.208 22.07.2014 13:19
Letzter Beitrag: jg

Gehe zu: