Examinons la fonction de simulateur de maître CANopen du convertisseur USB-CAN.
On peut cliquer sur le bouton gauche "Find slave station" pour scanner tous les nœuds esclaves CANopen sur le bus CAN. Vous pouvez également ajouter une station esclave CANopen manuellement. La station qui a déjà été ajoutée sera affichée comme ci-dessous. L'utilisateur peut double-cliquer sur le numéro de nœud spécifié pour activer l'interface afin de communiquer avec la station esclave.
La fonction de station maître CANopen transforme le dispositif USBCAN en carte maître CANopen et permet d'accéder au réseau CANopen. ECANTools dispose d'une variété de fonctions de station maître CANopen couramment utilisées. Par exemple, NMT (gestion de réseau), SYNC (protocole synchrone), EMERGENCY (message urgent), PDO (objet de données de processus), SDO (objet de données de service), NODE GUARDING (protection de nœud).
Le tableau suivant énumère les codes fonctionnels et les plages d'identification des trames, qui correspondent aux types de trames communes CANopen.
Type de message | Code de fonction | Gamme COB-ID (Hex) |
NMT | 0000 | 000h |
SYNC | 0001 | 080h |
URGENCE | 0001 | 081h-0FFh |
TEMPS | 0010 | 100h |
PDO1 (transmission) | 0011 | 181h-1FFh |
PDO1(réception) | 0100 | 201h-27Fh |
PDO2(transmission) | 0101 | 281h-2FFh |
PDO2(réception) | 0110 | 301h-37Fh |
PDO3(transmission) | 0111 | 381h-3FFh |
PDO3(réception) | 1000 | 401h-47Fh |
PDO4(transmission) | 1001 | 481h-4FFh |
PDO4(réception) | 1010 | 501h-57Fh |
SDO (transmission) | 1011 | 581h-5FFh |
SDO (réception) | 1100 | 601h-67Fh |
Contrôle d'erreur du NMT | 1110 | 701h-77Fh |
1 commande NMT
La commande NMT permet de gérer le réseau (initialisation, démarrage et arrêt des nœuds, détection des nœuds défaillants).
L'utilisateur peut utiliser la commande NMT pour modifier l'état de fonctionnement du nœud esclave.
Démarrer le nœud distant - Met le nœud en état de fonctionnement
Arrêter le nœud distant - met le nœud dans l'état d'arrêt
Entrer dans l'état pré-opérationnel : place le nœud dans l'état pré-opérationnel.
Réinitialisation du nœud - Réinitialise le nœud
Réinitialisation de la communication - Définit la communication de réinitialisation du nœud
2 Message SYNC
SYNC est le message synchrone envoyé par la station maître. Toutes les stations qui ont un PDO synchronisé communiquent avec la station maître sur la base du message SYNC.
L'utilisateur peut envoyer cycliquement des messages SYNC via les ECANTools.
3 Message d'URGENCE
ECANTools peut recevoir des messages d'URGENCE du nœud de la station esclave. Le message est envoyé par un nœud esclave en état d'urgence. La fonction maître CANopen de l'ECANTools peut recevoir et traiter ce message d'URGENCE.
4 PDO (Process data object)
Les nœuds CANopen utilisent PDO pour transférer des données, ce qui est principalement utilisé pour transmettre des données en temps réel.
Le PDO, dont le nom complet est Process Data Object, appartient aux données de processus avec une transmission à sens unique. Pour le nœud récepteur, il n'est pas nécessaire de répondre au message CAN confirmé.
Il existe 4 paires de PDO de transmission et de réception dans ECANTools, qui sont TPDO/RPDO.
5 SDO (Service Data Object)
La fonction SDO du module maître CANopen est divisée en transmission et réception SDO. La fonction SDO d'ECANTools permet aux utilisateurs de communiquer avec la station esclave en éditant les index et les sous-indices.
6 GARDIENNAGE DES NŒUDS
Il existe deux façons de mettre en œuvre la fonction de surveillance des nœuds dans ECANTools. La station maître envoie automatiquement la commande pour s'enquérir de l'état du nœud esclave (Node Guarding) et le nœud esclave transmet son état périodiquement dans le battement de cœur (Heartbeat).
ECANTools peut également simuler manuellement des données CANopen en éditant des messages personnalisés.
L'utilisateur peut envoyer des données directement à la station esclave CANopen en écrivant la fonction
les codes, l'ID de nœud des stations esclaves et les données.
Le code de fonction correspondant à la fonction est indiqué dans le tableau suivant :
--Pour configurer l'AOP 0x1800+n
--COB-ID est 0x387
--PDO déclenche toujours la transmission
--Il doit contenir des données : données X (2 octets), données Y (4 octets).
Dans l'ordre suivant
-Données X définies dans l'index 0x6000, sous-index 03
-Données Y définies dans l'index 0x2010, sous-index 21
1- index 1800+n, sous-index 01 : écrire COBID(4bytes)
2- index 1800+n, sous-index 02 : écriture de l'octet de transport "t" (1 octet)
t=1 à 0xF0 : le PDO sera transmis s'il reçoit "t" fois SYNC.
t=FD : transfert après réception de la demande PDO(rtr=1)
t=FF : le nœud transmet automatiquement l'AOP en fonction de l'événement
3- index 1A00+n : un mapping qui définit les n premières données
sous-index 0 : le nombre de données écrites dans le PDO (1 octet). Dans ce cas, écrire "2"
sous-index 1 : définit l'endroit où chercher les premières données et la taille à écrire (8 octets)
Le format est le suivant : index (2 octets) - sous-indice (1 octet) - taille en bits (1 octet).
Dans ce cas, écrivez "60000310"
Sous-index 2 : définit l'endroit où rechercher les secondes données et la taille à écrire (8 octets).
Dans ce cas, écrivez "20102120″.
Configuration node 5 PDO 1802 dans chacune des 3 transmissions SYNC, le SDO d'envoi doit être
605 23 02 18 01 00 00 8703
605 2F 02 18 02 03 00 00 00
605 2F 02 1A 00 02 00 00 00
605 23 02 1A 01 10 03 00 60
605 23 02 1A 02 20 21 10 20