• Nenhum resultado encontrado

O projecto EolitorSystem2008 é um projecto Windows Form Application desenvolvido em linguagem vb.net, destinado à criação de todas as interfaces do programa de sistema de informação. Este é o projecto principal do ponto de vista da visualização da informação.

Figura D.11 - Projecto Eolitor System

Pasta Forms

-About.vb: Windows Form com informações sobre a aplicação.

-Connection.vb: Windows Form que permite configurar a ligação à base de dados de

-Database_v1.vb: É o Windows Form que permite listar, inserir e apagar informações

da base de dados com a ajuda de um BindingNavigator e vários BindingSource, TableAdapter e DataGridView e de um DataSet.

-DBCharts.vb: É o Windows Form que foi desenvolvido para permitir gerar gráficos

recorrendo à base de dados como suporte dos dados e ao dll do programa .netCharting que possibilita essa geração. A utilização deste interface é fácil e intuitiva com a possibilidade de configuração do instante temporal, das variáveis do gráfico e do tipo de gráfico. A função responsável pela criação do gráfico é a função CreateChart que é invocada com o evento clique do botão Create. A função SaveChart é invocada com o evento clique do botão Save e permite armazenar a imagem diferentes formatos do gráfico gerado. A função getSQLData é chamada para obter os dados da base de dados através da abertura de uma ligação SqlClient.SqlConnection com a base de dados EolitorDB.

-Emailer.vb: É o Windows Form que foi criado para possibilitar o envio de emails.

Deste modo o interface tem vários TextBox para permitir a escrita do remetente, do destinatário, do assunto e da mensagem. Associado ao evento clique do botão Browse, é possivel adicionar (função Browse_Click) um ficheiro de anexo para ser enviado após o clique no botão Send (função Send_Click). Durante o Load do interface é verificado se o servico SMTP está instalado, caso contrário não será possivel o envio de emails.

-Home.vb: É o Windows Form inicial que permite a abertura de todos os interfaces do

programa Eolitor System. Essencialmente neste interface estão funções associados ao evento clique nos vários botões e nos vários itens do MenuStrip.

-Logs.vb: É o Windows Form onde é possível visualizar todos os logs gerados pelo

sistema através de uma componente DataGridView.

-Monitor7.vb: É a última versão do Windows Form correspondente ao interface de

monitorização. Neste é possível através dos vários gráficos a visualização do comportamento do aerogerador e do tempo. Para iniciar a monitorização basta apenas clicar no botão Connect para criar um socket de ligação TCP/IP com o servidor Eolitor Server, através das funções do módulo TCPServer. É necessária a configuração do endereço IP do servidor e do porto TCP no interface Options. Fazem parte ainda deste interface as seguintes funções:

-Reports.vb: É o Windows Form onde são visualizados os modelos de relatórios que

estão na pasta Reports. Os valores armazenados na base de dados são carregados através dos objectos do DataSet EolitorDBDataSet que correspondem às diferentes tabelas da base de dados. A função btnReport1_Click relativa ao evento clique do botão btnReport1 permite carregar o modelo de relatório EolitorReport1.rdlc no ReportViewer do interface. De forma similar, as funções btnReport2_Click e btnReport3_Click associadas ao evento clique dos

botões btnReport2 e btnReport3, possibilitam a visualização dos modelos de relatórios EolitorReport2.rdlc e EolitorReport3.rdlc no ReportViewer, respectivamente.

-SplashScreen.vb: É o SplashScreen do programa que apresenta uma imagem do

Aerogerador e o nome do Programa nos primeiros segundos após o início da execução do mesmo.

-uSD.vb: É o Windows Form que foi desenvolvido para possibilitar a comunicação com

o cartão µSD que se encontra na placa do sistema de monitorização.

-WebBrowser: É um Windows Form simples que permite substituir o programa

Internet Explorer para a visualização de páginas de Internet.

Pasta Generic Panels

-Graph.vb: É um User Control que corresponde á criação de uma área para gráfico

através de uma PictureBox. Este contém funções associadas a eventos e métodos que permite o aumento e diminuição da área destinada ao gráfico e do Zoom da imagem do gráfico, com limites previamente configurados. É possível através das funções CreateGraphSinal e AddLineGraph a geração do gráfico na PictureBox. A função AddLineGraph cria um array de pontos que corresponde a um pixel na área da PictureBox enquanto que a função CreateGraphSinal modifica a grama do sinal para a grama do gráfico (0 a 1023).

-Graph2.vb: É um User Control de uma versão mais reduzida para a geração de

gráficos sem as funções de aumento e diminuição da área e do Zoom da PictureBox correspondente à imagem do gráfico.

-OutputTextBox.vb: É um User Control constituído por um RichTextBox que permite

criar uma área de mensagem de texto de saída. Existem diferentes tipos de mensagens de saída: Normal, Warning, Error e Other.

Pasta Modules and Classes

-Comm.vb: Neste módulo são definidas todas as funções necessárias para abertura e fecho da porta serie de ligação com o microcontrolador (startSerialPort e stopSerialPort) e o envio de dados deste programa para o microcontrolador (sendPIC).

