P. 1
CONTROLE DE NÍVEL MICROCONTROLADO E SUPERVISIONADO POR SOFTWARE SCADA UTILIZANDO COMUNICAÇÃO POR RADIO FREQUÊNCIA

CONTROLE DE NÍVEL MICROCONTROLADO E SUPERVISIONADO POR SOFTWARE SCADA UTILIZANDO COMUNICAÇÃO POR RADIO FREQUÊNCIA

|Views: 1.139|Likes:
Publicado porcanecarnage
Trabalho de Conclusão de Curso que relata a utilização de sistema supervisório, microcntroladores e rádio frequência no controle de nível.
Trabalho de Conclusão de Curso que relata a utilização de sistema supervisório, microcntroladores e rádio frequência no controle de nível.

More info:

Categories:Types, School Work
Published by: canecarnage on Jun 13, 2011
Direitos Autorais:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/05/2013

pdf

text

original

CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS TECNOLOGIA EM AUTOMAÇÃO INDÚSTRIAL JEAN FERNANDO DOS SANTOS VIEIRA

PROJETO CONTROLE DE NÍVEL MICROCONTROLADO E SUPERVISIONADO POR SOFTWARE SCADA UTILIZANDO COMUNICAÇÃO POR RADIO FREQUÊNCIA

Londrina 2011

JEAN FERNANDO DOS SANTOS VIEIRA

PROJETO CONTROLE DE NÍVEL MICROCONTROLADO E SUPERVISIONADO POR SOFTWARE SCADA UTILIZANDO COMUNICAÇÃO POR RADIO FREQUÊNCIA

Trabalho de Conclusão de Curso apresentado à Universidade Norte do Paraná - UNOPAR, como requisito parcial para a obtenção do título de Tecnólogo em Automação Industrial. Orientador: Prof. Miguel Angel Chincaro Bernuy,

Londrina 2011

JEAN FERNANDO DOS SANTOS VIEIRA

PROJETO CONTROLE DE NÍVEL MICROCONTROLADO E SUPERVISIONADO POR SOFTWARE SCADA UTILIZANDO COMUNICAÇÃO POR RADIO FREQUÊNCIA

Trabalho de Conclusão de Curso aprovado, apresentado à UNOPAR - Universidade Norte do Paraná, no Centro De Ciências Exatas E Tecnológicas, como requisito parcial para a obtenção do título de Tecnólogo em Automação Industrial, com nota final igual a _______, conferida pela Banca Examinadora formada pelos professores:

Prof. Orientador Miguel Angel Chincaro Bernuy

Prof. Membro 2 Universidade Norte do Paraná

Prof. Membro 3 Universidade Norte do Paraná

Londrina, _____de ___________de 20___.

Dedico este trabalho Primeiramente a toda a minha família pela compreensão por minha ausência às nossas reuniões semanais. A todos que me apoiaram e me motivaram nesse período de minha vida. A todas as pessoas, que assim como eu, acreditam na melhoria da nossa sociedade através da educação.

AGRADECIMENTOS A todos que, direta ou indiretamente, contribuíram para a realização deste trabalho, em especial aos meus pais Carlos Vieira e Maria Angela dos Santos, pelo apoio, compreensão e incentivo durante minha formação. A Empresa Microway - Cursos e Treinamentos em Informática representada por Elter Aguiari e Kelen Vanessa Aguiari, pela disponibilização dos equipamentos, materiais,

companheirismo e pela compreensão nos momentos de minha ausência profissional. A todos meus amigos, pelas cobranças, pela ajuda e incentivo para a conclusão do trabalho. Agradeço também todos os professores que ajudaram de alguma forma para a realização desse trabalho, pela sua dedicação em nos transmitir seus conhecimentos de grande valia, em especial ao professor e orientador Miguel Angel Chincaro Bernuy, pelo acompanhamento e dedicação. E por fim a Deus, por me dar a oportunidade, força e coragem para atingir meus objetivos, pois sem ele muito do que conquistei não seria possível.

“Nada é tão incompreensível que um pouco de pensamento lógico não resolva.”

Jean Fernando dos Santos Vieira

VIEIRA, Jean Fernando dos Santos. Projeto controle de nível microcontrolado e supervisionado por software SCADA utilizando comunicação por rádio freqüência. 2011. 93 páginas. Trabalho de Conclusão de Curso (Superior de Tecnologia em Automação Industrial) – Centro de Ciências Exatas e Tecnológicas, Universidade Norte do Paraná, Londrina, 2011.

RESUMO

A necessidade de sistemas de armazenamento de líquidos é tão antiga quanto o homem civilizado. Para o processo de supervisão, medição e controle, os reservatórios dificilmente deixam de utilizar um operador humano. A instalação de um sistema de automação pode garantir a comodidade e facilidade no gerenciamento de reservatórios. O presente documento visa estudar e conhecer uma parte muito importante da automação, a relação entre dispositivos, softwares e programação utilizados em plantas e processos industriais, por profissionais da área. Neste trabalho focou-se o desenvolvimento de um projeto que utilize microcontroladores para o controle de nível em um reservatório, utilizando uma comunicação baseada na transmissão de dados por rádio freqüência, fazendo posteriormente, sua interação entre o usuário e este sistema, com o auxilio de um software supervisório. Para o alcance desse objetivo, foram agrupadas inúmeras técnicas da área de automação industrial. Programação, eletrônica, redes industriais e telecomunicações estão entre as áreas que possibilitaram o conhecimento necessário para projetar tal sistema. Dividiu-se esse projeto em varias partes: pesquisa e criação de circuito para leitura de valores discretos, desenvolvimento de um protocolo, assim como o pacote de dados, para a transmissão de informações, programação das rotinas de controle, transmissão, recepção e supervisão dos estados lógicos dos níveis e da bomba no reservatório e sua simulação através dos softwares encontrados no ramo industrial, finalmente, terminando com o levantamento de custos para implantação e viabilização deste sistema. Espera-se que essa iniciativa, abra um “leque” de opções aos profissionais da área e instigue outros no interesse pela automação.

Palavras-chave: Automação. Microcontrolador. PIC16F877A. Supervisório. Elipse SCADA. Comunicação Serial. MAX-232. Rádio Freqüência. RF. Reservatório. Controle de Nível.

VIEIRA, Jean Fernando dos Santos. Project control of level microcontrolled and with supervisory SCADA software utilizing communication by radio frequency. 2011. 93 pages. Work of Conclusion of Course (Superior of Technology in Industrial Automation) – Center of Exact and Technological Sciences, Universidade Norte do Paraná, Londrina, 2011.

ABSTRACT

The need for systems of liquid storage is as old as the civilized man. For the supervisory process, measurement and control, the reservoirs can hardly leave to utilize a human operator. The installation of an automation system can ensure the convenience and easiness in management of reservoirs. The present document aims to study and know a very important part of automation, the relation among devices, softwares and programming used in plants and industrial processes, for professionals in the area. In This work focused on the development of a project that uses microcontrollers to control the level in a reservoir, using a communication based on the transmission of data by radio frequency, making later, its interaction between the user and the system with the aid of supervisory software. For the reach of this objective, were grouped innumerable techniques of the area of industrial automation. Programming, electronics, industrial networks and telecommunications are among the areas that have allowed the knowledge necessary to design such system. This project was divided into several parts: research and creation of circuit for reading of discrete values, development of a protocol, as well as the data package, for the transmission of information, programming of control routines, transmission, reception and supervision of the logical states of levels and of the pump in reservoirs and its simulation through the softwares found in industrial branch, finally, ending with the lifting of the costs for deployment and feasibility of this system. It’s expected that this initiative, will open a "range" of options to professionals in the area and abet others in the interests by automation.

Key-words: Automation. Microcontroller. PIC16F877A. Supervisory. Elipse SCADA. Serial Communication. MAX-232. Radio Frequency. RF. Reservoir. Control of Level.

LISTA DE FIGURAS Figura 1 – Reservatório de água ..................................................................................16 Figura 2 - Malha Fechada .............................................................................................20 Figura 3 - Malha Aberta ................................................................................................20 Figura 4 – Sensores de níveis do tipo eletrodo............................................................22 Figura 5 – Circuito eletrônico acoplado aos eletrodos .................................................23 Figura 6 - Diagrama de pinos do PIC16F877A ............................................................27 Figura 7 – Configuração dos pinos e circuito de operação do MAX232 .....................29 Figura 8 – Ligação dos cabos no conector DB9 ..........................................................30 Figura 9 – Estrutura do rádio enlace ............................................................................31 Figura 10 – Módulo TWS-HS-2.....................................................................................33 Figura 11 - Módulo RWS-371-6 ....................................................................................34 Figura 12 – Arranjo físico proposto ao sistema. A) representa quadro de comando B) representa a central de monitoramento. ......................................................................36 Figura 13 – Níveis do reservatório................................................................................37 Figura 14 – Código de verificação de acionamento de sensores e bomba ................38 Figura 15 – Programa supervisório de monitoramento ...............................................39 Figura 16 – Pacote de dados ........................................................................................40 Figura 17 – Código para validação de dados ..............................................................41 Figura 18 – Tela do Compilador PCWH com um programa em linguagem C ............43 Figura 19 – Tela do ambiente ISIS de simulação do Proteus circuito de exemplo ....44 Figura 20 – Tela inicial do Elipse SCADA ....................................................................45 Figura 21 – Fluxograma representativo do Quadro de comandos ..............................46 Figura 22 – Código das rotinas do Quadro de comando .............................................47 Figura 23 – Fluxograma representativo da Central de monitoramento.......................48 Figura 24 – Código das rotinas da Central de comando .............................................49 Figura 25 – Driver ASCII.dll implantado no Elipse SCADA .........................................50 Figura 26 – Configuração no Elipse SCADA ...............................................................50 Figura 27 – Configuração do driver na aba ASCII .......................................................52 Figura 28 – Tag’s criados no Elipse SCADA................................................................53 Figura 29 – Scripts usados nas tag’s tempo e tempo2 ................................................55 Figura 30 – Elementos gráficos presentes na tela de supervisão e seus comandos .55 Figura 31 – Zona ativa, sua mensagem e seus valores correspondentes .................56

Figura 32 – Circuito da central de monitoramento .......................................................59 Figura 33 – Circuito da central de monitoramento .......................................................60 Figura 34 – Nova estrutura com circuito do quadro e da central unidos ....................60 Figura 35 – Botões que representam os sensores de nível ........................................61 Figura 36 – Erro na visualização das informações enviadas ......................................62 Figura 37 – MAX-232 A) Ligação antiga B) Ligação nova ..........................................62 Figura 38 – Teste da simulação Ok ..............................................................................63 Figura 39 – Simulação de dados nos terminais virtuais ..............................................64 Figura 40 – Tela do supervisório responsável pela recepção de dados .....................65 Figura 41 – Tela do supervisório responsável pela recepção de dados .....................65 Figura 42 – Aplicação MESTRE configurada ...............................................................66 Figura 43 – Aplicação ESCRAVO configurada ............................................................66 Figura 44 – Configuração do ID de recepção (ESCRAVO) .........................................67 Figura 45 – Configuração do ID de transmissão (MESTRE).......................................68 Figura 46 – Aplicação MESTRE enviando dados ........................................................68 Figura 47 – Aplicação ESCRAVO recebendo dados ...................................................69 Figura 48 – Cabo DB9 ..................................................................................................69 Figura 49 – Conector ligado ao cabo manga ...............................................................70 Figura 50 – Circuito confeccionado do quadro de comando .......................................71 Figura 51 – Circuito confeccionado da central de monitoramento ..............................72 Figura 52 – Gravador Picburner USB ...........................................................................72 Figura 53 – Osciloscópio analisando o sinal do envio de dados.................................73 Figura 54 – Central de monitoramento indicando erro na recepção dos comandos ..74 Figura 55 - Quadro de comando com erro ...................................................................74

