670 likes | 774 Views
ET6DE - Instrumentação Virtual. Prof. Winderson Aula03. Introdução ao LabVIEW. Programação em LabVIEW Uso de Sub-VIs Estruturas Básicas de Programação. A. Linguagem LabVIEW.
E N D
ET6DE - Instrumentação Virtual Prof. Winderson Aula03
Introdução ao LabVIEW • Programação em LabVIEW • Uso de Sub-VIs • Estruturas Básicas de Programação
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. A. Introdução
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 A. Introdução
Painel frontal • É a interface com o usuário: A. Introdução
Diagrama de blocos • É o código para controlar os objetos do painel frontal: A. Introdução
Painél de ícones e conectores • Serve para permitir o uso de um VI em outro VI: A. Introdução
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. A. Introdução
Exemplo... A. Introdução
Exemplo... A. Introdução
Ambiente de programação A. Introdução
Barra de ferramentas do painel frontal • Run • Run continuamente • Abortar execução • Pausa • Formatar textos • Alinhar objetos • Distribuir objetos • Reordenar objetos A. Introdução
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 A. Introdução
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) A. Introdução
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. A. Introdução
Paleta Controls A. Introdução
Paleta Functions A. Introdução
Carregando Vis A. Introdução
EXERCÍCIO 1 • VI Frequency Response • Objetivo: Abrir e executar um VI • Tempo estimado para execução: 5 minutos A. Introdução
Criando um VI • No painel frontal aloque os controles e indicadores. • No diagrama de blocos aloque os nós entre os terminais através das ligações apropriadas. EXEMPLO 1 A. Introdução
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. A. Introdução
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: A. Introdução
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 A. Introdução
EXERCÍCIO 2 • VI Convert C to F • Objetivo: Montar um VI • Tempo estimado para execução: 8 minutos A. 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 A. Introdução
Mais técnicas de edição • Selecionando e excluindo ligações • Extendendo ligações A. Introdução
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 A. 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 A. Introdução
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 A. Introdução
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 A. Introdução
EXERCÍCIO 4 • VI Debug Exercice • Objetivo: Praticar técnicas de depuração • Tempo estimado para execução: 15 minutos A. Introdução
B. Criando Sub-VIs • Um VI dentro de outro VI é chamado subVI • Corresponde a uma chamada de sub-rotina B. SubVIs
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 B. SubVIs
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 B. SubVIs
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 B. SubVIs
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 B. SubVIs
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 B. SubVIs
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 B. SubVIs
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. B. SubVIs
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. B. SubVIs
C. Estruturas Básicas de Programação • While Loops • Diagramas de forma de onda • For Loops • Estruturas Case • Estruturas Sequence C. Estruturas de Programação
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: StopIfTrue • Comportamento alternativo: Continue IfTrue • Um terminal de iteração realiza uma contagem • Exemplo C. Estruturas de Programação
Diagramas de forma de onda • Indicador numérico que exibe plotagens • Localizado na paleta Controls»Graph C. Estruturas de Programação
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) C. Estruturas de Programação
Exemplos... C. Estruturas de Programação
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 C. Estruturas de Programação
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 C. Estruturas de Programação
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 C. Estruturas de Programação
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 C. Estruturas de Programação