R&R - Siti Xoomxoomer.virgilio.it/beniaminarauch/LabView/LabVIEW.pdf · LabView è un ambiente per...

Post on 12-Mar-2020

3 views 0 download

transcript

1

©R&R

2

©R&R

LabVIEW

E’ un acronimo per

"Laboratory Virtual Instrument Engineering Workbench“

Ideato dalla National Instrument nel 1986

È standard mondiale per:

l’acquisizione dati (DAQ)il controllo della strumentazione

3

©R&R

Linguaggio graficoLabView è un ambiente per sviluppare programmi

Nei linguaggi tradizionali come il C e il Vbasic i programmi :

richiedono dati in inputproducono dati in outputsono formati da linee di codice

I programmi LabVIEW si scrivono in G ⇒ programmazione grafica

• si prendono degli oggetti,• si collegano tra loro • si stabiliscono le loro relazioni • si costruisce una specie di schema a blocchi

4

©R&R

Il linguaggio GIl codice sorgente è un diagramma

di elementi connessi da fili

I dati viaggiano attraverso i fili

Il flusso di dati controlla il codice

5

©R&R

Finestra di dialogo inizialeNew

Per iniziareUn nuovo

lavoro

OpenPer

riprendere il lavoro

6

©R&R

Scegliere

l’opzione

Blank VI

Premere OK

Creazione di un nuovo VI

7

©R&R

Cos’è un VI ?

I Programmi realizzati in LabVIEW vengono chiamati Strumenti Virtuali

Virtual Instruments

Gli strumenti virtuali (VI) contengono i seguenti elementi principali:

• Il pannello frontale;• Il diagramma a blocchi;

8

©R&R

L’icona

L’ambiente di lavoro

Il pannello frontale

Il diagramma a blocchi

Compaiono due finestre sovrapposte

9

©R&R

Disposizione affiancata

Per visualizzare entrambi gli schemi affiancati

utilizzare il menù a tendina

Window → Tile Left and Right.

Pannello

Frontale

Diagramma

A Blocchi

10

©R&R

Il Pannello FrontaleE’ l’interfaccia utente

Si Visualizza tramite il menù a tendina

Window→Show Front Panel

Contiene

Controlli e Indicatori

I terminali interattivi

di ingresso e di uscita

di un VI

11

©R&R

Il diagramma a blocchiIl diagramma a blocchi contiene

il codice sorgente grafico

composto da:

• nodi,

• terminali

• Fili di collegamento

E’ visualizzato tramite il menù a tendina

Window →Show Block Diagram

Terminali

Nodi

12

©R&R

Lo scambio dei dati

Il dialogo tra Pannello Frontale e Diagramma a Blocchi

I Controlli forniscono dati allo schema a blocchi del VI.

Gli indicatori visualizzano i dati che il diagramma a blocchi acquisisce o genera.

13

©R&R

Programmazione grafica

Osserviamo la differenza di terminologia rispetto alla programmazione tradizionale

14

©R&R

I Controlli

Sono potenziometri, pulsanti, quadranti

Simulano

i dispositivi

d’ingresso

degli strumenti

15

©R&R

Gli Indicatori

Sono Led e altri Visualizzatori

Simulano i dispositivi di uscita degli strumenti

16

©R&R

La Palette Controls

Per visualizzare la palette Controlssi clicca con il tasto destro del mouse in un’area libera del pannello

frontale.

Oppure si usa il menù a tendinaWindow→Show Controls Palette

Serve a disegnare il pannello frontale

17

©R&R

La palette Controls

• Controlli• Indicatori

Sono ben separatiE’ una palette semplificata

Una visione completa viene fornita dalla

Palette All Controls

Serve a inserire nel pannello frontale

18

©R&R

La Palette All ControlsNumeric Controlli e indicatori numerici

Boolean Controlli e indicatori booleani

String

Graph

Decoration

19

©R&R

La Palette FunctionContiene gli elementi operativi di LabView

