SlideShare a Scribd company logo
1 of 35
Download to read offline
National Instruments Confidential
ILVG.it
Italian LabVIEW user Group


                 Alessandro Ricco
                 ILVG.it – Administrator
                 alessandro.ricco@gmail.com
Cos'è ILVG.it?

 ILVG.it è:
 l'unica comunità italiana indipendente di
 sviluppatori, curiosi ed appassionati del
 linguaggio di programmazione LabVIEW™.
Che scopi ha ILVG.it?

   Diffondere la conoscenza e la cultura di LabVIEW
   Permettere la condivisione di esperienze
   Favorire lo scambio di idee
   Creare una comunità di utenti LabVIEW in Italia
Cosa facciamo noi di ILVG.it?

• Gestiamo il forum di ILVG.it www.ilvg.it/forum
  cuore di ILVG.it, attivo dal 2003 oggi conta
 1500 iscritti e 16000 messaggi

 Scriviamo articoli su LabVIEW che pubblichiamo
liberamente sul sito ILVG.it

Organizziamo (ILVGDay) e partecipiamo a meeting
portando le nostre esperienze
ILVG Day 2007, cos'è? (stato)

Una manifestazione gratuita e libera dedicata alle tecnologie
    LabVIEW e soprattutto, alle persone che le usano.



      ILVG Day è stato una Festa!
ILVG Day 2007, perchè?

   Riunire appassionati di LabVIEW
   Condividere le esperienze, imparare e divertirsi
   Creare una comunità di “wire workers”
   Mangiarsi una pizza e bersi una birra insieme
ILVG Day 2007!
Come posso partecipare?
Iscriviti al forum www.ilvg.it/forum e discuti su
LabVIEW, facendo domande o aiuta dando risposte

 Partecipa ai meeting, in futuro sempre più frequenti!
(ILVG Day 2)

   Scrivi e inviaci articoli, guide, tutorial ecc

   Proponi le tue idee
LabVIEW & Lua,
flessibilità e dinamismo
Cos'è LUA?
   Linguaggio di scripting realizzato in ANSI C nato nel 1993 al PUC-Rio (Pontifical
Catholic University) di Rio de Janeiro in Brasile.

   Embedded, semplice, veloce ed elegante


   Open Source (MIT License), supportato da una grande comunità on-line.
Molti progetti sono sviluppati con LUA ed esistono moltissimi add-ons.


   'Lua' vuol dire 'Luna' in Portoghese e si pronuncia LOO-ah.


   Il sito ufficiale è www.lua.org
Scripting, cos'è?
Che caratteristiche ha un linguaggio di scripting:
   Gira all'interno di un altro programma (virtual machine o simili)
   Viene interpretato run-time, non è compilato in binario
   Semplice da utilizzare
   Viene utilizzato per compiti in domini specifici
   Può servire come “supporto” per altri linguaggi


                                                          Scripting languages [...] are computer
                                                          programming languages that are typically
                                                          interpreted and can be typed [interpreted]
                                                          directly from a keyboard.
                                                                                     Wikipedia.org
Scripting, cos'è?

           Ma che differenza c'è tra linguaggio di scripting e uno “tradizionale”?
   Software molto noti (Java, LabVIEW ad es) girano all'interno di altri software (vm)
   Linguaggi di scripting vengono usati anche per realizzare applicazioni complesse
I computer oggi sono veloci e i linguaggi di scripting efficienti, non c'è nessun vantaggio
nella maggior parte dei casi, ad usare un programma compilato.


                             La differenza è quindi solo “formale”,
                  usate il linguaggio a seconda di quello che vi serve fare.
Linguaggio di scripting, perchè?

Se devo scrivere un software che deve:
   essere altamente “customizzato”
   essere altamente estensibile
   avere delle funzionalità che non riuscirei con altri linguaggi ad implementare
   poter cambiare, anche radicalmente, anche dopo il suo rilascio
   poter cambiare spesso, velocemente e facilmente


                              Se voglio essere produttivo e agile
Perchè usare LUA?
   E' un linguaggio robusto

Lua è usato in diversi campi da diverse industrie. E' molto diffuso nei video game. Esiste un
manuale molto ben fatto, gratis e on-line e diversi libri.

   Lua è veloce

Test indipendenti dimostrano come Lua sia tra i
linguaggi di scripting più veloci, sia durante i
test ma soprattutto nella “vita reale”
Perchè usare LUA?
   Lua è portabile

