Programmation graphique des applications de contrôle-commande

Dimension: px
Commencer à balayer dès la page:

Download "Programmation graphique des applications de contrôle-commande"

Transcription

1 Programmation graphique des applications de contrôle-commande par Francis COTTET Professeur d Université LISI/ENSMA et Patrick RENARD Directeur de la communication National Instruments France 1. Généralités... S Applications de contrôle-commande Conception et programmation des applications de contrôle-commande Programmation graphique en contrôle-commande Langage graphique G Programmation graphique flot de données Environnement de développement en langage G : LabVIEW LabVIEW et le contrôle-commande de procédés Langage graphique G : développements spécifiques et exemples industriels BridgeVIEW : un environnement de développement orienté supervision GrafcetVIEW : un langage orienté modèle Langage G pour la vision industrielle Exemples industriels Pour en savoir plus... Doc S U ne application de contrôle-commande peut être définie comme un système informatique qui réalise l acquisition de données par l intermédiaire de capteurs et élabore des commandes envoyées au procédé physique grâce à des actionneurs. Présentes dans tous les secteurs industriels, ces applications nécessitent un développement rapide, de qualité et fiable. Habituellement réalisées à partir de langages de bas niveau (assembleurs) ou classiques (C, etc.), la programmation des systèmes informatiques destinés au pilotage de procédés physiques a été bouleversée par l arrivée de langages graphiques plus simples, plus intuitifs et plus puissants d un point de vue des bibliothèques disponibles. Les ingénieurs ou techniciens, chargés de réaliser ces applications, ont généralement une formation ou une expérience basées plus sur les domaines de l automatique ou de l informatique industrielle que sur la programmation. De plus, ils utilisent fréquemment des méthodes graphiques de conception orientées vers les schémas blocs ou l association de blocs fonctionnels comme le GRAFCET ou la méthode d analyse SA-RT. Ainsi un langage de programmation graphique, fondé sur des transferts de données entre des nœuds fonctionnels, correspond parfaitement au contexte de travail des utilisateurs de ce domaine du contrôle-commande. Le langage de programmation graphique G, utilisé dans l environnement LabVIEW, possède toutes ces caractéristiques : expression intuitive, édition graphique, diagramme flot de données, développement de grande qualité d un point de vue génie logiciel... De plus, ce langage permet de Techniques de l Ingénieur, traité Informatique industrielle S

2 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE répondre à des applications de plus en plus larges en utilisant des bibliothèques spécifiques très nombreuses : traitement du signal, automatique, traitement statistique, logiciels de gestion des cartes d entrées/sorties, logiciels de gestion des réseaux locaux ou industriels, etc. 1. Généralités 1.1 Applications de contrôle-commande Caractéristiques des applications de contrôle-commande Les applications de contrôle-commande concernent les systèmes informatiques destinés au pilotage de procédés physiques. Ces systèmes fonctionnent souvent en ligne (on line) avec le procédé contrôlé. Dans ce contexte particulier d interaction avec le monde extérieur, l informatique de contrôle-commande de procédé doit satisfaire à des exigences nouvelles comme : le respect de contraintes temporelles adaptées au procédé piloté ; la gestion d une grande diversité de dispositifs d entrées/ sorties : procédés continus (entrées/sorties de type continu ou analogique), procédés discrets (entrées/sorties de type numérique) : systèmes à événements discrets, procédés mixtes ; le respect des propriétés de la sûreté de fonctionnement, en particulier : fiabilité (continuité de service), sécurité (garantie de la non occurrence de défaillances) ; la prise en compte de comportements concurrents (parallélisme de l environnement). Une définition de ces systèmes de contrôle-commande pourrait être la suivante : «un système informatique de contrôlecommande reçoit des informations sur l état du procédé extérieur, traite ces données et, en fonction du résultat, évalue une décision qui agit sur cet environnement extérieur dans de sévères contraintes de temps afin d assurer un état stable». La notion d état stable est liée à la vitesse de réaction du procédé contrôlé. Selon les applications, la dynamique du procédé peut être très différente : de l ordre de la milliseconde ou inférieure : systèmes radar, systèmes vocaux, systèmes de mesures physiques ; de l ordre de la seconde : systèmes de visualisation (interface homme-machine) ; de l ordre de la minute : chaîne de fabrication ; de l ordre de l heure : contrôle de réactions chimiques Développement des applications de contrôle-commande L informatique de contrôle de procédés diffère fondamentalement des systèmes informatiques classiques et conduit à la mise en œuvre de méthodes et de techniques appropriées. En particulier, la réalisation de telles applications nécessite de conduire simultanément le développement de la partie matérielle (ordinateur, cartes d entrées/sorties, etc.) et de la partie logicielle (gestionnaire de cartes, logiciel de pilotage, interface homme-machine, etc.). Le matériel, utilisé dans ce type d applications, peut être très divers selon les caractéristiques opérationnelles de l application. Ce matériel peut être une simple carte, construite autour d un microcontrôleur, pour gérer des applications de petite taille : compteur électrique industriel, caméra vidéo, radiotéléphone, appareils électroménager, etc. Mais il peut être constitué aussi de plusieurs microordinateurs reliés par un réseau de type bus de terrain pour des applications de grande taille ou, plus classiquement, par un simple micro-ordinateur pour toutes les autres applications. Nous pouvons noter que les systèmes, constitués de plusieurs micro-ordinateurs en réseau, le sont pour les trois principales raisons suivantes : application formée de multiples équipements (exemple : chaîne de fabrication) ; application nécessitant un haut niveau de sûreté de fonctionnement en utilisant de la redondance matérielle ; application requérant une capacité de traitement important (traitement de signaux). Il est aussi important de noter que beaucoup d applications de contrôle-commande ont été et sont encore réalisées à l aide d automates programmables industriels (API). Ces API présentent de nombreux avantages dans le contexte industriel, en particulier celui de la sûreté de fonctionnement avec la notion d arrêt d urgence et reprise après arrêt. Mais l amélioration constante des micro-ordinateurs de type industriel, associés à des langages de programmation spécifiques, amène à les utiliser pour des applications identiques avec les multiples avantages qu ils offrent au niveau de la conception et de la réalisation du logiciel de pilotage (facilité, réutilisabilité, lisibilité, etc.). Au niveau de l architecture logicielle d applications de contrôle-commande, nous pouvons distinguer cinq grandes parties (cf. figure 1) : le traitement des données internes à l application : analyse spectrale, loi de commande, etc ; les relations avec le procédé à piloter au travers des capteurs/ actionneurs et des cartes d entrées/sorties : mesures dans le sens procédé-système de pilotage, et commandes dans le sens système de pilotage-procédé ; la gestion de l interface vers l opérateur avec la visualisation des données et l entrée des consignes ; la relation avec le réseau : réseau local ou bus de terrain ; la liaison vers une unité de stockage de masse pour la sauvegarde des données. Ainsi, dans le cas général, le logiciel d une application de contrôlecommande remplit successivement les trois fonctionnalités notées sur la figure Conception et programmation des applications de contrôle-commande Méthodes utilisées en conception Concevoir un système de contrôle-commande est un exercice difficile. En effet, la complexité et la diversité des éléments qui composent ces systèmes ne facilitent pas la description simple de leur fonctionnement. Par conséquent, une démarche méthodologique rigoureuse doit être suivie. Elle doit permettre d obtenir une des- S Techniques de l Ingénieur, traité Informatique industrielle

3 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE Consignes Visualisation Opérateur Figure 1 Architecture logicielle d une application de contrôle-commande d un procédé industriel Mesures Consignes Acquisition de données Interface hommemachine Récupération Réseau Liaison réseau Traitements des données Liaison stockage Sauvegarde Unité de stockage Analyse et traitement de données Application contrôlecommande Interface entrées/ sorties Restitution de données Mesures Commandes Procédé Commandes Visualisation Figure 2 Fonctionnalités d une application de contrôle-commande cription structurelle, fonctionnelle et comportementale de l application. Les diverses méthodes existantes, utilisées pour l analyse et la conception des applications industrielles, peuvent être classées selon les quatre catégories suivantes. Approche par les données : ces méthodes s intéressent principalement aux aspects structurels et informationnels du système étudié. Elles permettent d identifier les entités qui le constituent et décrivent leurs relations ainsi que les traitements qui s y rapportent. Nous pouvons citer le modèle entité-association et la méthode MERISE (méthodes d études et de réalisation informatique pour les systèmes d entreprise) [1]. Ces méthodes sont les moins utilisées dans le domaine des applications de pilotage de procédé car elles ne proposent pas de solution concernant la description de son aspect comportemental. Approche états/transitions : ces méthodes modélisent bien l aspect dynamique du système étudié. Elles s articulent autour du concept des états du système, définis par un ensemble de données, qui conditionnent l activation de transitions. Nous pouvons citer les automates à états finis, les réseaux de Petri [2], les StateCharts [3] et le GRAFCET (norme NF C ). Approche par les traitements : ces méthodes sont issues du génie logiciel et modélisent les processus de génération, modification ou consommation de données. Ainsi nous avons la méthode d analyse SA (Structured Analysis) [4] qui permet de décomposer le processus global du système en sous-processus reliés entre eux par des échanges de données. La méthode SA-RT (Structured Analysis- Real time) [5] ajoute à la méthode précédente l aspect comportemental avec la notion d activation des processus de traitement. Cette méthode d analyse peut être couplée à une méthode de conception telle que DARTS (Design Approach for Real-Time Systems) [6]. Méthodes orientées objet : pour ne pas privilégier une approche par les données ou les traitements, ces méthodes regroupent données et traitements au sein d un même module, appelé objet. Cet objet est une entité autonome munie d une structure de données et de comportements définis par l exécution de méthodes. Nous pouvons citer la méthode HOOD (Hierarchical Object Oriented Design) [7] qui est très utilisée dans les développements d applications spatiales européennes. La méthode de conception actuellement la plus utilisée dans le domaine des applications de contrôle-commande de taille moyenne est celle basée sur le GRAFCET. Le GRAFCET (graphe fonctionnel de commande étape transition), également appelé «diagramme fonctionnel en séquence» (CEI/IEC 848), est destiné à représenter des automatismes logiques (ou discrets), c est-à-dire des systèmes à événements discrets dans lesquels les informations sont booléennes (tout ou rien) ou peuvent s y ramener (exemple de la comparaison d une pression avec un seuil). Il est destiné à être un moyen de communication entre l automaticien et son client pour la rédaction du cahier des charges d un automatisme. Le point fort du GRAFCET est la facilité de passer du modèle, obtenu à la conception, à l implantation technologique. Le GRAFCET passe alors du langage de spécification au langage d implémentation utilisé pour la réalisation de l automatisme. Ainsi des outils industriels (CADEPA / Famic- Eurilor, AUTOMGEN/IRAI, GrafcetVIEW, cf. 3.2) permettent d obtenir directement à partir du GRAFCET le code de l application (en langage C ou autre) à envoyer à un automate programmable industriel ou à un ordinateur Programmation des applications de contrôle-commande Comme pour tous les systèmes informatiques, le choix du langage de programmation va dépendre de la taille et de la complexité de l application mais aussi des matériels et capacités internes à l entreprise. Étant donné les fonctionnalités requises par ce type d applications, le langage doit supporter les différents services suivants : acquisition et restitution de données : contrôle de cartes d entrées/sorties analogiques ou numériques, contrôle d instruments par l intermédiaire de liaisons normalisées : GPIB, RS-232, VXI, etc., liaison réseau (par exemple TCP/IP), base de données... ; traitement de données : traitement numérique des signaux (FFT, corrélation, filtrage, fenêtrage...), traitement statistique des signaux (moyenne, écart type, régression, lissage...), traitement d images (extraction de contour...), élaboration de lois de commande (par exemple, régulation PID), maîtrise statistique du procédé (par exemple, analyse de Pareto) ; présentation des données : interface graphique et interactive, représentation de courbes 2D et 3D, représentation d images, stockage des données (impression, archivage...), génération de documents..., distribution sur réseau (Internet, Intranet...). Techniques de l Ingénieur, traité Informatique industrielle S