LISTA DE TABELAS Tabela 1 - Características do padrão RS-232 ..............................................................28 Tabela 2 – Classificação das ondas de rádio ..............................................................32 Tabela 3 – Pinos do TWS .............................................................................................33 Tabela 4 – Pinos do RWS .............................................................................................34 Tabela 5 – Lógica de interpretação da operação da bomba .......................................38 Tabela 6 – Equivalência entre caracteres X decimal baseado na tabela ASCII.........42 Tabela 7 – Descrição dos parâmetros..........................................................................51 Tabela 8 – Parâmetros da aba ASCII...........................................................................53 Tabela 9 – Configuração dos tag’s PLC .......................................................................54 Tabela 10 – Mensagem visualizada no supervisório em relação aos sensores de nível................................................................................................................................56 Tabela 11 – Mensagem visualizada no supervisório em relação a bomba ................57 Tabela 12 – Mensagem visualizada no supervisório em relação aos níveis ..............57 Tabela 13 – Imagens usadas na animação do reservatório........................................58 Tabela 14 – Terminais virtuais e suas funções ............................................................61 Tabela 15 – Mapeamento dos pinos no conector DB9 ................................................70 Tabela 16 - Preços dos componentes ..........................................................................75

LISTA DE ABREVIATURAS E SIGLAS A ABNT ASCII Ampére Associação Brasileira de Normas Técnicas American Standard Code for Information Interchange (Código Padrão Americano para o Intercâmbio de Informação) CI CLP CMOS CPU DCE DTE K Kbps OEM MHz PIC PID UNOPAR SCADA TRIAC TTL V Circuito integrado Programmable Logic Controller (Controlador Lógico programável) Complementary Metal-Oxide-Semiconductor (Semicondutor Metal-òxido Complementar) Central Processing Unit (Unidade Central de Processamento) Data Circuit-terminating Equipment Data Terminal Equipment kilo Kilo bits por segundo Ondas Eletromagnéticas Mega Hertz Peripheral Interface Controller Proporcional, Integral e Derivativo Universidade Norte do Paraná Supervisory Control And Data Acquisition (Sistema de Supervisão e Aquisição de Dados) Triode for Alternating Current (Triodo de Corrente Alternada) Transistor-Transistor logic Volts

SUMÁRIO 1 1.1 1.2 1.2.1 1.2.2 1.3 1.4 2 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.3 2.4 2.4.1 2.5 2.5.1 2.5.2 2.5.3 2.6 INTRODUÇÃO .......................................................................................................14 CONTEXTUALIZAÇÃO DO PROBLEMA .........................................................15 OBJETIVO ..........................................................................................................17 Objetivos Gerais .............................................................................................17 Objetivos Específicos .....................................................................................17 JUSTIFICATIVA .................................................................................................17 ORGANIZAÇÃO DO TRABALHO .....................................................................18 FUNDAMENTAÇÃO TEÓRICA .............................................................................19 SISTEMA DE CONTROLE DE PROCESSOS..................................................19 Sistemas De Controle Em Malha Fechada ...................................................19 Sistemas De Controle Em Malha Aberta .......................................................20 Processo Contínuo .........................................................................................20 .Processo Discreto .........................................................................................21 CONCEITUAÇÃO DA VARIÁVEL NÍVEL .........................................................21 Sensores De Nível Do Tipo Eletrodo .............................................................22 COMUNICAÇÃO DE DADOS ............................................................................24 SISTEMA SUPERVISÓRIO (SCADA) ..............................................................24 Propósito Do Sistema SCADA .......................................................................25 MICROCONTROLADORES ..............................................................................25 Histórico ..........................................................................................................26 Microcontrolador PIC16F877A .......................................................................26 Linguagem C...................................................................................................27 PADRÃO RS-232 ...............................................................................................28

2.6.1.1 CI MAX-232 ....................................................................................................29 2.7 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 SISTEMAS DE RADIO.......................................................................................30 Equipamentos De Radio ................................................................................30 Ondas Eletromagnéticas ................................................................................30 Radio Enlace...................................................................................................31 Classificação Das Ondas De Rádio ...............................................................32 Módulo De Transmissão TWS-HS-2 .............................................................32 Módulo De Recepção RWS-371-6.................................................................33 Normas De Propagação De Ondas De Rádio ...............................................34

3 3.1 3.2

DESENVOLVIMENTO ...........................................................................................36 Descrição do Funcionamento ............................................................................36 Metodologia ........................................................................................................40 Pacote De Dados............................................................................................40 Protocolos De Dados......................................................................................40 Softwares Utilizados .......................................................................................43

3.2.1 3.2.2 3.2.3

3.2.3.1 Compilador PCWH versão 4 ..........................................................................43 3.2.3.2 Proteus 7 professional ....................................................................................44 3.2.3.3 Elipse SCADA .................................................................................................44 3.3 3.3.1 3.3.2 3.4 4 4.1 4.2 5 Rotinas ................................................................................................................45 Rotina Quadro De Comando ..........................................................................45 Rotina Central De Monitoramento .................................................................48 TELA DE SUPERVISÃO ....................................................................................49 SIMULAÇÃO E RESULTADOS ............................................................................59 CUSTO LEVANTADO PARA IMPLANTAÇÃO DO PROJETO ........................75 DIFICULDADES ENCONTRADAS ....................................................................75 CONCLUSÃO ........................................................................................................77

REFERÊNCIAS .............................................................................................................78 ANEXOS ........................................................................................................................80 ANEXO A – Tabela de códigos ASCII ..........................................................................81 ANEXO B – Diretivas geradas pelo software PCWH Compiler para a biblioteca quadro.h .........................................................................................................................81 ANEXO C – Código do quadro de comando desenvolvido no software PCWH Compiler – Arquivo quadro.c ........................................................................................82 ANEXO D – Diretivas geradas pelo software PCWH Compiler para a biblioteca central.h .........................................................................................................................88 ANEXO E – Código do quadro de comando desenvolvido no software PCWH Compiler – Arquivo central.c .........................................................................................88

14

1 INTRODUÇÃO Ao longo dos anos, a atividade de desenvolvimento de projetos industriais tem passado por inúmeras mudanças. Tais alterações são conseqüências da diversidade de instalações, equipamentos, edificações que surgem numa escala bastante grande. Os projetos são normalmente complexos e juntamente com esse grau de complexidade, novos modelos e técnicas estão surgindo, e

conseqüentemente, sendo aprimorados para o alcance do resultado operacional esperado. As organizações também estão encarando essa atividade de uma maneira responsável. Já há algum tempo vem se verificando uma tendência para a descentralização da inteligência e da capacidade de decisão dos componentes de sistemas de automação industrial. Estes sistemas são desacoplados em diferentes níveis de automação, cujos elementos inteligentes são interligados entre si através de redes industriais, sem perder as vantagens de uma supervisão e condução central do sistema como um todo. Esta descentralização traz consigo uma série de vantagens técnicas, tais como a diminuição da sobrecarga de uma unidade de processamento central, entre outros benefícios. Para se tornar uma automação, o projeto, pode utilizar os mais diversos componentes, entre eles, os Controladores Lógicos Programáveis (CLP´s) que são equipamentos destinados à execução de tarefas de intertravamento, temporização, contagem, operações matemáticas, supervisão em máquinas e processos, necessário controlando nas plantas e industriais facilitando completas, reduzindo o espaço de

instalações

significativamente

atividades

reprogramação de fábrica e de manutenção, assim como pode ser utilizado dispositivos de mais simples aquisição, mas que possibilita as mesmas ações de um CLP, no caso, os microcontroladores. Por sua vez, muitos projetos automatizados trazem consigo benefícios que vão alem da redução dos custos operacionais, existe a questão de comodidade e gerenciamento de tempo que um sistema automatizado com softwares de supervisão torna possível.

15

1.1 CONTEXTUALIZAÇÃO DO PROBLEMA Um reservatório pode ser designando também como tanque, que é uma espécie de unidade hidráulica de reunião, armazenamento e passagem de fluidos sob pressão atmosférica (figura 1), situados estrategicamente em um sistema de modo a atenderem algumas situações: a) Garantir o transporte do liquido com vazão e com a melhor condição de pressão de maneira constante; b) Garantir que o liquido terá sua quantidade sempre garantida no processo; c) Segurança e controle de alguns processos onde o nível do produto não pode ultrapassar determinados limites. Os reservatórios na grande maioria dos casos são utilizados pra estocagem de água para consumo humano. A necessidade de sistemas de tanque de água é tão antiga quanto o homem civilizado. Um reservatório de água, provêm o armazenamento de água potável para consumo, a sistemas de irrigação na agricultura, a supressão de fogo em sistemas anti-incêndio, a pecuária, a fabricação de produtos químicos, a preparação de alimentos, bem como muitas outras prováveis utilizações na área comercial e industrial.

16

Figura 1 – Reservatório de água Fonte: Saubertecnica.blogspot.com

Para o processo de supervisão, medição e controle, os tanques reservatórios utilizam um operador humano. Os reservatórios de fluidos, estando boa parte das vezes situados em locais de difícil acesso ou distantes, exigem mais tempo aos funcionários para monitorarem as regiões dos quais estão localizados, seja andando ou utilizando outro meio de transporte. A instalação de um sistema de automação pode garantir a comodidade e facilidade de gerenciamento de reservatórios. Com a utilização de dispositivos que transmitem e recebem dados via radio freqüência e o uso de CLP’s ou de microcontroladores, para controlar o nivelamento do liquido, há possibilidade de resolução do desconforto encontrado, quando comparado aos reservatórios operando de forma tradicional.

17

1.2 OBJETIVO

1.2.1 Objetivos Gerais Este trabalho tem como objetivo geral, desenvolver um projeto que utilize um microcontrolador para controle de nível em um reservatório, utilizando uma comunicação via rádio e fazer o interfaceamento entre o usuário e este sistema, com o auxilio de um programa supervisório. É visado transcrever os conhecimentos adquiridos na elaboração deste trabalho aderindo às normas para desenvolvimento de documentos acadêmicos. 1.2.2 Objetivos Específicos a) Estudar o princípio de funcionamento e utilização de radio de e

microcontroladores,

programação,

sistemas

supervisórios através de pesquisa; b) Projetar um sistema que utilize esses elementos para controlar de maneira automática o nivelamento num reservatório; c) Criar um protocolo de comunicação; d) Desenvolver um sistema de supervisão para visualizar as ocorrências do reservatório; e) Verificar a viabilidade do sistema utilizando microcontroladores; f) Comunicar dispositivos utilizando rádio freqüência;

g) Comunicar microcontrolador e computador usando porta serial; h) Confeccionar, programar e testar o sistema proposto; i) Favorecer no progresso das habilidades de escrita de artigos técnicos do autor; j) Divulgar o conhecimento adquirido, em sites especializados da área.

1.3 JUSTIFICATIVA Escolheu-se o tema pela afinidade e desejo do autor na elaboração

18

de sistemas com os elementos citados anteriormente, visando estudar e conhecer uma parte muito importante da automação, a relação entre dispositivos, softwares e linguagem de programação; utilizado em plantas e processos de automação industrial, por profissionais da automação industrial, como técnicos e tecnólogos. Levou-se em consideração também a disseminação do emprego desses elementos nas plantas industriais, instigando a busca por novos adeptos dessas tecnologias. O intuito da pesquisa é desenvolver esse protótipo de supervisão e comunicação RF de baixo custo que possa atender tanto empresas com alto poder aquisitivo, como pequenas empresas e/ou quaisquer instalações que necessitem de um instrumento para medição de nível, mas não possuam capital disponível para investir, garantindo a automatização com eficiência de um reservatório sem a necessidade de grandes investimentos. 1.4 ORGANIZAÇÃO DO TRABALHO Este trabalho de conclusão de curso está organizado em capítulos, no primeiro capitulo serão descritas as características gerais, uma idéia geral de todo o trabalho. No capitulo 2, é descrito teorias relevantes em relação ao tema como o controle de processos, microcontrolador, rádio freqüência, sistema supervisório entre outros. O Capitulo 3 deste trabalho trata da descrição do funcionamento, métodos utilizados para desenvolvimento do sistema baseado na pesquisa do capitulo dois, este capítulo relata os passos seguidos para o desenvolvimento de tudo o que é proposto utilizando materiais de fácil aquisição e de baixo custo. Os testes, a simulação do sistema usando softwares para automação, a confecção e os resultados obtidos durante as simulações de comunicação entre o microcontrolador, computador, transmissor e receptor de radio, serão relatados no capitulo 4. No capitulo 5 apresenta-se as conclusões deste trabalho, encerrando com as referências bibliográficas dos materiais utilizados para o desenvolvimento do mesmo e alguns documentos anexados.

19

2 FUNDAMENTAÇÃO TEÓRICA

