Programando em linguagem-c com o LabWindows/CVI

Documentos relacionados
Introdução ao IDE Netbeans (Programação Java)

Introdução à Engenharia ENG1000

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA TUTORIAL OPENWATCOM: CRIANDO O PRIMEIRO PROGRAMA

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA TUTORIAL OPEN WATCOM: CRIANDO O PRIMEIRO PROGRAMA

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA TUTORIAL OPEN WATCOM: CRIANDO O PRIMEIRO PROGRAMA

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

Tutorial sobre o uso da ferramenta de autoria A Ferramenta de Autoria - Célula

Capítulo 11. GRÁFICOS COM WGNUPLOT

Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.

Laboratório 01 NetBeans

Programação 2010/2011 MEEC

ANEXO V TUTORIAL: SOFTWARE EDUCACIONAL VAMOS ESCREVER!: PROJETOS DE ESCRITA INTERATIVA

1 - Ambiente de desenvolvimento

Executar uma macro clicando em um botão da Barra de Ferramentas de Acesso Rápido

Roteiro do 3º Experimento: Programação do CLP Siemens S7-1200

Departamento de Engenharia Elétrica e de Computação EESC-USP. Guia de Projetos VHDL utilizando o QUARTUIS II. Profa. Luiza Maria Romeiro Codá

Figura 1: Operações para gerar um programa executável.

No Windows há basicamente dois tipos de programas de usuário:

Disciplina de Lógica e Linguagem de Programação Desenvolvido pelo professor Danilo Giacobo Ferramenta Code::Blocks

Lojamundi Tecnologia Sem Limites br

Lab - Área de Trabalho Remota e Assistência Remota no Windows Vista

Índice. 1. Introdução Instalação: Eclipse e Android Primeira aplicação em Android... 11

Objetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples.

Algoritmos e Programação

Delphi 7 Aula 03 Progressão Geométrica

Lab - Utilitário de Linha de Comando no Windows Vista

TICs IVINHEMA-MS

Configurar Thin Client X1 e X1W

WINDOWS FORMS APPLICATION - Aplicação (Programa) que não usa a CONSOLE

Utilização de Base de Dados com BluePlant. Sumário

DISTRIBUINDO SUA APLICAÇÃO

Aula 01. Prof. Diemesleno Souza Carvalho /

Instalação do MySQL e da ferramenta MySQL- Front

Crie um novo projeto conforme abaixo, encerrando com o botão Finalizar :

Programação 2017/2018 2º Semestre

Rede VPN UFBA Procedimento para configuração

WINDOWS FORMS APPLICATION - Aplicação (Programa) que não usa a CONSOLE

TUTORIAL: TESTANDO O PROJETO TECLADO BÁSICO

Aprender a utilizar o aplicativo Gnuplot para fazer gráficos

Laboratório Configuração do Backup e da Restauração de Dados no Windows 7 e no Vista

Prática 14 Componentes II

Procedimentos para Instalação do Sisloc (Estação de Trabalho) versão

Conhecendo o Delphi 2010

Administração Central. Unidade do Ensino Médio e Técnico Cetec Capacitações São Paulo

Sinai Sistema Integrado Administrativo de Igreja

Instruções para instalação do Opencv no Qt Creator com o MinGW

Localizador de Defeitos

Instalando o Eclipse e o Android

Instalação JDK 10/03/2017

Produção de tutoriais. Suellem Oliveira

UTILIZANDO O CODE BLOCKS

1 Criando um projeto. Instituto Federal do Paraná

Escrito por Adriano Neres Rodrigues Qua, 30 de Dezembro de :00 - Última atualização Qua, 30 de Dezembro de :01

Ferramenta 1 -NetBeans 8.0

Suporte ao uso do software Origin R para disciplinas de laboratório de Física

1 Procedimento para configuração PPPoE com autenticação no modem (Modo Router)

Laboratório opcional: Backup de dados e restauração no Windows 7

STD SERVIÇO DE BACKUP EM NUVEM

