IL TEMPO È TUTTO ...E LABVIEW 2010 SA GESTIRLO AL MEGLIO 2010 E 5,00 SETTEMBRE ISSN

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "IL TEMPO È TUTTO ...E LABVIEW 2010 SA GESTIRLO AL MEGLIO 2010 E 5,00 SETTEMBRE ISSN 1972-3008"

Transcript

1 ISSN SETTEMBRE 2010 E 5,00 L A P R I M A R I V I S T A I T A L I A N A P E R L A C O M U N I T À L A B V I E W In caso di mancata consegna restituire all editore che si impegna a pagare la relativa tassa presso il CMP di Roserio - Milano IL TEMPO È TUTTO...E LABVIEW 2010 SA GESTIRLO AL MEGLIO

2 15 SCENARIO IL TEMPO È CRITICO Q ualunque sia la vostra attività, il fattore tempo è cruciale e, in quanto tecnici, ne parlate continuamente: frasi come time-to-market, tempo di sviluppo. tempo di produzione, tempo di elaborazione, tempo di ciclo, ecc. fanno ormai parte del vostro linguaggio corrente. Diventato una preziosa commodity, il tempo è sempre più importante, sia che si debbano acquisire dati più rapidamente, rappresentare con precisione segnali reali all interno di un programma, sincronizzare sistemi distribuiti o semplicemente terminare in modo più veloce il proprio lavoro. National Instruments è ben consapevole di questa esigenza di riduzione dei tempi e della sua immediata conseguenza, bene espressa per la prima volta da Beniamino Franklin: il tempo è denaro. Per questo, uno dei temi conduttori della scorsa edizione di NIWeek è stato condensato nello slogan It s time. E molte caratteristiche della nuova versione LabVIEW 2010 sono state introdotte proprio per ottimizzare il tempo, le prestazioni e la produttività dello sviluppo di nuove applicazioni. Ad esempio, come ha sottolineato John Graff durante la keynote del primo giorno, NI ha dedicato uno sforzo notevole al miglioramento dei tempi di setup iniziale, di configurazione e di manutenzione dei propri prodotti. Nello stesso tempo, la programmazione grafica permette di progettare, prototipare e rilasciare più rapidamente un sistema completo, mentre le piattaforme multicore e FPGA assicurano notevoli incrementi prestazionali rispetto al passato. Ad esempio, nelle operazioni matematiche real-time, LabVIEW 2010 offre un incremento di prestazioni run-time del 50% rispetto a LabVIEW Incremento che raggiunge il 100% nella manipolazione di bit e si avvicina al 150% nel controllo real-time e al 200% nei cicli for paralleli. Anche il compilatore LabVIEW, descritto in modo più approfondito nell articolo a pag. 14, è stato rivisto per migliorare le prestazioni run-time dei VI, ovvero la rapidità di esecuzione dei VI senza alcun cambiamento di codice. In particolare, gli sviluppatori NI hanno introdotto due strati nella gerarchia del compilatore per velocizzare l esecuzione del codice, con la grande novità del back-end basato su LLVM (Lowlevel virtual machine), una struttura di compilatore open source che permette una serie di ottimizzazioni. Insieme alla Dataflow intermediate representation (DFIR), introdotta in LabVIEW 2009, la LLVM permette di ridurre fino al 20% il tempo di esecuzione del codice di un applicazione LabVIEW 2010 rispetto alla versione precedente del nostro software, ha sottolineato il Dott. Truchard. Ma LabVIEW 2010 si è rivelato unico anche nelle applicazioni basate su I/O in cui il timing è cruciale intendendo sia la visibilità sul timing stesso, sia il rispetto di vincoli e target di timing. Il tempo è infatti incorporato nell ambiente di programmazione grafica e la capacità di integrazione e trigger su eventi time-based fa parte di ogni funzione rilevante di LabVIEW 2010, dalle strutture di programmazione, come i costrutti Timed Loop, all elaborazione dei segnali, alle operazioni matematiche. Infine, un aspetto cruciale in molti sistemi è la necessità di timing e sincronizzazione fra vari componenti. Nell hardware e nel software National Instruments, è disponibile una varietà di approcci per soddisfare specifici limiti di timing, da più processori nella stessa macchina, a sistemi distribuiti sincronizzati in modo globale. Tutti questi miglioramenti, naturalmente, sono sinergici. Ed è il loro insieme che, ad esempio, ha permesso a un team di studenti di progettare e prototipare il primo veicolo per guidatori non vedenti in soli sei mesi (questa applicazione è stata premiata come Best application of the year da un commosso Dottor Truchard), o a un azienda di introdurre sul mercato in appena tre mesi un bancomat dei telefonini usati, che riceve un cellulare dall utente, ne riconosce il modello grazie a un sofisticato sistema di visione e lo paga in contanti in base a un listino prestabilito. Queste e mille altre applicazioni hanno potuto e possono contare su un ambiente di programmazione efficace, efficiente e veloce e su piattaforme hardware che si avvicinano ormai ai limiti di prestazioni del silicio per tradurre velocemente la creatività del progettista in un prototipo funzionante. Perché, come Beniamino Franklin ebbe a dire, Non ritroveremo mai più il tempo perduto. Valerio Alessandroni

3 15 SOMMARIO IL TEMPO E CRITICO Uno dei temi conduttori della scorsa edizione di NIWeek è stato condensato nello slogan It s time L EVOLUZIONE DEL GRAPHICAL SYSTEM DESIGN National Instruments ha introdotto in LabVIEW 2010 caratteristiche e funzioni che rispondono alle esigenze espresse dal mercato SISTEMI EMBEDDED CON TIMING PRECISO CON LABVIEW 2010 E RIO Le caratteristiche di timing incorporate in LabVIEW 2010 aiutano a sfruttare l hardware RIO di NI SVILUPPO PIÙ VELOCE CON WIZARD ED ESEMPI LABVIEW Driver di strumenti, esempi, wizard ed Express VI di NI LabVIEW possono aiutare a fare di più con il tempo a disposizione STANDARDIZZARE UNA PIATTAFORMA PRO- VATA CON LABVIEW 2010 Attraverso il forum pubblico LabVIEW Idea Exchange gli utenti LabVIEW possono sottoporre e votare idee TEMPORIZZAZIONE E SINCRONIZZAZIONE IN LABVIEW LabVIEW offre funzionalità essenziali di temporizzazione e sincronizzazione per il vostro sistema IL COMPILATORE LABVIEW SOTTO IL COFANO LabVIEW è un linguaggio compilato: il codice G viene tradotto in codice macchina nativo ed eseguito dal computer host STIMOLAZIONE DI FIBRE VAGALI CARDIACHE Uno strumento genera impulsi in grado di eccitare le fibre nervose vagali ottenendo la funzione di un pacemaker inverso CARATTERIZZAZIONE PROVINI DI TERRA Un sistema di test automatico gestito da CompactRIO TECNICHE DI SINCRONIZZAZIONE Notifier e code come metodi alternativi per passare dati tra processi paralleli REPLICA DI VARIABILI CONDIVISE LabVIEW replica le variabili condivise quando viene eseguito lo SVE QUANDO L AUTOMOTIVE SI FA CONVEGNO A Torino si è discusso dell auto del futuro DALLA CARTA AL WEB Link ad articoli di approfondimento e altri documenti disponibili sul web LA VOCE DEGLI UTENTI Ecco alcuni spunti di discussione apparsi di recente sul Forum di ILVG.it MEDICAL INNOVATION SUMMIT Si è discusso dello sviluppo di dispositivi biomedicali e di tecnologie per l innovazione nella ricerca medica e nella sperimentazione clinica LA MOSTRA-CONVEGNO DI RIFERIMENTO PER IL MERCATO EMBEDDED National Instruments ha partecipato al recente Focus Embedded LA VISIONE ARTIFICIALE SECONDO NATIONAL INSTRUMENTS Discusse le caratteristiche essenziali di un software flessibile SE STAI USANDO LABVIEW non perdere l occasione per fare di più INNOVAZIONE ITALIANA A NIWEEK 2010 La collaborazione con NI offre a molte piccole e medie aziende italiane la possibilità di affacciarsi sullo scenario internazionale LABVIEW WANTS YOU! Dove trovare gli ultimi add-on 44 APPUNTAMENTI Oltre ad organizzare propri corsi e seminari, National Instruments sarà presente a numerosi eventi 46 LABVIEW E LAVORO Proposte concrete per coloro che sanno utilizzare LabVIEW AAA

4 15 A TU PER TU Valerio Alessandroni L EVOLUZIONE DEL GRAPHICAL SYSTEM DESIGN Con LabVIEW 2010, National Instruments ha dimostrato di sapere ascoltare il mercato, introducendo caratteristiche e funzioni che rispondono alle esigenze espresse dalla comunità dei partner e degli utenti In occasione di NIWeek 2010 abbiamo intervistato John Pasquarette, Vice President Product Marketing Software di National Instruments. Pasquarette, che ha gestito in modo impeccabile gli speaker della seconda giornata, commenta il ruolo della comunità LabVIEW, spiegando alcuni aspetti fondamentali di LabVIEW 2010 e fornisce qualche anticipazione sul software del futuro. D: Nel corso di NIWeek 2010 è stato sottolineato più volte l impegno che National Instruments intende porre in una più stretta collaborazione non solo con i suoi Alliance Partner, ma anche con la comunità degli sviluppatori LabVIEW, il mondo accademico e della ricerca, ecc.. Qual è il suo punto di vista? Pasquarette: Per quanto riguarda il mondo accademico in particolare, i nostri programmi sono ben noti, data la nostra lunga presenza in questo settore. Il nostro obiettivo principale è che gli studenti apprendano attraverso i nostri prodotti, per contribuire a risolvere la persistente carenza Fig1 - Afferma John Pasquarette, Vice President Product Marketing Software di National Instruments: In LabVIEW 2010 sono stati accolti i 14 suggerimenti raccolti dal programma LabVIEW Idea Exhange ritenuti migliori dagli stessi utenti 3

5 15 A TU PER TU di tecnici e ricercatori interessati alla tecnologia. Continueremo quindi a puntare sui giovani, offrendo loro strumenti sempre più semplici e divertenti per imparare. Un esempio molto significativo in tal senso è il nostro appoggio al programma First (For Inspiration and Recognition of Science and Technology). Passando ai nostri partner, abbiamo annunciato un programma finalizzato alla loro crescita, che permetterà anche alle piccole aziende di costruire con successo e distribuire i propri prodotti. I nostri partner possono oggi accedere più facilmente a LabVIEW e ai suoi numerosi add-on e partecipare attivamente all espansione della sua base di conoscenza, grazie anche a nuove caratteristiche presentate a NIWeek 2010, come l apertura nei confronti del Cloud Computing. Con LabVIEW FPGA Cloud Compile Service Beta, National Instruments offre ai programmatori di FPGA la possibilità di compilare i VI nel cloud, scaricandoli completamente dal computer di sviluppo. D: Un altro strumento importante di contatto con la comunità LabVIEW è rappresentato dalle social networks. In che modo vengono utilizzate da National Instruments per favorire lo scambio di idee con e fra Partner e utenti? D: In che modo viene gestita la conoscenza che i singoli partner o utilizzatori portano alla comunità LabVIEW? Ad esempio, i suggerimenti migliori ricevuti lo scorso anno sono stati incorporati nell attuale versione di LabVIEW, ma qual è stata la sorte degli altri suggerimenti espressi dagli utenti? Sono stati semplicemente scartati? Pasquarette: Il modo più attivo è probabilmente quello dei Forum di discussione, che è molto popolare nella comunità LabVIEW da ormai dieci anni. Attraverso il Forum, è possibile porre domande e ricevere risposte dai nostri specialisti ed è stata proprio la competenza di tali risposte a decretare il successo del Forum. Negli anni più recenti abbiamo messo in atto anche programmi di training più aggressivi per la certificazione degli utenti finali. E il modo migliore con il quale un utente può arrivare a dire Sono un buon programmatore LabVIEW, mentre i manager possono imparare che cosa c è dietro il nostro programma di Graphical System Design. Per quanto riguarda la seconda parte della domanda, in LabVIEW 2010 sono stati accolti i 14 suggerimenti raccolti dal programma LabVIEW Idea Exhange ritenuti migliori dagli stessi utenti (che li hanno potuti votare). Gli altri suggerimenti non sono stati scartati, ma rientreranno in lizza insieme alle nuove idee in vista di LabVIEW Fig2 National Instruments tiene in grande considerazione i suggerimenti che arrivano dai suoi partner e dal mercato in generale, sottolinea Pasquarette Pasquarette: Siamo molto attivi su Facebook e Twitter, come dimostra l elevato numero di post durante NIWeek Uno dei modi più interessanti per utilizzare i social media e il web in generale è l advertising. E infatti in crescita il numero dei nostri utenti che fanno conoscere i loro prodotti attraverso questi canali. D: Come ogni anno, anche a questa edizione di NIWeek sono state presentate numerose applicazioni in settori molto diversi fra loro, che dimostrano come i confini di LabVIEW sono in costante espansione. Fino a che punto queste applicazioni sono state possibili grazie al software National Instruments e fino a che punto ha invece contribuito il know-how di sviluppatori, system integrator e utenti? Pasquarette: In realtà, è la combinazione delle due componenti che fa funzionare il sistema. Oggi siamo riusciti a rendere estremamente semplice il deployment della piattaforma LabVIEW in qualsiasi applicazione, che si tratti di un sistema di test o di un sistema embedded. Ciò permette di costruire rapidamente un sistema robusto, testato e validato, in grado di gestire I/O, sensori, attuatori e strumenti. Ma a questo punto entra in gioco la creatività del singolo utente. Ciò che abbiamo fatto è stato tagliare i lunghi tempi di sviluppo e programmazione richiesti in preceden- 4

