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:

interlock_logic

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.

interlock_intervention_time

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