2.1 SISTEMA DE CONTROLE DE PROCESSOS Um sistema regulador automático, no qual a saída é uma variável, tal como temperatura, pressão, fluxo de líquido, pH, condutividade, velocidade, entre outros; é denominado um Sistema de Controle de Processo. Faz-se necessário um domínio muito rígido para o controle da variável, ou seja, para que o processo não seja deteriorado por problemas técnicos ou parado por ausência de insumos, a variável do processo deve ser constantemente monitorada de maneira eficiente e precisa. O Controle de processo é exaustivamente aplicado na indústria, pois sempre existe a necessidade de atuar sobre uma determinada atividade mesmo que os meios externos tentem desviá-lo de uma condição que deveria ficar em estado estacionário ou adequado à proposta da planta industrial. 2.1.1 Sistemas De Controle Em Malha Fechada São sistemas de controle com realimentação. Em um sistema de controle em malha fechada o sinal de saída é comparado com o sinal de entrada, de maneira a trazer a saída do sistema a um valor desejado implicando no uso de ação de controle a fim de reduzir o erro (desvio) do sistema, tornando o sistema mais preciso e fazendo com que ele reaja a perturbações externas (figura 2). O emprego da realimentação e do controle em malha fechada permite as seguintes: a) Aumentar a precisão do sistema; b) Rejeitar o efeito de perturbações externas; c) Melhorar a dinâmica do sistema, estabilizando-o de maneira natural a instabilidade encontrada na configuração desse sistema quando em malha aberta; d) Reduzir a sensibilidade do sistema às variações dos parâmetros do processo, ou seja, tornar o sistema mais robusto.

20

Figura 2 - Malha Fechada Fonte: Autoria própria

2.1.2 Sistemas De Controle Em Malha Aberta São aqueles sistemas em que consiste a aplicação de um sinal de controle pré-determinado pela entrada, de maneira que a saída não tenha nenhum efeito sobre a ação de controle do processo, a saída não é medida nem realimentada para comparação com a entrada, a precisão do sistema depende de uma calibração com observado na ilustração 3. Na presença de perturbações, um sistema de controle em malha aberta não desempenhará a tarefa desejada.

Figura 3 - Malha Aberta Fonte: Autoria própria

2.1.3 Processo Contínuo Relaciona-se a sistemas em que as variáveis precisam ser monitoradas e controladas sem interrupção cuja produção requer que determinadas quantidades de matérias-primas sejam combinadas apropriadamente durante um certo período de tempo. São exemplos a fabricação de colas ou de alimentos, em que a mistura de insumos, em proporções calculadas, precisa ser mantida aquecida

21

durante um tempo preestabelecido. Também podem ser classificadas nessa categoria as indústrias farmacêutica, química, de bebidas, de produtos de limpeza, de alimentos, cerâmica, siderúrgicas e de embalagens. No Processo Contínuo, as variáveis predominantes são analógicas e exigem controle de malha fechada através de algoritmos especialistas e/ou de controle PIDs. 2.1.4 .Processo Discreto Tem relação com à fabricação de produtos ou peças que podem ser contados como unidades individuais e na qual predominam as atividades discretas. Normalmente condicionadas à ocorrência de eventos, como detecção de presença, estado ligado ou desligado, fim-de-linha São exemplos desse tipo de processo a produção de placas de metal estampadas, de automóveis, aviões, bens de capital, brinquedos, eletroeletrônicos, computadores, vestuário, tijolos, pneus e calçados. Controle de processos discretos é a implementação de uma operação lógica e/ou seqüência de eventos através do qual o processo é levado a um estado desejado. 2.2 CONCEITUAÇÃO DA VARIÁVEL NÍVEL O nível é uma das variáveis mais encontradas em aplicações industriais. Sua definição é simples, é uma referência de posição determinada entre dois meios, geralmente líquidos, porém, em alguns casos, pode ser sólidos, vapores ou gases ou até mesmo a combinação entre esses estados físicos (ALVES, 2005). Sua medição pode ser feita de inúmeras maneiras, porém há alguns aspectos que precisam ser levados em consideração como: a) As características exigidas da aplicação; b) A precisão desejada; c) O tipo de produto; d) Custos ou outros detalhes que sejam relevantes na

implementação do sistema. Suas formas de aferimento são encontradas nas seguintes constituições: a) Medição direta: Que é a medição que tomamos como referência

22

a posição do plano superior da substância medida. Neste tipo de medição podemos utilizar réguas ou gabaritos, visores de nível, bóias ou flutuadores. b) Medição de nível indireta: Neste tipo de medição, o nível é medido de modo que sejam utilizadas grandezas físicas como parâmetros. Essas grandezas podem ser pressão, empuxo, radiação e algumas propriedades elétricas; tensão e corrente. c) Medição de nível Descontínua: Medidores são empregados para fornecer indicação apenas quando o nível atinge certos pontos desejados como, por exemplo, em sistemas de alarme e segurança de nível alto ou baixo. 2.2.1 Sensores De Nível Do Tipo Eletrodo De acordo com Thomazini e Albuquerque (2007), os eletrodos metálicos são utilizados em aplicações do qual o material no reservatório seja condutivo. No momento em o liquido atinge os dois elementos, o eletrodo de referência e o eletrodo marcador de nível, o liquido fecha um circuito enviando um sinal elétrico para o circuito de controle (figura 4). Normalmente utiliza-se esse tipo de circuito para proteções contra transbordamento, controle de nível máximo e mínimo.

Figura 4 – Sensores de níveis do tipo eletrodo Fonte: Vinicius Brasil

Porem esse circuito nos revela uma saída analógica, para uma aplicação que necessite de uma saída digital o seguinte circuito eletrônico deve ser

23

montado, ligação esta demonstrada na figura 5.

Figura 5 – Circuito eletrônico acoplado aos eletrodos Fonte: Autoria própria

.

Esse circuito opera da seguinte maneira: cada eletrodo será acoplado no lugar das chaves, o eletrodo de referência estará ligado diretamente no GND (Ground ou terra), no momento em que o líquido estiver sobre ele e o próximo eletrodo, o transistor entrará no regime de funcionamento na região de saturação fazendo com que o led acenda, indicando que a corrente do emissor esta indo para o coletor. O capacitor garante que não haverá nenhum sinal de tensão indo até que seja armazenada a tensão necessária para manter um fluxo uniforme para o resistor e o diodo, que possibilita uma queda de tensão e filtra os sinais de carga negativa deixando apenas o fluxo positivo atravessar, mandando assim um sinal de tensão

24

compatível com circuitos integrados, tudo isso, se a tensão do emissor estiver de acordo com a tensão destes dispositivos. 2.3 COMUNICAÇÃO DE DADOS Tafner, Loesch e Stringari (1996), caracterizam como comunicação de dados a troca de informações entre dois ou mais elementos e sendo originado na comunicação de dados natural (voz). Esses autores conceituam ainda os principais aspectos da comunicação como: fonte de transmissão (transmissor), informação a ser transmitida, canal ou meio de comunicação e destino da informação transmitida (receptor). Eles alegam que a mensagem em sistemas de comunicação baseiase no sistema binário, onde um bit é a menor unidade de representação, usado para descrever as condições de existência de dois estados: ligado (“1”) ou desligado (“0”). Um conjunto de bits representa uma letra, um número ou um símbolo especial, quando se usa um padrão, no caso, o código padronizado ASCII. De acordo com Tafner, Loesch e Stringari (1996), o código ASCII utiliza sete bits na sua representação o que resulta em 128 (2 7) combinações possíveis, sendo este um dos códigos de representação mais utilizados na comunicação de dados digitais. 2.4 SISTEMA SUPERVISÓRIO (SCADA) SCADA é um acrônimo derivado do inglês para Supervisory Control And Data Acquisition transcrito em português como, Sistema de Supervisão e Aquisição de Dados, ou simplesmente conhecido como sistema supervisório. Segundo Boyer, o SCADA permite a um usuário coletar e enviar de forma limitada, dados entre uma única ou diversas instalações, distantes uma das outras. Ele foi concebido para monitorar e controlar grandes processos Um sistema supervisório, é um programa que tem por objetivo ilustrar o comportamento de um processo através de figuras e gráficos, tornando-se assim, uma interface objetiva entre um operador e o processo, desviando dos algoritmos de controle. O software de supervisão é o responsável pela aquisição de dados diretamente dos dispositivos controladores para o computador, pela sua organização, gerenciamento e tratamento dos dados.

25

O supervisório deve permitir que estratégias de controle e supervisão que possam ser desenvolvidas utilizando-se de funções avançadas, com telas gráficas possibilita o interfaceamento homem-máquina, facilitando a

visualização e compreensão da planta industrial e o controle das funções do processo. 2.4.1 Propósito Do Sistema SCADA O SCADA permite que um operador, de uma estação central ao processo distribuído em larga escala, fazer mudanças de valores em pontos remotos, para abrir ou fechar válvulas, e adquirir informações sobre medidas de um processo. Para locais com dimensões extensas, os benefícios em torno da redução de custos de procedimentos rotineiros de visita para monitorar e controlar processos não pode ser mensurado, ainda mais se forem locais de difícil acesso que necessitem de transporte especial. Os reais propósitos de um sistema SCADA estão em permitir que o usuário estenda suas habilidades de ver o que está ocorrendo e de fazer as mudanças necessárias para o processo trabalhar conforme o designado, tudo isso em tempo real, reduzindo assim os custos de operação. 2.5 MICROCONTROLADORES De modo inicial as tarefas de comando e controle de máquinas e processos industriais eram feitas por relés eletromagnéticos especialmente projetados para este fim. O microcontrolador é um circuito integrado de custo baixo que contém na sua síntese: memória programável somente para leitura, que armazena permanentemente as instruções programadas; memória RAM, que trabalha armazenando “variáveis” utilizadas pelo programa; CPU, que interpreta e executa comandos desse programa. Existem também dispositivos de entradas e saídas, que tem a finalidade de controle de dispositivos externos ou de receber sinais pulsados de chaves e sensores. Esses componentes se encontram num mesmo circuito integrado. Os microcontroladores, de modo geral, têm tido destaque

considerável no desenvolvimento de novas tecnologias pela sua dinâmica nas respostas solicitadas, bem como pela facilidade de programá-los, sobretudo quando

26

se utiliza alguma linguagem de programação de alto nível, como a linguagem C utilizada neste trabalho. A escolha do microcontroladores PIC foi baseada na sua fácil aquisição, baixo custo e serem programados em C através do compilador PIC C Compiler. Outras vantagens da utilização dos microcontroladores PIC incluem: Menor ocupação de espaço, Potência elétrica requerida menor, reutilização programável, se ocorrerem mudanças de requisitos de controle, Maior confiabilidade; Permite a interface com CLPs e microcomputadores. 2.5.1 Histórico Segundo Sousa (2001) O primeiro microcontrolador foi lançado pela Texas Instruments em 1972, o TMS 1000 de 4 bits, que inclui RAM, ROM e suporte a I/O em um único chip, permitindo o uso sem qualquer outro chip externo. Em 1977 a Intel lança o microcontrolador 8048, que possuía memória de programa externa (ROM), e memória de dados interna de 256 kbytes (RAM). 2.5.2 Microcontrolador PIC16F877A O PIC16F877A é um microcontrolador CMOS de 14 bits e 40 pinos Fabricado pela Microchip Technology, que contém as seguintes características (MICROCHIP, 2003): a) 35 instruções; b) Clock de 20 MHz; c) Memória Flash de 2.048 x 14 bits, para armazenamento do programa; d) Memória RAM de 224 bytes, para registradores e variáveis de programa; e) Memória EEPROM de 128 bytes, para dados não voláteis; f) Interrupção externa, do timer, de transição de bits da porta B e de término de escrita na EEPROM; g) 16 registradores especiais; h) 8 níveis de pilha; i) j) Modos de endereçamento direto, indireto e relativo; 16 pinos de entrada e saída em 2 portas de comunicação;

27

k) l)

2 comparadores analógicos; 3 timers;

m) Saída com modulação da largura de pulsos; n) Watchdog Timer (Temporizador que dispara um reset no PIC). o) Funcionamento com Alimentação entre 2V e 5,5V

Na concepção deste trabalho, o PIC16F877A (Figura 6) será utilizado para a coleta de informações a respeito do nível e estado da bomba, transmissão e recepção dados via rádio freqüência e comunicação do computador pela porta serial. A imagem a seguir demonstrará a estrutura dos pinos desse microcontrolador.

Figura 6 - Diagrama de pinos do PIC16F877A Fonte: Microchip