6 za, velocizzando lo sviluppo delle applicazioni, ma il successivo contributo dell utente rimane fondamentale. D: Quali sono i nuovi settori applicativi nei quali National Instruments intende entrare? Pasquarette: Per fare solo qualche esempio, posso citare i settori RF (ed in particolare della progettazione di radio), del signal processing e delle energie rinnovabili. Continueremo poi a focalizzarci sul controllo di macchine e sui controlli industriali embedded. D: Nell area espositiva di NIWeek 2010 erano presenti numerose piccole aziende che, grazie alla collaborazione con National Instruments, hanno oggi la possibilità di affacciarsi sul mercato internazionale. In quale misura l allargamento della base degli utenti con queste piccole realtà porta un vantaggio a National Instruments? Pasquarette: In generale, National Instruments ha bisogno di partner specializzati in molte aree. E le piccole aziende che sono entrate nella nostra orbita sono sempre delle realtà hi-tech dotate di un elevata specializzazione. Questo ci permette di avere a disposizione esperti in ogni area particolare, che si tratti di visione artificiale o di particolari sistemi di test, sia per affrontare un nuovo problema, sia per lo stesso sviluppo dei nostri nuovi prodotti. Come è già stato evidenziato, National Instruments tiene in grande considerazione i suggerimenti che arrivano dai suoi partner e dal mercato in generale. D: Uno noto slogan di National Instruments è The software is the instrument. Alla luce di quanto è stato presentato a NIWeek 2010 e soprattutto della forte spinta alla mobilità e al facile accesso al software da ogni punto del pianeta, è corretto affermare che The network (or the cloud) is the instruments? Pasquarette: Credo che fondamentalmente non ci sia una grande differenza fra questi slogan: essi evidenziano semplicemente forme diverse di software. Ma è il software di Graphical System Design che rimane al centro della questione, sia che si trovi sul web, sul cloud o sul computer locale. Gli strumenti hardware cambiano ed estendono le proprie capacità, ma il loro modello di riferimento è rimasto lo stesso. D: Un ultima domanda: in un ottica di medio termine, come sarà il software del futuro? Pasquarette: Vedo due direzioni di sviluppo fondamentali. Da una parte, il software sarà sempre più web-based e distribuito (e cito, a tale proposito, il forte impulso che National Instruments sta dando al tema dei Web Services con la nuova interfaccia Web UI). Ciò per due motivi: perché gli utenti richiedono un accesso sempre più comodo, anche attraverso terminali portatili, e perché il Cloud Computing è un modo molto conveniente e flessibile per scalare il proprio sistema di calcolo e di storage in base alle necessità. Dal lato opposto, il software tende ad integrarsi sempre più strettamente con l hardware embedded

7 15 WHAT S NEW SISTEMI EMBEDDED CON TIMING PRECISO CONLABVIEW 2010 E RIO(RECONFIGURABLE I/O) Le caratteristiche di timing incorporate in LabVIEW 2010 aiutano tecnici, ricercatori e progettisti embedded a sfruttare l'hardware RIO di NI con CPU real-time e FPGA (Field-programmable gate array) ad alte prestazioni per creare applicazioni robuste e che rispondono in modo reattivo A cura di Alessandro Plantamura Quando si progettano sistemi embedded, il timing è critico sia che si cerchi di assicurare che un loop di controllo sia eseguito in modo affidabile, che si risponda rapidamente a un segnale di I/O o che l elaborazione sia abbastanza veloce da soddisfare i requisiti applicativi. La costruzione di un sistema che gestisca queste esigenze di timing parte dall hardware; esso deve fornire il giusto equilibrio fra dimensioni, consumo di potenza, throughput elaborativo e latenza. In più, il software gioca un ruolo chiave nella regolazione dell esecuzione, nella risposta agli interrupt e nell equilibrare il tempo fra i task di calcolo. Integrare hardware e software embedded tenendo in considerazione il timing può essere un processo laborioso, ma il software LabVIEW 2010 e l hardware I/O riconfigurabile (RIO) di NI riducono lo sforzo necessario per costruire sistemi deterministici affidabili che possono gestire anche le applicazioni più stringenti. di trasferimento dati potente e diretta da LabVIEW o codice C. Il risultato finale è una piattaforma flessibile che è ideale per un ampia varietà di prototipi e progetti embedded. E, poiché l architettura NI-RIO è standard fra molti target hardware differenti, inclusi NI Single-Board RIO e NI CompactRIO, potete massimizzare il riutilizzo del codice quando installate le applicazioni su dispositivi embedded robusti od ottimizzati nei costi. L HARDWARE RIO DI NI OFFRE CPU REAL- TIME E CHIP FPGA (FIELD-PROGRAMMABLE GATE ARRAY) AD ALTE PRESTAZIONI I target hardware embedded di National Instruments si basano sull architettura RIO, che include una CPU che normalmente esegue un SO real-time e uno o più chip FPGA. Con questa combinazione, potete realizzare task che richiedono un timing con risoluzione di nanosecondi o parallelismo massiccio in hardware FPGA, mentre la CPU esegue in modo efficiente operazioni a elevato contenuto di calcolo come matematica a virgola mobile. La comunicazione fra il chip gli FPGA e la CPU avviene tipicamente su un bus PCI e il driver NI-RIO fornisce un interfaccia Figura 1. Il dispositivi embedded NI Reconfigurable I/O (RIO) sono costruiti attorno a un architettura comune caratterizzata da CPU real-time, chip FPGA e I/O modulare Per esempio, Ventura Aerospace ha usato NI Single-Board RIO, insieme a LabVIEW, per creare un sistema antincendio in grado di prevenire incendi catastrofici sugli aeromobili di trasporto merci FedEx. Algoritmi di controllo deterministico, networking e data logging sono stati gestiti sulla CPU real-time, mentre altri task critici sono stati implementati in hardware su chip FPGA. 6

8 WHAT S NEWS LABVIEW 2010 E IL TIMING INCORPORATO SEMPLIFI- CANO LA PROGRAMMAZIONE DI SISTEMI DETERMI- NISTICI AFFIDABILI Non solo è possibile utilizzare la programmazione grafica di LabVIEW per CPU (comprese quelle che eseguono un SO realtime) e chip FPGA (inclusi quelli in target hardware RIO), ma lo stesso linguaggio LabVIEW è stato progettato fin dall inizio tenendo presenti timing e sincronizzazione. Qui sotto vi è qualche esempio di come LabVIEW, insieme ai moduli LabVIEW Real-Time e LabVIEW FPGA, renda semplice il timing per applicazioni embedded. CARATTERISTICHE DI TIMING INTEGRATE NEL MODU- LO LABVIEW REAL-TIME Programmazione di applicazioni deterministiche, ad anello chiuso con LabVIEW Real-Time e il Timed Loop Il modulo Real-Time di LabVIEW 2010 estende la programmazione grafica di LabVIEW a target hardware real-time NI (inclusi i dispositivi RIO) e a selezionato hardware PC di terze parti. In base al target hardware, LabVIEW Real-Time utilizza automaticamente componenti del SO real-time VxWorks standard o ETS per assicurare prestazioni hard real-time deterministiche. Quando si programma un applicazione di controllo ad anello chiuso con LabVIEW Real-Time, il Timed Loop offre un modo intuitivo per eseguire periodicamente un sottoinsieme di codice, sincronizzare la velocità del loop con l hardware, prioritizzare più loop o anche assegnare un loop a un certo core della CPU tutto con pochi click del mouse. Inoltre, potete scegliere fra clock in kilohertz, megahertz o custom come base di timing del vostro loop. Figura 2. Il Timed Loop di LabVIEW vi permette di configurare intuitivamente il timing di loop, la sincronizzazione con hardware di I/O, la priorità di codice real-time, l affinità di CPU e altro SINCRONIZZAZIONE DI LOOP TEMPORIZZATI SU PIÙ TARGET Potete sfruttare la sincronizzazione IEEE 1588 su dispositivi hardware programmati con LabVIEW Real-Time per fare in modo che una data operazione avvenga pressoché simultaneamente su più sistemi embedded. In base al dispositivo che utilizzate, sono supportate sincronizzazioni IEEE 1588 software sotto il millisecondo, se via software, e/o hardware sotto il microsecondo, se effettuate via hardware. Per sfruttare la sincronizzazione tra target hardware basata sul software in LabVIEW Real-Time, usate il Timed Loop insieme all impostazione di sorgente di tipo Absolute Timing. Dopo la configurazione del Timed Loop, semplicemente una data di inizio e selezionate run per iniziare l esecuzione del loop su più sistemi contemporaneamente. Figura 3. Potete usare la sicronizzazione di tempo IEEE 1588 con il Timed Loop di LabVIEW per iniziare simultaneamente un operazione su più dispositivi embedded distribuiti (qui un NI CompactRIO) Uso del toolkit NI Real-Time Execution Trace per un analisi dettagliata del timing Usato con il LabVIEW Real-Time Module, il toolkit Real-Time Execution Trace può indicare informazioni dettagliate sul tempo di esecuzione di thread e subvi, priorità ed eredità fra elementi del codice. Potete usare il toolkit non solo per ottimizzare le vostre applicazioni real-time, ma anche per facilitare l identificazione di problemi potenziali come l inversione di priorità o condizioni di conflitto. Esecuzione deterministica di.m file su hardware real-time Se avete codice su file con estensione.m, potete usare il modulo NI LabVIEW MathScript RT per eseguire deterministicamente tale codice su un sistema embedded che programate con LabVIEW Real-Time. Essenzialmente, ciò rende lineare e rapido il percorso, un tempo complesso, di esecuzione di file di tipo.m su target hardware. Combinate semplicemente il vostro.m file con il codice grafico di LabVIEW usando il MathScript Node, quindi trascinate e depositate la vostra applicazione sul target real-time all interno del progetto LabVIEW. 7

