Cours 7 : Programmation d une chaîne d acquisition



Documents pareils
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Sélection du contrôleur

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

PIC EVAL Dev Board PIC18F97J60

CONTEC CO., LTD. Novembre 2010

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Durée estimée :1 journée Date de la réalisation : Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

IV- Comment fonctionne un ordinateur?

MEC Introduction à LabVIEW

Tutoriel LabVIEW Des fonctions simples à l acquisition de données

Cours Programmation Système

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Guide d initiation DAQ

ACTIVITÉ DE PROGRAMMATION

Programmation d un contrôleur via une liaison téléphonique Note d application

Master4Light. Caractérisation Optique et Electrique des Sources Lumineuses. Equipement 2-en-1 : source de courant et spectrophotomètre

Conférence sur les microcontroleurs.

Programmer en JAVA. par Tama

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Traduction des Langages : Le Compilateur Micro Java

Le langage de programmation Labview IUT1 Grenoble Département GEII1 Année 2007/2008

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

La technologie Java Card TM

Initiation à la programmation en Python

Cours d algorithmique pour la classe de 2nde

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Présentation du langage et premières fonctions

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

11 Février 2014 Paris nidays.fr. france.ni.com

Ordinateurs, Structure et Applications

Le langage C. Séance n 4

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Fiche technique CPU 314SC/DPM (314-6CG13)

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Utilisation du réseau dans le test et la mesure

Modules d automatismes simples

Programmation en Java IUT GEII (MC-II1) 1

Initiation à LabView : Les exemples d applications :

TP 1. Prise en main du langage Python

Twincat PLC Temperature Controller. Régulation de Température à l aide de TwinCAT PLC.

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Leçon 1 : Les principaux composants d un ordinateur

Cours 1 : La compilation

Réalisation d un réseau de capteurs de température sans fil basé sur le protocole ZigBee

Une introduction à Java

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Initiation. àl algorithmique et à la programmation. en C

Les chaînes de caractères

I. Introduction aux fonctions : les fonctions standards

La carte à puce. Jean-Philippe Babau

Approche Contract First

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

11 Février 2014 Paris nidays.fr. ni.com

INSTRUMENTS DE MESURE SOFTWARE. Management software for remote and/or local monitoring networks

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Programmation système I Les entrées/sorties


Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Java - la plateforme

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Annexe : La Programmation Informatique

Surveiller et contrôler vos applications à travers le Web

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Traitement de données

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Informatique Générale

Cours d Algorithmique et de Langage C v 3.0

Manuel d'installation

Introduction au langage C

2) Téléchargement de l'application pour contrôler vos caméras :

Machines virtuelles Cours 1 : Introduction

Etude et développement logiciel Exemples de réalisation

Carte Relais GSM (Manuel Utilisateur)

Généralités sur le Langage Java et éléments syntaxiques.

1. PRESENTATION DU PROJET

Java Licence Professionnelle CISII,

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

Éléments d'architecture des ordinateurs

Programmation C. Apprendre à développer des programmes simples dans le langage C

Contrôle d accès UTIL TP N 1 découverte

Carte ARDUINO UNO Microcontrôleur ATMega328

OCL - Object Constraint Language

Adressage des données des contrôleurs du WAGO-I/O-SYSTEM 750. Note d application

UE Programmation Impérative Licence 2ème Année

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Activité initiation Arduino

Les solutions National Instruments pour le Model In-The-Loop (MIL) et le prototypage rapide (RCP)

V- Manipulations de nombres en binaire

Système M-Bus NIEVEAU TERRAIN NIVEAU AUTOMATION NIVEAU GESTION. Domaines d'application

Transcription:

Cours 7 : Programmation d une chaîne d acquisition 4 Concepts 4 Programmation Cible Pentium : Langages de haut niveau Langage graphique G sous LabView + librairies de VI ; Langage C + librairies de fonctions C ; Python Cible Micro contrôleur : Langages intermédiaires Langage C + librairies de fonctions C ; Langage assembleur. Cible circuit programmable : Hardware Description Language ABEL 4 Logiciel intégré LabView Instruments Virtuels Contrôle de Cartes d acquisition multi-fonctions Contrôle d instruments réels [traité en S3]

Instrumentation et capteurs 1. Concept 1 : Chaîne d instrumentation Imaginer et réaliser un capteur. 2. Tester un capteur instrumenté. 3. Instrumenter un capteur. Capteurs Conditionneurs + M ic ro -c o n trô le u r + M icro -co n trô le u r Cartes Concept 2 : Capteur + micro Contrôleur Concept 3 : System On Chip Bus Bus Bus Logiciels de traitement

4 Cible Pentium : Langages de haut niveau Langage graphique G sous LabView + librairies de VI ; Langage C + librairies de fonctions C ; Python Langage graphique G sous LabView 100 Tableau 4 Tableau 3 Thermomètre Tableau 2 Tableau de booléens