2.5.3 Linguagem C Para programar microcontroladores existem algumas linguagens de programação compatíveis desde que atendam as funcionalidades de cada microcontrolador e conversão em linguagem. A linguagem de programação C é um tipo de linguagem usada pra inúmeros propósitos, bem estruturada ela é pertencente a uma família de linguagens cujas características são: portabilidade, modularidade, compilação separada, recursos de conversão para baixo nível, geração de código eficiente, confiabilidade,

28

regularidade, simplicidade e facilidade de uso, consagrando-se uma das linguagens mais populares do mundo, pois seu uso varia desde a criação de banco de dados a aplicações mais simples. O trabalho com essa linguagem obedece a uma seqüência de operações para criação de um programa executável que, na maioria das vezes, está codificada em linguagem de baixo nível, suas etapas de operação são: Escrita do módulo fonte em um editor de textos; Acionamento de um compilador que traduz a codificação do usuário para uma forma de linguagem de nível inferior; Geração do executável criado pelo lincador. 2.6 PADRÃO RS-232 Zanco (2006) descreve o RS-232 como um padrão de nível físico que teve primeira versão publicada no início da década de 60 pelo órgão EIA (Eletronic Industries Association). O padrão RS-232 define características

mecânicas, elétricas e funcionais para a comunicação serial de dados entre um Equipamento Terminal de Dados (DTE) e um Equipamento de Comunicação de Dados (DCE). O comprimento máximo do cabo que interliga o DTE ao DCE não é definido pelo RS-232, entretanto, por causa da capacidade limitação da capacitância de 2500pF e com a impedância da carga variada entre 3 e 7 Kilo ohms, limita-se a distância do cabo em 20 metros. Suas características serão demonstradas na tabela abaixo: Tabela 1 - Características do padrão RS-232
ESPECIFICAÇÕES Modo de operação Numero total de drivers e receivers Comprimento da rede Taxa de transmissão Faixa de tensão do circuito de saída Nível de tensão do circuito de saída – 2 nós sob carga Nível de tensão do circuito de saída sem carga Impedância do circuito de entrada e saída (em Ohms) Sensibilidade do circuito de entrada Fonte: Zanco CARACTERISTICAS Ponto a ponto 1 Driver – 1 receiver 20 metros 20Kbps Até 25V Entre 5V e 15V Até 25V 3k a 7k Entre 3V

O padrão RS-232 não exige o protocolo de comunicação utilizado,

29

entretanto, ele pode suportar tanto a comunicação serial síncrona quanto a comunicação serial assíncrona. A comunicação assíncrona universal é a mais usada pelo padrão RS-232 por não necessitar de um clock no sinal da transmissão.

2.6.1.1 CI MAX-232 O MAX-232 é o dispositivo que fará a conversão de tensão entre o sinal emitido pelo microcontrolador da área onde se encontrará o quadro de comandos para os dispositivos RF, e no supervisório, entre o sinal do RF para o microcontrolador e o computador. O MAX 232 possui o seguinte esquema mostrado na figura 7.

Figura 7 – Configuração dos pinos e circuito de operação do MAX232 Fonte: Maxim

O cabo serial ligado ao computador é composto de três fios (RX, TX e GND). Os pinos 2 e 3 do conector DB9 serão conectados através do cabo serial respectivamente aos pinos TX (que transmite os dados) e RX (que recebe os dados) dos PIC’s. O pino 5 (GND - terra) do conector é ligado à fonte de alimentação do circuito. Os capacitores eletrolíticos complementaram o circuito inversor interno que produz as tensões positivas e negativas utilizadas no padrão RS-232. É relevante salientar quanto à correta ligação dos cabos, pois uma vez que os cabos de recepção e transmissão sejam trocados, será comprometido todo o sistema. Essa

30

ligação é visualizada a partir da figura 8.

Figura 8 – Ligação dos cabos no conector DB9 Fonte: Autoria própria

2.7 SISTEMAS DE RADIO

2.7.1 Equipamentos De Radio Os equipamentos de rádio são usualmente empregados com a intenção de transmitir ou receber mensagens e quaisquer tipos de informações por intermédio de ondas eletromagnéticas. Os equipamentos de rádio mais comuns são os transmissores, os receptores e/ou a combinação de ambos

(NASCIMENTO,2000). 2.7.2 Ondas Eletromagnéticas A energia enviada pelas antenas transmissoras e captada pelas antenas receptoras é transportada por ondas eletromagnéticas. Seu nome origina-se do fato de que são compostas por campos elétricos e magnéticos variáveis e se propagam no vácuo à velocidade de 300.000 quilômetros por segundo. A maneira como os campos elétrico e magnético se orientam no espaço é chamada polarização. Se o campo elétrico é paralelo à superfície da Terra, dizemos que a polarização é horizontal; se o campo elétrico está em plano perpendicular à superfície da Terra, a polarização é vertical. Podemos orientar antenas verticalmente ou horizontalmente. Conceito: OEM é uma perturbação física composta por um campo

31

elétrico (E) e um campo magnético (H) variáveis no tempo, perpendiculares entre si, capazes de se propagar no espaço. Freqüência: número de oscilações por unidade de tempo (Hz). Comprimento de onda: distância percorrida pela onda durante um ciclo. É definido pela velocidade de propagação dividida pela freqüência. Ver fórmula ao lado. 2.7.3 Radio Enlace Podemos definir como rádio enlace o conjunto de equipamentos necessários para estabelecer comunicação por rádio entre dois pontos. Os elementos básicos para a implementação de um rádio enlace são: a) Rádio transmissor (TX); b) Linha de transmissão da estação transmissora; c) Antena transmissora; d) Meio de propagação; e) Antena receptora; f) Linha de transmissão da estação receptora;

g) Rádio Receptor (RX). A figura abaixo ilustra com maiores detalhes o arranjo estrutural de um radio enlace.

Figura 9 – Estrutura do rádio enlace Fonte: Autoria própria

No radio enlace ponto a ponto é usualmente empregado o sistema Simplex, ou seja, transmissão de dados é feita de forma que um dispositivo transmita, e depois receba dados de retorno.

32

2.7.4 Classificação Das Ondas De Rádio As ondas de rádio são energias propagadas através de um meio que no caso é o meio aéreo (atmosfera), sua diferenciação é atribuída a partir de sua faixa de freqüência de operação. A tabela a seguir demonstrará essas características: Tabela 2 – Classificação das ondas de rádio
Sigla VLF LF MF HF VHF UHF SHF EHF Freqüência Muito baixa Baixa Media Elevada Muito alta Ultra elevada Super elevada Extremamente elevada Comprimento da onda 10 a 100Km 10 a1Km 100 a 1000m 10 a 100m 1 a10m 10 a 100cm 1 a 10cm 0,1 a 1cm Faixa de freqüência 3kHz a 30kHz 30kHz a 300kHz 300kHz a 3MHz 3MHz a 30MHz 30MHz a 300MHz 300MHz a 3GHz 3GHz a 300GHz 30GHz a 300GHz

Fonte: Miyoshi e Sanches

2.7.5 Módulo De Transmissão TWS-HS-2 A transmissão dos dados via rádio freqüência é feita pelo TWS-HS-2 da Wenshing®©, figura 10. Na existência da necessidade de propagação das ondas de rádio a um alcance maior, este módulo transmissor de rádio freqüência precisa de uma antena para essa propagação. O TWS, opera a uma freqüência típica de 433,92MHz, suporta uma tensão de 0,3V até 12V, sua tensão de operação é de 5V e trabalha a uma temperatura mínima de -20ºC e máxima de até 85ºC.

33

Figura 10 – Módulo TWS-HS-2 Fonte: Wenshing

A tabela abaixo mostra a função de cada pino do transmissor. Tabela 3 – Pinos do TWS
PINO 1 2 3 4 5 Fonte: Wenshing FUNÇÃO Enable/ Disable Data Vcc Gnd Antenna

A função Enable/Disable representa o pino que habilitará ou não a transmissão do módulo, Data será a informação a ser transmitida, Vcc é a tensão de operação do módulo (5V), respectivamente o Terra e a antena são identificados pelos pinos 4 e 5.

2.7.6 Módulo De Recepção RWS-371-6 A recepção dos dados via rádio freqüência será feita com a utilização do módulo RWS-371-6 da mesma fabricante do transmissor mencionado anteriormente na figura 10. Este módulo receptor admite e percebe as oscilações de onda transmitida, decodificando tais oscilações em sinais de dados, realizando a recepção desses dados numa faixa de freqüência que varia entre o mínimo de 433,42MHz e no máximo 434,42MHz, normalmente trabalhando com uma freqüência típica de 433,92MHz, compatível com módulo TWS-HS-2. O RWS suporta uma tensão de 5V (figura 11).

34

Figura 11 - Módulo RWS-371-6 Fonte: Wenshing

A tabela 4 expõe a função de cada pino do receptor. Tabela 4 – Pinos do RWS
PINO 1 2 3 4 5 6 7 8 Fonte: Wenshing FUNÇÃO Gnd Digital Output Linear Output Vcc Vcc Gnd Gnd Antenna

Como visualizado anteriormente as funções Gnd, Vcc e Antenna, respectivamente representam terra, tensão de operação e antena (nesse caso de recepção). A função Digital Output e Linear Output designam reciprocamente as saídas de sinais digitais e de sinais analógicas, embora para a aplicação do projeto, idealiza-se utilizar a saída digital. 2.7.7 Normas De Propagação De Ondas De Rádio De acordo com os autores MIYOSHI e SANCHES (2002), A faixa de freqüência reservada a qualquer tipo de sistema de comunicação é chamada de canal de rádio freqüência. Para a não ocorrência de interferências na recepção, é de suma importância, que não existam dois sinais compartilhando o mesmo canal, em uma mesma região. Para regularizar com o mínimo de interferência, a operação dos

35

sistemas de comunicação via radio, existem órgãos, em todos os países, encarregados da tarefa de controlar a ocupação do espectro de rádio freqüência. Tais órgãos são, quase todos, membros do Comitê Consultivo Internacional de Radiocomunicações (CCIR), com sede da Suíça. O órgão responsável por este serviço no Brasil é a Agência Nacional de Telecomunicações (ANATEL). A freqüência de trabalho a ser utilizada pelos módulos de recepção e transmissão de dados, mencionados a seguir, não necessita de licença para o funcionamento por se tratar de uma banda de uso livre para aplicações industriais, cientificas e medicas, a faixa ISM de freqüências, os valores reservados para esse fim são 433MHz, 900MHz, 1.8GHz, 2.4GHz e 5.8GHz.

36

3 DESENVOLVIMENTO Nessa parte do trabalho, começará a ser mostrada como se idealizou a parte física. Serão detalhadas quais estruturas estão interconectadas, e como será feita a comunicação de dados entre estes dispositivos. 3.1 DESCRIÇÃO DO FUNCIONAMENTO Abaixo, segue uma ilustração em forma de diagrama de blocos, a título de generalização, para informação da ligação entre as partes do circuito.

Figura 12 – Arranjo físico proposto ao sistema. A) representa quadro de comando B) representa a central de monitoramento. Fonte: Autoria própria

Basicamente o sistema de controle de nível é composto por sensores, microcontroladores, onde serão localizadas as lógicas de acionamento ou interrupção, bomba, módulo de transmissão e recepção de radio freqüência, antena retransmissora, transdutor MAX 232 e um computador onde será feita a supervisão do reservatório. Inicialmente, ao acionar o sistema, será feita a leitura dos sinais discretos dos sensores, cada um dos sensores N1, N2 e N3, representa respectivamente os níveis baixo, médio e alto. Os sensores serão estrategicamente posicionados nos pontos que indiquem 10%, 50% e 100% do total de volume no reservatório, são demonstrados os níveis a partir da figura 13.

37

Figura 13 – Níveis do reservatório Fonte: Autoria própria

No caso deste sistema eletrodos de nível serão utilizados como sensores, eles serão responsáveis pela leitura do nível, interpretando assim a presença ou ausência do líquido. Tal leitura será constituída de forma binária, ou seja, 0 e 1. Será dado 1 no momento em que há presença do líquido e 0 para a ausência do líquido, estas leituras são analisadas constantemente pelo

microcontrolador de maneira que ele interprete os dados e tome a decisão necessária. As ações suportadas foram definidas como sendo o acionamento, o desligamento ou manter a bomba num estado estacionário. Qualquer que seja o caso, o estado da bomba também será analisado pelo microcontrolador. Desenvolveu-se uma tabela verdade que contempla a operação da bomba.

38

