Upload
others
View
2
Download
0
Embed Size (px)
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