4 Cible Pentium : Langages de haut niveau Langage graphique G sous LabView + librairies de VI ; Langage C + librairies de fonctions C ; Python Lancer l application Labview Développement des programmes sous Labview 1. Créer un instrument virtuel VI 4 Editer la face avant Les commandes Les indicateurs Modifier le graphisme 4 Editer le diagramme Variables Opérateurs Structures Nœuds 2. Exécuter le programme V.I. 4 Entrer des données test 4 Déboguer en mode Hilighting 4 Accéder à des cartes de communication d acquisition 4 Tracer des courbes 4 Faire de la métrologie

4 Chaînes de développement pour l acquisition et le contrôle de données Editeur Produit Programmation Data Transalation DT-VEE Graphique Appel de routine C Digimétrie Digiview Graphique HEM Snap-Master Graphique Hewlett-Packard HP6VEE Graphique Appel de routine C Keithley Testpoint Viewdac Graphique Par menu Labtech Labtech notebook Labtech control Graphique Graphique National Instrument Labview Labwindows/CVI Graphique Bibliothèques de fonction C Sysma ATS Graphique

4 Cible Micro contrôleur : Langages intermédiaires Langage C + librairies de fonctions C ; Langage assembleur. Micro Contrôleur 80C552 Interruptions Externes Chien de garde EWD Timer 2 Interruption 8Ko ROM 256o RAM PWM Timer 1 Timer 0 CPU A/D OSC Bus Contrôle 6 I/O Ports Serial Ports SCL SDA I2C PSEN, ALE, EA TXD RXD P0 P2 Adress Data P1 P3 P4-P5

4 Cible Micro contrôleur : Langages intermédiaires Langage C + librairies de fonctions C ; Langage assembleur. #include <reg552.h> Langage C sbit LCD_RS = 0x95; sbit LCD_WR = 0x96; sbit LCD_ENABLE = 0x97; code char LcdTable[] = {0x30, 0x30, 0x30, 0x38, 0x08, 0x01, 0x0e, 0x00} ; char LcdMsg[] = "IUT ORSAY - MP"; void InitLCD (); void PrintLCD(); void delay (int t); main ( ) { InitLCD ( ); PrintLCD ( ); 4 while (1) {«Corps du programme»} } void InitLCd () { int i; LCD_WR = 0; LCD_RS = 0; i = 0; while (LcdTable[i]!=0x00) { delay (100); P4 = LcdTable[i]; LCD_ENABLE = 1; LCD_ENABLE = 0; i++; } } void PrintLCD() { int i; LCD_WR = 0; /* DD-RAM = 0 */ LCD_RS = 0; delay (1); P4 = 0x80 + 0x00; LCD_ENABLE = 1; LCD_ENABLE = 0; i=0; while (LcdMsg[i]!= 0x00) { if (i==8) { LCD_RS = 0; delay (1); P4 = 0x80 + 0x40; LCD_ENABLE = 1; LCD_ENABLE = 0; } LCD_RS = 1; delay (1); P4 = LcdMsg[i]; LCD_ENABLE = 1; LCD_ENABLE = 0; i++; } } void delay (int t) { int i, k; for (i=0; i<t; i++) for (k=0;k<10;k++); }

4 Cible Micro contrôleur : Langages intermédiaires Langage C + librairies de fonctions C ; Langage assembleur. Développement en langage C 1. Créer un programme 4 Créer un projet Sources C Machine cible 4 Editer le source Le programme Les entrées -sorties L accès aux librairies 4 Compiler le projet Vérification de la syntaxe Réservation de l espace mémoire Edition des liens 2. Exécuter le programme 4 Télécharger l exécutable 4 Lancer l exécutable 4 Entrer des données 4 Analyser les sorties 4 Déboguer 4 Accéder à des cartes de communication d acquisition grâce à des librairies

4 Cible Micro contrôleur : Langages intermédiaires Langage C + librairies de fonctions C ; Langage assembleur. µcontrôleur : Générer l'exécutable à partir du C Éditeur Mots-clés fichiers définis par l'utilisateur Code source en C Compilateur C Appel au librairies standards par l instruction include Ex include <stdio.h> Run time Startup Librairies Librairiesstandards standards (Math.h, (Math.h, stdio.h, stdio.h,...)...) Librairies Librairies Fichier.obj Assembleur Startup.obj Fichiers.Obj µvision.lnk Table de références croisées Table des symboles (.SYM) Edition Editionde delien (Linkage) Exécutable pour PC Simulateur Exécutable pour µc téléchargeable Dscope.lnk

