record(calcout, "$(PREF)AC:$(RING):intensity:calc") { field(DESC, "AC $(RING) intensity CALC") field(SCAN, "Passive") field(CALC, "A+B") field(INPA, "$(PREF)AC:$(RING):intensity:x CPP") field(INPB, "$(PREF)AC:$(RING):intensity:y CPP") field(OUT, "$(PREF)AC:$(RING):intensity PP") field(OOPT, "Every Time") field(DOPT, "Use CALC") field(OCAL, "1") } record(ai, "$(PREF)AC:$(RING):intensity") { field(DESC, "AC $(RING)-intensity") field(SCAN, "Passive") field(PREC, "3" ) field(EGU , "V") } record(ai, "$(PREF)AC:$(RING):min_current") { field(DESC, "AC $(RING)-min current") field(SCAN, "Passive") field(PREC, "1" ) field(EGU , "nA") field(PINI, "YES") field(VAL , 5 ) field(INP , "$(PREF)AC:min_current CPP" ) } record(ai, "$(PREF)AC:$(RING):min_intensity") { field(DESC, "AC $(RING)-min intensity") field(SCAN, "Passive") field(PREC, "1" ) field(EGU , "nA") field(PINI, "YES") field(VAL , 0.005 ) # field(INP , "$(PREF)AC:min_intensity CPP" ) } # Record to test the validity of the AC position readings # based on the intensity of the beam seen by the AC ring record(calcout, "$(PREF)AC:$(RING):valid_calc") { field(DESC, "AC:$(RING) validity CALC") field(SCAN, "1 second") field(CALC, "A>B?1:0") field(INPA, "$(PREF)AC:$(RING):intensity NPP MS") field(INPB, "$(PREF)AC:$(RING):min_intensity NPP MS") field(OUT , "$(PREF)AC:$(RING):valid PP") field(OOPT, "Every Time") field(DOPT, "Use CALC") field(OCAL, "1") } # Binary record to store the value for AC ring position # measurement and calculation validity record(bo, "$(PREF)AC:$(RING):valid") { field(DESC, "AC:$(RING) Validity") field(SCAN, "Passive") field(ZNAM, "INVALID") field(ONAM, "VALID") } record(bo, "$(PREF)AC:$(RING):matters") { field(DESC, "AC:$(RING) importance") field(SCAN, "Passive") field(ZNAM, "IRRELEVANT") field(ONAM, "IMPORTANT") field(PINI, "YES" ) field(VAL , "0" ) }