Tabela 5 – Lógica de interpretação da operação da bomba
Sensor N3 Ativado Ativado Ativado Ativado Desativado Desativado Desativado Desativado Fonte: Autoria própria Tabela verdade do Sistema Sensor N2 Sensor N1 Ativado Ativado Ativado Desativado Desativado Ativado Desativado Desativado Ativado Ativado Ativado Desativado Desativado Ativado Desativado Desativado Resultado Desligar Bomba Erro (Aviso) Erro (Aviso) Erro (Aviso) Manter Ativo Sistema Erro (Aviso) Manter Ativo Sistema Ligar Bomba

Na ocasião de Erro (Aviso) será demonstrada posteriormente uma tabela que revelará as mensagens ao sistema supervisório na seção do trabalho Tela de Supervisão. Para a análise dos sinais de dos sensores e da bomba, foi desenvolvido o código mostrado na figura 14.

Figura 14 – Código de verificação de acionamento de sensores e bomba Fonte: Autoria própria

Foi criada uma função ent_nivel_bomba(), como dito anteriormente, ela é responsável por verificar os estados dos níveis e da bomba. Após a averiguação feita pelo microcontrolador, níveis e estado da bomba, serão armazenadas informações acerca do comportamento do sistema e posteriormente as mesmas serão enviadas via módulo de transmissão, o TWS-HS-2. Num terceiro momento o sinal enviado pelo transmissor será captado pelo módulo de recepção, o RWS-371-6, que conectado ao segundo

39

microcontrolador fará com que as informações oriundas do dispositivo responsável pela monitoração dos níveis e do estado da bomba (central de observação ou ambiente de supervisão), sejam redirecionadas através da porta serial do computador. Posteriormente a esses acontecimentos, os dados redirecionados ao computador serão interpretados por um programa supervisório, desenvolvido no software Elipse SCADA, como os dados dispostos na figura a seguir.

Figura 15 – Programa supervisório de monitoramento Fonte: Autoria própria

As informações sobre os eventos no supervisório serão explanados na seção Tela de Supervisão.

40

3.2 METODOLOGIA

3.2.1 Pacote De Dados Para a comunicação dos dispositivos foi criado um protocolo para a comunicação dos dados. O pacote de dados desenvolvido foi baseado na utilização do código de caracteres ASCII, a estrutura do telegrama a ser enviado está designada na figura 16.

Figura 16 – Pacote de dados Fonte: Autoria própria

Cada parte desse telegrama é composto por 1 Byte, o START BYTE, é o elemento que representa o Byte de sincronização iniciando a mensagem no sistema, sem ele nenhuma mensagem é recebida tanto pelo quadro de comando quanto pela central de monitoramento. O Byte DADOS, alocará a informação sobre os estados dos níveis e da bomba pelo quadro de comando, outrora ele será responsável em concentrar a informação enviada pela central de monitoramento, que indicará ou não ações no quadro de comando. O Byte de finalização da mensagem, STOP BYTE, ira assegurar a integridade das informações do pacote enviadas pelo sistema. Os caracteres que formam o START BYTE e o STOP BYTE são respectivamente os caracteres “#” (sustenido) e “*” (asterisco), da tabela ASCII, seus valores no programa desenvolvido na linguagem C, para o “#” é o numero 35 e para o “*” seu numeral equivalente é o 42. 3.2.2 Protocolos De Dados Para que haja comunicação entre dispositivos, deve ser estabelecido um conjunto de regras para garantir a ordem na transferência de dados de maneira

41

eficiente e segura. A esse conjunto dá-se o nome de protocolo. Cada equipamento devido suas características poderá exigir um protocolo diferente. Para ser um protocolo, as regras de transferências de dados devem estabelecer inicio e fim de conexões lógicas entre os dispositivos, assegurar que as informações sejam transferidas sem erros e ter procedimentos para requisitar reenvio ou recuperar as mensagens em caso de erros. Para o devido fim, o protocolo de dados projetado segue a seguinte regra: Verificar o START_BYTE e o STOP_BYTE. Todas as informações que não contiverem esses dois Bytes serão descartadas pelos microcontroladores da central e do quadro de comando. O código desenvolvido que possibilitou essa validação é representado pela figura 17.

Figura 17 – Código para validação de dados Fonte: Autoria própria

Após as verificações do START_BYTE e STOP_BYTE, o código return dados_rx[1], envia o byte DADOS. Caso não sejam verídicas as informações será retornado um caracter de erro, “É”, através do código fputc(144, quadro),

42

retornando ao ponto inicial de verificação do START_BYTE, utilizando o código goto volta, na ocorrência de algum erro na leitura do STOP_BYTE o mesmo procedimento relatado acima ira acontecer. O byte DADOS, como dito anteriormente, irá conter todas as informações sobre os estados dos níveis, estado da bomba, comandos de acionamento automático e manual, alem de indicar a interrupção de todo o sistema. Como explicado em certas regiões deste documento, todo o pacote de dados é baseado na tabela ASCII de caracteres, para ilustrar os valores recebidos e enviados neste sistema foi desenvolvida a tabela 6; Tabela 6 – Equivalência entre caracteres X decimal baseado na tabela ASCII
CARACTER 0 1 2 3 4 5 6 7 8 9 : ; < = > ? É # * p @ % Fonte: Autoria própria Correspondente em decimal 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 144 35 42 112 64 37

Será explicado sucintamente a utilização dos caracteres “p”, “@” e “%”, num próximo momento do trabalho.

43

3.2.3 Softwares Utilizados

3.2.3.1 Compilador PCWH versão 4 O compilador PCWH versão da CCS (Custom Computer Services) consiste em um ambiente integrado de desenvolvimento (IDE) para sistema operacional Windows, a qual suporta toda a linha de microcontroladores PIC (séries PIC12, PIC14, PIC16 e PIC18), o qual faz a compilação de um código escrito em linguagem de programação C, gerando assim um código na linguagem de máquina. Na realidade, o PCWH é dividido em três módulos compiladores independentes: a) PCB: para dispositivos de 12 bits (series PIC 12 e PIC 16c5x); b) PCM: para dispositivos de 14 bits (series PIC 14000 e PIC 16xXXX); c) PCH: para dispositivos de 16 bits (series PIC 18). Na figura 18 apresentada logo abaixo, pode se verificar a tela do CCS com uma aplicação de exemplo.

Figura 18 – Tela do Compilador PCWH com um programa em linguagem C Fonte: Autoria Própria

44

3.2.3.2 Proteus 7 professional O Proteus 7 professional é um pacote de softwares da área de engenharia usada para a simulação de circuitos eletrônicos, que possibilita desenvolver e testar modelos físicos antes da confecção de um protótipo e ajuda na montagem da placa de circuito impresso. Tal ferramenta será utilizada para testar circuito, possibilitando assim garantir a integridade desse o circuito e de todo o projeto assim como seus componentes eletrônicos, através do Proteus será possível verificar o funcionamento do projeto e seus possíveis erros. A figura abaixo mostra o software Proteus 7 Professional utilizando o ambiente ISIS que faz a construção e simulação dos circuitos, com um circuito de exemplo.

Figura 19 – Tela do ambiente ISIS de simulação do Proteus circuito de exemplo Fonte: Autoria própria

3.2.3.3 Elipse SCADA O Elipse SCADA é uma poderosa software para o desenvolvimento de sistemas de supervisão e controle de processos. Ele possui diversos recursos que facilitam e agilizam a tarefa de desenvolvimento das mais diversas aplicações. Configurável pelo usuário permite a monitoração de variáveis em tempo real, através

45

de gráficos e objetos que estão relacionados com as variáveis físicas em campo, com possibilidade de fazer acionamentos e enviar ou receber informações para equipamentos de aquisição de dados. Além disso, possui exclusiva linguagem de programação, o Elipse Basic, possibilitando automatização de diversas tarefas a fim de atender as necessidades específicas de um determinado processo. A figura 20 demonstra a tela do Elipse SCADA com uma aplicação de exemplo

Figura 20 – Tela inicial do Elipse SCADA Fonte: Autoria própria

3.3 ROTINAS Uma rotina é um conjunto de instruções aglutinadas que possibilitam a execução de uma tarefa pré-definida. Demonstra-se nesta seção do trabalho algumas rotinas criadas para os microcontroladores responsáveis pelas ações do quadro de comandos e da central de monitoramento. 3.3.1 Rotina Quadro De Comando As figuras 21 e 22 exibem um fluxograma e parte do código

46

desenvolvido pelo programa PCWH Compiler que ordena as instruções que o quadro de comando irá desempenhar.

Figura 21 – Fluxograma representativo do Quadro de comandos Fonte: Autoria Própria

47

Figura 22 – Código das rotinas do Quadro de comando Fonte: Autoria própria

Inicialmente a primeira rotina a ser executada pelo programa é a rotina ent_nivel_bomba(), atribuída à variável niveis_e_bomba, que tem como responsabilidade a leitura dos níveis e o estado da bomba. Posteriormente a isso uma segunda rotina é executa, envia_pacote(niveis_e_bomba), que enviará as informações sobre os estados dos elementos citados anteriormente à central de monitoramento. Logo após isso é necessário a indicação pela central da ação a ser tomada para a manifestação ou não da próxima rotina do sistema, a rotina atribuída à variável comando, que possibilita isso é recebe_comando(). Usou-se a sub-rotina fputc(comando, quadro), para verificar em testes se o caracter que representa a ação enviada pela central de monitoramento esta sendo recebido realmente. Num quinto momento entra-se nas rotinas de verificação do que foi enviado pela central. Os caracteres “p”, “@” e “%”, indicam de maneira respectiva se o sistema operará automaticamente, se será operado manualmente, ligando a bomba ou se o sistema permanecerá desativado, como observado na figura anterior. Na ocasião de operar no modo automático, será iniciado uma nova rotina, compara_dados(), que também é atribuída a uma variável,

niveis_e_bomba_int. Essa rotina tem como responsabilidade o controle da bomba, acionando ou desacionando-a em relação aos sinais dos níveis apresentados.

48

3.3.2 Rotina Central De Monitoramento As figuras 23 e 24 revelam um fluxograma e uma porção do código desenvolvido pelo programa PCWH Compiler que ordena as tarefas que a central de monitoramento irá desempenhar.

Figura 23 – Fluxograma representativo da Central de monitoramento Fonte: Autoria Própria

49

Figura 24 – Código das rotinas da Central de comando Fonte: Autoria própria

A rotina recebe_dados_quadro é a primeira a ser executa, nela as informações vindas do quadro de comando são interpretadas e depois são atribuídas na variável info. Num segundo momento estas informações são repassadas para o computador, através da rotina envia_dados_PC, pela porta serial, tais informações serão visualizadas no software Elipse SCADA, no qual estará o sistema de supervisão. Posteriormente, após a confirmação do usuário no supervisório, será enviado um caracter de comando pela saída serial, e o mesmo será capturado pela rotina recebe_dados_PC, que atribuído a variável comando, será finalmente redirecionado para o quadro de comando. 3.4 TELA DE SUPERVISÃO A priori teve-se a preocupação de encontrar uma maneira para identificar as informações vindas do microcontrolador pela entrada serial do computador. Anteriormente definiu-se que as informações a serem transmitidas e recebidas seriam baseadas na tabela ASCII de caracteres, porem o Elipse não possui suporte para manipular tags com esse tipo de dados. Necessitou-se então de um componente que complementa-se as capacidades de trabalho do Elipse SCADA, para estabelecer uma eficiente comunicação com o MAX-232 e decodificação dos caracteres da tabela ASCII. Esse componente foi o Driver ASCII.dll versão 1.08. A figura 25 demonstra o uso desse componente no Elipse SCADA.

50

Figura 25 – Driver ASCII.dll implantado no Elipse SCADA Fonte: Autoria própria

Para ser feita a comunicação pela entrada serial é necessário configurar esse driver com os parâmetros que governam o funcionamento de troca de mensagens entre dispositivos, os valores configurados nos parâmetros importantes para esta aplicação são demonstrados abaixo.

Figura 26 – Configuração no Elipse SCADA Fonte: Autoria própria

A tabela 7 descreverá os significados desses parâmetros.

51

Tabela 7 – Descrição dos parâmetros
Descrição Portas de comunicação (COM1 à COM4) Taxa de transmissão de dados em bits por segundo (1200 á 115200) Bits de dados (7 ou 8 bits) Paridade dos dados (None: nenhuma; Odd: par; Even: ímpar; Mark: Marcado; Space: Com espaço) Stop bits Bits de parada (1; 1,5 ou 2 bits) Fonte: Autoria própria Opção Port Baud rate Data bits Parity

