Carte de relais CE039 RS232 : Guide complet des commandes hexadécimales avec exemples Python et trames de réponse

Contrôlez 4 canaux de relais indépendants depuis un PC, une application Python ou un système embarqué à l’aide de commandes hexadécimales réelles.

L’Eletechsup CE039 est une carte de commande de 4 relais RS232 conçue pour le pilotage par ordinateur, l’automatisation de laboratoire, les tests électroniques et le contrôle à distance d’équipements.

Pour les développeurs, sa principale caractéristique est son protocole de commandes série simple. Au lieu d’actionner manuellement les relais, un logiciel peut envoyer une commande hexadécimale de 8 octets, recevoir un trame de réponse et vérifier l’état du relais indiqué.

Ce tutoriel présente les commandes réelles du CE039 publiées par Eletechsup, notamment les commandes d’activation/désactivation des relais, les quatre canaux, les trames de réponse, les requêtes d’état et une implémentation en Python.

Page officielle du produit :
https://eletechsup.com/products/ce039-dc-12v-4ch-rs232-relay-board-scm-pc-usb-uart-db9-remote-control-switch-plc-motor

FAQ technique officielle :
https://eletechsup.com/blogs/news/ce039-faq

1. Caractéristiques matérielles et de communication du CE039

Paramètre Spécification
Modèle Eletechsup CE039
Canaux de relais 4
Interface de communication Série RS232
Vitesse de transmission par défaut 9600 bps
Bits de données 8
Parité Aucune
Bits d’arrêt 1
Longueur de la trame de données 8 octets
Alimentation de la carte CC 12 V, plage spécifiée de 8,5 à 13,5 V
Contacts des relais COM, NO et NC pour chaque canal
Indication LED d’alimentation et LED d’état des relais
Dimensions de la carte 90 × 47 × 19 mm

Chaque relais dispose d’un contact inverseur. Lorsqu’il est activé, COM se connecte à NO ; lorsqu’il est désactivé, COM se déconnecte de NO et se connecte à NC.

Le CE039 nécessite sa propre alimentation CC spécifiée. La tension commutée par ses contacts de relais constitue un circuit distinct et doit rester dans les limites de capacité des contacts.

2. Connecter le CE039 à votre PC

Une configuration typique est la suivante :

PC ou ordinateur portable → adaptateur USB vers RS232 → CE039 → circuit externe

Si votre ordinateur ne dispose pas d’un port RS232 natif, utilisez un adaptateur USB vers RS232 compatible. Ne confondez pas un adaptateur RS232 avec un adaptateur TTL UART : leurs niveaux de signal électrique sont différents.

Configurez le terminal série comme suit :

  • Vitesse de transmission : 9600

  • Bits de données : 8

  • Parité : Aucune

  • Bits d’arrêt : 1

  • Format de commande : octets hexadécimaux bruts

  • Longueur de commande : 8 octets

Important : Saisissez la commande sous forme d’octets binaires, et non sous forme de caractères ASCII représentant des chiffres hexadécimaux. Par exemple, la chaîne hexadécimale 55 56 doit être transmise sous forme de deux octets, 0x55 et 0x56, plutôt que sous forme de quatre caractères ASCII.

Aucun retour chariot ni saut de ligne supplémentaire n’est spécifié dans les exemples de commandes de 8 octets publiés.

3. Comprendre la trame de commande du CE039

Une commande typique de commande de relais présente la structure suivante :

Position de l’octet Exemple Signification
1 55 En-tête de la trame de commande
2 56 En-tête de la trame de commande
3–5 00 00 00 Champs réservés dans les exemples publiés
6 01 Numéro de canal
7 01 Code d’opération
8 AD Octet de somme de contrôle dans cet exemple

Dans les exemples publiés, le dernier octet correspond aux 8 bits de poids faible de la somme des sept octets précédents.

Par exemple :

55 + 56 + 01 + 01 = 0xAD