9 15 WHAT S NEWS CARATTERISTICHE DI TIMING INCORPORATE NEL MODULO LABVIEW FPGA Ottimizzazione di applicazioni FPGA con il single-cycle Timed Loop Il single-cycle Timed Loop a ciclo singolo nel modulo FPGA di LabVIEW 2010 rimuove i registri dall interno del loop affinché possiate eseguire in modo ottimale un blocco di codice compatibile. Ciò rende possibili frequenze di loop fino a 40 MHz per operazioni critiche che devono essere eseguite in modo affidabile a livello hardware. Inoltre, il codice all interno di un single-cycle Timed Loop richiede meno spazio sull FPGA, lasciandovi più spazio per altri task. Figura 4. Il single-cycle Timed Loop di LabVIEW FPGA permttette di eseguire una sezione di codice in modo ottimale a frequenze di loop fino a 40 megahertz Uso del Loop Timer per regolare l esecuzione di codice FPGA Eseguire un operazione periodicamente su un chip FPGA è facile come usare il Loop Timer all interno di singoli loop sul vostro diagramma a blocchi LabVIEW FPGA. Usando il Loop Timer, avete la possibilità di controllare il timing di un loop come multiplo del clock hardware con periodi del loop nell ordine dei nanosecondi, microsecondi o millisecondi. Con una frequenza di clock di default di 40 MHz, il Loop Timer può essere usato per ottenere frequenze di loop in multipli di 25 ns. Figura 5. L evidenziazione dei percorsi critici nel modulo LabVIEW FPGA vi permette di identificare rapidamente i colli di bottiglia nella vostra applicazione FPGA Identificazione dei colli di bottiglia con evidenziazione dei percorsi critici L identificazione e la correzione delle violazioni di timing durante lo sviluppo di applicazioni FPGA può essere tedioso. Per facilitare questo processo, usate il modulo LabVIEW FPGA per evidenziare rapidamente ogni operazione nel percorso critico e saltare alla posizione appropriata nel codice sorgente, dove potete rimediare al problema programmando in modo più efficiente o usando stadi pipeline addizionali (Fig. 5). CONSIDERATE LABVIEW E NI RIO PER IL VOSTRO PROSSIMO PROTOTIPO O PRO- GETTO EMBEDDED L hardware NI RIO e LabVIEW sono stati usati con successo per fornire un timing stretto e un funzionamento affidabile in migliaia di prototipi e sistemi installati embedded. Quando pianificate il vostro prossimo progetto embedded, considerate i risparmi di tempo e di costi che un hardware pronto all uso, potente e flessibile può offrire oltre ai vantaggi di usare la programmazione grafica di LabVIEW, le sue caratteristiche di timing incorporate e centinaia di librerie IP per abbreviare il vostro ciclo di sviluppo. SINCRONIZZAZIONE DEL TIMING DI APPLICAZIONI REAL-TIME E FPGA CON INTERRUPT Con target hardware FPGA selezionati, potete generare interrupt da applicazioni FPGA per notificare eventi a programmi host real-time, come la lettura di dati, il verificarsi di un errore o il completamento di un a task. Sfruttando la funzione Interrupt in LabVIEW FPGA e il metodo Wait on Interrupt in LabVIEW Real-Time, potete sincronizzare il vostro intero sistema embedded. Sono disponibili fino a 32 interrupt. Note sull autore Laureato in ingegneria biomedica al Politecnico di Milano, Alessandro Plantamura lavora in qualità di Technical Marketing Engineer presso National Instruments Italy 8

10 WHAT S NEW 15 WIZARD ED ESEMPI LABVIEW Driver di strumenti, esempi, wizard ed Express VI di NI LabVIEW possono aiutarvi a fare di più con il tempo che avete a disposizione A cura di Alessandro Plantamura LabVIEW semplifica l automazione degli strumenti di test e misura riducendo la quantità di lavoro che dovete eseguire per controllare il vostro strumento. Per esempio, i driver per strumenti LabVIEW vi permettono di risparmiare tempo eliminando la necessità di imparare set di comandi specifici per ogni strumento che usate. Tuttavia, il tempo dedicato a localizzare ed installare i driver di strumenti rimane tempo speso lavorando su qualcosa di diverso del vostro obiettivo primario. L Instrument Driver Finder (IDFinder) in LabVIEW riduce il tempo di setup del controllo di strumenti fino al 400 per cento. L Instrument Driver Finder rileva gli strumenti collegati e localizza driver Plug and Play LabVIEW compatibili fra le migliaia di driver sulla Instrument Driver Network (IDNet). Dopo avere selezionato il driver che volete installare, l Instrument Driver Finder scarica e installa l API del driver e i relativi esempi, aiutandovi a stabilire una comunicazione con il vostro strumento in meno tempo. Dopo l installazione del driver dello strumento, usate l NI Figura 1. Instrument Driver Finder e NI Example Finder Example Finder per cercare o navigare fra gli esempi di programmi che coprono tutto, dall analisi alla presentazione per usare il vostro driver di strumento. Il codice esemplificativo in LabVIEW è pronto all esecuzione, pertanto potete usarlo così come è per semplici applicazioni. Per applicazioni più complesse, potete modificare ed estendere gli esempi base aggiungendo nuovo codice o copiando parti di più esempi per creare l applicazione. Usando sezioni di codice esemplificativo si può risparmiare tempo di sviluppo iniziale, oltre a tempo di collaudo e debugging. GENERAZIONE AUTOMATICA DI CODICE DI CONTROL- LO DI STRUMENTI Quando non riuscite a trovare un driver di strumenti per il vostro strumento o volete aggiungere funzionalità a un driver esistente, i wizard LabVIEW possono generare automaticamente gran parte del codice, tagliando la quantità di lavoro che dovete fare. Il wizard Create New Instrument Driver Project usa template per vari tipi di strumenti per creare rapidamente il framework che vi serve per sviluppare il vostro driver di strumenti. Il wizard popola il framework con comandi comuni e include documentazione dettagliata su come utilizzare il framework generato e creare un driver di strumenti pienamente funzionante. Se esiste già un driver per lo strumento che volete usare ma manca un comando che vi serve, il wizard Create Instrument Driver VI può generare il codice LabVIEW necessario basandosi sull informazione che fornite. Tale wizard esegue per voi il lavoro noioso, permettendovi di non dovere creare stringhe di comando custom e distribuire i dati restituiti dallo strumento. EXPRESS DI ANALISI E DI FILE DI I/O La connettività e la comunicazione di strumenti sono solo l inizio di qualsiasi progetto di controllo di strumenti. Oltre alle opzioni per codice grafico e matematica testuale, LabVIEW include un ampia gamma di Express VI che potete usare per impostare l elaborazione, l analisi o gli output di cui avete bisogno selezionando opzioni in un area di dialogo. Gli Express VI possono aiutarvi ad ottenere i seguenti obiettivi: Filtraggio, trigger e gate di segnali d ingresso Esecuzione di misure di distorsione, spettrali e di ampiezza Calcolo delle curve di fitting migliori a analisi statistica complessa Salvataggio dei risultati in file e report Questi task sono solo alcuni esempi della vasta funzionalità fornita da LabVIEW. Per un elenco completo degli Express VI e di altri VI e funzioni incorporati, consultate il riferimento a VI e funzioni nel LabVIEW Help. 9

11 15 TIPS&TECHNIQUES STANDARDIZZARE UNA PIATTAFORMA PROVATA, USER-DRIVEN CON LABVIEW 2010 Attraverso il forum pubblico LabVIEW Idea Exchange, introdotto lo scorso anno, gli utenti LabVIEW possono sottoporre le loro idee e votare quelle che preferiscono Todd Sierer La LabVIEW Community degli utenti mondiali ha sempre avuto un ruolo attivo nel supporto ai membri e nel fornire feedback alla R&D NI per migliorare il prodotto. Lo scorso anno, NI ha introdotto un nuovo modo per raccogliere i feedback sul prodotto: LabVIEW Idea Exchange. Attraverso questo forum pubblico, gli utenti LabVIEW possono sottoporre le loro idee sulle caratteristiche del prodotto e votare quelle che preferiscono. Qui sotto è riportata una breve sintesi delle 13 caratteristiche proposte dagli utenti che sono state implementate dalla R&D LabVIEW in questa versione. Migliore utilizzabilità di LabVIEW Rendere più facile la lettura del codice con etichette dei fili Paul Falkenstein, Pennsylvania Voti Tracciare i collegamenti dati su lunghi fili nel vostro codice LabVIEW può essere difficile. Migliorate la leggibilità del codice aggiungendo etichette ai fili lunghi e rendete più semplice sapere quali fili appartengono a quali terminali. Christian Altenbach, California Voti I dati stringa sono spesso semplice testo, ma possono rappresentare anche dati esadecimali, codici \ e password. Una nuova radice sui terminali stringa commuta per visualizzare il tipo di dati stringa assegnati, rendendo più facile la letttura e il troubleshoot del vostro codice. Linearizzare il diagramma a blocchi con il nodo di gestione errori flessibile Dany Allard, Montreal Voti Invece di usare una serie di nodi di gestione errori per combinare i dati di errore, il nuovo nodo ora si espande per raccogliere tutti i fili di errore richiesti dal vostro codice, riducendo il disordine sul vostro diagramma a blocchi. Editare più velocemente le connessioni dei fili SubVI Yair Neeman, Israele Voti Cambiare i terminali di cablaggio dei subvi tramite il pannello connettori richiedeva normalmente eccessivi click del mouse. Ora potete cambiare più velocemente le connessioni con un nuovo shortcut da tastiera. Differentiare i dati stringa con una nuova radice di terminale Ridurre l ingombro del diagramma a blocchi con una nuova costante di cluster Chris Bolin, Texas (NI) Voti La nuova costante di cluster è un altra caratteristica salvaspazio di LabVIEW Dopo avere definito gli elementi in una costante di cluster, cliccate con il tasto destro su di essa per sostituirla con una piccola icona sul vostro diagramma a blocchi per ridurre lo spazio e migliorare la leggibilità del codice (vedi alla pagina successiva). Nuova funzionalità di gestione progetti di LabVIEW Chiudere tutti i VI all interno di un progetto e usare la visualizzazione menu Progetti/VI potenziata Simon Holman, Germania - 4 Voti (chiudere tutti i VI) Greg Sussman, Pennsylvania - 16 Voti (visualizzazione menu) 10

12 DALLA TEORIA ALLA PRATICA Mano a mano che le applicazioni LabVIEW diventano più avanzate, gli sviluppatori devono aprire più progetti LabVIEW contemporaneamente. Prima di LabVIEW 2010, l opzione menu Close All VIs chiudeva tutti i VI aperti e non solo quelli di un particolare progetto. LabVIEW 2010 include una nuova opzione menu Close All VIs in Project per facilitare la gestione di elevate quantità di VI e progetti multipli. LabVIEW 2010 include inoltre una navigazione migliorata nel menu Windows, dove progetti e VI sono separati fra loro per una commutazione più veloce fra i progetti. Nuovi risparmia tempo con Quick Drop Sostituire un oggetto usando gli hotkey Quick Drop e Create Custom Quick Drop Dany Allard, Montreal - 21 Voti (sostituire) Dave Snyder, Seattle - 8 Voti (hotkey) Quick Drop, introdotto in LabVIEW 8.5, è diventato una delle nuove caratteristiche più popolari in LabVIEW da diversi anni. Con questa caratteristica, potete cercare, selezionare e disporre VI usando una breve serie di tasti. Usate Quick Drop in LabVIEW 2010 per sostituire un VI selezionato con un altro dall interno dell utility Quick Drop, risparmiando tempo di sviluppo. Potete anche creare i vostri hotkey e migliorare la vostra efficienza di programmazione ancora di più. Altri miglioramenti in LabVIEW 2010 sottoposti dalla Community - Massimo default di Undo impostato a 99 Putnam Monroe, New York 91 Voti - Struttura elementi sul posto spostata nella palette strutture Jim Kring, California - 91 Voti Esplorate altre caratteristiche LabVIEW sottoposte dagli utenti e proponete e votate voi stessi su ni.com/ideas. Note sull autore Todd Sierer è un Product Marketing Manager di LabVIEW in National Instruments. E' laureato in ingegneria elettrica alla Brigham Young University.

13 15 TIPS & TECHNIQUES TEMPORIZZAZIONE E SINCRONIZZAZIONE IN LABVIEW Con costrutti di temporizzazione inerenti al linguaggio, il nanosecond timing engine e la struttura Timed Loop, LabVIEW offre funzionalità essenziali di temporizzazione e sincronizzazione per il vostro sistema Joseph Di Giovanni La temporizzazione è un elemento essenziale in tutte le applicazioni di test, controllo e progettazione e dovrebbe essere una considerazione chiave in ogni sistema. Le tecnologie di temporizzazione e sincronizzazione correlano eventi nel tempo, cosa necessaria per eseguire attività coordinate. Affinché il software possa orchestrare queste attività coordinate, il programma deve essere sincronizzato e avere un concetto di tempo. Il software LabVIEW ha costrutti di temporizzazione inerenti al linguaggio che potete usare per sincronizzare il vostro software nel vostro sistema. LA TEMPORIZZAZIONE LABVIEW IN DETTAGLIO _ NANOSECOND ENGINE E NI-TIMESYNC LabVIEW usa un componente software chiamato nanosecond engine per tenere traccia del tempo all interno di un programma. Il nanosecond engine viene eseguito dietro le quinte e si interfaccia con il SO per gestire il tempo. Vi è una varietà di funzioni e strutture in LabVIEW che usano il nanosecond engine per gestire il tempo, come la funzione Wait e la struttura Timed Loop. Il nanosecond engine può usare un real-time clock (RTC) locale o può essere pilotato da un clock di riferimento esterno integrato attraverso l NI Time Sync Framework (NI-TimeSync) (figura 1). Figura 1. Il nanosecond timing engine e NI-TimeSync di LabVIEW si coordinano per fornire un clock alla vostra applicazione. LabVIEW 2010 introduce un nuovo clock disponibile per NI- TimeSync. Il plug-in Standard IEEE 1588 disponibile con NI- TimeSync 1.1 offre un riferimento di clock che è sincronizzato con risoluzione di 1 ms. Potete configurare più dispositivi su una rete in modo che usino lo stesso clock di riferimento IEEE 1588, permettendo a più piattaforme di sincronizzarsi su una rete Ethernet standard. Potete anche configurare il vostro dispositivo in modo che usi il Software 1588 Precision Time Protocol con l utility NI Measurement & Automation Explorer (MAX) (figura 2). Figura 2. Configurazione di Time Synchronization Source for Device da MAX STRUTTURE DI TEMPORIZZAZIONE LABVIEW TIMED LOOP Il Timed Loop è una struttura a loop che viene eseguita quando la sorgente di temporizzazione configurata genera un evento. Ha un ampia gamma di sorgenti di temporizzazione che sono descritte più avanti. Usate il Timed Loop quando volete sviluppare applicazioni che richiedono elaborazione a velocità multiple, temporizzazione e sincronizzazione precise, feedback sull esecuzione del loop, caratteristiche di temporizzazione che cambiano dinamicamente o più livelli di priorità di esecuzione. Oltre alle caratteristiche di stretta temporizzazione del Timed Loop, la struttura può essere usata per assegnare affinità dei processori per la programmazione multicore. 12

