grecord( ai, "$(PREF)$(HOST):meanped" ) { field( SCAN, "Passive") field( DESC, "Mead pedestal for $(HOST)" ) field( PREC, "1") } grecord( ai, "$(PREF)$(HOST):t_avg" ) { field(DESC, "Average temp. for $(HOST)") field(SCAN, "Passive") field(EGU , "degC") field(PREC, "1" ) } grecord( calcout, "$(PREF)$(HOST):t_avg_calc" ) { field(DESC, "Average temp. calc for $(HOST)") field(SCAN, "Passive") field(CALC, "ABS(I)>0.1?((A+B+C+D+E+F+G+H)/I):128") field(INPA, "$(PREF)$(HOST):t1clean CPP") field(INPB, "$(PREF)$(HOST):t2clean CPP") field(INPC, "$(PREF)$(HOST):t3clean CPP") field(INPD, "$(PREF)$(HOST):t4clean CPP") field(INPE, "$(PREF)$(HOST):t5clean CPP") field(INPF, "$(PREF)$(HOST):t6clean CPP") field(INPG, "$(PREF)$(HOST):t7clean CPP") field(INPH, "$(PREF)$(HOST):t8clean CPP") field(INPI, "$(PREF)$(HOST):n4avg CPP") field(OUT, "$(PREF)$(HOST):t_avg PP") field(OOPT, "Every Time") field(DOPT, "Use CALC") } grecord( calc, "$(PREF)$(HOST):n4avg" ) { field(DESC, "N for averaging for $(HOST)") field(SCAN, "Passive") field(CALC, "A+B+C+D+E+F+G+H") field(INPA, "$(PREF)$(HOST):t1weight CPP") field(INPB, "$(PREF)$(HOST):t2weight CPP") field(INPC, "$(PREF)$(HOST):t3weight CPP") field(INPD, "$(PREF)$(HOST):t4weight CPP") field(INPE, "$(PREF)$(HOST):t5weight CPP") field(INPF, "$(PREF)$(HOST):t6weight CPP") field(INPG, "$(PREF)$(HOST):t7weight CPP") field(INPH, "$(PREF)$(HOST):t8weight CPP") } grecord( calc, "$(PREF)$(HOST):t1clean" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens1Temp CPP" ) field( CALC, "A>15?A:0" ) } grecord( calc, "$(PREF)$(HOST):t2clean" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens2Temp CPP" ) field( CALC, "A>15?A:0" ) } grecord( calc, "$(PREF)$(HOST):t3clean" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens3Temp CPP" ) field( CALC, "A>15?A:0" ) } grecord( calc, "$(PREF)$(HOST):t4clean" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens4Temp CPP" ) field( CALC, "A>15?A:0" ) } grecord( calc, "$(PREF)$(HOST):t5clean" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens5Temp CPP" ) field( CALC, "A>15?A:0" ) } grecord( calc, "$(PREF)$(HOST):t6clean" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens6Temp CPP" ) field( CALC, "A>15?A:0" ) } grecord( calc, "$(PREF)$(HOST):t7clean" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens7Temp CPP" ) field( CALC, "A>15?A:0" ) } grecord( calc, "$(PREF)$(HOST):t8clean" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens8Temp CPP" ) field( CALC, "A>15?A:0" ) } grecord( calc, "$(PREF)$(HOST):t1weight" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens1Temp CPP" ) field( CALC, "A>15?1:0" ) } grecord( calc, "$(PREF)$(HOST):t2weight" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens2Temp CPP" ) field( CALC, "A>15?1:0" ) } grecord( calc, "$(PREF)$(HOST):t3weight" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens3Temp CPP" ) field( CALC, "A>15?1:0" ) } grecord( calc, "$(PREF)$(HOST):t4weight" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens4Temp CPP" ) field( CALC, "A>15?1:0" ) } grecord( calc, "$(PREF)$(HOST):t5weight" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens5Temp CPP" ) field( CALC, "A>15?1:0" ) } grecord( calc, "$(PREF)$(HOST):t6weight" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens6Temp CPP" ) field( CALC, "A>15?1:0" ) } grecord( calc, "$(PREF)$(HOST):t7weight" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens7Temp CPP" ) field( CALC, "A>15?1:0" ) } grecord( calc, "$(PREF)$(HOST):t8weight" ){ field( SCAN, "Passive" ) field( INPA, "$(PREF)$(HOST):sens8Temp CPP" ) field( CALC, "A>15?1:0" ) } grecord( cpid, "$(PREF)$(HOST):cpid" ) { field( DESC, "CPID loop for $(HOST)" ) field( SCAN, "10 second" ) field( DISV, "1" ) field( SDIS, "$(PREF)$(HOST):cpid_dsbl_sel" ) field( VAL , "25.0" ) field( CVL , "$(PREF)$(HOST):t_avg" ) # field( MDT , "1.0" ) field( OUT , "$(PREF)$(HOST):fanNominalSpeed PP" ) field( ORBL, "$(PREF)$(HOST):fanNominalSpeedR" ) field( OMOD, "1" ) field( DMIN , "-500" ) field( DMAX , "500" ) field( EGU , "degC" ) field( PREC, "3" ) field( KP , "-150" ) # field( KI , "-2" ) field( KI , "0" ) field( KD , "0" ) field( LOC , "$(PREF)$(HOST):cpid_loc_sel") field( MMOD, "0" ) field( SMOD, "0" ) field( MVAL, "3000") field( SVAL, "3000") } grecord( ai, "$(PREF)$(HOST):t_set" ) { field( DESC, "T-Setpoint for $(HOST)" ) field( SCAN, "Passive" ) field( EGU , "degC" ) field( PREC, "3" ) field( VAL , "33" ) field( PINI, "YES" ) } grecord( mbbi, "$(PREF)$(HOST):t_set_mbbi" ) { field( DESC, "Setpoint for CPID for $(HOST)" ) field( SCAN, "Passive" ) field( NOBT, "12" ) field( ZRST, "CRATE SPECIFIC" ) field( ONST, "GLOBAL" ) field( TWST, "BCAL" ) field( THST, "ECAL" ) field( FRST, "CONTROLS" ) field( FVST, "DISCRIMINATORS" ) field( SXST, "FCAL" ) field( SVST, "FDC/CDC" ) field( EIST, "PS/PSC/ST/DIRC" ) field( NIST, "TAGM/TAGH" ) field( TEST, "TOF" ) field( ELST, "TRIGGER" ) field( VAL , "1" ) field( PINI, "YES" ) field( FLNK, "$(PREF)$(HOST):t_set_sel PP" ) } grecord( sel, "$(PREF)$(HOST):t_set_sel" ) { field(DESC, "Setpoint select for CPID for $(HOST)") field(SCAN, "Passive") field(SELM, "Specified") field(NVL , "$(PREF)$(HOST):t_set_mbbi" ) field(INPA, "$(PREF)$(HOST):t_set CPP" ) field(INPB, "$(PREF)vme:glob:t_set CPP" ) field(INPC, "$(PREF)vme:bcal:t_set CPP" ) field(INPD, "$(PREF)vme:ecal:t_set CPP" ) field(INPE, "$(PREF)vme:ctrls:t_set CPP" ) field(INPF, "$(PREF)vme:discr:t_set CPP" ) field(INPG, "$(PREF)vme:fcal:t_set CPP" ) field(INPH, "$(PREF)vme:fdc:t_set CPP" ) field(INPI, "$(PREF)vme:psst:t_set CPP" ) field(INPJ, "$(PREF)vme:tagger:t_set CPP" ) field(INPK, "$(PREF)vme:tof:t_set CPP" ) field(INPL, "$(PREF)vme:trig:t_set CPP" ) field(EGU , "degC" ) } grecord( ao, "$(PREF)$(HOST):t_set_loop" ) { field( DESC, "Setpoint for CPID loop for $(HOST)" ) field( SCAN, "1 second" ) field( EGU , "degC" ) field( PREC, "3" ) field( DOL , "$(PREF)$(HOST):t_set_sel" ) field( OUT , "$(PREF)$(HOST):cpid.VAL" ) field( OMSL, "closed_loop" ) } grecord( mbbi, "$(PREF)$(HOST):man_set_mbbi" ) { field( DESC, "Manual setpoint selection for $(HOST)" ) field( SCAN, "Passive" ) field( NOBT, "12" ) field( ZRST, "CRATE SPECIFIC" ) field( ONST, "GLOBAL" ) field( TWST, "BCAL" ) field( THST, "ECAL" ) field( FRST, "CONTROLS" ) field( FVST, "DISCRIMINATORS" ) field( SXST, "FCAL" ) field( SVST, "FDC/CDC" ) field( EIST, "PS/PSC/ST/DIRC" ) field( NIST, "TAGM/TAGH" ) field( TEST, "TOF" ) field( ELST, "TRIGGER" ) field( VAL , "1" ) field( PINI, "YES" ) field( FLNK, "$(PREF)$(HOST):man_set_sel PP" ) } grecord( sel, "$(PREF)$(HOST):man_set_sel" ) { field(DESC, "Manual setpoint select for $(HOST)") field(SCAN, "Passive") field(SELM, "Specified") field(NVL , "$(PREF)$(HOST):man_set_mbbi" ) field(INPA, "$(PREF)$(HOST):cpid.MVAL CPP" ) field(INPB, "$(PREF)vme:glob:man_set CPP" ) field(INPC, "$(PREF)vme:bcal:man_set CPP" ) field(INPD, "$(PREF)vme:ecal:man_set CPP" ) field(INPE, "$(PREF)vme:ctrls:man_set CPP" ) field(INPF, "$(PREF)vme:discr:man_set CPP" ) field(INPG, "$(PREF)vme:fcal:man_set CPP" ) field(INPH, "$(PREF)vme:fdc:man_set CPP" ) field(INPI, "$(PREF)vme:psst:man_set CPP" ) field(INPJ, "$(PREF)vme:tagger:man_set CPP" ) field(INPK, "$(PREF)vme:tof:man_set CPP" ) field(INPL, "$(PREF)vme:trig:man_set CPP" ) field(EGU , "degC" ) } grecord( calcout, "$(PREF)$(HOST):man_set_loop" ) { field( DESC, "Force manual setpoint 4 $(HOST)" ) field( SCAN, "1 second" ) field( OUT , "$(PREF)$(HOST):cpid.MVAL" ) field( CALC, "B#0?1:0") field( INPA, "$(PREF)$(HOST):man_set_sel") field( INPB, "$(PREF)$(HOST):man_set_mbbi") field( OOPT, "When Non-zero") field( DOPT, "Use OCAL") field( OCAL, "A" ) field( PINI, "YES" ) } grecord( bi, "$(PREF)$(HOST):cpid_dsbl" ) { field( DESC, "DISABLE for $(HOST) PID" ) field( SCAN, "Passive" ) field( ONAM, "DISABLE" ) field( ZNAM, "ENABLE") field( PINI, "YES") field( VAL , "0" ) } grecord( mbbi, "$(PREF)$(HOST):cpid_dsbl_mbbi" ) { field( DESC, "DISABLE select for CPID for $(HOST)" ) field( SCAN, "Passive" ) field( NOBT, "12" ) field( ZRST, "CRATE SPECIFIC" ) field( ONST, "GLOBAL" ) field( TWST, "BCAL" ) field( THST, "ECAL" ) field( FRST, "CONTROLS" ) field( FVST, "DISCRIMINATORS" ) field( SXST, "FCAL" ) field( SVST, "FDC/CDC" ) field( EIST, "PS/PSC/ST/DIRC" ) field( NIST, "TAGM/TAGH" ) field( TEST, "TOF" ) field( ELST, "TRIGGER" ) field( VAL , "1" ) field( PINI, "YES" ) field( FLNK, "$(PREF)$(HOST):cpid_dsbl_sel PP" ) } grecord( sel, "$(PREF)$(HOST):cpid_dsbl_sel" ) { field(DESC, "DISABLE select for $(HOST)") field(SCAN, "Passive") field(SELM, "Specified") field(NVL , "$(PREF)$(HOST):cpid_dsbl_mbbi" ) field(INPA, "$(PREF)$(HOST):cpid_dsbl CPP" ) field(INPB, "$(PREF)vme:glob:cpid_dsbl CPP" ) field(INPC, "$(PREF)vme:bcal:cpid_dsbl CPP" ) field(INPD, "$(PREF)vme:ecal:cpid_dsbl CPP" ) field(INPE, "$(PREF)vme:ctrls:cpid_dsbl CPP" ) field(INPF, "$(PREF)vme:discr:cpid_dsbl CPP" ) field(INPG, "$(PREF)vme:fcal:cpid_dsbl CPP" ) field(INPH, "$(PREF)vme:fdc:cpid_dsbl CPP" ) field(INPI, "$(PREF)vme:psst:cpid_dsbl CPP" ) field(INPJ, "$(PREF)vme:tagger:cpid_dsbl CPP" ) field(INPK, "$(PREF)vme:tof:cpid_dsbl CPP" ) field(INPL, "$(PREF)vme:trig:cpid_dsbl CPP" ) } grecord( bi, "$(PREF)$(HOST):cpid_loc_mod" ) { field( DESC, "LOCAL mode for $(HOST) PID" ) field( SCAN, "Passive" ) field( ONAM, "EPICS PID CONTROL" ) field( ZNAM, "LOCAL CONTROL") field( PINI, "YES") field( VAL , "0" ) } grecord( mbbi, "$(PREF)$(HOST):cpid_loc_mbbi" ) { field( DESC, "LOCAL select for CPID for $(HOST)" ) field( SCAN, "Passive" ) field( NOBT, "12" ) field( ZRST, "CRATE SPECIFIC" ) field( ONST, "GLOBAL" ) field( TWST, "BCAL" ) field( THST, "ECAL" ) field( FRST, "CONTROLS" ) field( FVST, "DISCRIMINATORS" ) field( SXST, "FCAL" ) field( SVST, "FDC/CDC" ) field( EIST, "PS/PSC/ST/DIRC" ) field( NIST, "TAGM/TAGH" ) field( TEST, "TOF" ) field( ELST, "TRIGGER" ) field( VAL , "1" ) field( PINI, "YES" ) field( FLNK, "$(PREF)$(HOST):cpid_loc_sel PP" ) } grecord( sel, "$(PREF)$(HOST):cpid_loc_sel" ) { field(DESC, "LOC select for CPID loop for $(HOST)") field(SCAN, "Passive") field(SELM, "Specified") field(NVL , "$(PREF)$(HOST):cpid_loc_mbbi" ) field(INPA, "$(PREF)$(HOST):cpid_loc_mod CPP" ) field(INPB, "$(PREF)vme:glob:cpid_loc_mod CPP" ) field(INPC, "$(PREF)vme:bcal:cpid_loc_mod CPP" ) field(INPD, "$(PREF)vme:ecal:cpid_loc_mod CPP" ) field(INPE, "$(PREF)vme:ctrls:cpid_loc_mod CPP" ) field(INPF, "$(PREF)vme:discr:cpid_loc_mod CPP" ) field(INPG, "$(PREF)vme:fcal:cpid_loc_mod CPP" ) field(INPH, "$(PREF)vme:fdc:cpid_loc_mod CPP" ) field(INPI, "$(PREF)vme:psst:cpid_loc_mod CPP" ) field(INPJ, "$(PREF)vme:tagger:cpid_loc_mod CPP" ) field(INPK, "$(PREF)vme:tof:cpid_loc_mod CPP" ) field(INPL, "$(PREF)vme:trig:cpid_loc_mod CPP" ) } grecord( bi, "$(PREF)$(HOST):cpid_man_mod" ) { field( DESC, "MANUAL mode for $(HOST) PID" ) field( SCAN, "Passive" ) field( ONAM, "YES" ) field( ZNAM, "NO") field( PINI, "NO") field( VAL , "0" ) } grecord( mbbi, "$(PREF)$(HOST):cpid_man_mbbi" ) { field( DESC, "MANUAL select for CPID for $(HOST)" ) field( SCAN, "Passive" ) field( NOBT, "12" ) field( ZRST, "CRATE SPECIFIC" ) field( ONST, "GLOBAL" ) field( TWST, "BCAL" ) field( THST, "ECAL" ) field( FRST, "CONTROLS" ) field( FVST, "DISCRIMINATORS" ) field( SXST, "FCAL" ) field( SVST, "FDC/CDC" ) field( EIST, "PS/PSC/ST/DIRC" ) field( NIST, "TAGM/TAGH" ) field( TEST, "TOF" ) field( ELST, "TRIGGER" ) field( VAL , "1" ) field( PINI, "YES" ) field( FLNK, "$(PREF)$(HOST):cpid_man_sel PP" ) } grecord( sel, "$(PREF)$(HOST):cpid_man_sel" ) { field(DESC, "MANUAL select 4 loop 4 $(HOST)") field(SCAN, "Passive") field(SELM, "Specified") field(NVL , "$(PREF)$(HOST):cpid_man_mbbi" ) field(INPA, "$(PREF)$(HOST):cpid_man_mod CPP" ) field(INPB, "$(PREF)vme:glob:cpid_man_mod CPP" ) field(INPC, "$(PREF)vme:bcal:cpid_man_mod CPP" ) field(INPD, "$(PREF)vme:ecal:cpid_man_mod CPP" ) field(INPE, "$(PREF)vme:ctrls:cpid_man_mod CPP" ) field(INPF, "$(PREF)vme:discr:cpid_man_mod CPP" ) field(INPG, "$(PREF)vme:fcal:cpid_man_mod CPP" ) field(INPH, "$(PREF)vme:fdc:cpid_man_mod CPP" ) field(INPI, "$(PREF)vme:psst:cpid_man_mod CPP" ) field(INPJ, "$(PREF)vme:tagger:cpid_man_mod CPP" ) field(INPK, "$(PREF)vme:tof:cpid_man_mod CPP" ) field(INPL, "$(PREF)vme:trig:cpid_man_mod CPP" ) } grecord( calcout, "$(PREF)$(HOST):cpid_man_loop" ) { field( DESC, "Force MANUAL 4 loop 4 $(HOST)" ) field( SCAN, "1 second" ) field( OUT , "$(PREF)$(HOST):cpid.MMOD" ) field( CALC, "B#0?1:0") field( INPA, "$(PREF)$(HOST):cpid_man_sel") field( INPB, "$(PREF)$(HOST):cpid_man_mbbi") field( OOPT, "When Non-zero") field( DOPT, "Use OCAL") field( OCAL, "A" ) field( PINI, "YES" ) } grecord( mbbi, "$(PREF)$(HOST):cpid_param_mbbi" ) { field( DESC, "Param select for CPID for $(HOST)" ) field( SCAN, "Passive" ) field( NOBT, "12" ) field( ZRST, "CRATE SPECIFIC" ) field( ONST, "GLOBAL" ) field( TWST, "BCAL" ) field( THST, "ECAL" ) field( FRST, "CONTROLS" ) field( FVST, "DISCRIMINATORS" ) field( SXST, "FCAL" ) field( SVST, "FDC/CDC" ) field( EIST, "PS/PSC/ST/DIRC" ) field( NIST, "TAGM/TAGH" ) field( TEST, "TOF" ) field( ELST, "TRIGGER" ) field( VAL , "1" ) field( PINI, "YES" ) field( FLNK, "$(PREF)$(HOST):cpid_kp_sel PP" ) } grecord( sel, "$(PREF)$(HOST):cpid_kp_sel" ) { field(DESC, "KP select 4 loop 4 $(HOST)") field(SCAN, "Passive") field(SELM, "Specified") field(NVL , "$(PREF)$(HOST):cpid_param_mbbi" ) field(INPA, "$(PREF)$(HOST):cpid.KP CPP" ) field(INPB, "$(PREF)vme:glob:cpid_kp CPP" ) field(INPC, "$(PREF)vme:bcal:cpid_kp CPP" ) field(INPD, "$(PREF)vme:ecal:cpid_kp CPP" ) field(INPE, "$(PREF)vme:ctrls:cpid_kp CPP" ) field(INPF, "$(PREF)vme:discr:cpid_kp CPP" ) field(INPG, "$(PREF)vme:fcal:cpid_kp CPP" ) field(INPH, "$(PREF)vme:fdc:cpid_kp CPP" ) field(INPI, "$(PREF)vme:psst:cpid_kp CPP" ) field(INPJ, "$(PREF)vme:tagger:cpid_kp CPP" ) field(INPK, "$(PREF)vme:tof:cpid_kp CPP" ) field(INPL, "$(PREF)vme:trig:cpid_kp CPP" ) field(FLNK, "$(PREF)$(HOST):cpid_ki_sel PP" ) } grecord( sel, "$(PREF)$(HOST):cpid_ki_sel" ) { field(DESC, "KI select 4 loop 4 $(HOST)") field(SCAN, "Passive") field(SELM, "Specified") field(NVL , "$(PREF)$(HOST):cpid_param_mbbi" ) field(INPA, "$(PREF)$(HOST):cpid.KI CPP" ) field(INPB, "$(PREF)vme:glob:cpid_ki CPP" ) field(INPC, "$(PREF)vme:bcal:cpid_ki CPP" ) field(INPD, "$(PREF)vme:ecal:cpid_ki CPP" ) field(INPE, "$(PREF)vme:ctrls:cpid_ki CPP" ) field(INPF, "$(PREF)vme:discr:cpid_ki CPP" ) field(INPG, "$(PREF)vme:fcal:cpid_ki CPP" ) field(INPH, "$(PREF)vme:fdc:cpid_ki CPP" ) field(INPI, "$(PREF)vme:psst:cpid_ki CPP" ) field(INPJ, "$(PREF)vme:tagger:cpid_ki CPP" ) field(INPK, "$(PREF)vme:tof:cpid_ki CPP" ) field(INPL, "$(PREF)vme:trig:cpid_ki CPP" ) field(FLNK, "$(PREF)$(HOST):cpid_kd_sel PP" ) } grecord( sel, "$(PREF)$(HOST):cpid_kd_sel" ) { field(DESC, "KD select 4 loop 4 $(HOST)") field(SCAN, "Passive") field(SELM, "Specified") field(NVL , "$(PREF)$(HOST):cpid_param_mbbi" ) field(INPA, "$(PREF)$(HOST):cpid.KD CPP" ) field(INPB, "$(PREF)vme:glob:cpid_kd CPP" ) field(INPC, "$(PREF)vme:bcal:cpid_kd CPP" ) field(INPD, "$(PREF)vme:ecal:cpid_kd CPP" ) field(INPE, "$(PREF)vme:ctrls:cpid_kd CPP" ) field(INPF, "$(PREF)vme:discr:cpid_kd CPP" ) field(INPG, "$(PREF)vme:fcal:cpid_kd CPP" ) field(INPH, "$(PREF)vme:fdc:cpid_kd CPP" ) field(INPI, "$(PREF)vme:psst:cpid_kd CPP" ) field(INPJ, "$(PREF)vme:tagger:cpid_kd CPP" ) field(INPK, "$(PREF)vme:tof:cpid_kd CPP" ) field(INPL, "$(PREF)vme:trig:cpid_kd CPP" ) } grecord( calcout, "$(PREF)$(HOST):cpid_param_calc" ) { field( DESC, "Decide 2 force KP 4 loop 4 $(HOST)" ) field( SCAN, "1 second" ) field( OUT , "$(PREF)$(HOST):cpid_param_seq PP" ) field( CALC, "B#0?1:0") field( INPB, "$(PREF)$(HOST):cpid_param_mbbi") field( OOPT, "When Non-zero") field( DOPT, "Use OCAL") field( OCAL, "0" ) field( PINI, "YES" ) } grecord( seq, "$(PREF)$(HOST):cpid_param_seq" ) { field( DESC, "Force params 4 loop 4 $(HOST)" ) field( SCAN, "Passive") field( SELM, "All" ) field( DOL1, "$(PREF)$(HOST):cpid_kp_sel" ) field( LNK1, "$(PREF)$(HOST):cpid.KP" ) field( DOL2, "$(PREF)$(HOST):cpid_ki_sel" ) field( LNK2, "$(PREF)$(HOST):cpid.KI" ) field( DOL3, "$(PREF)$(HOST):cpid_kd_sel" ) field( LNK3, "$(PREF)$(HOST):cpid.KD" ) } grecord( calcout, "$(PREF)$(HOST):min_rpm_vme" ) { field( DESC, "Min RPM for $(HOST)" ) field( SCAN, "Passive" ) field( EGU , "RPM" ) field( OUT , "$(PREF)$(HOST):min_rpm_vme_fo" ) field( CALC, "C#0?B:A") field( INPA, "$(PREF)glob:min_rpm_vme CPP") field( INPB, "$(PREF)glob:min_rpm_vxs CPP") field( INPC, "$(VXS_FLAG)") field( OOPT, "Every Time") field( DOPT, "Use CALC") field( PINI, "YES" ) } grecord( calcout, "$(PREF)$(HOST):max_rpm_vme" ) { field( DESC, "Max RPM for $(HOST)" ) field( SCAN, "Passive" ) field( EGU , "RPM" ) field( OUT , "$(PREF)$(HOST):max_rpm_vme_fo" ) field( CALC, "C#0?B:A") field( INPA, "$(PREF)glob:max_rpm_vme CPP") field( INPB, "$(PREF)glob:max_rpm_vxs CPP") field( INPC, "$(VXS_FLAG)") field( OOPT, "Every Time") field( DOPT, "Use CALC") field( PINI, "YES" ) } grecord( dfanout, "$(PREF)$(HOST):min_rpm_vme_fo") { field( DESC, "Min RPM fanout for $(HOST)" ) field( SCAN, "2 second" ) field( EGU , "RPM" ) field( DOL , "$(PREF)$(HOST):min_rpm_vme" ) field( OMSL, "closed_loop" ) field( PINI, "YES" ) field( SELM, "All" ) field( OUTA, "$(PREF)$(HOST):fanNominalSpeed.DRVL" ) field( OUTB, "$(PREF)$(HOST):fanNominalSpeed.LOPR" ) field( OUTC, "$(PREF)$(HOST):cpid.MIN" ) } grecord( dfanout, "$(PREF)$(HOST):max_rpm_vme_fo") { field( DESC, "Max RPM fanout for $(HOST)" ) field( SCAN, "2 second" ) field( EGU , "RPM" ) field( DOL , "$(PREF)$(HOST):max_rpm_vme PP" ) field( OMSL, "closed_loop" ) field( PINI, "YES" ) field( SELM, "All" ) field( OUTA, "$(PREF)$(HOST):fanNominalSpeed.DRVH" ) field( OUTB, "$(PREF)$(HOST):fanNominalSpeed.HOPR" ) field( OUTC, "$(PREF)$(HOST):cpid.MAX" ) } grecord( bi, "$(PREF)$(HOST):t_intlk_dsbl" ) { field( DESC, "T interlock mode for $(HOST)" ) field( SCAN, "Passive" ) field( ZNAM, "NO BYPASS" ) field( ONAM, "BYPASSED") field( VAL , "1") field( PINI, "YES") } grecord( bi, "$(PREF)$(HOST):t_intlk_dsbl" ) { field( DESC, "BYPASS interlock for $(HOST)" ) field( SCAN, "Passive" ) field( ONAM, "BYPASSED" ) field( ZNAM, "NO BYPASS") field( PINI, "YES") field( VAL , "0" ) } grecord( mbbi, "$(PREF)$(HOST):t_intlk_dsbl_mbbi" ) { field( DESC, "BYPASS select interlock for $(HOST)" ) field( SCAN, "Passive" ) field( NOBT, "12" ) field( ZRST, "CRATE SPECIFIC" ) field( ONST, "GLOBAL" ) field( TWST, "BCAL" ) field( THST, "ECAL" ) field( FRST, "CONTROLS" ) field( FVST, "DISCRIMINATORS" ) field( SXST, "FCAL" ) field( SVST, "FDC/CDC" ) field( EIST, "PS/PSC/ST/DIRC" ) field( NIST, "TAGM/TAGH" ) field( TEST, "TOF" ) field( ELST, "TRIGGER" ) field( VAL , "1" ) field( PINI, "YES" ) field( FLNK, "$(PREF)$(HOST):t_intlk_dsbl_sel PP" ) } grecord( sel, "$(PREF)$(HOST):t_intlk_dsbl_sel" ) { field(DESC, "BYPASS select for $(HOST)") field(SCAN, "Passive") field(SELM, "Specified") field(NVL , "$(PREF)$(HOST):t_intlk_dsbl_mbbi" ) field(INPA, "$(PREF)$(HOST):t_intlk_dsbl CPP" ) field(INPB, "$(PREF)vme:glob:t_intlk_dsbl CPP" ) field(INPC, "$(PREF)vme:bcal:t_intlk_dsbl CPP" ) field(INPD, "$(PREF)vme:ecal:t_intlk_dsbl CPP" ) field(INPE, "$(PREF)vme:ctrls:t_intlk_dsbl CPP" ) field(INPF, "$(PREF)vme:discr:t_intlk_dsbl CPP" ) field(INPG, "$(PREF)vme:fcal:t_intlk_dsbl CPP" ) field(INPH, "$(PREF)vme:fdc:t_intlk_dsbl CPP" ) field(INPI, "$(PREF)vme:psst:t_intlk_dsbl CPP" ) field(INPJ, "$(PREF)vme:tagger:t_intlk_dsbl CPP" ) field(INPK, "$(PREF)vme:tof:t_intlk_dsbl CPP" ) field(INPL, "$(PREF)vme:trig:t_intlk_dsbl CPP" ) } record( ai, "$(PREF)$(HOST):temp_min" ) { field( DESC, "Min T 4 $(HOST)" ) field( SCAN, "Passive" ) field( VAL , "62" ) field( PINI, "YES") field( PREC, "1") field( EGU , "F") } record( ai, "$(PREF)$(HOST):temp_max" ) { field( DESC, "Max T 4 $(HOST)" ) field( SCAN, "Passive" ) field( VAL , "82" ) field( PINI, "YES") field( PREC, "1") field( EGU , "F") } grecord( mbbi, "$(PREF)$(HOST):t_intlk_param_mbbi" ) { field( DESC, "Param select for CPID for $(HOST)" ) field( SCAN, "Passive" ) field( NOBT, "12" ) field( ZRST, "CRATE SPECIFIC" ) field( ONST, "GLOBAL" ) field( TWST, "BCAL" ) field( THST, "ECAL" ) field( FRST, "CONTROLS" ) field( FVST, "DISCRIMINATORS" ) field( SXST, "FCAL" ) field( SVST, "FDC/CDC" ) field( EIST, "PS/PSC/ST/DIRC" ) field( NIST, "TAGM/TAGH" ) field( TEST, "TOF" ) field( ELST, "TRIGGER" ) field( VAL , "1" ) field( PINI, "YES" ) field( FLNK, "$(PREF)$(HOST):temp_min_sel PP" ) } grecord( sel, "$(PREF)$(HOST):temp_min_sel" ) { field(DESC, "T-min 4 interlock 4 $(HOST)") field(SCAN, "Passive") field(SELM, "Specified") field(NVL , "$(PREF)$(HOST):t_intlk_param_mbbi" ) field(INPA, "$(PREF)$(HOST):temp_min CPP" ) field(INPB, "$(PREF)vme:glob:temp_min CPP" ) field(INPC, "$(PREF)vme:bcal:temp_min CPP" ) field(INPD, "$(PREF)vme:ecal:temp_min CPP" ) field(INPE, "$(PREF)vme:ctrls:temp_min CPP" ) field(INPF, "$(PREF)vme:discr:temp_min CPP" ) field(INPG, "$(PREF)vme:fcal:temp_min CPP" ) field(INPH, "$(PREF)vme:fdc:temp_min CPP" ) field(INPI, "$(PREF)vme:psst:temp_min CPP" ) field(INPJ, "$(PREF)vme:tagger:temp_min CPP" ) field(INPK, "$(PREF)vme:tof:temp_min CPP" ) field(INPL, "$(PREF)vme:trig:temp_min CPP" ) field(FLNK, "$(PREF)$(HOST):temp_max_sel PP" ) } grecord( sel, "$(PREF)$(HOST):temp_max_sel" ) { field(DESC, "T-max 4 interlock 4 $(HOST)") field(SCAN, "Passive") field(SELM, "Specified") field(NVL , "$(PREF)$(HOST):t_intlk_param_mbbi" ) field(INPA, "$(PREF)$(HOST):temp_max CPP" ) field(INPB, "$(PREF)vme:glob:temp_max CPP" ) field(INPC, "$(PREF)vme:bcal:temp_max CPP" ) field(INPD, "$(PREF)vme:ecal:temp_max CPP" ) field(INPE, "$(PREF)vme:ctrls:temp_max CPP" ) field(INPF, "$(PREF)vme:discr:temp_max CPP" ) field(INPG, "$(PREF)vme:fcal:temp_max CPP" ) field(INPH, "$(PREF)vme:fdc:temp_max CPP" ) field(INPI, "$(PREF)vme:psst:temp_max CPP" ) field(INPJ, "$(PREF)vme:tagger:temp_max CPP" ) field(INPK, "$(PREF)vme:tof:temp_max CPP" ) field(INPL, "$(PREF)vme:trig:temp_max CPP" ) field(FLNK, "$(PREF)$(HOST):t_intlk_param_seq PP" ) } grecord( seq, "$(PREF)$(HOST):t_intlk_param_seq" ) { field( DESC, "Force t-limits 4 $(HOST)" ) field( SCAN, "Passive") field( SELM, "All" ) field( DOL1, "$(PREF)$(HOST):temp_min_sel" ) field( LNK1, "$(PREF)$(HOST):t_min PP" ) field( DOL2, "$(PREF)$(HOST):temp_max_sel" ) field( LNK2, "$(PREF)$(HOST):t_max PP" ) }