Accueil Solutions Présentation du protocole Custom CAN ID pour Smart Display

Présentation du protocole Custom CAN ID pour Smart Display

May 04, 2023

Introduction

Smart Display prend actuellement en charge l’interface matérielle de communication CAN bus et utilise le protocole de communication CANopen. Basé sur le bus CAN, CANopen est un protocole de communication industriel largement utilisé dans de nombreux domaines, notamment les équipements médicaux, les véhicules, les applications ferroviaires et l’automatisation des bâtiments. Toutefois, l’utilisation de CANopen nécessite l’implémentation du mécanisme de communication CANopen correspondant côté Host, ce qui peut accroître la complexité des applications nécessitant uniquement une communication CAN bus. Afin de simplifier cette mise en œuvre, nous avons développé le protocole Custom CAN ID, qui ne nécessite pas l’implémentation de CANopen côté Host. Les données peuvent être configurées à l’aide d’un fichier DBC personnalisé afin d’associer les CAN ID et les données aux Widgets du Smart Display et de permettre une interaction en temps réel. Cette approche facilite la compréhension et le contrôle des données du système, tout en offrant davantage de flexibilité et une maintenance simplifiée.

Le protocole Custom CAN ID s’appuie principalement sur un fichier DBC (CAN Database) pour configurer les données et définir leur interaction avec les Widgets du Smart Display. Le fichier DBC contient notamment les CAN ID, le format des messages et les informations nécessaires au décodage. À l’aide d’un fichier DBC personnalisé, différents CAN ID et données peuvent être associés aux Widgets du Smart Display afin de permettre une interaction en temps réel. Par exemple, les CAN ID et les données peuvent servir à piloter des éléments graphiques ou du texte à l’écran, tandis que les boutons ou les curseurs du Smart Display peuvent être utilisés pour agir sur les données CAN. Cette interaction permet de mieux visualiser et contrôler les données du système, tout en offrant une solution flexible et facile à maintenir.

Comprendre les fichiers DBC

Un fichier DBC est généralement un fichier texte ASCII contenant les informations relatives aux signaux physiques transmis sur le bus CAN, notamment le CAN ID, le nom du signal, le facteur d’échelle et sa définition. Il permet de décoder les données CAN brutes en valeurs exploitables et d’associer les différents CAN ID aux signaux correspondants. Le fichier DBC fournit ainsi les informations nécessaires pour convertir les données utiles (payload) des messages CAN en valeurs physiques.

Exemple de décodage de données CAN brutes

raw-can-data-testing-data-example01

Si vous disposez d’un fichier DBC CAN contenant les règles de décodage du CAN ID 0x181, les informations définies dans ce fichier peuvent être utilisées pour décoder les données suivantes.

raw-can-data-testing-data-example02

L’une des principales fonctions d’un fichier DBC consiste à définir les règles de décodage des messages et des signaux CAN. L’exemple suivant présente des données de test extraites d’un fichier DBC :

test-data-description-excerpted-from-dbc-file01

À partir des informations DBC ci-dessus, les paramètres de décodage suivants peuvent être obtenus :

test-data-description-excerpted-from-dbc-file02

En appliquant les règles de décodage ci-dessus, les données CAN brutes obtenues précédemment peuvent être décodées comme suit :

test-data-description-excerpted-from-dbc-file03

Comme le montre l’exemple ci-dessus, les paramètres définis dans un fichier DBC permettent de décoder correctement les valeurs réelles représentées par les données CAN associées à un CAN ID. Le fichier DBC décrit la structure et les définitions des messages et des signaux CAN, ce qui permet d’interpréter les données CAN brutes et de les convertir en valeurs physiques correspondantes afin que le système puisse exploiter les informations transmises sur le bus CAN.

Éditeur DBC

La structure et le format d’un fichier DBC pouvant être difficiles à lire et à modifier directement, il est possible d’utiliser un éditeur DBC pour créer et modifier plus facilement des fichiers DBC personnalisés. Vector CANdb++, développé par Vector Informatik GmbH, est l’un des outils couramment utilisés à cet effet. Il propose une interface graphique permettant de créer et de modifier des fichiers DBC, d’ajouter des messages et des signaux, ainsi que de définir les attributs associés, tels que les identifiants de message, les bits de départ, les longueurs, les facteurs d’échelle et les offsets.

dbc-editor

Smart Display GUI Builder – Configuration Custom CAN ID

Smart Display GUI Builder propose une interface intuitive pour créer des projets Custom CAN ID. Il suffit d’importer un fichier DBC et d’associer les Messages/Signals aux Widgets correspondants afin d’afficher les données CAN sur le Smart Display et de permettre leur interaction avec l’interface HMI. Les sections suivantes expliquent comment créer un projet Custom CAN ID dans Smart Display GUI Builder et configurer les associations entre le fichier DBC et les Widgets.