14 TIPS & TECHNIQUES Usando il Timed Loop, potete specificare una varietà di attributi di temporizzazione inclusi periodo, priorità, deadline, offset e timeout. Con la combinazione di questi attributi e l ampia gamma di sorgenti di temporizzazione, potete creare sofisticate applicazioni indipendentemente dai vincoli di temporizzazione richiesti (figura 3). Figura 3. La struttura Timed Loop di LabVIEW Structure per l esecuzione di codice con vincoli di temporizzazione SORGENTI DI TEMPORIZZAZIONE PER IL TIMED LOOP Una sorgente di temporizzazione controlla l esecuzione di una struttura temporizzata. Potete selezionare fra tre classi di sorgenti di temporizzazione: interna, triggerata da software o esterna (figura 4). Figura 4. Sorgenti di temporizzazione per la struttura Timed Loop: sorgenti di temporizzazione interne incorporate, sorgenti triggerate da software e sorgenti esterne SORGENTE DI TEMPORIZZAZIONE INTERNA La sorgente di temporizzazione interna usa il nanosecond engine per tenere traccia del tempo. Potete configurare il Timed Loop in modo che usi un clock a 1 khz o un clock a 1 MHz su un target real-time (RT) supportato. Usando il clock a 1 khz, potete schedulare una struttura temporizzata con una risoluzione del millisecondo. Tutte le piattaforme LabVIEW che possono eseguire una struttura temporizzata supportano la sorgente di temporizzazione a 1 khz. I targets che supportano la sorgente di temporizzazione a 1 MHz possono schedulare una struttura temporizzata con una risoluzione del microsecondo. Potete anche configurare la struttura Timed Loop in modo che usi una di queste sorgenti di temporizzazione incorporate come riferimento di tempo assioluto per iniziare l esecuzione della struttura usando timestamp. Per esempio, potete configurare il Timed Loop in modo che parta ad un orario preciso tutti i giorni. Una sorgente di temporizzazione interna addizionale è il Synchronize to Scan Engine, che sincronizza la struttura temporizzata con l NI Scan Engine. Usando questa sorgente di temporizzazione, la struttura temporizzata viene eseguita alla fine di ogni scansione. Il periodo fra le iterazioni corrisponde all impostazione dello Scan Period (μs) che configurate sulla pagina NI Scan Engine. SORGENTI DI TEMPORIZZAZIONE TRIGGERATE DA SOFTWARE Potete creare una sorgente di temporizzazione triggerata da software in modo che triggeri una struttura temporizzata in base a un evento definito via software. Usate il VI Create Timing Source per creare una sorgente di temporizzazione triggerata da software. Usate il VI Fire Software-Triggered Timing Source per triggerare programmaticamente un Timed Loop controllato da una sorgente di temporizzazione triggerata da software. Potete usare una sorgente di temporizzazione triggerata da software come un gestore di eventi RT-compatibile o per notificare a un Timed Loop consumer quando diventano disponibili nuovi dati in un applicazione producer-consumer. SORGENTI DI TEMPORIZZAZIONE ESTERNE Potete creare sorgenti di temporizzazione esterne per controllare una struttura temporizzata con NI-DAQmx Versione 7.2 o successiva. Usate il VI Create Timing Source del DAQmx per selezionare programmaticamente una sorgente di temporizzazione esterna. Potete anche usare più tipi di sorgenti di temporizzazione NI-DAQmx, incluse le sorgenti Frequency, Digital Edge Counter, Digital Change Detection e Signal from Task per controllare strutture temporizzate. Usate i VI DAQmx - Data Acquisition per creare i seguenti tipi di sorgenti di temporizzazione NI-DAQmx per controllare una struttura temporizzata: Frequency Crea una sorgente di temporizzazione che provoca l esecuzione di una struttura temporizzata ad una frequenza costante. Digital Edge Counter Crea una sorgente di temporizzazione che provoca l esecuzione di una struttura temporizzata sui fronti di salita o di discesa di un segnale digitale. Digital Change Detection Crea una sorgente di temporizzazione che provoca l esecuzione di una struttura temporizzata sui fronti di salita o di discesa di una o più linee digitali. Signal from Task Crea una sorgente di temporizzazione che usa il segnale da voi specificato per determinare quando una struttura temporizzata viene eseguita. Note sull autore Joseph Di Giovanni è un Software Group Manager della ricerca e sviluppo di LabVIEW FPGA in National Instruments. E' laureato in ingegneria elettronica alla Georgia Tech. 13

15 15 TIPS & TECHNIQUES IL COMPILATORE LABVIEW: CHE COSA C È SOTTO IL COFANO LabVIEW è un linguaggio compilato. Ciò significa che il codice G che scrivete viene tradotto in codice macchina nativo ed eseguito direttamente dal computer host Jeffrey Phillips La progettazione di un compilatore anche per un linguaggio di programmazione banale può diventare facilmente un problema complesso. La teoria dei compilatori è considerata una conoscenza ad elevata specializzazione anche fra gli ingegneri software professionisti. Il moderno LabVIEW è un linguaggio multiparadigmatico, che abbraccia un ampia varietà di concetti inclusi il flusso dei dati, l orientamento agli oggetti e la programmazione guidata da eventi. LabVIEW raggiunge inoltre piattaforme diverse, eseguendo o su più SO (Windows, Linux, Mac), più chipset (PowerPC, Intel) e anche target come dispositivi embedded e chip FPGA (Field-programmable gate array), che si differenziano dalle tradizionali architetture PC. Come potete dedurre, il compilatore di LabVIEW è un sistema sofisticato e per spiegarlo bisognerebbe andare molto al di là di un singolo articolo. Questo particolare articolo introduce il compilatore di LabVIEW, spiega brevemente la sua evoluzione a partire dal 1986 con LabVIEW 1.0, e descrive la sua forma attuale. Inoltre, esplora le recenti innovazioni dei compilatori e sottolinea i vantaggi di queste nuove caratteristiche per l architettura LabVIEW e per voi. COMPILAZIONE E INTERPRETAZIONE LabVIEW è un linguaggio compilato, cosa che può sorprendere perché, durante il tipico sviluppo G, non vi è una fase esplicita di compilazione. Al contrario, potete cambiare il vostro VI e premere semplicemente il pulsante Run per eseguirlo. Compilazione significa che il codice G che scrivete viene tradotto in codice macchina nativo ed è quindi eseguito direttamente dal computer host. Un alternativa a questo approccio è l interpretazione, dove i programmi sono eseguiti indirettamente da un altro programma software (chiamato interprete) anziché direttamente dal computer. Nulla nel linguaggio LabVIEW richiede che sia compilato o interpretato; infatti, la prima versione di LabVIEW usava un interprete. Nelle versioni successive, il compilatore ha sostituito l interprete per spingere le prestazioni di esecuzione dei VI, cosa che è un comune differenziatore dei compilatori rispetto agli interpreti. Gli interpreti tendono a essere più facili da scrivere e mantenere a scapito di prestazioni di esecuzione più lente, mentre i compilatori tendono a essere più complessi da implementare ma offrono tempi di esecuzione più veloci. Uno dei benefici primari del compilatore di LabVIEW è che i miglioramenti apportati al compilatore sono visti da tutti i VI senza la necessità di cambiamenti. Infatti, uno dei focus primari della versione 2010 di LabVIEW sono state le ottimizzazioni all interno del compilatore per velocizzare il tempo di esecuzione dei VI. UNA PROSPETTIVA STORICA DEL COMPILATORE DI LABVIEW Prima di saltare in una discussione approfondita degli attuali elementi interni del compilatore, conviene riassumere lo sviluppo del compilatore dalle sue prime forme, oltre 20 anni fa. Alcuni degli algoritmi che introdurremo, come propagazione dei tipi, clumping e inplaceness, sono descritti in maggiore dettaglio nella discussione sul moderno compilatore di LabVIEW. LabVIEW 1.0 è stato introdotto nel Come già detto, nella sua prima versione LabVIEW usava un interprete ed era eseguibile solo sul Motorola A quel tempo, il nuovo linguaggio LabVIEW era molto più semplice, cosa che alleviava anche i requisiti del compilatore (allora un interprete). Per esempio, non c era polimorfismo e l unico tipo numerico era quello in virgola mobile a precisione estesa. LabVIEW 1.1 vide l introduzione dell algoritmo inplaceness, o dell inplacer. Tale algoritmo identifica le allocazioni dei dati che potete riutilizzare durante l esecuzione, evitando inutili copie dei dati e, di conseguenza, velocizzando spesso nettamente le prestazioni di esecuzione. In LabVIEW 2.0, l interprete è stato sostituito con un effettivo compilatore. Pur essendo ancora targetizzatorimanendo eseguibile ancora esclusivamente sui Motorola Motorola, LabVIEW poteva generare codice macchina nativo. Nella Version 2.0 è stato aggiunto anche l algoritmo di propagazione dei tipi di dato che, fra le altre cose, gestisce il controllo della sintassi e la risoluzione dei tipi sul linguaggio LabVIEW in crescita. Un altra grossa innovazione in LabVIEW 2.0 è stata 14

