Você está na página 1de 17

PROGRAMA INSTITUCIONAL DE INICIAO CIENTFICA RELATRIO FINAL DE ATIVIDADES (MS/2009 A MS/2010)

DESCRIO DO FRAMEWORK QT E SEU USO PARA O DESENVOLVIMENTO DE UM SISTEMA DE ANLISE DE ENERGIA

Lucas Santolin Prof. Dr. Rafael Cardoso

Modalidade: FUNDAO ARAUCRIA

CAMPUS PATO BRANCO, agosto de 2010

Pato Branco, 25 de agosto de 2010.

__________________________________________ Lucas Santolin Bolsista

_________________________________________ Rafael Cardoso Orientador

ii

SUMRIO
2. RESUMO ................................................................................................................... 1 3. INTRODUO ........................................................................................................... 1 3.1. QT ........................................................................................................................ 2 3.2. QWT..................................................................................................................... 4 4. MATERIAIS E MTODOS ......................................................................................... 5 5. RESULTADOS PARCIAIS ........................................................................................ 5 6. CONSIDERAES PARCIAIS................................................................................ 11 6.1. DESENVOLVIMENTO DO PROJETO ............................................................... 11 7. CONCLUSES ....................................................................................................... 12 8. REFERNCIAS........................................................................................................ 13

iii

2. RESUMO Este relatrio descreve as atividades realizadas durante a execuo do projeto e informaes sobre a aplicao do conjunto de bibliotecas Qt juntamente com uma de suas bibliotecas a Qwt para a construo de grficos em tempo real e aplicaes usando a linguagem de programao C++, para a medio de grandezas eltricas desejadas. Tambm exemplifica o uso do Qt para um melhor aproveitamento dos recursos desse Framework, o uso da ferramenta Qmake e suas caractersticas, e algumas de suas vantagens para uma compilao mais rpida de projetos, e com isso auxiliar na diminuio das perdas de energia eltrica da rede de distribuio e aumentando a eficincia, ou seja, com a preciso nas medies consiga-se mais facilmente descobrir o problema existente naquele determinado ponto e prever como deve-se reduzir as perdas da rede. Palavras-chave: qt, qwt, framework. 3. INTRODUO Um dos motivos da escolha da Qt para o projeto, pois um conjunto de bibliotecas que possibilita uma programao mais rpida e intuitiva para o programador este framework foi desenvolvido pela empresa Trolltech a partir de 1995 para o pblico e em 2008 a empresa foi comprada pela Nokia, e agora chamada de Qt Software. Programadores que utilizam softwares da Microsoft se adaptam rapidamente a utilizao da Qt que tambm serviu como base para a construo do projeto KDE, pois a maioria dos aplicativos utilizados tem como base a Qt, tambm contm inmeras bibliotecas que alm de maior produtividade facilitam na programao. um software open source, que tem como vantagem a instalao e a compilao em qualquer plataforma sem que seja necessrio mudanas no cdigo fonte, por isso chamada de MultiPlataforma (Windows, Unix/Linux e Mac). Tambm utiliza o seu prprio compilador, no mundo atual precisa-se de uma portabilidade que os novos aplicativos criados devem ser independentes de plataforma, visando economia de tempo de criao e a atender um nmero maior de usurios. A principal linguagem usada pela Qt o C++ mas o framework suporta outras linguagens de programao.

Sua principal aplicao para o desenvolvimento de programas que utilizam uma interface grfica, por ter uma simples manipulao feita pelo programador. Existem vrios exemplos de aplicaes grficas utilizando a Qt os principais e mais conhecidos so o Google Earth que usado para a visualizao de mapas, relevo, edifcios. O Skype que realiza ligaes telefnicas e videoconferncias pela internet, VLC reprodutor de mdia e outro no to conhecido o Phoenix que um sistema de controle de agendamento e monitorao de voos, desenvolvido pela empresa DFS, e vrias aplicaes para sistemas embarcados principalmente celulares, estes exemplos so teis para a populao, que tem como base a biblioteca Qt. O objetivo geral criar uma aplicao usando o framework Qt integrado com a biblioteca Qwt para a aquisio de sinais em tempo real e visualizar esses sinais em grficos, sinais como o da corrente e da tenso em um circuito para estudos de alguns problemas nesses sinais e com isso tentar aperfeioar o circuito para conseguir aumentar a eficincia do mesmo.

