hvl_ccb.dev.supercube.constants
Constants, variable names for the Supercube OPC-connected devices.
- class AlarmText(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
hvl_ccb.utils.enum.ValueEnum
This enumeration contains textual representations for all error classes (stop, warning and message) of the Supercube system. Use the
AlarmText.get()
method to retrieve the enum of an alarm number.- Alarm1 = 'STOP Emergency Stop 1'
- Alarm10 = 'STOP Earthing stick 2 error while opening'
- Alarm11 = 'STOP Earthing stick 3 error while opening'
- Alarm12 = 'STOP Earthing stick 4 error while opening'
- Alarm13 = 'STOP Earthing stick 5 error while opening'
- Alarm14 = 'STOP Earthing stick 6 error while opening'
- Alarm15 = 'STOP Earthing stick 1 error while closing'
- Alarm16 = 'STOP Earthing stick 2 error while closing'
- Alarm17 = 'STOP Earthing stick 3 error while closing'
- Alarm18 = 'STOP Earthing stick 4 error while closing'
- Alarm19 = 'STOP Earthing stick 5 error while closing'
- Alarm2 = 'STOP Emergency Stop 2'
- Alarm20 = 'STOP Earthing stick 6 error while closing'
- Alarm21 = 'STOP Safety fence 1'
- Alarm22 = 'STOP Safety fence 2'
- Alarm23 = 'STOP OPC connection error'
- Alarm24 = 'STOP Grid power failure'
- Alarm25 = 'STOP UPS failure'
- Alarm26 = 'STOP 24V PSU failure'
- Alarm3 = 'STOP Emergency Stop 3'
- Alarm4 = 'STOP Safety Switch 1 error'
- Alarm41 = 'WARNING Door 1: Use earthing rod!'
- Alarm42 = 'MESSAGE Door 1: Earthing rod is still in setup.'
- Alarm43 = 'WARNING Door 2: Use earthing rod!'
- Alarm44 = 'MESSAGE Door 2: Earthing rod is still in setup.'
- Alarm45 = 'WARNING Door 3: Use earthing rod!'
- Alarm46 = 'MESSAGE Door 3: Earthing rod is still in setup.'
- Alarm47 = 'MESSAGE UPS charge < 85%'
- Alarm48 = 'MESSAGE UPS running on battery'
- Alarm5 = 'STOP Safety Switch 2 error'
- Alarm6 = 'STOP Door 1 lock supervision'
- Alarm7 = 'STOP Door 2 lock supervision'
- Alarm8 = 'STOP Door 3 lock supervision'
- Alarm9 = 'STOP Earthing stick 1 error while opening'
- classmethod get(alarm: int)[source]
Get the attribute of this enum for an alarm number.
- Parameters
alarm – the alarm number
- Returns
the enum for the desired alarm number
- not_defined = 'NO ALARM TEXT DEFINED'
- class Alarms(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)
Bases:
hvl_ccb.dev.supercube.constants._AlarmEnumBase
Alarms enumeration containing all variable NodeID strings for the alarm array.
- Alarm1 = '"DB_Alarm_HMI"."Alarm1"'
- Alarm10 = '"DB_Alarm_HMI"."Alarm10"'
- Alarm100 = '"DB_Alarm_HMI"."Alarm100"'
- Alarm101 = '"DB_Alarm_HMI"."Alarm101"'
- Alarm102 = '"DB_Alarm_HMI"."Alarm102"'
- Alarm103 = '"DB_Alarm_HMI"."Alarm103"'
- Alarm104 = '"DB_Alarm_HMI"."Alarm104"'
- Alarm105 = '"DB_Alarm_HMI"."Alarm105"'
- Alarm106 = '"DB_Alarm_HMI"."Alarm106"'
- Alarm107 = '"DB_Alarm_HMI"."Alarm107"'
- Alarm108 = '"DB_Alarm_HMI"."Alarm108"'
- Alarm109 = '"DB_Alarm_HMI"."Alarm109"'
- Alarm11 = '"DB_Alarm_HMI"."Alarm11"'
- Alarm110 = '"DB_Alarm_HMI"."Alarm110"'
- Alarm111 = '"DB_Alarm_HMI"."Alarm111"'
- Alarm112 = '"DB_Alarm_HMI"."Alarm112"'
- Alarm113 = '"DB_Alarm_HMI"."Alarm113"'
- Alarm114 = '"DB_Alarm_HMI"."Alarm114"'
- Alarm115 = '"DB_Alarm_HMI"."Alarm115"'
- Alarm116 = '"DB_Alarm_HMI"."Alarm116"'
- Alarm117 = '"DB_Alarm_HMI"."Alarm117"'
- Alarm118 = '"DB_Alarm_HMI"."Alarm118"'
- Alarm119 = '"DB_Alarm_HMI"."Alarm119"'
- Alarm12 = '"DB_Alarm_HMI"."Alarm12"'
- Alarm120 = '"DB_Alarm_HMI"."Alarm120"'
- Alarm121 = '"DB_Alarm_HMI"."Alarm121"'
- Alarm122 = '"DB_Alarm_HMI"."Alarm122"'
- Alarm123 = '"DB_Alarm_HMI"."Alarm123"'
- Alarm124 = '"DB_Alarm_HMI"."Alarm124"'
- Alarm125 = '"DB_Alarm_HMI"."Alarm125"'
- Alarm126 = '"DB_Alarm_HMI"."Alarm126"'
- Alarm127 = '"DB_Alarm_HMI"."Alarm127"'
- Alarm128 = '"DB_Alarm_HMI"."Alarm128"'
- Alarm129 = '"DB_Alarm_HMI"."Alarm129"'
- Alarm13 = '"DB_Alarm_HMI"."Alarm13"'
- Alarm130 = '"DB_Alarm_HMI"."Alarm130"'
- Alarm131 = '"DB_Alarm_HMI"."Alarm131"'
- Alarm132 = '"DB_Alarm_HMI"."Alarm132"'
- Alarm133 = '"DB_Alarm_HMI"."Alarm133"'
- Alarm134 = '"DB_Alarm_HMI"."Alarm134"'
- Alarm135 = '"DB_Alarm_HMI"."Alarm135"'
- Alarm136 = '"DB_Alarm_HMI"."Alarm136"'
- Alarm137 = '"DB_Alarm_HMI"."Alarm137"'
- Alarm138 = '"DB_Alarm_HMI"."Alarm138"'
- Alarm139 = '"DB_Alarm_HMI"."Alarm139"'
- Alarm14 = '"DB_Alarm_HMI"."Alarm14"'
- Alarm140 = '"DB_Alarm_HMI"."Alarm140"'
- Alarm141 = '"DB_Alarm_HMI"."Alarm141"'
- Alarm142 = '"DB_Alarm_HMI"."Alarm142"'
- Alarm143 = '"DB_Alarm_HMI"."Alarm143"'
- Alarm144 = '"DB_Alarm_HMI"."Alarm144"'
- Alarm145 = '"DB_Alarm_HMI"."Alarm145"'
- Alarm146 = '"DB_Alarm_HMI"."Alarm146"'
- Alarm147 = '"DB_Alarm_HMI"."Alarm147"'
- Alarm148 = '"DB_Alarm_HMI"."Alarm148"'
- Alarm149 = '"DB_Alarm_HMI"."Alarm149"'
- Alarm15 = '"DB_Alarm_HMI"."Alarm15"'
- Alarm150 = '"DB_Alarm_HMI"."Alarm150"'
- Alarm151 = '"DB_Alarm_HMI"."Alarm151"'
- Alarm16 = '"DB_Alarm_HMI"."Alarm16"'
- Alarm17 = '"DB_Alarm_HMI"."Alarm17"'
- Alarm18 = '"DB_Alarm_HMI"."Alarm18"'
- Alarm19 = '"DB_Alarm_HMI"."Alarm19"'
- Alarm2 = '"DB_Alarm_HMI"."Alarm2"'
- Alarm20 = '"DB_Alarm_HMI"."Alarm20"'
- Alarm21 = '"DB_Alarm_HMI"."Alarm21"'
- Alarm22 = '"DB_Alarm_HMI"."Alarm22"'
- Alarm23 = '"DB_Alarm_HMI"."Alarm23"'
- Alarm24 = '"DB_Alarm_HMI"."Alarm24"'
- Alarm25 = '"DB_Alarm_HMI"."Alarm25"'
- Alarm26 = '"DB_Alarm_HMI"."Alarm26"'
- Alarm27 = '"DB_Alarm_HMI"."Alarm27"'
- Alarm28 = '"DB_Alarm_HMI"."Alarm28"'
- Alarm29 = '"DB_Alarm_HMI"."Alarm29"'
- Alarm3 = '"DB_Alarm_HMI"."Alarm3"'
- Alarm30 = '"DB_Alarm_HMI"."Alarm30"'
- Alarm31 = '"DB_Alarm_HMI"."Alarm31"'
- Alarm32 = '"DB_Alarm_HMI"."Alarm32"'
- Alarm33 = '"DB_Alarm_HMI"."Alarm33"'
- Alarm34 = '"DB_Alarm_HMI"."Alarm34"'
- Alarm35 = '"DB_Alarm_HMI"."Alarm35"'
- Alarm36 = '"DB_Alarm_HMI"."Alarm36"'
- Alarm37 = '"DB_Alarm_HMI"."Alarm37"'
- Alarm38 = '"DB_Alarm_HMI"."Alarm38"'
- Alarm39 = '"DB_Alarm_HMI"."Alarm39"'
- Alarm4 = '"DB_Alarm_HMI"."Alarm4"'
- Alarm40 = '"DB_Alarm_HMI"."Alarm40"'
- Alarm41 = '"DB_Alarm_HMI"."Alarm41"'
- Alarm42 = '"DB_Alarm_HMI"."Alarm42"'
- Alarm43 = '"DB_Alarm_HMI"."Alarm43"'
- Alarm44 = '"DB_Alarm_HMI"."Alarm44"'
- Alarm45 = '"DB_Alarm_HMI"."Alarm45"'
- Alarm46 = '"DB_Alarm_HMI"."Alarm46"'
- Alarm47 = '"DB_Alarm_HMI"."Alarm47"'
- Alarm48 = '"DB_Alarm_HMI"."Alarm48"'
- Alarm49 = '"DB_Alarm_HMI"."Alarm49"'
- Alarm5 = '"DB_Alarm_HMI"."Alarm5"'
- Alarm50 = '"DB_Alarm_HMI"."Alarm50"'
- Alarm51 = '"DB_Alarm_HMI"."Alarm51"'
- Alarm52 = '"DB_Alarm_HMI"."Alarm52"'
- Alarm53 = '"DB_Alarm_HMI"."Alarm53"'
- Alarm54 = '"DB_Alarm_HMI"."Alarm54"'
- Alarm55 = '"DB_Alarm_HMI"."Alarm55"'
- Alarm56 = '"DB_Alarm_HMI"."Alarm56"'
- Alarm57 = '"DB_Alarm_HMI"."Alarm57"'
- Alarm58 = '"DB_Alarm_HMI"."Alarm58"'
- Alarm59 = '"DB_Alarm_HMI"."Alarm59"'
- Alarm6 = '"DB_Alarm_HMI"."Alarm6"'
- Alarm60 = '"DB_Alarm_HMI"."Alarm60"'
- Alarm61 = '"DB_Alarm_HMI"."Alarm61"'
- Alarm62 = '"DB_Alarm_HMI"."Alarm62"'
- Alarm63 = '"DB_Alarm_HMI"."Alarm63"'
- Alarm64 = '"DB_Alarm_HMI"."Alarm64"'
- Alarm65 = '"DB_Alarm_HMI"."Alarm65"'
- Alarm66 = '"DB_Alarm_HMI"."Alarm66"'
- Alarm67 = '"DB_Alarm_HMI"."Alarm67"'
- Alarm68 = '"DB_Alarm_HMI"."Alarm68"'
- Alarm69 = '"DB_Alarm_HMI"."Alarm69"'
- Alarm7 = '"DB_Alarm_HMI"."Alarm7"'
- Alarm70 = '"DB_Alarm_HMI"."Alarm70"'
- Alarm71 = '"DB_Alarm_HMI"."Alarm71"'
- Alarm72 = '"DB_Alarm_HMI"."Alarm72"'
- Alarm73 = '"DB_Alarm_HMI"."Alarm73"'
- Alarm74 = '"DB_Alarm_HMI"."Alarm74"'
- Alarm75 = '"DB_Alarm_HMI"."Alarm75"'
- Alarm76 = '"DB_Alarm_HMI"."Alarm76"'
- Alarm77 = '"DB_Alarm_HMI"."Alarm77"'
- Alarm78 = '"DB_Alarm_HMI"."Alarm78"'
- Alarm79 = '"DB_Alarm_HMI"."Alarm79"'
- Alarm8 = '"DB_Alarm_HMI"."Alarm8"'
- Alarm80 = '"DB_Alarm_HMI"."Alarm80"'
- Alarm81 = '"DB_Alarm_HMI"."Alarm81"'
- Alarm82 = '"DB_Alarm_HMI"."Alarm82"'
- Alarm83 = '"DB_Alarm_HMI"."Alarm83"'
- Alarm84 = '"DB_Alarm_HMI"."Alarm84"'
- Alarm85 = '"DB_Alarm_HMI"."Alarm85"'
- Alarm86 = '"DB_Alarm_HMI"."Alarm86"'
- Alarm87 = '"DB_Alarm_HMI"."Alarm87"'
- Alarm88 = '"DB_Alarm_HMI"."Alarm88"'
- Alarm89 = '"DB_Alarm_HMI"."Alarm89"'
- Alarm9 = '"DB_Alarm_HMI"."Alarm9"'
- Alarm90 = '"DB_Alarm_HMI"."Alarm90"'
- Alarm91 = '"DB_Alarm_HMI"."Alarm91"'
- Alarm92 = '"DB_Alarm_HMI"."Alarm92"'
- Alarm93 = '"DB_Alarm_HMI"."Alarm93"'
- Alarm94 = '"DB_Alarm_HMI"."Alarm94"'
- Alarm95 = '"DB_Alarm_HMI"."Alarm95"'
- Alarm96 = '"DB_Alarm_HMI"."Alarm96"'
- Alarm97 = '"DB_Alarm_HMI"."Alarm97"'
- Alarm98 = '"DB_Alarm_HMI"."Alarm98"'
- Alarm99 = '"DB_Alarm_HMI"."Alarm99"'
- class BreakdownDetection(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
hvl_ccb.utils.enum.ValueEnum
Node ID strings for the breakdown detection.
TODO: these variable NodeIDs are not tested and/or correct yet.
- activated = '"Ix_Allg_Breakdown_activated"'
Boolean read-only variable indicating whether breakdown detection and fast switchoff is enabled in the system or not.
- reset = '"Qx_Allg_Breakdown_reset"'
Boolean writable variable to reset the fast switch-off. Toggle to re-enable.
- triggered = '"Ix_Allg_Breakdown_triggered"'
Boolean read-only variable telling whether the fast switch-off has triggered. This can also be seen using the safety circuit state, therefore no method is implemented to read this out directly.
- class Door(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)
Bases:
hvl_ccb.dev.supercube.constants._DoorEnumBase
Variable NodeID strings for doors.
- status_1 = '"DB_Safety_Circuit"."Door_1"."si_HMI_status"'
- status_2 = '"DB_Safety_Circuit"."Door_2"."si_HMI_status"'
- status_3 = '"DB_Safety_Circuit"."Door_3"."si_HMI_status"'
- class DoorStatus(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
aenum.IntEnum
Possible status values for doors.
- closed = 2
Door is closed, but not locked.
- error = 4
Door has an error or was opened in locked state (either with emergency stop or from the inside).
- inactive = 0
not enabled in Supercube HMI setup, this door is not supervised.
- locked = 3
Door is closed and locked (safe state).
- open = 1
Door is open.
- class EarthingRod(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)
Bases:
hvl_ccb.dev.supercube.constants._DoorEnumBase
Variable NodeID strings for earthing rods.
- status_1 = '"DB_Safety_Circuit"."Door_1"."Ix_earthingrod"'
- status_2 = '"DB_Safety_Circuit"."Door_2"."Ix_earthingrod"'
- status_3 = '"DB_Safety_Circuit"."Door_3"."Ix_earthingrod"'
- class EarthingRodStatus(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
aenum.IntEnum
Possible status values for earthing rods.
- experiment_blocked = 0
earthing rod is somewhere in the experiment and blocks the start of the experiment
- experiment_ready = 1
earthing rod is hanging next to the door, experiment is ready to operate
- class EarthingStick(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
hvl_ccb.utils.enum.ValueEnum
Variable NodeID strings for all earthing stick statuses (read-only integer) and writable booleans for setting the earthing in manual mode.
- classmethod manual(number: int)[source]
Get the manual enum instance for an earthing stick number.
- Parameters
number – the earthing stick (1..6)
- Returns
the manual instance
- Raises
ValueError – when earthing stick number is not valid
- manual_1 = '"DB_Safety_Circuit"."Earthstick_1"."sx_earthing_manually"'
- manual_2 = '"DB_Safety_Circuit"."Earthstick_2"."sx_earthing_manually"'
- manual_3 = '"DB_Safety_Circuit"."Earthstick_3"."sx_earthing_manually"'
- manual_4 = '"DB_Safety_Circuit"."Earthstick_4"."sx_earthing_manually"'
- manual_5 = '"DB_Safety_Circuit"."Earthstick_5"."sx_earthing_manually"'
- manual_6 = '"DB_Safety_Circuit"."Earthstick_6"."sx_earthing_manually"'
- classmethod manuals() Tuple[hvl_ccb.dev.supercube.constants.EarthingStick, ...] [source]
Get all earthing stick manual instances.
- Returns
tuple of manual instances
- property number: int
Get corresponding earthing stick number.
- Returns
earthing stick number (1..6)
- classmethod operating_status(number: int)[source]
Get the operating status enum instance for an earthing stick number.
- Parameters
number – the earthing stick (1..6)
- Returns
the operating status instance
- Raises
ValueError – when earthing stick number is not valid
- operating_status_1 = '"DB_Safety_Circuit"."Earthstick_1"."sx_manual_control_active"'
- operating_status_2 = '"DB_Safety_Circuit"."Earthstick_2"."sx_manual_control_active"'
- operating_status_3 = '"DB_Safety_Circuit"."Earthstick_3"."sx_manual_control_active"'
- operating_status_4 = '"DB_Safety_Circuit"."Earthstick_4"."sx_manual_control_active"'
- operating_status_5 = '"DB_Safety_Circuit"."Earthstick_5"."sx_manual_control_active"'
- operating_status_6 = '"DB_Safety_Circuit"."Earthstick_6"."sx_manual_control_active"'
- classmethod operating_statuses() Tuple[hvl_ccb.dev.supercube.constants.EarthingStick, ...] [source]
Get all earthing stick operating status instances.
- Returns
tuple of operating status instances
- classmethod range() Sequence[int] [source]
Integer range of all earthing sticks.
- Returns
sequence of earthing sticks numbers
- classmethod status(number: int) hvl_ccb.dev.supercube.constants.EarthingStick [source]
Get the status enum instance for an earthing stick number.
- Parameters
number – the earthing stick (1..6)
- Returns
the status instance
- Raises
ValueError – when earthing stick number is not valid
- status_1 = '"DB_Safety_Circuit"."Earthstick_1"."si_HMI_Status"'
- status_2 = '"DB_Safety_Circuit"."Earthstick_2"."si_HMI_Status"'
- status_3 = '"DB_Safety_Circuit"."Earthstick_3"."si_HMI_Status"'
- status_4 = '"DB_Safety_Circuit"."Earthstick_4"."si_HMI_Status"'
- status_5 = '"DB_Safety_Circuit"."Earthstick_5"."si_HMI_Status"'
- status_6 = '"DB_Safety_Circuit"."Earthstick_6"."si_HMI_Status"'
- classmethod statuses() Tuple[hvl_ccb.dev.supercube.constants.EarthingStick, ...] [source]
Get all earthing stick status instances.
- Returns
tuple of status instances
- class EarthingStickOperatingStatus(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
aenum.IntEnum
Operating Status for an earthing stick. Stick can be used in auto or manual mode.
- auto = 0
- manual = 1
- class EarthingStickOperation(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
aenum.IntEnum
Operation of the earthing stick in manual operating mode. Can be closed of opened.
- close = 1
- open = 0
- class EarthingStickStatus(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
aenum.IntEnum
Status of an earthing stick. These are the possible values in the status integer e.g. in
EarthingStick.status_1
.- closed = 1
Earthing is closed (safe).
- error = 3
Earthing is in error, e.g. when the stick did not close correctly or could not open.
- inactive = 0
Earthing stick is deselected and not enabled in safety circuit. To get out of this state, the earthing has to be enabled in the Supercube HMI setup.
- open = 2
Earthing is open (not safe).
- class Errors(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
hvl_ccb.utils.enum.ValueEnum
Variable NodeID strings for information regarding error, warning and message handling.
- message = '"DB_Message_Buffer"."Info_active"'
Boolean read-only variable telling if a message is active.
- quit = '"DB_Message_Buffer"."Reset_button"'
Writable boolean for the error quit button.
- stop = '"DB_Message_Buffer"."Stop_active"'
Boolean read-only variable telling if a stop is active.
- warning = '"DB_Message_Buffer"."Warning_active"'
Boolean read-only variable telling if a warning is active.
- class GeneralSockets(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
hvl_ccb.utils.enum.ValueEnum
NodeID strings for the power sockets (3x T13 and 1xCEE16).
- cee16 = '"Qx_Allg_Socket_CEE16"'
CEE16 socket (writeable boolean).
- t13_1 = '"Qx_Allg_Socket_T13_1"'
SEV T13 socket No. 1 (writable boolean).
- t13_2 = '"Qx_Allg_Socket_T13_2"'
SEV T13 socket No. 2 (writable boolean).
- t13_3 = '"Qx_Allg_Socket_T13_3"'
SEV T13 socket No. 3 (writable boolean).
- class GeneralSupport(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
hvl_ccb.utils.enum.ValueEnum
NodeID strings for the support inputs and outputs.
- classmethod contact_range() Sequence[int] [source]
Integer range of all contacts.
- Returns
sequence of contact numbers
- in_1_1 = '"Ix_Allg_Support1_1"'
- in_1_2 = '"Ix_Allg_Support1_2"'
- in_2_1 = '"Ix_Allg_Support2_1"'
- in_2_2 = '"Ix_Allg_Support2_2"'
- in_3_1 = '"Ix_Allg_Support3_1"'
- in_3_2 = '"Ix_Allg_Support3_2"'
- in_4_1 = '"Ix_Allg_Support4_1"'
- in_4_2 = '"Ix_Allg_Support4_2"'
- in_5_1 = '"Ix_Allg_Support5_1"'
- in_5_2 = '"Ix_Allg_Support5_2"'
- in_6_1 = '"Ix_Allg_Support6_1"'
- in_6_2 = '"Ix_Allg_Support6_2"'
- classmethod input(port: int, contact: int)[source]
Get the NodeID string for a support input.
- Parameters
port – the desired port (1..6)
contact – the desired contact at the port (1..2)
- Returns
the node id string
- Raises
ValueError – when port or contact number is not valid
- out_1_1 = '"Qx_Allg_Support1_1"'
- out_1_2 = '"Qx_Allg_Support1_2"'
- out_2_1 = '"Qx_Allg_Support2_1"'
- out_2_2 = '"Qx_Allg_Support2_2"'
- out_3_1 = '"Qx_Allg_Support3_1"'
- out_3_2 = '"Qx_Allg_Support3_2"'
- out_4_1 = '"Qx_Allg_Support4_1"'
- out_4_2 = '"Qx_Allg_Support4_2"'
- out_5_1 = '"Qx_Allg_Support5_1"'
- out_5_2 = '"Qx_Allg_Support5_2"'
- out_6_1 = '"Qx_Allg_Support6_1"'
- out_6_2 = '"Qx_Allg_Support6_2"'
- class MeasurementsDividerRatio(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)
Bases:
hvl_ccb.dev.supercube.constants._InputEnumBase
Variable NodeID strings for the measurement input scaling ratios. These ratios are defined in the Supercube HMI setup and are provided in the python module here to be able to read them out, allowing further calculations.
- input_1 = '"DB_Measurements"."si_Divider_Ratio_1"'
- input_2 = '"DB_Measurements"."si_Divider_Ratio_2"'
- input_3 = '"DB_Measurements"."si_Divider_Ratio_3"'
- input_4 = '"DB_Measurements"."si_Divider_Ratio_4"'
- class MeasurementsScaledInput(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)
Bases:
hvl_ccb.dev.supercube.constants._InputEnumBase
Variable NodeID strings for the four analog BNC inputs for measuring voltage. The voltage returned in these variables is already scaled with the set ratio, which can be read using the variables in
MeasurementsDividerRatio
.- input_1 = '"DB_Measurements"."si_scaled_Voltage_Input_1"'
- input_2 = '"DB_Measurements"."si_scaled_Voltage_Input_2"'
- input_3 = '"DB_Measurements"."si_scaled_Voltage_Input_3"'
- input_4 = '"DB_Measurements"."si_scaled_Voltage_Input_4"'
- class MessageBoard(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)
Bases:
hvl_ccb.dev.supercube.constants._LineEnumBase
Variable NodeID strings for message board lines.
- line_1 = '"DB_OPC_Connection"."Is_status_Line_1"'
- line_10 = '"DB_OPC_Connection"."Is_status_Line_10"'
- line_11 = '"DB_OPC_Connection"."Is_status_Line_11"'
- line_12 = '"DB_OPC_Connection"."Is_status_Line_12"'
- line_13 = '"DB_OPC_Connection"."Is_status_Line_13"'
- line_14 = '"DB_OPC_Connection"."Is_status_Line_14"'
- line_15 = '"DB_OPC_Connection"."Is_status_Line_15"'
- line_2 = '"DB_OPC_Connection"."Is_status_Line_2"'
- line_3 = '"DB_OPC_Connection"."Is_status_Line_3"'
- line_4 = '"DB_OPC_Connection"."Is_status_Line_4"'
- line_5 = '"DB_OPC_Connection"."Is_status_Line_5"'
- line_6 = '"DB_OPC_Connection"."Is_status_Line_6"'
- line_7 = '"DB_OPC_Connection"."Is_status_Line_7"'
- line_8 = '"DB_OPC_Connection"."Is_status_Line_8"'
- line_9 = '"DB_OPC_Connection"."Is_status_Line_9"'
- class OpcControl(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
hvl_ccb.utils.enum.ValueEnum
Variable NodeID strings for supervision of the OPC connection from the controlling workstation to the Supercube.
- active = '"DB_OPC_Connection"."sx_OPC_active"'
writable boolean to enable OPC remote control and display a message window on the Supercube HMI.
- live = '"DB_OPC_Connection"."sx_OPC_lifebit"'
- class Power(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
hvl_ccb.utils.enum.ValueEnum
Variable NodeID strings concerning power data.
- TODO: these variable NodeIDs are not tested and/or correct yet, they don’t exist
yet on Supercube side.
- current_primary = 'Qr_Power_FU_actual_Current'
Primary current in ampere, measured by the frequency converter. (read-only)
- frequency = 'Ir_Power_FU_Frequency'
Frequency converter output frequency. (read-only)
- setup = 'Qi_Power_Setup'
Power setup that is configured using the Supercube HMI. The value corresponds to the ones in
PowerSetup
. (read-only)
- voltage_max = 'Iw_Power_max_Voltage'
Maximum voltage allowed by the current experimental setup. (read-only)
- voltage_primary = 'Qr_Power_FU_actual_Voltage'
Primary voltage in volts, measured by the frequency converter at its output. (read-only)
- voltage_slope = 'Ir_Power_dUdt'
Voltage slope in V/s.
- voltage_target = 'Ir_Power_Target_Voltage'
Target voltage setpoint in V.
- class PowerSetup(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
aenum.IntEnum
Possible power setups corresponding to the value of variable
Power.setup
.- AC_DoubleStage_150kV = 4
AC voltage with two MWB transformers, one at 100kV and the other at 50kV, resulting in a total maximum voltage of 150kV.
- AC_DoubleStage_200kV = 5
AC voltage with two MWB transformers both at 100kV, resulting in a total maximum voltage of 200kV
- AC_SingleStage_100kV = 3
AC voltage with MWB transformer set to 100kV maximum voltage.
- AC_SingleStage_50kV = 2
AC voltage with MWB transformer set to 50kV maximum voltage.
- DC_DoubleStage_280kV = 8
DC voltage with two AC transformers set to 100kV AC each, resulting in 280kV DC in total (or a single stage transformer with Greinacher voltage doubling rectifier)
- DC_SingleStage_140kV = 7
DC voltage with one AC transformer set to 100kV AC, resulting in 140kV DC
- External = 1
External power supply fed through blue CEE32 input using isolation transformer and safety switches of the Supercube, or using an external safety switch attached to the Supercube Type B.
- Internal = 6
Internal usage of the frequency converter, controlling to the primary voltage output of the supercube itself (no measurement transformer used)
- NoPower = 0
No safety switches, use only safety components (doors, fence, earthing…) without any power.
- class Safety(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
hvl_ccb.utils.enum.ValueEnum
NodeID strings for the basic safety circuit status and green/red switches “ready” and “operate”.
- status = '"DB_Safety_Circuit"."si_safe_status"'
Status is a read-only integer containing the state number of the supercube-internal state machine. The values correspond to numbers in
SafetyStatus
.
- switch_to_operate = '"DB_Safety_Circuit"."sx_safe_switch_to_operate"'
Writable boolean for switching to Red Operate (locket, HV on) state.
- switch_to_ready = '"DB_Safety_Circuit"."sx_safe_switch_to_ready"'
Writable boolean for switching to Red Ready (locked, HV off) state.
- class SafetyStatus(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
aenum.IntEnum
Safety status values that are possible states returned from
hvl_ccb.dev.supercube.base.Supercube.get_status()
. These values correspond to the states of the Supercube’s safety circuit statemachine.- Error = 6
System is in error mode.
- GreenNotReady = 1
System is safe, lamps are green and some safety elements are not in place such that it cannot be switched to red currently.
- GreenReady = 2
System is safe and all safety elements are in place to be able to switch to ready.
- Initializing = 0
System is initializing or booting.
- QuickStop = 5
Fast turn off triggered and switched off the system. Reset FSO to go back to a normal state.
- RedOperate = 4
System is locked in red state and in operate mode, i.e. high voltage on.
- RedReady = 3
System is locked in red state and ready to go to operate mode.
- class SupercubeOpcEndpoint(value=<no_arg>, names=None, module=None, type=None, start=1, boundary=None)[source]
Bases:
hvl_ccb.utils.enum.ValueEnum
OPC Server Endpoint strings for the supercube variants.
- A = 'Supercube Typ A'
- B = 'Supercube Typ B'
- T13_SOCKET_PORTS = (1, 2, 3)
Port numbers of SEV T13 power socket