Short introduction

preliminaries

import sxip
import modbus
from modbus import ModbusError

SxIP device instantiation

Modbus_link instantiation.

Refers to phox-modbus documentation: https://phox-modbus.readthedocs.io/en/main/

modbus_link = modbus.Modbus(port = "COM3")

SxIP flash device instantiation:

Device is affected to the modbus_link with modbus slave address 1

device = sxip.Sxip(modbus_link = modbus_link, modbus_addr = 1)

Using dedicated functions

Functions that involve Modbus communication should be executed in try loops to catch ModbusError exceptions

Get serial number function example

try:
    print(f'Serial: {device.get_serial()}')
except ModbusError as exc:
    print(f'Modbus error: {exc}')

Set energy levels example

try:
    device.set_energy_levels(prim_energy_level = 9, alt_energy_level = 8)
except ModbusError as exc:
    print(f'Modbus error: {exc}')

Save settings example

try:
    device.save_settings()
except ModbusError as exc:
    print(f'Modbus error: {exc}')