Lua viene distribuito come sorgenti C. Occorre solo un
compilatore per portarlo sulla propria piattaforma.
LUA gira su Windows, Unix, dispositivi mobili con piccoli
processori ARM e addirittura sul Lego Mindstorm NXT!

   Lua è “embeddable”

è molto facile estendere un linguaggio con le funzioni
di Lua ed è facile permettere a Lua di usare
funzioni di un altro linguaggio
E se volessimo unire...




 La potenza di LabVIEW    La flessibilità di Lua

    acquisizione            estendibile
    analisi avanzata        semplice
    presentazione dati      leggero
E se volessimo unire...




 La potenza di LabVIEW              La flessibilità di Lua

                         LuaVIEW!
LuaVIEW
- LuaVIEW è un toolkit sviluppato da Citengineering, che permette a LabVIEW di sfruttare
tutte le caratteristiche di Lua.
Potremmo definirlo un ponte tra il mondo LabVIEW e quello Lua.

- LuaVIEW è liberamente utilizzabile per applicazioni non commerciali altrimenti c'è da
pagare una licenza

- LuaVIEW è scaricabile da www.citengineering.com/LuaVIEW/download.html

L'installazione consiste semplicemente nello scompattare una cartella e lanciare un VI

- La distribuzione di LuaVIEW comprende molti esempi, funzioni utili ed è documentata
benissimo

- LuaVIEW ha supporto per Windows, Linux e Mac.
LuaVIEW, cosa può fare?
Lua può chiamare funzioni implementate in LabVIEW.
LuaVIEW, cosa può fare?
LabVIEW può chiamare funzioni implementate in Lua.
LuaVIEW, cosa può fare?
Un numero “illimitato” di script LUA possono eseguire in parallelo
LuaVIEW, cosa può fare?
Lua e Labview possono scambiarsi dati anche in formati complessi.
LuaVIEW, la struttura.
LuaVIEW è composto da

   un CIN (Code Interface Node) che è la VM di LUA + il codice con cui LUA può
interfacciarsi a LabVIEW


   una libreria di VI utili allo scambio tra LabVIEW e LuaVIEW
push, pull


   una serie di tool di setup, analisi e supporto
function manager, task manager
LuaVIEW, la libreria
Le funzioni della libreria di LuaVIEW sono il
punto di contatto tra Lua e LabVIEW e sono:

                                                LuaVIEW CIN
   Aprichiudi riferimento a Lua                 LUA VM
   Compila per la VM uno script
   Esegui uno script
   Push e Pull dallo stack Lua
LuaVIEW in action, primo esempio


          -- Lua saluta
          print("Hello world")




                        Vediamo l'effetto:
                        luaviewexamplesdo a script.vi
LuaVIEW in action, primo esempio

    -- Lua saluta
    print("Hello world")



Molto interessante notare che:

   Lua chiama una funzione scritta in LabVIEW (print) passandole dei parametri
   Questo avviene in maniera automatica e trasparente
   La sintassi di Lua è molto molto semplice ed elegante
LuaVIEW in action, ma come...

 -- Lua saluta
 print("Hello world")


Come avviene questo automatismo, come fa Lua a sapere dell'esistenza di LabVIEW
e delle sue funzioni?


Le funzioni LabVIEW devono essere “registrate” per essere utilizzabili da LuaVIEW
LuaVIEW, function manager

  Come detto si deve “dire” a LuaVIEW com'è fatta una nostra funzione, come la print, che
  vogliamo rendere utilizzabile in LuaVIEW.


  In poche parole dobbiamo specificare a LuaVIEW
  il prototipo della nostra funzione




  Per fare questo usiamo il Function Manager



Function manager:
LuaVIEW1.2.1luaviewtui_LuaVIEW Function Manager.vi
LuaVIEW, la prima funzione

  Com'è fatta una funzione LuaVIEW?
  Prendiamo ad esempio la print vista in precedenza

                                                         Semplice SubVI LabVIEW
                                                         100% che implementa la
                                                         finestra di console vera e
Reference al Core LuaVIEW                                propria




            Funzione per accesso allo Stack Lua (pull)
LuaVIEW, ma in pratica a che serve?

      Lua è fantastico ecc ecc... ma LabVIEW non è già abbastanza “fantastico”?
          Si e no, dipende da quello che vuoi fare. Ogni cosa ha pro e contro.




 LuaVIEW serve a portare tutte le caratteristiche positive di Lua e dei linguaggi di
                    scripting in generale all'interno di LabVIEW




                   Flessibilità, Espandibilità, Semplicità, Agilità