3.1 QT Uma das vrias vantagens do uso do Qt a sua interface, pois o ambiente de uso extremamente fcil com botes organizados, barra de tarefas que facilitam na hora de programar, com dois cliques voc arrasta qualquer um dos botes sem ter que programar externamente, somente colocar as aes que cada boto ira executar, outra vantagem que possui dilogo completamente predefinido que so muito utilizados nas aplicaes, tais como janelas de evoluo e de arquivos e alm do mais ser open source. O framework Qt est disponvel nas seguintes plataformas Windows, Windows CE, Linux, Linux Embarcado, MacOS X. Por isso muito utilizado, pode ser usado em vrios sistemas operacionais. Um item bem importante o uso do seu manual, citado como um dos melhores manuais de uma ferramenta de programao. Ele d acesso a todas as funcionalidades e possibilidades que se pode fazer com a Qt, descrevendo minuciosamente cada classe e seus atributos e mtodos. O Manual pode ser usado largamente para consulta e aprendizado desta biblioteca. A Qt possui uma caracterstica que possibilita ao programador uma maior rapidez e intuitividade, pois bem simples, que so os slots e sinais. Os sinais podem ser

emitidos tanto por uma ao do usurio, quanto por um evento interno do computador. Os slots so as funes que respondem a certos sinais. O conceito de sinais e slots, elimina a necessidade de ponteiros para funes e proporciona uma forma de enviar argumentos no-tipados entre as funes. Todos os objetos do Qt podem conter um nmero ilimitado de sinais e slots. Quando um objeto muda seu estado interno, ele pode emitir um sinal para o resto do sistema, sem se preocupar se o sinal foi recebido ou no. Desta forma, os objetos podem ser utilizados realmente como componentes de software independentes ou no dependendo do sinal que for emitido. Um slot no precisa saber se existe algum sinal conectado a ele. Novamente, o objeto isolado do resto do sistema como componente de software independente. A Qt possui uma ferramenta importante na compilao que o debug que tem por finalidade acompanhar cada passo dado pelo programa e com o uso de breakpoints (quando voc marca uma linha do cdigo para que o programa execute at aquele ponto e pare), semelhante no C++ fica fcil de descobrir onde o programa possui algum erro de sintaxe ou de funcionalidade. A Qt trs um conjunto de ferramentas que auxiliam no processo do desenvolvimento de aplicaes grficas: Qt Creator utilizado para a criao de projetos de aplicaes grficas; Qt Designer usada para o projeto de telas. Permite testar o projeto rapidamente e ter uma prvia da tela sem programar qualquer linha de cdigo, ou seja, somente a parte de como ficar a tela. Qt Assistant um guia de consulta rpida e sensvel a contexto para as aplicaes da Qt, ou seja, serve como manual para todas as ferramentas do framework. Qt Linguist para editar arquivos de tradues, tornando uma aplicao com suporte a diferentes lnguas, como um tradutor de cdigos exemplificando o seu funcionamento. A Qt possui seu prprio debuger dependendo do sistema operacional utilizado pelo programador, ele um programa que monitora a execuo de outros programas. Com o debuger voc pode acompanhar a execuo do programa e identicar onde o mesmo esta com problemas. Para tal, o debuger possibilita a avaliao do contedo das variveis e o acompanhamento passo a passo da execuo do programa. Tambm possui uma ferramenta disponibilizada pela Trolltech que o qmake prev um sistema de gesto orientada para o processo de construo de aplicaes,

