diff --git a/ifs/spectralres-assembly/publish-model.conf b/ifs/spectralres-assembly/publish-model.conf index 7fd3c46..c15d7ca 100644 --- a/ifs/spectralres-assembly/publish-model.conf +++ b/ifs/spectralres-assembly/publish-model.conf @@ -3,6 +3,29 @@ component = ifs.res publish { events = [ + { + name = state + description = "IRIS IFS Spectral Resolution assembly overall state of positioning and mode selection mechanisms" + maxRate = 20 + archive = true + attributes = [ + { + name = cmd + description = "command state" + enum = [UNINITIALIZED,READY,BUSY,CONTINUOUS] + } + { + name = move + description = "At least one mechanism within the OIWFS POA (positioning or mode selection) is moving" + enum = [STOPPED,MOVING] + } + { + name = onTarget + description = "All of the OIWFS POA mechanisms (positioning and mode selection) are on target." + type = boolean + } + ] + } { name = GRATING_state description = "Standard assembly state as defiend in [Technical Document: Software Design Patterns for Device and Component Controllers (TMT.INS.TEC.16.079.REL01)](https://docushare.tmt.org/docushare/dsweb/Get/Document-57492/cc_design_patterns_REL01.pdf)." diff --git a/sc/cryoenv-assembly/alarm-model.conf b/sc/cryoenv-assembly/alarm-model.conf new file mode 100644 index 0000000..3888f8a --- /dev/null +++ b/sc/cryoenv-assembly/alarm-model.conf @@ -0,0 +1,163 @@ +subsystem = IRIS +component = sc.cryoenv + +alarms= [ + { + name = watchdog + description = "Cryostat Environment Assembly has stopped responding" + severityLevels = [Major] + location = "TBD..." + alarmType = System + probableCause = "Software crash" + operatorResponse = "Re-start the assembly and file a bug report" + autoAck = false + latched = true + } + { + name = hcdDisconnected + description = "Connection to one(or more) of the HCDs for cryostat environment assembly has been lost" + severityLevels = [Major] + location = "Refer to hcdConnections event published" + alarmType = System + probableCause = "HCD crashed" + operatorResponse = "Verify which HCD is disconnected by checking hcdConnections event and re-start the HCD. File a bug report" + autoAck = false + latched = true + } + { + name = windowTemperature + description = "Window temperature interfacing the OIWFS is out of acceptable range." + severityLevels = [Major, Critical] + location = "IRIS interface window to OIWFS" + alarmType = System + probableCause = "Temperature control may be turned off or set incorrectly" + operatorResponse = """ + """ + autoAck = false + latched = true + } + { + name = windowTemperatureRapidChange + description = "The magnitude of the rate of change of the temperature for the window interfacing OIWFS is too big. " + severityLevels = [Major, Critical] + location = "IRIS interface window to OIWFS" + alarmType = System + probableCause = "Temperature control may be turned off or set incorrectly" + operatorResponse = """ + """ + autoAck = false + latched = true + } + { + name = imgDetectorTemperature + description = "Imager detector temperature is out of acceptable range." + severityLevels = [Major, Critical] + location = "IRIS Imager detector" + alarmType = System + probableCause = "Temperature control may be turned off or set incorrectly" + operatorResponse = """ + + """ + autoAck = false + latched = true + } + { + name = imgDetectorTemperatureRapidChange + description = "The magnitude of the rate of change of the temperature for the IMG detector is too big" + severityLevels = [Major, Critical] + location = "IRIS Imager detector" + alarmType = System + probableCause = "Temperature control may be turned off or set incorrectly" + operatorResponse = """ + """ + autoAck = false + latched = true + } + { + name = pvDetectorTemperature + description = "Pupil Viewing detector temperature is out of acceptable range." + severityLevels = [Major, Critical] + location = "IRIS Pupil Viewing detector" + alarmType = System + probableCause = "Temperature control may be turned off or set incorrectly" + operatorResponse = """ + + """ + autoAck = false + latched = true + } + { + name = pvDetectorTemperatureRapidChange + description = "The magnitude of the rate of change of the temperature for the pupil viewing detector is too big" + severityLevels = [Major, Critical] + location = "IRIS Pupil Viewing detector" + alarmType = System + probableCause = "Temperature control may be turned off or set incorrectly" + operatorResponse = """ + """ + autoAck = false + latched = true + } + { + name = ifsDetectorTemperature + description = "IFS detector temperature is out of acceptable range." + severityLevels = [Major, Critical] + location = "IRIS IFS detector" + alarmType = System + probableCause = "Temperature control may be turned off or set incorrectly" + operatorResponse = """ + + """ + autoAck = false + latched = true + } + { + name = IFSDetectorTemperatureRapidChange + description = "The magnitude of the rate of change of the temperature for the IFS detector is too big" + severityLevels = [Major, Critical] + location = "IRIS IFS detector" + alarmType = System + probableCause = "Temperature control may be turned off or set incorrectly" + operatorResponse = """ + """ + autoAck = false + latched = true + } + { + name = imgTemperature + description = "The temperature reading from one or more sensors located in the IMG side of dewar is out of the acceptable range." + severityLevels = [Major, Critical] + location = "TBD" + alarmType = System + probableCause = "Mechanism overheating" + operatorResponse = """ + + """ + autoAck = false + latched = true + } + { + name = ifsTemperature + description = "The temperature reading from one or more sensors located in the IFS side of dewar is out of the acceptable range." + severityLevels = [Major, Critical] + location = "TBD" + alarmType = System + probableCause = "Mechanism overheating" + operatorResponse = """ + """ + autoAck = false + latched = true + } + { + name = pressure + description = "IRIS Science Cryostat pressure is out of acceptable range." + severityLevels = [Major, Critical] + location = "IRIS Science Cryostat" + alarmType = System + probableCause = "Potential leak on the IRIS Science Cryostat" + operatorResponse = """ + """ + autoAck = false + latched = true + } +] \ No newline at end of file diff --git a/sc/cryoenv-assembly/publish-model.conf b/sc/cryoenv-assembly/publish-model.conf index 031af52..f87bc1c 100644 --- a/sc/cryoenv-assembly/publish-model.conf +++ b/sc/cryoenv-assembly/publish-model.conf @@ -1,883 +1,271 @@ subsystem = IRIS component = sc.cryoenv -publish { - - events = [ - { - name = "IMG_STATE" - description = "IMG functional group state" - maxRate = 20 - attributes = [ - { - name = cmdState - description = "command state" - enum = [UNINITIALIZED,READY] - } - { - name = thermalVacuumState - description = "thermal-vacuum state" - enum = [WARM, PUMPING, WARM_VACUUM, COOLING, COLD, WARMING, PRESSURIZING] - } - { - name = debug - description = "debug level" - enum = [TBD1,TBD2] - } - ] - } - { - name = "IMGTEMP[XX]" - description = "IMG functional group temperature reading" - maxRate = 20 - attributes = [ - { - name = lakeshoreID - description = "ID of the Lakeshore device that this reading is from" - type = string - } - { - name = sensorID - description = "ID of the sensor assigned for the temperature reading" - type = string - } - { - name = location - description = "Physical location of the sensor assigned for the temperature reading" - type = string - } - { - name = reading - description = "Temperature reading of the sensor in kelvin" - type = double - } - { - name = "unit" - description = "Temperature unit" - enum = [K, C, Sensor, Linear] - default = K - } - { - name = "sensorreadingstatus" - description = "Bit weighting of sensor status flags. 1=invalid reading, 2=old reading, 16=temp underrange, 32=temp overrange, 64=units zero, 128= units overrarnge" - type = integer - default = 0 - } - { - name = "highalarmstatus" - description = "Alarm status for highest value" - type = boolean - default = false - } - { - name = "lowalarmstatus" - description = "Alarm status for lowest value" - type = boolean - default = false - } - { - name = "min" - description = "Minimum temperature during current session" - type = float - } - { - name = "max" - description = "Maximum temperature during current session" - type = float - } - { - name = "minmaxstatus" - description = "Bit weighting of min/max status flags. 1=invalid reading, 2=old reading, 16=temp underrange, 32=temp overrange, 64=units zero, 128= units overrarnge" - type = array - dimensions = [2] - items = { - type = integer - minimum = 0 - maximum = 512 - } - } - ] - } - { - name = "IMG_HTR" - description = "Telemetry of the heater control loop" - archive = true - maxRate = 1 - attributes = [ - { - name = lakeshoreID - description = "ID of the Lakeshore device that this reading is from" - type = string - } - { - name = "loopID" - description = "Control loop ID of the hardware" - type = string - } - { - name = "setpoint" - description = "current setpoint of control loop." - type = float - } - { - name = "heater_range" - description = "heater range. The power of the heater is decided by heater resistance, heater range, and maximum current." - type = integer - minimum = 1 - maximum = 5 - default = 1 - } - { - name = "input" - description = "Input this loop to control from." - enum = [A, B] - } - { - name = "units" - description = "Setpoint unit" - enum = [K, C, Sensor] - } - { - name = "enabled" - description = "On/Off flag of this control loop." - type = boolean - default = false - } - { - name = "powerup_enable" - description = "Flag specifying whether the control loop is on or off after power up." - type = boolean - default = false - } - { - name = "filterEnabled" - description = "On/Off flag of this control loop filter. It uses the same filter window and number of filter points as input." - type = boolean - default = false - } - { - name = "mode" - description = "Control loop PID mode. 1 = Manual PID, 2 = Zone, 3 = Open Loop, 4 = Autotune PID, 5 = AutoTune PI, 6 = AutoTune P" - type = integer - minimum = 1 - maximum = 6 - } - { - name = "pid" - description = "PID values for this control loop" - type = array - dimensions = [3] - items = { - type = integer - } - } - { - name = "rampEnabled" - description = "On/Off flag of the ramp control" - type = boolean - default = false - } - { - name = "ramp_value" - description = "How many kelvin per minute to ramp the setpoint" - type = float - } - { - name = "output" - description = "Heater output in percent" - type = float - } - { - name = "status" - description = "Errorcode in heater output" - type = integer - minimum = 0 - maximum = 6 - } - ] - } - { - name = "IFS_STATE" - description = "IFS functional group state" - maxRate = 20 - attributes = [ - { - name = cmdState - description = "command state" - enum = [UNINITIALIZED,READY] - } - { - name = thermalVacuumState - description = "thermal-vacuum state" - enum = [WARM, PUMPING, WARM_VACUUM, COOLING, COLD, WARMING, PRESSURIZING] - } - { - name = debug - description = "debug level" - enum = [TBD1,TBD2] - } - ] - } - { - name = "IFSTEMP[XX]" - description = "IFS functional group temperature reading" - maxRate = 20 - attributes = [ - { - name = lakeshoreID - description = "ID of the Lakeshore device that this reading is from" - type = string - } - { - name = sensorID - description = "ID of the sensor assigned for the temperature reading" - type = string - } - { - name = location - description = "Physical location of the sensor assigned for the temperature reading" - type = string - } - { - name = reading - description = "Temperature reading of the sensor in kelvin" - type = double - } - { - name = "unit" - description = "Temperature unit" - enum = [K, C, Sensor, Linear] - default = K - } - { - name = "sensorreadingstatus" - description = "Bit weighting of sensor status flags. 1=invalid reading, 2=old reading, 16=temp underrange, 32=temp overrange, 64=units zero, 128= units overrarnge" - type = integer - default = 0 - } - { - name = "highalarmstatus" - description = "Alarm status for highest value" - type = boolean - default = false - } - { - name = "lowalarmstatus" - description = "Alarm status for lowest value" - type = boolean - default = false - } - { - name = "min" - description = "Minimum temperature during current session" - type = float - } - { - name = "max" - description = "Maximum temperature during current session" - type = float - } - { - name = "minmaxstatus" - description = "Bit weighting of min/max status flags. 1=invalid reading, 2=old reading, 16=temp underrange, 32=temp overrange, 64=units zero, 128= units overrarnge" - type = array - dimensions = [2] - items = { - type = integer - minimum = 0 - maximum = 512 - } - } - ] - } - { - name = "IFS_HTR" - description = "Telemetry of the heater control loop" - archive = true - maxRate = 1 - attributes = [ - { - name = lakeshoreID - description = "ID of the Lakeshore device that this reading is from" - type = string - } - { - name = "loopID" - description = "Control loop ID of the hardware" - type = string - } - { - name = "setpoint" - description = "current setpoint of control loop." - type = float - } - { - name = "heater_range" - description = "heater range. The power of the heater is decided by heater resistance, heater range, and maximum current." - type = integer - minimum = 1 - maximum = 5 - default = 1 - } - { - name = "input" - description = "Input this loop to control from." - enum = [A, B] - } - { - name = "units" - description = "Setpoint unit" - enum = [K, C, Sensor] - } - { - name = "enabled" - description = "On/Off flag of this control loop." - type = boolean - default = false - } - { - name = "powerup_enable" - description = "Flag specifying whether the control loop is on or off after power up." - type = boolean - default = false - } - { - name = "filterEnabled" - description = "On/Off flag of this control loop filter. It uses the same filter window and number of filter points as input." - type = boolean - default = false - } - { - name = "mode" - description = "Control loop PID mode. 1 = Manual PID, 2 = Zone, 3 = Open Loop, 4 = Autotune PID, 5 = AutoTune PI, 6 = AutoTune P" - type = integer - minimum = 1 - maximum = 6 - } - { - name = "pid" - description = "PID values for this control loop" - type = array - dimensions = [3] - items = { - type = integer - } - } - { - name = "rampEnabled" - description = "On/Off flag of the ramp control" - type = boolean - default = false - } - { - name = "ramp_value" - description = "How many kelvin per minute to ramp the setpoint" - type = float - } - { - name = "output" - description = "Heater output in percent" - type = float - } - { - name = "status" - description = "Errorcode in heater output" - type = integer - minimum = 0 - maximum = 6 - } - ] - } - { - name = "WIN_STATE" - description = "WIN functional group state" - maxRate = 20 - attributes = [ - { - name = cmdState - description = "command state" - enum = [UNINITIALIZED,READY] - } - { - name = thermalVacuumState - description = "thermal-vacuum state" - enum = [WARM, PUMPING, WARM_VACUUM, COOLING, COLD, WARMING, PRESSURIZING] - } - { - name = debug - description = "debug level" - enum = [TBD1,TBD2] - } - ] - } - { - name = "WIN_TEMP[XX]" - description = "WIN functional group temperature reading" - maxRate = 20 - attributes = [ - { - name = lakeshoreID - description = "ID of the Lakeshore device that this reading is from" - type = string - } - { - name = sensorID - description = "ID of the sensor assigned for the temperature reading" - type = string - } - { - name = location - description = "Physical location of the sensor assigned for the temperature reading" - type = string - } - { - name = reading - description = "Temperature reading of the sensor in kelvin" - type = double - } - { - name = "unit" - description = "Temperature unit" - enum = [K, C, Sensor, Linear] - default = K - } - { - name = "sensorreadingstatus" - description = "Bit weighting of sensor status flags. 1=invalid reading, 2=old reading, 16=temp underrange, 32=temp overrange, 64=units zero, 128= units overrarnge" - type = integer - default = 0 - } - { - name = "highalarmstatus" - description = "Alarm status for highest value" - type = boolean - default = false - } - { - name = "lowalarmstatus" - description = "Alarm status for lowest value" - type = boolean - default = false - } - { - name = "min" - description = "Minimum temperature during current session" - type = float - } - { - name = "max" - description = "Maximum temperature during current session" - type = float - } - { - name = "minmaxstatus" - description = "Bit weighting of min/max status flags. 1=invalid reading, 2=old reading, 16=temp underrange, 32=temp overrange, 64=units zero, 128= units overrarnge" - type = array - dimensions = [2] - items = { - type = integer - minimum = 0 - maximum = 512 - } - } - ] - } - { - name = "WIN_HTR" - description = "Telemetry of the heater control loop" - archive = true - maxRate = 1 - attributes = [ - { - name = lakeshoreID - description = "ID of the Lakeshore device that this reading is from" - type = string - } - { - name = "loopID" - description = "Control loop ID of the hardware" - type = string - } - { +publish{ + events = [ + { + name = state + description =""" + Currnet state of the IRIS Cryostat Environment Assembly + """ + maxRate = 1 + archive = true + parameters = [ + { + name = cmd + description = "command state" + enum = [UNINITIALIZED,READY,BUSY,CONTINUOUS] + } + { + name = debug + description = debug level + enum = [DEBUG,INFO, WARN, ERROR] + } + { + name = engineeringMode + description = "Indicates whether engineering mode is enabled or disabled" + type = boolean + } + { + name = cryostatEnvState + description = thermal-vacuum state + enum = [WARM, PUMPING, WARM_VACUUM, COOLING, COLD, WARMING, PRESSURIZING] + } + { + name = oiwfsConnected + description = "Indicates whether IRIS is physically connected to OIWFS" + type = boolean + } + { + name = hcdConnections + description = """ + Connection status of the HCD's under the assembly. + """ + type = struct + parameters = [ + { + name = cryoTempControlHcd + description = "Connection status of the temperature controller for the window and cryostat" + type = boolean + } + { + name = imgTempControlHcd + description = "Connection status of the temperature controller for the imager detector" + type = boolean + } + { + name = pvTempControlHcd + description = "Connection status of the temperature controller for the pupil viewing camera detector" + type = boolean + } + { + name = ifsTempControlHcd + description = "Connection status of the temperature controller for the IFS detector" + type = boolean + } + { + name = cryoTempMonitorHcd + description = "Connection status of the temperature monitor for the cryostat" + type = boolean + } + { + name = imgTempMonitorHcd1 + description = "Connection status of the temperature monitor 1 for the imager mechanisms" + type = boolean + } + { + name = imgTempMonitorHcd2 + description = "Connection status of the temperature monitor 2 for the imager mechanisms" + type = boolean + } + { + name = ifsTempMonitorHcd + description = "Connection status of the temperature monitor for the IFS mechanisms" + type = boolean + } + ] + } + ] + } + + { + name = windowTemperature + description = """ + A temperature reading of sensor located on IRIS Cryostat Window to OIWFS + """ + maxRate = 1 + archive = true + parameters = [ + { + name = temperature + description = "Temperature sensor reading in kelvin" + type = double + units = K + } + ] + } + { + name = pupilDetectorTemperature + description = """ + A temperature reading of sensor located on IRIS Imager Pupil Viewing Camera detector + """ + ref = windowTemperature + } + { + name = imgDetectorTemperature + description = """ + A temperature reading of sensor located on IRIS Imager detectors + """ + ref = windowTemperature + } + { + name = ifsDetectorTemperature + description = """ + A temperature reading of sensor located on IRIS IFS detector + """ + ref = windowTemperature + } + { + name = windowHeaterStatus + description = """ + Current status of the heating element that controls the temperature of IRIS Cryostat Window to OIWFS + """ + maxRate = 1 + archive = true + parameters = [ + { + name = "output" + description = "Heater output in percent of maximum current/power(TBD)" + type = double + } + { name = "setpoint" - description = "current setpoint of control loop." - type = float + description = "current setpoint of heater control loop." + type = double } - { - name = "heater_range" - description = "heater range. The power of the heater is decided by heater resistance, heater range, and maximum current." - type = integer - minimum = 1 - maximum = 5 - default = 1 + { + name = "heaterRangeStatus" + description = """ + The heater range is used to turn on/off temperature control as well as setting the output power range. High setting allows the maximum power, while the Med range provides 10% of maximum, and Low provides 1% of maximum. Also, depends on the output, only on or off options are available. + """ + enum = [off, on, high, med, low] } - { - name = "input" - description = "Input this loop to control from." - enum = [A, B] - } - { - name = "units" - description = "Setpoint unit" - enum = [K, C, Sensor] - } - { - name = "enabled" - description = "On/Off flag of this control loop." - type = boolean - default = false - } - { - name = "powerup_enable" - description = "Flag specifying whether the control loop is on or off after power up." - type = boolean - default = false - } - { - name = "filterEnabled" - description = "On/Off flag of this control loop filter. It uses the same filter window and number of filter points as input." - type = boolean - default = false - } - { - name = "mode" - description = "Control loop PID mode. 1 = Manual PID, 2 = Zone, 3 = Open Loop, 4 = Autotune PID, 5 = AutoTune PI, 6 = AutoTune P" - type = integer - minimum = 1 - maximum = 6 - } - { - name = "pid" - description = "PID values for this control loop" - type = array - dimensions = [3] - items = { - type = integer - } - } - { + { name = "rampEnabled" description = "On/Off flag of the ramp control" type = boolean - default = false - } - { - name = "ramp_value" - description = "How many kelvin per minute to ramp the setpoint" - type = float - } - { - name = "output" - description = "Heater output in percent" - type = float - } - { - name = "status" - description = "Errorcode in heater output" - type = integer - minimum = 0 - maximum = 6 - } - ] - } - { - name = "PV_STATE" - description = "PV functional group state" - maxRate = 20 - attributes = [ - { - name = cmdState - description = "command state" - enum = [UNINITIALIZED,READY] - } - { - name = thermalVacuumState - description = "thermal-vacuum state" - enum = [WARM, PUMPING, WARM_VACUUM, COOLING, COLD, WARMING, PRESSURIZING] - } - { - name = debug - description = "debug level" - enum = [TBD1,TBD2] - } - ] - } - { - name = "PV_TEMP[N]" - description = "PV functional temperature reading" - maxRate = 20 - attributes = [ - { - name = lakeshoreID - description = "ID of the Lakeshore device that this reading is from" - type = string - } - { - name = sensorID - description = "ID of the sensor assigned for the temperature reading" - type = string - } - { - name = location - description = "Physical location of the sensor assigned for the temperature reading" - type = string - } - { - name = reading - description = "Temperature reading of the sensor in kelvin" - type = double - } - { - name = "unit" - description = "Temperature unit" - enum = [K, C, Sensor, Linear] - default = K - } - { - name = "sensorreadingstatus" - description = "Bit weighting of sensor status flags. 1=invalid reading, 2=old reading, 16=temp underrange, 32=temp overrange, 64=units zero, 128= units overrarnge" - type = integer - default = 0 - } - { - name = "highalarmstatus" - description = "Alarm status for highest value" - type = boolean - default = false - } - { - name = "lowalarmstatus" - description = "Alarm status for lowest value" - type = boolean - default = false - } - { - name = "min" - description = "Minimum temperature during current session" - type = float - } - { - name = "max" - description = "Maximum temperature during current session" - type = float } - { - name = "minmaxstatus" - description = "Bit weighting of min/max status flags. 1=invalid reading, 2=old reading, 16=temp underrange, 32=temp overrange, 64=units zero, 128= units overrarnge" + + ] + } + { + name = cryostatHeaterStatus + description = """ + Current status of the heating element that supports IRIS Cryostat warm up + """ + ref = windowHeaterStatus + } + { + name = pupilDetectorHeaterStatus + description = """ + Current status of the heating element that controls the temperature of IRIS Imager Pupil Viewing Camera detector + """ + ref = windowHeaterStatus + } + { + name = imgDetectorHeaterStatus + description = """ + Current status of the heating element that controls the temperature of IRIS Imager detectors + """ + ref = windowHeaterStatus + } + { + name = ifsDetectorHeaterStatus + description = """ + Current status of the heating element that controls the temperature of IRIS IFS detector + """ + ref = windowHeaterStatus + } + { + name = imgTemperatures + description = """ + A List of temperature sensor readings that are located within the IRIS Imager side of cryostat. Mainly located on Imager mechanisms.The locations of the sensors are published as (#sc.cryoenv-publishes-Event-imgTemperatureLocations). The temperature readings and the sensor locations are placed in same index. + """ + maxRate = 0 + archive = true + parameters = [ + { + name = temperatures + description = "Array of temperature readings. " + type = array + units = K + minItems = 1 + maxItems = 8 + } + ] + } + { + name = ifsTemperatures + description =""" + A List of temperature sensor readings that are located within the IRIS IFS side of cryostat. Mainly located on IFS mechanisms. The locations of the sensors are published as (#sc.cryoenv-publishes-Event-ifsTemperatureLocations). The temperature readings and the sensor locations are placed in same index. + """ + ref = imgTemperatures + } + { + name = cryostatTemperatures + description = """ + A List of temperature sensor readings that are located throught IRIS Cryostat. Used to monitor overall cryostat environment. The locations of the sensors are published as (#sc.cryoenv-publishes-Event-cryostatTemperatureLocations). The temperature readings and the sensor locations are placed in same index. + """ + ref = imgTemperatures + } + { + name = imgTemperatureLocations + description = """ + A list of locations of sensors in (#sc.cryoenv-publishes-Event-imgTemperatures). This event will be published once upon the start-up of the assembly for the subscribers to referece sensor locations. Even though it's published only once, subscribers can get the latest published event. + """ + maxRate = 0 + archive = true + parameters = [ + { + name = temperatures + description = "Array of temperature sensor locations. " type = array - dimensions = [2] - items = { - type = integer - minimum = 0 - maximum = 512 - } - } - ] - } - { - name = "PV_HTR" - description = "Telemetry of the heater control loop" - archive = true - maxRate = 1 - attributes = [ - { - name = lakeshoreID - description = "ID of the Lakeshore device that this reading is from" - type = string - } - { - name = "loopID" - description = "Control loop ID of the hardware" - type = string - } - { - name = "setpoint" - description = "current setpoint of control loop." - type = float - } - { - name = "heater_range" - description = "heater range. The power of the heater is decided by heater resistance, heater range, and maximum current." - type = integer - minimum = 1 - maximum = 5 - default = 1 - } - { - name = "input" - description = "Input this loop to control from." - enum = [A, B] - } - { - name = "units" - description = "Setpoint unit" - enum = [K, C, Sensor] - } - { - name = "enabled" - description = "On/Off flag of this control loop." - type = boolean - default = false - } - { - name = "powerup_enable" - description = "Flag specifying whether the control loop is on or off after power up." - type = boolean - default = false - } - { - name = "filterEnabled" - description = "On/Off flag of this control loop filter. It uses the same filter window and number of filter points as input." - type = boolean - default = false - } - { - name = "mode" - description = "Control loop PID mode. 1 = Manual PID, 2 = Zone, 3 = Open Loop, 4 = Autotune PID, 5 = AutoTune PI, 6 = AutoTune P" - type = integer - minimum = 1 - maximum = 6 - } - { - name = "pid" - description = "PID values for this control loop" - type = array - dimensions = [3] - items = { - type = integer - } - } - { - name = "rampEnabled" - description = "On/Off flag of the ramp control" - type = boolean - default = false - } - { - name = "ramp_value" - description = "How many kelvin per minute to ramp the setpoint" - type = float - } - { - name = "output" - description = "Heater output in percent" - type = float - } - { - name = "status" - description = "Errorcode in heater output" - type = integer - minimum = 0 - maximum = 6 - } - ] - } - { - name = "PRESS_STATE" - description = "PRESS functional group state" - maxRate = 20 - attributes = [ - { - name = cmdState - description = "command state" - enum = [UNINITIALIZED,READY] - } - { - name = thermalVacuumState - description = "thermal-vacuum state" - enum = [WARM, PUMPING, WARM_VACUUM, COOLING, COLD, WARMING, PRESSURIZING] - } - { - name = debug - description = "debug level" - enum = [TBD1,TBD2] - } - ] - } - { - name = "PESSURE" - description = "Telemetry for the pressure of the cryostat." - maxRate = 20 - attributes = [ - { - name = gaugeID - description = "command state" - type = string - } - { - name = unit - description = "Pressure unit" - enum = [atm, torr, pascal] - } - { - name = reading - description = "Pressure reading from the gauge specified." - type = float - } - ] - } - ] - - alarms = [ - { - name = TEMPERATURE - description = "Alarm when the temperature is out of range for current thermal-vacuum state." - // TODO FIXME: The fields below were automatically added and should be updated manually - severityLevels = [Major] - location = "TBD..." - alarmType = Calculated - probableCause = "TBD..." - operatorResponse = "TBD..." - autoAck = false - latched = false - } - { - name = TEMPERATURE_GRADIENT - description = "alarm when the temperature rate of change is greater than as configured." - // TODO FIXME: The fields below were automatically added and should be updated manually - severityLevels = [Major] - location = "TBD..." - alarmType = Calculated - probableCause = "TBD..." - operatorResponse = "TBD..." - autoAck = false - latched = false - } - { - name = PRESSURE - description = "Alarm when the pressure is out of range for current thermal-vacuum state." - // TODO FIXME: The fields below were automatically added and should be updated manually - severityLevels = [Major] - location = "TBD..." - alarmType = Calculated - probableCause = "TBD..." - operatorResponse = "TBD..." - autoAck = false - latched = false - } - { - name = PRESSURE_GRADIENT - description = "alarm when the temperature rate of change is greater than as configured." - // TODO FIXME: The fields below were automatically added and should be updated manually - severityLevels = [Major] - location = "TBD..." - alarmType = Calculated - probableCause = "TBD..." - operatorResponse = "TBD..." - autoAck = false - latched = false - } - { - name = LOST_CONNECTION - description = "Alarm when it's unable to communicate with one or more HCDs." - // TODO FIXME: The fields below were automatically added and should be updated manually - severityLevels = [Major] - location = "TBD..." - alarmType = Calculated - probableCause = "TBD..." - operatorResponse = "TBD..." - autoAck = false - latched = false - } - ] -} \ No newline at end of file + minItems = 1 + maxItems = 16 + } + ] + } + { + name = ifsTemperatureLocations + description = """ + A list of locations of sensors in (#sc.cryoenv-publishes-Event-ifsTemperatures). This event will be published once upon the start-up of the assembly for the subscribers to referece sensor locations. + """ + ref = imgTemperatureLocations + } + { + name = cryostatTemperatureLocations + description = """ + A list of locations of sensors in (#sc.cryoenv-publishes-Event-cryostatTemperatures). This event will be published once upon the start-up of the assembly for the subscribers to referece sensor locations. + """ + ref = imgTemperatureLocations + + } + { + name = cryostatPressure + description = """ + The pressure gauge reading for the entire IRIS Cryostat. + """ + maxRate = 1 + archive = true + parameters = [ + { + name = pressure + description = "Pressure reading in Torr" + type = double + units = "Torr" + } + + ] + } + ] +} \ No newline at end of file