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)
Associating with a Modbus link later
Device is instantiated with default parameters (No modbus_link and slave address = 1).
device = sxip.Sxip()
Associating a modbus link
modbus_link = modbus.Modbus(port = "COM3")
device.modbus_link = modbus_link
Changing the device slave address
device.modbus_address = 2
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}')