Hello,
Voici un script de lecture :
#!/usr/bin/env python
# coding: utf-8
import serial
import sys
import minimalmodbus
instrument = minimalmodbus.Instrument('/dev/ttyUSB0',20,mode='rtu', close_port_after_each_call=False, debug=False)
instrument.debug = False
instrument.handle_local_echo = False # The serial device echos back every write,$
instrument.serial.baudrate = 9600
instrument.serial.timeout = 1
instrument.serial.parity = serial.PARITY_EVEN
instrument.serial.bytesize = 8
value='ERROR'
value=instrument.read_register(4022, number_of_decimals=0, functioncode=4, signed=False)
print (value)
Et un script d’écriture :
#!/usr/bin/env python
# coding: utf-8
import serial
import sys
import time
#port = serial.Serial('/dev/ttyAMA0', baudrate=115200, timeout=3.0)
#while True:
# rcv = port.read(10) # lit 10 caracteres
import minimalmodbus
if len( sys.argv ) == 1 :
print "Veuillez choisir le mode (0 à 3)"
sys.exit()
#print sys.argv[1]
instrument = minimalmodbus.Instrument('/dev/ttyUSB0',20,mode='rtu', close_port_after_each_call=False, debug=False)
instrument.debug = False
instrument.handle_local_echo = False # The serial device echos back every write,$
instrument.serial.baudrate = 9600
instrument.serial.timeout = 1
instrument.serial.parity = serial.PARITY_EVEN
instrument.serial.bytesize = 8
value=''
#value = instrument.read_register(0x01,1,4,False)
#if sys.argv[1]== 'READ' :
# value=instrument.read_register(int(sys.argv[2]), number_of_decimals=0, functioncode=4, signed=False)
#value=instrument.read_register(4022, number_of_decimals=0, functioncode=4, signed=False)
#print "Ancienne valeur paramétrée : "+str(value)
instrument.write_register(8001, int(sys.argv[1]), number_of_decimals=0, functioncode=6, signed=False)
#value = instrument.read_holding_registers(0x00,4,unit=1)
#instrument.write_register(24, NEW_TEMPERATURE, 1)
time.sleep(2)
value=instrument.read_register(4022, number_of_decimals=0, functioncode=4, signed=False)
#print "Nouvelle valeur paramétrée : "+str(value)
print value
En espérant que cela pourra aider certaines personnes.
Ne pas oublier d’installer minimalmodbus avec pip2.
++