ALBA-Synchrotron / sardana-tango

Repository for Sardana Tango plugins (TangoAttributeCtrls, etc)
GNU General Public License v3.0
0 stars 3 forks source link

TangoAttr0DCtrl not updating when reading from different devices #16

Open CTzschaschel opened 9 months ago

CTzschaschel commented 9 months ago

Hi,

I am fairly new to Tango/Sardana. Maybe the issue had been observed before and is known already.

The Issue We recently observed that the TangoAttr0DCtrl did not seem to update certain values. In the screenshot below, the values for cryo_platform_temp and cryo_sample_temp are not changing for three consecutive calls of ct. Both quantities are elements on a TangoAttrZeroDCtrl and their tangoattributes are 'shg/cryostat/1/ptemp' and 'shg/cryostat/1/stemp', which are themselves updating.

image

The quantities can be forced to update once by calling for example cryo_platform_temp.currentvalue, but following calls of ct would just repeat that value.

image

The Setup cryo_platform_temp and cryo_sample_temp are together with lockin1_x and lockin1_y ZeroDExpChannels on a TangoAttrZeroDCtrl.

image

image

The cryostat and the lockin are physically different devices from different manufacturers that communicate through different interfaces (TCP/IP and GPIB). Interestingly, lockin1_x and lockin1_y were always updating fine.

The Workaround We worked around the issue by creating separate controllers for physically different devices. Both controllers in the screenshot below are TangoAttrZeroDCtrl. All elements are updating when calling ct.

image

The Questions Is this the intended behavior? Do different interfaces and/or devices generally require separate TangoAttribute controllers? If not, do you have any suggestions why we might have observed this behavior?

Best, Christian