Arnaud29120
Mon blog personnel après divers essai avec les CMS type Drupal je me lance dans le blog.
SEARCH2
samedi 25 avril 2020
mardi 9 février 2016
CAN
Cet article va nous permettre d'aborder le protocole CAN, nous aborderons sa mise en oeuvre dans le cadre d'échanges avec un véhicule.
Dans cet article nous n'aborderons pas les spécifications du bus CAB.
On trouve sur Internet une littérature abondante sur le sujet; nous citerons simplement des sources et fournirons des liens vers des sites contenant ce type d'informations.
Pour résumer CAN est une recommandation, définissant le protocole des couches physiques au niveau transport.
Pour mettre en œuvre un bus CAN il suffit d'une paire torsadée et blindée.
Soulignons tout de même qu'avec une vitesse de plus de 500 kbauds on prêtera une attention particulière à la qualité des connections.
les communications se feront au moyen d'une interface CANUSB de Lawicel, nous avons choisis cette solution plutôt que d'autre produits type ELM,MOBYDIC car cette interface n'est pas dédié au seuls automobiles.
En outre l'interface CANUSB propose deux types de driver, un port série virtuel et des API contenues dans une DLL.
Le port série virtuel est très utile pour les tests, on a un aperçu rapide des transmissions CAN. Il est mis en œuvre aisément avec des logiciels terminal de type Realterm, Hyperterminal ou autre.
Les API, elles ne vous seront utile que pour réaliser un logiciel mais c'est là le mode d'exploitation le plus performant surtout si vous envisager d'envoyer des trames CAN.
Ce câble est apparemment un modèle standard, cependant j'ai préféré contrôler le câblage avant pour éviter tout dégât au véhicule, a l'interface CANUSB ou au PC. Je vous invite à procéder de la même manière.
Je vous conseille d'employer un câble de 2 m avec un minimum de 2 paires torsadées, blindées. Utiliser une paire pour les transmissions CAN et l'autre pour la masse. Relier la tresse à la masse à chaque extrémité du câble sur les DB9.
On part d'une DB9 Mâle sur la CAN USB, on branche un câble "maison" avec un DB9 Femelle. A l'extrémité du câble "maison" on retrouve un DB9 mâle qui se raccorde sur le câble "OBD-2" sur le connecteur DB9 femelle.
Le câblage du cable maison est le suivant :

Voici le schéma du connecteur DB9 mâle due l'interface CANUSB

Le schéma du cable OBD-2, avec le DB9 femelle

Maintenant pour rapel le brochage des DB9, notez que les brochages sont données connecteurs vue coté broches ou vue de face. La vue de face d'un DB9 mâle correspond à la vue arriere ou coté soudure d'un DB9 femelle et inverséeent.

Présentation
CAN a été développé depuis 1992 par des industriels, ce protocole présente de nombreux avantages : réseau multi maitre, mise en œuvre aisé, débits des transmissions. Il devient une référence en industrie et dans le monde automobile.Dans cet article nous n'aborderons pas les spécifications du bus CAB.
On trouve sur Internet une littérature abondante sur le sujet; nous citerons simplement des sources et fournirons des liens vers des sites contenant ce type d'informations.
Pour résumer CAN est une recommandation, définissant le protocole des couches physiques au niveau transport.
Pour mettre en œuvre un bus CAN il suffit d'une paire torsadée et blindée.
Soulignons tout de même qu'avec une vitesse de plus de 500 kbauds on prêtera une attention particulière à la qualité des connections.
Mise en œuvre
Nous allons mettre en œuvre une liaison CAN entre notre ordinateur et une voiture.les communications se feront au moyen d'une interface CANUSB de Lawicel, nous avons choisis cette solution plutôt que d'autre produits type ELM,MOBYDIC car cette interface n'est pas dédié au seuls automobiles.
En outre l'interface CANUSB propose deux types de driver, un port série virtuel et des API contenues dans une DLL.
Le port série virtuel est très utile pour les tests, on a un aperçu rapide des transmissions CAN. Il est mis en œuvre aisément avec des logiciels terminal de type Realterm, Hyperterminal ou autre.
Les API, elles ne vous seront utile que pour réaliser un logiciel mais c'est là le mode d'exploitation le plus performant surtout si vous envisager d'envoyer des trames CAN.
Le matériel
Pour notre application nous avons utiliser les éléments suivants:- une interface CANUSB et un PC avec un logiciel de type CAN Monitor Pro
- un câble "maison" qui nous permet d'adapter le câblage
- un câble OBD, avec deux fiches l'une en DB9 et l'autre en SAE J1962, que nous branchons sur le port diagnostique du véhicule
- deux connecteurs DB9, un male et un femelle
Ce câble est apparemment un modèle standard, cependant j'ai préféré contrôler le câblage avant pour éviter tout dégât au véhicule, a l'interface CANUSB ou au PC. Je vous invite à procéder de la même manière.
Le câblage
Le câble maison ne présente pas de difficulté particulières, ce n’est pas du CMS, il faut simplement faire attention à la qualité des soudures.Je vous conseille d'employer un câble de 2 m avec un minimum de 2 paires torsadées, blindées. Utiliser une paire pour les transmissions CAN et l'autre pour la masse. Relier la tresse à la masse à chaque extrémité du câble sur les DB9.
On part d'une DB9 Mâle sur la CAN USB, on branche un câble "maison" avec un DB9 Femelle. A l'extrémité du câble "maison" on retrouve un DB9 mâle qui se raccorde sur le câble "OBD-2" sur le connecteur DB9 femelle.
Le câblage du cable maison est le suivant :

