AO Block Readback - Any way to tell whether it is reading AVP or is just the OUT?

Trying to figure out a way to modify the faceplate to color express or change visibility based on whether the READBACK parameter is actually coming from an input or just matching the OUT of the AO block.

There doesn't seem to be any way to read the IO_READBACK parameter to determine if it is empty or any kind of internal indicator that tells you where the READBACK is coming from.  Any thoughts on how you can check this via programming?  We could create different faceplates and just have to remember to change them when we pull an AVP in, but would like to eliminate that step if possible.

Just looking at it, I guess it looks like the AO blocks PV always exactly matches READBACK if there is no actual signal coming back.  I suppose you could determine color/visibility based on whether these two values are exactly equal?  It would be unlikely to match to 4 decimal places with true signals.

Looking for a more elegant solution though.

Thanks

3 Replies

  • DST configuration isn't a controller runtime parameter so this is why checking IO_READBACK doesn't work.

    Something you can try in the configuration is to change the units of AO/PV_SCALE to "%" when no readback and something else for readback (avp, fb, etc) and then you can do animations based on this (when AO1/PV_SCALE.A_UNITS <> "%" it is using readback).
  • Don't sit in front of a system yet, but is there a sub-parameter like IO_READBACK.$REF? I have never used that parameter up to now.
    Don't know if DST Attributes are handled in a similar way as standard references.
    With Int- or Ext-References it is possible to read (sure not write) that way the configured link
  • In reply to Michael Krispin:

    Yes in the configuration and it isn't a runtime parameter so it doesn't exist to use any references to it in the controller/workstation. This is why I suggested the above.