Raccolta datiSimulazione segnali

Analisi di forme d’onda Salvataggio dati e Messaggi di errore

Strutture di controllo Temporizzazioni

Svolgimento calcoli Confronto fra dati

Elaborazione di segnaliConversione di tipi di dati

Insieme completo delle funzioni

Funzioni costruite dall’utente

Le funzioni non appaiono nel pannello frontale

20

©R&R

Esercizio

Una “misura” di temperatura

21

©R&R

Inserimento di un controllo

• Clicchiamo con il destro sul pannello frontale• Appare la Palette Controls• Clicchiamo su Num Ctrls (Numeric Controls)• Sulla finestra che appare scegliamo Pointer Slide

22

©R&R

Inserimento di un controllo

Trasciniamo il controllo sul pannello frontale

23

©R&R

I Terminali

Gli oggetti del pannello frontale

appaiono nel diagramma a blocchi

come oggetti chiamati Terminali.

24

©R&R

Cancellazione di Terminali

Nelle versioni precedenti di LabView

Non si poteva cancellare un terminale dallo schema a blocchi.

Il terminale scompariva solo dopo che si cancellava l’oggetto corrispondente sul pannello frontale.

C’è stretta corrispondenza

25

©R&R

Proprietà di un controllo

Ogni controllo è contraddistinto da due proprietà di tipo testualeLa sua LabelLa sua Caption

Label (Slide nel caso della figura) il nome che lo rappresenta nel diagramma a blocchi.

La Caption (invisibile nel caso in figura) descrizione che si può aggiungere non appare nel diagramma a blocchi

26

©R&R

Cambiamo valore alla Label

• Clicchiamo due volte sulla Label• La Label diventa nera• Inseriamo il nuovo valore della label• Il cambiamento si riflette nel terminale

27

©R&R

Cambiamo la scala• Clicchiamo sul valore max della scala• Il valore diventa bianco• Inseriamo il nuovo valore• La scala si adatta automaticamente

Oppure

Si clicca con il destro sul controllo

Si accede alla finestra Properties

Si sceglie la Scheda Scale

Si cambia Scale Range

28

©R&R

Inseriamo un Indicatore

• Clicchiamo con il destro sul pannello frontale• Appare la Palette Controls• Clicchiamo su Num Inds(Numeric Indicators)• Sulla finestra che appare scegliamo Thermometer• Trasciniamolo sul pannello frontale

29

©R&R

La nuova situazione

Nel diagramma a blocchi appare ora un nuovo terminale

Pannello frontale Diagramma a blocchi

30

©R&R Terminale di tipoControllo o Indicatore ?

I Control terminalshanno

bordi spessi

Gli Indicator terminalshanno

bordi sottili

31

©R&R

Costruzione del programmaScopo del programma:

Muovendo il controllo SlideLa temperatura sul termometro deve cambiare

Sono i punti del diagramma In cui va effettuato il collegamento

Il terminale Termometro ha un triangolino sul lato sinistro

rappresenta l’ingresso dell’indicatore

Il terminale Slide ha untriangolino sul lato destro

rappresenta l’uscita del controllo

32

©R&R

Come si fanno i collegamenti

Si deve disegnare un filo (wire) tra i due terminali

I fili rappresentano il flusso di dati all’interno del diagramma a blocchi

Per disegnare i fili si usa lo strumentoConnect Wire

della Palette Tools

33

©R&R

La palette Tools

Assicurarsi che sia selezionato lo strumentoSelezione Automatica del ToolIn questo modo il Labview sceglie da solo il Tool più appropriato mentre si costruisce ilDiagramma a blocchi.

Per farla comparire se non è presente:

Window→Show Tools Palette

In caso contrario è necessario scegliere ogni volta dalla Palette lo strumento necessario

34

©R&R

Come si traccia un filo

Con la scelta automatica del Tool abilitata quando avviciniamo il mouse ad un terminale

compare un “punto caldo”ed il mouse assume la forma