Voici le schéma du connecteur DB9 mâle due l'interface CANUSB

Le schéma du cable OBD-2, avec le DB9 femelle

Maintenant pour rapel le brochage des DB9, notez que les brochages sont données connecteurs vue coté broches ou vue de face. La vue de face d'un DB9 mâle correspond à la vue arriere ou coté soudure d'un DB9 femelle et inverséeent.

Communications protocole OBD sur bus CAN
Les essais de communication sont
réalisés avec CAN monitor Pro un excellent outil très flexible.
Quelques notions de CAN pour commencer.
Pour la liaison deux paires torsadées
dans un câble blindé suffisent, Les trames ont un entête, des
données et un contrôle de redondance cyclique pour contrôler
l’intégrité des données
Notez qu’avec le CANUSB la gestion
des CRC est totalement transparente. Mais nous essaierons de
développer les méthodes liés au contrôle de la qualité des
transmissions.
Pour le moment nous nous concentrons
sur le protocole CAN, les trames sont émisses par des équipements
disposant d’adresse ou ID. L’entête contient des informations
sur la trame et sont format. Un DLC permet de connaitre le nombre
d’octets de données. Les données sous forme de suite d’octet
contenant des informations structurées.
Tout d’abord l’adressage CAN est
dit 11 ou 29 Bit selon les réseaux et équipements interconnectées.
La priorité sur le bus CAN est donnée
aux trame sont les ID sont les plus bas. Certaines adresses sont
normalisées et réservé ç un usage particulier. Pour ce qui
concerne la Prius 3 nous disposons de deux calculateurs qui
communiquent selon le protocole OBD2. ODB 2 , plus particulièrement
la norme ISO15495 définissent l’adressage des équipements OBD
communiquant sur un bus CAN. Les équipements de test peuvent
utiliser une adresse générique x7DF pour lire des données du
véhicule, sur la copie d’écran ci-dessous on voit que tous les
calculateurs supportant le protocole OBD répondent à la requête
émises par l’interface de test qu’est le CANUSB. Ici les deux
calculateurs ont les adresses x7E8 et x7EA.
La norme prévoit la possibilité de ne
communiquer qu’avec l’un des 8 calculateurs prévues. Ci après
nous nous intéressons au calculateur répondant avec un ID x7E8, la
norme préconise que ce soit le calculateur du moteur, nous
chercherons plus d’informations pour nous assurer que ce soit bien
cela.
On détermine les adresse de la manière
suivante : Adresse test = x7E0 + (n-1) pour le calculateur x7E0
+ (n-1) + 8. Voir le tableau ci après
ECU | Adr Test | Adr ECU |
1 | 0x07E0 | 0x07E8 |
2 | 0x07E1 | 0x07E9 |
3 | 0x07E2 | 0x07EA |
4 | 0x07E3 | 0x07EB |
5 | 0x07E4 | 0x07EC |
6 | 0x07E5 | 0x07ED |
7 | 0x07E6 | 0x07EE |
8 | 0x07E7 | 0x07EF |
Les entêtes de trame ou headers
contiennent d’autres informations nous renseignant sur la nature de
la trame et ses données. La norme CAN prévoit 4 types de trame..
Nous nous focalisons sur les trames de données, nous évoquerons les
autres types de trame par la suite.
Des bits nous indiquent le type de
trame notamment RTR pour les trames requête.
Le DLC nous indique la longueur des
donnes de la trame en octet.
Les données sont codées en octet,
elles ne peuvent dépasser 8 octets.
Nous allons aborder maintenant la
description d’une trame capturée sur le bus CAN.
Automates TREND
Voici une présentation rapide de la technologie IQ3 de NOVAR / TREND. Ces automates programmé en langage graphique avec le logiciel SET peuvent être intgré au superviseur 963.
Nous avons deployé ces produits sur 2 chantiers, l'ensemble de sous station et la gestion technique centralisée d'un site industriel classé CEVESO 2.
Les contrôleurs IQ3 et IQ2 sont des automates dont les applications sont variables.
Les automates TREND ne sont pas destinés à la gestion de processus industriels complexes, pour cela on utilisera plutôt des solutions SCHNEIDER ou SIEMENS. Cependant les automates TREND présentent un intérêt certain.
Maintenant nous allons aborder l’architecture matérielle des contrôleurs TREND IQ3.
Ils existent plusieurs versions d’IQ3, les IQ3 Xcite, LAN et XNC ; ces automates disposent d’une interface Ethernet, ils embarquent un serveur web et peuvent supporter la technologie serveur XML. Selon les versions on peut atteindre 128 points numériques ou analogiques avec des modules d’extensions. Les points analogiques sont des signaux tensions courants ou résistances. Le module de base propose 10 entrées et 8 sorties. La version XNC propose des liaisons RS232 et RS485 supportant les protocoles Mobus, Mnus et Bacnet.
Nous avons déployés ces solutions dans des applications chauffage et GTC. Nous avons utilisés le superviseur TREND 963, une passerelle XTEND et des modems TMNH pour la GTC. Cependant nous avons apprécié tout le potentiel offert par le service XML, ces services ont permit d’interfacer la technologie TREND avec le superviseur PANORMA de la centrale d’énergie.
Dans la section suivante nous allons nous intéresser aux entrées et sorties.
Nous aborderons ensuite les blocs fonctions et logiques qui permettent d’implémenter un programme.
Dans une troisième partie nous présenterons des exemples tirées de programme.
Nous présenterons rapidement le logiciel de programmation et la configuration des liaisons .
Enfin nous verrons quelles sont les possibilités offertes par les services HTTP et XML des contrôleurs TREND IQ3
Les entrées TOR, U, I ou R se configure en fonction des signaux a traiter. La configuration des entrées se fait par l’intermédiaire de cavaliers. Les sorties sont uniquement configurable de manière logicielle, elle délivre un maximum de 10 V et permet d’alimenter des relais d’automatisme.
La masse commune des entrées et sorties peut être séparée de la terre.
Une entrée ou une sortie dispose d’un numéro de module, 0 pour la base de 1 à 15 pour une extension et un numéro de voie ou canal.
Les entrées TOR utilisent des contacts libres de potentiel, l’automate alimente le contact NO ou NF. Dans ce mode une diode signale l’état de l’entrée, allumée contact fermée, éteinte contact ouvert..On raccorde les contacts entres les bornes 0 et celles portant les numéros de l’entrée
Exemple le contact LSH se branche en entree 1 (module 0 voie 1) sur les bornes 2 et 3;
un contact LSL (module 0, voie 2) se branche entre 5 et 6
Les tensions analogiques 2/10V et 0-10V se raccordent de manière similaire aux entrées TOR, entre les bornes portant le numéro de voie du module et les borne 0, Prêter la plus grande attention aux polarités
Les entrées courant 4/20 et 0/20 mA , le câblage varie selon les technologies de capteurs : 2 ou 3 fils. L’IQ3 dispose d’une source de tension 24V que l’on peut utiliser pour alimenter les capteurs.
Dans le cas d’un capteur deux fils on branche le + du capteur sur la borne 24Vcc et le – du capteur sur la borne portant le numéro de l’entrée, les masses de l’alimentation 24V et celle des entrées étant commune le courant circule.
On peut renvoyer le 24Vcc sur les bornes + des entrées. Il faut réaliser un pont entre les bornes 24V et P du bornier A
. Les entrées Résistance fonctionnent avec des résistances de 1 à 100K mais pas avec des PT100.
Pour les grandeurs analogiques on peut définir une mise à l’échelle de la mesure, ceci est fait en définissant un type de capteurs ;
Prenons pour exemple une tension 0-10V correspondant au signal de charge d’un groupe froid, nous définirons une mesure de 0 à 1
Nous avons deployé ces produits sur 2 chantiers, l'ensemble de sous station et la gestion technique centralisée d'un site industriel classé CEVESO 2.
Les contrôleurs IQ3 et IQ2 sont des automates dont les applications sont variables.
Les automates TREND ne sont pas destinés à la gestion de processus industriels complexes, pour cela on utilisera plutôt des solutions SCHNEIDER ou SIEMENS. Cependant les automates TREND présentent un intérêt certain.
Maintenant nous allons aborder l’architecture matérielle des contrôleurs TREND IQ3.
Ils existent plusieurs versions d’IQ3, les IQ3 Xcite, LAN et XNC ; ces automates disposent d’une interface Ethernet, ils embarquent un serveur web et peuvent supporter la technologie serveur XML. Selon les versions on peut atteindre 128 points numériques ou analogiques avec des modules d’extensions. Les points analogiques sont des signaux tensions courants ou résistances. Le module de base propose 10 entrées et 8 sorties. La version XNC propose des liaisons RS232 et RS485 supportant les protocoles Mobus, Mnus et Bacnet.
Nous avons déployés ces solutions dans des applications chauffage et GTC. Nous avons utilisés le superviseur TREND 963, une passerelle XTEND et des modems TMNH pour la GTC. Cependant nous avons apprécié tout le potentiel offert par le service XML, ces services ont permit d’interfacer la technologie TREND avec le superviseur PANORMA de la centrale d’énergie.
Dans la section suivante nous allons nous intéresser aux entrées et sorties.
Nous aborderons ensuite les blocs fonctions et logiques qui permettent d’implémenter un programme.
Dans une troisième partie nous présenterons des exemples tirées de programme.
Nous présenterons rapidement le logiciel de programmation et la configuration des liaisons .
Enfin nous verrons quelles sont les possibilités offertes par les services HTTP et XML des contrôleurs TREND IQ3
Les entrées TOR, U, I ou R se configure en fonction des signaux a traiter. La configuration des entrées se fait par l’intermédiaire de cavaliers. Les sorties sont uniquement configurable de manière logicielle, elle délivre un maximum de 10 V et permet d’alimenter des relais d’automatisme.
La masse commune des entrées et sorties peut être séparée de la terre.
Une entrée ou une sortie dispose d’un numéro de module, 0 pour la base de 1 à 15 pour une extension et un numéro de voie ou canal.
Les entrées TOR utilisent des contacts libres de potentiel, l’automate alimente le contact NO ou NF. Dans ce mode une diode signale l’état de l’entrée, allumée contact fermée, éteinte contact ouvert..On raccorde les contacts entres les bornes 0 et celles portant les numéros de l’entrée
Exemple le contact LSH se branche en entree 1 (module 0 voie 1) sur les bornes 2 et 3;
un contact LSL (module 0, voie 2) se branche entre 5 et 6
Les tensions analogiques 2/10V et 0-10V se raccordent de manière similaire aux entrées TOR, entre les bornes portant le numéro de voie du module et les borne 0, Prêter la plus grande attention aux polarités
Les entrées courant 4/20 et 0/20 mA , le câblage varie selon les technologies de capteurs : 2 ou 3 fils. L’IQ3 dispose d’une source de tension 24V que l’on peut utiliser pour alimenter les capteurs.
Dans le cas d’un capteur deux fils on branche le + du capteur sur la borne 24Vcc et le – du capteur sur la borne portant le numéro de l’entrée, les masses de l’alimentation 24V et celle des entrées étant commune le courant circule.
On peut renvoyer le 24Vcc sur les bornes + des entrées. Il faut réaliser un pont entre les bornes 24V et P du bornier A
. Les entrées Résistance fonctionnent avec des résistances de 1 à 100K mais pas avec des PT100.
Pour les grandeurs analogiques on peut définir une mise à l’échelle de la mesure, ceci est fait en définissant un type de capteurs ;
Prenons pour exemple une tension 0-10V correspondant au signal de charge d’un groupe froid, nous définirons une mesure de 0 à 1
Inscription à :
Articles (Atom)