"RTPWatch", un outil de développement et d'analyse de processus temps réel S.Bezençon, M.Ferrini, M.Etique institut d Automatisation industrielle (iai) école d ingénieurs du canton de Vaud (eivd) CH-1400 Yverdon-les-Bains http://www.eivd.ch/iai
Plan de la présentation Processus temps réel Utilisation de Windows NT 4.0 en temps réel Présentation du logiciel «RTPWatch» Exemples d application Evolution 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 2
Les processus temps réel et leur interface utilisateur Logiciel d'analyse et de mise au point Interface utilisateur "RTPWatch" Canal de transmission Algorithme, signaux & paramètres Processus temps réel Routine temps réel DSP, µc, Windows NT 4.0 Driver Monde physique RTPWatch_03.wmf Modification en ligne des paramètres de l algorithme Visualisationen continu des signaux internes Traitement en ligne des signaux obtenus 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 3
RTPWatch L interface «RTPWatch» U(s) Σ - G 1 (s) - Σ G 4 (s) G 2 (s) G 5 (s) G 3 (s) Y(s) Organisation en couches : couche application : interface graphique (DLL) couche protocole d application : détermine comment les signaux et les paramètres sont transmis. Fournit les méthodes telles que GetValue(), Start(), SetValue(),SetSyncValue() couche liaison : fournit les méthodes put() et get() à la couche protocole. autres applications Windows NT4.0 Cible temps réel VIs de LabView, panneau C++, etc Processus temps réel Windows NT4.0 DSP Automate,... Processus physique ϕ(t) Protocole Liaison Liaison Protocole Routine temps réel E/S 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 4
Outils de base: liste de variables internes, plot,... 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 5
Panneau d instruments virtuels dédié: implantation sous forme de DLL (C++, Pascal, etc) ϕ (t) R a L a PC-PENTIUM-WINDOWS NT 4.0 u a (t) M i a... e.g. MATLAB SIMULINK Algorithmes, stratégie de commande, signaux & paramètres WINDOWS OLE Interface utilisateur Régulateur Pilote NT Carte d'acquisition RTPWatch DLL MapMemPlus RTPWatch_05.wmf 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 6
Panneau d instruments virtuels dédié: implantation avec LabView 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 7
Outils divers 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 8
Port parallèle RTPWatch Indépendance vis-à-vis de la cible temps réel: EasyDSP PC-PENTIUM WINDOWS NT 4.0 Mesures (courants, position,...)... WINDOWS OLE e.g. MATLAB SIMULINK Interface utilisateur RTPWatch Pilote NT Map- MemPlus Algorithmes, stratégie de commande, signaux & paramètres PWM & A/D Régulateur (carte DSP) 6 3 Etage de puissance Moteur, charge, capteur RTPWatch_06.wmf 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 9
Exemple d application no 1: Réponse fréquentielle du dévidoir d une machine à fabriquer des fibres optiques (1/3) 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 10
Exemple d application no 1: Réponse fréquentielle du dévidoir d une machine à fabriquer des fibres optiques (2/3) 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 11
Exemple d application no 1: Réponse fréquentielle du dévidoir d une machine à fabriquer des fibres optiques (3/3) 20 Identification de la ré B ] [d n g ai 0-20 -40-60 10 1 10 2 10 3 g ré] e [d p hase 180 90 45 0-45 -90-135 -180 10 1 10 2 10 3 ω [rad/s ] 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 12
Exemple d application no 2: Régulation de la pression du gaz d aide à la découpe laser (1/2) 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 13
Exemple d application no 2: Régulation de la pression du gaz d aide à la découpe laser (2/2) 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 14
Exemple d application no 3: Analyse dynamique d une machine de production industrielle (1/3) 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 15
Exemple d application no 3: Analyse dynamique d une machine de production industrielle (2/3) 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 16
A(w) [db] RTPWatch Exemple d application no 3: Analyse dynamique d une machine de production industrielle (3/3) -10 Réponses fréquentielle expérimentale et du modèle H(z) -20-30 -40-50 -60-70 10-1 10 0 10 1 10 2 10 3 φ [deg] 200 100 ETFE H(e j w h ) 0-100 -200 10-1 10 0 10 1 10 2 10 3 f [Hz], (log) 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 17
cos( θ k ) sin( θ k ) COMMANDE & CONVERTISSEUR RTPWatch Exemple d application no 3 (1/4): Régulation vectorielle numérique d un moteur sans balais u 20 u cm1 u 10 i s2 u s2 consigne de couple T emc 1/K T Î sc i sdc k = 0 i sqc k Σ - Σ - Régulateurs de courants u sd k u sq k k s u sd s u sq s 2 3 u cm2 u cm3 u 20 u 30 u s3 u N u s1 i s1 u 10 i s3 u 30 i sd k s i sd s 3 i sm1 i sm2 i sq k k i sq s 2 i sm3 Au régulateur de position éventuel cos sin position angulaire du rotor f_01_07.eps θ 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 18
Exemple d application no 3 (2/4): Régulation vectorielle numérique d un moteur sans balais void regul_i(void) { /*...*/ /*Calcul des cosinus et sinus de l'angle*/ cosinus = cosf(p*(teta_resolver[0])+delta); sinus = sinf(p*(teta_resolver[0])+delta); /*Calcul des courants de phase dans le referentiel biphase fixe (3->2)*/ is_d_s = is_1; is_q_s = (float)inv_rac_3*(2*is_2+is_1); /*Transformation du referentiel fixe en referentiel biphase tournant (s->k)*/ is_d = is_d_s*cosinus + is_q_s*sinus; is_q = -is_d_s*sinus + is_q_s*cosinus; /*Lois de commande des 2 regulateurs de courant*/ /*...*/ /*Transformation du referentiel tournant en referentiel fixe (k->s)*/ us_d_s = us_d [0]*cosinus - us_q [0]*sinus; us_q_s = us_d [0]*sinus + us_q [0]*cosinus; /*Calcul des tensions de phase dans le referentiel triphase fixe (2->3)*/ us_c_1 = us_d_s; us_c_2 = 0.5*(-us_d_s + us_q_s*(float)rac_3); us_c_3 = -us_c_1 - us_c_2; /*Calcul des rapports cycliques*/ 10.05.2001/*...*/ eivd/iai-institut d'automatisation industrielle/mee 19 }
Exemple d application no 3 (3/4): Publication des variables et paramètres internes t_var var[] = { var_float(teta_c), var_float(teta), var_float(omega_c), var_float(omega), var_float(kp_teta), var_float(gi_teta), var_float(td_teta), var_float(tem_c), end_var_list }; 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 20
i sc1 (t), i s1 (t) T emc (t) RTPWatch Exemple d application no 3 (4/4): Transfert dans MATLAB ω(t) 0.06 0.04 0.02 0-0.02 0 0.05 0.1 0.15 0.2 0.25 4 2 0-2 -4 0 0.05 0.1 0.15 0.2 0.25 10 5 0-5 -10 0 0.05 0.1 0.15 0.2 0.25 t [s] 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 21
Exemple d application no 5 (1/2): Identification de la réponse fréquentielle d un système mécanique T em (t) θ 1 (t) θ 2 (t) RTPWatch_01.wmf 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 22
Exemple d application no 5 (2/2): Identification de la réponse fréquentielle d un système mécanique Identification de la réponse fré -60 B ] [d n g ai -80-100 10 1 10 2 10 3 10 4 180 90 g ré] e [d ph ase 45 0-45 -90-135 -180 10 1 10 2 10 3 10 4 ω [rad/s ] 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 23
Télémanipulation de systèmes automatisés Client à distance Client Web Windows 2000 Processus temps réel (RTP) ϕ(t) G 5 (s) - U(s) - Σ G 1 (s) Σ G 2 (s) G 3 (s) Y(s) G 4 (s) autres applications, p.ex. simulateur VIs de LabView, panneau C++, etc Protocole TCP/IP-Link Serveur Web centralisé e-teach Serveur Web Serveur d'expériences Windows 2000 Connection permanente, gestion en ligne des utilisateurs TCP/IP-Link Cible temps réel Windows 2000 DSP Automate Routine temps réel Base de données Protocole Liaison Liaison 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee RTPWatch_07.wmf 24 Canal
Développements futurs Nouvelles interfaces utilisateur spécifiques aux applications (toujours en cours!).traitement du signal, etc Commande à distance au travers du réseau IP (en cours) Autres cibles temps réel (API, DSP Texas TMS320F240) Site Web, club RTPWatch? Extension du protocole à plusieurs partenaires Commandes synchrones pour le protocole USB, PCI, Linux 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 25 MATLAB
Documentation Répertoire Mots clés: instruments virtuels, rapid protoyping, mise en service, ajustage manuel 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 26
Personnes de contact Steve Bezençon, ingénieur Ra&D, Steve.Bezencon@eivd.ch Matteo Ferrini, ingénieur Ra&D, Matteo.Ferrini@eivd.ch Prof. Michel ETIQUE, michel.etique@eivd.ch institut d Automatisation industrielle (iai) école d ingénieurs du canton de Vaud (eivd) Route de Cheseaux 1 CH-1400 Yverdon-les-Bains Téléphone: (024) 423.21.11 http://www.einev.ch/iai 10.05.2001 eivd/iai-institut d'automatisation industrielle/mee 27