change events does not receive data - keeps timing out
|
|
---|---|
I'm running LabView on Windows 10, 64-bit. I followed the instructions to install the binary distribution (both 3.0.0 & 3.1.0), but did not run the SingleDeviceDServer. My Tango device server and database is running on other separate devices. I implemented the attribute events just like the example, but I don't get any attribute change event values. It just keeps timing out. I tried it on LabView 2015 and 2017 without any success. My little test vi (main2015.vi) is attached to see if I missed anything. I would at least expect one value right at the start when registering, but nothing gets sent through. The event data does get through to other clients like tangolisten, implemented in cpp. Please help. |
|
|
---|---|
Hi, The provided Tango events example works for me. Are the events you expect properly configured in the Tango database? n. |
|
|
---|---|
Yes, the attributes are configured in Jive to trigger events on 0.01 absolute value, polling period is set to 1000ms. As mentioned, the events are triggered and the data is regularly sent to other c++ clients, but not to my LabView client. Could it be that it only works for LabView 2014, and not for my 2015 or 2017 versions? |
|
|
---|---|
I can't say cause I've none of these LabView versions. Done my test under Linux. Let me try on Windows7/LabView 2014… Edit: both change and periodic events work under Win7/Lv2014. Is your c++ client (receiving the expected events) running on the same host as your lv application? Can you successfully run any other binding examples? A simple read attribute for instance. |
|
|
---|---|
The c++ client receives the events on a virtual machine running Ubuntu 16.04. The VM runs on my Windows 10 machine alongside LabView 2015.nleclercqYes, I can successfully poll attributes from LV2015 using _TangoGroupReadAttributes.vi |
|
|
---|---|
I noticed that when the Tango Device Server starts up it gives the following info: Can't create notifd event supplier. Notifd event not available Could this be related? |
|
|
---|---|
Notifd is part of the old (i.e. obsolete) events implementation. It was a CORBA deamon supposed to run on each host from which Tango events are fired. It's still supported but will be deprecated in a near future. Events are now based on zmq and don't require any deamon to run. BTW, where are the events coming from in your use case? I mean, where are they fired from? From a device server running on your VM? From a device running under Windows 10 (i.e. the host on which your VM is running)? From another host? |
|
|
---|---|
Hi Nicolas, I'm still having the exact same issue as stated above, where I do not receive any change_event values in my LabView GUI (as used in the example above) Up till now I've successfully polled attributes from my LabView GUI using _TangoGroupReadAttributes.vi, but I'd much rather use the event base system. I'm using the latest tango-binding-3.2.0-for-labview-2014-windows-x64.zip And I'm using LabView 2017 64-bit edition at the moment. The device server (where the events are coming from) runs on a Linux Ubuntu 16.04 VM. I'm using Tango version 9.3.3 for my device server. Interestingly, I do receive the TangoTest device server sys/tg_test/1 events from the double_scalar attribute in LabView. The TangoTest is also running on the same VM. I've implemented set_change_event(dev_attr->get_attr_by_ind(i).get_name(), true, true); for every attribute within the DeviceImpl::init_device(). And my code push the new values with every read_attr_hardware() call: push_change_event("attrName", attr_attrName_read); While using a tango_listen C++ implementation I do receive all the change events as expected from both my device server as well as the TangoTest implementation. But I just don't receive the events in my LabView GUI from my device server, even though I do receive the events (in LabView) from the TangoTest device server. What am I missing? |
|
|
---|---|
Ok. That's weird. Where is your "tango_listen C++ implementation" running? On windows or your linux VM? Are you sure, you're event subscription is successful (i.e. no error)? Where is your Tango database running? Are both your device and the tangotest one registered on the same database? |
|
|
---|---|
nleclercqIn my Linux VM nleclercqYes, there are no errors when subscribing with _TangoSubscribeAttributeEvent.vi (Change Event setting) I only get a timeout on _TangoAttributeEventHandler.vi, even if I set it to 3000 ms or more nleclercqOn a separate machine running Windows Server 2012 R2 nleclercqYes |