67
ET6DE - Instrumentação Virtual Prof. Winderson Aula03

ET6DE - Instrumentação Virtual Prof. Winderson Aula03

Embed Size (px)

Citation preview

Page 1: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

ET6DE - Instrumentação Virtual

Prof. WindersonAula03

Page 2: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 3: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 4: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 5: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

Painel frontal

• É a interface com o usuário:

11 de abr de 2023 A. Introdução 5

Page 6: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

Diagrama de blocos

• É o código para controlar os objetos do painel frontal:

11 de abr de 2023 A. Introdução 6

Page 7: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 8: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 9: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

Exemplo...

11 de abr de 2023 A. Introdução 9

Page 10: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

Exemplo...

11 de abr de 2023 A. Introdução 10

Page 11: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

Ambiente de programação

11 de abr de 2023 A. Introdução 11

Page 12: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

11 de abr de 2023 A. Introdução 12

Page 13: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 14: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 15: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 16: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 17: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

Paleta Controls

11 de abr de 2023 A. Introdução 17

Page 18: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

Paleta Functions

11 de abr de 2023 A. Introdução 18

Page 19: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

Carregando Vis

11 de abr de 2023 A. Introdução 19

Page 20: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 21: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 22: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 23: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 24: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 25: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 26: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 27: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

Mais técnicas de edição

• Selecionando e excluindo ligações

• Extendendo ligações

11 de abr de 2023 A. Introdução 27

Page 28: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 29: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 30: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 31: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 32: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 33: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 34: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 35: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 36: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 37: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 38: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 39: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 40: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 41: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 42: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 43: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 44: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 45: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 46: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

Exemplos...

11 de abr de 2023 C. Estruturas de Programação 46

Page 47: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 48: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 49: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 50: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 51: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

Registradores de deslocamento

11 de abr de 2023 C. Estruturas de Programação 51

Page 52: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 53: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 54: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 55: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 56: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 57: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 58: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 59: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 60: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 61: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 62: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 63: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 64: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 65: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 66: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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

Page 67: ET6DE - Instrumentação Virtual Prof. Winderson Aula03

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