CRIANDO PERSONALIZAÇÕES/PATCHS DE APARELHOS (BLIBLIOTECAS)

Utilizando o compilador CCS integrado ao MPLAB X

JAVA. Professor: Bruno Toledo

Configure TeraLib 3.3 no Visual Studio João Tácio Corrêa da Silva

PHILAE - SISTEMA DE RELACIONAMENTO - MANUAL DE INSTALAÇÃO

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG

Elaboração de Provas Online usando o Formulário Google Docs

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo

POO Documentation. Release 1.0. Felipe Dau e Francisco Pereira Junior

ELETRÔNICA DIGITAL I

Criação de Aplicações GUI. Java JFC / Swing

Lab - Utilitário de Linha de Comando no Windows XP

INSTALAÇÃO DO CLIENTE LOTUS NOTES ROTEIRO DE INSTALAÇÃO E CONFIGURAÇÃO

Para mostrar como executar uma aplicação básica no testbed CéuNaTerra, usaremos a aplicação Blink disponibilizada junto com o TinyOS.

1 Introdução e Conceitos básicos

PAINEL INFORMATIVO AIS

Mapa Mental. Aplicabilidade de Mapa Mental

MANUAL DE PUBLICAÇÃO NO PORTAL CAMPUS MATÃO

A seguir, iremos ilustrar um exemplo prático e rápido das configurações, da montagem e edição de plantas e da plotagem em plotter, passo-a-passo.

INFORMÁTICA APLICADA AULA 05 WINDOWS XP

Aula 2 Even e to t s d o M ouse

Laboratório de Eletrônica Digital Tutorial Quartus II (Procedimentos para Criação e Simulação de Projetos Digitais)

Produção de tutoriais. Suellem Oliveira

Rede VPN UFBA Procedimento para configuração

Modem MIN-410 Criando o aplicativo Hello World, executando com debug, subindo para o modem e habilitando comandos AT dentro do aplicativo

Crystal Reports - Gerando seus relatórios.

Teclado. PdP. Autor: Tiago Lone Nível: Básico Criação: 20/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Visual Studio+SQL Server Express LocalDB ANTONIO LUIS

Vejamos agora as ferramentas mais utilizadas para criação de imagens:

Como fazer download e instalaça o a partir da SAi Cloud

Laboratório de Ciências Computação

Tutorial Google Docs

Introdução ao C# com o Microsoft Visual Studio Community 2015

INTRODUÇÃO AO USO DO DEV C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia

Tutorial SQL Server 2014 Express

Introdução ao Desenvolvimento de Aplicativos Android

Linguagem C. Compiladores e Interpretadores

Saiba mais Scribd Carregar um documento Pesquisar Documentos Explorar. gersonjpl

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

Transcrição:

Programando em linguagem-c com o LabWindows/CVI 1. Introdução O LabWindows/CVI é um compilador C padrão que permite o desenvolvimento de programas em C como qualquer outro compilador, tanto para ambientes de linha de comando (DOS) como para ambientes gráficos (Windows). A diferença entre o LabWindows e outros compiladores conhecidos é que, além das funções normais do C padrão, estão à disposição do desenvolvedor funções dedicadas à construção de interfaces gráficas de medição e à aquisição de dados por computador. Além disto, o LabWindows possui um sistema que facilita a busca e a identificação de funções de forma mais rápida, o que auxilia muito o programador e evita que este precise guardar na memória todas as funções do C. O ambiente de programação possui três janelas principais: 1. Janela de Projetos Para desenvolver um programa no LabWindows é necessário criar um projeto. O projeto nada mais é que um conjunto de arquivos que fazem parte do programa, como arquivos fonte (.c), bibliotecas (.h), interfaces gráficas (.uir), etc. Os projetos são acessados através do menu File New Project (novos projetos) ou File Open Project (projetos já gravados no disco) 2. Janela de Edição do Código Como a maioria dos compiladores, o LabWindows possui um editor de texto que permite escrever o código fonte e arquivos de bibliotecas. O editor é acessado através do menu File New Source (para novos arquivos) ou File Open Source (para arquivos já gravados no disco). 3. Janela de Construção da Interface Gráfica Esta janela permite construir as interfaces gráficas que serão utilizadas no programa. O LabWindows possui recursos gráficos exclusivos para a área de medição, como por exemplo telas no estilo de osciloscópios, knobs, displays e botões exclusivos. A interface de construção é acessada através do menu File New User Interface (para novos arquivos) ou File Open User Interface (para arquivos já gravados no disco).

