|
1 ################################################################################# |
|
2 # |
|
3 ################################################################################ |
|
4 record(stringin, "$(IOC):$(NAME)-NAME") |
|
5 { |
|
6 field(DESC, "Name of the device") |
|
7 field(VAL, "$(NAME) Device") |
|
8 field(PINI, "YES") |
|
9 } |
|
10 |
|
11 record(stringin, "$(IOC):$(NAME)-IDN") |
|
12 { |
|
13 field(DESC, "Name of the device") |
|
14 field(INP, "@devBronkhorst.proto identity $(PORT)") |
|
15 field(PINI, "YES") |
|
16 } |
|
17 |
|
18 ################################################################################ |
|
19 ################################################################################ |
|
20 #INTEGER PARAMETERS |
|
21 ################################################################################ |
|
22 ################################################################################ |
|
23 ################################################################################ |
|
24 # Read; Measure will return a value between -23593 and 41942 |
|
25 # Record $(IOC):$(NAME)-MEASURE recomputes this value to percentages. NOTE that percentage |
|
26 # can be larger than 100% (max value: 131.07%) and even negative for bipolar |
|
27 # ADC mode. (min value: -73.73%) |
|
28 ################################################################################ |
|
29 record(ai, "$(IOC):$(NAME)-GET-MEASURE_") |
|
30 { |
|
31 field(DESC, "Read measure") |
|
32 field(SCAN, "$(SCAN2)") |
|
33 field(DTYP, "stream") |
|
34 field(PREC, "3") |
|
35 field(INP, "@devBronkhorst.proto readInt(01,20) $(PORT)") |
|
36 field(FLNK, "$(IOC):$(NAME)-GET-MEASURE") |
|
37 } |
|
38 |
|
39 record(calc, "$(IOC):$(NAME)-GET-MEASURE") |
|
40 { |
|
41 field(DESC, "Measure to percentage") |
|
42 field(INPA, "$(IOC):$(NAME)-GET-MEASURE_") |
|
43 field(EGU, "%") |
|
44 field(PREC, "3") |
|
45 field(CALC, "A*100/32000") |
|
46 field(FLNK, "$(IOC):$(NAME)-COMM-STATUS") |
|
47 } |
|
48 |
|
49 |
|
50 ################################################################################ |
|
51 # Read; $(IOC):$(NAME)-GET-SETPOINT_ fetches the value from the device, |
|
52 # $(IOC):$(NAME)-GET-SETPOINT recalculates the value to percentages. |
|
53 # |
|
54 # $(IOC):$(NAME)-GET-SETPOINT_ is scanned periodically, because setpoint value can be |
|
55 # changed on ALARM or when the Counter reaches it's limit - this is configured |
|
56 # by the user |
|
57 ################################################################################ |
|
58 record(ai, "$(IOC):$(NAME)-GET-SETPOINT_") |
|
59 { |
|
60 field(DESC, "Read setpoint in raw [0,32000]") |
|
61 field(DTYP, "stream") |
|
62 field(SCAN, "$(SCAN2)") |
|
63 field(INP, "@devBronkhorst.proto readInt(01,21) $(PORT)") |
|
64 field(PREC, "1") |
|
65 field(PINI, "YES") |
|
66 field(FLNK, "$(IOC):$(NAME)-GET-SETPOINT") |
|
67 } |
|
68 |
|
69 record(calc, "$(IOC):$(NAME)-GET-SETPOINT") |
|
70 { |
|
71 field(DESC, "Setpoint to percentage") |
|
72 field(INPA, "$(IOC):$(NAME)-GET-SETPOINT_") |
|
73 field(EGU, "%") |
|
74 field(PREC, "1") |
|
75 field(CALC, "A*100/32000") |
|
76 } |
|
77 |
|
78 ################################################################################ |
|
79 # Write; User writes the flow percentage to $(IOC):$(NAME)-SET-SETPOINT. |
|
80 # $(IOC):$(NAME)-SET-SETPOINT_ recalculates the percentage to interval [0, 32000] and |
|
81 # writes the new setpoint to the device |
|
82 ################################################################################ |
|
83 record(ao, "$(IOC):$(NAME)-SET-SETPOINT") |
|
84 { |
|
85 field(DESC, "Setpoint in percentage") |
|
86 field(EGU, "%") |
|
87 field(PREC, "1") |
|
88 field(FLNK, "$(IOC):$(NAME)-SET-SETPOINT_") |
|
89 } |
|
90 |
|
91 record(calcout, "$(IOC):$(NAME)-SET-SETPOINT_") |
|
92 { |
|
93 field(DESC, "Write setpoint in raw [0,32000]") |
|
94 field(INPA, "$(IOC):$(NAME)-SET-SETPOINT") |
|
95 field(PREC, "1") |
|
96 field(DTYP, "stream") |
|
97 field(CALC, "A*32000/100") |
|
98 field(OUT, "@devBronkhorst.proto writeInt(01,21) $(PORT)") |
|
99 field(FLNK, "$(IOC):$(NAME)-GET-SETPOINT_") |
|
100 } |
|
101 |
|
102 record(calcout, "$(IOC):$(NAME)-SET-SP-INIT_"){ |
|
103 field(INPA, "$(IOC):$(NAME)-SET-SETPOINT_") |
|
104 field(CALC, "A*100/32000") |
|
105 field(OUT, "$(IOC):$(NAME)-SET-SETPOINT") |
|
106 field(PINI, "YES") |
|
107 field(FLNK, "$(IOC):$(NAME)-SET-SETPOINT") |
|
108 |
|
109 } |
|
110 |
|
111 ################################################################################ |
|
112 # Read/Write: Setpoint is ramped from 0% to 100% in slope*0.1 seconds |
|
113 ################################################################################ |
|
114 record(ai, "$(IOC):$(NAME)-GET-SETPOINT-SLOPE") |
|
115 { |
|
116 field(DESC, "Read setpoint slope") |
|
117 field(DTYP, "stream") |
|
118 field(SCAN, "$(SCAN1)") |
|
119 field(PINI, "YES") |
|
120 field(INP, "@devBronkhorst.proto readInt(01,22) $(PORT)") |
|
121 } |
|
122 |
|
123 record(ao, "$(IOC):$(NAME)-SET-SETPOINT-SLOPE") |
|
124 { |
|
125 field(DESC, "Write setpoint slope") |
|
126 field(DTYP, "stream") |
|
127 field(SCAN, "$(SCAN1)") |
|
128 field(OUT, "@devBronkhorst.proto writeInt(01,22) $(PORT)") |
|
129 field(FLNK, "$(IOC):$(NAME)-GET-SETPOINT-SLOPE") |
|
130 } |
|
131 |
|
132 ################################################################################ |
|
133 # Read/Write: Get control mode from device. One of $(IOC):$(NAME)-CTRL-MODE-1/2_ will |
|
134 # be in illegal value state. The GUI screen will show the one which is not in |
|
135 # illegal value state by checking the severity of the state |
|
136 ################################################################################ |
|
137 record(ai, "$(IOC):$(NAME)-GET-CTRL-MODE_") |
|
138 { |
|
139 field(DESC,"") |
|
140 field(DTYP, "stream") |
|
141 field(SCAN, "$(SCAN1)") |
|
142 field(INP, "@devBronkhorst.proto readChar(01,04) $(PORT)") |
|
143 field(PINI, "YES") |
|
144 field(FLNK, "$(IOC):$(NAME)-CTRL-MODE-1_") |
|
145 } |
|
146 |
|
147 record(mbbi, "$(IOC):$(NAME)-CTRL-MODE-1_") |
|
148 { |
|
149 field(DESC, "Control modes 0-15") |
|
150 field(DTYP, "Raw Soft Channel") |
|
151 field(INP, "$(IOC):$(NAME)-GET-CTRL-MODE_") |
|
152 field(UNSV, "MAJOR") |
|
153 field(ZRVL, "0") |
|
154 field(ZRST, "BUS/RS232") |
|
155 field(ONVL, "1") |
|
156 field(ONST, "Analog input") |
|
157 field(TWVL, "2") |
|
158 field(TWST, "FLOWBUS*FLOWBUS") |
|
159 field(THVL, "3") |
|
160 field(THST, "Close valve") |
|
161 field(FRVL, "4") |
|
162 field(FRST, "Controller idle") |
|
163 field(FVVL, "5") |
|
164 field(FVST, "Testmode") |
|
165 field(SXVL, "6") |
|
166 field(SXST, "Tuning mode") |
|
167 field(SVVL, "7") |
|
168 field(SVST, "Setpoint=100%") |
|
169 field(EIVL, "8") |
|
170 field(EIST, "Purge valve") |
|
171 field(NIVL, "9") |
|
172 field(NIST, "Calibration mode") |
|
173 field(TEVL, "10") |
|
174 field(TEST, "analogIn*FLOWBUS") |
|
175 field(ELVL, "11") |
|
176 field(ELST, "Keyboard||FLOWBUS") |
|
177 field(TVVL, "12") |
|
178 field(TVST, "Setpoint=0%") |
|
179 field(TTVL, "13") |
|
180 field(TTST, "FLOWBUS*analogIn") |
|
181 field(FTVL, "14") |
|
182 field(FTST, "Range select mode") |
|
183 field(FFVL, "15") |
|
184 field(FFST, "Manual start, auto end") |
|
185 field(FLNK, "$(IOC):$(NAME)-CTRL-MODE-2_") |
|
186 } |
|
187 |
|
188 record(mbbi, "$(IOC):$(NAME)-CTRL-MODE-2_") |
|
189 { |
|
190 field(DESC, "Control modes 0-15") |
|
191 field(DTYP, "Raw Soft Channel") |
|
192 field(INP, "$(IOC):$(NAME)-GET-CTRL-MODE_") |
|
193 field(UNSV, "MAJOR") |
|
194 field(ZRSV, "MAJOR") |
|
195 field(ONVL, "16") |
|
196 field(ONST, "Auto start, manual end") |
|
197 field(TWVL, "17") |
|
198 field(TWST, "Auto start/end") |
|
199 field(THVL, "18") |
|
200 field(THST, "RS232 setpoint") |
|
201 field(FRVL, "19") |
|
202 field(FRST, "RS232 broadcast") |
|
203 field(FVVL, "20") |
|
204 field(FVST, "Valve stearing") |
|
205 field(SXVL, "21") |
|
206 field(SXST, "Analog valve stearing") |
|
207 field(SVVL, "22") |
|
208 field(SVST, "Valve safe state") |
|
209 } |
|
210 |
|
211 ################################################################################ |
|
212 # Read/Write: Set control mode. GUI screen will contain strings representing |
|
213 # the values on the interval [0, 22]. These values correspond to states in mbbi |
|
214 # records $(IOC):$(NAME)-CTRL-MODE-1,2_ |
|
215 ################################################################################ |
|
216 record(ao, "$(IOC):$(NAME)-SET-CTRL-MODE") |
|
217 { |
|
218 field(DESC,"Set the control mode") |
|
219 field(DTYP, "stream") |
|
220 field(OUT, "@devBronkhorst.proto writeChar(01,04) $(PORT)") |
|
221 } |
|
222 |
|
223 |
|
224 ################################################################################ |
|
225 # Read/Write: Get/Set fluid number. |
|
226 ################################################################################ |
|
227 record(ai, "$(IOC):$(NAME)-GET-FLUID-NUM") |
|
228 { |
|
229 field(DESC, "Read fluid number") |
|
230 field(DTYP, "stream") |
|
231 field(SCAN, "$(SCAN1)") |
|
232 field(PINI, "YES") |
|
233 field(INP, "@devBronkhorst.proto readChar(01,10) $(PORT)") |
|
234 |
|
235 } |
|
236 |
|
237 record(ao, "$(IOC):$(NAME)-SET-FLUID-NUM") |
|
238 { |
|
239 field(DESC, "Set fluid number") |
|
240 field(DTYP, "stream") |
|
241 field(SCAN, "$(SCAN1)") |
|
242 field(OUT, "@devBronkhorst.proto writeChar(01,10) $(PORT)") |
|
243 } |
|
244 |
|
245 ################################################################################ |
|
246 # Read: Read sensor type |
|
247 ################################################################################ |
|
248 record(mbbi, "$(IOC):$(NAME)-GET-SENSOR-TYPE") |
|
249 { |
|
250 field(DESC,"Read sensor type") |
|
251 field(DTYP, "stream") |
|
252 field(SCAN, "$(SCAN1)") |
|
253 field(INP, "@devBronkhorst.proto readChar(01,0E) $(PORT)") |
|
254 field(ZRVL, "0") |
|
255 field(ONVL, "1") |
|
256 field(TWVL, "2") |
|
257 field(THVL, "3") |
|
258 field(FRVL, "4") |
|
259 field(FVVL, "128") |
|
260 field(SXVL, "129") |
|
261 field(SVVL, "130") |
|
262 field(EIVL, "131") |
|
263 field(NIVL, "132") |
|
264 field(ZRST, "Pressure controller") |
|
265 field(ONST, "Liquid volume controller") |
|
266 field(TWST, "Liquid/gas controller") |
|
267 field(THST, "Gas volume controller") |
|
268 field(FRST, "Other controller") |
|
269 field(FVST, "Pressure sensor") |
|
270 field(SXST, "Liquid volume sensor") |
|
271 field(SVST, "Liquid/gas mass sensor") |
|
272 field(EIST, "Gas volume sensor") |
|
273 field(NIST, "Other sensor") |
|
274 field(PINI, "YES") |
|
275 } |
|
276 |
|
277 |
|
278 ################################################################################ |
|
279 # Read: Get readout unit |
|
280 ################################################################################ |
|
281 record(mbbi, "$(IOC):$(NAME)-GET-CAP-UNIT-IDX") |
|
282 { |
|
283 field(DESC, "Capacity unit index") |
|
284 field(DTYP, "stream") |
|
285 field(SCAN, "$(SCAN1)") |
|
286 field(INP, "@devBronkhorst.proto readChar(01,0F) $(PORT)") |
|
287 field(ZRST, "ln/min") |
|
288 field(ONST, "mln/h") |
|
289 field(TWST, "mln/min") |
|
290 field(THST, "ln/h") |
|
291 field(FRST, "m3n/h") |
|
292 field(FFST, "mls/min") |
|
293 field(SXST, "mls/h") |
|
294 field(SVST, "ls/min") |
|
295 field(EIST, "ls/h") |
|
296 field(NIST, "m3s/h") |
|
297 field(PINI, "YES") |
|
298 } |
|
299 |
|
300 ################################################################################ |
|
301 # Read: Valve will go into the safe state if buss communication is lost and |
|
302 # control mode is in BUS/RS232 state or if initreset = 73 or if control mode |
|
303 # is 22. |
|
304 ################################################################################ |
|
305 record(mbbi, "$(IOC):$(NAME)-GET-VALVE-STATE") |
|
306 { |
|
307 field(DESC, "Capacity unit index") |
|
308 field(DTYP, "stream") |
|
309 field(SCAN, "$(SCAN1)") |
|
310 field(INP, "@devBronkhorst.proto readChar(72,1A) $(PORT)") |
|
311 field(ZRST, "Deactivate") |
|
312 field(ONST, "Activate") |
|
313 field(TWST, "Close") |
|
314 field(THST, "Open") |
|
315 field(FRST, "Current position") |
|
316 field(FFST, "Safe Value") |
|
317 field(PINI, "YES") |
|
318 } |
|
319 |
|
320 record(mbbo, "$(IOC):$(NAME)-SET-VALVE-STATE") |
|
321 { |
|
322 field(DESC, "Capacity unit index") |
|
323 field(DTYP, "stream") |
|
324 field(SCAN, "$(SCAN1)") |
|
325 field(OUT, "@devBronkhorst.proto writeChar(72,1A) $(PORT)") |
|
326 field(ZRST, "Deactivate") |
|
327 field(ONST, "Activate") |
|
328 field(TWST, "Close") |
|
329 field(THST, "Open") |
|
330 field(FRST, "Current position") |
|
331 field(FFST, "Safe Value") |
|
332 field(FLNK, "$(IOC):$(NAME)-GET-VALVE-STATE") |
|
333 } |
|
334 |
|
335 ################################################################################ |
|
336 # Read: Alarm info. mbbiDirect record checks which flags are set and then |
|
337 # starts (forward links) the process chain of bi records representing the value |
|
338 # of each alarm state. |
|
339 ################################################################################ |
|
340 record(mbbiDirect, "$(IOC):$(NAME)-GET-ALARM-INFO") |
|
341 { |
|
342 field(DESC, "Read alarm flags") |
|
343 field(DTYP, "stream") |
|
344 field(INP, "@devBronkhorst.proto readChar(01,14) $(PORT)") |
|
345 field(SCAN, "$(SCAN2)") |
|
346 field(PINI, "YES") |
|
347 field(FLNK, "$(IOC):$(NAME)-ERROR-MSG-NUM") |
|
348 } |
|
349 |
|
350 ################################################################################ |
|
351 # Read: Alarm mode |
|
352 ################################################################################ |
|
353 record(mbbi, "$(IOC):$(NAME)-GET-ALARM-MODE") |
|
354 { |
|
355 field(DESC, "Read alarm mode") |
|
356 field(DTYP, "stream") |
|
357 field(INP, "@devBronkhorst.proto readChar(61,03) $(PORT)") |
|
358 field(SCAN, "$(SCAN1)") |
|
359 field(ZRST, "Off") |
|
360 field(ONST, "Absolute Limits") |
|
361 field(TWST, "Setpoint Limits") |
|
362 field(THST, "Power up") |
|
363 field(PINI, "YES") |
|
364 } |
|
365 |
|
366 ################################################################################ |
|
367 # Write; Set Alarm mode |
|
368 ################################################################################ |
|
369 record(mbbo, "$(IOC):$(NAME)-SET-ALARM-MODE") |
|
370 { |
|
371 field(DESC, "Set alarm mode") |
|
372 field(DTYP, "stream") |
|
373 field(OUT, "@devBronkhorst.proto writeChar(61,03) $(PORT)") |
|
374 field(SCAN, "$(SCAN1)") |
|
375 field(ZRST, "Off") |
|
376 field(ONST, "Absolute Limits") |
|
377 field(TWST, "Setpoint Limits") |
|
378 field(THST, "Power up") |
|
379 field(FLNK, "$(IOC):$(NAME)-GET-ALARM-MODE") |
|
380 } |
|
381 ################################################################################ |
|
382 # Read-Write; Get/Set maximum alarm limit. User specifies percentage which is |
|
383 # converted to interval [0, 32000] |
|
384 ################################################################################ |
|
385 record(calc, "$(IOC):$(NAME)-GET-ALM-MAX-LIM") |
|
386 { |
|
387 field(DESC, "Get alarm maximum limit in %") |
|
388 field(INPA, "$(IOC):$(NAME)-GET-ALM-MAX-LIM_") |
|
389 field(SCAN, "$(SCAN1)") |
|
390 field(PREC, "1") |
|
391 field(CALC, "A*100/32000") |
|
392 field(EGU, "%") |
|
393 } |
|
394 |
|
395 record(ai, "$(IOC):$(NAME)-GET-ALM-MAX-LIM_") |
|
396 { |
|
397 field(DESC, "Get alarm maximum limit in raw") |
|
398 field(DTYP, "stream") |
|
399 field(INP, "@devBronkhorst.proto readInt(61,21) $(PORT)") |
|
400 field(SCAN, "$(SCAN1)") |
|
401 field(PINI, "YES") |
|
402 field(FLNK, "$(IOC):$(NAME)-GET-ALM-MAX-LIM") |
|
403 } |
|
404 |
|
405 record(ai, "$(IOC):$(NAME)-SET-ALM-MAX-LIM") |
|
406 { |
|
407 field(DESC, "Set alarm maximum limit in %") |
|
408 field(FLNK, "$(IOC):$(NAME)-SET-ALM-MAX-LIM_") |
|
409 field(EGU, "%") |
|
410 field(PREC, "1") |
|
411 } |
|
412 |
|
413 record(calcout, "$(IOC):$(NAME)-SET-ALM-MAX-LIM_") |
|
414 { |
|
415 field(DESC, "Set alarm maximum limit in raw") |
|
416 field(DTYP, "stream") |
|
417 field(INPA, "$(IOC):$(NAME)-SET-ALM-MAX-LIM") |
|
418 field(CALC, "A*32000/100") |
|
419 field(OUT, "@devBronkhorst.proto writeInt(61,21) $(PORT)") |
|
420 field(FLNK, "$(IOC):$(NAME)-GET-ALM-MAX-LIM_") |
|
421 } |
|
422 |
|
423 record(calcout, "$(IOC):$(NAME)-SET-ALM-MAX-LIM-INIT_"){ |
|
424 field(INPA, "$(IOC):$(NAME)-SET-ALM-MAX-LIMT_") |
|
425 field(CALC, "A*100/32000") |
|
426 field(OUT, "$(IOC):$(NAME)-SET-ALM-MAX-LIM") |
|
427 field(PINI, "YES") |
|
428 field(FLNK, "$(IOC):$(NAME)-SET-ALM-MAX-LIM") |
|
429 |
|
430 } |
|
431 |
|
432 ################################################################################ |
|
433 # Read-Write; Get/Set minimum alarm limit. User specifies percentage which is |
|
434 # converted to interval [0, 32000] |
|
435 ################################################################################ |
|
436 record(calc, "$(IOC):$(NAME)-GET-ALM-MIN-LIM") |
|
437 { |
|
438 field(DESC, "Get alarm minimum limit in %") |
|
439 field(INPA, "$(IOC):$(NAME)-GET-ALM-MIN-LIM_") |
|
440 field(SCAN, "$(SCAN1)") |
|
441 field(PREC, "1") |
|
442 field(CALC, "A*100/32000") |
|
443 } |
|
444 |
|
445 record(ai, "$(IOC):$(NAME)-GET-ALM-MIN-LIM_") |
|
446 { |
|
447 field(DESC, "Get alarm minimum limit in raw") |
|
448 field(DTYP, "stream") |
|
449 field(INP, "@devBronkhorst.proto readInt(61,22) $(PORT)") |
|
450 field(SCAN, "$(SCAN1)") |
|
451 field(PINI, "YES") |
|
452 field(FLNK, "$(IOC):$(NAME)-GET-ALM-MIN-LIM") |
|
453 } |
|
454 |
|
455 record(ai, "$(IOC):$(NAME)-SET-ALM-MIN-LIM") |
|
456 { |
|
457 field(DESC, "Set alarm minimum limit in %") |
|
458 field(EGU, "%") |
|
459 field(PREC, "1") |
|
460 field(FLNK, "$(IOC):$(NAME)-SET-ALM-MIN-LIM_") |
|
461 } |
|
462 |
|
463 record(calcout, "$(IOC):$(NAME)-SET-ALM-MIN-LIM_") |
|
464 { |
|
465 field(DESC, "Set alarm minimum limit in raw") |
|
466 field(DTYP, "stream") |
|
467 field(INPA, "$(IOC):$(NAME)-SET-ALM-MIN-LIM") |
|
468 field(CALC, "A*32000/100") |
|
469 field(OUT, "@devBronkhorst.proto writeInt(61,22) $(PORT)") |
|
470 field(FLNK, "$(IOC):$(NAME)-GET-ALM-MIN-LIM_") |
|
471 } |
|
472 |
|
473 record(calcout, "$(IOC):$(NAME)-SET-ALM-MIN-LIM-INIT_"){ |
|
474 field(INPA, "$(IOC):$(NAME)-SET-ALM-MIN-LIMT_") |
|
475 field(CALC, "A*100/32000") |
|
476 field(OUT, "$(IOC):$(NAME)-SET-ALM-MIN-LIM") |
|
477 field(PINI, "YES") |
|
478 field(FLNK, "$(IOC):$(NAME)-SET-ALM-MIN-LIM") |
|
479 |
|
480 } |
|
481 |
|
482 |
|
483 ################################################################################ |
|
484 # Read-Write; Get/Set alarm setpoint mode. If device goes into an alarm state, |
|
485 # a new setpoint (stored in the record $(IOC):$(NAME)-GET/SET-ALM-NEW-SP) will be set, |
|
486 # but only if device ($(IOC):$(NAME)-GET/SET-ALM-SP-MODE) is in state 1. |
|
487 ################################################################################ |
|
488 record(bi, "$(IOC):$(NAME)-GET-ALM-SP-MODE") |
|
489 { |
|
490 field(DESC, "Get alarm setpoint mode") |
|
491 field(DTYP, "stream") |
|
492 field(SCAN, "$(SCAN1)") |
|
493 field(ZNAM, "NO") |
|
494 field(ONAM, "YES") |
|
495 field(PINI, "YES") |
|
496 field(INP, "@devBronkhorst.proto readChar(61,05) $(PORT)") |
|
497 } |
|
498 |
|
499 record(bo, "$(IOC):$(NAME)-SET-ALM-SP-MODE") |
|
500 { |
|
501 field(DESC, "Set alarm setpoint mode") |
|
502 field(DTYP, "stream") |
|
503 field(SCAN, "$(SCAN1)") |
|
504 field(ZNAM, "NO") |
|
505 field(ONAM, "YES") |
|
506 field(OUT, "@devBronkhorst.proto writeChar(61,05) $(PORT)") |
|
507 field(FLNK, "$(IOC):$(NAME)-GET-ALM-SP-MODE") |
|
508 } |
|
509 |
|
510 record(ai, "$(IOC):$(NAME)-GET-ALM-NEW-SP_") |
|
511 { |
|
512 field(DESC, "Read alarm setpoint") |
|
513 field(DTYP, "stream") |
|
514 field(INP, "@devBronkhorst.proto readInt(61,26) $(PORT)") |
|
515 field(PINI, "YES") |
|
516 field(FLNK, "$(IOC):$(NAME)-GET-ALM-NEW-SP") |
|
517 } |
|
518 |
|
519 record(calc, "$(IOC):$(NAME)-GET-ALM-NEW-SP") |
|
520 { |
|
521 field(DESC, "Alarm setpoint to percentage") |
|
522 field(INPA, "$(IOC):$(NAME)-GET-ALM-NEW-SP_") |
|
523 field(EGU, "%") |
|
524 field(PREC, "1") |
|
525 field(CALC, "A*100/32000") |
|
526 } |
|
527 |
|
528 record(ao, "$(IOC):$(NAME)-SET-ALM-NEW-SP") |
|
529 { |
|
530 field(DESC, "Alarm setpoint in percentage") |
|
531 field(EGU, "%") |
|
532 field(PREC, "1") |
|
533 field(FLNK, "$(IOC):$(NAME)-SET-ALM-NEW-SP_") |
|
534 } |
|
535 |
|
536 record(calcout, "$(IOC):$(NAME)-SET-ALM-NEW-SP_") |
|
537 { |
|
538 field(DESC, "Write alarm setpoint") |
|
539 field(INPA, "$(IOC):$(NAME)-SET-ALM-NEW-SP") |
|
540 field(DTYP, "stream") |
|
541 field(CALC, "A*32000/100") |
|
542 field(OUT, "@devBronkhorst.proto writeInt(61,26) $(PORT)") |
|
543 field(FLNK, "$(IOC):$(NAME)-GET-ALM-NEW-SP_") |
|
544 } |
|
545 |
|
546 record(calcout, "$(IOC):$(NAME)-SET-ALM-NEW-SP-INIT_"){ |
|
547 field(INPA, "$(IOC):$(NAME)-SET-ALM-NEW-SP_") |
|
548 field(CALC, "A*100/32000") |
|
549 field(OUT, "$(IOC):$(NAME)-SET-ALM-NEW-SP") |
|
550 field(PINI, "YES") |
|
551 field(FLNK, "$(IOC):$(NAME)-SET-ALM-NEW-SP") |
|
552 |
|
553 } |
|
554 |
|
555 |
|
556 ################################################################################ |
|
557 # Read-Write; Alarm delay time seconds. Alarm action will be delayed when alarm |
|
558 # limit has been exceeded. Automatic reset will be delayed when sensor signal |
|
559 # reaches safe level again. |
|
560 ################################################################################ |
|
561 record(ai, "$(IOC):$(NAME)-GET-ALM-DELAY") |
|
562 { |
|
563 field(DESC, "Get alarm delay") |
|
564 field(DTYP, "stream") |
|
565 field(SCAN, "$(SCAN1)") |
|
566 field(EGU, "s") |
|
567 field(PINI, "YES") |
|
568 field(INP, "@devBronkhorst.proto readChar(61,07) $(PORT)") |
|
569 } |
|
570 |
|
571 record(ao, "$(IOC):$(NAME)-SET-ALM-DELAY") |
|
572 { |
|
573 field(DESC, "Get alarm delay") |
|
574 field(DTYP, "stream") |
|
575 field(EGU, "s") |
|
576 field(OUT, "@devBronkhorst.proto writeChar(61,07) $(PORT)") |
|
577 field(FLNK, "$(IOC):$(NAME)-GET-ALM-DELAY") |
|
578 } |
|
579 |
|
580 ################################################################################ |
|
581 # Read-Write; Enable reset alarm for different reset triggers. |
|
582 ################################################################################ |
|
583 record(mbbi, "$(IOC):$(NAME)-GET-RESET-ALM-MODE") |
|
584 { |
|
585 field(DESC, "Get reset alarm mode") |
|
586 field(DTYP, "stream") |
|
587 field(SCAN, "$(SCAN1)") |
|
588 field(INP, "@devBronkhorst.proto readChar(61,09) $(PORT)") |
|
589 field(ZRST, "OFF") |
|
590 field(ONST, "Switch") |
|
591 field(TWST, "External") |
|
592 field(THST, "External,Switch") |
|
593 field(FRST, "RS232") |
|
594 field(FVST, "RS232,Switch") |
|
595 field(SXST, "RS232,Ext") |
|
596 field(SVST, "RS232,Ext,Switch") |
|
597 field(EIST, "Auto") |
|
598 field(NIST, "Auto,Switch") |
|
599 field(TEST, "Auto,Ext") |
|
600 field(ELST, "Auto,Ext,Switch") |
|
601 field(TVST, "Auto,RS232") |
|
602 field(TTST, "Auto,RS232,Switch") |
|
603 field(FTST, "Auto,RS232,Ext") |
|
604 field(FFST, "Auto,RS232,Ext,Switch") |
|
605 #field(PINI, "YES") |
|
606 } |
|
607 |
|
608 record(mbboDirect, "$(IOC):$(NAME)-SET-RESET-ALM-MODE") |
|
609 { |
|
610 field(DESC, "Set alarm reset mode") |
|
611 field(DTYP, "stream") |
|
612 field(SCAN, "$(SCAN1)") |
|
613 field(B0, "1") |
|
614 field(B2, "1") |
|
615 field(OUT, "@devBronkhorst.proto writeChar(61,09) $(PORT)") |
|
616 # field(ZRST, "OFF") |
|
617 # field(ONST, "Switch") |
|
618 # field(TWST, "External") |
|
619 # field(THST, "Switch,External") |
|
620 # field(FRST, "RS232") |
|
621 # field(FVST, "RS232,Switch") |
|
622 # field(SXST, "RS232,Ext") |
|
623 # field(SVST, "RS232,Ext,Switch") |
|
624 # field(EIST, "Auto") |
|
625 # field(NIST, "Auto,Switch") |
|
626 # field(TEST, "Auto,Ext") |
|
627 # field(ELST, "Auto,Ext,Switch") |
|
628 # field(TVST, "Auto,RS232") |
|
629 # field(TTST, "Auto,RS232,Switch") |
|
630 # field(FTST, "Auto,RS232,Ext") |
|
631 # field(FFST, "Auto,RS232,Ext,Switch") |
|
632 field(PINI, "YES") |
|
633 field(FLNK, "$(IOC):$(NAME)-GET-RESET-ALM-MODE") |
|
634 } |
|
635 |
|
636 record(bo, "$(IOC):$(NAME)-TOGGLE-RESET-SWITCH") |
|
637 { |
|
638 field(DESC, "") |
|
639 field(OUT, "$(IOC):$(NAME)-SET-RESET-ALM-MODE.B0") |
|
640 field(FLNK, "$(IOC):$(NAME)-SET-RESET-ALM-MODE") |
|
641 |
|
642 } |
|
643 |
|
644 record(bo, "$(IOC):$(NAME)-TOGGLE-RESET-EXT") |
|
645 { |
|
646 field(DESC, "") |
|
647 field(OUT, "$(IOC):$(NAME)-SET-RESET-ALM-MODE.B1") |
|
648 field(FLNK, "$(IOC):$(NAME)-SET-RESET-ALM-MODE") |
|
649 |
|
650 } |
|
651 |
|
652 record(bo, "$(IOC):$(NAME)-TOGGLE-RESET-RS232") |
|
653 { |
|
654 field(DESC, "") |
|
655 field(OUT, "$(IOC):$(NAME)-SET-RESET-ALM-MODE.B2") |
|
656 field(FLNK, "$(IOC):$(NAME)-SET-RESET-ALM-MODE") |
|
657 |
|
658 } |
|
659 |
|
660 record(bo, "$(IOC):$(NAME)-TOGGLE-RESET-AUTO") |
|
661 { |
|
662 field(DESC, "") |
|
663 field(OUT, "$(IOC):$(NAME)-SET-RESET-ALM-MODE.B3") |
|
664 field(FLNK, "$(IOC):$(NAME)-SET-RESET-ALM-MODE") |
|
665 |
|
666 } |
|
667 |
|
668 ################################################################################ |
|
669 # Read-Write; Counter mode. |
|
670 ################################################################################ |
|
671 record(mbbi, "$(IOC):$(NAME)-GET-CNT-MODE") |
|
672 { |
|
673 field(DESC, "Get counter mode") |
|
674 field(DTYP, "stream") |
|
675 field(SCAN, "$(SCAN1)") |
|
676 field(INP, "@devBronkhorst.proto readChar(68,08) $(PORT)") |
|
677 field(ZRST, "Off") |
|
678 field(ONST, "Continuous") |
|
679 field(TWST, "To limit") |
|
680 field(PINI, "YES") |
|
681 } |
|
682 |
|
683 record(mbbo, "$(IOC):$(NAME)-SET-CNT-MODE") |
|
684 { |
|
685 field(DESC, "Set counter mode") |
|
686 field(DTYP, "stream") |
|
687 field(SCAN, "$(SCAN1)") |
|
688 field(OUT, "@devBronkhorst.proto writeChar(68,08) $(PORT)") |
|
689 field(ZRST, "Off") |
|
690 field(ONST, "Continuous") |
|
691 field(TWST, "To limit") |
|
692 field(FLNK, "$(IOC):$(NAME)-GET-CNT-MODE") |
|
693 } |
|
694 |
|
695 ################################################################################ |
|
696 # Read-Write; Counter setpoint mode. 0 - No setpoint change when limit is |
|
697 # reached. 1 - setpoint change when limit is reached |
|
698 ################################################################################ |
|
699 record(bi, "$(IOC):$(NAME)-GET-CNT-SP-MODE") |
|
700 { |
|
701 field(DESC, "Get counter mode") |
|
702 field(DTYP, "stream") |
|
703 field(SCAN, "$(SCAN1)") |
|
704 field(INP, "@devBronkhorst.proto readChar(68,05) $(PORT)") |
|
705 field(ZNAM, "NO") |
|
706 field(ONAM, "YES") |
|
707 field(PINI, "YES") |
|
708 } |
|
709 |
|
710 record(bo, "$(IOC):$(NAME)-SET-CNT-SP-MODE") |
|
711 { |
|
712 field(DESC, "Set counter mode") |
|
713 field(DTYP, "stream") |
|
714 field(SCAN, "$(SCAN1)") |
|
715 field(OUT, "@devBronkhorst.proto writeChar(68,05) $(PORT)") |
|
716 field(ZNAM, "NO") |
|
717 field(ONAM, "YES") |
|
718 field(FLNK, "$(IOC):$(NAME)-GET-CNT-SP-MODE") |
|
719 } |
|
720 |
|
721 ################################################################################ |
|
722 # Read-Write; Get/Set new counter setpoint which will apply f GET-CNT-SP-MODE is |
|
723 # YES when limit is reached. |
|
724 ################################################################################ |
|
725 record(ai, "$(IOC):$(NAME)-GET-CNT-NEW-SP_") |
|
726 { |
|
727 field(DESC, "Read counter new setpoint") |
|
728 field(DTYP, "stream") |
|
729 field(INP, "@devBronkhorst.proto readInt(68,26) $(PORT)") |
|
730 field(PINI, "YES") |
|
731 field(FLNK, "$(IOC):$(NAME)-GET-CNT-NEW-SP") |
|
732 } |
|
733 |
|
734 record(calc, "$(IOC):$(NAME)-GET-CNT-NEW-SP") |
|
735 { |
|
736 field(DESC, "Counter new setpoint to percentage") |
|
737 field(INPA, "$(IOC):$(NAME)-GET-CNT-NEW-SP_") |
|
738 field(EGU, "%") |
|
739 field(PREC, "1") |
|
740 field(CALC, "A*100/32000") |
|
741 } |
|
742 |
|
743 record(ao, "$(IOC):$(NAME)-SET-CNT-NEW-SP") |
|
744 { |
|
745 field(DESC, "Counter new setpoint in percentage") |
|
746 field(EGU, "%") |
|
747 field(PREC, "1") |
|
748 field(FLNK, "$(IOC):$(NAME)-SET-CNT-NEW-SP_") |
|
749 } |
|
750 |
|
751 record(calcout, "$(IOC):$(NAME)-SET-CNT-NEW-SP_") |
|
752 { |
|
753 field(DESC, "Write counter new setpoint") |
|
754 field(INPA, "$(IOC):$(NAME)-SET-CNT-NEW-SP") |
|
755 field(DTYP, "stream") |
|
756 field(CALC, "A*32000/100") |
|
757 field(OUT, "@devBronkhorst.proto writeInt(68,26) $(PORT)") |
|
758 field(FLNK, "$(IOC):$(NAME)-GET-CNT-NEW-SP_") |
|
759 } |
|
760 |
|
761 record(calcout, "$(IOC):$(NAME)-SET-CNT-NEW-SP-INIT_"){ |
|
762 field(INPA, "$(IOC):$(NAME)-SET-CNT-NEW-SP_") |
|
763 field(CALC, "A*100/32000") |
|
764 field(OUT, "$(IOC):$(NAME)-SET-CNT-NEW-SP") |
|
765 field(PINI, "YES") |
|
766 field(FLNK, "$(IOC):$(NAME)-SET-CNT-NEW-SP") |
|
767 |
|
768 } |
|
769 |
|
770 ################################################################################ |
|
771 # Read-Write; Counter unit |
|
772 ################################################################################ |
|
773 record(mbbi, "$(IOC):$(NAME)-GET-CNT-UNIT") |
|
774 { |
|
775 field(DESC, "Read counter unit") |
|
776 field(DTYP, "stream") |
|
777 field(INP, "@devBronkhorst.proto readChar(68,02) $(PORT)") |
|
778 field(ZRST, "ln") |
|
779 field(ONST, "mm3n") |
|
780 field(TWST, "mln") |
|
781 field(THST, "cm3n") |
|
782 field(FRST, "uln") |
|
783 field(FVST, "dm3n") |
|
784 field(SXST, "m3n") |
|
785 field(SVST, "uls") |
|
786 field(EIST, "mm3s") |
|
787 field(NIST, "mls") |
|
788 field(TEST, "cm3s") |
|
789 field(ELST, "ls") |
|
790 field(TVST, "dm3s") |
|
791 field(TTST, "m3s") |
|
792 # field(PINI, "YES") |
|
793 } |
|
794 |
|
795 record(mbbo, "$(IOC):$(NAME)-SET-CNT-UNIT") |
|
796 { |
|
797 field(DESC, "Read counter unit") |
|
798 field(DTYP, "stream") |
|
799 field(OUT, "@devBronkhorst.proto writeChar(68,02) $(PORT)") |
|
800 field(VAL, "0") |
|
801 field(ZRST, "ln") |
|
802 field(ONST, "mm3n") |
|
803 field(TWST, "mln") |
|
804 field(THST, "cm3n") |
|
805 field(FRST, "uln") |
|
806 field(FVST, "dm3n") |
|
807 field(SXST, "m3n") |
|
808 field(SVST, "uls") |
|
809 field(EIST, "mm3s") |
|
810 field(NIST, "mls") |
|
811 field(TEST, "cm3s") |
|
812 field(ELST, "ls") |
|
813 field(TVST, "dm3s") |
|
814 field(TTST, "m3s") |
|
815 field(PINI, "YES") |
|
816 field(FLNK, "$(IOC):$(NAME)-GET-CNT-UNIT") |
|
817 } |
|
818 |
|
819 |
|
820 ################################################################################ |
|
821 # Read-Write; Enable reset counter for different reset triggers. |
|
822 ################################################################################ |
|
823 record(mbbi, "$(IOC):$(NAME)-GET-RESET-CNT-MODE") |
|
824 { |
|
825 field(DESC, "Get reset alarm mode") |
|
826 field(DTYP, "stream") |
|
827 field(SCAN, "$(SCAN1)") |
|
828 field(INP, "@devBronkhorst.proto readChar(68,09) $(PORT)") |
|
829 field(ZRST, "OFF") |
|
830 field(ONST, "Switch") |
|
831 field(TWST, "External") |
|
832 field(THST, "Switch,External") |
|
833 field(FRST, "RS232") |
|
834 field(FVST, "RS232,Switch") |
|
835 field(SXST, "RS232,Ext") |
|
836 field(SVST, "RS232,Ext,Switch") |
|
837 field(EIST, "Auto") |
|
838 field(NIST, "Auto,Switch") |
|
839 field(TEST, "Auto,Ext") |
|
840 field(ELST, "Auto,Ext,Switch") |
|
841 field(TVST, "Auto,RS232") |
|
842 field(TTST, "Auto,RS232,Switch") |
|
843 field(FTST, "Auto,RS232,Ext") |
|
844 field(FFST, "Auto,RS232,Ext,Switch") |
|
845 } |
|
846 |
|
847 record(mbboDirect, "$(IOC):$(NAME)-SET-RESET-CNT-MODE") |
|
848 { |
|
849 field(DESC, "Set alarm reset mode") |
|
850 field(DTYP, "stream") |
|
851 field(SCAN, "$(SCAN1)") |
|
852 field(B0, "1") |
|
853 field(B2, "1") |
|
854 field(OUT, "@devBronkhorst.proto writeChar(68,09) $(PORT)") |
|
855 # field(ZRST, "OFF") |
|
856 # field(ONST, "Switch") |
|
857 # field(TWST, "External") |
|
858 # field(THST, "Switch,External") |
|
859 # field(FRST, "RS232") |
|
860 # field(FVST, "RS232,Switch") |
|
861 # field(SXST, "RS232,Ext") |
|
862 # field(SVST, "RS232,Ext,Switch") |
|
863 # field(EIST, "Auto") |
|
864 # field(NIST, "Auto,Switch") |
|
865 # field(TEST, "Auto,Ext") |
|
866 # field(ELST, "Auto,Ext;Switch") |
|
867 # field(TVST, "Auto,RS232") |
|
868 # field(TTST, "Auto,RS232,Switch") |
|
869 # field(FTST, "Auto,RS232,Ext") |
|
870 # field(FFST, "Auto,RS232,Ext,Switch") |
|
871 field(PINI, "YES") |
|
872 field(FLNK, "$(IOC):$(NAME)-GET-RESET-CNT-MODE") |
|
873 } |
|
874 |
|
875 record(bo, "$(IOC):$(NAME)-TOGGLE-RESET-CNT-SWITCH") |
|
876 { |
|
877 field(DESC, "") |
|
878 field(OUT, "$(IOC):$(NAME)-SET-RESET-CNT-MODE.B0") |
|
879 field(FLNK, "$(IOC):$(NAME)-SET-RESET-CNT-MODE") |
|
880 } |
|
881 |
|
882 record(bo, "$(IOC):$(NAME)-TOGGLE-RESET-CNT-EXT") |
|
883 { |
|
884 field(DESC, "") |
|
885 field(OUT, "$(IOC):$(NAME)-SET-RESET-CNT-MODE.B1") |
|
886 field(FLNK, "$(IOC):$(NAME)-SET-RESET-CNT-MODE") |
|
887 } |
|
888 |
|
889 record(bo, "$(IOC):$(NAME)-TOGGLE-RESET-CNT-RS232") |
|
890 { |
|
891 field(DESC, "") |
|
892 field(OUT, "$(IOC):$(NAME)-SET-RESET-CNT-MODE.B2") |
|
893 field(FLNK, "$(IOC):$(NAME)-SET-RESET-CNT-MODE") |
|
894 } |
|
895 |
|
896 record(bo, "$(IOC):$(NAME)-TOGGLE-RESET-CNT-AUTO") |
|
897 { |
|
898 field(DESC, "") |
|
899 field(OUT, "$(IOC):$(NAME)-SET-RESET-CNT-MODE.B3") |
|
900 field(FLNK, "$(IOC):$(NAME)-SET-RESET-CNT-MODE") |
|
901 } |
|
902 ################################################################################ |
|
903 # Write. RESET |
|
904 ################################################################################ |
|
905 record(mbbo, "$(IOC):$(NAME)-RESET") |
|
906 { |
|
907 field(DESC, "Set alarm reset mode") |
|
908 field(DTYP, "stream") |
|
909 field(SCAN, "$(SCAN1)") |
|
910 field(OUT, "@devBronkhorst.proto writeChar(73,08) $(PORT)") |
|
911 field(ZRST, "NO RESET") |
|
912 field(ONST, "Counter") |
|
913 field(TWST, "Alarm") |
|
914 field(THST, "Limit counter") |
|
915 field(FRST, "Counter reset & OFF") |
|
916 field(FVST, "Module") |
|
917 field(SXST, "Alarm info error") |
|
918 field(SVST, "Alarm info warning") |
|
919 field(FLNK, "$(IOC):$(NAME)-GET-CNT-MODE") |
|
920 |
|
921 } |
|
922 |
|
923 ################################################################################ |
|
924 ################################################################################ |
|
925 #FLOAT PARAMETERS |
|
926 ################################################################################ |
|
927 ################################################################################ |
|
928 ################################################################################ |
|
929 # Read; Counter value |
|
930 ################################################################################ |
|
931 record(ai, "$(IOC):$(NAME)-GET-CNT") |
|
932 { |
|
933 field(DESC, "Read counter") |
|
934 field(PREC, "3") |
|
935 } |
|
936 |
|
937 record(aSub, "$(IOC):$(NAME)-GET-CNT_") |
|
938 { |
|
939 field(DESC, "Interpret long as float") |
|
940 field(INPA, "$(IOC):$(NAME)-GET-CNT__") |
|
941 field(FTA, "LONG") |
|
942 field(OUTA, "$(IOC):$(NAME)-GET-CNT") |
|
943 field(FTVA, "FLOAT") |
|
944 field(SNAM, "readFloat") |
|
945 field(FLNK, "$(IOC):$(NAME)-GET-CNT") |
|
946 } |
|
947 |
|
948 record(ai, "$(IOC):$(NAME)-GET-CNT__") |
|
949 { |
|
950 field(DESC, "Read counter as long") |
|
951 field(DTYP, "stream") |
|
952 field(INP, "@devBronkhorst.proto readFloat(68,41) $(PORT)") |
|
953 field(SCAN, "$(SCAN2)") |
|
954 field(PINI, "YES") |
|
955 field(FLNK, "$(IOC):$(NAME)-GET-CNT_") |
|
956 } |
|
957 |
|
958 record(ao, "$(IOC):$(NAME)-SET-CNT") |
|
959 { |
|
960 field(DESC, "Set counter") |
|
961 field(FLNK, "$(IOC):$(NAME)-SET-CNT_") |
|
962 } |
|
963 |
|
964 record(aSub, "$(IOC):$(NAME)-SET-CNT_") |
|
965 { |
|
966 field(DESC, "Interpret long as float") |
|
967 field(INPA, "$(IOC):$(NAME)-SET-CNT") |
|
968 field(FTA, "FLOAT") |
|
969 field(OUTA, "$(IOC):$(NAME)-SET-CNT__") |
|
970 field(FTVA, "LONG") |
|
971 field(SNAM, "writeFloat") |
|
972 field(FLNK, "$(IOC):$(NAME)-SET-CNT__") |
|
973 } |
|
974 |
|
975 record(ao, "$(IOC):$(NAME)-SET-CNT__") |
|
976 { |
|
977 field(DESC, "Set counter as long") |
|
978 field(DTYP, "stream") |
|
979 field(OUT, "@devBronkhorst.proto writeFloat(68,41) $(PORT)") |
|
980 field(FLNK, "$(IOC):$(NAME)-GET-CNT__") |
|
981 } |
|
982 |
|
983 record(aSub, "$(IOC):$(NAME)-SET-CNT-INIT_") |
|
984 { |
|
985 field(DESC, "Interpret long as float") |
|
986 field(INPA, "$(IOC):$(NAME)-SET-CNT__") |
|
987 field(FTA, "LONG") |
|
988 field(OUTA, "$(IOC):$(NAME)-SET-CNT") |
|
989 field(FTVA, "FLOAT") |
|
990 field(SNAM, "readFloat") |
|
991 field(PINI, "YES") |
|
992 field(FLNK, "$(IOC):$(NAME)-SET-CNT") |
|
993 } |
|
994 |
|
995 |
|
996 ################################################################################ |
|
997 # Read; Counter limit |
|
998 ################################################################################ |
|
999 record(ai, "$(IOC):$(NAME)-GET-CNT-LIM") |
|
1000 { |
|
1001 field(DESC, "Read counter limit") |
|
1002 field(PREC, "3") |
|
1003 } |
|
1004 |
|
1005 record(aSub, "$(IOC):$(NAME)-GET-CNT-LIM_") |
|
1006 { |
|
1007 field(DESC, "Interpret long as float") |
|
1008 field(INPA, "$(IOC):$(NAME)-GET-CNT-LIM__") |
|
1009 field(FTA, "LONG") |
|
1010 field(OUTA, "$(IOC):$(NAME)-GET-CNT-LIM") |
|
1011 field(FTVA, "FLOAT") |
|
1012 field(SNAM, "readFloat") |
|
1013 field(FLNK, "$(IOC):$(NAME)-GET-CNT-LIM") |
|
1014 } |
|
1015 |
|
1016 record(ai, "$(IOC):$(NAME)-GET-CNT-LIM__") |
|
1017 { |
|
1018 field(DESC, "Read counter limit as long") |
|
1019 field(DTYP, "stream") |
|
1020 field(INP, "@devBronkhorst.proto readFloat(68,43) $(PORT)") |
|
1021 field(PINI, "YES") |
|
1022 field(FLNK, "$(IOC):$(NAME)-GET-CNT-LIM_") |
|
1023 } |
|
1024 |
|
1025 record(ao, "$(IOC):$(NAME)-SET-CNT-LIM") |
|
1026 { |
|
1027 field(DESC, "Set counter limit") |
|
1028 field(PREC, "3") |
|
1029 field(FLNK, "$(IOC):$(NAME)-SET-CNT-LIM_") |
|
1030 } |
|
1031 |
|
1032 record(aSub, "$(IOC):$(NAME)-SET-CNT-LIM_") |
|
1033 { |
|
1034 field(DESC, "Interpret long as float") |
|
1035 field(INPA, "$(IOC):$(NAME)-SET-CNT-LIM") |
|
1036 field(FTA, "FLOAT") |
|
1037 field(OUTA, "$(IOC):$(NAME)-SET-CNT-LIM__") |
|
1038 field(FTVA, "LONG") |
|
1039 field(SNAM, "writeFloat") |
|
1040 field(FLNK, "$(IOC):$(NAME)-SET-CNT-LIM__") |
|
1041 } |
|
1042 |
|
1043 record(ao, "$(IOC):$(NAME)-SET-CNT-LIM__") |
|
1044 { |
|
1045 field(DESC, "Set counter limit as INPlong") |
|
1046 field(DTYP, "stream") |
|
1047 field(OUT, "@devBronkhorst.proto writeFloat(68,43) $(PORT)") |
|
1048 field(FLNK, "$(IOC):$(NAME)-GET-CNT-LIM__") |
|
1049 } |
|
1050 |
|
1051 record(aSub, "$(IOC):$(NAME)-SET-CNT-LIM-INIT_") |
|
1052 { |
|
1053 field(DESC, "Interpret long as float") |
|
1054 field(INPA, "$(IOC):$(NAME)-SET-CNT-LIM__") |
|
1055 field(FTA, "LONG") |
|
1056 field(OUTA, "$(IOC):$(NAME)-SET-CNT-LIM") |
|
1057 field(FTVA, "FLOAT") |
|
1058 field(SNAM, "readFloat") |
|
1059 field(PINI, "YES") |
|
1060 field(FLNK, "$(IOC):$(NAME)-SET-CNT-LIM") |
|
1061 } |
|
1062 |
|
1063 ################################################################################ |
|
1064 # Read/write PID parameters |
|
1065 ################################################################################ |
|
1066 record(ai, "$(IOC):$(NAME)-GET-P") |
|
1067 { |
|
1068 field(DESC, "Read P") |
|
1069 field(PREC, "3") |
|
1070 } |
|
1071 |
|
1072 record(aSub, "$(IOC):$(NAME)-GET-P_") |
|
1073 { |
|
1074 field(DESC, "Interpret long as float") |
|
1075 field(INPA, "$(IOC):$(NAME)-GET-P__") |
|
1076 field(FTA, "LONG") |
|
1077 field(OUTA, "$(IOC):$(NAME)-GET-P") |
|
1078 field(FTVA, "FLOAT") |
|
1079 field(SNAM, "readFloat") |
|
1080 field(FLNK, "$(IOC):$(NAME)-GET-P") |
|
1081 } |
|
1082 |
|
1083 record(ai, "$(IOC):$(NAME)-GET-P__") |
|
1084 { |
|
1085 field(DESC, "Read P as long") |
|
1086 field(SCAN, "Passive") |
|
1087 field(DTYP, "stream") |
|
1088 field(INP, "@devBronkhorst.proto readFloat(72,55) $(PORT)") |
|
1089 field(PINI, "YES") |
|
1090 field(FLNK, "$(IOC):$(NAME)-GET-P_") |
|
1091 } |
|
1092 |
|
1093 record(ao, "$(IOC):$(NAME)-SET-P") |
|
1094 { |
|
1095 field(DESC, "Set P") |
|
1096 field(PREC, "3") |
|
1097 field(FLNK, "$(IOC):$(NAME)-SET-P_") |
|
1098 } |
|
1099 |
|
1100 record(aSub, "$(IOC):$(NAME)-SET-P_") |
|
1101 { |
|
1102 field(DESC, "Interpret long as float") |
|
1103 field(INPA, "$(IOC):$(NAME)-SET-P") |
|
1104 field(FTA, "FLOAT") |
|
1105 field(OUTA, "$(IOC):$(NAME)-SET-P__") |
|
1106 field(FTVA, "LONG") |
|
1107 field(SNAM, "writeFloat") |
|
1108 field(FLNK, "$(IOC):$(NAME)-SET-P__") |
|
1109 } |
|
1110 |
|
1111 record(ao, "$(IOC):$(NAME)-SET-P__") |
|
1112 { |
|
1113 field(DESC, "Set P as INPlong") |
|
1114 field(DTYP, "stream") |
|
1115 field(OUT, "@devBronkhorst.proto writeFloat(72,55) $(PORT)") |
|
1116 field(FLNK, "$(IOC):$(NAME)-GET-P__") |
|
1117 } |
|
1118 |
|
1119 record(ai, "$(IOC):$(NAME)-GET-I") |
|
1120 { |
|
1121 field(DESC, "Read I") |
|
1122 field(PREC, "3") |
|
1123 } |
|
1124 |
|
1125 record(aSub, "$(IOC):$(NAME)-GET-I_") |
|
1126 { |
|
1127 field(DESC, "Interpret long as float") |
|
1128 field(INPA, "$(IOC):$(NAME)-GET-I__") |
|
1129 field(FTA, "LONG") |
|
1130 field(OUTA, "$(IOC):$(NAME)-GET-I") |
|
1131 field(FTVA, "FLOAT") |
|
1132 field(SNAM, "readFloat") |
|
1133 field(FLNK, "$(IOC):$(NAME)-GET-I") |
|
1134 } |
|
1135 |
|
1136 record(ai, "$(IOC):$(NAME)-GET-I__") |
|
1137 { |
|
1138 field(DESC, "Read I as long") |
|
1139 field(SCAN, "Passive") |
|
1140 field(DTYP, "stream") |
|
1141 field(INP, "@devBronkhorst.proto readFloat(72,56) $(PORT)") |
|
1142 field(PINI, "YES") |
|
1143 field(FLNK, "$(IOC):$(NAME)-GET-I_") |
|
1144 } |
|
1145 |
|
1146 record(ao, "$(IOC):$(NAME)-SET-I") |
|
1147 { |
|
1148 field(DESC, "Set I") |
|
1149 field(PREC, "3") |
|
1150 field(FLNK, "$(IOC):$(NAME)-SET-I_") |
|
1151 } |
|
1152 |
|
1153 record(aSub, "$(IOC):$(NAME)-SET-I_") |
|
1154 { |
|
1155 field(DESC, "Interpret long as float") |
|
1156 field(INPA, "$(IOC):$(NAME)-SET-I") |
|
1157 field(FTA, "FLOAT") |
|
1158 field(OUTA, "$(IOC):$(NAME)-SET-I__") |
|
1159 field(FTVA, "LONG") |
|
1160 field(SNAM, "writeFloat") |
|
1161 field(FLNK, "$(IOC):$(NAME)-SET-I__") |
|
1162 } |
|
1163 |
|
1164 record(ao, "$(IOC):$(NAME)-SET-I__") |
|
1165 { |
|
1166 field(DESC, "Set I as INPlong") |
|
1167 field(DTYP, "stream") |
|
1168 field(OUT, "@devBronkhorst.proto writeFloat(72,56) $(PORT)") |
|
1169 field(FLNK, "$(IOC):$(NAME)-GET-I__") |
|
1170 } |
|
1171 |
|
1172 record(ai, "$(IOC):$(NAME)-GET-D") |
|
1173 { |
|
1174 field(DESC, "Read D") |
|
1175 field(PREC, "3") |
|
1176 } |
|
1177 |
|
1178 record(aSub, "$(IOC):$(NAME)-GET-D_") |
|
1179 { |
|
1180 field(DESC, "Interpret long as float") |
|
1181 field(INPA, "$(IOC):$(NAME)-GET-D__") |
|
1182 field(FTA, "LONG") |
|
1183 field(OUTA, "$(IOC):$(NAME)-GET-D") |
|
1184 field(FTVA, "FLOAT") |
|
1185 field(SNAM, "readFloat") |
|
1186 field(FLNK, "$(IOC):$(NAME)-GET-D") |
|
1187 } |
|
1188 |
|
1189 record(ai, "$(IOC):$(NAME)-GET-D__") |
|
1190 { |
|
1191 field(DESC, "Read D as long") |
|
1192 field(SCAN, "Passive") |
|
1193 field(DTYP, "stream") |
|
1194 field(INP, "@devBronkhorst.proto readFloat(72,57) $(PORT)") |
|
1195 field(PINI, "YES") |
|
1196 field(FLNK, "$(IOC):$(NAME)-GET-D_") |
|
1197 } |
|
1198 |
|
1199 record(ao, "$(IOC):$(NAME)-SET-D") |
|
1200 { |
|
1201 field(DESC, "Set D") |
|
1202 field(PREC, "3") |
|
1203 field(FLNK, "$(IOC):$(NAME)-SET-D_") |
|
1204 } |
|
1205 |
|
1206 record(aSub, "$(IOC):$(NAME)-SET-D_") |
|
1207 { |
|
1208 field(DESC, "Interpret long as float") |
|
1209 field(INPA, "$(IOC):$(NAME)-SET-D") |
|
1210 field(FTA, "FLOAT") |
|
1211 field(OUTA, "$(IOC):$(NAME)-SET-D__") |
|
1212 field(FTVA, "LONG") |
|
1213 field(SNAM, "writeFloat") |
|
1214 field(FLNK, "$(IOC):$(NAME)-SET-D__") |
|
1215 } |
|
1216 |
|
1217 record(ao, "$(IOC):$(NAME)-SET-D__") |
|
1218 { |
|
1219 field(DESC, "Set D as INPlong") |
|
1220 field(DTYP, "stream") |
|
1221 field(OUT, "@devBronkhorst.proto writeFloat(72,57) $(PORT)") |
|
1222 field(FLNK, "$(IOC):$(NAME)-GET-D__") |
|
1223 } |
|
1224 ################################################################################ |
|
1225 ################################################################################ |
|
1226 #STATUS PARAMETERS |
|
1227 ################################################################################ |
|
1228 ################################################################################ |
|
1229 ################################################################################ |
|
1230 # Read:Number of error messages. 0 - no error message, 1 - at least 1 error |
|
1231 # message |
|
1232 ################################################################################ |
|
1233 record(bi, "$(IOC):$(NAME)-ERROR-MSG-NUM") |
|
1234 { |
|
1235 field(DESC, "Number of error mesgs") |
|
1236 field(INP, "$(IOC):$(NAME)-GET-ALARM-INFO.B0") |
|
1237 field(SCAN, "$(SCAN1)") |
|
1238 field(ZNAM, "No error") |
|
1239 field(ONAM, "Error") |
|
1240 field(FLNK, "$(IOC):$(NAME)-WARNING-MSG-NUM") |
|
1241 } |
|
1242 |
|
1243 ################################################################################ |
|
1244 # Read:Number of warning messages. 0 - no warning message, 1 - at least 1 |
|
1245 # warning message |
|
1246 ################################################################################ |
|
1247 record(bi, "$(IOC):$(NAME)-WARNING-MSG-NUM") |
|
1248 { |
|
1249 field(DESC, "Number of warning msgs") |
|
1250 field(INP, "$(IOC):$(NAME)-GET-ALARM-INFO.B1") |
|
1251 field(SCAN, "$(SCAN1)") |
|
1252 field(ZNAM, "No warning") |
|
1253 field(ONAM, "Warning") |
|
1254 field(FLNK, "$(IOC):$(NAME)-MIN-ALARM") |
|
1255 } |
|
1256 |
|
1257 ################################################################################ |
|
1258 # Read:Number of minimum alarm messages for measured signal. |
|
1259 # 0 - no minimum alarm message, |
|
1260 # 1 - at least 1 minumum alarm message |
|
1261 ################################################################################ |
|
1262 record(bi, "$(IOC):$(NAME)-MIN-ALARM") |
|
1263 { |
|
1264 field(DESC, "Number of min alarm msgs") |
|
1265 field(INP, "$(IOC):$(NAME)-GET-ALARM-INFO.B2") |
|
1266 field(SCAN, "$(SCAN1)") |
|
1267 field(ZNAM, "No min alarm") |
|
1268 field(ONAM, "Min alarm") |
|
1269 field(FLNK, "$(IOC):$(NAME)-MAX-ALARM") |
|
1270 } |
|
1271 |
|
1272 ################################################################################ |
|
1273 # Read:Number of maximum alarm messages for measured signal. |
|
1274 # 0 - no maximum alarm message, |
|
1275 # 1 - at least 1 maximum alarm message |
|
1276 ################################################################################ |
|
1277 record(bi, "$(IOC):$(NAME)-MAX-ALARM") |
|
1278 { |
|
1279 field(DESC, "Number of max alar msgs") |
|
1280 field(INP, "$(IOC):$(NAME)-GET-ALARM-INFO.B3") |
|
1281 field(SCAN, "$(SCAN1)") |
|
1282 field(ZNAM, "No max alarm") |
|
1283 field(ONAM, "Max alarm") |
|
1284 field(FLNK, "$(IOC):$(NAME)-BATCH-CNT-ALARM") |
|
1285 } |
|
1286 |
|
1287 ################################################################################ |
|
1288 # Read: 0 - Batch counter has not reached it's limit |
|
1289 # 1 - Batch counter has reached it's limit |
|
1290 ################################################################################ |
|
1291 record(bi, "$(IOC):$(NAME)-BATCH-CNT-ALARM") |
|
1292 { |
|
1293 field(DESC, "Batch counter alarm") |
|
1294 field(INP, "$(IOC):$(NAME)-GET-ALARM-INFO.B4") |
|
1295 field(SCAN, "$(SCAN1)") |
|
1296 field(ZNAM, "OK") |
|
1297 field(ONAM, "Limit") |
|
1298 field(FLNK, "$(IOC):$(NAME)-RESPONSE-ALARM") |
|
1299 } |
|
1300 |
|
1301 ################################################################################ |
|
1302 # Read: 0 - Response OK (setpoint-measure within limit) |
|
1303 # 1 - Response alarm message: setpoint-measure is too high |
|
1304 ################################################################################ |
|
1305 record(bi, "$(IOC):$(NAME)-RESPONSE-ALARM") |
|
1306 { |
|
1307 field(DESC, "Response alarm") |
|
1308 field(INP, "$(IOC):$(NAME)-GET-ALARM-INFO.B5") |
|
1309 field(SCAN, "$(SCAN1)") |
|
1310 field(ZNAM, "OK") |
|
1311 field(ONAM, "SP to high") |
|
1312 field(FLNK, "$(IOC):$(NAME)-MASTER-OUT-ALARM") |
|
1313 } |
|
1314 |
|
1315 ################################################################################ |
|
1316 # Read: 0 - Master output signal OK (or unused) |
|
1317 # 1 - Master output signal not received: check master instrument |
|
1318 ################################################################################ |
|
1319 record(bi, "$(IOC):$(NAME)-MASTER-OUT-ALARM") |
|
1320 { |
|
1321 field(DESC, "Master output alarm") |
|
1322 field(INP, "$(IOC):$(NAME)-GET-ALARM-INFO.B6") |
|
1323 field(SCAN, "$(SCAN1)") |
|
1324 field(ZNAM, "OK") |
|
1325 field(ONAM, "Not received") |
|
1326 field(FLNK, "$(IOC):$(NAME)-HARDWARE-ALARM") |
|
1327 } |
|
1328 |
|
1329 ################################################################################ |
|
1330 # Read: 0 - Hardware OK |
|
1331 # 1 - Hardware error message: check your hardware |
|
1332 ################################################################################ |
|
1333 record(bi, "$(IOC):$(NAME)-HARDWARE-ALARM") |
|
1334 { |
|
1335 field(DESC, "Response alarm") |
|
1336 field(INP, "$(IOC):$(NAME)-GET-ALARM-INFO.B7") |
|
1337 field(SCAN, "$(SCAN1)") |
|
1338 field(ZNAM, "OK") |
|
1339 field(ONAM, "Error") |
|
1340 } |
|
1341 |
|
1342 |
|
1343 ################################################################################ |
|
1344 # Read: Check if communication is OK |
|
1345 ################################################################################ |
|
1346 record(calc, "$(IOC):$(NAME)-COMM-STATUS") |
|
1347 { |
|
1348 field(DESC, "Communication status") |
|
1349 field(INPA, "$(IOC):$(NAME)-GET-MEASURE_.STAT") |
|
1350 field(CALC, "A>0") |
|
1351 field(FLNK, "$(IOC):$(NAME)-ALARM") |
|
1352 } |
|
1353 |
|
1354 ################################################################################ |
|
1355 # Read; Sum of communication and device errors. If either device or comm. is in |
|
1356 # error, value is 1. LED on the main screen uses this to determine if everything |
|
1357 # is ok. |
|
1358 ################################################################################ |
|
1359 record(calc, "$(IOC):$(NAME)-ALARM") |
|
1360 { |
|
1361 field(DESC, "Communication status") |
|
1362 field(INPA, "$(IOC):$(NAME)-COMM-STATUS") |
|
1363 field(INPB, "$(IOC):$(NAME)-GET-ALARM-INFO.B0") |
|
1364 field(INPC, "$(IOC):$(NAME)-GET-ALARM-INFO.B1") |
|
1365 field(INPD, "$(IOC):$(NAME)-GET-ALARM-INFO.B2") |
|
1366 field(INPE, "$(IOC):$(NAME)-GET-ALARM-INFO.B3") |
|
1367 field(INPF, "$(IOC):$(NAME)-GET-ALARM-INFO.B5") |
|
1368 field(INPG, "$(IOC):$(NAME)-GET-ALARM-INFO.B6") |
|
1369 field(INPH, "$(IOC):$(NAME)-GET-ALARM-INFO.B7") |
|
1370 field(CALC, "(A+B+C+D+E+F+G+H)>0") |
|
1371 } |
|
1372 |
|
1373 ################################################################################ |
|
1374 # Lock/unlock secured parameters, e.g. PID parameters |
|
1375 ################################################################################ |
|
1376 |
|
1377 record(ai, "$(IOC):$(NAME)-GET-INITRESET__") |
|
1378 { |
|
1379 field(DESC, "Get locked/unlocked") |
|
1380 field(DTYP, "stream") |
|
1381 field(SCAN, "$(SCAN1)") |
|
1382 field(INP, "@devBronkhorst.proto readChar(00,0A) $(PORT)") |
|
1383 field(PINI, "YES") |
|
1384 field(FLNK, "$(IOC):$(NAME)-GET-INITRESET_") |
|
1385 } |
|
1386 |
|
1387 record(calcout, "$(IOC):$(NAME)-GET-INITRESET_"){ |
|
1388 field(CALC, "(A=82)?0:(A=64)?1:2") |
|
1389 field(INPA, "$(IOC):$(NAME)-GET-INITRESET__") |
|
1390 field(OUT, "$(IOC):$(NAME)-GET-INITRESET") |
|
1391 field(FLNK, "$(IOC):$(NAME)-GET-INITRESET") |
|
1392 } |
|
1393 |
|
1394 record(mbbo, "$(IOC):$(NAME)-GET-INITRESET") |
|
1395 { |
|
1396 field(DESC, "Locked/unlocked") |
|
1397 field(ZRVL, "0") |
|
1398 field(ZRST, "Lock") |
|
1399 field(ONVL, "1") |
|
1400 field(ONST, "Unlock") |
|
1401 field(TWVL, "2") |
|
1402 field(TWST, "Unknown") |
|
1403 } |
|
1404 |
|
1405 record(mbbo, "$(IOC):$(NAME)-SET-INITRESET") |
|
1406 { |
|
1407 field(DESC, "Lock/unlock") |
|
1408 field(ZRVL, "0") |
|
1409 field(ZRST, "Lock") |
|
1410 field(ONVL, "1") |
|
1411 field(ONST, "Unlock") |
|
1412 field(OUT, "$(IOC):$(NAME)-SET-INITRESET_") |
|
1413 field(FLNK, "$(IOC):$(NAME)-SET-INITRESET_") |
|
1414 } |
|
1415 |
|
1416 record(calcout, "$(IOC):$(NAME)-SET-INITRESET_"){ |
|
1417 field(CALC, "(A=1)?64:82") |
|
1418 field(INPA, "$(IOC):$(NAME)-SET-INITRESET") |
|
1419 field(OUT, "$(IOC):$(NAME)-SET-INITRESET__") |
|
1420 field(FLNK, "$(IOC):$(NAME)-SET-INITRESET__") |
|
1421 } |
|
1422 |
|
1423 record(ao, "$(IOC):$(NAME)-SET-INITRESET__") |
|
1424 { |
|
1425 field(DESC, "Send Lock/unlock") |
|
1426 field(DTYP, "stream") |
|
1427 field(SCAN, "$(SCAN1)") |
|
1428 field(OUT, "@devBronkhorst.proto writeChar(00,0A) $(PORT)") |
|
1429 field(FLNK, "$(IOC):$(NAME)-GET-INITRESET__") |
|
1430 } |