INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e...

Preview:

Citation preview

INTRODUÇÃO AOOBJECTIVOS:o Introdução ao ambiente LabVIEWço Modelo de programação em Go Conceito de instrumentos virtuais (VI)o Aquisição e Data Logging

1

©2010 João Paulo Coelho©2010 João Paulo Coelho

1.0 Instrumentos Virtuais

• O LabVIEW funciona segundo um modelo de fluxo de dados.

• Um programa é designado por «Virtual• Um programa é designado por «Virtual Instrument» ou VI.

• A informação flui de «fontes» para «drenos» através de ligações.g ç

• A informação (dados) são alterados ao longo ddo percurso.

2

©2010 João Paulo Coelho

1.1. Instrumentos Virtuais

• O LabVIEW suporta dois tipos de VI:– VI internos– VI criados pelo utilizadorp

• VI internos são fornecidos pela aplicação e executam tarefas básicasexecutam tarefas básicas.

• VI criados pelo utilizador consistem num GUI e di d ble e num diagrama de blocos.

• Um programa em LabVIEW é definido sob 

3

duas plataformas:

©2010 João Paulo Coelho

1.3. Instrumentos Virtuais

• FONT‐END– Permite interagir directamente com o utilizador.

Apresenta informação sobre o processo a– Apresenta informação sobre o processo a monitorizar ou controlar.

P it tili d difi â t d– Permite ao utilizador modificar parâmetros do sistema (SCADA)

4

©2010 João Paulo Coelho

1.3. Instrumentos Virtuais

• BACK‐END– Programa por detrás do FRONT‐END.

Programação feita numa linguagem gráfica: G– Programação feita numa linguagem gráfica: G

– Tem a forma de um (ou múltiplos) diagramas de blblocos.

– Permite a realização de tarefas concorrentes

5

©2010 João Paulo Coelho

2.0 Construção de um VI

New VI

6

©2010 João Paulo Coelho

2.1 Painel Frontal

‘’Botão’’ direito do ‘’Rato’’ sobre painel frontal abre lista de pCONTROLOS

Numeric Indicators[Num Inds][M t ]

Arrastar o objecto e posicioná‐lo no painel frontal.Observe o objecto que é criado 

7

[Num Inds][Meter]na janela do diagrama de blocos.

©2010 João Paulo Coelho

2.2 Painel Frontal

‘’Botão’’ direito do ‘’Rato’’ sobre painel frontal

[Knob]

8

©2010 João Paulo Coelho

2.3 Painel Frontal

1 E t li ã t d i1 – Executar a ligação entre os dois blocos na janela ‘’ Block Diagram’’

2 Executar Programa2 – Executar Programa [Run Continuously]

3 – Com ajuda do ‘’Rato’’ girar o

9

3  Com ajuda do  Rato  girar o botão rotativo ‘’Knob’’ e observar o movimento do painel de medida.

©2010 João Paulo Coelho

2.4 Diagrama de Blocos

1 – Abrir caixa de ferramentas2 – Seleccionar [Edit Text]3 – Alterar o nome dos controlos.

4 – Inserir ‘’Pointer SLIDER’’2 Inserir ‘’LED’’ [Round LED]2 – Inserir ‘’LED’’  [Round LED]3 – Alterar cor do LED: 

Apagado = PretoAceso = Vermelho

10

Aceso = Vermelho

©2010 João Paulo Coelho

2.5 Diagrama de Blocos +

Realizar um programa que acenda oRealizar um programa que acenda o LED sempre que a temperatura for superior ao ‘’SET‐POINT’’

1 – Inserir COMPARISION no diagrama de blocos2 – Efectuar as seguintes ligaçõesNota: É necessário editar as 

i d d d bl

11

propriedades do bloco COMPARISION de modo a admitir duas variáveis de entrada…

©2010 João Paulo Coelho

3.0 Sinais e Gráficos

Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado com ruído branco. A relação sinal/ruído deve poder ser alterada através de um ‘’potenciómetro’’

3 – Inserir SINAL

12

1 – Inserir Gráfico2 – Inserir ‘’KNOB’’