4 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE Degré de sophistication des outils Langages spécifiques (LabVIEW,...) Langages de haut niveau adapté (Ada, Visual C++) Langages évolués avec bibliothèques spécifiques (C, C++,...) Assembleur Étant donné l ensemble de ces fonctions, il est très difficile de trouver un langage qui offre toutes ces composantes à la fois. Aussi, ce type d applications est réalisé grâce à l association de plusieurs langages et/ou de bibliothèques de programmes spécialisées (traitement de signaux, traitement d images, lois de commande, etc.) (figure 3). Il est très courant par exemple de réaliser les gestionnaires d interfaces (drivers) à l aide d un langage de bas niveau comme un assembleur, de concevoir des interfaces hommemachine avec des langages ou bibliothèques appropriés (Visual Basic, Visual C++, Tcl-Tk, Motif ). À l heure actuelle, une grande majorité de ces applications sont réalisées à l aide des langages C ou C++ qui sont associés à des bibliothèques spécifiques. Toutefois, pour des applications de grande taille, il est souvent préféré un langage plus structuré et plus «propre» comme Ada. En 1998, plus de 700 projets d applications de contrôle-commande, implémentés en Ada, sont en cours. D autres langages sont également disponibles pour ces applications comme LabVIEW (National Instruments), MatLab /Simulink (The Mathworks). Leur essor est lié à l environnement de programmation offert avec un ensemble de fonctionnalités adapté à ce domaine ou à des domaines connexes comme celui de la mesure. Le langage LabVIEW, qui est détaillé dans la suite de cet article ( 2.2 et 2.3), doit en particulier son développement à une programmation naturelle de type blocs fonctionnels très utilisé dans ce domaine. Il est intéressant de noter que la normalisation internationale (CEI/ IEC ), concernant les langages de programmation des automates programmables industriels, définit un langage de conception, le GRAFCET (SFC : Sequential Function Chart aux États-Unis), et quatre langages d implémentation dont deux graphiques : les diagrammes à relais (LD : Ladder Diagram) et les blocs fonctionnels (FDB : Function Block Diagram). 1.3 Programmation graphique en contrôle-commande Degré de complexité de l'application Figure 3 Différents groupes de langages utilisés pour la programmation des applications de contrôle-commande des procédés Programmation textuelle et programmation graphique Le terme de langage de programmation graphique est employé ici pour les langages, ou environnements de développement, pour lequel le programme est décrit de manière graphique et non pour désigner des environnements de développement permettant de définir des interfaces utilisateurs (par exemple Visual Basic). La programmation à l aide d un langage graphique est relativement récente. Les langages de programmation textuels conventionnels impliquent un mode de conception séquentiel contraint par l architecture même de la machine, l exemple le plus simple étant l assembleur puisqu il reflète l architecture du processeur. La possibilité de dessiner un diagramme ou le contrôle-commande d un processus permet au concepteur d exprimer ses idées d une manière plus intuitive et plus naturelle. L esprit humain perçoit et comprend les concepts compliqués plus rapidement lorsque ceux-ci sont représentés graphiquement. À cet égard, la représentation textuelle est moins performante puisqu elle ne permet qu une représentation séquentielle de l information. D ailleurs, les efforts mis en œuvre pour rendre un texte plus rapidement compréhensible repose sur des moyens graphiques, tels que le surlignage, les italiques, les caractères gras, la couleur ou l indentation d un texte. Lorsque des objets peuvent être manipulés, la communication homme-machine est grandement facilitée, ce qui a conduit par exemple au développement des systèmes d exploitation graphiques (MacOS ou Windows ). Les personnes ont tendance à dessiner des schémas pour expliquer le fonctionnement de mécanismes, de circuits, etc. Nous retrouvons alors la représentation naturelle de conception sous forme de «blocs fonctionnels» d une application de contrôle-commande. Le but de la programmation graphique est donc de faciliter la mise en œuvre d applications informatiques. On peut dégager les avantages suivants : la facilité d utilisation par les non-programmeurs : les images sont en général préférées aux mots, la programmation devient alors plus intuitive ; la sémantique des images est plus puissante que celle des mots (davantage de signification dans une unité d expression plus concise) ; les images ne sont pas sujettes aux barrières des langues. Il est évident que toute méthode à ses inconvénients. Ainsi les principaux problèmes liés à la programmation graphique sont les suivants : difficulté de visualisation pour les programmes de taille importante d où la nécessité d une architecture modulaire et hiérarchique ; ambiguïté dans l interprétation des graphismes ; difficulté de réalisation d environnement de développement efficace (éditeurs, outil de mise au point, outil de test...) Classification des langages graphiques Les langages de programmation peuvent être classés selon la manière de programmer, soit : la programmation impérative : elle consiste à exprimer une suite de commandes ou instructions qui s exécutent dans un ordre précis. C est le paradigme le plus couramment utilisé par les langages textuels ; la programmation déclarative : le programmeur ne décrit pas la structure de contrôle d exécution car le séquencement des actions qui constituent l algorithme est préexistant. L utilisateur fournit seulement à celui-ci des informations sur les objets qu il doit traiter et les relations entre objets qu il doit prendre en compte lors de son exécution. On distingue alors : la programmation fonctionnelle : un programme est un ensemble de fonctions. En général, les diagrammes flots de données sont utilisés pour leur représentation graphique, la programmation logique : ces langages sont basés sur le calcul logique et le principe de résolution. Les langages graphiques utilisant ce paradigme sont souvent de style tableur. Le tableau 1 illustre cette classification à l aide d exemples de langages commercialisés : (0) S Techniques de l Ingénieur, traité Informatique industrielle

5 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE Tableau 1 Classification des langages graphiques Type de programmation Impératif Déclaratif Programmation flot de données La représentation graphique d un programme peut être basée sur deux formalismes déterminant le mode d exécution du programme : flot de données ou flot de contrôle [8]. Les représentations orientées flot de contrôle ont longtemps été utilisées pour décrire des algorithmes (avant même l apparition des premiers ordinateurs). Ces représentations décrivent les programmes comme étant des nœuds de calcul connectés par des arcs spécifiant quel calcul doit être effectué ensuite : les réseaux de Petri ou le GRAFCET sont, par exemple, basés sur ce modèle. Au contraire, dans les graphes flots de données, ce sont les données qui dirigent l exécution du programme, fonction analogue à la propagation du signal à travers un circuit électronique. Bien qu il existe des langages flot de données textuels tels que LUSTRE [9], SIGNAL en partie [10] ou bien encore Lucid [11], nous nous intéressons dans la suite de cet article à la représentation graphique de programmes dont l exécution est basée sur le flot de données. Un diagramme flot de données permet de décrire un programme de manière graphique, constitué des nœuds de calculs interconnectés par des arcs spécifiant le flot des données transitant entre les nœuds producteurs de données et les nœuds consommateurs de données [12] [13]. Le diagramme flot de données est un graphe acyclique qui peut être composé des trois éléments différents suivants (figure 4). des terminaux qui sont les liens avec l extérieur qui représentent la production et la consommation de données ; des nœuds qui sont les traitements à effectuer et qui sont représentés par une figure géométrique pouvant contenir une image illustrant leur fonctionnalité. Ils possèdent des connexions d entrée et des connexions de sortie ; des arcs orientés qui relient nœuds et terminaux et permettent d indiquer le passage de données d un nœud vers un autre. Un arc orienté peut se séparer en plusieurs arcs (duplication des données) ; par contre, des arcs orientés ne peuvent pas se regrouper (convergence interdite). Terminal d'entrée a x b Fonctionnel Logique Nœud Exemples de langages graphiques Layout (Objects Inc.) LabVIEW (National Instruments) HP-Vee (Hewlett Packard) Prograph CPX (Pictorius Incorporated) Visual Designer (Intelligent Instrumentation) Spreadsheet 2000 (Emergent Behavior) Arc orienté Terminal de sortie Figure 4 Diagramme flot de données représentant le calcul de l équation y = ax + bx 2 y i j k Figure 5 Encapsulation du diagramme flot de données représentant le calcul de l équation m = ik + jk 2 explicité dans la figure 4 Il est possible de représenter les données transitant sur les arcs par des jetons. La production et la consommation des jetons dans le diagramme flot de données est régie par des règles d évolution. Ces règles sont les suivantes : lors de l initialisation, chaque terminal d entrée produit un jeton sur son arc de sortie ; lorsqu un nœud possède un jeton sur chacun de ses arcs d entrée, alors le nœud peut être exécuté : chaque jeton d entrée est alors consommé et un jeton est produit sur chacun des arcs de sortie du nœud. De ces règles, on déduit que plusieurs nœuds peuvent être exécutés simultanément. Exemple : dans le diagramme flot de données de la figure 4, les deux premiers nœuds «*» peuvent être exécutés en même temps en consommant les données a, b et deux fois la donnée x. La programmation flot de données intègre donc implicitement la notion de parallélisme. Ensuite le troisième nœud «*» peut s exécuter et enfin le dernier nœud «+» est exécuté en produisant la donnée y. Un diagramme flot de données peut être encapsulé afin d être réutilisé, en tant que nœud ou «macronœud», par d autres diagrammes flots de données. Les terminaux du diagramme deviennent alors les connexions d entrées/sorties de ce nouveau nœud. Ce mécanisme d encapsulation est un mécanisme d abstraction, bien connu du génie logiciel : il permet de présenter des fonctionnalités sans décrire leur fonctionnement interne. La figure 5 montre ce mécanisme pour le diagramme flot de données de la figure 4. Formellement, cette encapsulation revient à donner un nom à un diagramme flot de données. Une fois encapsulées, les variables internes au nœud ne sont plus visibles de l extérieur Langages flot de données graphiques existants De nombreux environnements professionnels de programmation graphique utilisent le formalisme flot de données dans les domaines de la mesure ou du contrôle-commande, comme LabVIEW (National Instruments), HP-Vee (Hewlett Packard), Visual Designer (Intelligent Instrumentation), DASYLab (DATALOG), Prograph CPX (Pictorius) ou bien TestPoint (Keithley). LabVIEW (National Instruments) : c est le premier et le plus avancé de ces environnements car il est utilisé dans le domaine de l instrumentation, de l acquisition de données et du traitement du signal depuis C est également l environnement flot de données permettant le plus large éventail de moyens de communication avec le monde extérieur : cartes d acquisitions analogiques et numériques, bus GPIB, liaisons séries, réseaux, bus de terrains, commandes d axes, acquisition d images, etc. C est donc cet environnement que nous prendrons comme exemple et que nous décrirons de façon détaillée dans la suite de cet article ( 2.2 et 2.3). HP-Vee (Hewlett Packard) : cet environnement, essentiellement adapté au test et à la mesure, intègre tous les outils de base de ce m Techniques de l Ingénieur, traité Informatique industrielle S

