UNIVERSIDADE SÃO JUDAS TADEU FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA DISCIPLINA LÓGICA DE PROGRAMAÇÃO Tutorial sobre Lógica de Programação com o LabVIEW Número 1 ANDRÉA ZOTOVICI CARLOS EDUARDO DANTAS DE MENEZES SÃO PAULO 2010
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 2 Objetivos Este material foi escrito com o objetivo de orientar o uso da ferramenta LabVIEW no processo de aprendizagem de lógica de programação. Num primeiro momento, o aluno aprenderá a modelar sequencias de comandos, usando entradas e saídas de dados, bem como as funções pré-definidas no LabVIEW. Em seguida, modelará tanto estruturas de decisão quanto de repetição; por fim, o aluno será apresentado a vetores ou arrays de uma dimensão. Em todas as situações examinaremos a correspondência da representação em fluxogramas com a representação gráfica do LabVIEW. Orientações práticas Este material fará referências a exercícios presentes no livro eletrônico Curso Básico de Lógica de Programação, de Paulo Sérgio de Moraes (Unicamp - Centro de Computação DSC). Este pode ser baixado pela internet e também está disponível num CD distribuído pelos professores da disciplina LOGPROG; é, portanto, importante a impressão tanto do livro eletrônico quanto deste material para o acompanhamento das aulas de laboratório. Construindo nosso primeiro algoritmo Nosso primeiro desafio é entender a representação de algoritmos na forma de fluxogramas. Leia o capítulo 3 do livro eletrônico Curso Básico de Lógica de Programação. A seguinte tabela resume a simbologia básica (página 12): Símbolo Função Indica o INÍCIO ou FIM de um processamento Exemplo: Início do algoritmo TERMINAL
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 3 Símbolo Função Processamento em geral Exemplo: Cálculo de dois números PROCESSAMENTO Indica entrada de dados através do Teclado Exemplo: Digite a nota da prova 1 ENTRADA DE DADO MANUAL Mostra informações ou resultados Exemplo: Mostre o resultado do cálculo EXIBIR Agora construiremos nosso primeiro algoritmo, que acha a soma de dois números: Figura 1 Primeiro fluxograma
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 4 Para resolver esta expressão, precisamos de: a) Componentes para interação com o usuário Selecione, na janela de diálogo Controls - opção Modern (Figura 2), o botão Numeric. Figura 2 Janela de Diálogo Controls A janela de diálogo será atualizada, ficando com a aparência ilustrada pela Figura 3.
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 5 controles numéricos (entradas de dados) indicadores numéricos (saídas de dados) Figura 3 Janela de Controles Numéricos Para construir a interface do usuário, selecione dois controles numéricos, um para cada operando (X e Y); e um indicador numérico, para o resultado. Selecione um componente, clique no controle numérico e posicione o mouse sobre a janela Front Panel. Sobre a janela Front Panel, é exibido o contorno do componente, como ilustra a Figura 4, para que tenhamos noção da sua posição. Logo que a posição do componente for selecionada, basta clicar o botão esquerdo do mouse. Contorno do controle numérico Figura 4 Posicionando componente
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 6 Ao posicionarmos os controles na janela Front Panel, a legenda do campo fica com o fundo preto, o que indica que pode ser alterada. Assim, altere a legenda de cada controle e indicador para o mesmo texto da Figura 5. Figura 5 Interface do usuário completa DICA: Para deixar as duas janelas painel frontal e diagrama de blocos lado-a-lado, o que facilita o trabalho, tecle <CTRL>+ t. b) Função de Programação Numérica Para incluir a função soma, posicione o ponteiro do mouse na janela Block Diagram e clique o botão direito do mouse. Isso abrirá a janela de diálogo Functions, ilustrada pela Figura 6. Figura 6 Janela de Funções
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 7 Na opção Programming, selecione o botão Numeric. Na janela de funções numéricas, selecione a função soma (add), como ilustra a Figura 7. Figura 7 Funções numéricas Posicione a função entre os controles (entradas) e o indicador (saída), como ilustra a Figura 8. Figura 8 Inclusão da função numérica no diagrama de blocos Quando se posiciona o mouse sobre o símbolo da função soma (Figura 9), à direita são mostrados pontos vermelhos para ligar aos controles que fornecem os valores x e y, respectivamente, à função. À esquerda é mostrado o ponto vermelho do resultado, que deve ser ligado ao indicador de resultado. Ligue o primeiro número que será digitado à entrada X, o segundo à entrada Y e o resultado ao indicador.
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 8 Resultado de X+Y Resultado para o indicador Entrada um valor X de Entrada um valor Y de Figura 9 Ligação de um controle (Entrada X) com função de soma DICA: Se for realizada alguma associação inválida, como por exemplo, ligar um resultado a uma entrada, essa associação é indicada como na Figura 10. Para remover as associações inválidas, pressione as teclas <CTRL>+ b. Associação inválida Figura 10 Associação inválida Após ligar os controles às entradas do somador e a sua saída ao indicador, seu primeiro algoritmo está pronto. Ele pode ser executado de duas formas:
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 9 1 a. Forma: Informe 1, na janela Front Panel, o primeiro e o segundo número e, em seguida, clique em executar ou RUN, representado pelo símbolo voltará para o modo de edição.. O LabView executará o modelo e 2 a. Forma: Clique em executar continuamente ou RUN CONTINUOUSLY, representado pelo símbolo, e altere os valores quantas vezes quiser. Neste modo de execução, quando digitar um valor em algum controle, pressione enter para atualizar o cálculo. Para finalizar clique em abortar ou ABORT EXECUTION, o botão vermelho. Executa Aborta Pausa Executa Continuamente Figura 11 Execução de um algoritmo em labview Agora salve seu exercício (Menu FILE, opção SAVE AS). Exercícios 1) Resolva os 3 exercícios da página 14 de livro eletrônico Curso Básico de Lógica de Programação, contudo, não faça apenas os fluxogramas, mas implemente-os em LabVIEW. 2) Aplique os passos acima para os exercícios seguintes (faça também os fluxogramas): a) x y b) x * y c) x / y d) x 2 + y 1 Digite o número ou clique nas setas ao lado do controle (para aumentar ou diminuir o valor).
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 10 Para resolver este último exercício (2d), como ilustra a Figura 12, adicione: dois controles, um para X e outro para Y; função numérica Square, para a potenciação de X; função numérica Add, para somar o resultado da potenciação com Y; um indicador para mostrar o resultado. Função para potenciação Função para soma Controles Indicador Figura 12 Diagrama de blocos do exercício 1.5 e) x + y 2 f) x mod y (Usar a função numérica Quotient & Remainder: ). Pergunta: o que faz esta operação chamada mod (também conhecida como módulo ou resto da divisão inteira)? 3) Criar fluxogramas e algoritmos em labview para os problemas: a) Considere que o valor dos dois menores lados (a, b) de um triângulo retângulo são conhecidos e deseja-se calcular o maior lado (c), a hipotenusa.
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 11 b) Calcular o valor da coordenada X, no plano de eixos cartesianos, de um ponto (P), a partir da sua distância (d) até a origem do sistema de coordenadas e do ângulo da reta OP em relação ao eixo X, como mostra a Figura 13. Figura 13 Cálculo da coordenada x para o ponto P DICA: Para utilizar funções trigonométricas, selecione Functions Mathematics Elementary & Special Functions Trigonometric. Na função cos(x), x deve estar em radianos, portanto multiplique o ângulo em graus que for digitado pela constante 0,0174. Tente explicar de onde veio esta constante. c) Conversão de quilômetro(km) para milha terrestre(mi). Uma milha equivale a 1609m, ou seja, 1,609 km. d) Conversão de pé (ft) para metro (m), sendo que 1 ft = 0,3048 m e) Conversão de polegada (in) para metro (m), sendo que 1 in = 0,0254 m f) Calcule o rendimento de uma aplicação financeira, a partir da entrada do valor da aplicação e do seu rendimento (em %). g) Calcule a conversão de ângulos em graus para radianos (use a regra de três abaixo): 180º π Ângulo em graus Ângulo em Radianos
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 12 4) Resolver os exercícios a seguir, usando tipos variados de componentes para entrada e saída. Preste atenção no tipo de dado que cada componente utiliza, conforme os comentários abaixo: Na Figura 14, podemos observar alguns tipos de dados: -Número real (DBL), por exemplo, 2.35487, 3.14159, etc. -Valor booleano (TF True or False), por exemplo, verdadeiro ou falso. -Cadeia de caracteres (abc), por exemplo, LOGPROG, PALMEIRAS, etc. -Número inteiro (I32 32 bits de capacidade), por exemplo, 7, -15, 472, etc. Figura 14: Componentes e o tipo de dado correspondente a) Faça um VI que possua um Vertical Toggle Switch e um LED. O Vertical Toggle representa uma chave que liga e desliga um LED. Quando o estiver para baixo, a luz do LED estará apagada; e quando o estiver para cima, a luz do LED estará acesa: Para resolver este exercício:
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 13 Selecione Controls Boolean Vertical Toggl.. para o interruptor, e Round LED. Figura 15: Componentes para Interface do Usuário com Tipo Booleano Posicione os componentes no Painel Frontal. Una a saída do Vertical Toggle com a entrada do Round LED. E em seguida execute. Mude a posição da chave para ver o LED ligar e desligar. b) Conversão de temperatura em graus Celsius (C) para Kelvin (K). Dica: K = C + 273,15 Para resolver este exercício: Selecione na janela de diálogo Controls, as opções Classic-Classic Numeric, os componentes Numeric Control e Thermometer (Figura 16). Numeric Control é um controle, isto é, possibilita a entrada de dados. Thermometer é um indicador, isto é, possibilita a saída de dados. Adicione um componente Numeric Control com a constante 273,15. Para definir um Numeric Control como constante, selecione o componente na janela Diagrama de Blocos, clique o botão direito do mouse, selecione a opção Change Constant e digite 273,15, como é ilustrado na Figura 17.
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 14 Figura 16: Controle numérico e indicador tipo termômetro Figura 17: Alterando um controle para constante Selecione, na janela de Funções, as opções Mathematics Numeric Add (Figura 18).
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 15 Figura 18: Operação de adição Posicione na janela de Diagrama de Blocos e ligue à função os controles de entrada e o indicador de saída, como ilustra a Figura 19. Figura 19: Diagrama de Blocos do algoritmo para converter graus Celsius em Kelvin c) Conversão de temperatura em Fahrenheit (F) para Celsius (C). Dica: C = (F 32)/1,8 d) Conversão de temperatura em Kelvin (K) para Celsius ( C). Dica: C = K 273,15 e) Conversão de temperatura em Celsius ( C) para Fahrenheit (F). Dica: F = C x 1,8 +32
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 16 5) Ao resolver o exercício a seguir, repare como é implementado facilmente no LabView. O LabView pode tratar facilmente estruturas de dados mais complexas, como amostras de voz; o microfone captura o som e o LabVIEW digitaliza-o. O alto-falante reproduz o sinal e o Waveform Chart funciona como um osciloscópio, mostrando a forma de onda do sinal amostrado. a) Componente da interface do usuário: Classic Classic Graph WaveformChart. b) Funções: Entrada: Programming Graphics & Sound Sound Input - Aquire Saída: Programming Graphics & Sound Sound Output Play Waveform Figura 20: Captura de Voz Detalhe: Um microfone e fone de ouvido/caixa de som poderá ser providenciado pelo professor, visto que estes acessórios não ficam normalmente à disposição de todos. 6) Resolva cada item do exercício 2 utilizando o bloco Expression Node. Esta representa uma maneira alternativa de resolver alguns exercícios, utilizando um bloco para escrever uma expressão completa. A Figura 21 ilustra um exercício com o bloco Expression Node (nó para expressões), o qual permite usarmos funções matemáticas nos processamentos realizados.
Tutorial sobre Lógica de Programação com o LabVIEW Número 1 17 Figura 21: Expressões