diff --git a/services/orbitbump/current/ioc/README.md b/services/orbitbump/current/ioc/README.md deleted file mode 100644 index 9a0741c..0000000 --- a/services/orbitbump/current/ioc/README.md +++ /dev/null @@ -1 +0,0 @@ -# TODO: dev/prod templating diff --git a/services/orbitbump/current/systemd/AGEBD-SERVICE-ORBITBUMP.service b/services/orbitbump/current/systemd/AGEBD-SERVICE-ORBITBUMP.service deleted file mode 100644 index 36063b6..0000000 --- a/services/orbitbump/current/systemd/AGEBD-SERVICE-ORBITBUMP.service +++ /dev/null @@ -1,17 +0,0 @@ -[Unit] -Description=AGEBD-SERVICE-ORBITBUMP -After=network.target - -[Service] -Environment=AGEBD_ENV={{ agebd_env }} -Environment=PYTHONUNBUFFERED=1 -ExecStart=/sls/bd/hla/{{ agebd_env }}/bin/start_service.sh ORBITBUMP -Restart=no - -[Install] -WantedBy=default.target - -# https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html -# systemctl --user daemon-reload -# systemctl --user enable /sls/bd/bin/systemd/AGEBD-SERVICE-ORBITBUMP.service -# systemctl --user start AGEBD-SERVICE-ORBITBUMP diff --git a/services/params/current/ioc/AGEBD-CPCL-PARAMS_main.subs b/services/params/current/ioc/AGEBD-CPCL-PARAMS_main.subs new file mode 100644 index 0000000..644bfbc --- /dev/null +++ b/services/params/current/ioc/AGEBD-CPCL-PARAMS_main.subs @@ -0,0 +1,4 @@ +file PARAMS.template { + pattern { DEVICE } + { AGEBD-PARAMS{{ agebd_env_suffix }} } +} diff --git a/services/params/current/ioc/AGEBD-CPCL-PARAMS_parameters.yaml b/services/params/current/ioc/AGEBD-CPCL-PARAMS_parameters.yaml new file mode 100644 index 0000000..6c115a3 --- /dev/null +++ b/services/params/current/ioc/AGEBD-CPCL-PARAMS_parameters.yaml @@ -0,0 +1,6 @@ +cpu_architecture: x86_64 +epics_version: 7.0.8 +ioc_host: sls-vserv-bd-01{{ agebd_env_suffix }} +ioc_port: {{ ioc_port }} +os: RHEL8 +os_id: rhel diff --git a/services/params/current/ioc/PARAMS.template b/services/params/current/ioc/PARAMS.template new file mode 100644 index 0000000..2cc20b4 --- /dev/null +++ b/services/params/current/ioc/PARAMS.template @@ -0,0 +1,83 @@ +record(calcout, "$(DEVICE):CURRENTLIMIT"){ + field(DESC, "Current Limit") + field(ASG, "READONLY") + field(PREC, "3") + field(EGU, "mA") + field(VAL, "25") + field(CALC, "A ? 25 : 410 ") + field(SCAN, "Passive") + field(INPA, "AGEBD-INJECTIONGUARD:CONTROL-BRIDGE-CHECK-01 CPP") +} + +record(calcout, "$(DEVICE):CURRENT"){ + field(DESC, "Current reading") + field(PREC, "3") + field(EGU, "mA") + field(VAL, "0") + field(CALC, "A > 300 ? A : B ") + field(SCAN, "Passive") + field(INPA, "ARS07-DPCT-0000:CURR CPP") + field(INPB, "AGEBD-DBPM3CURR:CURRENT-AVG") +} + +record(calcout, "$(DEVICE):INJECTION-RATE"){ + field(DESC, "Rate der Akkumulation im Speicherring") + field(FLNK, "$(DEVICE):TRANSMISSION") + field(PREC, "4") + field(EGU, "mA/min") + field(VAL, "0") + field(CALC, "A > 300 ? C : B ") + field(SCAN, "Passive") + field(INPA, "ARS07-DPCT-0000:CURR CPP") + field(INPB, "AGEBD-TAUBPM:INJRATE CPP") + field(INPC, "AGEBD-TAUPCT:INJRATE CPP") +} + +record(calcout, "$(DEVICE):TRANSMISSION"){ + field(DESC, "Transmission Booster PCT to Ring") + field(PREC, "3") + field(EGU, "%") + field(VAL, "0") + # mA/min / 60 = mA/s + # mA/s / 3.125 = mA/shot + # A = C/s --> mA/shot = (mC/s)/shot = (nC/us)/shot + # 288 m / c = 0.96 us + # mA/shot * 0.96 us = nC / shot + # ABODI-DPCT:EXT-CURR.EGU "nC" + field(CALC, "A ? (B/60/3.125*0.96 / C * 100) : D") + field(SCAN, "Passive") + field(INPA, "$(DEVICE):INJECTION-ACTIVE") + field(INPB, "$(DEVICE):INJECTION-RATE") + field(INPC, "ABODI-DPCT:EXT-CURR") + field(INPD, "$(DEVICE):TRANSMISSION.LD") +} + +record(calcout, "$(DEVICE):LIFETIME"){ + field(DESC, "Lifetime calculation") + field(PREC, "3") + field(EGU, "hours") + field(VAL, "0") + field(CALC, "A > 300 ? C : B") + field(SCAN, "Passive") + field(INPA, "ARS07-DPCT-0000:CURR CPP") + field(INPB, "AGEBD-TAUBPM:TAU CPP") + field(INPC, "AGEBD-TAUPCT:TAU CPP") +} + +record(calcout, "$(DEVICE):INJECTION-ACTIVE"){ + field(DESC, "Injection active") + field(VAL, "0") + field(CALC, "A & B & !!C & D & E & F & G & H & I & !J & K & L") + field(INPA, "AGETI-CVME-MASTER-TMA:SR-Inj-Guard-Status-I CP") + field(INPB, "AGETI-CVME-MASTER-TMA:SR-Inj-Status-Sel CP") + field(INPC, "ALIRF-VME-A-GUN:CH1-MODE CP") + field(INPD, "AGETI-CVME-MASTER-TMA:Evt-LI-Gun-Ena-Sel CP") + field(INPE, "AGETI-CVME-MASTER-TMA:Evt-BO-Inj-Ena-Sel CP") + field(INPF, "AGETI-CVME-MASTER-TMA:Evt-BO-MA-B-Ena-Sel CP") + field(INPG, "AGETI-CVME-MASTER-TMA:Evt-BO-Ramp-Ena-Sel CP") + field(INPH, "AGETI-CVME-MASTER-TMA:Evt-BO-Ext-Ena-Sel CP") + field(INPI, "AGETI-CVME-MASTER-TMA:Evt-SR-Inj-Ena-Sel CP") + field(INPJ, "AGESA-SBDC-0000:SUM_INPUT_NOT_OK_LATCHED CP") + field(INPK, "AGETI-CVME-MASTER-TMA:SR-Inj-Trigger-I CP") + field(INPL, "AGEBD-TIMING:GO CP") +} diff --git a/services/params/current/ioc/startup.script b/services/params/current/ioc/startup.script new file mode 100644 index 0000000..941c745 --- /dev/null +++ b/services/params/current/ioc/startup.script @@ -0,0 +1,4 @@ +epicsEnvSet("ENGINEER", "armborst") +require array +require SynApps +addScan 300