Ambienti di Sviluppo SW Classici Ambienti di sviluppo per Software General Purpose Ambiente per l editing del programma (con funzioni di auto-documentazione) Controllo di Configurazione Compilatore e Debugger (con modalità interattive) Produzione del codice per l utilizzo sulle macchine di destinazione Ambienti di Sviluppo Classici per Applicazioni di Controllo ed Automazione Linguaggi C, ADA, Assembler o specifici della macchina (ad es. Ladder) Editing del programma come per il SW general purpose Compilazione e programmazione del dispositivo (Download del programma) Debugging e Test con semplici simulatori di I/O
Ambienti di Sviluppo per il Rapid Prototyping Stesso linguaggio grafico dell ambiente di progettazione e sviluppo (ad es. MATLAB/SIMULINK, MATRIXx, ecc.) Algoritmi di integrazione numerica a passo fisso Virtualizzazione dei dispositivi di I/O Meccanismi di gestione del multitasking e di comunicazione tra task Generazione automatica del codice in real-time Possibilità di configurare il processo di generazione del codice finale Download dell applicazione real-time trasparente all utente Piattaforme Hardware dedicate (non quelle reali) Ambiente grafico flessibile per la costruzione di MMI Memorizzazione di tutte le variabili di interesse Variabili da monitorare richiamate direttamente dallo schema iniziale Possibilità di verifica della tempificazione dei task Controllo dello stato dell applicazione real-time
Architettura di un Ambiente per il Rapid Prototyping Configurazione APB Schedulers e Gestione Task Librerie dei Dispositivi di I/O Integratori Numerici a passo fisso Automatic Program Building Compilatore e Linker Interfaccia Comunicazione Interfaccia Comunicazione Logging Firmware di Download Algoritmo o Modello numerico Integratore Numerico MicroKernel e Scheduler Gestione I/O Ambiente di Sviluppo Off-Line MMI e Debugger On-Line Sistema Operativo General Purpose Dispositivi di I/O Macchine Target (Bare Board) Macchine Host
Componenti di un ambiente di Rapid Prototyping Ambiente di sviluppo Off-Line: sono le applicazioni che consentono di sviluppare i modelli di simulazione dell impianto, di realizzare prototipi di leggi di controllo ed automazione e di analizzarne le prestazioni. Librerie indipendenti dal Target: sono librerie di codice che consentono di integrare numericamente equazioni differenziali alle derivate ordinarie che possono essere utilizzate anche nella macchina real-time, indipendentemente dal tipo di macchina target. Librerie dipendenti dal Target: sono delle librerie che dipendono dalla macchina target e dal suo S.O. e che consentono di accedere run-time ai moduli di I/O e di utilizzare le primitive del kernel RT per la gestione dei task e lo scheduling. Ambiente di Automatic Program Building: è il vero e proprio ambiente per la generazione automatica di codice in rel-time in un linguaggio compatibile con il compilatore della macchina target. MMI e Debugger On-Line: sono le applicazioni che, tramite un canale dedicato (Comunicazione Host/Target), consentono on-line operazioni di monitoring delle variabili e la modifica dei parametri di funzionamento dell applicazione RT. Firmware di download: è il sistema che effettua il bootstrap della macchina target e che gestisce le operazioni di download dell applicazione RT. Logging: è una routine che gestisce la comunicazione con la macchina host per consentire il monitoraggio e la variazione on-line delle variabili e dei parametri dell applicazione RT.
Caratteristiche Generali di SIMULINK/RTW Ambiente di sviluppo off-line MATLAB per l analisi dinamica e la progettazione di algoritmi di controllo ed automazione SIMULINK per lo sviluppo di modelli di simulazione di controllori e di processi d impianto Linguaggio C per l implementazione di algoritmi speciali (S-functions) Flessibilità di Automatic Program Building Processo di produzione del SW RT gestito da un m-file (make_rtw.m) che richiama le varie routine per l implementazione degli step di produzione automatica del SW Definizione delle opzioni di compilazione del codice attraverso un system target file (.tlc) ed inclusione del codice ottimizzato per i singoli blocchi Simulink in una libreria di block target files Definizione di un makefile template dove vengono inserite le opzioni di compilazione e linking e fornita la possibilità di inclusione di moduli runtime specifici per il Target Caratteristiche del supporto real-time Produzione di codice embedded (ottimizzato, da installare manualmente sul Target) oppure di codice non embedded (non ottimizzato, scaricato anche automaticamente) Supporto per esecuzione non real-time (il più veloce possibile) per scopi di validazione, e per macchine target senza sistema operativo RT (bare board) o con RTOS Disponibilità di uno scheduler di simulazione e relativi codici per l integrazione ODE
Ambiente di Sviluppo xpc Target SO Macchina Host: Windows 98/2000/NT Ambiente di sviluppo e APB: SIMULINK/RTW Compilatore e Linker: Microsoft Visual C/C++ o WATCOM Macchina Target: sistemi PC-based Intel 386/486/Pentium e AMD k5/k6/athlon con una unità in virgola mobile (PC normali, PC industriali, PC104 e PC104plus) Firmware di loader: MS-DOS (poi sostituito completamente da un kernel in real-time) Real-Time OS: microkernel real-time in modalità protetta con flat memory model (WindwsNT) che gestisce la fase di download, logging, start/stop applicazione, minima interfaccia grafica, scheduling statico o pre-emptive rate monotonic Comunicazione Host/Target: TCP/IP e seriale RS232 Libreria Driver I/O: supporto per vari dispositivi di I/O di diverse case produttrici (National Instrument, Real-Time Devices, Diamond, ecc.) Libreria Task Management: Standard di SIMULINK/RTW MMI e Gestione on-line: MATLAB/SIMULINK tramite linea di comando MATLAB, con SIMULINK external mode o con la libreria Dials & Gauges, interfaccia via WEB Capacità di diagnostica: scarso supporto in linea (verifica del intervallo di esecuzione del task più veloce e reboot software della macchina)
Ambiente di Sviluppo dspace SO Macchina Host: Windows 98/2000/NT Ambiente di sviluppo e APB: SIMULINK/RTW con TLC dedicato Compilatore e Linker: PowerPC compiler o Texas Instrument DSP compiler Macchina Target: sistemi HW dedicati con soluzioni sia single board che sistemi modulari, oppure sistemi portatili per test speciali. Firmware di loader: proprietario e dipendente dalla macchina target Real-Time OS: microkernel real-time proprietario che gestisce il logging, start/stop applicazione, scheduling statico o pre-emptive rate monotonic, la tempificazione di task aperiodici, la memorizzazione dei dati su flash rom locale Comunicazione Host/Target: TCP/IP e su bus dedicato ad alta velocità Libreria Driver I/O: supporto per varie tipologie di I/O prodotte dalla dspace Libreria Task Management: Standard di SIMULINK/RTW con supporto per la gestione di task aperiodici MMI e Gestione on-line: applicazione specifica che consente oltre alle funzionalità di base, la completa automazione dell esperimento Capacità di diagnostica: scarso supporto in linea
Caratteristiche tecniche Diametro esterno fusoliera: 1,9 m Diametro rotori: 1,1 m Diametro corpo centrale: 0,25 m Potenza sistema propulsivo: 45 hp Autonomia: 1,5 h Velocità massima: 30 m/s (100 Km/h) Peso massimo al decollo: 800 N Carico utile: 100 N Tangenza operativa: 2000 m Rotori coassiali: 2 Velocità nominale rotori: 3000 rpm Motori: 3 a 120 Giri nominali motori: 11000
Impianti
Hardware di navigazione: onboard computer INS/GPS C-Migits III 64MB Flash Memory CPU Power Board Batterie Generatori 128MB SDRAM Bussola digitale C-100 Sensori navigazione RS232 MESA 4I23 2xQUARTZ NET2/ET PWM Servo System Ciclico longitudinale, laterale Collettivo Differenziale Manette motori RADIO MODEM SERIALE PC-104 Stack
Prototipazione software del sistema di guida e controllo