Créer un projet Custom CAN ID

Saisissez le nom du Project, sélectionnez le type de Smart Display, puis choisissez "Custom CAN Id (CANbus)" dans Protocol afin de créer un projet Custom CAN ID.

create-custom-can-project

Importer un fichier DBC personnalisé

Accédez à la page DBC Viewer, puis cliquez sur "Load DBC File" pour importer un fichier DBC personnalisé. Une fois le fichier importé, vous pouvez consulter les Messages, Signals et les informations de configuration associées définies dans le fichier DBC.

import-custom-dbc-file

Configurer les Widgets Gauge et Horizontal Slider

Sélectionnez l’objet Gauge puis, dans la section CAN Signal de ses propriétés, définissez Message sur EEC1 et Signal sur EngSpeed. Le Gauge est ainsi associé au signal EngSpeed et la valeur affichée évolue en fonction de la valeur EngSpeed.

add-gauge-and-horizontal-slider-widget-in-the-main-page

Sélectionnez ensuite l’objet Horizontal Slider puis, dans la section CAN Signal de ses propriétés, définissez Message sur HorizontalSliderMessage et Signal sur HorizontalSliderSignal1. Le Horizontal Slider est ainsi associé à HorizontalSliderSignal1 et évolue en fonction de la valeur de ce signal.

add-gauge-and-horizontal-slider-widget-in-the-main-page02

Simuler l’interaction entre CAN ID / CAN Data et les Widgets

Cliquez sur l’icône "Simulator With GUI" pour lancer le simulateur.

add-gauge-and-horizontal-slider-widget-in-the-main-page03

Après avoir lancé le simulateur, déplacez le curseur EngSpeed situé en bas de l’écran pour simuler l’envoi de données EngSpeed par le Host et observez les variations correspondantes du Gauge dans le simulateur. Le Message Log situé à droite permet de visualiser les changements de CAN ID et de CAN Data. Vous pouvez également manipuler le Horizontal Slider dans le simulateur afin de simuler les données envoyées par le Device.

add-gauge-and-horizontal-slider-widget-in-the-main-page04

Mettre à jour la configuration du Smart Display

Après avoir vérifié le fonctionnement avec le simulateur et confirmé que le résultat correspond aux attentes, connectez-vous au Device et chargez les paramètres du Project sur le Smart Display.

add-gauge-and-horizontal-slider-widget-in-the-main-page05

Attendez la fin du chargement et de la mise à jour du Project.

add-gauge-and-horizontal-slider-widget-in-the-main-page06

Vérifier l’interaction entre CAN ID / CAN Data du Device et les Widgets

Après avoir chargé le Project sur le Device, vous pouvez vérifier le fonctionnement du Smart Display dans les conditions réelles. Connectez GUI Builder au Device, puis cliquez sur "Test Device" pour ouvrir la fenêtre Test Device et tester l’interaction entre le Host et le Device.

verify-data-and-the-widget

Fenêtre Test Device

La fenêtre Test Device permet de simuler l’envoi par le Host des CAN ID et CAN Data correspondants selon la configuration du fichier DBC. Déplacez le curseur EngSpeed pour simuler l’envoi de données EngSpeed par le Host et observez les variations correspondantes du Gauge sur le Smart Display. Les enregistrements CAN affichés en bas de la fenêtre permettent de vérifier le CAN ID et les CAN Data. Vous pouvez également manipuler le Horizontal Slider directement sur le Smart Display afin de vérifier que les données envoyées par le Device correspondent aux valeurs attendues.

test-device-window

Affichage réel sur le Smart Display

actual-display-of-the-smartdisplay-device

Présentation des commandes Custom CAN

Cette section présente le protocole de commande utilisé avec Custom CAN. Ces commandes permettent au Host de contrôler facilement le Smart Display, notamment pour changer de page, régler la luminosité ou activer le buzzer.

Configuration du CAN ID

Le protocole de commande utilise les paramètres CAN ID suivants :

  • Format du CAN ID : 29 bits
    CAN ID : 0xEF0000 + 0x7B00 (Channel ID par défaut. Cette valeur peut être modifiée dans GUI Builder.)
 

Format des données de commande

Commande d’envoi

Octet d’en-tête (1 octet) Longueur (1 octet) Payload (N octets) CRC (2 octets)
Valeur fixe : 0x53 (S) Valeur = 4 + longueur du Payload
Taille maximale du Payload : 250
Pour le contenu et la longueur des données, reportez-vous au Payload de la commande d’envoi. Modbus CRC16
 

Commande de réponse

Octet d’en-tête (1 octet) Longueur (1 octet) Payload (N octets) CRC (2 octets)
Valeur fixe : 0x52 (R) Valeur = 4 + longueur du Payload
Taille maximale du Payload : 250
Pour le contenu et la longueur des données, reportez-vous au Payload de la commande de réponse. Modbus CRC16
 

