...
Linac Locking - A System Level Overview
In this section, we provide IOC deployment details such as the App hosting the PLL IOCs, as well as the IOC names and the assigned CPUs in both Dev and Production.
...
First, define the usual environment variables in the startup script.
11.5MHZ PLL:
Code Block | ||
---|---|---|
| ||
# ===========================================
# ENVIRONMENT VARIABLES
# ===========================================
epicsEnvSet("AREA", "SYS0" )
epicsEnvSet("IOC_NAME", "SIOC:$(AREA):MS07")
epicsEnvSet("LOCATION", "$(AREA)" )
epicsEnvSet("P", "PRL:$(AREA):07" )
|
476MHz PLL:
Code Block | ||
---|---|---|
| ||
# ===========================================
# ENVIRONMENT VARIABLES
# ===========================================
epicsEnvSet("AREA", "SYS0" )
epicsEnvSet("IOC_NAME", "SIOC:$(AREA):MS08")
epicsEnvSet("LOCATION", "$(AREA)" )
epicsEnvSet("P", "PRL:$(AREA):08" )
|
Load dbd and IOC health/monitoring records. Also, set up autosave and load the LCLS access configuration file. Finally, copy the archive file in $IOC_DATA to enable record archiving.
Load Point to the YAML hierarchy and register configuration.file.
Code Block | ||
---|---|---|
| ||
# Yaml File
epicsEnvSet("YAML_FILE", "yaml/Gen1Lcls2PrlMaster_project.yaml/000TopLevel.yaml")
|
Tell the IOC where to find the list of record names that will be autosaved.
...
...
Load the YAML hierarchy and register configuration.
11.5MHz PLL:
Code Block | ||
---|---|---|
| ||
# **** Environment variables for YCPSWASYN ****
# CPSW Port name
epicsEnvSet("CPSW_PORT", "SIM1")
# Yaml File
epicsEnvSet("YAML_FILE", "yaml/Gen1Lcls2PrlMaster_project.yaml/000TopLevel.yaml")
# FPGA IP address
# SIM module for 11.5MHz PLL
epicsEnvSet("FPGA_IP", "192.168.1.17")
# Use Automatic generation of records from the YAML definition
# 0 = No, 1 = Yes
epicsEnvSet("AUTO_GEN", 1)
# Automatically generated record prefix
epicsEnvSet("SIM_PREFIX", "SIM07")
# Dictionary file for manual (empty string if none)
epicsEnvSet("DICT_FILE", "")
# ===========================================
# DRIVER SETUP
# ===========================================
cpswLoadYamlFile("${YAML_FILE}", "NetIODev", "yaml/Gen1Lcls2PrlMaster_project.yaml", "${FPGA_IP}")
cpswLoadConfigFile("yaml/config/sioc-sys0-ms07.yaml", "mmio", "yaml/config")
# ************************************
# **** Driver setup for YCPSWAsyn ****
# YCPSWASYNConfig(
# PORT_NAME, # the name given to this port driver
# ROOT_PATH, # root path to start the generation, if empty, the root will be used
# PREFIX, # record name prefix
# AUTO_GEN_MODE, # 0: disable auto-generation, 1: enable autogeneration using mapped names
# # 2: enable autogeneration using hashed names
# DICIT_FILE # dictionary file path with registers to load, an empty string will disable this function
# )
YCPSWASYNConfig("${CPSW_PORT}","", "${SIM_PREFIX}", "${AUTO_GEN}", "${DICT_FILE}") |
476MHz PLL:
Code Block | ||
---|---|---|
| ||
# **** Environment variables for YCPSWASYN ****
# CPSW Port name
epicsEnvSet("CPSW_PORT", "SIM1")
# FPGA IP address
# SIM module for 476MHz PLL
epicsEnvSet("FPGA_IP", "192.168.1.18")
# Use Automatic generation of records from the YAML definition
# 0 = No, 1 = Yes
epicsEnvSet("AUTO_GEN", 1)
# Automatically generated record prefix
epicsEnvSet("SIM_PREFIX", "SIM08")
# Dictionary file for manual (empty string if none)
epicsEnvSet("DICT_FILE", "")
# ===========================================
# DRIVER SETUP
# ===========================================
cpswLoadYamlFile("${YAML_FILE}", "NetIODev", "yaml/Gen1Lcls2PrlMaster_project.yaml", "${FPGA_IP}")
cpswLoadConfigFile("yaml/config/sioc-sys0-ms08.yaml", "mmio", "yaml/config")
# ************************************
# **** Driver setup for YCPSWAsyn ****
# YCPSWASYNConfig(
# PORT_NAME, # the name given to this port driver
# ROOT_PATH, # root path to start the generation, if empty, the root will be used
# PREFIX, # record name prefix
# AUTO_GEN_MODE, # 0: disable auto-generation, 1: enable autogeneration using mapped names
# # 2: enable autogeneration using hashed names
# DICIT_FILE # dictionary file path with registers to load, an empty string will disable this function
# )
YCPSWASYNConfig("${CPSW_PORT}","", "${SIM_PREFIX}", "${AUTO_GEN}", "${DICT_FILE}") |
A complete list of the records to archive is provided below.
...