4 # DM0001 Flow1 0-6000 = 0-25L/min
5 # DM0002 Flow2 0-6000 = 0-25L/min
6 # DM0003 Flow3 0-6000 = 0-25L/min
7 # DM0004 Flow4 0-6000 = 0-25L/min
9 # DM0005 Valve1 Position 0-6000 = 0-100% open
10 # DM0006 Valve2 Position 0-6000 = 0-100% open
11 # DM0007 Valve3 Position 0-6000 = 0-100% open
12 # DM0008 Valve4 Position 0-6000 = 0-100% open
13 # DM0099 PLC “Heart Beat” (1s pulse) 0 to 65535
15 # CIO0100.06 ON = Table lifted (valve open & pressure OK)
19 # WR0000.02 ON = Request table to lift (reset to 0 to lower table)
25 field(DTYP,
"asynInt32")
26 field(ZNAM,
"LOWERED")
28 field(INP,
"@asyn(PLC, 100, 5.0) FINS_IO_READ_B6")
29 field(SCAN,
"1 second")
30 field(SIML,
"$(P)$(Q)SIM")
31 field(SIOL,
"$(P)$(Q)SIM:STATUS")
33 info(INTEREST,
"HIGH")
39 field(DTYP,
"asynInt32")
40 field(INP,
"@asyn(PLC, 99, 5.0) FINS_DM_READ")
41 field(SCAN,
"1 second")
42 field(SIML,
"$(P)$(Q)SIM")
43 field(SIOL,
"$(P)$(Q)SIM:HEARTBEAT")
48 field(DESC,
"Request move")
49 field(DTYP,
"asynInt32")
52 field(OUT,
"@asyn(PLC, 0, 5.0) FINS_WR_WRITE_B2")
53 field(SIML,
"$(P)$(Q)SIM")
54 field(SIOL,
"$(P)$(Q)SIM:MOVE")
56 info(INTEREST,
"HIGH")
61 field(DESC,
"Request move readback")
62 field(DTYP,
"asynInt32")
65 field(INP,
"@asyn(PLC, 0, 5.0) FINS_WR_READ_B2")
66 field(SCAN,
"1 second")
67 field(SIML,
"$(P)$(Q)SIM")
68 field(SIOL,
"$(P)$(Q)SIM:MOVE")
70 info(INTEREST,
"HIGH")
72 alias(
"$(P)$(Q)MOVE:SP:RBV",
"$(P)$(Q)MOVE")
74 ### SIMULATION RECORDS ###
78 field(SCAN,
"Passive")
79 field(DTYP,
"Soft Channel")
86 field(SCAN,
"Passive")
87 field(DTYP,
"Soft Channel")
92 field(SCAN,
"Passive")
93 field(DTYP,
"Soft Channel")
98 field(SCAN,
"Passive")
99 field(DTYP,
"Soft Channel")
104 #record(ai, "$(P)$(Q)FINS:RANDOM")
106 # field(DTYP, "asynInt32")
107 # field(INP, "@asyn(PLC, 1000, 5.0) FINS_DM_READ")
108 # field(SCAN, "5 second")
109 # field(FLNK, "$(P)$(Q)FINS:RT")
112 #record(calc, "$(P)$(Q)RT")
114 # field(INPA, "$(P)$(Q)RANDOM")
118 # field(CALC, "A * 100 / 6000")
121 #record(ai, "$(P)$(Q)RANDOM0")
123 # field(DTYP, "asynInt32")
124 # field(INP, "@asyn(PLC, 1000, 5.0) FINS_DM_READ_B0")
125 # field(SCAN, "5 second")
128 #record(ai, "$(P)$(Q)RANDOM1")
130 # field(DTYP, "asynInt32")
131 # field(INP, "@asyn(PLC, 1000, 5.0) FINS_DM_READ_B2")
132 # field(SCAN, "5 second")
138 field(DTYP,
"asynInt32")
139 field(INP,
"@asyn(PLC, 1, 5.0) FINS_DM_READ")
140 field(SCAN,
"1 second")
143 field(FLNK,
"$(P)$(Q)VALVE1")
144 field(SIML,
"$(P)$(Q)SIM")
145 field(SIOL,
"$(P)$(Q)SIM:VALVE1:RAW")
150 field(DESC,
"VALVE1 Opening")
151 field(INPA,
"$(P)$(Q)VALVE1:RAW")
155 field(CALC,
"A * 100 / 6000")
156 field(ASG,
"READONLY")
158 info(INTEREST,
"HIGH")
161 ### SIMULATION RECORDS ###
165 field(SCAN,
"Passive")
166 field(DTYP,
"Soft Channel")
171 field(DTYP,
"asynInt32")
172 field(INP,
"@asyn(PLC, 2, 5.0) FINS_DM_READ")
173 field(SCAN,
"1 second")
176 field(FLNK,
"$(P)$(Q)VALVE2")
177 field(SIML,
"$(P)$(Q)SIM")
178 field(SIOL,
"$(P)$(Q)SIM:VALVE2:RAW")
183 field(DESC,
"VALVE2 Opening")
184 field(INPA,
"$(P)$(Q)VALVE2:RAW")
188 field(CALC,
"A * 100 / 6000")
189 field(ASG,
"READONLY")
191 info(INTEREST,
"HIGH")
194 ### SIMULATION RECORDS ###
198 field(SCAN,
"Passive")
199 field(DTYP,
"Soft Channel")
204 field(DTYP,
"asynInt32")
205 field(INP,
"@asyn(PLC, 3, 5.0) FINS_DM_READ")
206 field(SCAN,
"1 second")
209 field(FLNK,
"$(P)$(Q)VALVE3")
210 field(SIML,
"$(P)$(Q)SIM")
211 field(SIOL,
"$(P)$(Q)SIM:VALVE3:RAW")
216 field(DESC,
"VALVE3 Opening")
217 field(INPA,
"$(P)$(Q)VALVE3:RAW")
221 field(CALC,
"A * 100 / 6000")
222 field(ASG,
"READONLY")
224 info(INTEREST,
"HIGH")
227 ### SIMULATION RECORDS ###
231 field(SCAN,
"Passive")
232 field(DTYP,
"Soft Channel")
237 field(DTYP,
"asynInt32")
238 field(INP,
"@asyn(PLC, 4, 5.0) FINS_DM_READ")
239 field(SCAN,
"1 second")
242 field(FLNK,
"$(P)$(Q)VALVE4")
243 field(SIML,
"$(P)$(Q)SIM")
244 field(SIOL,
"$(P)$(Q)SIM:VALVE4:RAW")
249 field(DESC,
"VALVE4 Opening")
250 field(INPA,
"$(P)$(Q)VALVE4:RAW")
254 field(CALC,
"A * 100 / 6000")
255 field(ASG,
"READONLY")
257 info(INTEREST,
"HIGH")
260 ### SIMULATION RECORDS ###
264 field(SCAN,
"Passive")
265 field(DTYP,
"Soft Channel")
270 field(DTYP,
"asynInt32")
271 field(INP,
"@asyn(PLC, 5, 5.0) FINS_DM_READ")
272 field(SCAN,
"1 second")
275 field(FLNK,
"$(P)$(Q)FLOW1")
276 field(SIML,
"$(P)$(Q)SIM")
277 field(SIOL,
"$(P)$(Q)SIM:FLOW1:RAW")
282 field(DESC,
"FLOW1 Flow")
283 field(INPA,
"$(P)$(Q)FLOW1:RAW")
284 field(EGU,
"L/minute")
287 field(CALC,
"A * 25 / 6000")
288 field(ASG,
"READONLY")
290 info(INTEREST,
"HIGH")
293 ### SIMULATION RECORDS ###
297 field(SCAN,
"Passive")
298 field(DTYP,
"Soft Channel")
304 field(DTYP,
"asynInt32")
305 field(INP,
"@asyn(PLC, 6, 5.0) FINS_DM_READ")
306 field(SCAN,
"1 second")
309 field(FLNK,
"$(P)$(Q)FLOW2")
310 field(SIML,
"$(P)$(Q)SIM")
311 field(SIOL,
"$(P)$(Q)SIM:FLOW2:RAW")
316 field(DESC,
"FLOW2 Flow")
317 field(INPA,
"$(P)$(Q)FLOW2:RAW")
318 field(EGU,
"L/minute")
321 field(CALC,
"A * 25 / 6000")
322 field(ASG,
"READONLY")
324 info(INTEREST,
"HIGH")
327 ### SIMULATION RECORDS ###
331 field(SCAN,
"Passive")
332 field(DTYP,
"Soft Channel")
338 field(DTYP,
"asynInt32")
339 field(INP,
"@asyn(PLC, 7, 5.0) FINS_DM_READ")
340 field(SCAN,
"1 second")
343 field(FLNK,
"$(P)$(Q)FLOW3")
344 field(SIML,
"$(P)$(Q)SIM")
345 field(SIOL,
"$(P)$(Q)SIM:FLOW3:RAW")
350 field(DESC,
"FLOW3 Flow")
351 field(INPA,
"$(P)$(Q)FLOW3:RAW")
352 field(EGU,
"L/minute")
355 field(CALC,
"A * 25 / 6000")
356 field(ASG,
"READONLY")
358 info(INTEREST,
"HIGH")
361 ### SIMULATION RECORDS ###
365 field(SCAN,
"Passive")
366 field(DTYP,
"Soft Channel")
372 field(DTYP,
"asynInt32")
373 field(INP,
"@asyn(PLC, 8, 5.0) FINS_DM_READ")
374 field(SCAN,
"1 second")
377 field(FLNK,
"$(P)$(Q)FLOW4")
378 field(SIML,
"$(P)$(Q)SIM")
379 field(SIOL,
"$(P)$(Q)SIM:FLOW4:RAW")
384 field(DESC,
"FLOW4 Flow")
385 field(INPA,
"$(P)$(Q)FLOW4:RAW")
386 field(EGU,
"L/minute")
389 field(CALC,
"A * 25 / 6000")
390 field(ASG,
"READONLY")
392 info(INTEREST,
"HIGH")
395 ### SIMULATION RECORDS ###
399 field(SCAN,
"Passive")
400 field(DTYP,
"Soft Channel")
record(longin,"$(P)$(Q)$(NAME):RAW")