CAROA04 CAROB08 CAROC16 Documentation du protocole CAN Relais RSA85 Modbus pour CANBUS
Partager
Documentation du protocole CAN Eletechsup CAROC16
================================================
APERÇU
--------
Le CAROC16 est un module de relais d’entrée/sortie numérique à 16 canaux qui communique via le bus CAN en utilisant des trames standard ou étendues. Configuration par défaut : adresse 0x01, vitesse de transmission 250 kbit/s.
RÉINITIALISATION D’USINE
-------------
Mettez le cavalier RES à la masse pendant 5 secondes pour restaurer les paramètres d’usine.
FORMATS DE TRAMES CAN
-----------------
Format de trame standard :
- Identifiant de trame : 11 bits (code de fonction << 8 | code d’adresse)
- Données : 8 octets
Format de trame étendue :
- Identifiant de trame : 29 bits (0x00AA suivi du code de fonction et du code d’adresse)
- Données : 8 octets
STRUCTURE DE L’IDENTIFIANT CAN (trame standard)
---------------------------------
Bits 10-8 : code de fonction
Bits 7-0 : code d’adresse (ID du nœud)
Exemple : fonction 0x01, adresse 0x01 → identifiant CAN = 0x101
CODES DE FONCTION
--------------
0x01 - Écrire les sorties numériques (relais)
0x02 - Lire les sorties numériques (relais)
0x03 - Lire les entrées numériques
0x07 - Paramétrage
FORMAT DES DONNÉES
-----------
Toutes les fonctions utilisent une charge utile de 8 octets :
- Octet 0 : octet de poids faible (canaux 1 à 8)
- Octet 1 : octet de poids fort (canaux 9 à 16)
- Octets 2 à 7 : réservés (0x00)
Affectation des canaux :
- Octet 0 : bit0=CH1, bit1=CH2, ..., bit7=CH8
- Octet 1 : bit0=CH9, bit1=CH10, ..., bit7=CH16
FONCTION 0x01 : ÉCRIRE LES RELAIS
---------------------------
Objectif : contrôler les sorties relais
Commande : définir les états souhaités des relais dans les octets de données 0-1
Réponse : écho de la commande envoyée
Exemple - Activer les relais 1, 8 et 16 :
Envoyer : identifiant CAN 0x101, données : 81 80 00 00 00 00 00 00
Recevoir : identifiant CAN 0x101, données : 81 80 00 00 00 00 00 00
FONCTION 0x02 : LIRE LES RELAIS
--------------------------
Objectif : lire les états actuels des relais
Commande : envoyer avec les octets de données 0-1 à 0x00
Réponse : états actuels des relais dans les octets de données 0-1
Exemple - Lire les états des relais :
Envoyer : identifiant CAN 0x201, données : 00 00 00 00 00 00 00 00
Recevoir : identifiant CAN 0x201, données : 82 20 00 00 00 00 00 00
(Les relais 2, 8 et 14 sont activés)
FONCTION 0x03 : LIRE LES ENTRÉES
--------------------------
Objectif : lire les états des entrées numériques
Commande : envoyer avec n’importe quelles données (ignorées)
Réponse : états actuels des entrées dans les octets de données 0-1
Exemple - Lire les entrées numériques :
Envoyer : identifiant CAN 0x301, données : 00 00 00 00 00 00 00 00
Recevoir : identifiant CAN 0x301, données : 85 81 00 00 00 00 00 00
(Les entrées 1, 3, 9 et 16 sont actives)
FONCTION 0x07 : PARAMÉTRAGE
---------------------------------
Objectif : configurer les paramètres de l’appareil
Identifiant CAN : 0x701 (fonction 0x07 + adresse 0x01)
Commandes :
- 0xA1 : lire le code d’adresse
- 0xA2 : lire le code de vitesse de transmission
- 0xB1 : écrire le code d’adresse (octet 1 = nouvelle adresse)
- 0xB2 : écrire le code de vitesse de transmission (octet 1 = code de vitesse de transmission)
Codes de vitesse de transmission :
0x00 = 5 kbit/s 0x06 = 200 kbit/s
0x01 = 10 kbit/s 0x07 = 250 kbit/s (par défaut)
0x02 = 20 kbit/s 0x08 = 400 kbit/s
0x03 = 50 kbit/s 0x09 = 500 kbit/s
0x04 = 100 kbit/s 0x0A = 800 kbit/s
0x05 = 120 kbit/s 0x0B = 1000 kbit/s
Exemple - Régler la vitesse de transmission sur 500 kbit/s :
Envoyer : identifiant CAN 0x701, données : B2 09 00 00 00 00 00 00
Recevoir : identifiant CAN 0x701, données : B2 09 00 00 00 00 00 00
FORMAT DE TRAME ÉTENDUE
---------------------
Pour les trames étendues, préfixez la trame standard par 0xAA :
Standard : identifiant CAN 0x101, données : 81 80 00 00 00 00 00 00
Étendue : identifiant CAN avec préfixe 0xAA, données : AA 01 01 81 80 00 00 00
EXEMPLES PRATIQUES
------------------
1. Activer uniquement le relais 1 :
identifiant CAN : 0x101, données : 01 00 00 00 00 00 00 00
2. Activer les relais 2, 7, 11, 15 :
identifiant CAN : 0x101, données : 42 44 00 00 00 00 00 00
3. Vérifier si l’entrée 5 est active (la réponse affiche 10 en hexadécimal = bit 4) :
identifiant CAN : 0x301, données : 00 00 00 00 00 00 00 00
Réponse : 10 00 00 00 00 00 00 00
4. Changer l’adresse de l’appareil en 0x03 :
identifiant CAN : 0x701, données : B1 03 00 00 00 00 00 00
CARACTÉRISTIQUES
--------------
- Canaux : 16 entrées numériques, 16 sorties relais
- Standard CAN : ISO 11898
- Adresse par défaut : 0x01
- Vitesse de transmission par défaut : 250 kbit/s
- Types de trames : standard (11 bits) et étendue (29 bits)
Une autre question pour votre ingénieur. Avec MODBUS, vous pouvez activer/désactiver un seul relais par message (0x05), mais je ne trouve aucune documentation à ce sujet pour CANBUS et la commande 0x05 ne fonctionne pas. Pourriez-vous me dire comment activer un seul bobin/relais via CANBUS ? Quel est l’identifiant du message et quelles données envoyer ?
1 Les instructions MODBUS et les instructions CAN sont complètement différentes.
2 Les instructions CAN ne comportent pas d’instruction 0X05
3 Les instructions CAN contrôlent tous les canaux simultanément et il n’existe aucune instruction pour contrôler un seul canal.