Les octets réservés à zéro ne modifient pas la somme.

Utilisez la structure de trame documentée par le fabricant lors de la construction des commandes ; ne supposez pas que ce protocole est compatible avec d’autres cartes de relais série uniquement parce qu’elles utilisent également des trames de huit octets.

4. Commandes hexadécimales réelles pour les quatre canaux

Les octets de commande suivants sont publiés dans la documentation officielle du produit CE039 d’Eletechsup.

4.1 Activer un relais

Code d’opération : 01

Cela active le relais, connectant COM à NO.

Canal Commande (HEX)
Relais 1 55 56 00 00 00 01 01 AD
Relais 2 55 56 00 00 00 02 01 AE
Relais 3 55 56 00 00 00 03 01 AF
Relais 4 55 56 00 00 00 04 01 B0

4.2 Désactiver un relais

Code d’opération : 02

Cela désactive le relais, déconnectant COM de NO et connectant COM à NC.

Canal Commande (HEX)
Relais 1 55 56 00 00 00 01 02 AE
Relais 2 55 56 00 00 00 02 02 AF
Relais 3 55 56 00 00 00 03 02 B0
Relais 4 55 56 00 00 00 04 02 B1

4.3 Basculer un relais

Code d’opération : 03

La commande de basculement inverse l’état actuel du relais.

Canal Commande (HEX)
Relais 1 55 56 00 00 00 01 03 AF
Relais 2 55 56 00 00 00 02 03 B0
Relais 3 55 56 00 00 00 03 03 B1
Relais 4 55 56 00 00 00 04 03 B2

La commande de basculement est utile pour un bouton manuel d’activation/désactivation, mais une commande explicite d’activation ou de désactivation est généralement préférable lorsqu’un programme nécessite un état cible prévisible.

4.4 Fonctionnement impulsionnel d’un relais

Code d’opération : 04

Le protocole publié décrit cette commande comme connectant COM à NO, puis le déconnectant à nouveau après environ 200 ms.

Canal Commande (HEX)
Relais 1 55 56 00 00 00 01 04 B0
Relais 2 55 56 00 00 00 02 04 B1
Relais 3 55 56 00 00 00 03 04 B2
Relais 4 55 56 00 00 00 04 04 B3

Cette fonction peut être utile pour les applications nécessitant une impulsion de commutation courte, comme le déclenchement d’une entrée de test compatible ou la simulation d’une pression sur un bouton. Vérifiez les exigences de l’équipement cible avant utilisation.

4.5 Fonctionnement d’enclenchement

Code d’opération : 05

Les exemples de commandes publiés sont :

Canal Commande (HEX)
Relais 1 55 56 00 00 00 01 05 B1
Relais 2 55 56 00 00 00 02 05 B2
Relais 3 55 56 00 00 00 03 05 B3
Relais 4 55 56 00 00 00 04 05 B4

L’enclenchement est destiné aux applications nécessitant un fonctionnement mutuellement exclusif des relais. Confirmez le comportement précis et l’interaction entre les canaux dans la documentation du produit avant de l’utiliser dans un circuit de commande réel.

6. Trames de réponse réelles : comment vérifier l’état d’un relais

La documentation du CE039 présente des trames de réponse commençant par 33 3C. Dans les exemples de réponse documentés, le septième octet indique l’état du relais indiqué.

6.1 Réponse lorsqu’un relais est activé

L’octet d’opération/état de la réponse est 01.

Canal Réponse (HEX)
Relais 1 33 3C 00 00 00 01 01 71
Relais 2 33 3C 00 00 00 02 01 72
Relais 3 33 3C 00 00 00 03 01 73
Relais 4 33 3C 00 00 00 04 01 74

6.2 Réponse lorsqu’un relais est désactivé

L’octet d’opération/état de la réponse est 02.