16 TIPS & TECHNIQUES l introduzione del clumper. L algoritmo di clumping identifica il parallelismo nel diagramma LabVIEW e raggruppa i nodi in clump, che possono essere eseguiti in parallelo. Gli algoritmi di propagazione dei tipi, inplaceness e clumping continuano a essere componenti importanti del moderno compilatore LabVIEW e hanno visto numerosi miglioramenti incrementali nel tempo. L infrastruttura del nuovo compilatore in LabVIEW 2.5 ha aggiunto supporto per back end multipli, specificamente Intel x86 and Sparc. LabVIEW 2.5 ha inoltre introdotto il linker, che gestisce le dipendenze fra VI per tracciarli quando devono essere ricompilati. Due nuovi back end, PowerPC e HP PA-RISC, sono stati aggiunti insieme al folding delle costanti in LabVIEW 3.1. LabVIEW 5.0 e 6.0 hanno ridato slancio al generatore di codice e hanno aggiunto la GenAPI, un interfaccia comune ai molteplici back end. La GenAPI cross-compila, cosa importante per lo sviluppo real-time. Gli sviluppatori real-time tipicamente scrivono i VI su un PC host ma li installano (e li compilano per) un target real-time. Inoltre, è stata inclusa una forma limitata di spostamento del codice loop-invariante. Infine, il sistema di esecuzione multitasking di LabVIEW è stato esteso per supportare thread multipli. LabVIEW 8.0 si è basato sull infrastruttura GenAPI introdotta nella Version 5.0 per aggiungere un algoritmo di allocazione dei registri. Prima dell introduzione della GenAPI, i registri erano hardcoded nel codice generato per ogni nodo. Sono state introdotte anche forme limitate di eliminazione del codice irraggiungibile e del codice morto. LabVIEW 2009 ha apportato come novità LabVIEW a 64 bit e la Dataflow epresentation (DFIR). La DFIR è stata immediatamente usata per costruire forme più avanzate di spostamento del codice loopinvariante, folding delle costanti, eliminazione del codice morto ed eliminazione del codice irraggiungibile. Nuove caratteristiche del linguaggio introdotte in 2009, come il For Loop parallelo, sono state basate sulla DFIR. Finalmente, in LabVIEW 2010, la DFIR offre nuove ottimizzazioni del compilatore, come la riassociazione algebrica, l eliminazione delle sottoespressioni comuni, il loop unrolling e l inlining dei subvi. Questa versione include anche l adozione di una macchina virtuale a basso livello (LLVM) nella catena del compilatore LabVIEW. La LLVM è un infrastruttura compilatore open-source molto usata nell industria. Con la LLVM, sono state aggiunte nuove ottimizzazioni come la pianificazione delle istruzioni, il loop unswitching, la combinazione delle istruzioni, la propagazione condizionata e un allocatore di registri più sofisticato. L ATTUALE PROCESSO DI COMPILAZIONE Con una comprensione di base della storia del compilatore di LabVIEW, ora potete esplorare il processo di compilazione nel moderno LabVIEW. In primo luogo, esaminiamo una visione d insieme ad alto livello dei vari passi di compilazione e rivisitiamo quindi ogni parte in maggiore dettaglio. Il primo passo nella compilazione di un VI è l algoritmo di propagazione dei tipi di dato. Questo passo complesso è responsabile del riconoscimento dei tipi implicati per i terminali che possono adattarsi al tipo di dato, nonché del rilevamento degli errori di sintassi. Tutti i possibili errori di sintassi nel linguaggio di programmazione G sono rilevati durante l algoritmo di propagazione dei tipi. Se l algoritmo determina che il VI è valido, la compilazione continua. Dopo la propagazione dei tipi di dato, il VI viene convertito dal modello usato dall editor del diagramma a blocchi nella DFIR usata dal compilatore. Dopo la conversione nella DFIR, il compilatore esegue diverse trasformazioni sul grafico DFIR per decomporlo, ottimizzarlo e prepararlo per la generazione del codice. Molte delle ottimizzazioni del compilatore ad esempio, l inplacer e il clumper sono implementate come trasformazioni e vengono eseguite in questo passo. Dopo l ottimizzazione e la semplificazione del grafico DFIR, viene tradotto nella rappresentazione intermedia LLVM. Vengono eseguiti uuna serie di passaggi LLVM sulla rappresentazione intermedia per ottimizzarla e abbassarla ulteriormente, fino al codice macchina. PROPAGAZIONE DEI TIPI DI DATO Come detto in precedenza, l algoritmo di propagazione dei tipi identifica i tipi di dato e rivela gli errori di programmazione. Questo algoritmo ha diverse responsabilità, incluse le seguenti: Identificare i tipi di dato implicati per i terminali che possono adattarsi al tipo Riconoscere le chiamate ai subvi e determinare la loro validità Calcolare la direzione dei fili Verificare i cicli nel VI Rivelare e riportare gli errori di sintassi Questo algoritmo viene eseguito dopo ogni cambiamento che apportate a un VI per determinare se il VI è ancora buono, quindi è un po discutibile il fatto che questo passo faccia realmente parte della compilazione. Tuttavia, è il passo nella catena di compilazione di LabVIEW che corrisponde più chiaramente ai passi di analisi lessicale, parsing o analisi semantica in un compilatore tradizionale. Un semplice esempio di un terminale che si adatta al tipo di dato è la primitiva di somma in LabVIEW. Sommando due interi, il risultato è un intero, ma se sommate due numeri a virgola mobile, il risultato è un numero a virgola mobile. Modelli simili esistono per tipi composti come array e cluster. Vi sono altri costrutti del linguaggio come gli shift register che hanno regole di tipizzazione più complesse. Nel caso della primitiva di somma, il tipo di dato in uscita è determinato dai tipi in ingresso e si dice che il tipo si propaga attraverso il diagramma, da cui il nome dell algoritmo. 15

17 15 TIPS & TECHNIQUES Questo esempio illustra anche la responsabilità nel controllo della sintassi dell algoritmo di propagazione dei tipi. Supponete di cablare un intero e una stringa alla primitiva di addizione che cosa accadrebbe? In questo caso, sommare questi due valori non ha senso, quindi l algoritmo di propagazione dei tipi lo riporta come errore e marca il VI come cattivo, causando la rottura della freccia di esecuzione. RAPPRESENTAZIONI INTERMEDIE CHE COSA E PERCHÉ Dopo che la propagazione dei tipi decide che un VI è valido, la compilazione continua e il VI è tradotto nella DFIR. Prendiamo in considerazione le rappresentazioni intermedie (IR) in generale prima di dettagliare la DFIR. Una IR è una rappresentazione del programma utente che è manipolata mano a mano che la compilazione progredisce attraverso le varie fasi. La nozione di IR è comune nella moderna letteratura sui compilatori e può essere applicata a qualsiasi linguaggio di programmazione. Consideriamo qualche esempio. Oggi esiste una varietà di IR ben note. Due esempi comuni sono gli alberi di sintassi astratti (AST) e il codice a tre indirizzi. La figura 1 mostra una rappresentazione AST dell espressione Figura 1. Esempio di IR AST t0 <- y t1 <- 3 t2 <- t0 * t1 t3 <- x t4 <- t3 + t2 x + y * 3, mentre la tabella 1 nella parte destra, mostra la rappresentazione basata su codice a tre indirizzi. Un ovvia differenza fra queste due rappresentazioni è che l AST è molto più ad alto livello. Essa si avvicina più alla rappresentazione sorgente del programma (C) che alla rappresentazione target (codice macchina). Il codice a tre indirizzi, invece, è a basso livello e assomiglia più all assembly. Le rappresentazioni ad alto e a basso livello hanno entrambe i loro vantaggi. Per esempio, le analisi come l analisi della dipendenza possono essere più facili da eseguire su una rappresentazione ad alto livello come l AST che su una a basso livello come il codice a tre indirizzi. Altre ottimizzazioni, come l allocazione dei registri o la schedulazione delle istruzioni, sono tipicamente eseguite su una rappresentazione a basso livello come il codice a tre indirizzi. Poiché IR differenti hanno punti di forza e debolezza differenti, molti compilatori (incluso quello di LabVIEW) usano più IR. Nel caso di LabVIEW, la DFIR è usata come IR ad alto livello, mentre la IR LLVM è usata come IR a basso livello. DFIR In LabVIEW, la rappresentazione ad alto livello è la DFIR, che è gerarchica e basata su grafici e assomiglia allo stesso codice G. Come il G, la DFIR è composta da vari nodi, ciascuno dei quali contiene terminali. I terminali possono essere connessi ad altri terminali. Alcuni nodi, come i loop, contengono diagrammi, che possono a loro volta contenere altri nodi. Figura 2. Codice G di LabVIEW e grafico DFIR equivalente La figura 2 mostra un semplice VI insieme alla sua rappresentazione DFIR iniziale. Quando il grafico DFIR di un VI viene creato per la prima volta, è una traduzione diretta del codice G e i nodi nel grafico DFIR generalmente hanno una corrispondenza uno a uno con i nodi nel codice G. Mano a mano che la compilazione progredisce, i nodi DFIR possono essere spostati o divisi, oppure possono essere inseriti nuovi nodi DFIR. Uno dei vantaggi chiave della DFIR è che preserva caratteristiche come il parallelismo implicito nel vostro codice G. Il parallelismo rappresentato nel codice a tre indirizzi, al contrario, è molto più difficile da discernere. La DFIR offre due significativi vantaggi al compilatore LabVIEW. Innanzitutto, la DFIR disaccoppia la rappresentazione del VI dell editor da quella del compilatore. Inoltre, la DFIR agisce da hub comune per il compilatore, che ha numerosi front e back end. Consideriamo ciascuno di questi vantaggi in maggiore dettaglio. IL GRAFICO DFIR DISACCOPPIA LA RAPPRESENTAZIO- NE DELL EDITOR DA QUELLA DEL COMPILATORE Prima dell avvento della DFIR, LabVIEW aveva una singola rappresentazione del VI condivisa dell editor e dal compilatore. Questo proibiva al compilatore di modificare la rappresentazione durante il processo di compilazione, cosa che, a sua volta, rendeva difficile introdurre ottimizzazioni del compilatore. Figura 3. La DFIR fornisce un framework che permette al compilatore di ottimizzare il vostro codice 16

18 TIPS & TECHNIQUES La figura 3 mostra un grafico DFIR per il VI presentato prima. Il grafico rappresenta un tempo molto successivo nel processo del compilatore, dopo che diverse trasformazioni lo hanno scomposto e ottimizzato. Come potete vedere, il grafico è parecchio diverso dal grafico precedente. Per esempio: Le trasformazioni di scomposizione hanno rimosso i nodi controllo indicatore e SubVI e li hanno sostituiti con nuovi nodi UIAccessor, UIUpdater, FunctionResolvere FunctionCall Lo spostamento delle parti di codice loop-invarianti ha portato i nodi di incremento e moltiplicazione all esterno del corpo del loop Il clumper ha introdotto un nodo YieldIfNeeded all interno del For Loop, provocando la condivisione dell esecuzione del thread in esecuzione con altri elementi di lavoro in competizione La trasformazioni sono descritte in maggiore dettaglio in un paragrafo successivo. L IR della DFIR serve come hub comune per i front e back end multipli del compilatore LabVIEW funziona su numerosi target differenti, alcuni dei quali sono nettamente diversi fra loro, per esempio un PC desktop x86 e un FPGA Xilinx. Analogamente, LabVIEW presenta più modelli di calcolo all utente. Oltre alla programmazione grafica in G, LabVIEW offre matematica testuale in MathScript, per fare un esempio. Ciò si traduce in una raccolta di front e back end, che devono tutti funzionare con il compilatore di LabVIEW. Usando la DFIR come IR comune che tutti i front end producono e tutti i back end consumano facilita il riutilizzo fra le varie combinazioni. Per esempio, un implementazione di un ottimizzazione a folding di costanti seguita su un grafico DFIR può essere scritta una sola volta ed applicata a target desktop, real-time, FPGA ed embedded. SCOMPOSIZIONI DELLA DFIR Una volta nella DFIR, il VI è sottoposto in primo luogo a una serie di trasformazioni di scomposizione. Le trasformazioni di scomposizione puntano a ridurre o normalizzare il grafico DFIR. Per esempio, la scomposizione dei tunnel d uscita non cablati trova i tunnel d uscita su strutture case e strutture a eventi che non sono cablati e configurati come Use Default If Unwired. Per questi terminali, la trasformazione lascia una costante con il valore di default e la cabla al terminale, rendendo quindi il comportamento Use Default If Unwired esplicito nel grafico DFIR. Successivi passaggi del compilatore possono quindi trattare tutti i terminali in modo identico e assumere che tutti abbiano ingressi cablati. In questo caso, la caratteristica Use Default If Unwired del linguaggio è stata compilata via riducendo la rappresentazione a una forma più fondamentale. Questa idea può essere applicata anche a caratteristiche più complesse del linguaggio. Per esempio, una trasformazione di scomposizione è usata per ridurre il Feedback Node in shift register su un While Loop. Un altra scomposizione implementa il For Loop parallelo in diversi For Loop sequenziali con un po di logica addizionale per dividere gli ingressi in parti parallelizzabili per i loop sequenziali e riunire le parti fra loro successivamente. Anche una nuova caratteristica in LabVIEW 2010, l inlining dei subvi, è implementata come una scomposizione DFIR. Durante questa fase della compilazione, il grafico DFIR dei subvi marcati inline è inserito direttamente nel grafico DFIR chiamante. Oltre a evitare l overhead della chiamata di un subvi, l inlining mette in luce opportunità di ottimizzazione addizionali combinando il chiamante e il chiamato in un singolo grafico DFIR. Per esempio, consideriamo questo semplice VI che chiama il TrimWhitespace.vi da vi.lib. Figura 4. Esempio di un semplice VI per dimostrare le ottimizzazioni della DFIR La TrimWhitespace.vi è definita in vi.lib nel modo seguente: Figura 5. Diagramma a blocchi di TrimWhitespace.vi Il subvi è inlined nel chiamante, ottenendo un grafico DFIR equivalente al seguente codice G. Figura 6. Codice G equivalente al grafico DFIR di TrimWhitespace.vi inlined Ora che il diagramma del subvi è inlined nel diagramma del chiamante, l eliminazione del codice irraggiungibile e l eliminazione del codice morto possono semplificare il codice. La prima struttura case è sempre eseguita, mentre la seconda struttura case non è mai eseguita. 17