LuaVIEW, ma in pratica a che serve?
Supponiamo:

   Creo un'applicazione in LabVIEW 100%, la compilo e la vendo al cliente che ne installa 1000
copie
   Il cliente richiede una nuova funzionalità o logiche per il software
   Sono costretto a modificare il software, compilarlo e reidistribuirlo ma:


       Devo distribuine un EXE pesante anche per piccole modifiche
       Creo differenti versioni e quindi problemi di manutenibilità
   Difficile customizzare il software


Ho altre strade? Si usare Lua e LuaVIEW ;)                                 execute script.vi
                                                                           _Lua Init Main.vi
LuaVIEW, esempio avanzato (non troppo)
 Supponiamo

    Dobbiamo realizzare un Test Executive
    Il TE deve essere programmabile per eseguire test di varia natura e su una vasta gamma
 di prodotti differenti
    Le sequenze e le logiche di test sono differenti sia per cliente sia per prodotto sia per
 hardware di test (ATE)
    Il TE poter supportare in futuro nuovi strumenti di test e nuovi tipi di misure



                                                                  _Lua TE main.vi
LuaVIEW, casi d'uso


    Software di test Automatico, LUA per la definizione dei cicli di procedura
    Software con Logiche espandibili o non note a priori
    Supporto a software che manca delle funzionalità di LUA
    Software che devono essere ampiamente customizzati
Grazie per l'attenzione.


                 Alessandro Ricco
                 ILVG.it – Administrator
                 alessandro.ricco@gmail.com

More Related Content

Similar to Ilvg.it @ Ni Day2008

Evoluzione degli strumenti di sviluppo Microsoft
Evoluzione degli strumenti di sviluppo MicrosoftEvoluzione degli strumenti di sviluppo Microsoft
Evoluzione degli strumenti di sviluppo MicrosoftMassimo Bonanni
 
50 minutes as a DevOps
50 minutes as a DevOps50 minutes as a DevOps
50 minutes as a DevOpsseeweb
 
Smau Milano 2016 - Seeweb, Marco Cristofanilli
Smau Milano 2016 - Seeweb, Marco CristofanilliSmau Milano 2016 - Seeweb, Marco Cristofanilli
Smau Milano 2016 - Seeweb, Marco CristofanilliSMAU
 
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...EvolutionBook S.r.l.
 
EXELEARNING COME EDITOR DI CONTENUTI PER MOODLE
EXELEARNING COME EDITOR DI CONTENUTI PER MOODLEEXELEARNING COME EDITOR DI CONTENUTI PER MOODLE
EXELEARNING COME EDITOR DI CONTENUTI PER MOODLEWebinarPro srl
 
Introduzione DevOps con Ansible
Introduzione DevOps con AnsibleIntroduzione DevOps con Ansible
Introduzione DevOps con AnsibleMatteo Magni
 
ProjectLibre - Manuale in Italiano dell'alternativa OpenSource a Microsoft Pr...
ProjectLibre - Manuale in Italiano dell'alternativa OpenSource a Microsoft Pr...ProjectLibre - Manuale in Italiano dell'alternativa OpenSource a Microsoft Pr...
ProjectLibre - Manuale in Italiano dell'alternativa OpenSource a Microsoft Pr...ROSARIO RIZZO, 2000+
 
Develer - Qt Embedded - Introduzione
Develer - Qt Embedded - Introduzione Develer - Qt Embedded - Introduzione
Develer - Qt Embedded - Introduzione Develer S.r.l.
 
Cloud & No-Coding: come fare su Azure?
Cloud & No-Coding: come fare su Azure?Cloud & No-Coding: come fare su Azure?
Cloud & No-Coding: come fare su Azure?Andrea Carratta
 
Exploring VS Code
Exploring VS CodeExploring VS Code
Exploring VS Codedotnetcode
 
festival ICT 2013: Vivere open source dalle applicazioni ad arduino
festival ICT 2013: Vivere open source dalle applicazioni ad arduinofestival ICT 2013: Vivere open source dalle applicazioni ad arduino
festival ICT 2013: Vivere open source dalle applicazioni ad arduinofestival ICT 2016
 
Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On RailsLuca Mearelli
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developerssparkfabrik
 

Similar to Ilvg.it @ Ni Day2008 (20)