Deve-se lembrar que essas configurações essencialmente têm que estar em conformidade, com os parâmetros de comunicação de dados dos microcontroladores, observar as diretivas “#use rs232” dos anexos B e D. Entretanto muitos componentes encontrados originalmente no software Elipse SCADA não possibilitam uma manipulação direta com caracteres e sim valores numéricos decimais, binários, entre outros. Fez-se necessário então uma nova configuração que possibilitasse o envio de caracteres para o quadro de comando e o recebimento dos caracteres, oriundos do mesmo dispositivo, utilizando uma conversão no sistema numérico binário. Para isso configurou-se a aba ASCII como na figura abaixo.

52

Figura 27 – Configuração do driver na aba ASCII Fonte: Autoria própria

Criou-se dois ID’s, “000” e “001”, respectivamente eles representam os comandos de recepção de dados em sistema numérico binário e transmissão de dados no formato de caracteres. Os ID’s foram configurados para os campos TX e RX, com a seguinte regra indicada para a configuração destes elementos, %Nt<cr>, onde: a) % - símbolo identificador de campo variável; b) N – Numero de elementos a serem recebidos; c) t – Tipo de dado d) <cr> - Carrier return ou enter O ID 000 tem o seguinte formato nos campos RX e TX %8b/r valor binário e o ID 001 no formato %1s/r no valor string ou caracter. Optou-se em criar dois ID’s com parâmetros TX e RX iguais para evitar algum tipo de incompatibilidade entre esses parâmetros. Para a melhor compreensão do que parâmetros da figura acima representam observe a tabela 8.

53

Tabela 8 – Parâmetros da aba ASCII
Opção Max Answer Bytes: Max Answer Elements: ID: TX: RX: Fonte: Autoria própria Descrição Número máximo de bytes aguardados na resposta Número máximo de variáveis (elementos) em um comando ou resposta; Índice do Comando Formato das variáveis do Comando de Envio Formato das variáveis do Comando de Recepção

Após ter definido a configuração do driver do supervisório, a próxima etapa a ser estabelecida diz respeito à criação dos tag’s do supervisório. Tag é um elemento que está associado diretamente ao valor de uma variável do processo em que se esta trabalhando. A figura seguinte mostra os tag’s criados para a visualização dos níveis e da bomba no aplicativo supervisório desenvolvido.

Figura 28 – Tag’s criados no Elipse SCADA Fonte: Autoria própria

Cada tag tem uma função especifica a desempenhar. Os tag’s comando1, comando2 e comando3 são do tipo RAM, usados para armazenar valores na memória, eles contêm ordenadamente os valores em caracteres “%”, “@” e “p”. Os tag’s do tipo PLC, que tem como característica serem usados para troca de informações entre dispositivos, envia_comando, recebe_comando, VarRX e VarTX, esses tag’s foram configurados para enviar uma pergunta pela serial, ler uma resposta pela serial, lê os valores das variáveis da opção RX atualizados na ultima

54

recepção e escrever os valores das variáveis da opção TX antes de enviar um comando. Para que cada tag opere da maneira descrita anteriormente, necessita-se colocar os parâmetros do campo N1, N2, N3 e N4 da guia geral do Organizer do Elipse Scada. Para simplificar o entendimento desta configuração a tabela a seguir demonstrará os valores a serem colocados nesses parâmetros. Tabela 9 – Configuração dos tag’s PLC
N1 (modo de trabalho (escrita ou leitura) envia_comando 4 recebe_comando 3 VarRX 2 VarTX 1 Fonte: Autoria própria Tag N2 (ID ou índice de comando) 1 0 0 1 N3 (índice de variável ) 0 0 0 0 N4 (quando necessitar resposta) 0 0 0 0

Tempo e tempo2, serão respectivamente responsáveis

pela

atualização automática das informações a serem enviadas pela central de monitoramento e por dados recebidos do quadro de comando. Por se tratarem de tag’s do tipo crono foram utilizados seus preset’s, tempo pré-definido em que é acionada uma ação, para lerem e escreverem nas tag’s de recebimento e envio de comandos. As duas tag’s crono têm inicio e reinicio automático da contagem para que ocorra uma repetição infinita de envio e recebimento. A figura 29 revela o script feito para a ocorrência destas ações.

55

Figura 29 – Scripts usados nas tag’s tempo e tempo2 Fonte: Autoria própria

O tag Teste, do tipo demo, foi usado somente para testar a influencias de tag’s nos elementos da tela do supervisório. Botões, textos e animações compõem graficamente os objetos associados às variáveis do sistema de monitoramento de níveis criado. Os comandos que criaram os elementos da tela de supervisório estão marcados juntamente com seus respectivos objetos, esse arranjo pode ser averiguado na ilustração 30.

Figura 30 – Elementos gráficos presentes na tela de supervisão e seus comandos Fonte: Autoria própria

56

Os elementos gráficos de animações e textos possuem em sua essência, métodos de configuração similares para atribuição dos tag’s. nesses objetos para se conseguir estados em concordância com o valor adquirido do tag, é de fundamental importância, a personalização de suas zonas. Zona é um intervalo numérico das tag’s onde é indicada uma mensagem ou imagem correspondente aquele valor lido (figura 31).

Figura 31 – Zona ativa, sua mensagem e seus valores correspondentes Fonte: Autoria própria

Como existem muitos objetos com inúmeras mensagens para serem demonstradas visualmente, como opção construíram-se as tabelas 10, 11, 12 e 13, que representam as mensagens de acordo com os caracteres recebidos pelo supervisório. Lembrando que nas opções de mínimo e máximo só deverão ser colocados valores numéricos decimais, a seção pacote de dados exibi as correspondências entre caracteres e números com base decimal. Tabela 10 – Mensagem visualizada no supervisório em relação aos sensores de nível
CARACTER 0 1 2 3 4 5 6 MENSAGEM PARA NÍVEIS Todos os níveis em estado baixo N1 em estado alto N2 em estado alto (erro em n1) N1 e n2 em estado alto N3 em estado alto (erro em n1 e n2) N1 e n3 em estado alto (erro em n2) N2 e n3 em estado alto (erro em n1)

57 7 8 9 : ; < = > ? Fonte: Autoria própria N1 , n2 e n3 em estado alto Todos os níveis em estado baixo N1 em estado alto N2 em estado alto (erro em n1) N1 e n2 em estado alto N3 em estado alto (erro em n1 e n2) N1 e n3 em estado alto (erro em n2) N2 e n3 em estado alto (erro em n1) N1, n2 e n3 em estado alto (Alerta indicação de superação do limite do reservatório)

Tabela 11 – Mensagem visualizada no supervisório em relação à bomba
CARACTER 0 1 2 3 4 5 6 7 8 9 : ; < = > ? Fonte: Autoria própria MENSAGEM PARA BOMBA Bomba Desligada Bomba Desligada Bomba Desligada Bomba Desligada Bomba Desligada Bomba Desligada Bomba Desligada Bomba Desligada Bomba Ligada Bomba Ligada Bomba Ligada Bomba Ligada Bomba Ligada Bomba Ligada Bomba Ligada Bomba Ligada

Tabela 12 – Mensagem visualizada no supervisório em relação aos níveis
CARACTER 0 1 2 3 4 5 6 7 8 9 : ; < = > ? Fonte: Autoria própria MENSAGEM PARA POSIÇÃO DO NÍVEIS Nível mínimo Nível mínimo Nível Médio Nível Médio Nível Máximo Nível Máximo Nível Máximo Nível Máximo Nível mínimo Nível mínimo Nível Médio Nível Médio Nível Máximo Nível Máximo Nível Máximo Nível Máximo

58

Tabela 13 – Imagens usadas na animação do reservatório
CARACTER 0 1 2 3 4 5 6 7 8 9 : ; < = > ? Fonte: Autoria própria NOME DA IMAGEM Reservatorio0.jpg Reservatorio10.jpg Reservatorio50.jpg Reservatorio50.jpg Reservatorio100.jpg Reservatorio100.jpg Reservatorio100.jpg Reservatorio100.jpg Reservatorio0.jpg Reservatorio10.jpg Reservatorio50.jpg Reservatorio50.jpg Reservatorio100.jpg Reservatorio100.jpg Reservatorio100.jpg Reservatorio100.jpg

Cada zona foi configurada respeitando essa regra.

59

4 SIMULAÇÃO, CONFECÇÃO E RESULTADOS Segue abaixo a simulação do projeto onde é feito a comunicação entre os microcontroladores usando o circuito RF anteriormente mencionado, e a comunicação entre microcontrolador e o computador, feito pela porta s erial. A simulação foi criada usando o programa ISIS 7 Professional do Proteus. Nesta simulação foram programados os microcontroladores PIC16F877A com um código fonte em C, porém, como nesta simulação não fará uso dos componentes como o eletrodo, optou-se em substituí-lo por um botão devido ao ISIS não possuir um elemento que represente os sensores de nivelamento concebido no projeto. Inicialmente, deu-se preferência na construção dos circuitos

separadamente, entretanto não seria possível a simulação do circuito de transmissão e recepção de rádio, já que o ISIS também não dá suporte a esses elementos, como mostrado em seqüência nas figuras 32 e 33.

Figura 32 – Circuito da central de monitoramento Fonte: Autoria própria

60

Figura 33 – Circuito da central de monitoramento Fonte: Autoria própria

Para pode fazer a simulação da transmissão e recepção dos dados, opondo-se a estrutura anterior, decidiu-se criar o seguinte arranjo (figura 34).

Figura 34 – Nova estrutura com circuito do quadro e da central unidos Fonte: Autoria própria

Observa-se que nesse novo esboço foram inseridos elementos

61

diferenciados, nomeiam-se tais elementos como terminais virtuais, por terem a capacidade de visualizar dados digitados ou enviados pelas vias de comunicação dos microcontroladores. Por se tratarem de cinco elementos é necessária a tabela 14 para a compreensão da função de cada um desses terminais virtuais. Tabela 14 – Terminais virtuais e suas funções

Terminal Virtual VISUAL DADOS P/CENTRAL ENVIA DADOS P/QUADRO VISUAL DADOS P/PC ENVIA DADOS RX MAX232 VISUAL DADOS TX MAX232 Fonte: Autoria própria

Função Fazer a leitura das informações originadas do quadro de comando no formato do pacote de dados e visualizar o comando vindo da central Simular o envio de comandos pela central no formato do pacote de dados Verificar se a informação, sem o formato do pacote de dados, que chegar antes do MAX-232 é compatível com a informação enviada pelo quadro de comando Simula o envio de comandos sem o formato do pacote de dados depois do MAX-232 Verificar se a informação, sem o formato do pacote de dados, que chegar depois do MAX-232 é compatível com a informação enviada pelo quadro de comando

Após

testar

inúmeras

situações

utilizando

os

botões

que

representam os níveis do reservatório (figura 35), verificou-se que no momento de envio de comandos pela serial depois do CI MAX-232, originam erros nos caracteres de comando e de informações, ocasionado mudanças dos caracteres esperados.

Figura 35 – Botões que representam os sensores de nível Fonte: Autoria própria

Esse fenômeno se deve por causa da conversão dos sinais de tensão feita pelo MAX-232. Ele converte os sinais TTL (Transistor-Transistor Logic), oriundos dos microcontroladores, nos sinais de tensão do padrão RS-232 ou vice-

62

versa, isso poderia explicar perfeitamente o erro ocorrido (figura 36).

Figura 36 – Erro na visualização das informações enviadas Fonte: Autoria própria

Para solucionar esse infortúnio já imaginado, usou-se uma nova ligação dos pinos do CI MAX-232 que possibilita-se a conversão dos sinais de tensão TTL/RS-232, pelo próprio dispositivo (figura 37).

Figura 37 – MAX-232 A) Ligação antiga B) Ligação nova Fonte: Autoria própria

63

Após a mudança nessa estrutura pode-se comprovar que as informações enviadas em qualquer ponto da simulação seriam os mesmos, no que diz respeito à recepção dos dados esta idéia também é comprovada através da figura 38.

Figura 38 – Teste da simulação Ok Fonte: Autoria própria

A imagem visualiza a simulação nos terminais virtuais, os sublinhados amarelos indicam os estados dos níveis e da bomba, segundo as tabelas da seção Telas do supervisório. Os sublinhados em vermelho indicam os comandos enviados pelo computador, vistos na seção rotinas (figura 39).