6 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE type de langage : création d interfaces opérateurs très complètes et efficaces, visualisation des données et contrôle d instruments au travers des interfaces GPIB, VXI, RS-232, etc. La programmation graphique flot de données est complète au sens langage de programmation sans toutefois donner une large place au graphisme, l aspect textuel étant encore fortement présent : ce langage ressemble à des organigrammes. Il est à noter quelques fonctions intéressantes comme le routage automatique des flots de données. Il est important de remarquer la disponibilité d outils d exécution de test, de mise au point et d aide en ligne, indispensables dans ce domaine. Il est actuellement disponible sur trois plates-formes : PC (Windows) et station de travail (HP-UX et Solaris). Visual Designer (Intelligent Instrumentation) : cet outil n est pas réellement un langage de programmation, mais plutôt un environnement de développement d application décrite sous la forme de blocs fonctionnels. Un ensemble de blocs fonctionnels de base est fourni, mais l utilisateur peut et en général doit en ajouter en programmant en C++. Cet environnement est actuellement disponible sur plates-formes PC (Windows). DASYLab (DATALOG) : cet environnement est plus particulièrement destiné aux applications d acquisition de données. Le logiciel utilise le principe de flot de données et d icônes graphique pour permettre au développeur de réaliser son application de manière très simple, mais il ne s agit pas d un langage complet de programmation, ce qui limite naturellement la complexité des applications. L utilisateur dispose de fonctions d acquisition, de contrôle, d analyse et de visualisation de données, sous forme d icônes qu il connecte dans un diagramme schématique. Les fonctions incluent les entrées analogiques, les sorties analogiques, les déclenchements, les entrées/sorties numériques, la génération de fonctions, le filtrage numérique, l analyse de spectre et les opérations mathématiques, statistiques et logiques. L utilisateur peut afficher les résultats de son acquisition au travers de graphes très divers. L utilisateur peut aussi utiliser des vu-mètres et des voyants. DASYLab offre une fonctionnalité intéressante pour les applications de supervision : le développeur peut créer des pages d écrans animées. Ces écrans peuvent être activés en fonction des conditions instantanées du processus sous contrôle. Des pages peuvent également être imprimées en fonction d événements prédéterminés. L acquisition de données et leur visualisation sont limitées respectivement à 1 MHz et 250 khz, ce qui est suffisant pour la plupart des applications de contrôle-commande de process. Pour plus de puissance et d ouverture, notamment lorsque l utilisateur doit piloter des instruments, un système de vision ou encore exploiter Internet, il est techniquement possible de migrer les applications DASYLab vers LabVIEW, à l aide d un kit spécial. Prograph CPX (Pictorius) : cet environnement de développement se rapproche plus d un langage généraliste orienté objet comme Visual C++, mais avec une programmation graphique (disponible sur plate-forme Apple, MacOS). TestPoint (Keithley) : cet environnement de programmation, dédié à l acquisition de données, peut être qualifié de visuel plutôt que de graphique. En effet, le graphisme est lié à l interface utilisateur et aux bibliothèques d objets de base, mais la création du programme est textuel (disponible sur PC, Windows). 2. Langage graphique G Le modèle flot de données pur est trop simple pour être utilisé en tant que langage de programmation. En particulier ce type de flot de données souffre du manque de structures conditionnelles et de structures itératives. Une des solutions choisies est d étendre le flot de données pur en conservant les règles d évolution et d acyclicité vues dans le chapitre précédent (cf ) tout en y incorporant les bénéfices de la programmation structurée. Cela a été fait dans le cadre du langage G [8] [14] [15]. 2.1 Programmation graphique flot de données Éléments du langage G Structures de données Le langage G est un langage fortement typé et toutes données ou structures de données ne peuvent être manipulées qu avec des fonctions admettant ce type. Dans le langage G, on trouve les types de base scalaire : les types entiers (signés ou non, codés sur 8, 16 ou 32 bits), le type réel (codé sur 16, 32 ou 64 bits), le type booléen et le type chaîne de caractères (figure 6). Il est important de noter que les éléments représentant ces données, ainsi que les liaisons issues de ces éléments, sont de forme et de couleur différente. Le langage permet aussi de créer des structures de données plus élaborées (figure 6) : le type tableau (structure de données homogènes) : les tableaux peuvent avoir un nombre quelconque de dimensions. La représentation permet également de les différencier suivant leur type et leur dimension ; le type «cluster» (structure de données hétérogènes) : ce second constructeur de type est l équivalent du «record» en Ada ou du «struct» en C. Les différents composants ou champs de ce groupe de données (cluster) peuvent être assemblés ou récupérés par des fonctions spécifiques (figure 7) Structures de programmation Le langage flot de données pur a été enrichi de quatre types de structures : la séquence, deux structures d itération (la boucle «Pour» avec un nombre d itérations fixé et la boucle «Tant Que» avec un nombre d itérations soumis à condition) et la structure de choix. Entiers (bleu) Réels (orange) Booléen (vert) Chaîne de caractères (rose) Matrice de réels codés sur 16 bits Cluster DBL double SGL single I integer TF true false Figure 6 Différents types de structures de données du langage G Numéro du capteur Type de thermocouple Valeur mesurée Assemblage de données Numéro du capteur Type de thermocouple Valeur mesurée Récupération de données Mesures température Cluster Numéro du capteur Type de thermocouple Valeur mesurée Figure 7 Exemple de manipulation des données avec le type cluster : assemblage de la structure (trois champs) et récupération des trois composants du cluster S Techniques de l Ingénieur, traité Informatique industrielle

7 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE La structure de «séquence» permet de spécifier l ordre d exécution de flots de données indépendants qui, sinon, s exécuteraient en même temps étant donné le parallélisme implicite du langage. Cette structure se présente sous la forme d un cadre et a le statut d un nœud. Des connexions d entrées ou de sorties à ce nœud, appelés tunnels, sont automatiquement créées lorsque des arcs arrivent ou sortent de cette structure. L identifiant du cas représenté est indiqué en haut de la structure. Par contre, cette structure ne permet de représenter à l écran qu un cas à la fois, les autres parties étant cachées en arrière-plan. Exemple : sur la figure 8, l utilisation de la séquence s impose : il s agit d initialiser un port série puis d envoyer une chaîne de caractères. Le premier flot de données risque de provoquer des erreurs car rien n empêche le nœud d écriture sur le port série de s exécuter avant le nœud d initialisation de ce port : l utilisation de la séquence permet d ordonner (de séquencer) correctement les opérations. Nombre de mesures Indice d'itération Nombre d'itérations Lecture température Période d'acquisition Mesures Figure 9 Exemple d utilisation de la structure itérative «Pour» Les deux structures itératives, la boucle «Pour» et la boucle «Tant que», ont aussi le statut d un nœud ordinaire. La boucle «Pour» permet d exprimer la répétition (ou itération) pour un nombre de fois prédéterminé défini par une connexion d entrée obligatoire : le nombre d itérations à effectuer N. À l intérieur de la boucle «Pour» se trouve un terminal d entrée local générant l entier indiquant l indice d itération de la boucle (i varie de 0 à N 1). Lecture température Mesures Exemple : l utilisation de cette structure, présentée sur la figure 9, concerne l acquisition de N mesures avec un temps fixe entre chacune, défini par un nœud de temporisation (cf ). Les N données de sortie sont assemblées pour former un vecteur avec une autoindexation. La boucle «Tant Que» permet d exprimer la répétition pour un nombre de fois non connu à l avance. À l intérieur de la boucle «Tant Que» se trouve un terminal d entrée local générant l entier indiquant l indice d itération de la boucle. Un terminal de sortie de type booléen permet d arrêter la boucle lorsque la valeur «False» lui est envoyée. Exemple : l utilisation précédente décrite sur la figure 9, est reprise avec cette structure «Tant Que» en arrêtant l acquisition pour une valeur trop grande de la mesure (figure 10). Numéro voie Initialisation du port série Numéro voie 5 5 Début_Acquisition Architecture incorrecte Architecture correcte Envoi d'un message Début_Acquisition Figure 8 Exemple d utilisation de la structure de «séquence» Indice d'itération 500,00 Période d'acquisition Condition d'arrêt Figure 10 Exemple d utilisation de la structure itérative «Tant que» Dans les deux cas de structure itérative lorsque des tableaux de données arrivent ou partent des tunnels, ceux-ci ont la possibilité d être automatiquement indexés : récupération un par un des éléments du tableau ou concaténation pour créer un tableau. Dans le cas des deux structures, il est possible de mémoriser des résultats produits lors d itérations antérieures et de les récupérer ensuite. Ces registres à décalage sont des variables locales à une boucle. Exemple : la figure 11 présente une utilisation de ces registres à décalage dans le cas de la boucle «Pour». Il est important de remarquer que ces registres à décalage constituent un des effets de bord du langage. Il est de plus nécessaire d initialiser ces mémoires locales pour réaliser une utilisation contrôlée et cohérente. La dernière structure nécessaire est celle qui va permettre d exprimer l alternative (le choix). La sélection du cas exécuté est faite par la valeur de la variable connectée à l entrée représentée par un point d interrogation (figure 12). L identifiant du cas représenté est indiqué en haut de la structure. Comme pour la structure séquence, il n est possible de visualiser qu un seul cas à la fois Variables locales et globales Pour faciliter la mise en place de la fonction de mémorisation de données, autrement qu avec les registres à décalage des structures itératives, il a été ajouté au langage G deux types d unités de stockage pur : les variables globales et les variables locales. Une variable globale peut être considérée comme une entité possédant un point d entrée/sortie dont la visibilité est totale. Cette Techniques de l Ingénieur, traité Informatique industrielle S

8 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE Nombre mesures Registres à décalages Boucle de mesures 200 Initialisation 4 Température Boucle de commande Écriture Variable globale Lecture Figure 11 Exemple d utilisation des registres à décalage dans une boucle «Pour» : calcul d une moyenne glissante sur quatre valeurs Figure 13 Exemple d utilisation d une variable globale, donnée partagée de type scalaire réel entre deux boucles de pilotage d un procédé Température Choix unité Conversion en Fahrenheit False Température en centigrade Événements Les événements (ou occurrences) ont été introduits dans le langage G afin d éviter de faire de l attente active d état de variables, c est-à-dire de la scrutation (polling). Ces entités sont l équivalent des interruptions et de leur routine de traitement dans les systèmes d exploitation. Trois fonctions de manipulation des événements sont proposées : «Création d un événement» pour créer un événement unique ; «Signaler un événement» pour générer un événement, c est l équivalent d une interruption ; «Attendre un événement» pour se mettre en attente d un événement. Exemple : la figure 14 présente un exemple d utilisation des événements pour gérer une procédure d alarme en cas de dépassement d une valeur de consigne. Figure 12 Exemple d utilisation de la structure de choix : choix de l unité de la température mesurée, conversion ou non de la température en degré Fahrenheit variable globale va contenir un ensemble de données qui peuvent être de type différent, chacune de ces données étant accessible en écriture ou en lecture individuellement (figure 13). Il est important de noter que d une part cette mémorisation est un effet de bord et que d autre part il y a possibilité d accès concurrents et donc de conflits d accès. Un autre inconvénient réside dans la gestion mémoire de ces variables qui peut conduire à un dépassement mémoire. Un dernier point négatif pour l utilisation de ces variables globales est le fait qu elles cachent le flot de données en supprimant le lien explicite et diminuent ainsi la lisibilité des diagrammes. Les variables locales se présentent sous la même forme que les variables globales, mais leur visibilité est limitée au nœud contenant cette variable locale. Aussi les diagrammes flots de données appelant les nœuds, créés par duplication de ce diagramme flot de données, ne peuvent pas accéder à cette variable locale Programmation en langage G Création de programmes : quelques exemples simples Le langage G possède les instructions de base d un langage de programmation permettant de traiter les différents types de données. Ainsi, nous avons des fonctions liées aux variables numériques (entiers, réels et complexes), aux variables booléennes, aux chaînes de caractères, aux tableaux (figure 15). Il est important de noter que certaines de ces fonctions sont polymorphes. Par exemple à la fonction «+», il est possible d appliquer aussi bien deux entiers que deux réels et même deux vecteurs qui seront additionnés terme à terme. Nous trouvons aussi les opérateurs de test liées à ces différents types de données (figure 16). À partir des structures de contrôle, des fonctions et des opérateurs de base, il est alors possible de traduire un algorithme quelconque et d enrichir la bibliothèque des fonctions en utilisant le mécanisme d encapsulation. Un diagramme complet est alors réduit à un nœud qui peut être ensuite réutilisé (figure 17). S Techniques de l Ingénieur, traité Informatique industrielle

9 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE Température mesurée Activation Alarme Température maximale Attente Création Événement Figure 14 Exemple d utilisation d un événement pour activer une procédure d alarme Fonctions numériques (extrait) Fonctions booléennes (extrait) Fonctions simples Fonctions de conversion entre types Fonctions trigonométriques Fonctions de traitement des tableaux (extrait) Fonctions logarithmiques Dimension Remplacement d'un élément Construction d'un tableau Fonctions pour les variables de type complexe Extraction d'un élément Extraction d'une partie du tableau Figure 15 Exemple de quelques instructions de traitement de données (icônes) du langage G Figure 16 Exemple de quelques opérateurs de test du langage G Exemples : trois programmes très simples vont permettre d illustrer les principaux aspects du langage G : résolution d équation du 2 e degré (figure 18), calcul du PPCM et du PGCD de deux nombres (figure 19), filtre numérique (figure 20) Méthodologie de développement Les langages de programmation graphique permettent à leurs utilisateurs (même non informaticiens) de développer facilement et rapidement des applications informatiques. Cependant, pour obtenir un logiciel de qualité, cette programmation doit se plier à certaines règles, celles du génie logiciel. On peut distinguer deux types de paramètres de la qualité du logiciel : les paramètres internes : modularité (finesse du découpage en modules autonomes et communicants), clarté (facilité à interpréter le code), compacité (occupation minimale d espace de travail), logique (choix d algorithmes rapides) ; les paramètres externes : validité (conformité au cahier des charges et à la spécification), fiabilité (assurer l exactitude des résultats indépendamment des conditions et du temps), extensibilité (ajout de fonctions), efficacité (utilisation optimale du matériel), portabilité (passage du code d une plate-forme à une autre). Nous allons illustrer la capacité d un langage programmation graphique, comme le langage G, à respecter les règles citées précédemment. Ainsi, prenons l exemple de quelques paramètres de qualité : la modularité : le langage G permet par sa capacité d encapsulation des fonctions (figure 17) ou des données (cluster, figure 7) de réaliser une abstraction cohérente de l application ; Techniques de l Ingénieur, traité Informatique industrielle S