19 15 TIPS & TECHNIQUES b) Figura 7. Le strutture case possono essere rimosse perché la logica d ingresso è costante Analogamente, lo spostamento del codice loop-invariante sposta la primitiva del match pattern fuori dal loop. Il grafico DFIR finale è equivalente al seguente codice G. In questo caso, il diagramma Do not increment della struttura case non è mai eseguito, quindi la trasformazione rimuove tale caso. Poiché la struttura case ha un solo caso rimanente, viene sostituita con una struttura in sequenza. In seguito, l eliminazione del codice morto rimuove il frame e la costante enumerata. SPOSTAMENTO DEL CODICE LOOP-INVARIANTE Lo spostamento del codice loop-invariante identifica il codice entro il corpo di un loop che è possibile spostare all esterno con sicurezza. Poiché il codice spostato viene eseguito meno volte, la velocità di esecuzione complessiva migliora. Figura 8. Codice G equivalente al grafico DFIR finale Poiché il TrimWhitespace.vi è marcato come inline in LabVIEW 2010 per default, tutti i client di questo VI ricevono questi benefici automaticamente. OTTIMIZZAZIONI DELLA DFIR Dopo la profonda scomposizione del grafico DFIR, iniziano i passaggi di ottimizzazione della DFIR. Ulteriori ottimizzazioni sono eseguite in seguito durante la compilazione LLVM. Questo paragrafo copre solo una parte delle numerose ottimizzazioni. Ciascuna di queste trasformazioni è una comune ottimizzazione del compilatore, quindi dovrebbe essere facile trovare altre informazioni su una specifica ottimizzazione. ELIMINAZIONE DEL CODICE IRRAGGIUNGIBILE Il codice che non può mai essere eseguito è irraggiungibile. Rimuovere il codice irraggiungibile non rende direttamente il vostro tempo di esecuzione molto più veloce, ma rende il vostro codice più piccolo e accelera i tempi di compilazione perché il codice rimosso non è mai trasmesso nelle nei successivi passaggi di compilazione. Figura 10. Codice G equivalente per la scomposizione con spostamento del codice loop-invariante della DFIR Prima della trasformazione con spostamento del codice loopinvariante (a sinistra) Dopo la trasformazione con spostamento del codice loop-invariante ( a destra) In questo caso, l operazione di incremento è spostata all esterno del loop. Il corpo del loop rimane permettendo la costruzione dell array, ma i calcoli non devono essere ripetuti in ogni iterazione. ELIMINAZIONE DELLE SOTTOESPRESSIONI COMUNI L eliminazione delle sottoespressioni comuni identifica calcoli ripetuti, esegue i calcoli una sola volta e riusa i risultati. Figura 9. Codice G equivalente per la scomposizione con eliminazione del codice irraggiungibile della DFIR a) prima dell eliminazione del codice irraggiungibile b) dopo l eliminazione del codice irraggiungibile a) Figura 11. Codice G equivalente per la scomposizione con eliminazione delle sottoespressioni comuni della DFIR Prima (a sinistra) e dopo ( a destra) FOLDING DELLE COSTANTI Il folding delle costanti identifica parti di un diagramma che rimangono costanti durante l esecuzione del codice e che quindi possono essere determinate in anticipo. 18

20 TIPS & TECHNIQUES b) Figura 12. Il folding delle costanti può essere visualizzato nel diagramma a blocchi LabVIEW Le marcature tratteggiate sul VI nella figura 12 indicano le parti constant-folded. In questo caso, il controllo offset non può essere constant folded, ma l altro operando della primitiva di somma, incluso il For Loop, è valutato come costante. LOOP UNROLLING Il loop unrolling riduce l overhead di un loop ripetendo più volte il corpo del loop nel codice generato e riducendo il numero totale delle iterazioni dello stesso fattore. Ciò riduce l overhead del loop e mette in luce opportunità per ulteriori ottimizzazioni a scapito di un certo aumento delle dimensioni del codice. ELIMINAZIONE DEL CODICE MORTO Il codice morto è codice inutile. Rimuovere il codice morto velocizza il tempo di esecuzione, perché il codice rimosso non viene più eseguito. Il codice morto è normalmente prodotto dalla manipolazione del grafico DFIR da trasformazioni che non avete scritto direttamente. Consideriamo il seguente esempio. L eliminazione del codice irraggiungibile determina che la struttura case può essere rimossa. Ciò crea codice morto che la trasformazione di eliminazione del codice morto può rimuovere. Figura 13. L eliminazione del codice morto può ridurre la quantità di codice che il compilatore deve attraversare a) Prima dell'eliminazione del codice irraggiungibile b) Dopo l eliminazione del codice morto a) La maggior parte delle trasformazioni coperte in questo paragrafo hanno interrelazioni come questa. Eseguire una trasformazione può mettere in luce opportunità per eseguire altre trasformazioni. TRASFORMAZIONI BACK-END DELLA DFIR Dopo la scomposizione ed ottimizzazione del grafico DFIR, viene eseguita una serie di trasformazioni back-end. Tali trasformazioni valutano e annotano il grafico DFIR in preparazione alla sintesi finale del grafico DFIR nella IR LLVM IR. CLUMPER L algoritmo di clumping analizza il parallelismo nel grafico DFIR e raggruppa i nodi in clump che si possono eseguire in parallelo. Questo algoritmo è strettamente legato al sistema di esecuzione run-time di LabVIEW, che usa il multitasking associato al multithreading. Ciascuno dei clump prodotti dal clumper è organizzato come task individuale nel sistema di esecuzione. I nodi all interno dei clump sono eseguiti in un ordine fisso, sequenziale. Avere un ordine di esecuzione predeterminato con ogni clump permette all inplacer di condividere le allocazioni dei dati e migliorare nettamente le prestazioni. Il clumper è anche responsabile dell inserimento di prodotti intermedi in operazioni lunghe, come loop o I/O, in modo che tali clump siano eseguiti cooperativamente in multitask con altri clump. Inplacer L inplacer analizza il grafico DFIR e identifica quando è possibile riutilizzare allocazioni dei dati e quando è necessario fare una copia. Un filo in LabVIEW può essere un semplice scalare a 32 bit o un array di 32 MB. Fare in modo che tali dati siano riutilizzati il più possibile è critico in un linguaggio a flusso di dati come LabVIEW. Considerate il seguente esempio (notate che il debugging del VI è disabilitato per ottenere le prestazioni e l ingombro di memoria migliori). 19

LabVIEW offre un ambiente di programmazione grafica

LabVIEW offre un ambiente di programmazione grafica 03 COME OTTIMIZZARE IN LABVIEW APPLICAZIONI DI TEST AUTOMATIZZATI PER PROCESSORI MULTICORE David Hall Vediamo come delle applicazioni scritte in LabVIEW possono essere ottimizzate sfruttando tecniche di

Dettagli

APPLICAZIONE COMPACTRIO DI RIFERIMENTO PER UN DATALOGGER A BORDO VEICOLO BASATO SU TIPS & TECHNIQUES

APPLICAZIONE COMPACTRIO DI RIFERIMENTO PER UN DATALOGGER A BORDO VEICOLO BASATO SU TIPS & TECHNIQUES APPLICAZIONE DI RIFERIMENTO PER UN DATALOGGER A BORDO VEICOLO BASATO SU COMPACTRIO Ryan King Q uesta applicazione presenta una soluzione software per un datalogger embedded stand-alone basato su hardware

Dettagli

Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010

Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010 Soft Control facile con RTX e Windows Embedded Standard 7 RTX 2009: funzionalità ed uso pratico Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010 Definizione di Sistema Tempo Reale: Definizione

Dettagli

INTERNET EXPLORER Breve manuale d uso

INTERNET EXPLORER Breve manuale d uso INTERNET EXPLORER Breve manuale d uso INDICE INTRODUZIONE... 3 COME IMPOSTARE LA PAGINA INIZIALE... 3 LA WORK AREA... 3 LE VOCI DI MENU... 5 IL MENU FILE... 5 IL MENU MODIFICA... 6 IL MENU VISUALIZZA...

Dettagli

2. Strutture dei Sistemi Operativi

2. Strutture dei Sistemi Operativi 1 2. Strutture dei Sistemi Operativi Quali servizi un generico sistema operativo mette a disposizione degli utenti, e dei programmi che gli utenti vogliono eseguire? interfaccia col sistema operativo stesso

Dettagli

Logic Lab. un progetto italiano. www.axelsw.it. soluzioni SOFTWARE PER L'AUTOMAZIONE INDUSTRIALE

Logic Lab. un progetto italiano. www.axelsw.it. soluzioni SOFTWARE PER L'AUTOMAZIONE INDUSTRIALE Logic Lab soluzioni SOFTWARE PER L'AUTOMAZIONE INDUSTRIALE un progetto italiano www.axelsw.it Logic Lab La garanzia e l economia degli standard più diffusi sul mercato LogicLab è un ambiente di sviluppo

Dettagli

WGDESIGNER Manuale Utente

WGDESIGNER Manuale Utente WGDESIGNER Manuale Utente Pagina 1 SOMMARIO 1 Introduzione... 3 1.1 Requisiti hardware e software... 3 2 Configurazione... 3 3 Installazione... 4 3.1 Da Webgate Setup Manager... 4 3.2 Da pacchetto autoestraente...

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

Esercizi di base per l apprendimento di LabView

Esercizi di base per l apprendimento di LabView Esercizi di base per l apprendimento di LabView Esercizio 1 Conversione di temperatura Realizzare un VI in grado di convertire una temperatura impostata mediante un controllo di tipo knob da C a F Soluzione

Dettagli

Strumenti per lo sviluppo del software

Strumenti per lo sviluppo del software Lo sviluppo del software Strumenti per lo sviluppo del software Lo sviluppo del software è l attività centrale del progetto e ha lo scopo di produrre il codice sorgente che, una volta compilato e messo

Dettagli

Soluzioni innovative per la semplificazione dell infrastruttura IT. Virtualizzazione con il sistema operativo IBM i, PowerVM e Power Systems

Soluzioni innovative per la semplificazione dell infrastruttura IT. Virtualizzazione con il sistema operativo IBM i, PowerVM e Power Systems Soluzioni innovative per la semplificazione dell infrastruttura IT Virtualizzazione con il sistema operativo IBM i, PowerVM e Power Systems Caratteristiche principali La flessibilità e la scalabilità della

Dettagli

Brochure prodotto Infrastrutture di ricarica per veicoli elettrici Servizi di connessione ABB

Brochure prodotto Infrastrutture di ricarica per veicoli elettrici Servizi di connessione ABB Brochure prodotto Infrastrutture di ricarica per veicoli elettrici Servizi di connessione ABB Servizi di connessione Prodotti a supporto del business Per sfruttare al meglio una rete di ricarica per veicoli

Dettagli

VARIABILI CONDIVISE. L articolo introduce le variabili condivise e contiene una discussione sulle loro caratteristiche e prestazioni in LabVIEW

VARIABILI CONDIVISE. L articolo introduce le variabili condivise e contiene una discussione sulle loro caratteristiche e prestazioni in LabVIEW COME USARE LE VARIABILI CONDIVISE IN LABVIEW Mike Trimborn L articolo introduce le variabili condivise e contiene una discussione sulle loro caratteristiche e prestazioni in LabVIEW LabVIEW permette di

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

idaq TM Manuale Utente

idaq TM Manuale Utente idaq TM Manuale Utente Settembre 2010 TOOLS for SMART MINDS Manuale Utente idaq 2 Sommario Introduzione... 5 Organizzazione di questo manuale... 5 Convenzioni... Errore. Il segnalibro non è definito. Installazione...

Dettagli

IBM iseries Soluzioni integrate per xseries