Canal Réponse (HEX)
Relais 1 33 3C 00 00 00 01 02 72
Relais 2 33 3C 00 00 00 02 02 73
Relais 3 33 3C 00 00 00 03 02 74
Relais 4 33 3C 00 00 00 04 02 75

6.3 Exemple : activer le relais 1 et lire la réponse

Envoyer :

55 56 00 00 00 01 01 AD

La réponse d’activation documentée pour le relais 1 est :

33 3C 00 00 00 01 01 71

Une application hôte peut vérifier l’en-tête de la réponse, le numéro de canal, l’octet d’état et la somme de contrôle de la trame avant de considérer la réponse comme valide.

Une réponse reçue confirme l’état du relais indiqué par le module. Elle ne prouve pas de manière indépendante que la charge externe est alimentée ou fonctionne correctement ; cela peut nécessiter un retour électrique supplémentaire.

7. Lire l’état des relais

La documentation officielle du CE039 présente cette commande pour lire l’état des relais :

55 56 00 00 00 00 00 AB

Il s’agit de la commande de requête d’état publiée. La documentation du produit décrit également le format de la réponse et l’octet d’état du relais.

Ne confondez pas cette requête avec les commandes d’activation/désactivation individuelles des canaux. Si vous devez déterminer l’état de chaque canal, analysez la trame retournée conformément à la documentation du protocole du fabricant plutôt que de supposer une structure de réponse qui n’a pas été vérifiée.

8. Exemple Python : contrôler le CE039 à l’aide de commandes réelles

Installez la bibliothèque série Python :

pip install pyserial

L’exemple suivant utilise les octets réels des commandes d’activation et de désactivation publiés pour les quatre canaux.

import serial
import time

PORT = "COM3"  # À modifier selon votre port réel

relay_on = {
    1: bytes.fromhex("55 56 00 00 00 01 01 AD"),
    2: bytes.fromhex("55 56 00 00 00 02 01 AE"),
    3: bytes.fromhex("55 56 00 00 00 03 01 AF"),
    4: bytes.fromhex("55 56 00 00 00 04 01 B0"),
}

relay_off = {
    1: bytes.fromhex("55 56 00 00 00 01 02 AE"),
    2: bytes.fromhex("55 56 00 00 00 02 02 AF"),
    3: bytes.fromhex("55 56 00 00 00 03 02 B0"),
    4: bytes.fromhex("55 56 00 00 00 04 02 B1"),
}

def send_command(ser, command):
    ser.reset_input_buffer()
    ser.write(command)
    ser.flush()

    # La réponse documentée est une trame de 8 octets.
    response = ser.read(8)
    print("TX:", command.hex(" ").upper())
    print("RX:", response.hex(" ").upper())

    if len(response) != 8:
        print("Avertissement : réponse incomplète ou délai d’attente série dépassé")
        return response

    # Vérifier l’en-tête de réponse et la somme de contrôle publiés.
    expected_checksum = sum(response[:7]) & 0xFF

    if response[:2] != bytes.fromhex("33 3C"):
        print("Avertissement : en-tête de réponse inattendu")
    elif response[7] != expected_checksum:
        print("Avertissement : somme de contrôle de la réponse incorrecte")
    else:
        print("Format de la trame de réponse et somme de contrôle : OK")

    return response

with serial.Serial(
    port=PORT,
    baudrate=9600,
    bytesize=serial.EIGHTBITS,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    timeout=1
) as ser:

    # Activer le relais 1.
    send_command(ser, relay_on[1])
    time.sleep(0.2)

    # Désactiver le relais 1.
    send_command(ser, relay_off[1])

Avant l’exécution : Définissez PORT sur le port série correct et connectez le CE039 à l’aide d’une interface RS232 compatible. Le programme suppose qu’une réponse de huit octets arrive dans le délai d’attente configuré. Si votre application nécessite un fonctionnement robuste, ajoutez une mise en mémoire tampon des trames, une validation des réponses, des tentatives de retransmission et la gestion des réponses inattendues ou retardées.

