linux-serial-modbus-master.py

BIOSTAR EdgeComp MS-U320 : Mini PC industriel sans ventilateur Intel Wildcat Lake · Fichier : linux-serial-modbus-master.py · Langage : python · Usage : Communiquer avec un appareil industriel via Modbus RTU sur un port série COM RS485.

Configure un port série Linux pour la communication Modbus RTU sur les ports COM intégrés.

Utilise les bibliothèques 'pyserial' et 'minimalmodbus'. Les ports physiques RS232/422/485 sont exposés sous Linux comme /dev/ttyS0 à /dev/ttyS3. Vérifiez les permissions d'accès au port (/dev/ttyS1). Ce script suppose une configuration de parité N, 8 bits de données, 1 bit d'arrêt.

linux-serial-modbus-master.py

import serial
import minimalmodbus

# Configuration du port série pour le port COM2 (RS485)
# Baudrate 9600, Parité 'N', Bits de données 8, Bits d'arrêt 1
instrument = minimalmodbus.Instrument('/dev/ttyS1', 1) # 1 est l'adresse slave
instrument.serial.port = '/dev/ttyS1'
instrument.serial.baudrate = 9600
instrument.serial.bytesize = 8
instrument.serial.parity = serial.PARITY_NONE
instrument.serial.stopbits = 1
instrument.serial.timeout = 1

try:
    # Lire une valeur de registre (ex: température)
    temperature = instrument.read_register(0, 1) # Adresse 0, décimales 1
    print(f"Température lue : {temperature} °C")
except minimalmodbus.ModbusException as e:
    print(f"Erreur Modbus : {e}")

← Retour à la fiche