Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parChrystelle Fabienne Roussy Modifié depuis plus de 9 années
1
EPAP Electronique: Bus de Terrain KNX
Laurent BOURDEL EPAP Electronique: Bus de Terrain KNX 11 Mai 2015
2
PLAN Compte rendu Travaux Pratiques Séquence pédagogique Synthèse
3
Présentation du système
IHM Borland C++
4
Problématique Identification des bits transférés sur un bus KNX
Décodage des champs de la trame Modification de l’IHM pour afficher les valeurs des champs décodés DC-DC Manque presentation Classe dispo + celle créé
5
Présentation KNX Trop d’infos sur meme diapo
L'architecture peut être de différentes topologies : bus étoile arborescente un mélange de ces différentes topologies Boucle => !!! JAMAIS !!! Couches Physiques: Bus Radio (ISM 868Mhz) Courant porteur Ethernet (depuis 2008)
6
Structure Trame KNX Ampli 125kHz
7
Détail Trame
8
Application
9
Analyse trame KNX
10
Développement Algo
11
Machine d’état Code complet
void __fastcall TForm1::ButtonDecodeClick(TObject *Sender) { // unsigned short Hour, Min, Sec, MSec; BYTE Xsrc,Ysrc,Zsrc,CmptRoutage; TDateTime Delta = Time() - Start; if (serial.hasData()) { data[index] = serial.readData(); DecodeTime(Delta, Hour, Min, Sec, MSec); TVarRec args[] = {index, (int) Hour, (int) Min, (int) Sec, (int) MSec, (int) data[index]}; index++; //MemoResult->Lines->Add(Format("i=%d : %.3d:%.3d:%.3d:%.3d = %.2x", args, ARRAYSIZE(args) - 1)); switch(Etat) case 0: // CONTROLE if(data[Etat]==0xBC) MemoResult->Lines->Add(("Controle")); Etat++; } else Etat=0;index=0; break; case 1: // CHAMP X+Y SRC case 2: // CHAMP Z + DECODAGE SRC // Xsrc=(data[Etat-1]&0xF8)>>3; Ysrc=(data[Etat-1]&0x07); Zsrc=(data[Etat]); TVarRec args1[] = {(int) Xsrc, (int) Ysrc, (int) Zsrc}; args1, ARRAYSIZE(args1) -1 )); case 3: // CHAMP X+Y CLIENT case 4: // CHAMP Z + DECODAGE CLIENT // args1, ARRAYSIZE(args1) -1 )); Machine d’état case 5: // CONTROLE { if( data[Etat]&0x80) CmptRoutage=(data[Etat]&0x70)>>4; LgData= (data[Etat]&0x0F)+1; TVarRec args1[] = {(int) CmptRoutage, (int) LgData }; MemoResult->Lines->Add(Format("CmptRoutage=%d. LgData=%d", args1, ARRAYSIZE(args1) -1 )); Etat++; } else MemoResult->Lines->Add("ERREUR"); Etat=0;index=0; break; case 6: // DATA if(LgData--) TVarRec args1[] = {(int) (LgData) ,(int) data[Etat+LgData] }; MemoResult->Lines->Add(Format("Data[%d]=%d", args1, ARRAYSIZE(args1) -1 )); if( LgData==0 ) MemoResult->Lines->Add("DATA"); MemoResult->Lines->Add("PB!!!"); case 7: // Checksum MemoResult->Lines->Add("CheckSum"); case 8: // ACK if(data[index]=0xCC) { MemoResult->Lines->Add("ACK OK"); } else Etat=0;index=0; break; default: Code complet
12
Machine d’état switch(Etat) { case 0: // CONTROLE if(data[Etat]!=0xBC) Etat=0;index=0; } break; case 1: // CHAMP X+Y SRC Etat++; case 2: // CHAMP Z + DECODAGE SRC // Xsrc=(data[Etat-1]&0xF8)>>3; Ysrc=(data[Etat-1]&0x07); Zsrc=(data[Etat]); case 3: // CHAMP X+Y CLIENT case 4: // CHAMP Z + DECODAGE CLIENT // case 5: // CONTROLE { if( data[Etat]&0x80) CmptRoutage=(data[Etat]&0x70)>>4; LgData= (data[Etat]&0x0F)+1; Etat++; } else MemoResult->Lines->Add("ERREUR"); Etat=0;index=0; break; case 6: // DATA if(LgData--) if( LgData==0 ) MemoResult->Lines->Add("DATA"); case 7: // Checksum Etat++; break; case 8: // ACK if(data[index]=0xCC) { MemoResult->Lines->Add("ACK OK"); } Etat=0;index=0; default: Presenter code interessant (ex masque /shift pour recuperer info) Faire lien entre algo et machine d’etat
13
Optimisations possibles
Vérifier la parité Optimisation sur IT de la réception de data
14
Exploitation pédagogique BTS « Systèmes Numériques »
Informatique et Réseaux Électronique et Communication
15
Référentiel Référentiel des activités professionnelles Activités
Taches Compétences Savoirs Savoir-Faire Référentiel de certification
16
Activités d’un technicien supérieur autour d’un système ou d’un service
Pas necessaire d’afficher detail Activite pas forcement chronologique mais plus lie au cycle de dev d’un produit
17
Compétences du technicien supérieur autour d’un système ou d’un service
18
Des compétences spécifiques
Spécialité IR Spécialité EC Compétences peuvent être différentes suivant l’option
19
Compétences communes Savoir et savoir-faire spécifiques
Compétences identiques, savoir et savoir-faire différents
20
Savoirs : des niveaux taxonomiques adaptés
S4. Développement logiciel IR EC S4.7. Langages de programmation C++ 3 1 Utilisation d’un langage objet (Java, C#, C++, etc.) 2 SQL Web statique : HTML / XML Web dynamique : PHP, JavaScript Circuits programmables (graphique, descriptif, etc.) Langages graphiques par flux de données (simulation et instrumentation virtuelle) S5. Solutions constructives des systèmes d'information S5.3. Structures matérielles des E/S Détecteurs / capteurs industriels : position, vitesse, accélération, … Capteurs et périphériques multimédia : écrans, caméras, micros, hauts parleurs… 4 Conditionnement et traitement du signal : Amplification, Filtrage analogique et numérique, compression Conversion de données : Échantillonnage, CAN/CNA, CODEC Adaptation de niveau et de puissance (BF et HF) Pré actionneurs industriels Le niveau taxonomique définit la différence au niveau des savoirs
21
Savoir associés aux compétences
P1 Culture générale et expression P2 Langue vivante : anglais P3 Mathématiques P4 Sciences physiques et chimiques appliquées S1 Communication S2 Gestion de projet S3 Modélisation S4 Développement logiciel S5 Solutions constructives des systèmes d’information S6 Systèmes d’exploitation S7 Réseaux, télécommunications et modes de transmission S8 Tests et validation S9 Fabrication
22
BTS Option Électronique et communication
+ Stage 6 semaines fin de 1ere année
23
Situation et structure de la séquence
Période: fin 1ere année Volume horaire : 2H cours + 4H TD + 8H TP + 2H Evaluation Classe Entière : 24 étudiants Groupe : 12 étudiants Prérequis : Cours Réseau (couches OSI) Codage numérique Développement IHM en C++ Algo machine d’état semaine 1 2 3 Cours (CE 2h) Concepts fondamentaux des réseaux Topologie Travaux Dirigés (CE 2h) Bus de terrain (présentation, utilisation, trame) Activité pratique (Gr 4h) Analyse et décodage des trames bus de terrain Travaux Dirigés (CE 2h) Ecriture de l’algorithme de décodage sous SysML Activité pratique (Gr 4h) Codage de l’algorithme Envoie de trame de commande ( allumage lampe, …) Evaluation formative (30 minutes) Evaluation sommative (1h30) Faire sequence plus longue Remédiation
24
Détail séance TP2 Matériels fournis: Oscilloscope PC avec logiciel C++
Maquette bus de terrain (KNX, CAN, Ethernet, ..) Fiche de travail pratique Accès internet Logiciel: Logiciel C++ avec librairies graphiques Appli basique avec squelette d’IHM Travail demandé: Développer un algorithme qui décode les champs d’une trame Afficher les champs dans l’IHM basique fourni Restitution: Démonstration du développement efféctué Activité pratique (Gr 4h) Codage de l’algorithme Envoie de trame de commande ( allumage lampe, …)
25
Salle Travaux Pratiques
Mettre apres la sequence et detail seance BT Wifi Modem Nao MaxPID Bras industriel Système1 Système2 Capteur Température Rythme cardiaque Afficheur industriel RFID CAN KNX Réseau optique Système3 Système4 Système4
26
Synthèse Plusieurs études possibles sur bus KNX
Extension aux autres bus de terrain (ex: CAN) Enseignement en Informatique et Réseaux + Électronique et Communication
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.