Prof. A. Bemporad, Ing. S. Di Cairano 26 Maggio 2005. Esercitazione di Tecnologia dei Sistemi di Controllo



Documenti analoghi
Guida alla registrazione on-line di un DataLogger

Controllo di velocità angolare di un motore in CC

CONFIGURARE IL DISPOSITIVO DI TELEASSISTENZA

IRSplit. Istruzioni d uso 07/10-01 PC

Iniziativa Comunitaria Equal II Fase IT G2 CAM Futuro Remoto. Esercitazione. Creazione di Diagrammi di Gantt con Win Project

Fondamenti di Automatica

Attivazione della connessione PPTP ADSL

FOXWave Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

Esempi di uso e applicazioni di Matlab e simulink. 1) Uso delle funzioni ode23 e ode45 per l'integrazione di equazioni differenziali con Matlab

VISUALFLEET Software Overview

Guida alla registrazione on-line di un NovaSun Log

Sicurezza e rispetto della privacy, finalmente non in conflitto.

NOTE GENERALI DI PROGRAMMAZIONE icon100

Veneto Lavoro via Ca' Marcello 67/b, Venezia-Mestre tel.: 041/

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

ISTITUTO D ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016

VIPA 900-2E641 PSTN VPN

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I

Principali comandi MATLAB utili per il corso di Controlli Automatici

Guida Rapida di Syncronize Backup

Aggiungere le funzionalità ACN in Iatros

PREMESSA AUTOMAZIONE E FLESSIBILITA'

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

NetMonitor. Micro guida all uso per la versione di NetMonitor

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I

Manuale di programmazione BerMar_Drive_Software

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.

INFN Sezione di Perugia Servizio di Calcolo e Reti Fabrizio Gentile Enrico Becchetti

ISTITUTO D ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

TERMINALE. Creazione e gestione di una postazione terminale di Eureka

Tele-Laboratori di Automatica

Manuale Terminal Manager 2.0

HikVision. Creazione e gestione di collegamenti con sistemi TVCC HikVision DVR/Network Camera

CORSO DI ORDINAMENTO. Tema di: SISTEMI, AUTOMAZIONE E ORGANIZZAZIONE DELLA PRODUZIONE

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

Virtualizzazione VirtualBox su Host Windows

Supporto On Line Allegato FAQ

Microtech Srl. GPS TRACKER v3.0

VRbot e ROBONOVA-I (rev. 1.2)

1) GESTIONE DELLE POSTAZIONI REMOTE

Stampe in rete Implementazione corretta

ALL FOR SCAN Versione Twain Manuale Utente. Versione 2.0A00. Luccarelli Srl

Guida di Brother Image Viewer per Android

Argo Netbook. Off-line

L applicazione dei vettori di collaudo

Sensori di temperatura a termocoppia K Guida Utente

Manuale Utente MyFastPage

FidelJob gestione Card di fidelizzazione

Amministrazione Trasparente

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

progecad NLM Guida all uso Rel. 10.2

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

PRODUZIONE PAGELLE IN FORMATO PDF

Programmatore per telaio scheller

(Tasto Svuota file) Il tasto Svuota file elimina tutti i record presenti nel database.

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

MANUALE UTENTE Fiscali Free

Blue s Hotel Pro Il software che hai sempre desiderato per il tuo Hotel!

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni

GUIDA UTENTE MONEY TRANSFER MANAGER

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

MAGAZZINO FISCALE (agg. alla rel )

Fattura Facile. In questo menù sono raggruppati, per tipologia, tutti i comandi che permettono di gestire la manutenzione degli archivi.

REGOLATORI STANDARD PID

Programmatore scenari

La VPN con il FRITZ!Box Parte II. La VPN con il FRITZ!Box Parte II

1. Introduzione. 2. Installazione di WinEMTLite. 3. Descrizione generale del programma

Gestione Risorse Umane Web

Guida all impostazione. Eureka Web

PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO

Ricezione fax integrata e faxtomail

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Approfondimenti. Contenuti

1 Introduzione Installazione Configurazione di Outlook Impostazioni manuali del server... 10

IP CONTROLLER IPC-3008/ IPC-3108 IPC-3002 / IPC-3102

ImporterOne Manuale Export Plugin Prestashop

1. Piattaforma esercizi Dati anagrafici Tipologia Attività Dati input Riepilogo Giochi...

