WIP write multiple registers

This commit is contained in:
Duke NUCem
2021-10-11 17:05:54 +02:00
parent 12cd3df5a3
commit 0bfc93d3ea
4 changed files with 74 additions and 7 deletions

View File

@@ -0,0 +1,41 @@
#!/usr/bin/env python3
from time import sleep
from sys import exit
import minimalmodbus
import serial
slave_address = 254
instrument = minimalmodbus.Instrument('/dev/ttyUSB0', slave_address, close_port_after_each_call=True) # port name, slave address (in decimal)
instrument.serial.baudrate = 19200
instrument.serial.bytesize = 8
instrument.serial.parity = serial.PARITY_EVEN
instrument.serial.stopbits = 1
instrument.serial.timeout = 0.05 # seconds
instrument.mode = minimalmodbus.MODE_RTU # rtu or ascii mode
instrument.clear_buffers_before_each_transaction = True
# holding register numbers
LED_on_register = 0
LED_brightness_register = 1
LED_smooth_register = 2
CO2_alert_limit_1_register = 3
CO2_alert_limit_2_register = 4
SCD4x_temperature_offset_register = 5
MODBUS_address_register = 6
baudrate_register = 7
# values
LED_on = 1
LED_brightness = 100
LED_smooth = 0
CO2_alert_limit_1 = 1000
CO2_alert_limit_2 = 2000
SCD4x_temperature_offset = 0
MODBUS_address = 254
baudrate = 0
registers = [LED_on, LED_brightness, LED_smooth, CO2_alert_limit_1, CO2_alert_limit_2, SCD4x_temperature_offset, MODBUS_address, baudrate]
# write to holding registers
print('---- Writing to multiple holding registers ----')
instrument.write_registers(LED_on_register, registers)
print('---- DONE ----')
exit(0)