Skip to main content

Exemple : CANbus

Produit: CODESYS CAN

Description

Le CANBusAPI.library bibliothèque vous permet d'utiliser facilement les fonctions CANbus. La bibliothèque a été optimisée pour la programmation orientée objet dans ST et la programmation graphique telle que CFC. La bibliothèque est basée sur CAN Bus Low Level bibliothèque système.

Avec cette bibliothèque, vous pouvez facilement utiliser les fonctions CANbus. Il est basé sur la CANbus bibliothèque système. Avec la CANBusAPI.library bibliothèque, un exemple d'application est fourni. Cette application contient deux programmes avec des implémentations différentes (orienté objet dans ST et graphique dans CFC) qui montrent comment utiliser la bibliothèque.

Informations Complémentaires

Le CANBusAPIExample.project Le projet exemple contient deux implémentations : une dans ST, une dans CFC. Les deux implémentent de différentes manières la façon dont des télégrammes CAN spécifiques peuvent être reçus et renvoyés.

Dans la configuration de la tâche, ajoutez l'appel d'un des deux programmes (CFC_PRG, ST_PRG) et téléchargez l'application sur le contrôleur. Démarrez l'application. Maintenant, lorsque vous générez un télégramme CAN avec un ID approprié (par exemple, 0x500) d'un appareil externe, ce télégramme est traité et envoyé avec l'ID modifié.

Exemple en ST

Ce programme reçoit tous les messages entrants et les renvoie avec CAN-ID +1.

MsgProcessor_EchoST: Le bloc fonction implémente la CAN.IMessageProcessor interface. Le ProcessMessage méthode a déjà été mise en place. Dans cette méthode, l'ID CAN du message reçu est incrémenté de 1 et réécrit dans le pilote CAN.

ST_PRG: Le programme configure le pilote CAN avec le DEVICE_CONFIG structure et génère une instance de MsgProcessor_EchoST et MaskReceiver. MaskReceiver doit être généré une seule fois et non cycliquement ; sinon un nouveau MaskReceiver sera généré à chaque appel. Le MaskReceiver est configuré de manière à ce que tous les messages puissent être reçus avec lui. Ensuite, tous les messages sont automatiquement transmis au ProcessMessage fonction de MessageProcessor.

Exemple dans CFC

Ce programme reçoit tous les messages dans la plage CAN ID de 16#500 pour 16#550 et les renvoie avec CAN-ID+1.

MsgProcessor_EchoST: Implémente la CAN.IMesageProcessor interface. Le ProcessMessage méthode a déjà été mise en place. Dans cette méthode, l'ID CAN du message reçu est incrémenté de 1 et réécrit dans le pilote CAN.

CFC_PRG: Le programme configure le pilote CAN avec le DEVICE_CONFIG structure et génère une instance de MsgProcessor_EchoST et AreaReceiver. Le AreaReceiver est configuré pour recevoir tous les messages dans la plage CAN ID de 16#500 pour 16#550. Les messages reçus sont alors automatiquement transmis au ProcessMessage fonction de MessageProcessor. De plus, il est possible d'utiliser le CANBusDiagnosis bloc fonctionnel pour surveiller l'état du pilote CAN.

Pour plus d'informations sur les blocs fonctionnels, consultez le fichier PDF inclus dans le package.

Configuration système requise et restrictions

Système de programmation

CODESYS Development System (version 3.5.6.0 ou supérieure)

Système d'exécution

CODESYS Control Win (version 3.5.6.0)

Composants complémentaires

-

Avis

_example_icon.png TÉLÉCHARGER Projet