bibliotecas e outros componentes que ajuda a simplificar o processo de construir projetos e ajuda a declarar arquivos de cabealho e arquivos fontes que so comuns a plataforma e tambm para uma compilao mais rpida, pois, cria os arquivos makefile que foram criados na extenso dos arquivos *.pro, esses arquivos makeles do projeto so no formato ASCII, que podem ser editados em editores simples. Basicamente, um arquivo makele dividido em uma parte com denies de variveis e outra parte com sub-rotinas a serem executadas, os arquivos makefiles so eles que possuem as configuraes de compilao dos programas quando feita primeira compilao e execuo do programa e este esteja correto ferramenta qmake automatiza o compilador para apenas compilar as mudanas efetuadas pelo programador depois da data em que o programa foi compilado, o qmake tambm pode gerar projeto para o Microsoft Visual Studio sem exigir ao programador tenha que alterar o arquivo do cdigo do programa. O contedo do projeto do programa esto descritos nos arquivos *.pro e as informaes contidas nesses arquivos utilizada para o qmake que criou os arquivos makefile que possuem os comandos necessrios para o programa. Uma breve explicao sobre as variveis do qmake, quais ele reconhece e o que significa cada uma dessas variveis no arquivo *.pro . CONFIG; opo da configurao geral do projeto. DESTDIR; o diretrio onde estar armazenado o arquivo executvel. FORMS; os arquivos *.ui a serem processados pela uic. HEADERS; os arquivos de cabealhos *.h utilizados na construo do projeto. QT; configuraes das opes especificas do Qt. RESOURCES; os recursos a serem includos no projeto, extenso do arquivo *.qrc. SOURCES; os arquivos de cdigo fonte utilizados para a construo do projeto. TEMPLATE; o modelo que ser utilizado pelo projeto, isso ira implicar se o processo ira utilizar uma aplicao, uma biblioteca ou um plugin. Os estudos foram realizados baseados em artigos cientficos das reas correlatas ao trabalho, manuais do Qt, livros de programao, livros da biblioteca Qt. 3.2. QWT O estudo do QWT levou um entendimento de algumas funcionalidades desta biblioteca que possui inmeras aplicaes para a parte grfica de programas utilizando

o Qt, o QWT tem uma grande utilidade para a maioria dos aplicativos que exigem do Qt uma maior desenvoltura, principalmente para as aplicaes grficas que um dos objetivos do projeto. Facilita a exibio de grficos, pois, o uso do QWT prev escalas, controles deslizantes, discos, bssolas, termmetros, rodas e botes para controlar ou exibir valores, vetores, ou intervalos do tipo double, e exemplos de cdigo prontos para desenhar algumas curvas de aplicaes que so as mais utilizadas como histogramas, curvas de funes matemticas conhecidas, espectrograma, grficos que as funes mudam conforme o tempo tem a derivada diferente de zero, etc. E tambm todas as classes da biblioteca possuem seu cdigo para observao do programador e de fcil entendimento pelo mesmo, alm de possuir um nmero muito grande de classes todas para facilitar o desenvolvimento de aplicaes grficas.

4. MATERIAIS E MTODOS Os estudos foram realizados baseados em artigos cientficos nas reas correlatas ao trabalho. Atravs destes foram absorvidos conceitos e analisados aspectos relacionados com o Qt e sua integrao com o Qwt para a implementao de algoritmos com o intuito de construir grfico e aplicaes na rea de processamento de sinais em sistemas de energia eltrica como corrente e tenso, e conseguir a aquisio desses sinais para mostrar as formas do sinal no grfico implementado e com isso conseguir corrigir as perdas na distribuio e transmisso da energia eltrica. E encontrar uma configurao de rede de distribuio que diminua essas perdas ficando cada vez menor os prejuzos financeiros gerados pelas resistncias e equipamentos que so os principais fatores que levam a perdas na distribuio de energia eltrica. 5. RESULTADOS PARCIAIS Os primeiros resultados encontrados, aps o estudo da plataforma Qt e relembrar a sintaxe da linguagem C++, foi construir uma aplicao simples, para se familiarizar com a interface e com as particularidades dessa plataforma, e com isso construir programas e interfaces grficas.

