PaSD bus device

The PaSD bus Tango device is responsible for funnelling all communications between MCCS and the PaSD hardware. It ensures that only one request is sent on the bus at any one time, and handles the prioritization of requests. It also supports the following commands:

Command name

Arguments

Description

InitializeFndh

None

Request to transition to operational state. This is needed after power-up and alarm conditions.

InitializeSmartbox

SMART Box device ID

Request to transition to operational state. This is needed after power-up and alarm conditions.

ResetFnccStatus

None

Reset an FNCC communications error

SetFndhPortPowers

See: Setting port powers

Request to set multiple FNDH port powers in a single command

SetFndhLedPattern

See: Setting LED patterns

Control the FNDH service LED

SetFndhLowPassFilters

See: Setting filter constants

Set the low pass filters for the FNDH

ResetFndhAlarms

None

Clear the FNDH’s alarm flags register

ResetFndhWarnings

None

Clear the FNDH’s warning flags register

SetSmartboxPortPowers

See: Setting port powers

Request to set multiple SMART Box port powers in a single command

SetSmartboxLedPattern

See: Setting LED patterns

Control the SMART Box’s service LED

SetSmartboxLowPassFilters

See: Setting filter constants

Set the low pass filters for a SMART Box

ResetSmartboxPortBreaker

See: Resetting breakers

Reset a SMART Box’s port breaker

ResetSmartboxAlarms

SMART Box device ID

Clear the SMART Box’s alarm flags register

ResetSmartboxWarnings

SMART Box device ID

Clear the SMART Box’s warning flags register

Initialization

When the InitializeSmartbox() or InitializeFndh() command is called, the PaSD bus device will attempt to initialize the specified SMART Box / FNDH. This involves:

  1. Setting the FEM current trip thresholds and input voltage thresholds to the values specified in the device properties (SMART Boxes only)

  2. Writing to the device’s SYS_STATUS register to request it to enter normal operation

  3. Setting the low-pass filter constant to the value specified in the device properties

  4. Requesting the device to update all its static attributes e.g. firmware version, CPU ID etc.

Setting filter constants

The SetFndhLowPassFilters() command accepts a JSON object with the following keys:

  • cutoff - Cut-off frequency to use for the low-pass filtering (between 0.1 and 1000.0)

  • extra_sensors (optional) - Write the filter constant to the extra sensors’ registers after the LED status register (default: False)

The target cut-off frequency is used to calculate a filter decay constant which is written to the FNDH telemetry registers to enable low-pass filtering. If extra_sensors is set to True, the constant is also written to the extra sensors’ registers.

The SetSmartboxLowPassFilters() command works as above to set the filtering on a given SMART Box with the additional required key:

  • smartbox_number - Device ID of the SMART Box being addressed

IMPORTANT NOTE: The specified cut-off frequency is persisted to the Tango database (overwriting the value in the deployment configuration) and the calculated constant is automatically written to ALL sensor registers of the FNDH and SMART Boxes after MccsPasdBus is initialised and set ONLINE, and after any of them are powered on (regardless of which command was used).

Resetting breakers

The ResetSmartboxPortBreaker() command accepts a JSON object with the following keys:

  • smartbox_number - The device ID of the SMART Box being addressed

  • port_number - Number of the port whose breaker is to be reset

Setting port powers

The MccsPasdBus SetFndhPortPowers(), MccsFNDH SetPortPowers() and MccsSmartBox SetPortPowers() commands accept a JSON object with the following keys:

  • port_powers - An array of desired power states (True for ‘On’, False for ‘Off’, None for no change)

  • stay_on_when_offline - Whether to stay on when the FNPC is offline

Each port is powered one at a time in sequence, such that the overall power curve is ramped. The time between each port being powered is dictated by the PortPowerDelay device property on MccsPasdBus.

The MccsPasdBus SetSmartboxPortPowers() command accepts a JSON object with the following keys:

  • smartbox_number - The device ID of the SMART Box being addressed

  • port_powers - An array of desired power states (True for ‘On’, False for ‘Off’, None for no change)

  • stay_on_when_offline - Whether to stay on when the FNSC is offline

All requested changes of state are issued in a single Modbus command.

Setting LED patterns

The SetFndhLedPattern() command controls the FNDH service LED and accepts a JSON object with the following keys:

  • pattern - One of the following strings:

    • “OFF”

    • “ON”

    • “VFAST”

    • “FAST”

    • “SLOW”

    • “VSLOW”

The SetSmartboxLedPattern() controls the SMART Box service LEDs and accepts a JSON object with the following keys:

  • smartbox_number - The device ID of the SMART Box being addressed.

  • pattern - One of the following strings:

    • “OFF”

    • “ON”

    • “VFAST”

    • “FAST”

    • “SLOW”

    • “VSLOW”