10 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE Nombre de points Nombre de périodes Onde sinusoïdale Amplitude Nombre de points Amplitude Nombre de périodes n A P onde sinusoïdale ce diagramme peut ensuite être encapsulé pour être utilisé dans d'autres diagrammes Figure 17 Exemple d un diagramme permettant de générer une onde sinusoïdale caractérisée par le nombre de périodes, l amplitude et le nombre de points constituants b b Discriminant x1 c x2 a Racines réelles Solution 2a b/2a Racine réelle Racines complexes Figure 18 Exemple de la résolution d une équation du deuxième degré avec le langage G S Techniques de l Ingénieur, traité Informatique industrielle

11 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE PPCM Nombre 1 Nombre 2 PGCD Figure 19 Exemple du calcul du PGCD et du PPCM de deux nombres avec le langage G Nombre de points Valeur initiale de Y Coefficient a Y n 1 a Y n 1 Signal de sortie a b c Exemple correct a x b (a x b) + c Signal d'entrée Nombre de points Amplitude Nombre de périodes onde sinusoïdale Valeur initiale de X X n Exemple incorrect X n 1 b (X n + X n 1 ) c Coefficient b a (a x b) + c Le filtre est synthétisé selon la méthode de transformation appelée équivalence à la dérivation, soit l'équation aux différences du filtre : Y n = ay n 1 + b (X n + X n 1 ) b a x b Figure 20 Exemple de la réalisation d un filtre numérique passe-bas du premier ordre avec le langage G [16] Nombre de périodes onde sinusoïdale Nombre de points Amplitude Figure 21 Exemples d application de règles de clarté de programmation avec le langage G la clarté : dans les langages textuels, la notion de clarté est liée à l indentation, à l espacement des instructions, au nombre d instructions par lignes. Dans la perception des graphiques, l œil n est pas contraint à une discipline linéaire. L acquisition est néanmoins plus rapide car il n y a pas de traduction orale. Cependant, cette acquisition est fortement dépendante de la clarté du programme graphique. Quelques règles de présentation permettent d améliorer fortement cette «lisibilité» graphique (figure 21) : tracé des flots de données de gauche à droite, croisement de flot de données à éviter, position des entrées à gauche et des sorties à droite, icônes avec des graphismes clairs et si possible universels La mise en place de commentaires associés aux liaisons ou aux nœuds est un apport considérable pour la lisibilité du programme, même si on s écarte de la programmation purement graphique Propriétés des nœuds Des propriétés de modification ou d exécution peuvent être associées à chaque nœud d un diagramme flot de données : visibilité, pas de modification, priorités, réentrance, etc. Par exemple, la priorité, affectée à un ensemble de nœuds, permet de privilégier l exécution de certains nœuds plutôt que d autres en cas d exécution parallèle possible sur une architecture monoprocesseur. Une des propriétés la plus importante est sans doute celle de réentrance. En effet, lorsque plusieurs instances d un même nœud, encapsulant un diagramme flot de données, sont utilisées dans un diagramme, par défaut, elles ne sont pas exécutées en parallèle Techniques de l Ingénieur, traité Informatique industrielle S

12 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE même si cela est possible. Ainsi, la première instance à avoir ses entrées fournies en données s exécute. Pendant cette exécution, si une autre instance voit également ses entrées fournies en données, alors elle est mise en attente dans une file d attente (type FIFO, First In First Out) sur la fin d exécution de l instance en cours. L option de réentrance d un diagramme flot de données (DFD) permet que chaque instance de ce DFD puisse s exécuter en parallèle avec les autres. De plus, cette exécution a lieu dans un contexte propre à l instance. Cela signifie que chaque instance possède alors son propre espace de données. Face avant Programme 2.2 Environnement de développement en langage G : LabVIEW LabVIEW (Laboratory Virtual Instrument Engineering Workbench) est un environnement de développement d applications où le langage de programmation utilisé est le langage G [8] [14]. Bien que tout à fait utilisable dans un grand nombre de domaines, LabVIEW est plus particulièrement destiné à l acquisition de données, au traitement du signal et au contrôle-commande de procédé. La version LabVIEW 5, disponible sur six types de plates-formes (Apple- MacOS, PC-Windows, Sun-Unix, HP-UX, Concurrent PowerMax, Linux), permet une portabilité quasi complète des applications développées entre les différents environnements Concept d instrument virtuel LabVIEW est centré autour du principe d instrument virtuel (Virtual Instrument ou encore VI). Un instrument de mesure analogique classique peut se décomposer en deux parties : la première partie, partie interne de l instrument, est constituée des circuits électroniques de traitement et/ou d analyse des signaux (lissage, filtrage, fenêtrage, etc.) ; la seconde partie (partie visible de l instrument), appelée face avant, réalise l affichage des résultats (par exemple, un tube cathodique d un oscilloscope, ou des afficheurs digitaux d un voltmètre) et permet de changer les paramètres de l instrument (par exemple, un potentiomètre réglant l échelle de visualisation sur l écran de l oscilloscope). De la même manière, l environnement LabVIEW va créer une application sous la forme d un instrument virtuel VI de mesure composé des deux mêmes parties : la première partie (partie cachée ou interne) : algorithme du programme décrit sous la forme d un diagramme flot de données en langage G ; la seconde partie (partie visible) est constituée de l interface utilisateur. Avec LabVIEW, on peut manipuler ces instruments virtuels comme s il s agissait d instruments réels : on peut par exemple tourner un potentiomètre (virtuel puisque c est une image de potentiomètre) grâce à la souris ou bien visualiser une courbe sur une portion de l écran représentant un oscilloscope. Par extension, on appelle VI (Virtual Instrument) toute application réalisée avec Lab- VIEW. Un instrument virtuel est composé de trois parties liées : une face avant (Panel en anglais) : interface utilisateur de l application ; un diagramme (Diagram en anglais) : programme de l application ; une icône (Icon en anglais) : encapsulation de ce programme ou instrument virtuel. Ainsi lorsque l environnement LabVIEW est actif, nous nous trouvons en présence d un instrument virtuel nouveau sous la forme de deux fenêtres vierges (figure 22). Une fenêtre est dédiée à la face avant ou Panel de l application et l autre fenêtre va permettre d éditer le programme en langage G (diagramme ou Diagram). Chacune Figure 22 Fenêtres de l environnement de développement en langage G : face avant (à gauche) et programme (à droite) de ces fenêtres est composée d une barre de titre, d une barre de menus déroulants et d une barre d exécution/édition. La face avant d un instrument virtuel est l interface (ou moyen de communication) avec l utilisateur. Elle symbolise la face avant de l instrument physique. Cette fenêtre est personnalisable à souhait grâce à des objets graphiques, tels que des interrupteurs, des potentiomètres, des zones d affichage de courbes, etc. Ces objets sont disponibles au travers d une fenêtre, appelée controls, composée de sous-menus classés par type d objet (valeur numérique, booléenne, chaîne de caractères, etc.). La figure 23 montre une face avant d une application de contrôle-commande d un procédé régulé en température. À chaque objet de la face avant, et suivant sa fonctionnalité (passage de paramètres ou affichage de résultat), correspond un terminal d entrée ou un terminal de sortie dans la fenêtre de programmation (fenêtre Diagram). Le diagramme d un instrument virtuel décrit le fonctionnement interne de l instrument virtuel. C est dans le diagramme que l on édite ses programmes écrits en langage G sous forme de diagrammes flot de données étudiés dans le paragraphe 2.1. Cette édition se fait en disposant des objets provenant d une fenêtre, appelée functions, composée de sous-menus où sont classés par catégories les nœuds disponibles sous LabVIEW. La figure 24 montre le diagramme terminé correspondant à la face avant de la figure 23. La création des programmes en langage G dans la fenêtre Diagram se fait à l aide de différents outils de l environnement d édition (figure 25). Ces outils permettent de manipuler les divers objets graphiques. Deux principaux outils servent à cette programmation en langage G : l outil de selection/position (flèche), utilisé pour mettre en place les divers nœuds du programme et l outil de câblage (bobine de fil) qui sert à réaliser les liaisons entre les nœuds. Il est important de noter qu une vérification en ligne de l édition permet à chaque instant de visualiser une liaison correcte ou non avec un fil brisé dans le dernier cas Outils de mise au point La qualité d un environnement de programmation se juge souvent aux outils de mise au point. En effet, s il est relativement facile de réaliser une édition de programme correcte (niveau de vérification syntaxique), obtenir un programme juste au sens de son adéquation avec les spécifications initiales est toujours plus délicat. Comme nous l avons vu, l environnement d édition des programmes sous LabVIEW permet rapidement de vérifier que le programme est correctement «dessiné» : aucune liaison brisée, flèche d exécution disponible et fenêtre de report d erreur vide (figure 26). Mais un deuxième niveau d aide à la réalisation de programme est la vérification en exécution lorsque le programme est exempt d erreurs de type syntaxique. L environnement propose trois techniques qui peuvent être associées pour répondre à ce problème : S Techniques de l Ingénieur, traité Informatique industrielle

13 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE Figure 23 Exemple d une face avant d application développée avec l environnement LabVIEW 0,0 50 Boucle d'acquisition Analyse Limite haute Limite basse Analyse 25 Maximum Minimum Période Température moyenne Écart type 0 0,0 Acquisition Figure 24 Exemple du programme correspondant à la face avant de la figure 23 développé en langage G avec l environnement LabVIEW utilisation d un outil sonde (probe) : cet outil permet de vérifier des valeurs intermédiaires dans un diagramme flot de données. Le positionnement d une sonde sur un fil de liaison ouvre une petite fenêtre de visualisation de la donnée transportée par ce fil ; exécution pas à pas (exécution d un diagramme nœud par nœud) avec arrêt à tout instant par un mode pause. Il est possible de placer des points d arrêt pour procéder à une exécution plus rapide sur certaines parties du programme ; mode animation : grâce à ce mode, le mouvement des données dans un diagramme est visualisé par le déplacement de jetons et chaque nœud exécuté indique les valeurs des données en sortie (figure 27). La progression de l exécution du programme est ainsi simulée. Un autre outil peut être ajouté à l ensemble de ces fonctions de mise au point, c est la différenciation graphique. Cette possibilité, offerte avec la dernière version du langage LabVIEW, permet à un utilisateur de comparer deux programmes. Il peut alors aisément se rendre compte des différences entre les diagrammes. Cette fonctionnalité, déjà disponible dans le contexte des langages textuels, présente dans le cas des langages graphiques un avantage considérable car il est extrêmement difficile de comparer des graphismes par rapport à des lignes de textes. Lorsque les utilisateurs développent des applications sophistiquées ou travaillent en équipe et utilisent le contrôle de code source, l outil de différenciation graphique permet de réaliser facilement le contrôle des versions. En utilisant cet outil pour comparer deux programmes LabVIEW, l utilisateur obtient une liste des différences entre les deux programmes. En cliquant sur un point de cette liste, la différence correspondante est alors mise en surbrillance dans le programme. L utilisateur peut même choisir de ne visualiser que les différences esthétiques ou seulement les différences fonctionnelles (figure 28). Techniques de l Ingénieur, traité Informatique industrielle S