di un rocchetto di filoPer tracciare il filo cliccare con il mouse e

“trascinare” il filo fino all’altro terminale

35

©R&R

Collegamenti errati

Se il collegamento fatto ha una logica all’interno del VI

Il filo apparirà continuoAltrimenti apparirà

Tratteggiato (bad wire)

36

©R&R

Salvataggio del VI

Menù File ⇒ Save

Cartella in cui si salva

Nome del VI

37

©R&R

Esecuzione di un VISi usano i pulsanti

della barra degli strumenti

38

©R&R

Esecuzione continua

Muovendo il controllo Slideil termometro

adegua la suavisualizzazione

alla temperatura impostata

Per terminare l’esecuzione

premere il pulsante di Abort

39

©R&R

Esercizio

Un “controllo” di temperatura

40

©R&R

Il Pannello Frontale

Vogliamo poter impostare una soglia per la temperatura

Vogliamo che si accenda un led se la soglia viene superata

Interfaccia

Utente

41

©R&R

Inseriamo il controllo per la soglia

• Clicchiamo con il destro sul pannello frontale• Appare la Palette Controls• Scegliamo Num Ctrls• E poi di nuovo Num Ctrl• Trasciniamo il controllo sul pannello frontale

42

©R&R

Cambiamo valore alla Label• Il controllo Numerico ha la Label =Numeric• Clicchiamo due volte sulla Label• La Label diventa nera• Inseriamo il nuovo valore della Label = Soglia• Il cambiamento si riflette nel terminale del

Diagramma a Blocchi

Prima

Dopo

43

©R&R

Inseriamo un led• Clicchiamo con il destro sul pannello frontale• Compare la palette Controls• Scegliamo Leds• Scegliamo Round Led • Posizioniamo il controllo sul pannello frontale• Cambiamo la sua Label

44

©R&R

Situazione Ecco come devono apparire

Il Pannello Frontale Il Diagramma a blocchi

Il Led ha un terminale di ingresso True/False

45

©R&R

Scrittura del programma di controlloDobbiamo controllare se la temperatura supera il valore impostato

per la soglia

In caso positivo si deve accendere il Led

Per scrivere il programma dobbiamo lavorare

sul diagramma a blocchi

•Clicchiamo con il destro sul Diagramma a Blocchi

•Compare la Palette Functions

Per effettuare il paragone

ci serve la Funzione

Arith/Compare

46

©R&R

Arithmetic & ComparisonConsente di scegliere tra una vasta gamma di calcoli aritmetici e logici

Nel nostro caso dobbiamo selezionare

Comparison

(Paragoni)

E poi la funzione Greater? ( E’ più grande?)

47

©R&R

Greater?

Ha due terminali di ingresso x e y che vengono confrontati

Ha un terminale di uscita del tipo True/False

Se x>y l’uscita è True, altrimenti è False

Bisogna collegare:

All’ingresso x

il controllo di temperatura

All’ingresso y

La soglia

L’uscita va al Led

48

©R&R

I Nodi

I nodi sono oggetti del diagramma a blocchi che hanno ingressi e uscite e svolgono delle operazioni durante l’esecuzione di un VI

Sono analoghi alle Istruzioni, operatori e Funzioni di un linguaggio diprogrammazione

Nodi speciali sono:

•I Formula Nodes utili per valutare formule ed espressioni

•Le strutture (Cicli etc.)

Nel gergo del LabView

la funzione Greater?

inserita nel diagramma

è un nodo

NODO

49

©R&R

Diagramma a BlocchiNotiamo che nel diagramma si viene a creare una

Wire Junction

Eseguiamo il VI in modo continuo

Muoviamo il controllo di Temperatura

Il led si accenderà quando la temperatura supera la soglia

Proviamo il VI con diversi valori della soglia

50

©R&R

Esercizio

Sommiamo due numeri

51

©R&R Disegniamo l’interfaccia utente

Per immettere i numeri da sommare inseriamo due controlli numerici