IBM iseries Soluzioni integrate per xseries Soluzioni innovative per l integrazione dei server Intel IBM iseries Soluzioni integrate per xseries La famiglia iseries, il cui modello più recente è l _` i5, offre due soluzioni che forniscono alternative

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

What is LabVIEW???? Pietro Giannone. Dipartimento di Ingegneria Elettrica Elettronica e dei Sistemi. Università degli Studi di Catania

What is LabVIEW???? Pietro Giannone. Dipartimento di Ingegneria Elettrica Elettronica e dei Sistemi. Università degli Studi di Catania Università degli Studi di Catania Dipartimento di Ingegneria Elettrica Elettronica e dei Sistemi What is LabVIEW???? Pietro Giannone University of Catania Dipartimento di Ingegneria Elettrica Elettronica

Dettagli

Andrea Pichetto easitec S.r.l. Parma, 16 Settembre 2010

Andrea Pichetto easitec S.r.l. Parma, 16 Settembre 2010 Soft Control facile con RTX e Windows Embedded Standard 7 Architetture Soft Control Andrea Pichetto easitec S.r.l. Parma, 16 Settembre 2010 Innovazioni nelle architetture x86 Oggi calcolatori PC compatibili

Dettagli

Sistemi e schedulazione in tempo reale

Sistemi e schedulazione in tempo reale Sistemi e schedulazione in tempo reale 1 Sistemi in tempo reale Sistemi di calcolo in cui la correttezza del funzionamento dipende criticamente dal tempo in cui i risultati sono prodotti. Possibili campi

Dettagli

TECNICHE AVANZATE DI I/O. Al loro livello più basso, tutti i file scritti sull hard disk. Training per esperti SU FILE

TECNICHE AVANZATE DI I/O. Al loro livello più basso, tutti i file scritti sull hard disk. Training per esperti SU FILE Training per esperti TECNICHE AVANZATE DI I/O SU FILE Spesso, la decisione di dividere in processi differenti la produzione dei dati dall uso degli stessi viene presa perché occorre scrivere i dati su

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

INTERNET EXPLORER. Breve manuale d'uso

INTERNET EXPLORER. Breve manuale d'uso INTERNET EXPLORER Breve manuale d'uso INDICE INTRODUZIONE... 3 COME IMPOSTARE LA PAGINA INIZIALE...3 LA WORK AREA... 3 LE VOCI DI MENU... 5 IL MENU FILE... 5 IL MENU MODIFICA... 6 IL MENU VISUALIZZA...

Dettagli

PROFIBUS E PROFINET. NI compactrio. ACQUISIZIONE DATI e controllo su reti. con

PROFIBUS E PROFINET. NI compactrio. ACQUISIZIONE DATI e controllo su reti. con ACQUISIZIONE DATI e controllo su reti PROFIBUS E PROFINET con NI compactrio Come realizzare un semplice sistema di I/O distribuito interconnesso tramite rete Profibus, costituito da una architettura Master-Slave

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Cos è un Sistema Operativo? Per capirlo, immaginiamo inizialmente

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Programmi. Algoritmi scritti in un linguaggio di programmazione

Programmi. Algoritmi scritti in un linguaggio di programmazione Programmi Algoritmi scritti in un linguaggio di programmazione Sistema operativo:programma supervisore che coordina tutte le operazioni del calcolatore Programmi applicativi esistenti Sistemi di videoscrittura

Dettagli

Introduzione ai sistemi operativi

Introduzione ai sistemi operativi Introduzione ai sistemi operativi Che cos è un S.O.? Shell Utente Utente 1 2 Utente N Window Compilatori Assembler Editor.. DB SOFTWARE APPLICATIVO System calls SISTEMA OPERATIVO HARDWARE Funzioni di un

Dettagli

Installazione e attivazione delle licenze

Installazione e attivazione delle licenze Capitolo 1 Installazione e attivazione delle licenze L installazione del software su una singola macchina è di solito un operazione piuttosto semplice, ma quando si deve installare AutoCAD in rete è richiesta

Dettagli

EOLO crp: la nuova frontiera dei datalogger imbarcabili

EOLO crp: la nuova frontiera dei datalogger imbarcabili EOLO crp: la nuova frontiera dei datalogger imbarcabili Luca Pasquini e Stefano Vianelli Eurins srl Abstract Il datalogger imbarcabile EOLO crp è concepito per l impiego in numerosi settori applicativi

Dettagli

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO IL SOFTWARE L HARDWARE da solo non è sufficiente a far funzionare un computer Servono dei PROGRAMMI (SOFTWARE) per: o Far interagire, mettere in comunicazione, le varie componenti hardware tra loro o Sfruttare

Dettagli

MDaemon e Outlook Connector for MDaemon

MDaemon e Outlook Connector for MDaemon MDaemon e Outlook Connector for MDaemon Introduzione...2 Cos'è il groupware...2 Che cosa significa groupware?...2 Cos è WorldClient...2 MDaemon e l evoluzione delle funzionalità groupware...3 Nuove funzionalità

Dettagli

La vostra azienda è pronta per un server?

La vostra azienda è pronta per un server? La vostra azienda è pronta per un server? Guida per le aziende che utilizzano da 2 a 50 computer La vostra azienda è pronta per un server? Sommario La vostra azienda è pronta per un server? 2 Panoramica

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

Guida introduttiva. Barra di accesso rapido Personalizzare quest'area in modo che i comandi preferiti siano sempre visibili.

Guida introduttiva. Barra di accesso rapido Personalizzare quest'area in modo che i comandi preferiti siano sempre visibili. Guida introduttiva Questa guida è stata creata con lo scopo di ridurre al minimo la curva di apprendimento di Microsoft Project 2013, che presenta numerose differenze rispetto alle versioni precedenti.

Dettagli

I.T.C.G. DE SIMONI PROGETTO ECDL

I.T.C.G. DE SIMONI PROGETTO ECDL I.T.C.G. DE SIMONI PROGETTO ECDL USO DEL COMPUTER E GESTIONE FILES Referente e tutor Prof.ssa Annalisa Pozzi Tutor lezioni Prof. Claudio Pellegrini 2.3 Utilità 2.3.1 Compressione dei files 2.3.1.1 Comprendere

Dettagli

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi : di base e applicativo L HardWare (monitor, tastiera, circuiti, stampante, ) è il nucleo fondamentale del calcolatore ma da solo non serve a nulla. Bisogna utilizzare il software per poterlo fare funzionare.

Dettagli

Configurare una rete con PC Window s 98

Configurare una rete con PC Window s 98 Configurare una rete con PC Window s 98 In estrema sintesi, creare una rete di computer significa: realizzare un sistema di connessione tra i PC condividere qualcosa con gli altri utenti della rete. Anche

Dettagli

CAPITOLO 1 I SISTEMI OPERATIVI

CAPITOLO 1 I SISTEMI OPERATIVI CAPITOLO 1 I SISTEMI OPERATIVI Introduzione ai sistemi operativi pag. 3 La shell pag. 3 Tipi di sistemi operativi pag. 4 I servizi del sistema operativo pag. 4 La gestione dei file e il file system Il

Dettagli

Summer of LabVIEW The Sunny Side of System Design

Summer of LabVIEW The Sunny Side of System Design Summer of LabVIEW The Sunny Side of System Design 30th June - 18th July 1 Test di visione: soluzioni implementative con NI LabVIEW e NI TestStand Gian Luca Pizzocolo Alessandro Ricco IPSES S.r.l. info@ipses.com

Dettagli

Informativa sui cookie secondo la normativa europea

Informativa sui cookie secondo la normativa europea Informativa sui cookie secondo la normativa europea Il sito web che state navigando è conforme alla normativa europea sull'uso dei cookie. Per far funzionare bene questo sito, a volte installiamo sul tuo

Dettagli

QUATTRO BUONE PRATICHE PER L IMPLEMENTAZIONE DI UNA TECNOLOGIA PER LA DIDATTICA DI SUCCESSO

QUATTRO BUONE PRATICHE PER L IMPLEMENTAZIONE DI UNA TECNOLOGIA PER LA DIDATTICA DI SUCCESSO QUATTRO BUONE PRATICHE PER L IMPLEMENTAZIONE DI UNA TECNOLOGIA PER LA DIDATTICA DI SUCCESSO Report globale e suggerimenti Gennaio 2013 Autore: Filigree Consulting Promosso da: SMART Technologies Executive

Dettagli

Il Contesto. Riassunto

Il Contesto. Riassunto Temento Systems mostra come la tecnologia Jtag Boundary-Scan integrata in un sistema automatico di collaudo possa aumentare la copertura del test di schede complesse altrimenti non collaudabili. Il Contesto

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Lezione 6 a.a. 2010/2011 Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono: diversi

Dettagli

OASIS è una fabbrica per il bene comune dei dati attraverso l uso delle applicazioni proposte.

OASIS è una fabbrica per il bene comune dei dati attraverso l uso delle applicazioni proposte. 1 Guida Utente 1.1 Panoramica di OASIS OASIS è una fabbrica per il bene comune dei dati attraverso l uso delle applicazioni proposte. Grazie a OASIS, sarai in grado di acquistare o selezionare, dallo store,

Dettagli

Comando centralizzato Rain Bird IQ v2.0

Comando centralizzato Rain Bird IQ v2.0 Comando centralizzato Rain Bird IQ v2.0 Esattamente ciò che desiderate. Solo ciò di cui avete bisogno. Il comando centralizzato Rain Bird IQ v2.0 si adatta alle vostre esigenze di irrigazione in continuo

Dettagli

Piattaforma e-learning Unifi Guida rapida per gli studenti

Piattaforma e-learning Unifi Guida rapida per gli studenti Piattaforma e-learning Unifi Guida rapida per gli studenti Premessa: La piattaforma utilizzata per le attività a distanza è Moodle, un software per la gestione di corsi online. Dal punto di vista dello

Dettagli

Docente Prof. Claudio De Capua Ing. Antonella Meduri

Docente Prof. Claudio De Capua Ing. Antonella Meduri Gruppo Misure Elettriche ed Elettroniche Facoltà di Ingegneria Università Mediterranea di Reggio Calabria Docente Prof. Claudio De Capua Ing. Antonella Meduri LabView Ambiente di sviluppo grafico: - LabVIEW

Dettagli

Introduzione alla famiglia di soluzioni Windows Small Business Server

Introduzione alla famiglia di soluzioni Windows Small Business Server Introduzione alla famiglia di soluzioni Windows Small Business Server La nuova generazione di soluzioni per le piccole imprese Vantaggi per le piccole imprese Progettato per le piccole imprese e commercializzato

Dettagli

Una soluzione di collaborazione completa per aziende di medie dimensioni

Una soluzione di collaborazione completa per aziende di medie dimensioni Una soluzione di collaborazione completa per aziende di medie dimensioni La tua azienda è perfettamente connessa? È questa la sfida cruciale dell attuale panorama aziendale virtuale e mobile, mentre le

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Jeronimo Mobile (JEMO) Gestione Assistenza Tecnica Mobile GUIDA UTENTE. (solo prime 8 pagine) Revisione B, Luglio 2011. a cura di Vinicio Montagnoli

Jeronimo Mobile (JEMO) Gestione Assistenza Tecnica Mobile GUIDA UTENTE. (solo prime 8 pagine) Revisione B, Luglio 2011. a cura di Vinicio Montagnoli Jeronimo Mobile (JEMO) Gestione Assistenza Tecnica Mobile GUIDA UTENTE (solo prime 8 pagine) Revisione B, Luglio 2011 a cura di Vinicio Montagnoli www.assistinformatica.com 2011 by Assist Informatica Srl

Dettagli

CAPITOLO 5 - Sistemi Operativi Moderni

CAPITOLO 5 - Sistemi Operativi Moderni CAPITOLO 5 - Sistemi Operativi Moderni PRESENTAZIONE DI INSIEME Vedremo ora come si è evoluta nel tempo la struttura di un sistema operativo, per passare dalle vecchie strutture di tipo normalmente modulari,

Dettagli

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

Dettagli

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche Sommario Definizione di S. O. Attività del S. O. Struttura del S. O. Il gestore dei processi: lo scheduler Sistemi Mono-Tasking e

Dettagli

10 metodi per ottimizzare la rete in modo sicuro

10 metodi per ottimizzare la rete in modo sicuro 10 metodi per ottimizzare la rete in modo sicuro Con l intelligenza applicativa dei firewall di nuova generazione e la serie WAN Acceleration Appliance (WXA) di SonicWALL Sommario Ottimizzazione sicura

Dettagli

Concetti di base della Tecnologia dell'informazione e della Comunicazione. Studio Elfra sas Via F.lli Ruffini 9 17031 Albenga SV 0182596058

Concetti di base della Tecnologia dell'informazione e della Comunicazione. Studio Elfra sas Via F.lli Ruffini 9 17031 Albenga SV 0182596058 by Studio Elfra sas Concetti di base della Tecnologia dell'informazione e della Comunicazione Aggiornato a Aprile 2009 Informatica di base 1 Elaborazione testi I word processor, o programmi per l'elaborazione

Dettagli

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test Software e difetti Il software con difetti è un grande problema I difetti nel software sono comuni Come sappiamo che il software ha qualche difetto? Conosciamo tramite qualcosa, che non è il codice, cosa

Dettagli

Capitolo 1: Introduzione

Capitolo 1: Introduzione Capitolo 1: ntroduzione Che cos è un sistema operativo? Sistemi mainframe. Sistemi desktop. Sistemi multiprocessore. Sistemi distribuiti. Sistemi cluster. Sistemi in tempo reale. Sistemi palmari. Migrazione

Dettagli

CMX Professional. Software per Tarature completamente personalizzabile.

CMX Professional. Software per Tarature completamente personalizzabile. CMX Professional Software per Tarature completamente personalizzabile. CMX Professional Software per tarature con possibilità illimitate. Chi deve tarare? Che cosa? Quando? Con quali risultati? Pianificare,

Dettagli

Come funziona un sistema di elaborazione

Come funziona un sistema di elaborazione Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori

Dettagli

RELAZIONE E COMUNICAZIONE. Sviluppare la gestione delle relazioni con i clienti grazie a:

RELAZIONE E COMUNICAZIONE. Sviluppare la gestione delle relazioni con i clienti grazie a: RELAZIONE E COMUNICAZIONE Sviluppare la gestione delle relazioni con i clienti grazie a: Microsoft Office System 2007 Windows Vista Microsoft Exchange Server 2007 è ancora più potente ed efficace, grazie

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino Sistemi Operativi Modulo 2 Schema di un Sistema di Calcolo Programmi Dati di Input Calcolatore Dati di output Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica

Dettagli

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in Ingegneria dei Requisiti Il processo che stabilisce i servizi che il cliente richiede I requisiti sono la descrizione dei servizi del sistema Funzionalità astratte che il sistema deve fornire Le proprietà

Dettagli

Crotone, maggio 2005. Windows. Ing. Luigi Labonia E-mail luigi.lab@libero.it

Crotone, maggio 2005. Windows. Ing. Luigi Labonia E-mail luigi.lab@libero.it Crotone, maggio 2005 Windows Ing. Luigi Labonia E-mail luigi.lab@libero.it Sistema Operativo Le funzioni software di base che permettono al computer di funzionare formano il sistema operativo. Esso consente

Dettagli

applicazioni aziendali più eseguire e controllare fondamentali per il business grazie a sofisticate funzioni di auto-gestione

applicazioni aziendali più eseguire e controllare fondamentali per il business grazie a sofisticate funzioni di auto-gestione Semplicità e flessibilità con il primo server con tecnologia IBM i5 520 Le piccole e medie imprese desiderano concentrarsi sul proprio business e non sull infrastruttura IT. IBM _` i5 520 offre non solo