14 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE Manipulation Liaisons Point d'arrêt Menu Pop-up avant-plan sélectionner, positionner arrière-plan colorer Écriture Défilement Copier couleurs Sonde Figure 25 Boîte à outils utilisée pour l édition des programmes en langage G dans l environnement LabVIEW utilisateur, des performances globales plus élevées, la capacité de tirer avantage des machines à architecture multiprocesseurs. En réalité, aujourd hui, seules quelques applications sont réellement multithread, tout simplement parce que cette technologie est difficile à mettre en œuvre. LabVIEW intègre complètement cette technologie de façon transparente. Comme LabVIEW est un langage de programmation par flot de données, dont la structure est intrinsèquement parallèle, il est naturel pour les utilisateurs de créer un code qui peut s exécuter simultanément dans des threads séparés. L utilisateur n a pas besoin d apprendre de nouvelles techniques de programmation. Cependant, pour les experts qui veulent pouvoir contrôler précisément leurs threads et pouvoir par exemple définir des priorités d exécution, une boîte de dialogue paramétrable est à leur disposition. Contrairement aux programmeurs en langages textuels qui doivent apprendre de nouvelles méthodes de programmation pour créer une application multithread, un utilisateur LabVIEW écrit simplement son application (VI) comme il l a toujours fait (figure 29). Par exemple, le pilotage de l interface utilisateur graphique, toujours très pénalisante en terme de temps de réponse, peut être affectée à une tâche de priorité faible pour privilégier les autres tâches de traitement Langage G et applications temps réel Flèche d'exécution brisée 200 message Liaison brisée x + Figure 26 Environnement d édition des programmes en langage G permettant de vérifier en ligne la correction d un programme : erreur de câblage Multitâche (multithreading) Pour répondre aux besoins de vitesse et de fiabilité des applications sur les plates-formes de type PC, les systèmes d exploitation les plus récents (à partir de Windows NT, Windows 95 et Sun Solaris) sont multitâche ou «multithread», c est-à-dire qu ils permettent d individualiser différentes tâches («thread») à l intérieur d une même application pour autoriser leurs exécutions en parallèle. Les applications qui utilisent le multithreading présentent de nombreux avantages : une utilisation optimisée du processeur, une plus grande fiabilité du système, une meilleure réponse pour l interface 5 Certaines applications de test automatique et de contrôle-commande de processus industriel nécessitent un traitement temps réel des informations. C est le cas en particulier des applications de contrôle de moteurs avec dynamomètres, de contrôle de systèmes hydrauliques, de test de vibrations, etc. Répondre en temps réel est la capacité de répondre de façon fiable à un événement dans un laps de temps garanti. Ce laps de temps varie d une application à une autre. C est pourquoi, il n y a pas de contrainte temporelle universelle qui permette de qualifier un système de temps réel. Par exemple, lorsque l on exécute une boucle de contrôle, on doit garantir que la sortie du contrôleur répond à une sollicitation en entrée à l intérieur d un intervalle de temps spécifié, que l on appelle temps de cycle de la boucle. Si ce temps de cycle peut être garanti, le système est qualifié de déterministe ou de temps réel. Si une boucle de contrôle n est pas déterministe, alors la stabilité du système de contrôle n est pas garantie. Avec des systèmes d exploitation «classiques» comme Windows 3.1/95/98 ou MacOS, cette garantie n est pas possible. Ce qui explique que l utilisation de plus en plus répandue des PC dans l automatisation industrielle se fasse encore souvent en conjonction avec des automates programmables, qui intègrent leur propre processeur. Dans bien des cas, l automate pourrait être remplacé par une simple carte d acquisition de données, mais il présente sur celle-ci l avantage précieux de pouvoir garantir le caractère temps réel d une application. Alors qu avec une carte d acquisition de données, le programme est soumis aux aléas du système d exploitation de l ordinateur hôte. 600,00 PPCM Nombre 1 Nombre 2 30,00 20,00 30,00 20,00 PGCD les nœuds ou les fils de liaison en tireté ne sont pas encore exécutés Figure 27 Mise au point d un programme par visualisation du flot de données (mode animation) S Techniques de l Ingénieur, traité Informatique industrielle

15 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE Commentaire non pris en compte dans la différenciation Surbrillance Programme 1 Programme 2 Figure 28 Exemple de l aide à la mise au point : outil de différenciation graphique utilisé pour la comparaison de deux programmes LabVIEW ACQ INIT ACQ ACQ FINI 0.00 ANYS 0.00 SAVE INIT SAVE SAVE FINI 10 le développeur peut choisir les priorités respectives de ces opérations Figure 29 Exemple de trois tâches (acquisition, analyse et sauvegarde des données en langage G) Cependant, les utilisateurs de programmes écrits en langage graphique disposent d une alternative depuis l apparition d une version temps réel de LabVIEW («LabVIEW RT», RT : Real-Time). Celle-ci permet d utiliser des cartes d acquisition de données dites intelligentes, sur lesquelles est intégré un processeur DSP (Digital Signal Processor). Des programmes graphiques complet peuvent ainsi être instantanément embarqués sur le processeur de la carte. Une fois embarqué, LabVIEW RT s exécute directement sur la carte, en totale indépendance vis-à-vis du processeur du PC hôte. Les utilisateurs disposent ainsi d un moyen de réaliser de véritables applications temps réel, déterministes. En effet, ces applications continuent de tourner à plein régime même si la souris est déplacée ou si d autres applications tournent sous Windows, et même si ce dernier tombe en panne. Techniques de l Ingénieur, traité Informatique industrielle S