Dalla Palette Controls scegliamo Num Ctrls e poi Num Ctrl

Cambiamo le Label dei due controlli in:

Primo Numero

Secondo Numero

52

©R&R

Per visualizzare il risultato

Ci vuole un Indicatore

Dalla Palette Controls scegliamo Num Inds e poi Num Ind

Posizioniamo il controllo sul Pannello Frontale

Cambiamo la sua Label in Risultato

53

©R&R

L’interfaccia utente

L’utente può inserire i valori dei numeri da sommare

nei corrispondenti controlli numerici

L’utente non può cambiare il valore del risultato

In quanto un indicatore visualizza

il valore calcolato dal programma

54

©R&R

Scriviamo il programma

Bisogna inserire la funzione matematica di somma

Scegliamo

Arith/Compare

e poi

Numeric

Nel diagramma a blocchi

Facciamo comparire

La Palette Functions

55

©R&R

Le Funzioni Numeriche

Scegliamo Add

56

©R&R

La funzione AddHa due terminali di ingresso x e y

Ha un terminale di uscitache rappresenta

la somma degli ingressix + y

Colleghiamo:

I due terminali

di tipo controllo

agli ingressi della funzione

Colleghiamo l’uscita della funzione al terminale indicatore che deve visualizzare il risultato

57

©R&R

Esecuzione del programma

L’utente cambia i valori dei numeri agendo sui controlli

Il risultato viene visualizzato nell’indicatore

58

©R&R

Esercizio

Somma di due numerie

Sottrazione di una costante

59

©R&R

Inseriamo una costanteClicchiamo con il destro sul diagramma a blocchi

60

©R&R

Le Costanti

Nel diagramma a blocchi compare la costante

La costante è una “sorgente “ di dati

del diagramma a blocchi

che non appare nel pannello frontale

e che fornisce valori fissi al diagramma

61

©R&R

Modifichiamo il diagramma

Costante

Il diagramma a blocchi

dopo l’inserimento della costante

Il risultato non è più

la somma dei numeri

Dobbiamo cancellare il collegamento

tra la funzione somma e il risultato

Clicchiamo sul collegamento

Il filo appare tratteggiato

Premiamo Canc

Il Collegamento scompare

62

©R&R

La funzione SubtractHa due terminali di ingresso x e y

Ha un terminale di uscitache rappresenta

la differenza degli ingressix - y

L’uscita della funzione Add

All’ingresso x di Subtract

La costante numerica

All’ingresso y di Subtract

Colleghiamo:

Colleghiamo l’uscita della funzione Subtract al terminale indicatore che deve visualizzare il risultato

Risultato= (Primo Numero + Secondo Numero) - K

63

©R&R

Esecuzione del programmaImpostiamo la costante

numerica al valore 7 cliccandoci sopra due volte

Eseguiamo il programma

Il risultato è corretto 45+ 3 = 48 48 – 7 = 41

La costante 7 non compare però nell’interfaccia utente

64

©R&R

Visualizzazione della costanteInseriamo nel pannello frontale

Un altro indicatore numerico

Controls ⇒ Num Inds ⇒ Num Ind

Nel diagramma

colleghiamo

La costante numerica

Al nuovo terminale

Notiamo che nel diagramma si viene a creare una

Wire Junction

65

©R&R

Esercizio

Addizionatrice On - Off

66

©R&R

Interfaccia utente

Il VI deve visualizzare:

La somma dei due numeri se l’interruttore è ON

0 se l’interruttore è OFF

Lo stato ON / OFF dell’interruttore viene indicato:

Dalla posizione del pulsante

Dall’accensione / spegnimento di un led

67

©R&R

Inserimento pulsante

Visualizziamo la Palette Controls e scegliamo Buttons

Compare la finestra Buttons & Switches

Scegliamo Toggle Switch

68

©R&R

Collegamento Led - SwitchInseriamo il led nel pannello frontale

Nella Palette Controls Scegliamo Ledse poi scegliamo Round Led