2. Escrevendo e compilando o primeiro programa Como forma de iniciar o contato com a nova ferramenta de desenvolvimento, escreva um programa no LabWindows que imprima na tela do computador o seu nome e número de matrícula. A seguir estão algumas dicas: 1. Inicie o desenvolvimento criando um novo Projeto (veja como na página anterior). Dê um nome significativo para o seu projeto; salve-o de preferência em disquete ou em um diretório temporário. 2. Crie agora um novo arquivo de código fonte (source), onde você irá escrever seu programa. Automaticamente o LabWindows abrirá a janela de edição de código. 3. Escreva o código do seu programa. Caso tenha dúvidas, consulte o professor. 4. Salve o código digitado no mesmo diretório do Projeto. Isto salva o arquivo em disco, porém ainda é necessário adicioná-lo ao projeto. 5. Vá para a Janela de Projetos. No menu Edit selecione Add files to project Escolha Source e adicione ao projeto o arquivo que você salvou no item 4. Perceba que agora o arquivo aparece listado na Janela de Projetos. 6. Neste ponto é possível compilar e rodar o programa. Faça isto através do menu Run firun Project ou do botão Run Project. Caso tenha corrido tudo bem o programa deve ter sido executado e o LabWindows deve ter aberto a Janela de Entrada/Saída Padrão (Standard Input/Output). Algo parecido com a figura abaixo deve estar na tela do seu computador. A janela de Entrada/Saída padrão é similar à interface de texto do DOS. Porém, o LabWindows a utiliza como interface padrão de entrada e saída de texto, ao contrário dos compiladores tradicionais. Para o usuário final do programa isto não faz a menor diferença, exceto que a interface do LabWindows é um pouco mais amigável. Caso tenha acontecido algum erro de compilação, o LabWindows abrirá a Janela de Erros.

Corrija os erros indicados e mande rodar o programa novamente. Em caso de dúvidas, consulte o professor. 1º PROBLEMA: escreva um programa no LabWindows que gere e imprima na tela um vetor de 100 posições que possua números reais (pontos flutuantes) aleatórios localizados no intervalo entre ± 0,5. 3. Desenvolvendo um programa com interface gráfica No exemplo anterior foi desenvolvido um programa que utiliza a interface de texto do sistema operacional (também conhecida como interface do DOS ou CONSOLE). Nesta seção vamos adicionar uma interface gráfica ao programa para mostrar os pontos aleatórios em um gráfico. Para tanto, é necessário que você já tenha resolvido o problema proposto na seção anterior. A maioria das ferramentas de desenvolvimento, baseadas nas técnicas de Engenharia de Software, iniciam o processo de desenvolvimento pela INTERFACE do programa. No LabWindows utiliza-se a mesma estratégia por dois motivos: i) a experiência dos desenvolvedores mostra que a definição das interfaces no início do projeto permite que os clientes identifiquem de forma mais clara as necessidades que devem ser satisfeitas pelo programa; ii) a definição antecipada das interfaces permite que o LabWindows gere parte do código do programa, economizando assim esforços que seriam dispendidos pelo programador. Vamos, portanto, adicionar uma interface gráfica ao gerador de números aleatórios criado anteriormente. 1ª parte aprendendo a lidar com o Editor de Interfaces 1. Crie um novo Projeto e salve-o no diretório utilizado anteriormente. 2. Vamos iniciar a criação da Interface para o projeto. Para tanto, crie uma nova interface através do menu File New User Interface (*.uir). Automaticamente o LabWindows abrirá a janela de construção da interface gráfica. 3. Clique no menu CREATE. Este menu possui todos os objetos que podem ser inseridos em uma interface gráfica. Entretanto a maioria dos itens estão desabilitados. Isto deve-se ao fato de que objetos só podem ser inseridos sobre um Painel (Panel). Portanto clique no item Panel e observe que o LabWindows cria um painel, que será a janela principal do nosso programa. 4. Dê um clique duplo sobre o painel. Isto abrirá uma janela com os atributos do painel. TODO OBJETO GRÁFICO POSSUI UMA SÉRIE DE ATRIBUTOS DE EXIBIÇÃO E DE IDENTIFICAÇÃO. A parte mais importante da janela é chamada Source Code Connection (conexão com o código fonte), que serve para permitir a comunicação entre os objetos da interface e o código fonte do programa. Veremos como isto funciona logo a seguir. 5. No campo Constant Name digite INTERFACE, como mostrado na figura abaixo. Dê um nome para o painel no campo Painel Title e feche a janela de atributos do painel clicando em OK.

