LabVIEWForum.de - Publish-Subscriber

LabVIEWForum.de

Normale Version: Publish-Subscriber
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Kennt jemand diese Programmiermethodik? Hat jemand Design Pattern dazu? Zumindest irgendwelche nutzliche Links oder PDFs.

Danke, Eugen
' schrieb:Kennt jemand diese Programmiermethodik? Hat jemand Design Pattern dazu? Zumindest irgendwelche nutzliche Links oder PDFs.
Schon mal bei WikiPedia gekuckt?
' schrieb:Schon mal bei WikiPedia gekuckt?


Ja, habe ich. Da ist es allgemein erklärt, aber ich wollte den Bezug zu LabVIEW haben. Klar kann ich versuchen es selber zu Programmieren, aber vielleicht hat jemand einen Beispielcode oder Design Pattern dazu, dass ich es leichter nachvollziehen kann.

eg
Hat denn keiner sich damit beschäftigt? Gibt es irgendwelche Links/Tutorials/Literatur dazu?

Danke, eg
' schrieb:Hat denn keiner sich damit beschäftigt? Gibt es irgendwelche Links/Tutorials/Literatur dazu?

Danke, eg

so direkt nicht. wenn ich Geräte verbinden muss, dann mach ich das immer über TCP als Peer to Peer

Die neuen Shared Variables verwenden das Publisher, Subscriber Modell, wenn du also sowas brauchst, dann kannst du auch gleich die nehmen.

Design-Pattern, hmmm. du brauchst einen "Bahnhof", die Publisher senden immer an den "Bahnhof" und der "Bahnhofsvorsteher" kenn alle Subscriber an den die Daten gehen sollen und schickt sie da hin.

Ich würd das entweder mit UDP (Broadcast) oder Queues aufbauen, Queues aber nur, wenn eine die Anzahl der Subscriber nicht zu groß wird ...
' schrieb:so direkt nicht. wenn ich Geräte verbinden muss, dann mach ich das immer über TCP als Peer to Peer

Die neuen Shared Variables verwenden das Publisher, Subscriber Modell, wenn du also sowas brauchst, dann kannst du auch gleich die nehmen.

Design-Pattern, hmmm. du brauchst einen "Bahnhof", die Publisher senden immer an den "Bahnhof" und der "Bahnhofsvorsteher" kenn alle Subscriber an den die Daten gehen sollen und schickt sie da hin.

Ich würd das entweder mit UDP (Broadcast) oder Queues aufbauen, Queues aber nur, wenn eine die Anzahl der Subscriber nicht zu groß wird ...


Was das überhaupt ist, weiss ich auch schon. Und ich will es mit Queues aufbauen. Es bleibt auch bei mehreren Subscriber sehr übersichtlich.

Meine konkrete Fragen wären:
wie setzt man das in LabVIEW praktisch um? Wie soll ich die Themen (Subscriber-Topics) am besten verwalten? Wahrscheinlich in einer Tabelle (also 2D Array). Wie kann ich am besten den Verteiler (Dispatcher) projektunabhängig gestalten? Reicht der Aufbau mit Queues oder muss/kann ich da auch User Events und Notifiers einmischen. Wie soll das allgemeine Interface am besten aussehen?

eg
' schrieb:Was das überhaupt ist, weiss ich auch schon. Und ich will es mit Queues aufbauen. Es bleibt auch bei mehreren Subscriber sehr übersichtlich.

Meine konkrete Fragen wären:
wie setzt man das in LabVIEW praktisch um? Wie soll ich die Themen (Subscriber-Topics) am besten verwalten? Wahrscheinlich in einer Tabelle (also 2D Array). Wie kann ich am besten den Verteiler (Dispatcher) projektunabhängig gestalten? Reicht der Aufbau mit Queues oder muss/kann ich da auch User Events und Notifiers einmischen. Wie soll das allgemeine Interface am besten aussehen?

eg

ich würde mit einem notifyer synchronisieren und dann in die einzelnen queues "weiterschieben" ...
' schrieb:ich würde mit einem notifyer synchronisieren und dann in die einzelnen queues "weiterschieben" ...


Ich verstehe leider gar nicht was du damit meinst.

Aber weitergekommen bin ich. Hier meine Topictabelle (diese wird fast projektunabhängig und programmatisch ausgefüllt, NICHT HÄNDISCH) für den Anfang. Und den Dispatcher habe ich es wie folgt realisiert (ShowStatus erstmal zum Debuggen, später als eigene Task).

Gruß
Habe gerade dieses Buch

http://www.LabVIEWforum.de/index.php?showtopic=6863

in der Hand. Scheint genau das Richtige für mich zu sein.

Gruß, eg
Referenz-URLs