La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

EPAP Electronique: Bus de Terrain KNX

Présentations similaires


Présentation au sujet: "EPAP Electronique: Bus de Terrain KNX"— Transcription de la présentation:

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


Télécharger ppt "EPAP Electronique: Bus de Terrain KNX"

Présentations similaires


Annonces Google