Power Supply Monitor 1.0.0

The power monitoring service is responsible for ensuring that the various power supplies of Machine Motion are operating within their acceptable conditions. It does so by communicating with various I2C-attached devices that read voltage, current, power, temperature and IO/Os. There are 2 types of supply lines

• 72 V destined for powering motors

• 24 V desined for powering control logic, safety logic, IO link devices...etc

The 24 V power lines are regulated by a class 2 electronic breaker. There are 4 lines in total and each line is limited to 4 A, above which the breaker will turn off the exceeding power line.

Servers

  • tcp://machinemotion.local:1883mqttMachineMotion

    For direct communication with the MMAI.

Operations

  • RECEIVE port/psu-bank/{psuBankId}/enabled

    1 if psu bank is on, 0 otherwise

    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    Payload
    integer
    [ 0 .. 1 ]

    Examples

  • RECEIVE port/psu-bank/{psuBankId}/power-usage

    Power draw in watts

    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    Payload
    integer
    <= 1500

    Examples

  • RECEIVE port/psu-bank/{psuBankId}/temperature

    Temperature in degrees Celsius

    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    Payload
    number
    format: float

    Examples

  • RECEIVE port/psu-bank/{psuBankId}/error

    Error on a PSU bank

    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    array<object>

    Examples

  • RECEIVE port/psu-bank/{psuBankId}/warning

    Warning on a PSU bank

    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    array<object>

    Examples

  • RECEIVE port/circuit-breaker/{circuitBreakerId}/enabled

    1 if circuit breaker is on, 0 otherwise

    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    Payload
    integer
    [ 0 .. 1 ]

    Examples

  • RECEIVE port/circuit-breaker/{circuitBreakerId}/power-usage

    Power draw in watts

    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    Payload
    integer
    <= 1500

    Examples

  • RECEIVE port/circuit-breaker/{circuitBreakerId}/warning

    Warning on a circuit breaker

    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    array<object>

    Examples

  • RECEIVE port/circuit-breaker/{circuitBreakerId}/error

    Error on a circuit breaker

    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    array<object>

    Examples

  • RECEIVE port/circuit-breaker/{circuitBreakerId}/{portName}/error

    Error on a load port of a circuit breaker

    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    array<object>

    Examples

Messages

  • #1state
    Message IDstate
    Payload
    integer
    [ 0 .. 1 ]
  • #2error
    Message IDerror
    array<object>
  • #3warning
    Message IDwarning
    array<object>
  • #4powerUsage
    Message IDpowerUsage
    Payload
    integer
    <= 1500
  • #5temperature
    Message IDtemperature
    Payload
    number
    format: float

Schemas

  • state
    integer
    [ 0 .. 1 ]
  • powerUsage
    integer
    <= 1500
  • temperature
    number
    format: float
  • volatge
    number
    format: float
  • array<object>
  • array<object>
  • psuBankId
    integer
    [ 1 .. 2 ]
  • CircuitBreakerId
    integer
    [ 1 .. 4 ]
  • PortName
    string
      Allowed values:
    • "safety-1"
    • "safety-2"
    • "safety-3"
    • "control-1"
    • "control-2"
    • "iolink-power"