# # Interlock Records for a channel of a # CAEN HVx527 HV controller # record( ai, "$(DETch):ilrmp:in") { # field( INP, "$(DETch):v0set CPP") field( INP, "$(DETch):vmon CPP") field( FLNK, "$(DETch):ilrmp:test") } record( mbbo, "$(DETch):ilrmp:cond") { field( VAL, "0") field( ZRVL, "0") field( ZRST, ">") field( ONVL, "1") field( ONST, "<") field( TWVL, "2") field( TWST, "=") field( THVL, "3") field( THST, "!=") field( PINI, "1") } record( ao, "$(DETch):ilrmp:thresh") { field( VAL, "1900") field( PINI, "1") field( FLNK, "$(DETch):ilrmp:test") } record( ai, "$(DETch):ilrmp:rampup1") { field( VAL, "30") field( FLNK, "$(DETch):ilrmp:test") } record( ai, "$(DETch):ilrmp:rampup2") { field( VAL, "5") field( FLNK, "$(DETch):ilrmp:test") } # The calc record only determines if conditions have been met. # The fanout actually determines if a signal should be sent. record( calcout, "$(DETch):ilrmp:test") { field( INPA, "$(DETch):ilrmp:in") field( INPB, "$(DETch):ilrmp:thresh") field( INPJ, "$(DETch):ilrmp:cond") field( CALC, "((J=1&&A=B)||(J=2&&AB))+1") field( OUT, "$(DETch):ilrmp:act.SELN PP") } record( seq, "$(DETch):ilrmp:act") { field( SELM, "Specified") field( DOL1, "$(DETch):ilrmp:rampup1") field( LNK1, "$(DETch):rampup PP") field( DOL2, "$(DETch):ilrmp:rampup2") field( LNK2, "$(DETch):rampup PP") }