-ConnDB.vb: É neste módulo que estão as funções: TestConnectionDB para testar a

ligação à base de dados; TestNewConnectionDB para testar uma nova ligação à base de dados defenindo novos parâmetros; SaveChange_To_App_Config para guardar a nova sting de ligação com a base de dados no ficheiro de configurações do programa.

-CRC.vb: Módulo onde está definida a função de calculo do CRC utilizado nas mensagens que são enviadas entre este programa e o microcontrolador, ou vice versa.

-Crypto.vb: É uma classe para gerar chave de encriptação simples usando TripleDES e

desincriptação.

-Email.vb: Módulo com funções relacionadas com o envio de emails: Load_Mail para a

formação da mensagem de email e Send_Mail para o envio de email e a função testSMTPService para testar a instalação do serviço SMTP no PC local.

-include.vb: É o módulo onde estão definidas algumas variáveis globais do programa.

-Report.vb: Módulo contendo funções relacionadas com a criação de relatórios.

-signals.vb: É o módulo onde estão definidos os sinais que são enviados do microcontrolador para este programa.

-SQLServerDB.vb: É uma classe auxiliar que contem todas as funções Public Shared que permitem executar as store procedures da base de dados mapeadas na classe Data Context, para armazenarem os dados nas respectivas tabelas. Esses dados são passados nas funções desta classe como parâmetros de entradas.

-TCPServer.vb: É neste módulo que estão definidas todas as funções reponsáveis

pela criação de um socket TCP/IP de comunicação com o servidor para o envio e recepção de mensagens. As funções que fazem parte deste módulo são: NewClient, OnSend, OnConnect, OnReceive, LoadData, BroadcastData e CloseClient. São também definidos a classe Data e a o formato o tipo de comandos que são enviados nas mensagens.

-XML.vb: Neste módulo existem algumas funçõs para a criação de um ficheiro de

configurações no formato xml. A função CheckXML permite verificar se o ficheiro existe. A função CreateXMLFileDefault possibilita a criação de um ficheiro xml com os valores iniciais.A função LoadXMLFile permite carregar todos os elementos dentro do elemento root. Com a função UpdateXMLElement é possível actualizar os valores dentro do ficheiro xml. Finalmente, a função RemoveXMLElement perite a remoção de um elemento no ficheiro xml.

Pasta Options Panels

-Options.vb: É o Windows Form que através da instanciação dos vários painéis seguintes permite ao utilizador a configuração do programa. São definidas as funções de criação e conclusão do interface, associadas ao evento clique no botão OK (button_OK_Click que permite actualizar os vários parâmetros globais do programa) e Cancel (button_Cancel_Click que possibilita a conclusão do interface) e a função associada à selecção do nó correnpondente aos vários painéis treeViewParameters_AfterSelect. É definida a classe validDataEventArgs de validação dos dados introduzidos nos vários painéis deste interface e declarado o delegate ValidDataEventHandler.

-PanelDataAcquisition.vb: É um User Control que corresponde a um Painel onde é possível configurar a frequência de monitorização dos dados do aerogerador e do vento e a frequência de envio dos dados do microcontrolador para o programa Eolitor Server.

-PanelDatabase.vb: É um User Control que corresponde a um Painel que permite configurar a ligação à base de dados através da personalização do servidor, do nome da base de dados, do utilizador e da senha.

-PanelPorts.vb: É um User Control que corresponde a um Painel onde é configurável a porta de comunicação do PC que foi aberta devido a ligação entre a PCB e o PC servidor.

-PanelReports.vb: É um User Control que corresponde a um Painel que possibilita a configuração dos endereços de email e do servidor para o envio de emails. Mediante a configuração destes parâmetros será possível o envio de emails contendo os relatórios gerados no intervalo de tempo também configurado.

-PanelServer.vb: É um User Control que corresponde a um Painel onde é possível a configuração dos endereço IP do servidor, o porto TCP em que o servidor está à escuta e o nome do cliente TCP/IP estabelecido através deste programa.

-PanelStartup.vb: É um User Control que corresponde a um Painel que permite configurar se o programa inicia com o interface minimizado e se ao minimizar o programa vai para a barra de tarefas ou para a área de notificações.

Pasta Reports

-EolitorReport1.rdlc, EolitorReport2.rdlc e EolitorReport3.rdlc: São três Reports que correspondem a três modelos de relatórios.

Pasta Resources

Nesta pasta onde estão armazenadas todos os ficheiros de imagens nos formatos png, jpg, gif e ico.

Pasta Skins

É nesta paste que contem todos os ficheiros skf correspondentes aos vários skins que podem ser carregados no programa através do dll do programa SkinCrafter.

-EolitorDB.dbml: É uma classe Data Context gerada pelo Object Relational Designer (O/R Designer) – fornece uma interface visual para criar e editar classes LINQ to SQL – que permite criar um modelo de objectos na aplicação e efectua o mapeamento para os objectos da base de dados onde estão mapeadas todos os objectos relacionais.