Dettagli

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO Precisione del riconoscimento Velocità di riconoscimento Configurazione del sistema Correzione Regolazione della

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

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

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC BMSO1001 Virtual Configurator Istruzioni d uso 02/10-01 PC 2 Virtual Configurator Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Concetti

Dettagli

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio 2015. Corso di laurea in Matematica

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio 2015. Corso di laurea in Matematica Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 25 febbraio 2015 1 / 42 INFORMATICA Varie definizioni: Scienza degli elaboratori elettronici (Computer Science)

Dettagli

Scheda IEEE 1394. Versione 1.0

Scheda IEEE 1394. Versione 1.0 Scheda IEEE 1394 Versione 1.0 Indice 1.0 Che cosa è l IEEE1394.P. 2 2.0 Caratteristiche del 1394..P.2 3.0 Requisiti del sistema PC..P.2 4.0 Informazioni tecniche..p.3 5.0 Installazione dell hardware...p.3

Dettagli

Sistema Operativo e Applicativi

Sistema Operativo e Applicativi Sistema Operativo e Applicativi Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Software A.A. 2012-2013 1 / 36 Software Conosciamo due classi di software: Programmi

Dettagli

MOTOROLA RHOELEMENTS SVILUPPA UNA APPLICAZIONE CHE FUNZIONI SU DIVERSI DISPOSITIVI E CON DIFFERENTI SISTEMI OPERATIVI.

MOTOROLA RHOELEMENTS SVILUPPA UNA APPLICAZIONE CHE FUNZIONI SU DIVERSI DISPOSITIVI E CON DIFFERENTI SISTEMI OPERATIVI. MOTOROLA RHOELEMENTS SVILUPPA UNA APPLICAZIONE CHE FUNZIONI SU DIVERSI DISPOSITIVI E CON DIFFERENTI SISTEMI OPERATIVI. MOTOROLA RHOELEMENTS BROCHURE COSÌ TANTI DISPOSITIVI MOBILE. VOLETE SVILUPPARE UNA

Dettagli

IEEE 1588 Quando la tempistica conta

IEEE 1588 Quando la tempistica conta Articolo tecnico IEEE 1588 Quando la tempistica conta Sincronizzazione di alta precisione dei diversi clocks in sistemi distribuiti con l impiego di IEEE 1588 PTP Cos è lo standard IEEE 1588 PTP? Lo standard

Dettagli

Istituto d Istruzione Superiore Carlo e Nello Rosselli Aprilia (LT)

Istituto d Istruzione Superiore Carlo e Nello Rosselli Aprilia (LT) Istituto d Istruzione Superiore Carlo e Nello Rosselli Aprilia (LT) Presentazione del corso: CCNA Discovery 1: Networking for Home and Small Businesses Opportunità Internet sta cambiando la vita come noi

Dettagli

Il supporto al Sistema Operativo

Il supporto al Sistema Operativo Il supporto al Sistema Operativo Obiettivi e funzioni del S.O. Il Sistema Operativo è il software che controlla l esecuzione dei programmi e amministra le risorse del sistema. Ha due obiettivi principali:

Dettagli

Introduzione. Perché è stato scritto questo libro

Introduzione. Perché è stato scritto questo libro Introduzione Perché è stato scritto questo libro Sul mercato sono presenti molti libri introduttivi a Visual C# 2005, tuttavia l autore ha deciso di scrivere il presente volume perché è convinto che possa

Dettagli

CRM DEDUPLICA. Deduplica e Normalizzazione dei clienti doppi... o simili. Validità: Settembre 2014

CRM DEDUPLICA. Deduplica e Normalizzazione dei clienti doppi... o simili. Validità: Settembre 2014 CRM DEDUPLICA Deduplica e Normalizzazione dei clienti doppi... o simili Validità: Settembre 2014 Questa pubblicazione è puramente informativa. SISECO non offre alcuna garanzia, esplicita od implicita,

Dettagli

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

Dettagli

License Service Manuale Tecnico

License Service Manuale Tecnico Manuale Tecnico Sommario 1. BIM Services Console...3 1.1. BIM Services Console: Menu e pulsanti di configurazione...3 1.2. Menù Azioni...4 1.3. Configurazione...4 1.4. Toolbar pulsanti...5 2. Installazione

Dettagli

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50 Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

Dettagli

Gestione del database Gidas

Gestione del database Gidas Gestione del database Gidas Manuale utente Aggiornamento 20/06/2013 Cod. SWUM_00535_it Sommario 1. Introduzione... 3 2. Requisiti e creazione del Database Gidas... 3 2.1.1. SQL Server... 3 2.1.2. Requisiti

Dettagli

ORIEME ITALIA SpA Viale Sarca, 45 Telefono +39 02.64.41.16.1 Orieme Italia S.p.A. I-20125 Milano Telefax +39 02.64.36.990 www.orieme.

ORIEME ITALIA SpA Viale Sarca, 45 Telefono +39 02.64.41.16.1 Orieme Italia S.p.A. I-20125 Milano Telefax +39 02.64.36.990 www.orieme. Visio Wifi Setup - Windows Rev. 1.0.0 Prerequisiti: Prima di procedere con l installazione assicurarsi di avere pieno accesso alla configurazione del router Wifi. Attenzione: non tutti i router risultano

Dettagli

UBIQUITY 6 e Server. Il documento descrive le novità introdotte con la versione 6 della piattaforma software ASEM Ubiquity.

UBIQUITY 6 e Server. Il documento descrive le novità introdotte con la versione 6 della piattaforma software ASEM Ubiquity. UBIQUITY 6 e Server Privato Introduzione Il documento descrive le novità introdotte con la versione 6 della piattaforma software ASEM Ubiquity. Versione Descrizione Data 1 Prima emissione 21/06/2015 Disclaimer

Dettagli

Università degli studi di Messina

Università degli studi di Messina Università degli studi di Messina Facoltà di Ingegneria Corso di laurea in Ingegneria Elettronica Tesina di Sistemi di Telecomunicazione Prenotazione Esami con CSLU Speech - toolkit Docente: Prof. Salvatore

Dettagli

INNOVATION CASE. Soluzione mista per sicurezza e domotica, all insegna della semplicità

INNOVATION CASE. Soluzione mista per sicurezza e domotica, all insegna della semplicità Soluzione mista per sicurezza e domotica, all insegna della semplicità INNOVARE: COSA? L IDEA Analizzando le evoluzioni di un mercato sempre più interessato a funzionalità che superino la logica dell antifurto

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

ACQUISTARE LA WORKSTATION PERFETTA

ACQUISTARE LA WORKSTATION PERFETTA ACQUISTARE LA WORKSTATION PERFETTA UNA GUIDA ALL ACQUISTO PER OTTENERE IL MASSIME PRESTAZIONE E AFFIDABILITÀ CON IL CAD/CAM SOMMARIO Considerazioni sulle prestazioni... 2 1. CPU... 3 2. GPU... 3 3. RAM...

Dettagli

CASE STUDY N#1. Deploy e automazione di un applicazione scalabile con il supporto di SaltStack per Corley

CASE STUDY N#1. Deploy e automazione di un applicazione scalabile con il supporto di SaltStack per Corley CASE STUDY N#1 Deploy e automazione di un applicazione scalabile con il supporto di SaltStack per Corley Enter srl - ISO 9001/27001 Quality System Certification - All rights reserved - www.entercloudsuite.it

Dettagli

Utilizzo di FileMaker Pro con Microsoft Office

Utilizzo di FileMaker Pro con Microsoft Office Guida Pratica Utilizzo di FileMaker Pro con Microsoft Office Integrare FileMaker Pro con Office pagina 1 Sommario Introduzione... 3 Prima di iniziare... 4 Condivisione di dati tra FileMaker Pro e Microsoft

Dettagli

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione 4 LEZIONE: Programmazione su Carta a Quadretti Tempo della lezione: 45-60 Minuti. Tempo di preparazione: 10 Minuti Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione SOMMARIO:

Dettagli

Maggiore efficienza > Conoscenza più approfondita > Valore superiore. Pagina 1 2 3 4 5 6 7 8 9 10 11 12 13

Maggiore efficienza > Conoscenza più approfondita > Valore superiore. Pagina 1 2 3 4 5 6 7 8 9 10 11 12 13 Dieci motivi per utilizzare Windchill 10 Maggiore efficienza nell intero ciclo di vita del prodotto Conoscenza più approfondita delle prestazioni del prodotto Valore superiore dal sistema PLM NOTA: per

Dettagli

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

Principi dell ingegneria del software Relazioni fra

Principi dell ingegneria del software Relazioni fra Sommario Principi dell ingegneria del software Leggere Cap. 3 Ghezzi et al. Principi dell ingegneria del software Relazioni fra Principi Metodi e tecniche Metodologie Strumenti Descrizione dei principi

Dettagli

LABORATORI DI INFORMATICA. CONDIVISIONE, CLOUD e CONTROLLO REMOTO IMPLEMENTAZIONE DI UNA GESTIONE EFFICIENTE

LABORATORI DI INFORMATICA. CONDIVISIONE, CLOUD e CONTROLLO REMOTO IMPLEMENTAZIONE DI UNA GESTIONE EFFICIENTE LABORATORI DI INFORMATICA CONDIVISIONE, CLOUD e CONTROLLO REMOTO IMPLEMENTAZIONE DI UNA GESTIONE EFFICIENTE Tutti i laboratori di informatica, come la gran parte delle postazioni LIM, sono stati convertiti

Dettagli

Scheda Informativa. Verizon Net Conferncing

Scheda Informativa. Verizon Net Conferncing Scheda Informativa Verizon Net Conferncing Net Conferencing 1.1 Informazioni generali sul Servizio Grazie a Net Conferencing Verizon e alle potenzialità di Internet, potrete condividere la vostra presentazione

Dettagli

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi Parte V & Reti Sistema operativo: insieme di programmi che gestiscono l hardware Hardware: CPU Memoria RAM Memoria di massa (Hard Disk) Dispositivi di I/O Il sistema operativo rende disponibile anche il

Dettagli