4 Cible circuit programmable : Hardware Description Language ABEL 4 ABEL est un langage de programmation de circuits de logique programmable (PLD). PAL,GAL FPGA et CPLD 4 Langage HDL (Hardware Description Language) 4 Applications de petites et moyennes importances à implémenter sur des circuits Advanced Boolean Equation Language Description du langage module mod_name [ ;] [title string] [ ;] [deviceid device devicetype ;] [declaration] [ ;] pin declarations ; other declarations ; equations [ ;] equations [" commentaires] truth_table (entree >sortie)[ ;] table de vérité ; state_diagram etat[ ;] diagramme d état ; [Test_Vectors (entree->sortie)] [ ;] vecteurs de tests ; end mod_name [ ;]

4 Cible circuit programmable : Hardware Description Language ABEL Exemple ½ additionneur 4 Half Adder A B Half Adder SUM CARRY module Addition; title 'addition 2 bits' Addition device 'P16H8'; cible : PAL16P8 // optionnel, information complémentaire // optionnel, permet de spécifier le type de matériel " input pins A, B pin 3, 5; // la spécification du numéro de broches est optionnelle " output pins SUM, Carry_out pin 15, 18 istype 'com'; // le compilateur considère les //broches de sortie par le mot-clé istype equations SUM = (A &!B) # (!A & B) ; Carry_out = A & B; // génération des sorties en fonction des entrées end $GGLWLRQ

4 Cible circuit programmable : Hardware Description Language ABEL Développement d un circuit de logique programmable 1. Créer le programme 4 Créer un projet Un Code Source en entrée un schéma logique des équations logiques des tables de vérité des diagrammes d état une Cible un circuit programmable du commerce 4 Compiler le source Syntaxe Vérification que le code tient dans le circuit 2. Exécuter le programme 4 Télécharger un fichier programmant le circuit 4 Lancer le fonctionnement 4 Tester le fonctionnement

Logiciel intégré LabView Contrôle de Cartes d acquisition multi-fonctions Instruments Virtuels Contrôle d instruments réels [traité en S3] Carte d acquisition multi-fonctions Concept 1 : Chaîne d instrumentation Logiciels de traitement Bus Capteurs Conditionneurs Carte Grandeurs analogiques Tensions Analogiques ou TTL Signaux numériques Fichiers numériques Contrôle de la carte d acquisition multifonctions en 3 temps 1. Comprendre le fonctionnement de la carte 2. Programmer une tâche sous MAX 3. Acquérir les données sous labview en précisant la tâche et le type de donnée

4 Formerly known as PCI-MIO-16E-4 Included NI-DAQmx driver software NIST-traceable calibration certificate Two 12-bit analog outputs; 8 digital I/O lines; two 24-bit counters; Fonctionnement de la carte NI 6040E Analog triggering 4 Analog Input Characteristics Number of channels: 16 single-ended or 8 differential (software-selectable per channel) Type of A/D convert.: Successive approximation Resolution... 12 bits, 1 in 4,096 Maximum sampling rate Single-channel scanning... 500 ks/s Multiple-channel scanning... 250 ks/s 4 Input signal ranges Input coupling...dc Maximum working voltage

Measurement and Automation explorer : créer les tâches

Utilisation sous labview en DAQmx Composant polymorphique Un composant :plusieurs types de sortie DAQmx_Lire 4 entrée de tâche/voies est le nom de la tâche ou une liste de voies virtuelles auxquelles s'applique l'opération. Si vous fournissez une liste des voies virtuelles, NI-DAQmx crée automatiquement une tâche. 4 timeout spécifie la durée en secondes pour écrire tous les échantillons. Si la durée allouée est écoulée, le VI renvoie une erreur. La valeur par défaut est 10 secondes. Si timeout à -1, le VI attend indéfiniment. Si timeout à 0, le VI essaie une fois de lire les échantillons demandés et renvoie une erreur s'il n'y arrive pas. 4 entrée d'erreur décrit les conditions d'erreur qui ont lieu avant l'exécution de ce VI ou de cette fonction.. 4 sortie de tâche est une référence à la tâche une fois que ce VI ou cette fonction s'exécute. Si vous avez câblé une voie ou une liste de voies à entrée de tâche/voies, NI-DAQmx crée automatiquement cette tâche. 4 données renvoie un échantillon. NI-DAQmx met les données à l'échelle des unités de mesure, en tenant compte, le cas échéant, de la mise à l'échelle personnalisée que vous appliquez aux voies. Utilisez le VI DAQmx - Créer une voie virtuelle ou l'assistant DAQ pour spécifier ces unités. 4 sortie d'erreur contient des informations concernant les erreurs. Si entrée d'erreur indique qu'une erreur s'est produite avant l'exécution de ce VI ou de cette fonction, sortie d'erreur contient les mêmes informations sur l'erreur. Sinon, sortie d'erreur décrit l'état d'erreur produit par ce VI ou cette fonction. 1. Définir le type de sortie. 2. Sélectionner une tâche en entrée qui précise sur quelle carte et sur quelle voie sont le données et qui soit conforme au type de sortie. Le plus simple est de câbler une constante ou une commande et de sélectionner avec le doigt la tâche appropriée.