Sistemico Srl unip. Via Ceresani, Fabriano AN. Tel Powered by Sistemico

CONTROLLO NEL DOMINIO DELLA FREQUENZA

Mon Ami 3000 POS Collegamento a registratori di cassa in modalità stampante fiscale

Preps Crea nuovo modello

FIRESHOP.NET. Gestione Lotti & Matricole.

Guida Compilazione Piani di Studio on-line

Utilizzo della chiavetta SE 50UMTS per la navigazione Web tramite PC

Manuale NetSupport v Liceo G. Cotta Marco Bolzon

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

Dispensa di Informatica I.1

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova

Utilizzo della APP IrriframeVoice. Versione 1.0 maggio 2015

GUIDA UTENTE WEB PROFILES

Online Help StruxureWare Data Center Expert

istraffic Sistema di monitoraggio Traffico

Dispositivo wireless Interfaccia Ethernet in tecnologia ZigBee

Guida all installazione di Easy

PROCEDURA OPERATIVA FASE PREPARATORIA SCRUTINI SISSIWeb

Guida rapida Vodafone Internet Box

Transcript:

Università degli Studi di Siena Prof. A. Bemporad, Ing. S. Di Cairano 26 Maggio 2005 Esercitazione di Tecnologia dei Sistemi di Controllo Implementazione di controllori con xpc target Questa esercitazione mostra in maniera pratica come implementare un controllore utilizzando lo xpc Target in ambiente Matlab. Cosa è lo xpc target Lo xpc target è un metodo di implementazione del controllo che sfrutta un calcolatore standard. Sul calcolatore viene eseguito un kernel Real-Time a singolo task: il task è il programma che implementa il controllore e che attraverso le system-calls si interfaccia con eventuali schede di acquisizione e dispositivi esterni. Il kernel ed il task risiedono in memoria RAM ed utilizzano I/O mappato in memoria. Processo host TCP/IP net. target Figura 1: Architettura di un sistema basato su xpc target Il sistema complessivo richiede due calcolatori connessi via cavo seriale o via rete TCP/IP: il target su cui eseguire il task di controllo e lo host utilizzato per definire il controllore e programmare il target. Gli steps di implementazione del controllore sono i seguenti: 1. setup dell architettura e della connessione host-target 2. progetto del controllore con Simulink 3. generazione automatica di codice C tramite Real Time Workshop 4. esecuzione del task real-time sul target 5. eventuale update online dei parametri del controllore sul target tramite lo host Il maggior vantaggio di questo approccio è che il progetto viene eseguito in Matlab e l implementazione è praticamente automatica dato che il codice C per architettura standard viene prodotto dal

Real-Time Workshop. Un vantaggio ulteriore è che i parametri fondamentali del controllore possono essere cambiati on-the-loop dal PC host, tramite apposite GUI o tramite Simulink, mantenendo su questo il controllo remoto. Il caso di studio Il caso di studio che prenderemo in considerazione è il controllo di posizione di un motore DC, lo stesso che avrete visto ad altri corsi quali Progetto di Sistemi di Controllo, e Telelaboratorio di Automatica. Modello fisico Il modello fisico di questo sistema è riportato in Figura 2: il circuito elettrico rappresenta il circuito di armatura del motore controllato in tensione mentre l asse rappresenta il sottosistema meccanico corrispondente all asse di trasmissione. Figura 2: Modello del sistema di posizionamento Le equazioni che descrivono il sistema sono le seguenti: τ j d2 θ dt 2 d i E = V I L a dt R a i E = k d θ dt = k i = r C β dθ dt dove k è la costante del motore, E è la f.e.m, τ la coppia e r il rapporto di riduzione; β è l attrito viscoso che agisce sull asta e J è l inerzia. Questo modello è già stato tradotto (thanks Ing. M. Casini) nella relazione Θ(s) = K s(1 + T f s)(1 + T m s) V (s) in cui la funzione di trasferimento presenta due poli (uno meccanico ed uno elettrico) a sinistra dell asse immaginario ed un polo nell origine. I valori delle costanti sono riportate in Tabella 1.