Na seqncia ser mostrado a primeira aplicao feita durante o perodo de iniciao cientifica, uma aplicao simples, mas que mostra algumas vantagens do uso do framework Qt, e assim mostrar como deve ser feito para uma aplicao mnima do Qt para mostrar uma janela que aparece uma frase na tela quando ele for salvo e compilado e gerado um arquivo executvel, abaixo est o Cdigo 1 para essa aplicao.

// helloWorld/main.cpp #include <QApplication> #include <QLabel> int main(int argc, char *argv) { QApplication a(argc, argv); QLabel label("Hello World"); label.show(); return a.exec(); } Cdigo 1: Aplicao do Qt.

Explicando o Cdigo 1 a primeira linha apenas um comentrio sobre a aplicao, a segunda e terceira linha incluem as classes que vo ser utilizadas para no acontecer erro de sintaxe, a classe QAplication contm a interface para a aplicao enquanto a QLabel contm as descries. Na sexta linha esto declaradas as variveis da classe QAplication e na linha sete esta declarado o texto que aparecer na tela aps ser executado o programa, com o uso da classe QLabel. Se a caso precisar ser implementado o programa ou adicionado mais algumas funcionalidades ao programa bastaria criar os arquivos makefile que instruiriam o compilador para apenas compilar as mudanas feitas e no o programa como um todo. Abaixo esta a figura que demonstra como fica a aplicao com o Cdigo 1 sem mudanas depois de salvada, compilada e executada.

Figura 5.1: Janela da aplicao do programa Hello World aps ser executada. Com o Qt foram feitas vrias aplicaes prticas, entre elas uma tabela de dados que possui 8 linhas e 7 colunas, com dados fictcios somente para apresentar mais uma aplicao grfica do Qt.

Figura 5.2: Tabela utilizando a biblioteca Qt. Foi desenvolvida uma interface de um analisador de grandezas eltricas, mas somente com a interface, esta no possui nenhum resultado satisfatrio no momento sem que seja implementado o algoritmo para a aquisio dos sinais eltricos e nem para mostrar essas grandezas em grficos em tempo real, que so os principais objetivos deste trabalho cientifico, mas essa interface j mostra como dever ficar o analisador da tenso, da corrente e da potncia da rede a ser analisada. E com isso monitorar grandezas relacionadas energia mesmo sob tenses e correntes distorcidas e/ou desequilibradas, a partir dos dados extrados do analisador e calculados e com as formas de ondas nos grficos que facilitam ainda mais a analise desses sinais, mas para isso preciso a conectividade do computador PC com a rede que passar o sinal para ele. 7

A Figura 5.2 mostra como ficar o analisador da tenso de uma terminada rede de distribuio aps a aquisio dessa tenso com varias opes a serem mostradas pelo analisador, o espao em branco no centro da interface onde ser desenhado o grfico da tenso em tempo real da rede analisada para um melhoramento aps a analise, seguir a interface do analisador de tenso Figura 5.3.

Figura 5.3: Interface do analisador de tenso utilizando a Qt. Na sequncia ser mostrada a figura do analisador de corrente, especificando as correntes em cada uma das fases e tambm a corrente de linha dessas fases para um aproveitamento maior da potncia do circuito eltrico esse aproveitamento pode ser maior caso seja corrigido o fator de potncia das cargas empregadas a esse circuito, assim sendo analisadas as correntes fica simples a correo do fator de potncia, pois se voc estiver aproveitando uma pequena parte da energia empregada ao circuito o analisador ir mostrar e com uma anlise pode se melhorar esse fator de potncia com o emprego de capacitores para diminuir o efeito indutivo das cargas alimentadas por essa rede eltrica e com isso aumentar o rendimento das cargas alimentadas deixando o fator de potncia mais prximo do ideal que unitrio tendo um timo aproveitamento da corrente que chega a sua carga, para uma melhor visualizao dessas correntes no centro do analisador ir ser mostrado o grfico em tempo real de todas as correntes tanto as de fase como as de linha para um melhor entendimento, a Figura 5.4 mostra a interface do analisador de corrente da rede em estudo. 8