©2010 João Paulo Coelho

3.1 Sinais e Gráficos

1 – Alterar propriedades do SIGNAL

2 – Alterar propriedade

13

3 – Realizar as ligações…

2  Alterar propriedade do ‘KNOB’

©2010 João Paulo Coelho

3.2 Sinais e Gráficos

1 – Simular…

Girar o POT e verificar a evolução da forma de onda.

• Observações:– No front‐end existem indicadores e controlos

– Qualquer controlo pode ser convertido num

14

Qualquer controlo pode ser convertido num indicador e vice‐versa.

©2010 João Paulo Coelho

4.0 Operações Lógicas e Aritméticas

• Máquina de somar simples

ã d li b ã “ ”

15

• A operação deve realizar‐se sempre que o botão “Executa” é premido.

©2010 João Paulo Coelho

4.1 Operações Lógicas e Aritméticas

• Diagrama lógico

16

©2010 João Paulo Coelho

4.0 Estruturas de Controlo

• Para além dos controlos, indicadores e VI, um diagrama de blocos pode também conterdiagrama de blocos pode também conter sequências para controlo de fluxo de dados.

• O LabVIEW suporta seis tipos de estruturas deO LabVIEW suporta seis tipos de estruturas de controlo:– Ciclos WHILEc os– Ciclos FOR– Estruturas condicionais CASE– Estruturas de eventos– Estruturas de Sequencias

17

– Fórmulas

©2010 João Paulo Coelho

4.1 Ciclos WHILE

• Executa um conjunto de operações ATÉ que uma condição lógica seja satisfeitacondição lógica seja satisfeita.

• A estrutura WHILE já contém o seu próprio contador [i] que inicia em zero e incrementa

18

©2010 João Paulo Coelho

4.2 Ciclos WHILE

• Terminar o ciclo se o utilizador pressionar STOP ou a amplitude de um sinal sinusoidal atingir oou a amplitude de um sinal sinusoidal atingir o valor 0.9.

19

©2010 João Paulo Coelho

4.3 Ciclos WHILE

• Execução, em paralelo, de dois ciclos WHILE.

20

©2010 João Paulo Coelho

4.4 Ciclos WHILE

• Túneis• Virtualmente qualquer estrutura pode ter entradasVirtualmente qualquer estrutura pode ter entradas e saídas

• Ligações que passam para dentro e fora de Ú

g ç q p pestruturas são designadas por TÚNEIS

21

©2010 João Paulo Coelho

5.0 Estrutura CASE

• Um selector CASE localizado numa estrutura CASE t li d f t d d dCASE encontra‐se ligada a uma fonte de dados.

• Apenas uma condição é vista de cada vez.

22

©2010 João Paulo Coelho

5.1 Estrutura CASE

CAS

ÕES

LÓGIC

CONDIÇÕ

•C

23

©2010 João Paulo Coelho

5.2 Estrutura CASE

CAS

ÕES

LÓGIC

CONDIÇÕ

•C

24

©2010 João Paulo Coelho

5.3 Estrutura CASEIROS

ES:INTEI

ONDIÇÕE

•CO

25

©2010 João Paulo Coelho

5.4 Estrutura CASE

26

©2010 João Paulo Coelho

5.5 Estrutura CASE

CASE dentro 

NGS

de WHILE

ES:STR

INONDIÇÕ

•CO

27

©2010 João Paulo Coelho

• Trabalhos para Casa:– Cria um VI, chamado projecto1.vi que tenha um controlo booleano e uma string indicadora no painel frontal. Quando o controlo tiver o valor lógico “verdadeiro” a string deve indicar “Verdadeiro”. Se o controlo for “falso” a string deve mudar para “Falso”.

– Adiciona mais um controlo booleano ao painel frontal. Utiliza a operação AND dos dois controlos booleanos fazendo com que a string acompanhe o valor lógico 

lresultante.

28

©2010 João Paulo Coelho

6 Sequências

• Por defeito, no diagrama de blocos, todos os eventos ocorrem de forma concorrenteeventos ocorrem de forma concorrente.