Costante Valore T f 0.0005 T m 0.1 K 20 Tabella 1: Costanti della funzione di trasferimento Analisi del sistema Il sistema ad anello aperto presenta un polo in zero (sistema di tipo 1) e due poli reali e negativi. Il diagramma di Bode con evidenziato il margine di fase è riportato in Figura 3. Il sistema ad anello chiuso è stabile. 100 Bode Diagram Gm = 40 db (at 141 rad/sec), Pm = 38.3 deg (at 12.5 rad/sec) 50 Magnitude (db) 0 50 100 150 200 90 Phase (deg) 135 180 225 270 10 1 10 0 10 1 10 2 10 3 10 4 10 5 Frequency (rad/sec) Figura 3: Diagramma di bode e margine di fase del sistema Sistema di controllo Vogliamo rispettare le seguenti specifiche: tempo di salita t s < 0.12 secondi e sovraelongazione massima minore del 40%. Applicando le relazioni approssimate otteniamo le specifiche in frequenza sul margine di fase φ m 14 e sulla frequenza di attraversamento w c 30 rad/sec. Un controllore proporzionale sarebbe sufficiente ad ottenere il risultato desiderato ma per migliorare le prestazioni di inseguimento si decide di utilizzare un controllore PI con lo zero a frequenza molto inferiore di w c. La funzione che descrive il controllore è: C(s) = K P + K I s in cui K P = 1.35 e K I = 0.01. Il digramma di Bode del controllore è riportato in Figura 4 ed il diagramma di bode del sistema controllato in Figura 5 Il progetto è terminato: adesso il controllore deve essere implementato tramite lo xpc target. Setup dell architettura xpc La configurazione consiste principalmente nella configurazione della connessione fra host e target e nella generazione del kernel real time che la supporta. Il comando che permette di eseguire ciò è

50 Bode Diagram 40 Magnitude (db) 30 20 10 0 Phase (deg) 45 90 10 4 10 3 10 2 10 1 10 0 Frequency (rad/sec) Figura 4: Diagramma di bode del controllore PI 150 Bode Diagram Gm = 37.4 db (at 141 rad/sec), Pm = 33.3 deg (at 15 rad/sec) 100 Magnitude (db) 50 0 50 100 150 200 90 Phase (deg) 135 180 225 270 10 2 10 0 10 2 10 4 Frequency (rad/sec) Figura 5: Diagramma di bode e margine di fase del sistema controllato xpcsetup, che attiva la GUI di configurazione. Per verificare il funzionamento dell architettura si può eseguire il comando xpctest. Modello Simulink L applicazione di controllo deve essere codificata tramite un modello Simulink, perciò si riporta in un progetto Simulink il controllore PI che è stato progettato e si collegano gli ingressi e le uscite con gli appositi blocchi che rappresentano l ingresso e l uscita della scheda di acquisizione montata sullo host. Il modello Simulink è riportato in figura 6 in cui il blocco controllore definisce il controllore PI. La scheda montata sul nostro target è una scheda National Instruments 6024E, alimentata con tensione fra 10 e 10 Volts. Visto che vogliamo generare i riferimenti in gradi si aggiungono i blocchi che eliminano l offset di tensione e definiscono la scala.

Figura 6: Modello Simulink del sistema Compilazione dell applicazione e Download Il modello Simulink viene implementato tramite il Real Time Workshop che genera codice C eseguibile e lo compila. Il Real Time Workshop provvede anche all inserimento nel codice dei driver per la scheda di acquisizione. L applicazione poi generata viene scaricata sul target e può essere eseguita attivandola e controllandola tramite lo host. Esecuzione dell applicazione In seguito al download dell applicazione viene creato un oggetto di classe target, di default con nome tg, che rappresenta la via di comunicazione con il target. Questo oggetto ha vari attributi e metodi: un elenco di comandi base è riportato in Tabella 2 Comando Funzionamento +tg, start(tg) avvia l applicazione sul target -tg, close(tg) ferma l applicazione sul target tg.stoptime=<k> fissa la durata della simulazione a k secondi tg.sampletime=<k> fissa il periodo di campionamento a k secondi Tabella 2: Comandi di base dell oggetto Con questi semplici comandi si può eseguire l applicazione e fermarla, ma un vantaggio dello xpc target è che si mantiene comunque il controllo remoto dell applicazione attraverso lo host tramite un set di comandi avanzati. Controllo remoto e monitoraggio Quando l applicazione è in esecuzione il target funge da controllore per il processo mentre lo host permette il monitoraggio dei segnali ed l update di alcuni parametri.

