ET6DE - Instrumentação Virtual Prof. Winderson Aula03.
Transcript of ET6DE - Instrumentação Virtual Prof. Winderson Aula03.
ET6DE - Instrumentação Virtual
Prof. WindersonAula03
Introdução ao LabVIEW
A. Programação em LabVIEWB. Uso de Sub-VIs C. Estruturas Básicas de Programação
11 de abr de 2023 2
A. Linguagem LabVIEW• LabVIEW é uma linguagem de programação gráfica, de
propriedade da empresa National Instruments, que utiliza ícones, em vez de linhas de texto, para criar aplicações.
• Vasto conjunto de ferramentas e objetos de automação e instrumentação.
• A interface de usuário é o Painel frontal.• O código de programa é o Diagrama de bloco.• A National Instruments fornece uma vasta opções de
hardware DAQ cujo programação é realizada através do LabVIEW.– GPIB, PCI, VXI, PXI, RS-232, RS-485, USB, Ethernet, etc.
• Aplicações para Internet (ActiveX e redes TCP/IP).• Pode-se criar executáveis e bibliotecas DLLs.
11 de abr de 2023 A. Introdução 3
Instrumento Virtual (VI) no LabVIEW
• Os programas em LabVIEW são chamados de instrumentos virtuais (VIs - Virtual Instruments).
• Os VIs contêm três componentes principais:– painel frontal – diagrama de bloco – painel de ícones e conectores
11 de abr de 2023 A. Introdução 4
Painel frontal
• É a interface com o usuário:
11 de abr de 2023 A. Introdução 5
Diagrama de blocos
• É o código para controlar os objetos do painel frontal:
11 de abr de 2023 A. Introdução 6
Painél de ícones e conectores
• Serve para permitir o uso de um VI em outro VI:
11 de abr de 2023 A. Introdução 7
Hierarquia de VIs
• Vantagem: Natureza hierárquica dos VI.• Uso de subVIs.• Não há limites para a hierarquia.• Rápidas alterações e depurações da aplicação.• Útil para modelar blocos repetitivos– Fácil reutilização de código.
11 de abr de 2023 A. Introdução 8
Exemplo...
11 de abr de 2023 A. Introdução 9
Exemplo...
11 de abr de 2023 A. Introdução 10
Ambiente de programação
11 de abr de 2023 A. Introdução 11
11 de abr de 2023 A. Introdução 12
Barra de ferramentas do painel frontal
• Run• Run continuamente• Abortar execução• Pausa• Formatar textos• Alinhar objetos• Distribuir objetos• Reordenar objetos
11 de abr de 2023 A. Introdução 13
Barra de ferramentas do diagrama de blocos
• Mostrar execução• Executar passo a passo• Entrar em um Loop ou SubVI• Sair de um Loop ou SubVI• Aviso de potencial problema
11 de abr de 2023 A. Introdução 14
Menus
• File (Open, Save, Copy e Paste)• Edit (para modificar componentes do VI)• View (acessar elmtos que compoem o VI)• Project (gerenciar projetos)• Operate (executar, anular e alterar opções do
VI)• Tools (para configurações do LabVIEW)• Windows (gerenciamento de janelas)• Help (manuais, ajuda on-line e outras infos)
11 de abr de 2023 A. Introdução 15
Paletas Tools• Operating para alterar os valores de um controle ou selecionar o texto em
um controle. • Positioning para selecionar, mover ou redimensionar objetos. • Labeling para editar texto e criar legendas livres. • Wiring para ligar objetos no diagrama de bloco.• Object Shortcut Menu para acessar ao menu de atalho de um objeto com
o botão esquerdo do mouse.• Scrolling para percorrer as janelas sem utilizar as barras de rolagem.• Breakpoint para definir pontos de parada em VIs, funções, nós, ligações e
estruturas, a fim de interromper a execução naquela localização.• Probe para criar sensores no diagrama de bloco. • Color Copy a fim de copiar cores para serem coladas.• Coloring para colorir um objeto.
11 de abr de 2023 A. Introdução 16
Paleta Controls
11 de abr de 2023 A. Introdução 17
Paleta Functions
11 de abr de 2023 A. Introdução 18
Carregando Vis
11 de abr de 2023 A. Introdução 19
EXERCÍCIO 1• VI Frequency Response• Objetivo: Abrir e executar um VI• Tempo estimado para execução: 5 minutos
11 de abr de 2023 A. Introdução 20
Criando um VI
1) No painel frontal aloque os controles e indicadores.
2) No diagrama de blocos aloque os nós entre os terminais através das ligações apropriadas.
11 de abr de 2023 A. Introdução 21
EXEMPLO 1
Comparando c/ linguagens textuais
• Um NÓ comporta-se como uma declaração, operador e função ou sub-rotina;
• TERMINAIS por sua vez são como parâmetros e constantes e
• LIGAÇÕES são como variáveis.
11 de abr de 2023 A. Introdução 22
Programação de fluxo de dados
• Um nó é executado quando todos os dados estao disponíveis em seus terminais de entrada
• Após a execução do nó os dados são colocados na saída e transferidos adiante
• Exemplos:
11 de abr de 2023 A. Introdução 23
Outros recursos
• Ligar objetos automaticamente usando a barra de espaço (Tools > Options e Block Diagram)
• Exibir terminais com botão direito e Visible Items > Terminals
• Pesquisar controles, VIs e funções através do botão: Search da Paleta
11 de abr de 2023 A. Introdução 24
EXERCÍCIO 2
• VI Convert C to F• Objetivo: Montar um VI• Tempo estimado para execução: 8 minutos
11 de abr de 2023 25A. Introdução
Técnicas de Edição
• Criação rápida de objetos com Create• Selecionar objetos com a ferramenta Positioning• Mover objetos com auxílio da tecla Shift• Excluindo objetos• Desfazer/Refazer com Undo e Redo• Duplicar objetos com auxílio da tecla Control• Rotulando objetos– Títulos: acompanham um objeto– Legendas livres criadas com a ferramenta Labeling
11 de abr de 2023 A. Introdução 26
Mais técnicas de edição
• Selecionando e excluindo ligações
• Extendendo ligações
11 de abr de 2023 A. Introdução 27
Outras técnicas de edição
• Ligações interrompidas
• Alterar fonte, estilo e tamanho de texto com Text Settings na barra de ferramentas
• Redimensionar objetos com alças apropriadas
11 de abr de 2023 28A. Introdução
Mais técnicas de edição
• Alinhando objetos• Copiando objetos• Colorindo objetos (exceto terminais) com a
ferramenta Coloring ou Tools>Options e Colors
11 de abr de 2023 A. Introdução 29
EXERCÍCIO 3
• Execute as alterações no painel frontal e no diagrama de blocos conforme solicitado na folha de exercício.
• Tempo estimado para execução: 12 minutos
11 de abr de 2023 A. Introdução 30
Técnicas de depuração
• Indicação de VI não executável• Localização de erros com View > Error List• Animação da execução com uso do botão Highlight
Execution• Executando passo a passo com botões Step Over,
Step Into ou Step Out.• Pontas de prova• Pontos de parada
11 de abr de 2023 A. Introdução 31
EXERCÍCIO 4
• VI Debug Exercice• Objetivo: Praticar técnicas de depuração• Tempo estimado para execução: 15 minutos
11 de abr de 2023 A. Introdução 32
B. Criando Sub-VIs
• Um VI dentro de outro VI é chamado subVI• Corresponde a uma chamada de sub-rotina
11 de abr de 2023 B. SubVIs 33
Criando um ícone
• Ícone é a representação gráfica do VI• Edit Icon... botão direito sobre o ícone• Utilize ferramentas Icon Editor de forma
similar aos comandos encontrados no programa Paint do Windows
• Tamanho em pixels: 32 x 32• Padrões de cores: P&B, 16 e 256(default)• Também pode-se arrastar um gráfico de
qualquer lugar do seu sistema de arquivos
11 de abr de 2023 B. SubVIs 34
Configurando o painel de conectores
• É o conjunto de terminais que corresponde aos controles e indicadores do VI (define E/S)
• Show Conector com botão direito no ícone mostrado no Painel frontal
• Altere o padrão com a opção Patterns• Número máximo de terminais é 28• Recomendação use no máximo 16• Altere distribuição espacial com Flip e Rotate
11 de abr de 2023 B. SubVIs 35
Atribuindo terminais a controles e indicadores
• Define a relação entre o painel de conectores e os terminais de controles/indicadores.
• Deve-se utilizar a ferramenta Wiring no painel de controle
• Coloque as entradas do lado esquerdo e as saídas do lado direito
11 de abr de 2023 B. SubVIs 36
EXERCÍCIO 5
• VI Convert C to F• Objetivo: Criar um painel de ícones e
conectores para que você possa utilizar um VI como um subVI
• Tempo estimado para execução: 10 minutos
11 de abr de 2023 B. SubVIs 37
Utilizando subVIs
• Selecione Functions»Select a VI• Ou pode-se copiar e colar a partir de outro VI• Um duplo clique no subVI do diagrama de
blocos abrirá o painel de controle deste subVI• Idem + Control abre-se seu diagrama de
blocos• As alterações num subVI só alteram a estância
atual. • As demais estâncias alteram-se após o subVI
ser salvo
11 de abr de 2023 B. SubVIs 38
EXERCÍCIO 6
• VI Thermometer• Objetivo: Montar um VI e criar seu painel de
ícones e conectores para que você possa utilizá-lo como um subVI
• Tempo estimado para execução: 20 minutos
11 de abr de 2023 B. SubVIs 39
Definindo atributos aos conectores
• Clique com o botão direito no painel de conectores e selecione This Connection Is no menu de atalho:– Required– Recommended– Optional
• Para opção obrigatória (Required) não se pode executar o VI como um subVI sem o ligar corretamente.
11 de abr de 2023 B. SubVIs 40
Criando subVI a partir de seções de um VI
• Use este recurso para simplificar o diagrama• Deve-se usar a ferramenta Positioning para
selecionar a seção• Menu Edit»Create subVI • O LabVIEW cria controles e indicadores para o
novo subVI e conecta o subVI às ligações já existentes
• Não se pode converter uma seção com mais de 28 entradas/saídas.
11 de abr de 2023 B. SubVIs 41
C. Estruturas Básicas de Programação
• While Loops• Diagramas de forma de onda• For Loops• Estruturas Case• Estruturas Sequence
11 de abr de 2023 C. Estruturas de Programação 42
While Loops
• Similar às estruturas DO ou REPEAT-UNTIL• Localizada na paleta Functions»Structures • Executa o sub-diagrama até que uma condição
booleana seja satisfeita• Comportamento padrão: Stop If True • Comportamento alternativo: Continue If True • Um terminal de iteração realiza uma contagem• Exemplo
11 de abr de 2023 C. Estruturas de Programação 43
Diagramas de forma de onda
• Indicador numérico que exibe plotagens• Localizado na paleta Controls»Graph
11 de abr de 2023 C. Estruturas de Programação 44
Diagramas de forma de onda
• Utilizam três modos diferentes para rolar dados
• Escolha o modo com o botão direito no diagrama e selecione Advanced»Update Mode
• O modo Strip é mais lento (padrão)
11 de abr de 2023 C. Estruturas de Programação 45
Exemplos...
11 de abr de 2023 C. Estruturas de Programação 46
EXERCÍCIO 7
• VI Temperature Monitor• Objetivo: Utilizar um While Loop e diagrama
de forma de onda para adquirir e exibir dados• Tempo estimado para execução: 10 minutos
11 de abr de 2023 C. Estruturas de Programação 47
EXERCÍCIO 8
• VI Random Signal• Adicionar temporização a um diagrama de
forma de onda, utilizando um controle numérico
• Tempo estimado para execução: 10 minutos
11 de abr de 2023 C. Estruturas de Programação 48
EXERCÍCIO 9
• VI Auto Match• Objetivo: Transmitir dados para fora de um
While Loop através de um túnel• Tempo estimado para execução: 10 minutos
11 de abr de 2023 C. Estruturas de Programação 49
Registradores de deslocamento
• Usados para transferir valores de uma iteração de loop para a próxima
• Cria-se com o botão direito na borda esquerda ou direita de um loop e selecionando Add Shift Register no menu de atalho
• Um registrador de deslocamento aparece como um par de terminais diretamente em oposição um ao outro nas laterais verticais da borda do loop
11 de abr de 2023 C. Estruturas de Programação 50
Registradores de deslocamento
11 de abr de 2023 C. Estruturas de Programação 51
Registradores de deslocamento
• Pode-se acessar iterações anteriores • botão direito no terminal esquerdo Add Element
11 de abr de 2023 C. Estruturas de Programação 52
Inicializando registradores de deslocamento
• Ligar qualquer valor da parte externa do loop ao terminal esquerdo– Senão o valor gravado no registrador será o
mesmo de quando o loop foi executado pela última vez
– Ou utilizará o valor padrão para o tipo de dados se o loop nunca tiver sido executado• Exemplo: se o tipo de dados do registrador de
deslocamento for Boolean, o valor inicial será FALSE
11 de abr de 2023 C. Estruturas de Programação 53
EXERCÍCIO 10
• VI Shift Register Example• Objetivo: Utilizar registradores de
deslocamento para acessar valores de iterações anteriores
• Tempo estimado para execução: 10 minutos
11 de abr de 2023 C. Estruturas de Programação 54
EXERCÍCIO 11
• VI Temperature Running Average• Objetivo: Utilizar registradores de
deslocamento para calcular uma média de execução
• Tempo estimado para execução: 10 minutos
11 de abr de 2023 C. Estruturas de Programação 55
For Loops
• Executa um subdiagrama por um definido número de vezes
• Localizado na paleta Functions»Structures• O valor no terminal de contagem indica quantas
vezes é possível repetir o sub-diagrama • A contagem de iterações sempre inicia em zero • O terminal de contagem de For Loop é um inteiro
longo (coerção para este formato!)
11 de abr de 2023 C. Estruturas de Programação 56
EXERCÍCIO 12
• VI Random Average• Objetivo: Montar um VI que exiba duas
plotagens, uma plotagem aleatória e uma média dos últimos quatro pontos em um diagrama de forma de onda em modo de atualização sweep.
• Tempo estimado para execução: 10 minutos
11 de abr de 2023 C. Estruturas de Programação 57
Estruturas Case• Tem dois ou mais sub-diagramas• Apenas um sub-diagrama pode ser visto de cada vez• A estrutura executa apenas uma condição de cada
vez• Um valor de entrada determina qual sub-diagrama
será executado• A estrutura Case é semelhante às declarações
condicionais ou declarações if...then...else em linguagens de programação baseadas em texto
• Pode-se especificar uma condição padrão para a estrutura Case, usada para tratar valores fora da faixa
11 de abr de 2023 C. Estruturas de Programação 58
Estruturas Case
• Pode-se criar vários túneis de entrada e saída• Apesar de haver entradas disponíveis para
todos os sub-diagramas, eles não precisam utilizar todas elas
• Porém deve-se definir túnel de saída p/ cada condição
• Túneis de saída não ligados aparecem como quadrados brancos
11 de abr de 2023 C. Estruturas de Programação 59
EXERCÍCIO 13
• VI Square Root• Objetivo: Utilizar a estrutura Case• Tempo estimado para execução: 10 minutos
11 de abr de 2023 C. Estruturas de Programação 60
EXERCÍCIO 14
• VI Temperature Control• Objetivo: Utilizar a estrutura Case• Tempo estimado para execução: 10 minutos
11 de abr de 2023 C. Estruturas de Programação 61
Estruturas Sequence
• Contém um ou mais sub-diagramas, ou quadros, que são executados em ordem seqüencial
• Uma estrutura Sequence executa o quadro 0, depois o quadro 1, depois o quadro 2, e assim por diante
• Essa estrutura não completa sua execução nem retorna nenhum dado até que o último quadro seja executado
11 de abr de 2023 C. Estruturas de Programação 62
Estruturas Sequence
• Os túneis das estruturas Sequence podem ter apenas uma fonte de dados, diferente das estruturas Case
• A saída pode ser emitida a partir de qualquer quadro, mas os dados deixam a estrutura Sequence somente quando a execução de todos os quadros estiver concluída (e não quando quadros individuais concluírem suas execuções)
11 de abr de 2023 C. Estruturas de Programação 63
Seqüências locais
• Para transferir dados de um quadro para qualquer quadro subseqüente, utilize um terminal de seqüência local – Uma seta apontando para fora aparece no terminal de
seqüências locais do quadro que contém a fonte de dados– O terminal nos quadros subseqüentes contém uma seta
apontando para dentro, indicando que o terminal é uma fonte de dados para aquele quadro.
• Adicione seqüências com o botão direito na borda da estrutura e selecione Add Sequence Local
11 de abr de 2023 64C. Estruturas de Programação
EXERCÍCIO 15
• VI Time to Match• Objetivo: Utilizar a estrutura Sequence• Tempo estimado para execução: 10 minutos
11 de abr de 2023 C. Estruturas de Programação 65
Estrutura de fórmula e expressão
• Usadas para executar operações matemáticas no ambiente LabVIEW
• Próprias para vínculos com MATLAB p.ex.• Estrutura de fórmula – baseado em texto• Estrutura de expressão – uma só variável
11 de abr de 2023 C. Estruturas de Programação 66
EXERCÍCIO 16
• VI Formula Node Exercise• Objetivo: Utilizar o Formula Node• Tempo estimado para execução: 10 minutos
11 de abr de 2023 C. Estruturas de Programação 67