# BLEPS-2: BLEPS PV availability + concrete PV-to-Supply/Asset mapping
Title: BLEPS-2: BLEPS fault/status signals are Channel Access readable — mapping to Supply/Asset
Body:
Question
Whether BLEPS fault/status signals are readable as Channel Access PVs for an external observer, referencing tags like A_Fault_Exists, GV1.Faulted, and FES.Permit / SBS.Permit.
CORA assumes they are readable via the BLEPS PLC EPICS interface, but the exact PV-to-Supply/Asset mapping is unknown.
Answer
Yes — every BLEPS signal (~385 BLEPS-domain PVs) is readable over Channel Access. The EPICS soft IOC that fronts the BLEPS PLC has been deployed and is running.
IOC deployment (as of 2026-07-14)
- Host:
arcturus, 2bmb account.
- IOC directory:
/net/s2dserv/xorApps/epics/synApps_6_3/ioc/2bmBLEPS
- PV prefix:
2bmBLEPS: — BLEPS-domain PVs are under 2bmBLEPS:BLEPS:*.
- PV count: 599 total (385 BLEPS-domain + 214 iocAdminSoft admin).
Full deployment + operating instructions (start/stop the IOC, MEDM bleps_status.adl summary, caQtDM bleps_all.ui full panel) are in 2bm-docs manual/item_025.rst "EPICS IOC" section.
PLC-tag → EPICS-PV naming convention
The controller-side PLC tags use dotted notation. On the EtherNet/IP-to-EPICS gateway, dots are translated to underscores. So:
| CORA-referenced PLC tag |
Deployed EPICS PV |
Verify |
A_Fault_Exists |
2bmBLEPS:BLEPS:A_FAULT_EXISTS |
caget 2bmBLEPS:BLEPS:A_FAULT_EXISTS |
GV1.Faulted |
2bmBLEPS:BLEPS:GV1_FAULTED |
caget 2bmBLEPS:BLEPS:GV1_FAULTED |
FES.Permit |
2bmBLEPS:BLEPS:FES_PERMIT |
caget 2bmBLEPS:BLEPS:FES_PERMIT |
SBS.Permit |
2bmBLEPS:BLEPS:SBS_PERMIT |
caget 2bmBLEPS:BLEPS:SBS_PERMIT |
All four are live in the current deployment and confirmed with caget against the running IOC.
PV-to-Supply mapping (utility signals)
From the physical assignments documented in manual/item_025.rst:
| PV pattern |
Supply |
FLOW1_CURRENT / FLOW1_SET_POINT / FLOW1_TRIP |
Filter + upstream Slits cooling water |
FLOW2_* |
M1 Mirror + DMM cooling water |
FLOW3_* |
Window 1 + Missteer Mask cooling water |
FLOW4_* |
Windows 2 & 3 cooling water |
FLOW5_* |
White Beam Mask + SBS Shutter cooling water |
FLOW6_* |
Station B entrance-slits cooling water |
FLOW7_* |
Window 4 (Station B) cooling water |
FLOW8_* |
Station B Photon Stop cooling water |
TEMP1_* |
M1 mirror tank — Lower thermocouple |
TEMP2_* |
M1 mirror tank — Middle thermocouple |
TEMP3_* |
M1 mirror tank — Upper thermocouple |
IP1_STATUS / IP1_WARNING .. IP7_* |
Vacuum, per ion-pump controller (7 pumps) |
IG1_STATUS / IG1_WARNING .. IG8_* |
Vacuum, per ion-gauge controller (8 gauges) |
VS1_TRIP .. VS7_TRIP |
Vacuum, per vacuum-section (7 sections) |
PV-to-Asset mapping (device signals)
| PV pattern |
Asset |
BIV_CLOSED, BIV_PERMIT, BIV_FAIL_TO_CLOSE |
Beamline Isolation Valve (BIV) |
FES_CLOSED, FES_PERMIT, FES_FAIL_TO_CLOSE |
Front-End Shutter (FES) |
SBS_CLOSED, SBS_PERMIT, SBS_FAIL_TO_CLOSE |
Station-B Shutter (SBS) |
GV1_FAULTED, GV1_FAULT_* (9 sub-flags), GV1_CLOSED_LS, GV1_OPENED_LS, GV1_EPICS_OPEN, GV1_EPICS_CLOSE |
Gate Valve 1 (between Slits and M1 mirror tank) |
GV2_FAULTED, GV2_FAULT_*, GV2_CLOSED_LS, GV2_OPENED_LS, GV2_EPICS_OPEN, GV2_EPICS_CLOSE |
Gate Valve 2 (between Windows 2&3 and SBS) |
GV3_FAULTED, GV3_FAULT_*, GV3_CLOSED_LS, GV3_OPENED_LS, GV3_EPICS_OPEN, GV3_EPICS_CLOSE |
Gate Valve 3 (between transport and Station B) |
Per-Asset boundary is unambiguous — every fault / permit / limit-switch flag belongs to exactly one Asset.
System-level (neither Supply nor Asset)
The three top-level aggregate booleans (A_FAULT_EXISTS, A_TRIP_EXISTS, WARNING_EXISTS) plus the fault/trip/warning FIFOs (Faults.Number[0..9], ...) do not belong to any single Supply or Asset. See BLEP
S-3 for how these fit CORA's model.
Write PVs (commandable state)
For completeness — beyond read-side status, the IOC exposes:
A_FAULT_RESET, TRIP_RESET (system-level fault / trip reset).
GV1_EPICS_OPEN / GV1_EPICS_CLOSE (per-valve command), same for GV2 and GV3.
BIV_PERMIT / FES_PERMIT / SBS_PERMIT (per-shutter permit outputs; primarily driven by the interlock chain, but readable and, in principle, writable).
CORA can subscribe to any of the read-side PVs directly. Recommended pattern: use monitor / camonitor rather than periodic caget — WARNING_EXISTS toggles asynchronously as vacuum conditions latch and clear.
Related
- BLEPS-1 — utility vs device fault taxonomy (defines the Supply / Asset boundary this mapping fills in).
- BLEPS-3 — system-level aggregate state (the three
_EXISTS PVs and the reset commands).
Sources
- Deployed PV list:
dbl-all.txt in /net/s2dserv/xorApps/epics/synApps_6_3/ioc/2bmBLEPS/iocBoot/ioc2bmBLEPS/ (authoritative — dumped at IOC startup).
- IOC substitutions:
bleps.substitutions in the same directory (defines each PV's record type and PLC-tag binding).
- Deployment doc:
2bm-docs manual/item_025.rst "EPICS IOC" section (start/stop, screen-launch instructions).
- Physical assignments:
manual/item_025.rst "Physical assignments at 2-BM" (Flow / Temp / GV → physical component mapping).
/cc @xmap
# BLEPS-2: BLEPS PV availability + concrete PV-to-Supply/Asset mapping
Title: BLEPS-2: BLEPS fault/status signals are Channel Access readable — mapping to Supply/Asset
Body:
Question
Answer
Yes — every BLEPS signal (~385 BLEPS-domain PVs) is readable over Channel Access. The EPICS soft IOC that fronts the BLEPS PLC has been deployed and is running.
IOC deployment (as of 2026-07-14)
arcturus,2bmbaccount./net/s2dserv/xorApps/epics/synApps_6_3/ioc/2bmBLEPS2bmBLEPS:— BLEPS-domain PVs are under2bmBLEPS:BLEPS:*.Full deployment + operating instructions (start/stop the IOC, MEDM
bleps_status.adlsummary, caQtDMbleps_all.uifull panel) are in2bm-docsmanual/item_025.rst"EPICS IOC" section.PLC-tag → EPICS-PV naming convention
The controller-side PLC tags use dotted notation. On the EtherNet/IP-to-EPICS gateway, dots are translated to underscores. So:
A_Fault_Exists2bmBLEPS:BLEPS:A_FAULT_EXISTScaget 2bmBLEPS:BLEPS:A_FAULT_EXISTSGV1.Faulted2bmBLEPS:BLEPS:GV1_FAULTEDcaget 2bmBLEPS:BLEPS:GV1_FAULTEDFES.Permit2bmBLEPS:BLEPS:FES_PERMITcaget 2bmBLEPS:BLEPS:FES_PERMITSBS.Permit2bmBLEPS:BLEPS:SBS_PERMITcaget 2bmBLEPS:BLEPS:SBS_PERMITAll four are live in the current deployment and confirmed with
cagetagainst the running IOC.PV-to-Supply mapping (utility signals)
From the physical assignments documented in
manual/item_025.rst:FLOW1_CURRENT/FLOW1_SET_POINT/FLOW1_TRIPFLOW2_*FLOW3_*FLOW4_*FLOW5_*FLOW6_*FLOW7_*FLOW8_*TEMP1_*TEMP2_*TEMP3_*IP1_STATUS/IP1_WARNING..IP7_*IG1_STATUS/IG1_WARNING..IG8_*VS1_TRIP..VS7_TRIPPV-to-Asset mapping (device signals)
BIV_CLOSED,BIV_PERMIT,BIV_FAIL_TO_CLOSEFES_CLOSED,FES_PERMIT,FES_FAIL_TO_CLOSESBS_CLOSED,SBS_PERMIT,SBS_FAIL_TO_CLOSEGV1_FAULTED,GV1_FAULT_*(9 sub-flags),GV1_CLOSED_LS,GV1_OPENED_LS,GV1_EPICS_OPEN,GV1_EPICS_CLOSEGV2_FAULTED,GV2_FAULT_*,GV2_CLOSED_LS,GV2_OPENED_LS,GV2_EPICS_OPEN,GV2_EPICS_CLOSEGV3_FAULTED,GV3_FAULT_*,GV3_CLOSED_LS,GV3_OPENED_LS,GV3_EPICS_OPEN,GV3_EPICS_CLOSEPer-Asset boundary is unambiguous — every fault / permit / limit-switch flag belongs to exactly one Asset.
System-level (neither Supply nor Asset)
The three top-level aggregate booleans (
A_FAULT_EXISTS,A_TRIP_EXISTS,WARNING_EXISTS) plus the fault/trip/warning FIFOs (Faults.Number[0..9], ...) do not belong to any single Supply or Asset. See BLEPS-3 for how these fit CORA's model.
Write PVs (commandable state)
For completeness — beyond read-side status, the IOC exposes:
A_FAULT_RESET,TRIP_RESET(system-level fault / trip reset).GV1_EPICS_OPEN/GV1_EPICS_CLOSE(per-valve command), same for GV2 and GV3.BIV_PERMIT/FES_PERMIT/SBS_PERMIT(per-shutter permit outputs; primarily driven by the interlock chain, but readable and, in principle, writable).CORA can subscribe to any of the read-side PVs directly. Recommended pattern: use monitor / camonitor rather than periodic caget —
WARNING_EXISTStoggles asynchronously as vacuum conditions latch and clear.Related
_EXISTSPVs and the reset commands).Sources
dbl-all.txtin/net/s2dserv/xorApps/epics/synApps_6_3/ioc/2bmBLEPS/iocBoot/ioc2bmBLEPS/(authoritative — dumped at IOC startup).bleps.substitutionsin the same directory (defines each PV's record type and PLC-tag binding).2bm-docsmanual/item_025.rst"EPICS IOC" section (start/stop, screen-launch instructions).manual/item_025.rst"Physical assignments at 2-BM" (Flow / Temp / GV → physical component mapping)./cc @xmap