64

Figura 39 – Simulação de dados nos terminais virtuais Fonte: Autoria própria

Ressalta-se que a ligação feita deve ser usada apenas em simulação, numa ocasião prática a ligação a ser definida, deve ser igual ou similar ao da figura 39a, sem a tentativa de converter os níveis de tensão, já que ao ligar as saídas do MAX-232 em um computador pela entrada serial os níveis de tensão são compatíveis. Para certificar que a comunicação dos caracteres em código ASCII é realmente possível, desenvolveu-se duas aplicações para simular o conceito explicado na seção Tela de Supervisão, as figuras 40 e 41, mostram os aplicativos usados para essa validação.

65

Figura 40 – Tela do supervisório responsável pela recepção de dados Fonte: Autoria própria

Esta aplicação é o ESCRAVO, ela receberá os dados da aplicação MESTRE, mostrada a seguir.

Figura 41 – Tela do supervisório responsável pela recepção de dados Fonte: Autoria própria

Utilizaram-se dois computadores para testar se o conceito, mencionado anteriormente, é aplicável. É utilizado um protocolo diferente de comunicação, o TCP/IP(Transfer Control Protocol/ Internet Protocol) do padrão Ethernet, por se tratar de computadores em rede. As aplicações MESTRE e ESCRAVO foram configuradas para trabalhar nesse padrão conforme as ilustrações abaixo.

66

Figura 42 – Aplicação MESTRE configurada Fonte: Autoria própria

Figura 43 – Aplicação ESCRAVO configurada Fonte: Autoria própria

Visualiza-se que para fazer a comunicação do MESTRE com o ESCRAVO, nas aplicações devem ser especificadas na configuração do Driver ASCII, as portas de comunicação abertas, no MESTRE deve ser indicado o IP do

67

computador onde será executado a aplicação ESCRAVO. Em ambos os casos, é necessário configurar também os ID’s para recepção e transmissão de dados, conforme mostrado na figura 44.

Figura 44 – Configuração do ID de recepção (ESCRAVO) Fonte: Autoria própria

Para esse caso, foi construído um pacote com parâmetros dos comandos TX e RX idênticos, duas variáveis, uma do tipo “u” (decimal sem sinal) e uma do tipo “s” (string ou caracter). Para a configuração do ID de transmissão foi feito um pacote similar no qual trocou-se a variável tipo “s” por uma do tipo “b” (binário), como na figura 45.

68

Figura 45 – Configuração do ID de transmissão (MESTRE) Fonte: Autoria própria

Executando as duas aplicações pode-se verificar e comprovar que apertando os botões, ou digitando valores no MESTRE, a mesma aparecerá para o ESCRAVO, como é alegado nas ilustrações seguintes.

Figura 46 – Aplicação MESTRE enviando dados Fonte: Autoria própria

69

Figura 47 – Aplicação ESCRAVO recebendo dados Fonte: Autoria própria

Ao pressionar o botão T1 é colocado uma valor em VarTx2, em VarTx1 foi digitado um numeral qualquer na aplicação MESTRE, em seguida foi enviado para VarRx2 valor numérico correspondente do caracter “p” para a aplicação ESCRAVO, juntamente com o que tinha sido digitado no MESTRE para VarRx1.Com isso comprova-se que a aplicação citada na seção Tela de Supervisão é válida e eficaz. 4.1 CONFECÇÃO DO SISTEMA O projeto foi desenvolvido primeiramente pela parte de interconexão entre o computador e o microcontrolador, com a confecção do cabo de comunicação serial. A figura 48 mostra o conector DB9 pronto.

Figura 48 – Cabo DB9 Fonte: Autoria própria

70

Para facilitar a conexão entre o DB9 e o MAX-232, utilizou-se um conector e um cabo manga 4 vias, a figura 49 contempla esse arranjo.

Figura 49 – Conector ligado ao cabo manga Fonte: Autoria própria

A tabela 15 demonstra com foi feito a ligação no DB9 e no MAX-232. Tabela 15 – Mapeamento dos pinos no conector DB9

Função do Conector pino DB9 GND 5 RXD 2 TXD 3 DTR 4 DSR 6 RTS 7 CTS 8 RI 9 DCD 1 Fonte: Autoria própria

Ação a ser feita Ligar no GND do sistema Ligar no TX do MAX-232 Ligar no RX do MAX-232 Ligado com o pino 6 Ligado com o pino 4 Ligado com o pino 8 Ligado com o pino 7 Sem ação Sem Ação

Pino do MAX-232 Nenhum 14 13 Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum

Segundo Tafner, Loesch e Stringari (1996), os pinos GND, RXD, TXD, DTR, DSR, RTS, CTS, RI e DCD do conector DB9 são conhecidos respectivamente como: Signal Ground (Terra), Receive Data (recepção de dados),

71

Transmitted Data (Transmissão de dados), Data Terminal Ready (Terminal de dados Pronto), Data Set Ready (conjunto de dados ligado), Request to Send(pronto a enviar), Clear to Send (Envie os dados), Ring Indicator (indicador de telefone tocando) e Data Carrier Detect (portadora detectada). SOUZA e LAVINIA (2003) completam idéia definindo que os pinos 4 e 6 e os pinos 7 e 8 devem ser ligados entre si, para configurar o cabo no modo de Null-Modem ou modem nulo, pois ele “força” o “handshaking” automático, ou seja, o computador entenderá que o dispositivo conectado ao cabo estará sempre disponível, reconhecendo que ambos os dispositivos estão prontos para se comunicar, no caso o MAX-232, junto ao microcontrolador, e o computador. O próximo passo foi fazer as ligações necessárias, conforme o estipulado no inicio do capitulo para o posterior teste. A figura 50 mostra a construção feita para o quadro de comando.

Figura 50 – Circuito confeccionado do quadro de comando Fonte: Autoria própria

A figura 51 demonstra o que foi feito na confecção da central de monitoramento, que será ligado ao DB9, formando assim a comunicação serial.

72

Figura 51 – Circuito confeccionado da central de monitoramento Fonte: Autoria própria

Após a construção destes circuitos foi necessário o uso do gravador de PIC’s para fazer com que os microcontroladores recebessem as instruções programadas ao longo do projeto. O gravador utilizado é o PicBurner USB como o visto na imagem a seguir.

Figura 52 – Gravador Picburner USB Fonte: Autoria própria

73

4.2 RESULTADOS Nos testes desses circuitos, um fenômeno ainda desconhecido ocorreu, os arranjos montados não seguiram a proposta desejada. Alguns dos circuitos apresentaram uma inconstância na recepção dos dados vindos do computador, enviados pela aplicação desenvolvida no software supervisório. Apesar dos sinais enviados terem sido visualizados através de um osciloscópio, tais dados, não foram ser interpretados pelo microcontrolador, tão pouco recebidos pelo supervisório. A ilustração 53 demonstra o sinal de dados enviados pela aplicação do supervisório.

Figura 53 – Osciloscópio analisando o sinal do envio de dados Fonte: Autoria própria

A seta indica a transmissão de dados pelo supervisório, nesse caso, apenas sua interpretação pelo microcontrolador ficou comprometida. Como observado na figura 54.

74

Figura 54 – Central de monitoramento indicando erro na recepção dos comandos Fonte: Autoria própria

A seta indica o Led que representa a recepção dos dados (caracteres “p”, “%” e “@”). Apesar do supervisório não estar sendo executado, a informação estava sendo enviada e retransmitida ao mesmo tempo para o quadro de comando, o que não poderia ocorrer. A imagem abaixo mostra o que ocorreu no circuito do quadro de comando.

Figura 55 - Quadro de comando com erro Fonte: Autoria própria

Nessa imagem, é verificado que o led, indicado pela seta, responsável pela ativação da bomba não poderia estar acesso, pois nenhum

75

comando realmente tinha sido enviado pelo supervisório. 4.3 CUSTO LEVANTADO PARA IMPLANTAÇÃO DO PROJETO Nesse ponto do trabalho levantou-se o custo da implementação futura desse projeto, no que diz respeito os circuitos integrados, componentes eletrônicos e elementos de interconexão a se utilizar. A tabela 16 relaciona os preços desses componentes. Tabela 16 - Preços dos componentes
Componente Preço unitário (R$) Quantidade Total (R$) CI MAX-232N 4,10 1 4,10 PIC 16F877A 16,75 2 33,50 Conector DB9 0,90 1 0,90 Capa p/ DB9 1,25 1 1,25 *Cabo Manga 3 vias 3,07 2 metros 6,14 Conector KRE 4 terminais 1,00 1 1,00 Capacitor eletrolítico 1uF 0,75 4 3,00 Cristais de 10 MHz 4,85 2 9,70 Modulo de transmissão TWS-HS-2 38,00 2 76,00 Modulo de recepção RWS-371-6 38,00 2 76,00 Total 211,59 Fonte: Autoria própria *Varia em relação à distância entre o microcontrolador da central e o computador com supervisório Não se estima custos para fontes de alimentação e outros componentes para a confecção das placas de circuito impresso ou gravação dos micrcontroladores.

A programação criada, ver anexos C e E, só pode ser quantificada em relação ao tempo, dependendo das habilidades do programador, não foi feito um levantamento de um valor específico de mercado para seu desenvolvimento, já que a programação criada tem caráter experimental. 4.4 DIFICULDADES ENCONTRADAS Pode-se citar como dificuldade inicial o acesso a materiais que contemplassem o assunto, devido à escassez do mesmo, a programação do protocolo para comunicação serial, assim como a comunicação RF. A localização do driver do sistema supervisório para a comunicação serial entre o microcontrolador e computador, que fosse compatível e suportado para a linguagem ASCII com o sistema operacional Windows XP. Podem ser citados também como empecilhos, adquirir informações sobre um circuito eletrônico que contempla-se os estados

76

lógicos digitais para utilizar como nível no microcontrolador, forma algumas adversidades encontradas na confecção deste trabalho. A impossibilidade de funcionamento dos circuitos projetados, por causas ainda desconhecidas, para comprovar a viabilização do sistema, pode ser maior dos fatores levantados como um dos principais problemas no projeto.

77

5 CONCLUSÃO Desde o principio da elaboração desse trabalho teve-se como preocupação relacionar vários níveis de conhecimentos adquiridos durante a formação acadêmica do autor, reunindo áreas da Automação Industrial. Assim como em muitos outros cursos que envolvem a área de tecnologia, encontraram-se infortúnios não presentes ou pouco relatados na teoria, e sim no momento de uma aplicação pratica, sendo essencial a busca de informações que de alguma forma contribuíssem na resolução de alguns problemas relatados. Após estudos de todas as bibliografias adquiridas, pode-se concluir que as informações contidas neste trabalho são suficientes para consolidar uma boa base teórica. No espaço de tempo usado para a construção desse trabalho teve-se uma aproximação direta com as normativas que regem a qualidade para a elaboração de documentos acadêmicos. Esse aprendizado será muito relevante para o futuro profissional. Para o objetivo de projetar um sistema que utiliza inúmeros recursos da área de automação, o presente trabalho atendeu a proposta. Entretanto, sem as falhas encontradas na confecção e teste do sistema, poderia ser sanado qualquer duvida a respeito da confiabilidade do mesmo. É de suma importância a descoberta dos fatores que realmente interferiram nos resultados esperados. As hipóteses levantadas a respeito do que deve ter ocorrido são: má conexão entre os terminais do protoboard, interferências não determinadas em circuito de alta freqüência, já que foram utilizados cristais de 10 MHz; conversão dos sinais feitos pelo MAX-232, receptores e transmissores de rádio freqüência não recomendados para esse tipo de aplicação. Respeitando a linha de raciocínio deste projeto, abre-se a possibilidade de desenvolver um protótipo que faça leituras de sinais analógicos. Outra situação importante levantada durante a confecção desse trabalho foi sua potencialidade em transformá-lo futuramente num produto, desde que feito melhorias, ajustes e correções. Espera-se que este documento acadêmico confeccionado, seja de grande valia, como instrumento para outros discentes ou outros profissionais da área, instigando-os na melhoria continua ou até mesmo proporcionando que outrem encontre aqui um novo caminho para uma futura vocação profissional.

78

