Reports until 16:52, Tuesday 19 March 2013
H1 CDS
keita.kawabe@LIGO.ORG - posted 16:52, Tuesday 19 March 2013 - last comment - 03:42, Wednesday 20 March 2013(5843)
Physical DAC card number VS logical card number in the user model DAC output channel name and the MEDM macro

I, Arnaud and Dave came across a problem which was somewhat confusing at first.

The problem I encountered was that the EPICS channel names for user model DAC output of TMSY, e.g. H1:FEC-99_DAC_OUTPUT_2_4 and such, were not working (in this channel name, 99 is the front end code number which you can find in the model, 2 is meant to show the DAC number and 4 shows the channel number) which made watchdog-related part of some medm screens white.

In this specific case TMSY uses two DAC cards, DAC2 and DAC3.

Dave pointed out that in the user model the DAC cards are logically addressed starting from 0 no matter what, so in our case H1:FEC-99_DAC_OUTPUT_2_4 and such should be addressed as H1:FEC-99_DAC_OUTPUT_0_4 and such. Simple once Dave explained this to me.

In IO model (which has all physical DAC) the corresponding channel is addressed as  H1:FEC-97_DAC_OUTPUT_2_4, here the logical and physical card number are the same. Simple again.

Complication was that the TMSY medm screen used to only accept one addressing that is used common for both the user model and the IO model channel names for the macro substitution, i.e.

chan="$(IFO):FEC-$(FEC)_DAC_OUTPUT_$(TF1)"

chan="$(IFO):FEC-$(IOPFEC)_DAC_OUTPUT_$(TF1)"

were used for the user model and io model channel names, and $(TF1) carries something like "2_4", so either the io model channel name was correct but the user model was not, or vice versa. And there were also $(TF2), $(TF3), $(LF), $(RT), $(SD) or something like that.

AS a dirty solution, I made another set of DAC card_channel macro for user model, i.e. $(UTF1), $(UTF2) etc. such that

chan="$(IFO):FEC-$(FEC)_DAC_OUTPUT_$(UTF1)"

etc. are used for user model outputs and

chan="$(IFO):FEC-$(IOPFEC)_DAC_OUTPUT_$(TF1)"

etc. are used for the io model outputs. This is ugly, maybe it makes more sense to use $(TF1) and such for the channel number, $(UDAC0) etc. for the DAC card number in the user model, and $(IDAC0) etc. for the DAC card number in the io model, such that you use

chan="$(IFO):FEC-$(FEC)_DAC_OUTPUT_$(UDAC0)_$(TF1)"

chan="$(IFO):FEC-$(IOPFEC)_DAC_OUTPUT_$(IDAC0)_$(TF1)".

Anyway, I did the ugly and quick change, made the necessary change to the site map and the OAT medm screen and committed them to the svn.

Thing is, there are other instances where the first DAC in the user model is not the first physical DAC card (e.g. BS), and I didn't do anything, I expect that SUS people will decide what is the better way of doing things, modify the MEDM for everything (including TMSY if necessary), and propagate it back to LLO.

Comments related to this report
jeffrey.kissel@LIGO.ORG - 03:42, Wednesday 20 March 2013 (5848)
This bug was reported to CDS back in October when I'd first included the FEC channels on the overview screen here:
CDS Bugzilla 427
I've seen nor heard of no action since...