16 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE En fait, LabVIEW RT est constitué de deux éléments : le système de développement RT et le moteur RT (noyau temps réel associé aux programmes développés en langage G). Le premier est une application LabVIEW classique pour Windows NT/98/95 qui tourne sur le PC hôte. Le moteur RT tourne sur le processeur de la carte intelligente et exécute les programmes LabVIEW RT embarqués. L utilisateur peut conserver le système de développement actif, et s en servir comme interface utilisateur pour le programme LabVIEW RT embarqué. Le système de développement échange alors des messages avec le moteur RT pour mettre à jour les éléments de contrôle et les indicateurs de la face avant. Ces communications s effectuent de façon automatique et de façon transparente. Pour revenir au temps de cycle d une boucle de contrôle quelconque, c est le degré d incertitude ou de gigue («jitter») de chaque temps de cycle qui définit la nécessité de temps réel d un système. Exemple : considérons une application de régulation basée sur un PID, qui s exécute sous LabVIEW RT. Supposons que cette régulation soit effectuée à partir d une seule entrée analogique. Entre la mesure, le calcul de la commande selon le PID, puis la génération d un signal sur une sortie analogique, la gigue correspondante est d environ 10 µs, temps compatible avec la plupart des applications de régulation. Génération d'une onde sinusoïdale Génération d'une impulsion Figure 31 Exemple de quelques fonctions de génération de signaux Détection de crêtes Génération d'une rampe Génération d'un bruit blanc gaussien Filtre de Butterworth LabVIEW : bibliothèque de fonctions L environnement LabVIEW possède des bibliothèques de fonctions spécialisées dans le domaine de la mesure, du test et du contrôlecommande. Ces bibliothèques de fonctions ont été réalisées soit à partir des fonctions et opérateurs de base vus précédemment, soit directement par des programmes écrits en langage de haut niveau, compilé et ensuite intégré sous la forme d un nœud graphique. Cette dernière possibilité est aussi offerte aux utilisateurs de cet environnement LabVIEW par l intermédiaire de la construction de nœuds particuliers appelés «nœud d interface vers code» (CIN : Code Interface Node). L utilisation de ces fonctions qui peuvent être assez complexes est facilitée par une aide en ligne qui donne pour chaque fonction une description sommaire, mais souvent suffisante de ses spécifications (figure 30). Dans l ensemble des bibliothèques fournies, nous pouvons en citer quelques-unes qui sont parmi les plus importantes pour le domaine de l analyse du signal : cette bibliothèque très complète se décompose en de nombreuses sous-bibliothèques spécifiques : génération de signaux (figure 31), traitement des signaux (transformée de Fourier, intercorrélation, intégration, etc.), filtrage des signaux (figure 32), fenêtrage (fenêtre triangle, fenêtre de Hanning, fenêtre de Blackman, etc.), statistiques et probabilités (figure 33), analyse par ondelettes Ces bibliothèques se trouvent en standard dans l environnement LabVIEW. Tracé de la fonction de transfert Figure 32 Exemple de quelques fonctions de filtrage de signaux Valeur moyenne Loi de probabilité normale Filtre de Chebyshev Écart type Histogramme Figure 33 Exemple de quelques fonctions de statistiques et probabilités échantillons amplitude phase (degrés) périodes onde sinusoïdale erreur Génération d'une onde sinusoïdale Cette fonction permet de générer une onde sinusoïdale composée de plusieurs périodes. Soit x les échantillons d'entrée, les échantillons de sortie y sont : y[i] = A * sin(x[i]) pour i = 0.. n 1 avec x[i] = 2 π * i * k / n + ph * π /180 (A : amplitude, k : nombre de périodes, ph : la phase initiale en degré, n : nombre d'échantillons) Figure 30 Exemple de la fenêtre d aide offrant la description d une fonction fournie dans la bibliothèque de l environnement LabVIEW Il en existe de nombreuses autres proposées en option pour répondre à des besoins particuliers. La bibliothèque de contrôle PID ajoute aux fonctions standard de LabVIEW un ensemble d algorithmes de régulation P, PI, PD et PID en boucles ouvertes ou fermées, avec toutes les options que l on trouve généralement dans les systèmes de régulation complets, y compris la compensation de soudure froide et la génération de rampes de points de consigne (figure 34). La bibliothèque de logique floue est destinée à accélérer le développement d applications de contrôle pour les systèmes non linéaires ou complexes. Elle propose une interface graphique prête-àl emploi pour la conception de contrôleurs de logique floue et des VI pour créer ces contrôleurs dans LabVIEW. La logique floue est basée sur des lois qui émulent la prise de décision humaine. Les lois créées peuvent utiliser des termes linguistiques comme «chaud», «bas» ou «gauche». À partir de ces lois, des modèles mathémati- S Techniques de l Ingénieur, traité Informatique industrielle

17 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE 2.3 LabVIEW et le contrôle-commande de procédés Matériels d entrées/sorties (E/S) Cartes d acquisition de données Face avant d'une application de contrôle continu de niveau avec les paramètres de réglage du PID setpoint process variable PID parameters manual control options iteration Instrument virtuel réalisant la régulation (PID vi) output Figure 34 Exemple d utilisation de la bibliothèque de régulation de type PID ques définissent des algorithmes de prise de décision. Les contrôles de logique floue sont utilisés dans les applications de contrôle de processus, de mélange chimique, d identification de signaux ou de reconnaissance de forme pour répondre plus efficacement à des problèmes de prise de décision particulière. La bibliothèque de fonctions MSP (maîtrise statistique de procédé) est destinée aux applications de contrôle-commande nécessitant une analyse de la qualité, en vue de son amélioration. Elle intègre les trois principales fonctionnalités relatives à la MSP : les cartes de contrôle, les statistiques de processus et l analyse de Pareto. Pour chacun de ces domaines, l utilisateur dispose de fonctions d analyse des informations et d affichage des résultats. La bibliothèque Test Executive sert à l exécution automatique de programmes de test en production. Il comprend une application de séquencement de tests prête à l emploi, développée dans LabVIEW, que l on peut utiliser telle quelle ou que l on peut personnaliser pour mieux répondre à des besoins particuliers. La bibliothèque de symboles d automatismes contient un ensemble de contrôles standard ISA (International Society for Measurement and Control) utilisables pour créer des applications d IHM (interface homme-machine) et de supervision sous LabVIEW. La bibliothèque donne accès aux contrôles et aux indicateurs d automatisation symboliques les plus connus. L utilisateur peut les intégrer dans la face avant de son application mais peut aussi créer ses propres contrôles à partir des représentations de ces symboles. On trouve des symboles de pompes 2D et 3D, de vannes, de moteurs et de cuves. Ils sont disponibles sous forme d objets de contrôles et d indicateurs mais aussi sous forme de fichiers metafile que l on peut utiliser comme décorations ou importer sur des objets Lab- VIEW existants. Le langage G, rapide en exécution car compilé, se prête particulièrement bien aux opérations d acquisition et de traitement en temps réel, aux suivis de réactions dans le monde «physique». Il existe de nombreuses façons de récupérer des données issues du monde physique et de générer des données de commande. L une des plus simples et des plus directes consiste à installer dans l ordinateur une carte dite d acquisition de données, dont la fonction de base est de convertir les données du monde physique en données informatiques, immédiatement exploitables par le programme d application. En fait, le terme d acquisition de données est impropre, car la plupart de ces cartes servent à acquérir des données mais aussi à en générer. Il faudrait en fait parler de cartes d entrées/sorties, lesquelles permettent de couvrir une grande partie des besoins en contrôlecommande de processus. Pour être exact, on distingue six fonctions dans les cartes les plus complètes (dites cartes d acquisition de données multifonction). Les entrées analogiques font appel à autant de convertisseurs analogique/numérique (CA/N) que d entrées, ou à un seul couplé avec un multiplexeur. Elles permettent de convertir en bits informatiques un signal analogique, présenté sous forme d une tension variant dans le temps, à l intérieur d une fourchette qui peut être de 0 à 10 V, ou encore de 5 à +5 V. En tout cas, une entrée analogique d une carte d acquisition de données n est pas en mesure d accepter autre chose que des tensions, et dans une gamme donnée. C est pourquoi, il convient souvent d installer, entre les signaux à acquérir et la carte, un système dit de conditionnement de signaux. C est tout aussi vrai pour les autres types d entrées et de sorties, décrites ciaprès. Grâce au conditionnement de signaux, on peut utiliser les entrées des cartes d acquisition de données pour mesurer des températures, des forces, des débits, des vibrations, des courants et naturellement des tensions. Pour les températures par exemple, le conditionnement consiste à transformer les signaux issus des capteurs (très faibles tensions non linéaires) en tensions linéaires compatibles avec la gamme d entrée de l amplificateur qui précède le CA/N sur la carte. Les sorties analogiques font appel à un ou plusieurs convertisseurs numériques/analogiques (CN/A), qui permet de convertir une suite de bits informatiques en variation de tension, c est-à-dire en signal analogique. Là aussi un système de conditionnement peutêtre requis. Le but est de pouvoir générer un signal de stimuli sur un dispositif dont on peut mesurer l effet sur les entrées analogiques. Il peut aussi s agir de réagir à un événement, comme dans le cas de la régulation. Exemple : une entrée analogique acquiert une température, le programme analyse cette température, alerte d un éventuel dépassement de consigne et déclenche un refroidissement au travers d une sortie analogique. Les entrées/sorties numériques sont fréquentes car les dispositifs du monde physique communiquent assez souvent par des informations numériques, sous la forme simple d une tension à deux états 0 ou 5 V par exemple. C est le cas des capteurs de présence, et de la plupart des relais. La conversion en bits informatiques est quasi immédiate. C est dans les applications de contrôle-commande de processus que l on trouve le plus souvent ce genre de dispositifs. Nous sommes alors dans le domaine des systèmes à événements discrets. De même, de nombreux dispositifs se commandent en tout ou rien, comme les vannes, les interrupteurs, les relais, les moteurs... Généralement, le courant produit par la carte est suffisant pour commuter ces dispositifs et aucun conditionnement n est nécessaire. Techniques de l Ingénieur, traité Informatique industrielle S

18 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE Les entrées de comptage permettent de compter les occurrences d un événement numérique. Cela permet notamment de définir la base de temps qui détermine les opérations du compteur intégré sur la carte. Les sorties de synchronisation permettent de générer des impulsions numériques pour synchroniser ou commander des dispositifs extérieurs. Parmi les applications types des entrées/ sorties de comptage et de synchronisation, on citera le positionnement à partir d encodeurs linéaires ou rotatifs Pilotes des cartes d acquisition de données Pour piloter les cartes d entrées/sorties, acquérir et générer des données, le programme graphique, comme tout logiciel d application, fait appel à une couche logicielle qui sert d interface avec les registres de fonction de la carte. Cette couche, qui pourrait se résumer à une bibliothèque de fonctions, s appelle le «pilote» de la carte. Le terme anglais «driver» est plus souvent employé. Sans driver, une carte peut être utilisée, mais au travers de fonctions de très bas niveau, très complexes à mettre en œuvre. Le driver permet aussi de gérer tous les aspects d interruption et de transfert des données en mémoire, sans que le programmeur ait à entrer dans les détails compliqués de ces opérations. Le driver se suffit à lui-même pour piloter une carte d E/S. Il offre généralement une interface utilisateur intuitive qui permet de configurer et de faire fonctionner une carte de manière assez simple. Mais dès qu il s agit d automatiser les opérations d acquisition de données, ou simplement de traiter les données acquises, le driver ne suffit plus et il faut faire appel soit à un logiciel d application, soit à un langage de programmation. Le driver doit être compatible avec cette couche logicielle supplémentaire. Ce n est plus un problème depuis que le principe de DLL (Dynamic Link Library) s est développé. Il s agit d un conditionnement standard des fonctions, qui permet à tout logiciel supportant ce standard (la très grande majorité) de communiquer avec le driver ( 2.3.4). Pour qu un driver soit complet, il ne suffit pas qu il permette d acquérir et de générer des données sur les E/S de la carte. Il doit remplir les fonctions suivantes : acquérir les données à des fréquences d échantillonnage spécifiées ; acquérir les données en tâche de fond pendant que le traitement se réalise en tâche principale (principe de l acquisition de données en continu) ; supporter les entrées/sorties programmées, les interruptions et le DMA (Direct Access Memory) pour le transfert des données ; transférer les données du et vers le disque dur de l ordinateur ; remplir plusieurs fonctions simultanément ; supporter plusieurs cartes d acquisition de données ; intégrer le pilotage de l éventuel système de conditionnement associé à la carte. Il faut noter que parfois, le fournisseur de la carte et le fournisseur du driver sont différents. Ce qui peut être dangereux dans le sens où le driver risque de ne pas donner accès à l ensemble des fonctions offertes par la carte. Dans LabVIEW, les bibliothèques d acquisition de données sont installées en standard (figure 35). Elles contiennent des VI, construits de manière hiérarchique sur trois niveaux : Easy I/O (niveau le plus simple), Intermediate (niveau intermédiaire) et Advanced (niveau supérieur). Comme tous les VI, chacun présente des entrées et des sorties. Le programmeur assemble les VI dans son diagramme, les paramètre et les connecte entre eux pour obtenir le sous-programme d acquisition de données proprement dit (figures 36 et 37). Il obtient ainsi un VI dans lequel sont encapsulés les VI qu il a assemblés. Ce VI de haut niveau peut être ensuite intégré avec ceux dont le rôle est d exploiter les données acquises. Le driver se charge de traduire les commandes manuelles ou automatiques envoyées par l opérateur, au travers de l interface graphique de l application ou par le programme lui-même si le contrôle de la carte est assujetti à des résultats de traitement. D autres cartes d entrées/sorties spécifiques que celles d acquisition des données sont utilisées dans les applications de contrôlecommande. Nous trouvons par exemple les cartes suivantes. Cartes de commande d axes moteurs Si les cartes d acquisition de données multifonctions intègrent généralement des sorties permettant d agir sur le procédé, il faut faire appel à des cartes spécialisées pour le contrôle des moteurs en particulier. Dans ce cas aussi, le programmeur en langage G, comme pour tout langage, fait appel à un driver ou à une DLL pour intégrer le contrôle de mouvement dans son application. Il existe une bibliothèque de VI pour piloter facilement les cartes de contrôle d axes au sein d un programme G. taskid d'entrée nombre de balayages à lire entrée d'erreur taskid de sortie données mises à l'échelle sortie d'erreur Figure 35 Icône permettant de demander la lecture d une mesure sur l une des voies d une carte d acquisition de données Graphe tension Périphérique (1) Canal (0) Points à acquérir (1000) Vitesse d'acquisition (4000 scans/sec) Figure 36 Assemblage des icônes permettant d acquérir points sur le canal 0 de la carte n 1 S Techniques de l Ingénieur, traité Informatique industrielle

19 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE Face avant du programme de contrôle Figure 37 Interface utilisateur correspondant au diagramme de la figure 36 Cartes d acquisition d images Autre matériel susceptible d être intégré dans une application de contrôle-commande, la carte d acquisition d image est aussi fournie avec son driver. Il existe des bibliothèques de VI spécifiquement destinés aux applications de vision. Deux types de cartes d acquisition d images peuvent être choisis : pour les caméras analogiques et pour les caméras numériques. Dans les deux cas, il existe des versions monochrome (niveaux de gris plus exactement), ainsi que couleur. Il est possible également de trouver des caméras infrarouges. En plus des entrées vidéo, une carte d acquisition d images dispose souvent d E/S numériques. Ainsi, la carte après avoir acquis une image et que cette image ait été traitée, peut servir à piloter un relais ou un solénoïde pour enlever par exemple un objet défectueux d une ligne d assemblage. Le driver d une carte d acquisition d images doit notamment remplir les fonctions suivantes : acquérir les images dans la mémoire de façon continue, acquérir les images de plusieurs sources vidéo, utiliser le DMA pour transférer les images, contrôler les E/S numériques, déclencher l acquisition sur un événement, gérer la mise à l échelle des images Pilotes d instruments de mesure Instruments GPIB Le pilotage de l instrumentation GPIB (General Purpose Interface Bus) fut l une des toutes premières applications de la programmation graphique. Le GPIB est rapidement devenu, depuis son apparition en 1965, un standard de communication (IEEE 488) qui permet aujourd hui de contrôler la plupart des instruments de mesure électronique (oscilloscopes, multimètres, générateurs de fonctions, analyseurs de spectre, etc.). On trouve donc généralement des systèmes GPIB dans les laboratoires et dans le domaine du test électronique. En production, on parle de bancs de test, composés de plusieurs instruments GPIB contrôlés par un PC équipé d une carte d interface GPIB. Le programme commande les instruments, récupère les mesures, les traite, les affiche et réagit en fonction des résultats. Le principe est donc le même qu en acquisition de données, si ce n est qu il s agit d instruments autonomes, externes au PC, au sein desquels sont effectuées les opérations de conversion A/N et N/A. Les données sont déjà numérisées lorsqu elles parviennent au PC. A noter qu il existe également de nombreuses centrales d acquisition de données dotées d une interface de communication GPIB. La carte d interface sert à convertir le format de données propre au GPIB Programme de pilotage qui consiste à assembler des icônes de commande manipulant des chaînes de caractère Figure 38 Exemple du pilotage d un multimètre par une liaison GPIB (langage de contrôle-commande sous forme alphanumérique). Comme pour les cartes d acquisition de données, les cartes GPIB sont fournies avec leur driver qui est utilisé par le programme graphique au travers de la bibliothèque de VI GPIB (figure 38). Instruments VXI Extension du bus VME (Versatile Module Europe) pour l instrumentation, le bus VXI permet en quelque sorte de réduire un banc d instruments GPIB autonomes à un châssis où les instruments sont limités à des modules sans faces avant. Les instruments GPIB sont effectivement dotés de faces avant pour pouvoir être utilisés de façon indépendante, manuellement. Mais un instrument VXI ne peut être utilisé que par le biais d un PC de contrôle, via un logiciel. Les applications se situent donc essentiellement dans le domaine du test automatique, avec des performances élevées en terme de rapidité (les instruments sont interconnectés sur le fond de panier). Le contrôle d un système VXI par un PC peut se faire au travers de différentes interfaces : l interface MXI (carte d interface dans l ordinateur, câble MXI et module d interface dans le châssis VXI) est la plus rapide. Tout se passe comme si le PC de contrôle était directement relié au bus VXI qui interconnecte les instruments (transferts à 100 Mo/s) ; l interface GPIB (carte d interface dans l ordinateur, câble GPIB et module d interface dans le châssis VXI) est la plus lente mais aussi la plus simple à mettre en œuvre. En comparaison des 100 Mo/s du MXI, le bus GPIB est limité à 8 Mo/s, ce qui peut être pénalisant pour les applications de test haute vitesse ; l interface FireWire (carte d interface dans l ordinateur, câble IEEE-1194 et module d interface dans le châssis VXI) est une solution qui est apparue en 1998 et qui promet des vitesses de transfert aussi élevées que le MXI (plus de 100 Mo/s). Nota : VXI Versatile exchange Interface MXI Multisystem extension Interface Enfin, il est aussi possible d intégrer le PC de contrôle dans un châssis VXI. Les performances sont alors optimales et la compacité Techniques de l Ingénieur, traité Informatique industrielle S

20 PROGRAMMATION GRAPHIQUE DES APPLICATIONS DE CONTRÔLE-COMMANDE totale. Dans cette configuration, le PC peut d ailleurs accueillir des cartes d acquisition de données, d acquisition d images, de contrôle d axes et/ou d interface GPIB. Comme pour le GPIB, il existe des drivers que les développeurs peuvent utiliser dans leurs programmes graphique, en utilisant la bibliothèque des instruments virtuels VXI. Instruments avec liaison série La liaison série RS-232 (RS pour Recommended Standards) est un moyen de communication très répandu pour la transmission de données entre un ordinateur et un périphérique tels qu une imprimante, un traceur ou un instrument programmable. Dans le domaine de la mesure, la liaison RS-232 est depuis très longtemps le standard de communication des instruments de mesure physicochimiques. On trouve aussi de nombreuses centrales de mesure et des appareils en tous genres programmables en RS-232. La liaison série utilise un émetteur pour envoyer les données les unes derrière les autres, bit par bit, sur une ligne de communication unique, à destination d un récepteur. Cette technique de communication est classique pour les transferts à faible vitesse ou sur de longues distances. Les données peuvent ainsi être transférées via des modems sur des lignes téléphoniques. Le succès de la liaison série s explique du fait que la plupart des ordinateurs ont un ou deux ports série, l inconvénient majeur étant toutefois que le port série ne permet de communiquer qu avec un seul équipement à la fois. Pour pouvoir communiquer avec plusieurs équipements, il faut faire appel à une carte d interface multiport ou à un module de multiplexage. Étant donné la simplicité de la liaison série, la bibliothèque pour le port série se résume à cinq instruments virtuels (VI): Serial Port Init, Serial Port Write, Serial Port Read, Bytes at Serial Port et Serial Port Break. Un programme de gestion de port série, réalisé en langage G dans l environnement LabVIEW est donc très simple puisqu il consiste à mettre en séquence les différents VI de base (figure 39). Drivers d instruments de mesures L agencement des VI de communication avec les instruments de mesure peut être fastidieux. C est pourquoi il existe ce que l on appelle des drivers d instruments, dont le rôle essentiel est la manipulation de chaînes de caractères, dites de commande. À chaque instrument correspond un driver qui fournit à l utilisateur une sorte de face avant dans laquelle il va pouvoir entrer de manière explicite les paramètres de configuration et obtenir des données compréhensibles (une tension en volt par exemple) et non une chaîne de caractères codée, que lui retourne le driver de l interface de communication. Ce driver d instrument permet en quelque sorte d obtenir à l écran une face avant virtuelle de contrôle de l instrument. Mais plus important, il va pouvoir être utilisé au sein d un programme d application, et notamment au sein d un programme écrit en langage G, sans que l utilisateur ait besoin de connaître le protocole de programmation de chaque instrument. Il existe en effet des VI drivers d instruments pour un très grand nombre d appareils différents, couvrant la grande majorité de l offre (sites Internet cités en [Doc. S 8 205]). Le développeur peut ainsi inclure un VI driver dans un diagramme et intégrer le contrôle-commande de ses instruments de mesure dans son application LabVIEW. La disponibilité du driver d instruments est essentielle car il permet de développer très rapidement des applications de test automatique. En 1998, une association de fabricants et d utilisateurs s est créée (La Fondation IVI, pour Interchangeable Virtual Instruments, cf. [Doc. S 8 205]) afin d organiser la standardisation des drivers de manière à pouvoir notamment remplacer un instrument dans un banc de test par un autre sans avoir besoin de modifier le programme de test. Il existe également des instruments réalisés sous forme de cartes enfichables dans l ordinateur (multimètre, oscilloscopes...). Leur pilotage s effectue comme celui des cartes d acquisition de données Pilotes de bus et d automates programmables La standardisation de la communication a longtemps été un point noir dans le domaine industriel et en particulier dans celui des réseaux de terrain et des automates programmables. Un bus de terrain permet de relier différents dispositifs répartis dans une unité de production par exemple, afin de centraliser le contrôle-commande de l ensemble. Un bus de terrain peut relier des capteurs, des actionneurs, des régulateurs, des E/S déportées, des automates... à un ordinateur qui sert de poste de supervision. La liste des bus de terrain est très longue, mais diminue au fil des années. Actuellement il reste principalement les bus suivants : Profibus, FIP (Factory Instrumentation Protocol), WorldFIP, Foundation Fieldbus, Interbus, CAN (Controller Area Network), Fieldpoint... cette liste n étant pas exhaustive. Tous ces bus font appel à une ou plusieurs liaisons série synchrones ou asynchrones mais diffèrent dans leur architecture et dans le protocole utilisé pour communiquer les commandes et les données. Certains de ces bus nécessitent, côté PC de contrôle, un port série simple ou une carte d interface particulière. Le plus délicat est, au niveau logiciel, de supporter le protocole utilisé. Heureusement pour le langage graphique, une multitude de bibliothèques de VI ont été développées, souvent par les utilisateurs eux-même, pour répondre aux besoins des différents bus existants. En ce qui concerne les automates, depuis l arrivée du standard OPC (OLE for Process Control) en 1996 et la disponibilité de clients OPC en langage graphique, il est possible de piloter n importe quel serveur OPC, indépendamment du type de liaison mise en œuvre. Le nombre de matériels proposés avec un serveur OPC augmente très rapidement Outils pour accélérer le développement des applications de contrôle-commande Figure 39 Exemple de diagramme permettant de communiquer avec un appareil en liaison série Programmes existants La première approche consiste à faire appel à des exemples déjà créés. LabVIEW contient en effet un ensemble de solutions (DAQ Solutions Gallery) qui rassemble les cas les plus courants de l acquisition de données. L utilisateur peut y trouver la ou les solutions qui correspondent le mieux à ses besoins, comme par exemple un S Techniques de l Ingénieur, traité Informatique industrielle

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

Tutoriel LabVIEW Des fonctions simples à l acquisition de données UFR Sciences et Technologies Tutoriel LabVIEW Des fonctions simples à l acquisition de données J. BRUNET Initiation à l environnement LabVIEW 1 Considérations générales sur LabVIEW Qu est-ce que LabVIEW?

Plus en détail

ACQUISITION ANALYSE PRÉSENTATION

ACQUISITION ANALYSE PRÉSENTATION INITIATION AU LOGICIEL D'INSTRUMENTATION LAB ABVIEW 1. INTRODUCTION Labview (Laboratery Virtual Instruments Engineering Workbench) est un environnement de développement d'applications fondé sur un langage

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Initiation à LabView : Les exemples d applications :

Initiation à LabView : Les exemples d applications : Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple

Plus en détail

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15 1 Démarrer... 2 1.1 L écran Isis... 2 1.2 Les barres d outils... 3 1.2.1 Les outils d édition... 3 1.2.2 Les outils de sélection de mode... 4 1.2.3 Les outils d orientation... 4 2 Quelques actions... 5

Plus en détail

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de

Plus en détail

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP IUT BREST DEP.GMP UN LOGICIEL SCADA : PC VUE 2010 Table des matières 1. Introduction à la supervision- logiciel SCADA... 4 1.A. Définition d un logiciel SCADA /Supervision... 4 1.B. Ou trouve-t-on des

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

Comment gérer toutes mes tâches logicielles d automatisation dans un seul environnement?

Comment gérer toutes mes tâches logicielles d automatisation dans un seul environnement? Comment gérer toutes mes tâches logicielles d automatisation dans un seul environnement? Avec Totally Integrated Automation Portal : un seul environnement de développement intégré pour toutes vos tâches

Plus en détail

Business Intelligence

Business Intelligence avec Excel, Power BI et Office 365 Téléchargement www.editions-eni.fr.fr Jean-Pierre GIRARDOT Table des matières 1 Avant-propos A. À qui s adresse ce livre?..................................................

Plus en détail

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14 1 Démarrer...2 1.1 L écran Isis...2 1.2 La boite à outils...2 1.2.1 Mode principal...3 1.2.2 Mode gadgets...3 1.2.3 Mode graphique...3 2 Quelques actions...4 2.1 Ouvrir un document existant...4 2.2 Sélectionner

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

1 Démarrer... 3 1.1 L écran Isis...3 1.2 La boite à outils...3 1.2.1 Mode principal... 4 1.2.2 Mode gadget...4 1.2.3 Mode graphique...

1 Démarrer... 3 1.1 L écran Isis...3 1.2 La boite à outils...3 1.2.1 Mode principal... 4 1.2.2 Mode gadget...4 1.2.3 Mode graphique... 1 Démarrer... 3 1.1 L écran Isis...3 1.2 La boite à outils...3 1.2.1 Mode principal... 4 1.2.2 Mode gadget...4 1.2.3 Mode graphique... 4 2 Quelques actions... 5 2.1 Ouvrir un document existant...5 2.2

Plus en détail

Millenium3 Atelier de programmation

Millenium3 Atelier de programmation Millenium3 Millenium 3 Millenium3 1. Aide en ligne CLSM3... 2 1.1 Présentation de l'atelier de programmation... 2 1.1.1 Présentation de l'atelier de programmation... 2 1.2 Comment débuter avec l'atelier

Plus en détail

Qualité du logiciel: Méthodes de test

Qualité du logiciel: Méthodes de test Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

Plus en détail

CH.3 SYSTÈMES D'EXPLOITATION

CH.3 SYSTÈMES D'EXPLOITATION CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,

Plus en détail

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & '  ( ) '*+ , ##) #  -. /0  1 2  3. SIMULATION 7  - 4. TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3! " #$ % & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3' & 3. SIMULATION 7 0 ( 0, - 0 - " - & 1 4. LA SOURIS 11 5. LES RACCOURCIS CLAVIER 11 STI Electronique

Plus en détail

Service On Line : Gestion des Incidents

Service On Line : Gestion des Incidents Service On Line : Gestion des Incidents Guide de l utilisateur VCSTIMELESS Support Client Octobre 07 Préface Le document SoL Guide de l utilisateur explique comment utiliser l application SoL implémentée

Plus en détail

Etude et développement logiciel Exemples de réalisation

Etude et développement logiciel Exemples de réalisation Etude et développement logiciel Exemples de réalisation SiègeSocial - 24, rue Gustave Madiot - Z.A. Les Bordes - 91070 BONDOUFLE - Tél: 01 69 11 51 00 E-mail: infos@6ta.fr - Web site: www.6ta.fr Date de

Plus en détail

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0 Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive Sommaire - Le Robot M.I.M.I. (Multipode Intelligent à Mobilité Interactive) - Présentation du Système à Enseigner. - Composition

Plus en détail

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

Sélection du contrôleur

Sélection du contrôleur Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du

Plus en détail

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

Le langage de programmation Labview IUT1 Grenoble Département GEII1 Année 2007/2008 Le langage de programmation Labview IUT1 Grenoble Département GEII1 Année 2007/2008 David FREY Pierre-Armand DEGRYSE Jean-Luc AMALBERTI 1 2 Sommaire 1Bases de la programmation en LabVIEW... 6 1.1Introduction...

Plus en détail

Module EC2b Programmation et Automatisation Bâtiment

Module EC2b Programmation et Automatisation Bâtiment Licence Professionnelle EGC-ITEB Energie - Génie Climatique: Intelligence Technique et Energétique du Bâtiment Module EC2b Programmation et Automatisation Bâtiment par Pr. Eddy BAJIC IUT Nancy Brabois

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

Organigramme / Algorigramme Dossier élève 1 SI

Organigramme / Algorigramme Dossier élève 1 SI Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué

Plus en détail

COURS WINDEV NUMERO 3

COURS WINDEV NUMERO 3 COURS WINDEV NUMERO 3 01/02/2015 Travailler avec un fichier de données Etude du gestionnaire d analyse, Manipulation des tables mémoires, Manipulation de données, Création d états, Pré requis : Cours WinDev

Plus en détail

Éléments de programmation et introduction à Java

Éléments de programmation et introduction à Java Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 - Evénements et architectures - Spécifications de performances

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles Manuel d utilisation de la plate-forme de gestion de parc UCOPIA La mobilité à la hauteur des exigences professionnelles 2 Manuel d utilisation de la plate-forme de gestion de parc UCOPIA 1 Table des matières

Plus en détail

Data Station Plus. La solution complète de gestion de données. > Convertisseur de multiples

Data Station Plus. La solution complète de gestion de données. > Convertisseur de multiples Data Station Plus La solution complète de gestion de données Convertisseur de multiples protocoles permettant une intégration système complet E nregistreur de données de process compatible avec les applications

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

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

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

WHITEPAPER. Quatre indices pour identifier une intégration ERP inefficace

WHITEPAPER. Quatre indices pour identifier une intégration ERP inefficace Quatre indices pour identifier une intégration ERP inefficace 1 Table of Contents 3 Manque de centralisation 4 Manque de données en temps réel 6 Implémentations fastidieuses et manquant de souplesse 7

Plus en détail

Présentation du logiciel

Présentation du logiciel Chapitre A Présentation du logiciel R Pré-requis et objectif La lecture du chapitre sur l installation de R dans les Annexes peut se révéler utile. Ce chapitre présente les origines, l objectif et les

Plus en détail

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE Le schéma synoptique ci-dessous décrit les différentes étapes du traitement numérique

Plus en détail

SERVICE CERTIFICATION DES ÉTABLISSEMENTS DE SANTÉ. Guide utilisateur Compte Qualité dans SARA

SERVICE CERTIFICATION DES ÉTABLISSEMENTS DE SANTÉ. Guide utilisateur Compte Qualité dans SARA SERVICE CERTIFICATION DES ÉTABLISSEMENTS DE SANTÉ Guide utilisateur Compte Qualité dans SARA Novembre 2014 ACC01_T193_A HAS / Service de Certification des Établissements de Santé / Novembre 2014 2 SOMMAIRE

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

White Paper - Livre Blanc

White Paper - Livre Blanc White Paper - Livre Blanc Développement d applications de supervision des systèmes d information Avec LoriotPro Vous disposez d un environnement informatique hétérogène et vous souhaitez à partir d une

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

CONFIGURATION DE L AUTOMATE SIEMENS

CONFIGURATION DE L AUTOMATE SIEMENS CONFIGURATION DE L AUTOMATE SIEMENS Créer un projet Dans le bureau de Windows, double-cliquer sur l icône «SIMATIC Manager» : Cliquer ensuite sur l icône «nouveau» : Choisir un nom de projet et valider

Plus en détail

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX PLAN

Plus en détail

Variateurs de vitesse

Variateurs de vitesse Présentation, description Altivar Présentation La carte programmable Controller Inside permet d adapter le variateur de vitesse aux applications spécifi ques par l intégration des fonctions d automatisme.

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

ET 24 : Modèle de comportement d un système Introduction à Labview et initiation à la réalisation d un Instrument Virtuel (VI).

ET 24 : Modèle de comportement d un système Introduction à Labview et initiation à la réalisation d un Instrument Virtuel (VI). ET 24 : Modèle de comportement d un système Introduction à Labview et initiation à la réalisation d un Instrument Virtuel (VI). Sciences et Technologies de l Industrie et du Développement Durable Formation

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

L essentiel. Coopérative, flexible, très performante : la plateforme Engineering Base. web aucotec.com

L essentiel. Coopérative, flexible, très performante : la plateforme Engineering Base. web aucotec.com L essentiel Coopérative, flexible, très performante : la plateforme Engineering Base web aucotec.com Les défis La globalisation des structures d ingénierie avec le travail en réseau sur des sites dispersés

Plus en détail

Capacité étendue d utilisation en réseau

Capacité étendue d utilisation en réseau Fiche technique n VIBOFF_1A_f Emonitor Odyssey introduit une nouvelle conception de la maintenance conditionnelle (prédictive) en automatisant les opérations de routine afin d améliorer les vitesses de

Plus en détail

Processus d Informatisation

Processus d Informatisation Processus d Informatisation Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue

Plus en détail

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs Architecture Matérielle des Systèmes Informatiques. S1 BTS Informatique de Gestion 1 ère année THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT Dossier 1 L environnement informatique. Objectifs Enumérer et

Plus en détail

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

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

WEBVIEW. Serveur Web embarqué dans DIRIS G NOTICE D UTILISATION. www.socomec.com. http://www.socomec. com/webview_ software

WEBVIEW. Serveur Web embarqué dans DIRIS G NOTICE D UTILISATION. www.socomec.com. http://www.socomec. com/webview_ software NOTICE D UTILISATION WEBVIEW Serveur Web embarqué dans DIRIS G FR http://www.socomec. com/webview_ software www.socomec.com FR SOMMAIRE 1. DOCUMENTATION...3 2. OPÉRATIONS PRÉALABLES...3 3. PRÉSENTATION...3

Plus en détail

Leçon 1 : Les principaux composants d un ordinateur

Leçon 1 : Les principaux composants d un ordinateur Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques

Plus en détail

La gestion intelligente de vos bâtiments :

La gestion intelligente de vos bâtiments : 4 Modem V32 Bis Tel 336B Dinec Building Management La gestion intelligente de vos bâtiments : Contrôle d'accès : DinAccess Supervision de grandeurs physiques : DinCool Gestion technique : DinTalk Gestion

Plus en détail

Introduction. Le 21 ème siècle sera celui d Internet.

Introduction. Le 21 ème siècle sera celui d Internet. Introduction Le 21 ème siècle sera celui d Internet. Aujourd hui, on peut affirmer que les nouveaux moyens de communication ont profondément changé les relations entre les hommes et les machines. Si ce

Plus en détail

Catalogue - Formation en «électropneumatique et systèmes automatisés process control system»

Catalogue - Formation en «électropneumatique et systèmes automatisés process control system» entre echnologies Avancées Catalogue - en «électropneumatique et systèmes automatisés process control system» 2012-2013 Boulevard du Château 12, 7800 ATH Tél : 068/26.88.80 Fax : 068/26.88.81 E-Mail :

Plus en détail

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+ Guide de formation avec exercices pratiques Configuration et dépannage de PC Préparation à la certification A+ Sophie Lange Troisième édition : couvre Windows 2000, Windows XP et Windows Vista Les Guides

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab notre compétence d'éditeur à votre service créée en juin 2010, Scilab enterprises propose services et support autour

Plus en détail

Extrait des Exploitations Pédagogiques

Extrait des Exploitations Pédagogiques Pédagogiques Module : Compétitivité et créativité CI Première : Compétitivité et créativité CI institutionnel : Développement durable et compétitivité des produits Support : Robot - O : Caractériser les

Plus en détail

TP_Codeur_Incrémental

TP_Codeur_Incrémental Lycée Lislet Geoffroy BTS MAI TP2 - Codeur incrémental Cod-2 Etre capable de : Décrire l allure des signaux délivrés par un codeur incrémental. Enoncer les caractéristiques principales d un codeur incrémental.

Plus en détail

Un ordinateur, c est quoi?

Un ordinateur, c est quoi? B-A.BA Un ordinateur, c est quoi? Un ordinateur, c est quoi? Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 -Définition et problématique - Illustration par des exemples -Automatisme:

Plus en détail

GUIDE Excel (version débutante) Version 2013

GUIDE Excel (version débutante) Version 2013 Table des matières GUIDE Excel (version débutante) Version 2013 1. Créer un nouveau document Excel... 3 2. Modifier un document Excel... 3 3. La fenêtre Excel... 4 4. Les rubans... 4 5. Saisir du texte

Plus en détail

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des

Plus en détail

SoMachine. Solution logicielle pour votre architecture Machine Atelier de découverte. SoMachine

SoMachine. Solution logicielle pour votre architecture Machine Atelier de découverte. SoMachine Solution logicielle pour votre architecture Machine Atelier de découverte SoMachine Objectif de la manipulation Le programme à réaliser va permettre de gérer le remplissage et la vidange d une cuve en

Plus en détail

Sous réserve de modifications techniques et des disponibilités, fabrication française.

Sous réserve de modifications techniques et des disponibilités, fabrication française. Sous réserve de modifications techniques et des disponibilités, fabrication française. Table des matières PARTIE 1 : GÉNÉRALITÉS CHAPITRE 1 : FONCTIONNEMENT GÉNÉRAL Fonctionnement général... 5 CHAPITRE

Plus en détail

MEGA ITSM Accelerator. Guide de démarrage

MEGA ITSM Accelerator. Guide de démarrage MEGA ITSM Accelerator Guide de démarrage MEGA 2013 1ère édition (janvier 2013) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune

Plus en détail

Bases de données Cours 1 : Généralités sur les bases de données

Bases de données Cours 1 : Généralités sur les bases de données Cours 1 : Généralités sur les bases de données POLYTECH Université d Aix-Marseille odile.papini@univ-amu.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 1 Qu est ce qu une

Plus en détail

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans

Plus en détail

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric

Plus en détail

MYOSOTIS. Logiciel de supervision et de conduite de réseau NC. 107/2B

MYOSOTIS. Logiciel de supervision et de conduite de réseau NC. 107/2B La protection électrique en toute sérénité MYOSOTIS NC. 107/2B Logiciel de supervision et de conduite de réseau Le logiciel MYOSOTIS permet la supervision et la conduite d'un réseau électrique d'usine

Plus en détail

ProducTVity Station. Surveillance en temps réel des performances de votre production

ProducTVity Station. Surveillance en temps réel des performances de votre production ProducTVity Station Surveillance en temps réel des performances de votre production > > Transforme en quelques minutes n importe quelle TV en tableau de bord de KPI, d OEE et d afficheur ANDON. > > Consultez

Plus en détail

L externalisation de vos logiciels entreprises : une solution aux problèmes de coûts, de sécurités et de réactivités

L externalisation de vos logiciels entreprises : une solution aux problèmes de coûts, de sécurités et de réactivités Bureau Virtuel L externalisation de vos logiciels entreprises : une solution aux problèmes de coûts, de sécurités et de réactivités Que ce soit par la communication, par les échanges ou par la collaboration,

Plus en détail

ORIENTATIONS POUR LA CLASSE DE TROISIÈME

ORIENTATIONS POUR LA CLASSE DE TROISIÈME 51 Le B.O. N 1 du 13 Février 1997 - Hors Série - page 173 PROGRAMMES DU CYCLE CENTRAL 5 e ET 4 e TECHNOLOGIE En continuité avec le programme de la classe de sixième, celui du cycle central du collège est

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

Plus en détail

QUICK START RF Monitor 4.3-1

QUICK START RF Monitor 4.3-1 QUICK START RF Monitor 4.3-1 Propos: Guide d installation et d utilisation du logiciel RF-Monitor Gold de NEWSTEO, pour LOGGERS (LOG, LGS, LGR) en mode Surveillance (Monitoring) ou Live/Enregistrement

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Une solution logicielle complète et couvrant tous les niveaux d enseignement des techniciens et des ingénieurs

Une solution logicielle complète et couvrant tous les niveaux d enseignement des techniciens et des ingénieurs Si vous enseignez des matières relatives aux technologies hydrauliques, pneumatiques, électriques et de contrôle, l illustration des principes théoriques et du comportement des systèmes sont sans aucun

Plus en détail

Nouveautés Ignition v7.7

Nouveautés Ignition v7.7 ... Nouveautés Ignition v7.7 Nouveautés Ignition v7.7 Découvrez le Nouveau Scada avec plus de 40 nouveautés Principales nouveautés :... Cloud Templates Template Repeater Client Multilingue + Sequential

Plus en détail

http://mondomaine.com/dossier : seul le dossier dossier sera cherché, tous les sousdomaines

http://mondomaine.com/dossier : seul le dossier dossier sera cherché, tous les sousdomaines Principales fonctionnalités de l outil Le coeur du service suivre les variations de position d un mot-clé associé à une URL sur un moteur de recherche (Google - Bing - Yahoo) dans une locale (association

Plus en détail

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles Microsoft France Division DPE Table des matières Présentation... 2 Objectifs... 2 Pré requis... 2 Quelles sont les principales

Plus en détail

Console de supervision en temps réel du réseau de capteurs sans fil Beanair

Console de supervision en temps réel du réseau de capteurs sans fil Beanair Console de supervision en temps réel du réseau de capteurs sans fil Beanair Véritable console de supervision temps réel, le BeanScape permet de modéliser, de visualiser et d administrer en temps réel le

Plus en détail

S8 - INFORMATIQUE COMMERCIALE

S8 - INFORMATIQUE COMMERCIALE S8 - INFORMATIQUE COMMERCIALE Les savoirs de l Informatique Commerciale doivent être abordés en relation avec les autres savoirs (S4 à S7). Les objectifs généraux sont : o de sensibiliser les étudiants

Plus en détail

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

Le cas «BOURSE» annexe

Le cas «BOURSE» annexe Le cas «BOURSE» Le cas BOURSE sera réalisé en liaison avec les fiches ressources n 1 à n 5. Objectifs pédagogiques : - se familiariser en douceur avec les manipulations de base (utilisation des icônes,

Plus en détail

Equipement. électronique

Equipement. électronique MASTER ISIC Les générateurs de fonctions 1 1. Avant-propos C est avec l oscilloscope, le multimètre et l alimentation stabilisée, l appareil le plus répandu en laboratoire. BUT: Fournir des signau électriques

Plus en détail

Efficace et ciblée : La surveillance des signaux de télévision numérique (2)

Efficace et ciblée : La surveillance des signaux de télévision numérique (2) Efficace et ciblée : La surveillance des signaux de télévision numérique (2) La première partie de cet article publié dans le numéro 192 décrit la méthode utilisée pour déterminer les points de surveillance

Plus en détail