Il monitoraggio è in tre forme: signal monitoring, signal logging, signal tracing. Il signal monitoring consiste nell acquisizione dei dati sui segnali senza riferimenti temporali (i.e. su richiesta). Il signal logging consiste nell acquisizione dei dati sui segnali riferiti al tempo per una successiva visualizzazione. Il signal tracing consiste nell acquisizione e visualizzazione online dei segnali. L update dei parametri consiste nel cambiare i valori delle costanti numeriche che definiscono il funzionamento dell applicazione. Riferendosi al modello Simulink questo vuol dire poter cambiare qualsiasi costante numerica in qualsiasi blocco, senza però poter aggiungere nuovi blocchi o eliminare quelli presenti. Vediamo ora i due principali ambienti in cui eseguire queste operazioni. Controllo da Matlab In Matlab il controllo dell applicazione è mantenuto tramite l oggetto target (N.B., di default ha nome tg). Cambiando le proprietà di questo oggetto si possono cambiare i parametri. Con il comando tg.showparameters= on si rendono visibili gli indici dei segnali nell oggetto tg. Con il comando tg.setparam(<id>,<k>) si ad esempio fissa il valore del parametro con indice <id> a <k>. Il monitoring è ottenuto con il comando tg.getsignal(<id>) si legge il valore del segnale con indice <id>. Per rendere visibili gli indici dei segnali nell oggetto tg utilizzare il comando tg.showsignals= on. Il logging è eseguito in maniera automatica: i valori dei segnali che finiscono in un blocco out nel modello simulink sono memorizzati. Per attivare il logging degli stati usare il menù di configurazione di Simulink. I valori vengono memorizzati nei vettori tg.outputlog, tg.timelog e tg.statelog (se la memorizzazione degli stati è attivata). xpc scopes Il tracing viene eseguito tramite gli scopes. Il comando <nome>=tg.addscope(<tipo>,<id>) crea un oggetto <nome> di tipo scope. <tipo> può essere host oppure target : uno scope host è attivo sullo host mentre uno scope target è visibile sul monitor del target, se presente. Dopo aver creato lo scope è necessario attivarlo, se vogliamo che acquisisca i dati; il comando necessario è start(<nome>) oppure +<nome>, mentre l acquisizione viene interrotta col comando stop(<nome>) oppure -<nome>. xpc GUIs In Matlab sono state introdotte varie GUIs per facilitare il controllo dello xpc dallo host. In Tabella 3 sono riportate le principali GUIs con il comando di attivazione e le funzioni. Comando Funzione xpcrctool controllo remoto dell applicazione xpctargetspy visualizza lo schermo del target sullo host xpcscope controllo degli host scopes xpctgscope controllo dei target scopes Tabella 3: GUIs per il controllo remoto xpcrctool è una utility di controllo remoto che permette sia di avviare/fermare l applicazione, sia di cambiare la durata di esecuzione ed il tempo di campionamento, sia di cambiare il valore dei parametri.

xpctargetspy permette di vedere sullo schermo dello host quello che si vede sullo schermo del target xpcscope permette di aggiungere host scopes per il signal tracing e di monitorare sullo host i segnali di interesse. xpctgscope permette di modificare i parametri dei target scopes. Simulink external model Un ulteriore modo per controllare l applicazione sul target è quello di utilizzare Simulink in external mode. In questa modalità Simulink funziona come pannello di comando dell applicazione in esecuzione sul target: cambiare il valore di un parametro nel modello comporta la variazione dello stesso parametro nel codice eseguito sul target. Ovviamente non è possibile cambiare la struttura del modello mentre si è in external mode. Interfaccia web L ultima possibilità di controllo remoto dell applicazione è rappresentata dall interfaccia web. Per controllare l applicazione via web è necessario chiudere il link fra Matlab ed il target, abilitare il browser (xpcwwwenable) e caricare la pagina web sull indirizzo http://<target address>:<target port>. Indirizzo e porta possono essere ricavati dal menu di setup (N.B. la porta di default è 22222). Figura 7: Interfaccia web di xpc-target Conclusioni In questa esercitazione avete visto i passi fondsamentali di sviluppo di un sistema di controllo con particolare enfasi sull implementazione del controllore tramite l architettura xpc target. In realtà xpc ha anche molte altre funzionalità. Per maggiori informazioni e progetti correlati contattate Alberto Bemporad: bemporad@dii.unisi.it, Stefano Di Cairano: dicairano@dii.unisi.it.