2.1.13. INTERLOCK Command
The INTERLOCK
command allows to configure the external interlock inputs that are present on the unit’s back panel.
In case of an external interlock event, the output is disabled (see the Power Supply Finite State Machine chapter) and the fault is signaled in the Fault register.
The interlock command allows to:
enable/disable interlocks detection
set interlocks polarity (direct- detect interlock when it is high; inverse - detect interlock when it is low)
change the related interlocks name (name associated to the interlock)
set intervention time
The logic to detect a single interlock is represented in the following figure:
The interlock intervention time specifies how many time the interlock condition should be valid in order to trip the interlock fault. It is also possible to set the intervention time to 0 -> in this case the fault trips immediately, when a interlock condition is detected.
Command Format:
R/W |
Command |
Response |
Description |
---|---|---|---|
R |
INTERLOCK:NUM? |
#INTERLOCK:NUM:<int_num> |
Return the number of available interlocks on the unit |
R |
INTERLOCK:ENABLE:? |
#INTERLOCK:ENABLE:<enable_mask> |
Return the interlock’s enable mask |
W |
INTERLOCK:ENABLE:<enable_mask> |
#AK / #NAK |
Set the interlock’s enable mask |
R |
INTERLOCK:ENABLE:<id>:? |
#INTERLOCK:ENABLE:<id>:<0|1> |
Verify the enable status of the single interlock at specified id |
W |
INTERLOCK:ENABLE:<id>:<0|1> |
#AK / #NAK |
Enable the the single interlock at specified id |
R |
INTERLOCK:POLARITY:? |
#INTERLOCK:POLARITY:<polarity_mask> |
Return the interlock’s enable mask |
W |
INTERLOCK:POLARITY:<polarity_mask> |
#AK / #NAK |
Set the interlock’s enable mask |
R |
INTERLOCK:POLARITY:<id>:? |
#INTERLOCK:POLARITY:<id>:<0|1> |
Verify the polarity status of the single interlock at specified id |
W |
INTERLOCK:POLARITY:<id>:<0|1> |
#AK / #NAK |
Select the polarity of the single interlock at specified id |
R |
INTERLOCK:NAME:<id>:? |
#INTERLOCK:NAME:<id>:<int_name> |
Read the name of the interlock at specified id |
W |
INTERLOCK:NAME:<id>:<int_name> |
#AK / #NAK |
Write the name of the interlock at specified id |
R |
INTERLOCK:TIME:<id>:? |
#INTERLOCK:TIME:<id>:<int_time> |
Read the intervention time of the interlock at specified id |
W |
INTERLOCK:TIME:<id>:<int_time> |
#AK / #NAK |
Write the intervention time for the interlock at specified id |
Parameter(s):
Name |
Type |
Description |
---|---|---|
<int_num> |
integer string |
Integer that specifies the number of available interlocks (for example “4”) |
<enable_mask> |
hex string |
Hex string that indicates the enable status for all the interlocks (1 - enabled; 0 - disabled) |
<id> |
integer string |
Indicates the id of the interlock, for example 1 -> indicates interlock #1, 2 -> interlock #2 etc. |
<polarity_mask> |
hex string |
Similar to enable_mask, it is a mask that indicates the polarity status for all the interlocks (1 - direct polarity; 0 - inverse polarity) |
<int_name> |
string |
String associated to specified interlock |
<int_time> |
integer string |
Intervention time, that is associated to the specified interlock. The time is specified in [ms]. |
Tip
The enable_mask and polarity_mask are represented by a hex mask. For example if the enable_mask is 0xB -> in binary: b’1011 -> it means that interlock #4, #2 and #1 are enabled and the interlock #3 is disabled. The same for the polarity_mask, so for example if the polarity_mask is 0x3 -> in binary: b’11 -> it means that interlock #2 and #1 use direct polarity and the interlock #3 and #4 use the inverse polarity.
The interlock name (int_name) is a associated name to the interlock, that is visualized on the local display and on the integrated web interface in case of interlock.
See also
Check the number of the available interlocks and the relative input circuity in the User’s Manual.
Example(s):
INTERLOCK:NUM?
#INTERLOCK:NUM:4
INTERLOCK:ENABLE:0x3
#AK
INTERLOCK:ENABLE:?
#INTERLOCK:ENABLE:0x3
INTERLOCK:ENABLE:1:0
#AK
INTERLOCK:ENABLE:1:?
#INTERLOCK:ENABLE:1:0
INTERLOCK:ENABLE:?
#INTERLOCK:ENABLE:0x2
INTERLOCK:POLARITY:0x2
#AK
INTERLOCK:NAME:2:MAGNET_INTERLOCK
#AK
INTERLOCK:NAME:2:?
#INTERLOCK:NAME:2:MAGNET_INTERLOCK
INTERLOCK:INT:2:1000
#AK
INTERLOCK:INT:2:?
#INTERLOCK:INT:2:1000