ctrl variables incorrectly reporting
Bug #1510955 reported by
Daron Chabot
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
EPICS Base |
Invalid
|
Medium
|
Ralph Lange |
Bug Description
This problem was originally reported here - https:/
There are some test results at the above link as well.
DBR_CTRL variables (units, etc) are reported correctly only on the initial connection for a channel subscription when the channel is hosted by either a Gateway or via pcaspy. This hints at a problem in libcas or libgdd.
Test code may be found here - https:/
This is simply a version of the caClient example code genereated via makeBaseApp, and modified to print the units of a channel.
To test, point the caMonitor executable at channel hosted by a Gateway or hosted by pcaspy.
Changed in epics-base: | |
status: | Confirmed → Invalid |
To post a comment you must log in.
What you describe is a long standing deficiency in CA. In an attempt to address this the DBE_PROPERTY flag was introduced for use when creating monitor subscriptions. This was introduced in Base 3.14.11, it's likely you IOCs support it. Support in cagateway is a different story. I think this is in progress, but not yet released.
To make use of this you'll want to create two subscriptions. One for DBR_TIME_* with DBE_VALUE| DBE_ALARM, and a second for DBR_CTRL_* with only DBE_PROPERTY. Be prepared that the second subscription request can fail if the IOC (or gateway) doesn't recognise DBE_PROPERTY. If this happens the best you can do is fall back to polling on some long interval.