• A necessiade de execução de diagramas i l t i li tili ã dsequencialmente implica a utilização de uma 

estrutura de sequências:

29

©2010 João Paulo Coelho

6.1 Sequências

• Sequências planas (flat sequences)d d d d– São sempre executadas da esquerda para a direita

– É iniciado apenas com uma “frame” e permite a adição de outros quadros

30

©2010 João Paulo Coelho

6.2 Sequências

31

©2010 João Paulo Coelho

6.3 Sequências

32

©2010 João Paulo Coelho

7 Aquisição de Dados

• Aquisição de Dados:

• Placa de Som

• DAQ• DAQ

• “Data Logging”:

• Escrita de dados em ficheiro

• Leitura de dados de ficheiros• Leitura de dados de ficheiros

33

©2010 João Paulo Coelho

7.1 Placa de Som

• Aquisição e apresentação de 1 segundo de btid d i fsom obtido do microfone.

Um canal apenas…

34

©2010 João Paulo Coelho

7.2 Placa de Som

35

©2010 João Paulo Coelho

7.3 Placa de Som

• Repetir agora para STEREO.C d l dif t áfi !• Cada canal em diferente gráfico!

36

©2010 João Paulo Coelho

7.4 Placa de Som

37

©2010 João Paulo Coelho

7.5 Placa de Som

38

©2010 João Paulo Coelho

8 DAQ – NI USB 6008

39

©2010 João Paulo Coelho

CONVERTER TYPE ........................................SUCCESSIVE APPROXIMATIONANALOG INPUTS..........................8 SINGLE‐ENDED, 4 DIFFERENTIAL,SOFTWARE SELECTABLEINPUT RESOLUTION........................................12 BITS DIFFERENTIAL, 11 BITS SINGLE‐ENDEDINPUT RESOLUTION........................................12 BITS DIFFERENTIAL, 11 BITS SINGLE ENDEDMAX SAMPLING RATE.................................10 KS/SSINGLE‐ENDED....................................±10 VDIFFERENTIAL ......................................±20 V, ±10 V, ±5 V, ±4 V,±2.5 V, ±2 V, ±1.25 V, ±1 VWORKING VOLTAGE 10 VWORKING VOLTAGE .....................................±10 VINPUT IMPEDANCE .....................................144 KΩOVERVOLTAGE PROTECTION ...........................±35

40

©2010 João Paulo Coelho

CONVERTER TYPE........................................ SUCCESSIVE APPROXIMATIONANALOG OUTPUTS ....................................... 2OUTPUT RESOLUTION.................................... 12 BITSOUTPUT RESOLUTION.................................... 12 BITSMAXIMUM UPDATE RATE ............................ 150 HZ, SOFTWARE‐TIMEDOUTPUT RANGE........................................... 0 TO +5 VOUTPUT IMPEDANCE .................................. 50 ΩOUTPUT CURRENT DRIVE 5 AOUTPUT CURRENT DRIVE................................5 mAPOWER‐ON STATE ........................................0 VSLEW RATE .................................................1 V/mSSHORT CIRCUIT CURRENT ................................50 mASHORT CIRCUIT CURRENT ................................50 mA

41

©2010 João Paulo Coelho

DIGITAL I/OP0.<0..7> .........................................8 LINESPI.<0..3> ..........................................4 LINESDIRECTION CONTROL.........EACH CHANNEL INDIVIDUALLY PROGRAMMABLE AS IOOUTPUT DRIVER TYPE........................................OPEN COLLECTOR (OPEN‐DRAIN)COMPATIBILITY TTL LVTTL CMOSCOMPATIBILITY ..........................................TTL, LVTTL, CMOSABSOLUTE MAXIMUM VOLTAGE RANGE..........–0.5 TO 5.8 V WITH RESPECT TO GNDPULL‐UP RESISTOR........................................4.7 KΩ TO 5 

42

©2010 João Paulo Coelho

8 Ensaio 1: A/D

+5v(31)

DAQ Board

+5v(31)

AI0 (2)

Gnd (32)

43

©2010 João Paulo Coelho

Recommended