Repositório do ISTTOK
Bernardo Carvalho
2020-01-27 21d175abcd2ae1e3e80abd5d15f2322c5ee35a16
commit | author | age
ab49f0 1 #############################################
BC 2 ## Project       : ISTTOK slow Control
3 ##
4 ## File          : 
5 ## Description   : Records for ISTTOK Control I/O channels connected to 2 Velleman board 
6 ##
7 ##
8 ## Author        : Bernardo Carvalho (IPFN-IST)
9 ##
10 ## Copyright (c) : IPFN-IST 2015-2020
11 ## Created 3-Mar-2019
12 ##
13 ##
14 ##########################################
15
16 ################
dabf6b 17 ###############
BC 18 # REGISTER 56 #
19 ###############
20 ###############
21
22 #####################################
23 ### 24V commands - Optocoupler Out###
24 #####################################
25 record(bo, "$(P)$(R)TMPump1-ControllerOn" ) {
26 #       field(DESC,"Sinal p/ TMP 1, Liga a alimentação do controlador, vai a HIGH e depois a LOW")
27 #       field( ZNAM, "Off" )record(bo, "$(P)$(R)TMPControllerOn" ) {
28     field(ZNAM, "Off" )
29     field(ONAM, "Pulse" )
30     field(HIGH, "2.5")
31         field(FLNK, "$(P)$(R)TMPump1-ControllerOnInv" )
5905d3 32     field(VAL,"0")
dabf6b 33
BC 34 #    field( FLNK, "$(P)$(R)TMPControllerOnInv" )
35 }
36 record(calcout, "$(P)$(R)TMPump1-ControllerOnInv" ) {
37 #record(calcout, "$(P)$(R)TMPControllerOnInv" ) {
38     field( INPA, "$(P)$(R)TMPControllerOn NPP MS" )
39     field( OUT,  "$(P)$(R)PCF8574:56:REGISTER.B0 PP MS" )
40     field( OOPT, "On Change" )
41     field( CALC, "A?0:1" )
42 }
43
44 record(bo, "$(P)$(R)TMPump1-ControllerOff" ) {
45 #   field(DESC," Sinal p/ TMP 1, desliga a alimentação do controlador, LOW->HIGH-> LOW")
46 #   record(bo, "$(P)$(R)TMPControllerOff" ) {
47     field(ZNAM, "Off" )
48     field(ONAM, "Pulse" )
49     field(HIGH, "2.5")
50     #field( FLNK, "$(P)$(R)TMPControllerOffInv" )    
51     field(FLNK, "$(P)$(R)TMPump1-ControllerOffInv" )
5905d3 52     field(VAL,"0")
dabf6b 53 }
BC 54
55 record(calcout, "$(P)$(R)TMPump1-ControllerOffInv") {
56     field( INPA, "$(P)$(R)TMPump1-ControllerOff NPP MS" )
57     field( OUT,  "$(P)$(R)PCF8574:56:REGISTER.B1 PP MS")
58     field( OOPT, "On Change" )
59     field( CALC, "A?0:1" )
60 }
61
62 record(bo, "$(P)$(R)TMPump1-MotorOn" ) {
63     field( ZNAM, "Off")
64     field( ONAM, "Pulse")
65     field( HIGH, "2.5")
66     field( FLNK, "$(P)$(R)TMPump1-MotorOnInv")
67 }
68
69 record(calcout, "$(P)$(R)TMPump1-MotorOnInv" ) {
70     field( INPA, "$(P)$(R)TMPump1-MotorOn NPP MS")
71     field( OUT,  "$(P)$(R)PCF8574:56:REGISTER.B2 PP MS")
72     field( OOPT, "On Change")
73     field( CALC, "A?0:1" )
74 }
75
76 record(bo, "$(P)$(R)TMPump1-MotorOff") {
77     field( ZNAM, "Off")
78     field( ONAM, "Pulse")
79     field( HIGH, "2.5")
80     field( FLNK, "$(P)$(R)TMPump1-MotorOffInv")
5905d3 81     field(VAL,"0")
dabf6b 82 }
BC 83
84 record(calcout, "$(P)$(R)TMPump1-MotorOffInv") {
85     field( INPA, "$(P)$(R)TMPump1-MotorOff NPP MS")
86     field( OUT,  "$(P)$(R)PCF8574:56:REGISTER.B3 PP MS")
87     field( OOPT, "On Change")
88     field( CALC, "A?0:1")
89 }
90
91 #############################
92 ### TMP1 Controller inputs###
93 #############################
94 record(fanout, "$(P)$(R)PCF8574:56:REGISTER:READ:FNOUT"){
95     field(LNK1, "$(P)$(R)TMPump1-Power")
96     field(LNK2, "$(P)$(R)TMPump1-Emergency")
97     field(LNK3, "$(P)$(R)TMPump1-Acceleration")
98     field(LNK4, "$(P)$(R)TMPump1-NormalOperation")
99 }
100 record(bi , "$(P)$(R)TMPump1-Power" ) {
101    field(DESC," TMP1 – Alimentada 220V ")
102     field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B4 NPP NMS")
103     field( ZNAM, "ON" )
104     field( ONAM, "OFF" )
105 }
106 record(bi , "$(P)$(R)TMPump1-Emergency") {
107    field(DESC," TMP1 – Falha ")
fa9fc9 108     field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B6 NPP NMS")
BC 109 #    field(VAL,"1")
dabf6b 110     field( ZNAM, "ON" )
BC 111     field( ONAM, "OFF" )
112        field(ZSV,"MAJOR")
113 }
114 record(bi , "$(P)$(R)TMPump1-Acceleration") {
115        field(DESC," TMP1 – Motor em aceleração ")
fa9fc9 116     field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B5 NPP NMS")
dabf6b 117     field( ZNAM, "ON" )
BC 118     field( ONAM, "OFF" )
fa9fc9 119        field(ZSV,"MINOR")
dabf6b 120 }
BC 121
122 record(bi , "$(P)$(R)TMPump1-NormalOperation" ) {
fa9fc9 123        field(DESC," TMP1 – Operação Normal ")
dabf6b 124     field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B7 NPP NMS")
BC 125     field( ZNAM, "ON" )
5905d3 126     field(ONAM, "OFF" )
dabf6b 127        field(OSV,"MINOR")
BC 128 }
129
130 ###############
131 ###############
132 # REGISTER 57 #
133 ###############
134 ###############
135
136 ##############################
137 ### TMP2 Controller Inputs ###
138 ##############################
139 record(fanout, "$(P)$(R)PCF8574:57:REGISTER:READ:FNOUT"){
140     field(LNK1, "$(P)$(R)TMPump2-Emergency")
141     field(LNK2, "$(P)$(R)TMPump2-Acceleration")
5905d3 142     field(LNK3, "$(P)$(R)TTSystem-tzero")
4c4f22 143     field(LNK4, "$(P)$(R)Emergency-PhysButton")
dabf6b 144 }
BC 145 record(bi , "$(P)$(R)TMPump2-Emergency") {
146        field(DESC," TMP2 – Falha ")
94f7cb 147 #    field(INP, "$(P)$(R)PCF8574:57:REGISTER:READ.B0 NPP NMS")
BC 148     field(VAL,"1")
172d34 149     field(ZNAM, "ON" )
BC 150     field(ONAM, "OFF" )
151        field(ZSV,"MAJOR")
dabf6b 152 }
BC 153
154 record(bi , "$(P)$(R)TMPump2-Acceleration") {
155     field(DESC," TMP2 – START until Normal ")
156        field( INP, "$(P)$(R)PCF8574:57:REGISTER:READ.B1 NPP NMS")
157     field( ZNAM, "ON" )
158     field( ONAM, "OFF" )
159 }
5905d3 160 ####################################
BC 161 #       TIMING TRIGGER ON/OFF      #
162 ####################################
163 record(bi , "$(P)$(R)TTSystem-tzero" ) {
164     field(DESC,"Trigger control 60s before shot")
5d5b51 165     field(INP, "$(P)$(R)PCF8574:57:REGISTER:READ.B7")
BC 166 #    field(VAL,"1")
5905d3 167     field(ZNAM, "OFF" )
BC 168     field(ONAM, "ON" )
169 }
dabf6b 170
BC 171 ###############################
172 ### TMP2 Controller Outputs ###
173 ###############################
5905d3 174 record(bo, "$(P)$(R)TMPump2-Motor" ) {
BC 175    field(DESC," Motor On/Off ")
176 #   record(bo, "$(P)$(R)TMP2MotorOnOff" ) {
dabf6b 177     field( OUT,  "$(P)$(R)PCF8574:57:REGISTER.B2 PP MS")
BC 178     field( ZNAM, "ON")
179     field( ONAM, "OFF")
180 }
181
182 ##############################
183 #       BUZZER ON/OFF        #
184 ##############################
185 record(bo, "$(P)$(R)Buzzer" ) {
5905d3 186     field(DESC," Lab Buzzer ")
BC 187     field(ZNAM, "Off" )
188     field(ONAM, "Pulse" )
189     field(HIGH, "2.5")
190     field(FLNK, "$(P)$(R)BuzzerInv" )
ab49f0 191     field(VAL, "0")
dabf6b 192 }
BC 193 record(calcout, "$(P)$(R)BuzzerInv" ) {
ab49f0 194     field(INPA, "$(P)$(R)Buzzer NPP MS" )
BC 195     field(OUT,  "$(P)$(R)PCF8574:57:REGISTER.B3 PP MS" )
196     field(OOPT, "On Change" )
197     field(CALC, "A?0:1" )
dabf6b 198 }
BC 199
200 ##############################
201 #       EMERGENCY MODE       #
202 ##############################
4c4f22 203 record(bi, "$(P)$(R)Emergency-PhysButton" ) {
ab49f0 204        field(DESC,"External Physical Emergency Button")
BC 205        field(INP, "$(P)$(R)PCF8574:57:REGISTER:READ.B4 NPP NMS")
4c4f22 206     field(ZNAM, "ON")
BC 207     field(ONAM, "OFF" )
208     field(FLNK, "$(P)$(R)Emergency" )
209 }
210 record(bo, "$(P)$(R)Emergency-UserButton" ) {
ab49f0 211        field(DESC,"Soft User Emergency Button")
4c4f22 212     field(ZNAM, "OFF" )
BC 213     field(ONAM, "ON")
214     field(FLNK, "$(P)$(R)Emergency" )
215 }
216 record(calc, "$(P)$(R)Emergency" ) {
ab49f0 217        field(DESC, "Emergency State")
BC 218     field(INPA, "$(P)$(R)Emergency-PhysButton.RVAL NPP" ) 
219     field(INPB, "$(P)$(R)Emergency-UserButton.RVAL NPP" ) 
4c4f22 220     field(CALC, "A || B" ) # ! Not
dabf6b 221 }
BC 222
223 ############
224 # NOT USED #
225 ############
226 #$(P)$(R)PCF8574:57:REGISTER:READ.B5
227 #$(P)$(R)PCF8574:57:REGISTER:READ.B6
228
229
230 ###############
231 ###############
232 # REGISTER 60 #
233 ###############
234 ###############
235
236 #############################
237 #       ROTARY1 PUMP        #
238 #############################
239 record( bo, "$(P)$(R)RPump1-Motor" ) {
ab49f0 240    field(DESC,"Power to Rotatory Pump 1. Relay 5")
5905d3 241     field(OUT, "$(P)$(R)PCF8574:60:REGISTER.B0 PP" )
de91a5 242     field(ZNAM, "Off" )
BC 243     field(ONAM, "On" )
5905d3 244     field(VAL,"1")
de91a5 245        field(ZSV,"MINOR")
dabf6b 246 }
BC 247
248 #############################
249 #       ROTARY1 VALVE       #
250 #############################
251 record( bo, "$(P)$(R)RPump1-Valve" ) {
21d175 252     field(DESC,"Abre a valvula da bomba rot. Relay 4")
de91a5 253     field(OUT, "$(P)$(R)PCF8574:60:REGISTER.B1 PP" )
BC 254     field(ZNAM, "Closed" )
255     field(ONAM, "Open" )
5905d3 256     field(VAL,"1")
dabf6b 257 }
BC 258
259 #############################
260 #       ROTARY2 PUMP        #
261 #############################
262 record( bo, "$(P)$(R)RPump2-Motor" ) {
5905d3 263     field(DESC,"Power On Rotatory Pump 2")
de91a5 264     field(OUT, "$(P)$(R)PCF8574:60:REGISTER.B2 PP" )
BC 265     field(ZNAM, "Off" )
266     field(ONAM, "On" )
5905d3 267     field(VAL,"1")
de91a5 268        field(ZSV,"MINOR")
dabf6b 269 }
BC 270
271 #############################
272 #       ROTARY2 VALVE       #
273 #############################
274 record( bo, "$(P)$(R)RPump2-Valve" ) {
275        field(DESC," Abre a valvula da bomba rotatoria 2 ")
ab49f0 276     field(OUT,"$(P)$(R)PCF8574:60:REGISTER.B3 PP" )
BC 277     field(ZNAM,"Closed" )
278     field(ONAM,"Open" )
5905d3 279     field(VAL,"1")
dabf6b 280 }
BC 281
282 ################################
283 #       FILAMENT ON/OFF        #
284 ################################
285 record(bo, "$(P)$(R)VVessel-Filament" ) {
5905d3 286    field(DESC,"Vacuum Vessel Filament power")
dabf6b 287 #   record(bo, "$(P)$(R)FilamentOnOff" ) {
BC 288     field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B4 PP" )
289     field( ZNAM, "On" )
290     field( ONAM, "Off" )
5905d3 291     field(VAL,"1")
BC 292     field(PINI,"YES")
dabf6b 293 }
BC 294
295 ##############################
296 #       LIGHTS ON/OFF        #
297 ##############################
298 record(bo, "$(P)$(R)Lab-WarningLight" ) {
299    field(DESC," Luzes de sinalização, 220V ")
300 #   record(bo, "$(P)$(R)LightsOnOff" ) {
5905d3 301     field(OUT, "$(P)$(R)PCF8574:60:REGISTER.B5 PP" )
BC 302     field(ZNAM, "On" )
303     field(ONAM, "Off" )
304     field(VAL,"1")
dabf6b 305 }
BC 306
307 ############
308 # NOT USED #
309 ############
310 #$(P)$(R)PCF8574:60:REGISTER:READ.B6
311
312 ##############################
313 # TOR CLEAN CONTACTOR ON/OFF #
314 ##############################
315 record(bo, "$(P)$(R)Clean-TorContactor" ) {
316 #   field(DESC," Contactor 220V do transformador para a fonte de campo toroidal das descargas de limpeza (500 A) ")
317     field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B7 PP" )
318     field( ZNAM, "On" )
319     field( ONAM, "Off" )
5905d3 320     field(VAL,"1")
dabf6b 321 }
BC 322
323 ###############
324 ###############
325 # REGISTER 61 #
326 ###############
327 ###############
328
329 ############################
330 # TOR CLEAN BREAKER ON/OFF #
331 ############################
332 record(bo, "$(P)$(R)Clean-TorPneuBreaker" ) {
333 ##   field(DESC," Interruptor de ar comprimido  do transformador para a fonte de campo toroidal das descargas de limpeza (500 A)")
334     field( OUT, "$(P)$(R)PCF8574:61:REGISTER.B0 PP" )
335     field( ZNAM, "On" )
336     field( ONAM, "Off" )
5905d3 337     field(VAL,"1")
dabf6b 338 }
BC 339
340 record(bo, "$(P)$(R)Shot-TorPSDisable" ) {
341 #   field(DESC," É desligado na emergência e em qualquer estado que não seja Process ou Wait Shot.")
342     field( OUT, "$(P)$(R)PCF8574:61:REGISTER.B1 PP" )
343     field( ZNAM, "Off" )
344     field( ONAM, "On" )
5905d3 345     field(VAL,"1")
dabf6b 346 }
BC 347
348 record(bo, "$(P)$(R)Shot-TorPSTrigger" ) {
349     field(DESC," Trigger da FRAEP")
350     field( ZNAM, "Off" )
351     field( ONAM, "Pulse" )
352     field( HIGH, "2.5")
353         field( FLNK, "$(P)$(R)Shot-TorPSTriggerInv" )
5905d3 354     field(VAL,"0")
dabf6b 355 }
BC 356 record(calcout, "$(P)$(R)Shot-TorPSTriggerInv" ) {
357 #   field(DESC," $(R)")
358     field( INPA, "$(P)$(R)ToroidalShotTriggerOnOff NPP MS" )
359     field( OUT,  "$(P)$(R)PCF8574:61:REGISTER.B2 PP MS" )
360     field( OOPT, "On Change" )
361     field( CALC, "A?0:1" )
362 }
363 ############################################################
364
365 #######################################
366 #       CAP BANK CHARGE ON/OFF        #
367 #######################################
368 record(bo, "$(P)$(R)CapBank-Charge" ) {
369 ##   field(DESC," Contactor 220V do circuito de carga do banco de condensadores p/ SHOT (ELCO) ")
370 #record(bo, "$(P)$(R)CapBankChargeOnOff" ) {
5905d3 371     field(OUT, "$(P)$(R)PCF8574:61:REGISTER.B3 PP" )
BC 372     field(ZNAM, "On" )
373     field(ONAM, "Off" )
374     field(VAL,"1")
dabf6b 375 }
BC 376
377 ########################################
378 #       PRIMARY CLEAN CONTACTOR ON/OFF #
379 ########################################
380 record(bo, "$(P)$(R)Clean-PrimContactor" ) {
381 #   field(DESC," Contactor 220V do para o primário das descargas de limpeza ")
382 #   record(bo, "$(P)$(R)PrimaryCleanContactorOnOff" ) {
5905d3 383     field(OUT,  "$(P)$(R)PCF8574:61:REGISTER.B4 PP MS" )
BC 384     field(ZNAM, "On" )
385     field(ONAM, "Off" )
386     field(VAL,"1")
dabf6b 387 }
BC 388
389 ####################################
390 ### PRIMARY CLEAN BREAKER ON/OFF ###
391 ####################################
392 record(bo, "$(P)$(R)Clean-PrimPneuBreaker"){
393 #record(bo, "$(P)$(R)PrimaryCleanBreakerOnOff"){
394     field( DESC, "Primary Cleaning OnOff")
395     field( OUT, "$(P)$(R)PCF8574:61:REGISTER.B5 PP" )
396     field( ZNAM, "On")
397     field( ONAM, "Off")
5905d3 398     field(VAL,"1")
dabf6b 399 }
BC 400
401 ##################################
402 #       GIS VALVES ON/OFF        #
403 ##################################
404 record(bo, "$(P)$(R)GasIS-Valves" ) {
405 #   field(DESC," 2 válvulas pneumáticas de corte do sistema de injecção de H/D/Ne/He no TOK, 24V out = deixa passar")
406 #   record(bo, "$(P)$(R)GISValvesOnOff" ) {
407     field( OUT, "$(P)$(R)PCF8574:61:REGISTER.B6 PP" )
408     field( ZNAM, "On" )
409     field( ONAM, "Off" )
5905d3 410     field(VAL,"1")
dabf6b 411 }
BC 412
413 ##########################################
414 #       CAP BANK DISCHARGE ON/OFF        #
415 ##########################################
416 record(bo, "$(P)$(R)CapBank-Discharge" ) {
5905d3 417        field(DESC," Liga o circuito de descarga do ELCO ")
dabf6b 418 #   record(bo, "$(P)$(R)CapBankDischargeOnOff" ) {
5905d3 419     field(OUT, "$(P)$(R)PCF8574:61:REGISTER.B7 PP" )
BC 420     field(ZNAM, "On" )
421     field(ONAM, "Off" )
422     field(VAL,"1")
dabf6b 423 }
BC 424
172d34 425 #record(bo,"$(P)$(R)Primary-PressureCondition"){
BC 426 #    field(ZNAM, "OFF" )
427 #    field(ONAM, "ON" )
428 #    field(VAL,"0")
429 #}
dabf6b 430
BC 431 record(ai,"$(P)$(R)TMPump2-Speed"){
432 #   field(DESC," ADC Pump speed 0-10V ")
433 #record(ai,"$(P)$(R)Turbo2_Speed"){
434     field(PREC,"3")
435     field(EGU,"RPM")
436     field(VAL,"0")
437 }
438
439 #######################
440 ###TMP1 Manual Valve###
441 #######################
442 record(bo, "$(P)$(R)TMPump1-ManualValve"){
443 #   field(DESC," $(R)")
444 #record(bo, "$(P)$(R)TMPManualValve"){
445     info(autosaveFields, "VAL")
446     field( DESC, "State of manual valve")
447     field( ZNAM, "Closed")
448     field( ONAM, "Open")
449 }