Figura 5.4: Interface do analisador de corrente utilizando a Qt. A figura a seguir mostra os valores das correntes em cada fase da rede de energia eltrica para o clculo das potncias do circuito analisado, a Figura 5.5, mostra a interface do analisador da potncia, que utiliza os valores da corrente para encontrar os valores das potncias, tanto na linha da fase como entre essas fases.

Figura 5.5: Interface do analisador da potncia utilizando a Qt, atravs das correntes.

Aps o desenvolvimento da interface grfica usando a plataforma Qt, foi iniciado o estudo do software de simulao e desenho ORCAD, para o desenvolvimento de placas de circuito impresso para a instrumentao de um DSP (Digital Signal Processor) e tambm para aquisio de sinais que fazem parte desse projeto a aquisio de sinais usando conexo USB, para o monitoramento e anlise utilizando a interface grfica desenvolvida no Qt, para as grandezas de natureza eltrica a serem estudadas. Foram desenvolvidas duas placas de circuito impresso, uma para sensores de efeito Hall de corrente e uma para adequao de sinal de entrada do conversor A/D de um DSP da Texas Instruments do modelo TMS320F28335 de 32 bits, de ponto flutuante. Para essas placas foram utilizados conceitos de eletrnica com o intuito de especificar os valores calculados e comercias dos componentes a serem utilizado nas placas confeccionadas atravs do memorial de clculo. A partir do memorial de clculo comeou-se a confeco das placas, com a utilizao do Capture do ORCAD, feito o desenho esquemtico da placa, foram revisadas todas as conexes da placa, para extinguir qualquer erro. Feitas as revises comeou o processo de roteamento utilizando a opo Layout para a criao das trilhas ligando os componentes da placa. Uma das placas desenvolvidas foi a de instrumentao do DSP que o layout final da placa est na figura 5.6.

Figura 5.6: Layout da placa de instrumentao para um DSP na entrada do conversor A/D 4 canais por placa. Aps o desenvolvimento do projeto da placa de instrumentao para o conversor A/D do DSP TMS320F28335, foram iniciadas as especificaes para as placas de monitoramento e medio de corrente e da tenso com a utilizao de sensores efeito Hall para os canais da placa de instrumentao, ou seja, como cada uma das placas 10

possui 4 canais so necessrios 4 sensores de corrente e 4 sensores de tenso por placa de adequao de sinal para a entrada do conversor A/D do DSP, na prxima figura est apresentada o layout de uma placa para 4 sensores de corrente para a medio precisa da entrada do DSP.

Figura 5.7: Layout da placa de medio com 4 sensores Efeito Hall de corrente. 6. CONSIDERAES PARCIAIS 6.1 DESENVOLVIMENTO DO PROJETO As atividades do projeto de pesquisa concernentes ao referido perodo foram executadas (e ainda esto sendo executadas). Em seguida ser apresentado o cronograma e o plano de trabalho originalmente proposto. O desenvolvimento das atividades previstas em cada fase do cronograma ser comentado posteriormente descrio da mesma. A Figura 6.1 ilustra as fases e o cronograma do projeto de agosto de 2009 at agosto de 2010.

Figura 6.1: Fases e cronograma do projeto. Fase 1. Estudos das bibliotecas do Qt Estudo das principais aplicaes do Qt e estudo de softwares matemticos e de simulao como o Orcad.

11

Esta fase do projeto j foi concluda integralmente. Fase 2. Levantamento das vantagens e como manipular o Qt e como implementar os algoritmos das aplicaes do Qt. Desenvolvimento de placas de circuito impresso para o desenvolvimento de outros projetos de pesquisa que futuramente serviram de alicerce para o desenvolvimento final do projeto de iniciao cientifica. Fase no totalmente concluda, mas em fase terminal. Fase 3. Anlise da integrao do Qwt com o Qt, estudos de grficos feitos e aplicaes utilizando o framework Qt e algumas caractersticas peculiares deste. Esta fase foi desenvolvida em conjunto com a segunda. Fase 4. Implementao do algoritmo para plotar o grfico do usando o Qt integrado com o Qwt e testes utilizando a interface grfica proposta. Esta fase no foi completada pela falta de tempo, essa implementao do algoritmo para grficos usando o framework Qt. Fase 5. Elaborao do relatrio e artigo Elaborao do texto referente ao relatrio dos estudos e atividades desenvolvidas durante o projeto de pesquisa. O relatrio final e o artigo foram elaborados conforme os relatrios parciais obtidos nas diversas fases da iniciao cientfica, sendo assim pode-se dizer que esta fase foi executada desde o inicio do projeto.