Payload des commandes

Les sections suivantes décrivent le Payload de chaque commande.

  • Set Brightness : 0x6
    Commande d’envoi
Command Code 1 Byte 0x6
Brightness 1 Byte Brightness value
 

Commande de réponse

Command Code 1 Byte 0x6
Error Code 1 Byte 0:Success
1:Failed
  • Set Buzzer : 0x7
    Commande d’envoi
 
Command Code 1 Byte 0x7
Cycle 1 Byte Cycle value
High 1 Byte High value
Low 1 Byte Low value
 

Commande de réponse

Command Code 1 Byte 0x7
Error Code 1 Byte 0:Success
1:Failed
 
  • Set Page Index : 0x8
    Commande d’envoi
Command Code 1 Byte 0x8
Page Index 1 Byte Page Index value
 

Commande de réponse

Code de commande 1 octet 0x8
Code d’erreur 1 octet 0 : Succès
1 : Échec
 
  • Get Page Count : 0xA
    Commande d’envoi
Command Code 1 Byte 0xA
 

Commande de réponse

Command Code 1 Byte 0xA
Error Code 1 Byte 0:Success
1:Failed
High 1 Byte Page Count value
 
  • Get Current Page Index : 0xF
    Commande d’envoi
Command Code 1 Byte 0xF
 

Commande de réponse

Command Code 1 Byte 0xF
Error Code 1 Byte 0:Success
1:Failed
Page Index 1 Byte Page Index value
 
  • Set Device State : 0x20
    Commande d’envoi
Command Code 1 Byte 0x20
Device State 1 Byte 0: ConfigMode
1: DisplayMode
 

Commande de réponse

Command Code 1 Byte 0x20
Error Code 1 Byte 0:Success
1:Failed
 

Exemples de transmission

  • Régler la luminosité sur 90

transmission-example-set-brightness-to-90

  • Passer au Page Index 1
 

Pour changer de page, définissez d’abord le Device State sur ConfigMode, puis envoyez la commande de changement de page. Une fois le changement de page terminé, rétablissez le Device State sur DisplayMode. La séquence de commandes est la suivante :

transmission-example-switch-page-index-to-1

Simplifier le développement d’une IHM CAN avec Custom CAN ID

Avec le protocole Custom CAN ID, les utilisateurs peuvent définir les CAN ID et les données CAN à l’aide d’un fichier DBC standard, puis utiliser Smart Display GUI Builder pour associer les Messages/Signals aux Widgets correspondants. Les données CAN peuvent ainsi être directement intégrées à l’interface IHM. Pour les applications qui ne nécessitent pas de protocoles de communication plus complets tels que CANopen ou J1939, Custom CAN ID offre une approche plus simple pour intégrer un Host à un Smart Display à partir de la configuration DBC.

Avant de connecter un Smart Display réel, les utilisateurs peuvent également exploiter les fonctions de simulation de Smart Display GUI Builder afin de vérifier les interactions entre la configuration DBC, les données CAN et les Widgets.

Vous avez des questions sur les solutions d'affichage pour votre entreprise ? Contactez-nous!

Abonnez-vous

Recevez des e-mails sur les nouvelles mises à jour de Winstar

Contactez-nous

Prix/Fiche technique/Requête générale

Support technique

Contactez-nous pour toute information technique

go top
Contactez-nous
close

Nous valorisons votre confidentialité

En cliquant sur "Autoriser tous les cookies", vous acceptez le stockage de cookies sur votre appareil pour améliorer la navigation sur le site, analyser l'utilisation du site et aider dans nos efforts de marketing et de performance. Vous pouvez trouver plus d'informations à ce sujet dans notre politique. Politique de confidentialité

Nous valorisons votre confidentialité

Winstar et certains tiers utilisent des cookies sur www.winstar.com.tw. Les détails concernant les types de cookies, leur objectif et les tiers impliqués sont décrits ci-dessous et dans notre Politique relative aux cookies. Veuillez cliquer sur « Autoriser tout » pour consentir à l'utilisation de cookies et profiter de la meilleure expérience possible sur nos sites. Vous pouvez également définir vos préférences ou refuser les cookies (sauf les cookies strictement nécessaires).

Gérer les préférences de consentement

Toujours actif
Cookies essentiels

Ces cookies sont essentiels pour vous permettre de naviguer sur le site et d'utiliser ses fonctionnalités, telles que la définition de vos préférences en matière de confidentialité, la connexion ou le remplissage de formulaires.

Cookies analytiques

Également connus sous le nom de « cookies statistiques », ces cookies collectent des informations sur la façon dont vous utilisez un site Web, comme les pages que vous avez visitées et les liens sur lesquels vous avez cliqué. Voir les détails.