Evoluzione degli strumenti di sviluppo Microsoft
Evoluzione degli strumenti di sviluppo MicrosoftEvoluzione degli strumenti di sviluppo Microsoft
Evoluzione degli strumenti di sviluppo Microsoft
 
Link. javascript ajax
  Link. javascript ajax  Link. javascript ajax
Link. javascript ajax
 
Corso Java - Introduzione
Corso Java - IntroduzioneCorso Java - Introduzione
Corso Java - Introduzione
 
50 minutes as a DevOps
50 minutes as a DevOps50 minutes as a DevOps
50 minutes as a DevOps
 
Smau Milano 2016 - Seeweb, Marco Cristofanilli
Smau Milano 2016 - Seeweb, Marco CristofanilliSmau Milano 2016 - Seeweb, Marco Cristofanilli
Smau Milano 2016 - Seeweb, Marco Cristofanilli
 
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
 
EXELEARNING COME EDITOR DI CONTENUTI PER MOODLE
EXELEARNING COME EDITOR DI CONTENUTI PER MOODLEEXELEARNING COME EDITOR DI CONTENUTI PER MOODLE
EXELEARNING COME EDITOR DI CONTENUTI PER MOODLE
 
Rich Internet Application
Rich Internet ApplicationRich Internet Application
Rich Internet Application
 
Introduzione DevOps con Ansible
Introduzione DevOps con AnsibleIntroduzione DevOps con Ansible
Introduzione DevOps con Ansible
 
ProjectLibre - Manuale in Italiano dell'alternativa OpenSource a Microsoft Pr...
ProjectLibre - Manuale in Italiano dell'alternativa OpenSource a Microsoft Pr...ProjectLibre - Manuale in Italiano dell'alternativa OpenSource a Microsoft Pr...
ProjectLibre - Manuale in Italiano dell'alternativa OpenSource a Microsoft Pr...
 
Azure dev ops meetup one
Azure dev ops meetup oneAzure dev ops meetup one
Azure dev ops meetup one
 
Java introduzione
Java introduzioneJava introduzione
Java introduzione
 
Linguaggi di programmazione
Linguaggi di programmazioneLinguaggi di programmazione
Linguaggi di programmazione
 
Develer - Qt Embedded - Introduzione
Develer - Qt Embedded - Introduzione Develer - Qt Embedded - Introduzione
Develer - Qt Embedded - Introduzione
 
Develer - Qt Embedded - Intro
Develer - Qt Embedded - IntroDeveler - Qt Embedded - Intro
Develer - Qt Embedded - Intro
 
Cloud & No-Coding: come fare su Azure?
Cloud & No-Coding: come fare su Azure?Cloud & No-Coding: come fare su Azure?
Cloud & No-Coding: come fare su Azure?
 
Exploring VS Code
Exploring VS CodeExploring VS Code
Exploring VS Code
 
festival ICT 2013: Vivere open source dalle applicazioni ad arduino
festival ICT 2013: Vivere open source dalle applicazioni ad arduinofestival ICT 2013: Vivere open source dalle applicazioni ad arduino
festival ICT 2013: Vivere open source dalle applicazioni ad arduino
 
Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On Rails
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developers
 

