Skip to content

Commit 666d15c

Browse files
Merge pull request #501 from ISISComputingGroup/Ticket4555_SANS2D_vacuum_system
Ticket4555: SANS2D Vacuum System
2 parents 963396c + f38b6c6 commit 666d15c

15 files changed

+726
-7
lines changed

FINS/FINS-IOC-01App/Db/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ DB += wish-vacuum.db
1515
DB += zoom-vacuum.db
1616
DB += imat-plc-attn.db
1717
DB += imat-plc-press.db
18+
DB += sans2d-vacuum.db
1819
DB += he-recovery.db
1920

2021
#----------------------------------------------------

FINS/FINS-IOC-01App/Db/address-read.template

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ record(mbbiDirect, "$(P)$(Q)$(NAME)")
1010
{
1111
field(DESC, "$(DESC)")
1212
field(DTYP, "Soft Channel")
13-
field(INP, "$(P)$(Q)$(NAME):RAW CPP")
14-
field(SCAN, ".1 second")
13+
field(INP, "$(P)$(Q)$(NAME):RAW CPP MS")
1514
field(SIML, "$(P)$(Q)SIM")
1615
field(SIOL, "$(P)$(Q)SIM:$(NAME)")
1716
}
Lines changed: 256 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,256 @@
1+
# DM1000 General Heartbeat
2+
3+
# DM1001.00 General Monitor 3 IN beam
4+
# DM1001.01 General Monitor 3 OUT beam
5+
# DM1001.02 General Monitor 3 Error beam
6+
# DM1001.03 General Fast Shutter Open
7+
# DM1001.04 General Fast Shutter Error
8+
# DM1001.05 General Detector Overcount (no longer used)
9+
# DM1001.06 General Galil permission to move interlock
10+
# DM1001.07 General V8 Open
11+
# DM1001.08 General V8 Error
12+
# DM1001.15 General Common Alarm signal
13+
14+
# DM1004.00 Seal system status Deflated
15+
# DM1004.01 Seal system status Inflating
16+
# DM1004.02 Seal system status Inflated
17+
# DM1004.03 Seal system status Deflating
18+
19+
# FULL_PREFIX = Instrument and IOC prefix
20+
21+
record(bo, "$(FULL_PREFIX)SIM")
22+
{
23+
field(SCAN, "Passive")
24+
field(DTYP, "Soft Channel")
25+
field(ZNAM, "NO")
26+
field(ONAM, "YES")
27+
field(VAL, "$(RECSIM=0)")
28+
}
29+
30+
record(bo, "$(FULL_PREFIX)DISABLE")
31+
{
32+
field(DESC, "Disable comms")
33+
field(PINI, "YES")
34+
field(VAL, "$(DISABLE=0)")
35+
field(OMSL, "supervisory")
36+
field(ZNAM, "COMMS ENABLED")
37+
field(ONAM, "COMMS DISABLED")
38+
}
39+
40+
record(longin, "$(FULL_PREFIX)HEARTBEAT")
41+
{
42+
field(DESC, "Heartbeat of the FINS PLC")
43+
field(DTYP, "asynInt32")
44+
field(INP, "@asyn(PLC, 1000, 5.0) FINS_DM_READ")
45+
field(SCAN, "1 second")
46+
field(EGU, "")
47+
field(SIML, "$(FULL_PREFIX)SIM")
48+
field(SIOL, "$(FULL_PREFIX)SIM:HEARTBEAT")
49+
field(SDIS, "$(FULL_PREFIX)DISABLE")
50+
}
51+
52+
record(bi, "$(FULL_PREFIX)MONITOR3:IN")
53+
{
54+
field(DESC, "Monitor 3 in beam")
55+
field(ZNAM, "NO")
56+
field(ONAM, "YES")
57+
field(INP, "$(FULL_PREFIX)ADDR:1001.B0 CP MS")
58+
info(INTEREST, "MEDIUM")
59+
field(FLNK, "$(FULL_PREFIX)MONITOR3:OUT.PROC")
60+
}
61+
62+
record(bi, "$(FULL_PREFIX)MONITOR3:OUT")
63+
{
64+
field(DESC, "Monitor 3 out of beam")
65+
field(ZNAM, "NO")
66+
field(ONAM, "YES")
67+
field(INP, "$(FULL_PREFIX)ADDR:1001.B1 PP MS")
68+
info(INTEREST, "MEDIUM")
69+
field(FLNK, "$(FULL_PREFIX)MONITOR3:ERROR.PROC")
70+
}
71+
72+
record(bi, "$(FULL_PREFIX)MONITOR3:ERROR")
73+
{
74+
field(DESC, "Monitor 3 error")
75+
field(ZNAM, "OK")
76+
field(ONAM, "ERROR")
77+
field(INP, "$(FULL_PREFIX)ADDR:1001.B2 PP MS")
78+
field(OSV, "MAJOR")
79+
info(INTEREST, "MEDIUM")
80+
field(FLNK, "$(FULL_PREFIX)MONITOR3:STATUS")
81+
}
82+
83+
record(mbbi, "$(FULL_PREFIX)MONITOR3:STATUS")
84+
{
85+
field(DTYP, "Raw Soft Channel")
86+
field(DESC, "Monitor 3 status")
87+
field(INP, "$(FULL_PREFIX)ADDR:1001 PP MS")
88+
field(NOBT, "3")
89+
field(ONVL, "1")
90+
field(TWVL, "2")
91+
field(THVL, "3")
92+
field(FRVL, "4")
93+
field(FVVL, "5")
94+
field(SXVL, "6")
95+
field(ONST, "IN")
96+
field(TWST, "OUT")
97+
field(THST, "UNKNOWN")
98+
field(THSV, "MAJOR")
99+
field(FRST, "ERROR")
100+
field(FRSV, "MAJOR")
101+
field(FVST, "ERROR(IN)")
102+
field(FVSV, "MAJOR")
103+
field(SXST, "ERROR(OUT)")
104+
field(SXSV, "MAJOR")
105+
info(INTEREST, "HIGH")
106+
info(archive, "VAL")
107+
info(alarm, "Vacuum")
108+
}
109+
110+
record(bi, "$(FULL_PREFIX)SHUTTER:OPEN")
111+
{
112+
field(DESC, "Fast shutter open")
113+
field(ZNAM, "")
114+
field(ONAM, "OPEN")
115+
field(INP, "$(FULL_PREFIX)ADDR:1001.B3 CP MS")
116+
info(INTEREST, "MEDIUM")
117+
field(FLNK, "$(FULL_PREFIX)SHUTTER:ERROR.PROC")
118+
}
119+
120+
record(bi, "$(FULL_PREFIX)SHUTTER:ERROR")
121+
{
122+
field(DESC, "Fast shutter error")
123+
field(ZNAM, "OK")
124+
field(ONAM, "ERROR")
125+
field(INP, "$(FULL_PREFIX)ADDR:1001.B4 PP MS")
126+
field(FLNK, "$(FULL_PREFIX)SHUTTER:STATUS.PROC")
127+
field(OSV, "MAJOR")
128+
info(alarm, "Vacuum")
129+
info(INTEREST, "MEDIUM")
130+
}
131+
132+
record(mbbi, "$(FULL_PREFIX)SHUTTER:STATUS")
133+
{
134+
field(DTYP, "Raw Soft Channel")
135+
field(DESC, "Shutter status")
136+
field(INP, "$(FULL_PREFIX)ADDR:1001 PP MS")
137+
field(SHFT, "3")
138+
field(NOBT, "2")
139+
field(ZRVL, "0")
140+
field(ONVL, "1")
141+
field(TWVL, "2")
142+
field(THVL, "3")
143+
field(ZRST, "CLOSED")
144+
field(ONST, "OPEN")
145+
field(TWST, "ERROR")
146+
field(TWSV, "MAJOR")
147+
field(THST, "ERROR(OPEN)")
148+
field(THSV, "MAJOR")
149+
info(INTEREST, "HIGH")
150+
info(archive, "VAL")
151+
}
152+
153+
record(bi, "$(FULL_PREFIX)GALIL_INTERLOCK") {
154+
field(DESC, "Galil permission to move")
155+
field(INP, "$(FULL_PREFIX)ADDR:1001.B6 CP MS")
156+
field(ONAM, "CAN MOVE")
157+
field(ZNAM, "CANNOT MOVE")
158+
info(INTEREST, "HIGH")
159+
}
160+
161+
record(bi, "$(FULL_PREFIX)V8:OPEN")
162+
{
163+
field(DESC, "V8 open")
164+
field(ONAM, "OPEN")
165+
field(INP, "$(FULL_PREFIX)ADDR:1001.B7 CP MS")
166+
info(INTEREST, "HIGH")
167+
field(FLNK, "$(FULL_PREFIX)V8:ERROR.PROC")
168+
}
169+
170+
record(bi, "$(FULL_PREFIX)V8:ERROR")
171+
{
172+
field(DESC, "V8 error")
173+
field(ZNAM, "OK")
174+
field(ONAM, "ERROR")
175+
field(INP, "$(FULL_PREFIX)ADDR:1001.B8 PP MS")
176+
field(OSV, "MAJOR")
177+
info(alarm, "Vacuum")
178+
info(INTEREST, "HIGH")
179+
field(FLNK, "$(P)$(Q)V8:STATUS.PROC")
180+
}
181+
182+
record(mbbi, "$(FULL_PREFIX)V8:STATUS")
183+
{
184+
field(DTYP, "Raw Soft Channel")
185+
field(DESC, "V8 status")
186+
field(INP, "$(FULL_PREFIX)ADDR:1001 PP MS")
187+
field(SHFT, "7")
188+
field(NOBT, "2")
189+
field(ZRVL, "0")
190+
field(ONVL, "1")
191+
field(TWVL, "2")
192+
field(THVL, "3")
193+
field(ZRST, "CLOSED")
194+
field(ONST, "OPEN")
195+
field(TWST, "ERROR")
196+
field(TWSV, "MAJOR")
197+
field(THST, "ERROR(OPEN)")
198+
field(THSV, "MAJOR")
199+
info(INTEREST, "MEDIUM")
200+
info(archive, "VAL")
201+
}
202+
203+
record(bi, "$(FULL_PREFIX)COMMON_ALARM") {
204+
field(DESC, "Common alarm signal")
205+
field(ZNAM, "ERROR")
206+
field(ONAM, "OK")
207+
field(INP, "$(FULL_PREFIX)ADDR:1001.BF CP MS")
208+
field(FLNK, "$(FULL_PREFIX)COMMON_ALARM:BAD.PROC")
209+
field(ZSV, "MAJOR")
210+
info(alarm, "Vacuum")
211+
info(INTEREST, "LOW")
212+
}
213+
214+
record(calc, "$(FULL_PREFIX)COMMON_ALARM:BAD") {
215+
field(DESC, "Common alarm bad")
216+
field(INPA, "$(FULL_PREFIX)COMMON_ALARM PP MS")
217+
field(CALC, "!A")
218+
field(ASG, "READONLY")
219+
info(INTEREST, "HIGH")
220+
info(archive, "VAL")
221+
}
222+
223+
# DM1004.00 Seal system status Deflated
224+
# DM1004.01 Seal system status Inflating
225+
# DM1004.02 Seal system status Inflated
226+
# DM1004.03 Seal system status Deflating
227+
228+
record(mbbi, "$(FULL_PREFIX)SEAL:STATUS") {
229+
field(DESC, "Seal system status")
230+
field(DTYP, "Raw Soft Channel")
231+
field(INP, "$(P)$(Q)ADDR:1004 CP MS")
232+
field(NOBT, 4)
233+
234+
field(ONVL, "1")
235+
field(TWVL, "2")
236+
field(FRVL, "4")
237+
field(EIVL, "8")
238+
239+
field(ONST, "DEFLATED")
240+
field(TWST, "INFLATING")
241+
field(FRST, "INFLATED")
242+
field(EIST, "DEFLATING")
243+
244+
info(INTEREST, "HIGH")
245+
info(archive, "VAL")
246+
}
247+
248+
249+
### Simulation Records ###
250+
251+
record(longin, "$(FULL_PREFIX)SIM:HEARTBEAT")
252+
{
253+
field(SCAN, "Passive")
254+
field(DTYP, "Soft Channel")
255+
}
256+
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# DM$(ADDR) Seal $(NAME) pressure 0-4000 = 0-10,000 mbar (BCD)
2+
3+
# FULL_PREFIX = Instrument and IOC prefix
4+
5+
record(ai, "$(FULL_PREFIX)SEAL:$(NAME):PRESS:RAW")
6+
{
7+
field(DTYP, "asynInt32")
8+
field(INP, "@asyn(PLC, $(ADDR), 5.0) FINS_DM_READ")
9+
field(SCAN, ".5 second")
10+
field(HOPR, "4000")
11+
field(LOPR, "0")
12+
field(FLNK, "$(FULL_PREFIX)SEAL:$(NAME):PRESS")
13+
field(SIML, "$(FULL_PREFIX)SIM")
14+
field(SIOL, "$(FULL_PREFIX)SIM:SEAL:$(NAME):PRESS:RAW")
15+
}
16+
17+
record(calc, "$(FULL_PREFIX)SEAL:$(NAME):PRESS")
18+
{
19+
field(DESC, "Seal $(NAME) Pressure")
20+
field(INPA, "$(FULL_PREFIX)SEAL:$(NAME):PRESS:RAW MS")
21+
field(EGU, "mbar")
22+
field(HOPR, "10000")
23+
field(LOPR, "0")
24+
field(CALC, "A * 2.5")
25+
field(ASG, "READONLY")
26+
info(archive, "VAL")
27+
info(INTEREST, "HIGH")
28+
}
29+
30+
### SIMULATION RECORDS ###
31+
32+
record(ai, "$(FULL_PREFIX)SIM:SEAL:$(NAME):PRESS:RAW")
33+
{
34+
field(SCAN, "Passive")
35+
field(DTYP, "Soft Channel")
36+
}
37+
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# $(ADDR).02 Pump $(PUMP_NUM) status Emergency stop button - OK
2+
# $(ADDR).03 Pump $(PUMP_NUM) status SP Guard Warning
3+
# $(ADDR).04 Pump $(PUMP_NUM) status SP Guard Fault
4+
5+
# FULL_PREFIX = Instrument and IOC prefix
6+
7+
record(bi, "$(FULL_PREFIX)PUMP$(PUMP_NUM)_STAT:STOP_OK") {
8+
field(DESC, "Pump $(PUMP_NUM) emergency stop OK")
9+
field(DTYP, "asynInt32")
10+
field(INP, "@asyn(PLC, $(ADDR), 5.0) FINS_DM_READ_B2")
11+
field(ZNAM, "STOP BAD")
12+
field(ONAM, "STOP OK")
13+
field(SCAN, "1 second")
14+
field(SIML, "$(FULL_PREFIX)SIM")
15+
field(SIOL, "$(FULL_PREFIX)SIM:PUMP$(PUMP_NUM)_STAT:STOP_OK")
16+
field(SDIS, "$(FULL_PREFIX)DISABLE")
17+
field(FLNK, "$(FULL_PREFIX)PUMP$(PUMP_NUM)_STAT:STOP_BAD.PROC")
18+
info(INTEREST, "LOW")
19+
field(ZSV, "MAJOR")
20+
info(alarm, "Vacuum")
21+
}
22+
23+
record(calc, "$(FULL_PREFIX)PUMP$(PUMP_NUM)_STAT:STOP_BAD") {
24+
field(DESC, "Pump $(PUMP_NUM) emergency stop bad")
25+
field(INPA, "$(FULL_PREFIX)PUMP$(PUMP_NUM)_STAT:STOP_OK MS")
26+
field(CALC, "!A")
27+
field(ASG, "READONLY")
28+
info(INTEREST, "HIGH")
29+
}
30+
31+
record(bi, "$(FULL_PREFIX)PUMP$(PUMP_NUM)_STAT:GUARD_WARN") {
32+
field(DESC, "Pump $(PUMP_NUM) SP guard warning")
33+
field(DTYP, "asynInt32")
34+
field(INP, "@asyn(PLC, $(ADDR), 5.0) FINS_DM_READ_B3")
35+
field(SCAN, "1 second")
36+
field(ZNAM, "OK")
37+
field(ONAM, "WARN")
38+
field(SIML, "$(FULL_PREFIX)SIM")
39+
field(SIOL, "$(FULL_PREFIX)SIM:PUMP$(PUMP_NUM)_STAT:GUARD_WARN")
40+
field(SDIS, "$(FULL_PREFIX)DISABLE")
41+
info(INTEREST, "HIGH")
42+
field(OSV, "MINOR")
43+
info(alarm, "Vacuum")
44+
}
45+
46+
record(bi, "$(FULL_PREFIX)PUMP$(PUMP_NUM)_STAT:GUARD_FAULT") {
47+
field(DESC, "Pump $(PUMP_NUM) SP guard warning")
48+
field(DTYP, "asynInt32")
49+
field(INP, "@asyn(PLC, $(ADDR), 5.0) FINS_DM_READ_B4")
50+
field(SCAN, "1 second")
51+
field(ZNAM, "OK")
52+
field(ONAM, "ERROR")
53+
field(SIML, "$(FULL_PREFIX)SIM")
54+
field(SIOL, "$(FULL_PREFIX)SIM:PUMP$(PUMP_NUM)_STAT:GUARD_FAULT")
55+
field(SDIS, "$(FULL_PREFIX)DISABLE")
56+
info(INTEREST, "HIGH")
57+
field(OSV, "MAJOR")
58+
info(alarm, "Vacuum")
59+
}
60+
61+
### Simulation Records ###
62+
63+
record(bi, "$(FULL_PREFIX)SIM:PUMP$(PUMP_NUM)_STAT:STOP_OK")
64+
{
65+
field(SCAN, "Passive")
66+
field(DTYP, "Soft Channel")
67+
}
68+
69+
record(bi, "$(FULL_PREFIX)SIM:PUMP$(PUMP_NUM)_STAT:GUARD_WARN")
70+
{
71+
field(SCAN, "Passive")
72+
field(DTYP, "Soft Channel")
73+
}
74+
75+
record(bi, "$(FULL_PREFIX)SIM:PUMP$(PUMP_NUM)_STAT:GUARD_FAULT")
76+
{
77+
field(SCAN, "Passive")
78+
field(DTYP, "Soft Channel")
79+
}

0 commit comments

Comments
 (0)