Newer
Older
field(DOL, "$(P)CRL$(N):lens_decode.$(DECODE) CP")
field(OMSL, "closed_loop")
field(OUTA, "$(P)CRL$(N):stack$(M) PP")
}
record(bo, "$(P)CRL$(N):stack$(M)"){
field(DESC, "$(NUMLENS), $(RADIUS), $(LOC), $(MAT), $(THICKERR)")
field(ZNAM, "Out")
field(ONAM, "In")
field(DISV, "1")
}
record(calcout, "$(P)CRL$(N):stack$(M)_calc"){
field(INPA, "$(P)CRL$(N):stack$(M) CP")
field(CALC, "A?$(INVAL):$(OUTVAL)")
record(calcout, "$(P)CRL$(N):stack$(M)_RBV_calc"){
field(INPA, "$(INP) CP")
field(CALC, "A==$(INRBVVAL)?1:0")
field(OUT, "$(P)CRL$(N):stack$(M)_RBV PP")
}
record(bi, "$(P)CRL$(N):stack$(M)_RBV"){
field(DESC, "$(NUMLENS), $(RADIUS), $(LOC), $(MAT), $(THICKERR)")
field(ZNAM, "Out")
field(ONAM, "In")
}
record(dfanout, "$(P)CRL$(N):stack$(M)_RBV_dfanout"){
field(OMSL, "closed_loop")
field(DOL, "$(P)CRL$(N):stack$(M)_RBV CP")
field(OUTA, "$(P)CRL$(N):lens_RBV_encode.$(ENCODE) PP")
}
record(ao, "$(P)CRL$(N):stack$(M)_NumLens"){
field(DESC, "Number of lens in stack")
field(VAL, "$(NUMLENS)")
}
record(ao, "$(P)CRL$(N):stack$(M)_LensRadius"){
field(DESC, "Lens radii")
field(VAL, "$(RADIUS)")
}
record(ao, "$(P)CRL$(N):stack$(M)_Location"){
field(DESC, "Stack Location, + US, - DS from center")
field(EGU, "stack_thick")
field(VAL, "$(LOC)")
}
record(stringout, "$(P)CRL$(N):stack$(M)_Material"){
field(DESC, "Lens Material")
field(VAL, "$(MAT)")
}
record(ao, "$(P)CRL$(N):stack$(M)_ThickErr"){
field(DESC, "RMS Thickness Error")
field(VAL, "$(THICKERR)")
}
record(dfanout, "$(P)CRL$(N):stack$(M)_BW_dfanout"){
field(OMSL, "closed_loop")
field(DOL, "$(P)CRL$(N):stack$(M) CP")
field(OUTA, "$(P)CRL$(N):lens_encode.$(ENCODE)")
field(FLNK, "$(P)CRL$(N):lens_encode.PROC CA")
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# The commented out records below were meant to replicate the lock feature used
# in filter control. BL staff indicated not required but kept in case needed.
# Will also have to update python code (in/out masks, culled tables/indices need
# to be uncommented).
# MW 2024.09.04
#!record(bo, "$(P)CRL$(N):stack$(M)_Lock"){
#! field(ZNAM, "Free")
#! field(ONAM, "Locked")
#! field(SDIS, "$(P)CRL$(N):stack$(M)_Enable")
#! field(DISV, "1")
#!}
#!
#!record(bo, "$(P)CRL$(N):stack$(M)_Enable"){
#! field(ZNAM, "Enabled")
#! field(ONAM, "Disabled")
#!}
#!
#!
#!record(calcout, "$(P)CRL$(N):disableOut$(M)_calc"){
#! field(INPA, "$(P)CRL$(N):stack$(M)_Enable CP")
#! field(INPB, "$(P)CRL$(N):stack$(M)")
#! field(CALC, "A=1?0:B")
#! field(OUT, "$(P)CRL$(N):stack$(M) PP")
#! field(FLNK, "$(P)CRL$(N):lockEnable$(M)_calc")
#!}
#!
#!record(calcout, "$(P)CRL$(N):lockEnable$(M)_calc"){
#! field(INPA, "$(P)CRL$(N):stack$(M)_Enable")
#! field(INPB, "$(P)CRL$(N):stack$(M)_Lock CP")
#! field(INPC, "$(P)CRL$(N):stack$(M)_RBV")
#! field(CALC, "A | B")
#! field(OUT, "$(P)CRL$(N):stack$(M).DISA PP")
#! field(FLNK, "$(P)CRL$(N):outMask$(M)_calc")
#!}
#!
#!record(calcout, "$(P)CRL$(N):outMask$(M)_calc"){
#! field(INPA, "$(P)CRL$(N):stack$(M)_Enable")
#! field(INPB, "$(P)CRL$(N):stack$(M)_Lock")
#! field(INPC, "$(P)CRL$(N):stack$(M)_RBV")
#! field(CALC, "A | (B & !C)")
#! field(OUT, "$(P)CRL$(N):outMask_encode.$(MASK) PP")
#! field(FLNK, "$(P)CRL$(N):inMask$(M)_calc")
#!}
#!
#!record(calcout, "$(P)CRL$(N):inMask$(M)_calc"){
#! field(INPA, "$(P)CRL$(N):stack$(M)_Enable")
#! field(INPB, "$(P)CRL$(N):stack$(M)_Lock")
#! field(INPC, "$(P)CRL$(N):stack$(M)_RBV")
#! field(CALC, "!A & (B & C)")
#! field(OUT, "$(P)CRL$(N):inMask_encode.$(MASK) PP")
#!}