L’exemple vérifie l’en-tête de réponse et la somme de contrôle documentés. Pour une application devant vérifier l’état d’un canal spécifique, vérifiez également que le numéro de canal et l’octet d’état retournés correspondent à la commande envoyée.

8. Applications pratiques

Tests automatisés sur PC

Un programme de test peut activer ou réinitialiser l’alimentation d’un appareil, attendre une mesure, enregistrer le résultat et passer à l’étape suivante du test.

Commutation à distance d’équipements

Utilisez une commande série pour piloter une charge électrique compatible depuis un ordinateur. Cela peut être utile pour la gestion d’équipements de laboratoire et d’équipements dont la sécurité n’est pas critique.

Développement électronique

Commutez les circuits sélectionnés lors de l’évaluation d’un prototype, des tests de production ou d’expériences répétées sans actionner manuellement un interrupteur.

Contrôle embarqué

Un contrôleur doté d’une interface RS232 adaptée peut envoyer les mêmes trames de commande depuis un logiciel embarqué, ce qui fait du CE039 une option pratique pour des projets de contrôle personnalisés.

Simulation de boutons et de déclencheurs

La fonction momentanée documentée peut fournir une brève impulsion de relais à une entrée externe compatible. Vérifiez les exigences électriques et de temporisation de l'entrée avant la mise en œuvre.

9. Questions fréquentes de dépannage

Pourquoi le relais ne répond-il pas ?

Vérifiez l'alimentation CC 12V, la sélection du port série, l'interface électrique RS232, le câblage et les paramètres 9600 8N1. Assurez-vous que votre programme envoie des octets bruts plutôt que des caractères ASCII.

Pourquoi la commande semble-t-elle correcte mais la réponse est absente ?

Vérifiez la longueur de la commande, le numéro de canal, le code d'opération et la somme de contrôle. Vérifiez également que l'adaptateur est compatible et que l'application lit correctement la réponse.

Le CE039 peut-il être contrôlé par Python ?

Oui. Un programme Python peut envoyer les trames de commande de huit octets documentées via un port série en utilisant pyserial.

Le relais peut-il commuter une tension différente de la tension d'alimentation de la carte ?

Les contacts du relais sont électriquement séparés de l'alimentation CC 12V de la carte, mais le circuit externe doit rester dans les limites des caractéristiques des contacts du relais. Les charges inductives peuvent nécessiter une suppression supplémentaire.

Une réponse garantit-elle que l'équipement externe fonctionne ?

Non. Une réponse valide indique l'état du relais rapporté par le module. Un retour d'information supplémentaire peut être nécessaire pour vérifier l'état du circuit ou de l'équipement externe.

10. Conclusion

L'Eletechsup CE039 permet de contrôler quatre canaux de relais via une interface série simple. Ses commandes hexadécimales de huit octets documentées prennent en charge les opérations ON, OFF, bascule, momentanée et d'interverrouillage, tandis que les trames de réponse permettent au logiciel d'inspecter l'état du relais rapporté.

En combinant le CE039 avec une interface RS232 compatible et une petite application Python, les développeurs peuvent construire des systèmes de commutation contrôlés par ordinateur pour les équipements de test, les expériences de laboratoire et l'automatisation générale.

Explorez la carte de relais RS232 à 4 canaux Eletechsup CE039 :
https://eletechsup.com/products/ce039-dc-12v-4ch-rs232-relay-board-scm-pc-usb-uart-db9-remote-control-switch-plc-motor

#Eletechsup #CE039 #RS232 #CarteDeRelais #CommandesHexa #Python #PySerial #CommunicationSérie #TestsAutomatisés #RelaisContrôléParPC #SystèmesEmbarqués #IngénierieÉlectronique #CommutationÀDistance #IntégrationMatérielle

Retour au blog

Laisser un commentaire