Looking for an example for Tango publisher-subscriber pattern in LabVIEW

Dear Community,

I continue to work to make my Vision Framework Tango capable. I am now facing the following problem:

I want to receive the data from the camera device server event based in a client application.

So I need to implement a Publisher-Subscriber pattern in LabVIEW.
Could someone provide me with an example project or give me a hint where to find one?
Edited 2 years ago
The Tango binding for LabVIEW comes with a couple of events-based examples.
https://gitlab.com/tango-controls/labview-binding/-/tree/master/examples/examples.src/Client/Events
I have seen the examples from the client side, thank you. I'm missing the link, how the server sends a data change (ready) event? Does the Tango backend do it automatically? At least it doesn't work for me when I try to subsribe something from SingleDeviceDServer.

I see that in POGO I have the possibility to generate a Data Ready event for C++, see e.g. TangoVimba class. What must I do in LV on the server side i.o. to generate a Data Ready Event?
Edited 2 years ago
In server mode, the PERIODIC and CHANGE events must be configured by hand in the Tango database (using Jive). You need to configure the so-called "polling" mechanism and set the parameters related to the event(s) you want to receive - i.e. the period in ms for periodic events and the relative (or absolute) change value for change events. Please have a look to the doc for that.

Regarding the DATA-READY event, I'm afraid it's (so far) only supported in client mode - i.e., you can receive DATA-READY events from a C++/Python/Java Tango Server but not from a LabVIEW one. However, it should be quite straightforward to add support for DATA-READY events to LabVIEW servers. You will simply get a new VI allowing to fire a data ready event (with the associated "counter" value) from your server.

I will check that later today.
Edited 2 years ago
Well, the support for DATA-READY events is, in fact, already there but there's no provided example. I'm going to modify one of the servers in order to have a working example.
Alexk, could you please give the lastest version a try please? It notably provides support for the Data-Ready events - see the example for details. Thanks.
Thank You, Nicolas. If you could save this for LV2020 version, I can do that tomorrow. Otherwise on Thursday, then I have access to my VM with LV2021 again. (Power cut in the lab…)
Here's a downgrade attempt for LV2020. All the VIs are converted. The examples project file is however not converted. Hope you can open it. In case you can't, you should be able to directly access a given example in the examples.src folder.
Edited 2 years ago
Alex, I just updated the link to the LV2020 distro. The binding wasn't linked against lv-2020. Please try to generate a binary and let me know how it behaves.
nleclercq
link to the LV2020 distro.
Unfortunately, LV2020 claims that the files were created with a newer version… I have opened the project in VM and saved it for LV2020. Now it can be opened with LV2020. Unfortunately Jive (v6.9) regularly freezes for minutes this it quite exhausting.. I did not manage to download the new version of Jive, see https://gitlab.com/tango-controls/jive/-/issues/65
 
Register or login to create to post a reply.