6. Adicione agora um gráfico ao painel através do menu Create Graph Graph. Centralize o gráfico no painel. 7. Dê um clique duplo no gráfico. Digite GRAFICO no campo Constant Name. Digite um nome para o gráfico no campo Label. 8. Por fim, adicione um botão à interface através do menu Create Command Button. 9. Dê um clique duplo no botão. Digite BOTAOFECHAR no campo Constant Name, FecharPrograma no campo Callback Function e Fechar no campo Label. 10. Neste ponto a interface inicial deve ter a aparência mostrada na figura abaixo. 2ª parte o que são Nomes de Constantes (Constant Names) e Callback Functions Na parte anterior vimos que cada componente da interface gráfica possui uma série de atributos. Os dois mais importantes são a Constant Name e o Callback Function. Estes atributos são responsáveis por "conectar" cada componente da interface com o código fonte, permitindo a troca de informações entre a interface e o programa. A Constant Name identifica cada componente da interface. Sempre que o programa precisa alterar algo na interface, como escrever um texto, mostrar dados em um gráfico ou alterar a cor de um botão, ele utiliza este identificador para realizar a tarefa. Assim, pode-se assumir que a Constant Name é utilizada sempre que o fluxo de informação é direcionado DO PROGRAMA PARA A INTERFACE. A Callback Function identifica uma função que será chamada sempre que o controle da interface for acionado. No exemplo anterior, sempre que o botão Fechar for acionado, uma função chamada FecharPrograma será chamada no código fonte. Assim, o campo Callback

Function é utilizado sempre que o fluxo de informação é direcionado DA INTERFACE PARA O PROGRAMA. De forma gráfica teríamos algo similar ao apresentado na figura abaixo. CÓDIGO FONTE INTERFACE GRÁFICA #include <.> void main (void) { int aux; float num[300]; PlotWaveform (, INTERFACE_GRAFICO, ); } int CVICALLBACK FecharPrograma () { } CONSTANT NAME CALLBACK FUNCTION IMPORTANTE: observe que as Constant Names são formadas pelo NOME DO PAINEL_NOME DO COMPONENTE. Assim, o nome do botão Fechar é INTERFACE_BOTAOFECHAR, o nome do gráfico é INTERFACE_GRAFICO e assim por diante. 3ª parte Geração automática do código Vimos na primeira parte que uma das vantagens para iniciar um projeto pela interface é que o LabWindows gera automaticamente parte do código executável. Vamos gerar o código da parte da interface que já está pronta. 1. No editor de interfaces selecione o menu Code Set target file. Escolha a opção New Window e selecione OK. O código será gerado em um novo arquivo fonte (.c). 2. Selecione o menu Code Generate All code. Isto abrirá uma janela composta de duas partes: a) Na parte superior pode-se escolher a interface que será mostrada ao iniciar o programa. No caso temos apenas uma interface, portanto selecione-a na lista clicando sobre o nome INTERFACE. b) Na parte inferior pode-se escolher qual função de Callback será responsável por terminar a execução do programa. No nosso caso novamente temos apenas uma função, chamada FecharPrograma. Selecione-a clicando sobre o seu nome. Feche a janela clicando sobre o botão OK. 3. Observe que o LabWindows abriu uma janela de código fonte com grande parte do código do programa já pronto. Especificamente já existe uma função main responsável por iniciar o programa e carregar a interface através de três funções:

LoadPanel carrega o arquivo de interface do disco rígido para a memória e associa a interface a uma variável de manipulação (handle da interface), no caso chamada interface. DisplayPanel mostra a interface na tela do computador. RunUserInterface ativa o processo de troca de informações entre ocódigo do programa e a interface gráfica. Abaixo da função main o LabWindows criou a função FecharPrograma, que será chamada sempre que o botão Fechar for acionado. Esta função possui uma única estrutura do tipo switch que seleciona qual tipo de EVENTO foi gerada pelo botão. Os botões podem gerar vários eventos, como por exemplo EVENT_RIGHT_CLICK, EVENT_LEFT_CLICK e EVENT_GOT_FOCUS. O evento padrão dos botões é o EVENT_COMMIT, que é gerado sempre que o botão é pressionado. A função FecharPrograma responde a este evento chamando a função do LabWindows QuitUserInterface, responsável por finalizar o programa. 4. Após verificar o código gerado, salve o arquivo em disco; solicite a sua inserção no projeto através do menu Edit da janela de Projetos; solicite a execução do programa através do menu Run ou do botão Run Project. Você deve ter verificado que o LabWindows criou um programa totalmente funcional, em que é possível alterar o tamanho da janela, maximizá-la e minimizá-la. Porém, até agora a única coisa que podemos realmente fazer com o programa é finalizá-lo. 4ª parte plotando um conjunto de números aleatórios Finalizando a tarefa de criar uma interface gráfica para o programa do problema 1, vamos gerar e plotar os números aleatórios. 1. Adicione mais 1 botão ao painel. Chame sua Constant Name de BOTAOPLOTAR; chame a sua Callback Function de PlotarDados; chame o seu Label de Plotar 2. Gere a função de Callback que será chamada ao acionar o botão. Selecione o botão na interface dando um clique sobre ele; clique no menu Code Set target file e selecione o arquivo fonte que você havia salvado antes; clique no menu Code Generate Control callbacks. O LabWindows gerará automaticamente o esqueleto da função PlotarDados, logo abaixo da função FecharPrograma. 3. Gere os números aleatórios utilizando parte do código feito no exercício anterior. Observe que esta geração deve ser feita dentro do switch que existe na função PlotarDados, logo após a declaração case EVENT_COMMIT:

4. Plote os dados no gráfico utilizando a função PlotY (interface, INTERFACE_GRAFICO, dados, 100, VAL_FLOAT, VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_RED); 5. Execute o código através do menu Run Run project ou do botão Run project. 6. Observe que todas as vezes que o botão Plotar é clicado são gerados e plotados 100 novos números aleatórios. Entretanto o gráfico retém os dados plotados anteriormente. Para evitar isto é necessário apagar o gráfico antes de plotar novamente. Insira a função abaixo antes da função PlotY. DeleteGraphPlot (interface, INTERFACE_GRAFICO, -1, VAL_IMMEDIATE_DRAW); Este exemplo serviu para mostrar as formas básicas de programação utilizando o LabWindows. O objetivo era o de facilitar o primeiro contato com a ferramenta de desenvolvimento e apresentar as formas de raciocínio que devem ser utilizadas quando se está programando com o LabWindows. Especificamente os conceitos de Constant Names e Callback Functions devem estar bem claros como as formas de comunicação entre a interface e o programa executável. 2º PROBLEMA: adicione mais 3 botões à interface para plotar formas de onda quadrada; triangular; senoidal. Cada forma de onda deve conter 100 pontos e o gráfico deve apresentar pelo menos dois períodos de cada uma.