Cancelliamo la Label Boolean dello switch e scriviamo ON/OFF

Cancelliamo la Label Boolean del led

Lo switch ha una uscita Boolean (TF)

Il Led ha un ingresso Boolean (TF)

Colleghiamoli

Switch on ⇒ Led On

Switch off ⇒ Led Off

69

©R&R

Il nodo di SelezioneIn funzione della posizione dello switch

dobbiamo portate all’indicatore del risultato

Il risultato della funzione somma (se lo Switch è On)

Il valore della costante (0) (se lo Switch è Off)

Ci vuole un nodo di selezione (Select)

Ha due ingressi t (true) e f (false)

Ha un ingresso di selezione s

Se s= true viene riportato in uscita l’ingresso t

Se s= false viene riportato in uscita l’ingresso f

70

©R&R

Inserimento del nodo SelectClicchiamo con il destro sul diagramma a blocchi

71

©R&R

Scriviamo il programmaLa somma dei due numeri

è l’ingresso t del nodo select

La costante 0

è l’ingresso f del nodo Select

L’uscita dello switch (TF)

è l’ingresso s di selezione

Il risultato visualizzato sarà la somma se lo switch invia True

Il risultato visualizzato sarà 0 se lo switch invia True

72

©R&R

Esercizio

Le Porte Logiche

73

©R&R

Le funzioni BooleanVogliamo visualizzare tramite

l’accensione e lo spegnimento di ledil diverso funzionamento della

funzione AND e della funzione OR

Le funzioni And e OR accettano e forniscono

input e output di tipo Boolean

(True/False)

Palette Functions ⇒ Arith/Compare ⇒ Boolean

74

©R&R

Esercizio

Conversione da gradi Celsius a gradi Fahrenheit

75

©R&R

Un po’ di FisicaSiano F e C due misure della stessa

temperatura nelle due scale

C : 100 = F - 32 : (212 – 32)

C : 100 = F - 32 : 180

F – 32 = C * 180 / 100 = C * 1.8

F = C * 1.8 + 32

76

©R&R

Il Pannello Frontale•Un controllo per inserire la temperatura in gradi Celsius

•Un indicatore per visualizzare la temperatura corrispondente

E’ composto da:

Dalla Palette Controls ⇒ Num Ctrls ⇒ Num Ctrl

Dalla Palette Controls ⇒ Num Inds ⇒ Num Ind

Cambiare le Label in

Gradi Celsius

Gradi Fahrenheit

77

©R&R

Scriviamo il programma La formula da applicare è:

F = C * 1.8 + 32Ci vogliono due costanti

e due funzioni numeriche

Per inserirle dalla Palette Funtions ⇒ Arith/Compare ⇒ Numeric

Notiamo il colore

dei fili e dei nodi

Blu ⇒ Dato Intero

Arancione ⇒ Dato Reale

78

©R&R

Esercizio

La legge di Ohm

79

©R&R

Il pannello frontale

Disegniamo un “circuito” composto da

•Un generatore di tensione

•Una Resistenza

•Un Amperometro

Muovendo la manopola del generatore deve variare la corrente

80

©R&R

Controlli e IndicatoriDalla Palette

Controls ⇒Num Ctrls

Scegliamo:

•Num Ctrl per rappresentare la resistenza e impostarne il valore

•Knob per rappresentare la manopola del generatore di tensione

Dalla Palette

Controls ⇒Num Inds

Scegliamo:

•Meter per rappresentare il quadrante dell’amperometro

81

©R&R

Il disegno del circuitoDalla Palette

Controls ⇒All Controls

Scegliamo Decorations

Sono linee, frecce, forme varie

Servono per abbellire i VI

82

©R&R

Il programma “Legge di Ohm”

Legame Tensione (V), Resistenza (R) e Corrente (I)

Per realizzare il programma basta aggiungere un nodo che effettua la divisione

Palette Functions ⇒ Arith/Compare ⇒ Numeric ⇒ Divide

VR

I =