7.CONCLUSES Neste relatrio foram descritas as atividades realizadas durante o intervalo de tempo do incio das atividades de iniciao cientifica at o ms de agosto. Foi relatada uma breve explicao do uso da plataforma Qt juntamente com o uso da biblioteca Qwt para a construo de grficos e aplicaes simples como a implementao de uma janela com um boto, mostrando que esta plataforma serve tanto para aplicaes simples, como para aplicaes que exijam uma maior desenvoltura da plataforma, usando algumas bibliotecas externas do Qt que integradas geram um resultado satisfatrio no programa da sua aplicao que deseja-se implementar.

12

A maior utilidade da plataforma Qt como foi explicada durante o relatrio, que o cdigo pode ser escrito e compilado em qualquer sistema operacional, sem que sejam necessrias mudanas em seu cdigo fonte, quando compilado em outro sistema operacional, o que uma ferramenta importante, pois no precisa de mais trabalho quando a mudana de sistema e tambm as bibliotecas do Qt possui nomes intuitivos o que facilita na programao do cdigo. A grande facilidade possuir um conjunto completo de classes e mtodos prontos a utilizar mesmo para programao no grfica o que deixa a programao, possui tambm uma boa interao com o utilizador atravs dos mtodos virtuais e o uso do mecanismo signal/slot que esto predefinidos no Qt. Neste relatrio houve uma breve explicao sobre a biblioteca Qwt e suas vantagens para a programao de aplicaes grficas, pois possui vrios exemplos com o cdigo j pronto para ser usado e sendo uma ferramenta poderosa quando integrada com o Qt. Foi apresentada como deve ficar a interface do analisador das grandezas eltricas, mostrar quais so essas que devem ser mostradas seus sinais em grficos em tempo real, mas que ainda no foram implementadas as funes e nem o algoritmo para a aquisio desses sinais que esto em andamento e como o projeto foi aceito novamente essas questes em andamento sero concretizadas durante o prximo perodo de iniciao cientifica. E houve um perodo da iniciao cientifica onde foram feitas algumas placas de circuito impresso para o desenvolvimento de projetos de pesquisa paralelos, como foi apresentado nos resultados parciais. 8. REFERNCIAS MOLKENTIN, D.; The Book of Qt 4: The Art of Building Qt Applications. 1. ed. Estados Unidos: ISBN, 2007. 440 p. RATHMANN, J. W.; Qwt - Qt Widgets for Technical Applications. [online] Disponvel na Internet via WWW. URL: http://qwt.sourceforge.net/ acesso em: 25 de abr. de 2010. QMAKE MANUAL. [online] Disponvel na Internet via WWW. URL: http://doc.trolltech.com/4.4/qmakemanual.html/ . acesso em: 26 de abr. de 2010. BUENO, A. D.; Apostila de Programao Orientada a Objeto em C++. Verso 0.4.5. Santa Catarina, 2002. 626 P.

13

LEITO, U.; Qt Programao Qt - Parte II. [online] Disponvel na Internet via WWW. URL: http://www.doctumtec.com.br/downloads/apostilasetutoriais/arquivos/ acesso em : 11 de mai. de 2010 BLANCHETTE, J.; SUMMERFIELD, M.. C++ GUI Programming with Qt 4. 1 ed. Upper Saddle River: Prentice Hall, 2006. MENEZES, A. M. A. ; Introduo Programao C++ com Qt 4. II Frum de Tecnologia em Software Livre SERPRO, 2009.

14

Você também pode gostar