Ilvg.it @ Ni Day2008

  • 2. ILVG.it Italian LabVIEW user Group Alessandro Ricco ILVG.it – Administrator alessandro.ricco@gmail.com
  • 3. Cos'è ILVG.it? ILVG.it è: l'unica comunità italiana indipendente di sviluppatori, curiosi ed appassionati del linguaggio di programmazione LabVIEW™.
  • 4. Che scopi ha ILVG.it?  Diffondere la conoscenza e la cultura di LabVIEW  Permettere la condivisione di esperienze  Favorire lo scambio di idee  Creare una comunità di utenti LabVIEW in Italia
  • 5. Cosa facciamo noi di ILVG.it? • Gestiamo il forum di ILVG.it www.ilvg.it/forum cuore di ILVG.it, attivo dal 2003 oggi conta 1500 iscritti e 16000 messaggi  Scriviamo articoli su LabVIEW che pubblichiamo liberamente sul sito ILVG.it Organizziamo (ILVGDay) e partecipiamo a meeting portando le nostre esperienze
  • 6. ILVG Day 2007, cos'è? (stato) Una manifestazione gratuita e libera dedicata alle tecnologie LabVIEW e soprattutto, alle persone che le usano. ILVG Day è stato una Festa!
  • 7. ILVG Day 2007, perchè?  Riunire appassionati di LabVIEW  Condividere le esperienze, imparare e divertirsi  Creare una comunità di “wire workers”  Mangiarsi una pizza e bersi una birra insieme
  • 9. Come posso partecipare? Iscriviti al forum www.ilvg.it/forum e discuti su LabVIEW, facendo domande o aiuta dando risposte  Partecipa ai meeting, in futuro sempre più frequenti! (ILVG Day 2)  Scrivi e inviaci articoli, guide, tutorial ecc  Proponi le tue idee
  • 11. Cos'è LUA?  Linguaggio di scripting realizzato in ANSI C nato nel 1993 al PUC-Rio (Pontifical Catholic University) di Rio de Janeiro in Brasile.  Embedded, semplice, veloce ed elegante  Open Source (MIT License), supportato da una grande comunità on-line. Molti progetti sono sviluppati con LUA ed esistono moltissimi add-ons.  'Lua' vuol dire 'Luna' in Portoghese e si pronuncia LOO-ah.  Il sito ufficiale è www.lua.org
  • 12. Scripting, cos'è? Che caratteristiche ha un linguaggio di scripting:  Gira all'interno di un altro programma (virtual machine o simili)  Viene interpretato run-time, non è compilato in binario  Semplice da utilizzare  Viene utilizzato per compiti in domini specifici  Può servire come “supporto” per altri linguaggi Scripting languages [...] are computer programming languages that are typically interpreted and can be typed [interpreted] directly from a keyboard. Wikipedia.org
  • 13. Scripting, cos'è? Ma che differenza c'è tra linguaggio di scripting e uno “tradizionale”?  Software molto noti (Java, LabVIEW ad es) girano all'interno di altri software (vm)  Linguaggi di scripting vengono usati anche per realizzare applicazioni complesse I computer oggi sono veloci e i linguaggi di scripting efficienti, non c'è nessun vantaggio nella maggior parte dei casi, ad usare un programma compilato. La differenza è quindi solo “formale”, usate il linguaggio a seconda di quello che vi serve fare.
  • 14. Linguaggio di scripting, perchè? Se devo scrivere un software che deve:  essere altamente “customizzato”  essere altamente estensibile  avere delle funzionalità che non riuscirei con altri linguaggi ad implementare  poter cambiare, anche radicalmente, anche dopo il suo rilascio  poter cambiare spesso, velocemente e facilmente Se voglio essere produttivo e agile
  • 15. Perchè usare LUA?  E' un linguaggio robusto Lua è usato in diversi campi da diverse industrie. E' molto diffuso nei video game. Esiste un manuale molto ben fatto, gratis e on-line e diversi libri.  Lua è veloce Test indipendenti dimostrano come Lua sia tra i linguaggi di scripting più veloci, sia durante i test ma soprattutto nella “vita reale”
  • 16. Perchè usare LUA?  Lua è portabile Lua viene distribuito come sorgenti C. Occorre solo un compilatore per portarlo sulla propria piattaforma. LUA gira su Windows, Unix, dispositivi mobili con piccoli processori ARM e addirittura sul Lego Mindstorm NXT!  Lua è “embeddable” è molto facile estendere un linguaggio con le funzioni di Lua ed è facile permettere a Lua di usare funzioni di un altro linguaggio
  • 17. E se volessimo unire... La potenza di LabVIEW La flessibilità di Lua  acquisizione  estendibile  analisi avanzata  semplice  presentazione dati  leggero
  • 18. E se volessimo unire... La potenza di LabVIEW La flessibilità di Lua LuaVIEW!
  • 19. LuaVIEW - LuaVIEW è un toolkit sviluppato da Citengineering, che permette a LabVIEW di sfruttare tutte le caratteristiche di Lua. Potremmo definirlo un ponte tra il mondo LabVIEW e quello Lua. - LuaVIEW è liberamente utilizzabile per applicazioni non commerciali altrimenti c'è da pagare una licenza - LuaVIEW è scaricabile da www.citengineering.com/LuaVIEW/download.html L'installazione consiste semplicemente nello scompattare una cartella e lanciare un VI - La distribuzione di LuaVIEW comprende molti esempi, funzioni utili ed è documentata benissimo - LuaVIEW ha supporto per Windows, Linux e Mac.
  • 20. LuaVIEW, cosa può fare? Lua può chiamare funzioni implementate in LabVIEW.
  • 21. LuaVIEW, cosa può fare? LabVIEW può chiamare funzioni implementate in Lua.
  • 22. LuaVIEW, cosa può fare? Un numero “illimitato” di script LUA possono eseguire in parallelo
  • 23. LuaVIEW, cosa può fare? Lua e Labview possono scambiarsi dati anche in formati complessi.
  • 24. LuaVIEW, la struttura. LuaVIEW è composto da  un CIN (Code Interface Node) che è la VM di LUA + il codice con cui LUA può interfacciarsi a LabVIEW  una libreria di VI utili allo scambio tra LabVIEW e LuaVIEW push, pull  una serie di tool di setup, analisi e supporto function manager, task manager
  • 25. LuaVIEW, la libreria Le funzioni della libreria di LuaVIEW sono il punto di contatto tra Lua e LabVIEW e sono: LuaVIEW CIN  Aprichiudi riferimento a Lua LUA VM  Compila per la VM uno script  Esegui uno script  Push e Pull dallo stack Lua
  • 26. LuaVIEW in action, primo esempio -- Lua saluta print("Hello world") Vediamo l'effetto: luaviewexamplesdo a script.vi
  • 27. LuaVIEW in action, primo esempio -- Lua saluta print("Hello world") Molto interessante notare che:  Lua chiama una funzione scritta in LabVIEW (print) passandole dei parametri  Questo avviene in maniera automatica e trasparente  La sintassi di Lua è molto molto semplice ed elegante
  • 28. LuaVIEW in action, ma come... -- Lua saluta print("Hello world") Come avviene questo automatismo, come fa Lua a sapere dell'esistenza di LabVIEW e delle sue funzioni? Le funzioni LabVIEW devono essere “registrate” per essere utilizzabili da LuaVIEW
  • 29. LuaVIEW, function manager Come detto si deve “dire” a LuaVIEW com'è fatta una nostra funzione, come la print, che vogliamo rendere utilizzabile in LuaVIEW. In poche parole dobbiamo specificare a LuaVIEW il prototipo della nostra funzione Per fare questo usiamo il Function Manager Function manager: LuaVIEW1.2.1luaviewtui_LuaVIEW Function Manager.vi
  • 30. LuaVIEW, la prima funzione Com'è fatta una funzione LuaVIEW? Prendiamo ad esempio la print vista in precedenza Semplice SubVI LabVIEW 100% che implementa la finestra di console vera e Reference al Core LuaVIEW propria Funzione per accesso allo Stack Lua (pull)
  • 31. LuaVIEW, ma in pratica a che serve? Lua è fantastico ecc ecc... ma LabVIEW non è già abbastanza “fantastico”? Si e no, dipende da quello che vuoi fare. Ogni cosa ha pro e contro. LuaVIEW serve a portare tutte le caratteristiche positive di Lua e dei linguaggi di scripting in generale all'interno di LabVIEW Flessibilità, Espandibilità, Semplicità, Agilità
  • 32. LuaVIEW, ma in pratica a che serve? Supponiamo:  Creo un'applicazione in LabVIEW 100%, la compilo e la vendo al cliente che ne installa 1000 copie  Il cliente richiede una nuova funzionalità o logiche per il software  Sono costretto a modificare il software, compilarlo e reidistribuirlo ma:  Devo distribuine un EXE pesante anche per piccole modifiche  Creo differenti versioni e quindi problemi di manutenibilità  Difficile customizzare il software Ho altre strade? Si usare Lua e LuaVIEW ;) execute script.vi _Lua Init Main.vi
  • 33. LuaVIEW, esempio avanzato (non troppo) Supponiamo  Dobbiamo realizzare un Test Executive  Il TE deve essere programmabile per eseguire test di varia natura e su una vasta gamma di prodotti differenti  Le sequenze e le logiche di test sono differenti sia per cliente sia per prodotto sia per hardware di test (ATE)  Il TE poter supportare in futuro nuovi strumenti di test e nuovi tipi di misure _Lua TE main.vi
  • 34. LuaVIEW, casi d'uso  Software di test Automatico, LUA per la definizione dei cicli di procedura  Software con Logiche espandibili o non note a priori  Supporto a software che manca delle funzionalità di LUA  Software che devono essere ampiamente customizzati
  • 35. Grazie per l'attenzione. Alessandro Ricco ILVG.it – Administrator alessandro.ricco@gmail.com