REFERÊNCIAS ALVES, José Luiz Loureiro. Instrumentação, controle e automação de processos. Rio de Janeiro: LTC, 2005. 270p. ASCII Table. Disponível em: <http://www.asciitable.com/>. Acesso em 1 Março de 2011. BOYER, Stuart A. SCADA: supervisory control and data acquisition. North Carolina: ISA, 2010. 257p. 4ed.

BRASIL, Vinicius. Sensor de nível. Disponível em: <http://vinicius.brasil.vilabol.uol.com.br/eletronica/ sensornivel.htm>. Acesso em:11 de Março de 2011. CAPELLI, Alexandre. Automação industrial: controle do movimento e processos contínuos. São Paulo: Érica, 2006. 236p. COSTA, Hélio da Silva. TELEMETRIA DE PROCESSOS VIA MODEM RF UTILIZANDO MICRO-CONTROLADORES. Disponível em: <http://www2.ele.ufes.br/~projgrad/documentos/PG2006_1/heliosilvacosta.pdf>. Acesso em: 11 de Janeiro de 2011. FILHO, Carlos Fernandes de Medeiros. Notas de aula – Reservatórios de Água. Disponível em: <http://www.dec.ufcg.edu.br/saneamento/Reserv01.html>. Acesso em 14 Fevereiro de 2011. FRANCHI, Claiton Moro; CAMARGO, Valter Luís Arlindo de. Controladores lógicos programáveis: sistemas discretos. 2ed. São Paulo: Érica, 2010. 352p. MICROCHIP, PIC16F87XA Data Sheet. 2003. Disponível em <http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf> Acesso em 10 de Fevereiro de 2011. MIYOSHI, Edson Mitsugo; SANCHES, Carlos Alberto. Projetos de sistemas rádio. São Paulo: Érica, 2002. 534p. NASCIMENTO, Juarez do. Telecomunicações. 2000. 341p. 2ed. São Paulo: Makron Books,

SENA, Hamilton. Simulador Ladder – LDMICRO. Acarajé Turbinado. Disponível em: <http://hsena.wordpress.com/2010/02/17/simulador-ladder-ldmicro/>. Acesso em 05 de Março de 2001. SOUZA, David José de; LAVINIA, Nicolás César. Conectando o PIC 16F877A: recursos avançados. São Paulo: Érica, 2003. 380p.

79

TAFNER, Malcon Anderson; LOESCH, Cláudio; STRINGARI, Sérgio. Comunicação de dados usando linguagem “C”. Blumenau: FURB, 1996. TECWISE – Sistemas de Automação. Redes wireless industriais. Artigo Publicado em: Julho de 2010. Disponível em: <http://www.tecwise.com.br/content/view/53/84/>. Acesso em: 11 de Janeiro de 2011. THOMAZINI, Daniel; ALBUQUERQUE, Pedro Urbano Braga de. Sensores Industriais: fundamentos e Aplicações. São Paulo. Érica, 2007. 224p. WENSHING ELETRONICS CO. TWS-HS - RF MODULE Series. Disponível em: <http://www.wenshing.com.tw/data_sheet/TWSHS_Series_315MHz_433.92Mhz_868.35MHz_ASK_RF_Transmitter_Module_Data_ Sheet.pdf>. Acesso em 14 Março de 2011. __________________________. RWS 371 - RF MODULE Series. Disponível em: <http://www.wenshing.com.tw/Data_Sheet/RWS-3716_433.92MHz_ASK_RF_Receiver_Module_Data_Sheet.pdf>. Acesso em 14 de Março de 2011 ZANCO, Wagner da Silva. Microcontroladores PIC Técnicas de Software e Hardware para Projetos de Circuitos Eletrônicos com base no PIC 16F877A. 1 ed. São Paulo: Érica, 2006.75p.

80

ANEXOS

81

ANEXO A – Tabela de códigos ASCII

ANEXO B – Diretivas geradas pelo software PCWH Compiler para a biblioteca quadro.h

#include <16F877A.h> #device adc=8

#FUSES WDT #FUSES HS #FUSES PUT #FUSES NOPROTECT #FUSES NODEBUG #FUSES NOBROWNOUT #FUSES NOLVP used for I/O

//Watch Dog Timer //High speed Osc (> 4mhz) //Power Up Timer //Code not protected from reading //No Debug mode for ICD //Reset when brownout detected //No low voltage prgming, B3(PIC16) or B5(PIC18)

82

#FUSES NOCPD #FUSES NOWRT

//No EE protection //Program memory not write protected

#use delay(clock=10000000, RESTART_WDT)// habilita watch dog timer #use rs232(baud=9600, parity=N, xmit=PIN_B5, rcv=PIN_B6, bits=8,

stream=quadro) // serial do transmissor e recptor RF ANEXO C – Código do quadro de comando desenvolvido no software PCWH Compiler – Arquivo quadro.c

#include "\TCC\Projeto Fisico e programação\quadro.h" #include <float.h> #include <stdio.h> #include <stdlib.h> #include <string.h>

#define stop_byte 42 #define start_byte 35

char ent_nivel_bomba()// verificação das variáveis(Bomba e níveis) Adiciona ou retira bit da variável nivel_bomba de acordo com o sinal recebido. { int nivel_bomba=48;

if (input(PIN_B1)) { } else bit_clear(nivel_bomba,0);// limpa o bit bit_set(nivel_bomba,0); // torna nivel_bomba 0b00000001

if (input(PIN_B2)) { } bit_set(nivel_bomba,1); // torna nivel 0b00000010

83

else bit_clear(nivel_bomba,1);// limpa o bit

if (input(PIN_B3)) { } else bit_clear(nivel_bomba,2);// limpa o bit bit_set(nivel_bomba,2); // torna nivel 0b00000100

if (input(PIN_B7))// verifica saída da bomba { } else //verifica saída da bomba bit_clear(nivel_bomba,3);// limpa o bit bit_set(nivel_bomba,3); // torna nivel 0b00001000

return nivel_bomba; }

void compara_dados(int estado) //liga ou desliga a bombba conforme o caracter enviado { if(estado==15+48) output_low(PIN_B0); if(estado==14+48) output_low(PIN_B0); if(estado==13+48) output_low(PIN_B0); if(estado==12+48) output_low(PIN_B0); if(estado==11+48) output_high(PIN_B0); if(estado==10+48) output_low(PIN_B0); if(estado==9+48)

84

output_high(PIN_B0); if(estado==8+48) output_high(PIN_B0); if (estado==7+48) output_low(PIN_B0); if(estado==6+48) output_low(PIN_B0); if(estado==5+48) output_low(PIN_B0); if(estado==4+48) output_low(PIN_B0); if(estado==3+48) output_low(PIN_B0); if(estado==2+48) output_low(PIN_B0); if(estado==1+48) output_low(PIN_B0); if(estado==0+48) output_high(PIN_B0);

}

void envia_dados(char dados) { fputc(dados,quadro); //envia dados para o dispositivo RF

}

void envia_pacote(char dados2)//envia pacote de dados para o dispositivo RF start_byte, dados2, stop_byte { int i; char buffer[3];

85

buffer[0] = start_byte; buffer[1] = dados2; buffer[2] = stop_byte; output_high(PIN_B4); delay_ms(100); for (i = 0; i < 3; i++) // envia os bytes da transmissão { envia_dados(buffer[i]); delay_ms(10); } output_low(PIN_B4); }

char recebe_dados() //função pra receber dados da serial RF { char dadosrx[3]; int i; volta: i=0; dadosrx[0]=fgetc(quadro); delay_ms(10); if(dadosrx[0]==start_byte) { dadosrx[1]=fgetc(quadro);// busca o byte na porta delay_ms(10); dadosrx[2]=fgetc(quadro); delay_ms(10); if(dadosrx[2]==stop_byte) { return dadosrx[1]; } else if(dadosrx[2]!=stop_byte) { fputc(144,quadro);

86

goto volta; } else { fputc(144,quadro); goto volta; } } else if(dadosrx[0]!=start_byte) { fputc(144,quadro); goto volta; } }

void main() { char niveis_e_bomba,comando; int niveis_e_bomba_int; setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); setup_psp(PSP_DISABLED); setup_spi(FALSE); setup_timer_0(RTCC_INTERNAL); setup_wdt(WDT_2304MS);// Reiniciar no caso de travamento em 2 minutos setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_ccp1(CCP_OFF); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE);

while(1) { niveis_e_bomba=ent_nivel_bomba();

87

envia_pacote(niveis_e_bomba); delay_ms(100); comando=recebe_dados(); if(comando=='p') //Quando o caracter 'p' aparecer sistema operará em modo automático { niveis_e_bomba_int=niveis_e_bomba; compara_dados(niveis_e_bomba_int); }while(!comando=='p') if(comando=='@') //Quando o caracter '@' aparecer sistema operará em modo manual ligado { output_high(PIN_B0); } if(comando=='%') //Quando o caracter '%' aparecer sistema operará em modo manual desligado { output_low(PIN_B0); } } }

88

ANEXO D – Diretivas geradas pelo software PCWH Compiler para a biblioteca central.h #include <16F877A.h> #device adc=8

#FUSES WDT #FUSES HS #FUSES PUT #FUSES NOPROTECT #FUSES NODEBUG #FUSES NOBROWNOUT #FUSES NOLVP #FUSES NOCPD #FUSES NOWRT

// Watch Dog Timer //High speed Osc (> 4mhz) //Power Up Timer //Code not protected from reading //No Debug mode for ICD //Reset when brownout detected

//No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O //No EE protection //Program memory not write protected

#use delay(clock=10000000, RESTART_WDT) // habilita watch dog timer #use rs232(baud=9600, parity=N, xmit=PIN_C6, rcv=PIN_C7, bits=8, stream=PC) // porta serial do computador #use rs232(baud=9600, parity=N, xmit=PIN_B4, rcv=PIN_B0, bits=8, stream=central) // serial do transmissor e recptor RF

ANEXO E – Código do quadro de comando desenvolvido no software PCWH Compiler – Arquivo central.c #include "\TCC\Projeto Fisico e programação\central.h" #include <float.h> #include <stdio.h> #include <string.h> #include <stdlib.h>

#define stop_byte 42 #define start_byte 35

89

char recebe_dados_quadro() //função pra receber dados da serial RF vindos do quadro de comandos { char dadosrx[3]; int i; volta: i=0;

delay_ms(100); dadosrx[0]=fgetc(central); // busca o byte na porta

if(dadosrx[0]==start_byte) //confere se é start_byte na porta { dadosrx[1]=fgetc(central); delay_ms(10); dadosrx[2]=fgetc(central); delay_ms(10); if(dadosrx[2]==stop_byte) //confere se é stop_byte na porta { return dadosrx[1]; } else if(dadosrx[2]!=stop_byte) { fputc(144,PC); fputc(144,central); goto volta; } else { fputc(144,PC); fputc(144,central); goto volta; } // busca o byte na porta

90

} else if(dadosrx[0]!=start_byte) { fputc(144,PC); fputc(144,central); goto volta; } }

void envia_dados_PC(int dados) { fputc(dados,PC); //envia dados para o computador }

char recebe_dados_PC() //função pra receber dados da serial do Computador {

char dadosrx_PC; dadosrx_PC = fgetc(PC); if(dadosrx_PC=='p' || dadosrx_PC=='%' || dadosrx_PC=='@') { output_high(PIN_B1); delay_ms(100); output_low(PIN_B1);

} return dadosrx_PC; }

void envia_dados(char dados) {

91

fputc(dados,central); //envia dados para o dispositivo RF } void envia_pacote_quadro(char dados2)//envia pacote de dados para o dispositivo RF start_byte, dados2, stop_byte { int i; char buffer[3]; buffer[0] = start_byte; buffer[1] = dados2; buffer[2] = stop_byte; output_high(PIN_B5); delay_ms(100); for (i = 0; i < 3; i++) // envia os bytes da transmissão { envia_dados(buffer[i]); delay_ms(10); } output_low(PIN_B5); }

void main() { char info,comando; setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); setup_psp(PSP_DISABLED); setup_spi(FALSE); setup_timer_0(RTCC_INTERNAL); setup_wdt(WDT_2304MS); // Reiniciar no caso de travamento em 2 minutos setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_ccp1(CCP_OFF); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE);

92

while(1) // loop infinito { info = recebe_dados_quadro(); //recebe informação do quadro envia_dados_PC(info); //enviar caracter para PC delay_ms(100); comando=recebe_dados_PC(); // recebe dados do supervisório envia_pacote_quadro(comando); //envia dados para quadro } }

You're Reading a Free Preview

Descarregar
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->