You are on page 1of 75

FACULDADE NOVO MILNIO COORDENADORIA DE ENGENHARIA ELTRICA PROJETO DE GRADUAO

DESENVOLVIMENTO DE UM MICRO-CLP COM SOFTWARES DE SUPERVISO E PROGRAMAO EM FBD

RENAN RODRIGUES RIBEIRO

VILA VELHA ES DEZ/2010

RENAN RODRIGUES RIBEIRO

DESENVOLVIMENTO DE UM MICRO-CLP COM SOFTWARES DE SUPERVISO E PROGRAMAO EM FBD

Parte manuscrita do Projeto de Graduao do aluno Renan Rodrigues Ribeiro, apresentado a Coordenadoria de Engenharia Eltrica da Faculdade Novo Milnio, para obteno do grau de Engenheiro Eletricista.

VILA VELHA ES DEZ/2010

RENAN RODRIGUES RIBEIRO

DESENVOLVIMENTO DE UM MICRO-CLP E SOFTWARES DE SUPERVISO E PROGRAMAO EM FBD

COMISSO EXAMINADORA:

___________________________________ Prof. MsC. Ralf Luis de Moura Orientador ___________________________________ Prof. Adjuto Martins Vasconcelos Jnior Examinador ___________________________________ Prof. Jan Jensen Examinador

Vila Velha - ES, 13, Dezembro, 2010

DEDICATRIA

minha famlia, minha namorada e aos meus amigos.

AGRADECIMENTOS Agradeo a Deus por sempre estar presente em minha vida, a minha famlia que foi fundamental para minha formao, aos professores por todos os ensinamentos e aos amigos da VALE por todo apoio e incentivo durante o desenvolvimento do projeto.

ii

LISTA DE FIGURAS Figura 1 Estrutura Bsica de um CLP. .....................................................................15 Figura 2 Estrutura Bsica do Sistema de Memria. .................................................17 Figura 3 Possveis entradas e sadas de um CLP. .....................................................17 Figura 4 Estados de um CLP. ...................................................................................18 Figura 5 Fluxograma de funcionamento de um CLP em modo de operao. ..........19 Figura 6 Lgica em Diagrama de Blocos de Funo................................................21 Figura 7 Arquitetura geral de um microcontrolador. ................................................24 Figura 8 Pinagem do PIC16F877A...........................................................................26 Figura 9 Distancia x Taxa de transmisso. ...............................................................27 Figura 10 Transmisso do contedo binrio no barramento RS-485. ......................28 Figura 11 Viso geral do sistema..............................................................................29 Figura 12 Viso geral da arquitetura do mdulo CPU. ............................................30 Figura 13 Comunicao I2C. ....................................................................................31 Figura 14 Aplicao tpica da rede RS-485. .............................................................33 Figura 15 Circuito eltrico das entradas. ..................................................................35 Figura 16 Circuito eltrico das sadas. ......................................................................36 Figura 17 Circuito conversor RS-232/RS-485. ........................................................37 Figura 18 Mapa de conectores e leds dos mdulos. .................................................37 Figura 19 Fluxograma da comunicao durante o carregamento do micro-CLP. ....45 Figura 20 Fluxo de execuo do firmware. ..............................................................46 Figura 21 Funcionamento do controle do Scan Time. ..............................................48 Figura 22 Layout final do software de programao em FBD. ................................53 Figura 23 Blocos funcionais desenvolvidos. ............................................................54 Figura 24 Representao grfica das entradas e sadas. ...........................................55 Figura 25 Layout final do software de programao em FBD. ................................56 Figura 26 Etapas de compilao e carregamento do programa de aplicao. ..........57 Figura 27 Layout final do software de superviso. ..................................................59 Figura 28 Fluxograma do funcionamento bsico do software de superviso. .........61 Figura 29 Programa FBD do controle da coluna lavadora. ......................................64 iii

Figura 30 Telas de superviso da coluna lavadora. ..................................................64 Figura 31 Plataforma de testes. .................................................................................65 Figura 32 Plataforma de testes. .................................................................................67

iv

LISTA DE TABELAS Tabela 1 Classificao das linguagens de programao. ..........................................20 Tabela 2 Tabela de estados lgicos de um transceptor RS-485. ..............................27 Tabela 3 Formato das instrues internas do micro-CLP.........................................40 Tabela 4 Lista de instrues. ....................................................................................41 Tabela 5 Modos de endereamento. .........................................................................41 Tabela 6 Valores utilizados no controle de envio de dados. ....................................44 Tabela 7 Valores utilizados no controle de recebimento de dados...........................44 Tabela 8 Descrio das entradas do micro-CLP. ......................................................63 Tabela 9 Descrio das sadas do micro-CLP. .........................................................63

GLOSSRIO FBD - Function Block Diagram PID - Proporcional-Integral-Derivativo PIC - Peripheral Interface Controller GM - General Motors CPU - Central Processing Unit EEPROM - Electrically-Erasable Programmable Read-Only Memory IL - Instruction List ST - Structured Text LD - Ladder Diagram SFC - Sequential Flow Chart RISC - Reduced Instruction Set Computer CCP - Capture, Compare e PWM I2C - Inter Integrated Circuit RTS - Request To Send CP - Contador de Programa OOP - Object Oriented Programming IDE - Integrated Development Enviroments RAD - Rapid Application Development

vi

SUMRIO DEDICATRIA........................................................................................................... I AGRADECIMENTOS ...............................................................................................II LISTA DE FIGURAS ............................................................................................... III LISTA DE TABELAS ................................................................................................ V GLOSSRIO ............................................................................................................. VI SUMRIO ................................................................................................................VII RESUMO ..................................................................................................................... X 1 INTRODUO ..............................................................................................11 1.1 Motivao..........................................................................................................11 1.2 Objetivo .............................................................................................................12 1.3 Metodologia ......................................................................................................12 1.4 Organizao do Texto .......................................................................................13 2 CONTROLADOR LGICO PROGRAMVEL .......................................14 2.1 Historia do CLP ................................................................................................14 2.2 Arquitetura do CLP ...........................................................................................15 2.3 Principio de Funcionamento do CLP ................................................................18 2.4 Linguagens de Programao .............................................................................20 2.4.1 Linguagem FBD ......................................................................................21 3 DESENVOLVIMENTO DO HARDWARE ................................................23 3.1 Microcontroladores ...........................................................................................23 3.1.1 O PIC16F877A ........................................................................................25 3.2 O Padro RS485 ................................................................................................26 3.3 Definies do Projeto ........................................................................................28 3.4 Mdulo CPU .....................................................................................................29 3.4.1 Memria e Protocolo I2C ........................................................................30 3.4.2 Porta de comunicao ..............................................................................32 3.5 Mdulo de Entradas Digitais ............................................................................34 3.6 Mdulo de Sadas Digitais ................................................................................35 3.7 Conversor RS-232/RS-485 ...............................................................................36 vii

3.8 Fonte de Alimentao .......................................................................................37 3.9 Mapa de Conectores e Leds Indicadores de Status ...........................................37 4 DESENVOLVIMENTO DO FIRMWARE .................................................40 4.1 Instrues ..........................................................................................................40 4.2 Cabealho ..........................................................................................................42 4.3 Interrupes .......................................................................................................43 4.4 Comunicao .....................................................................................................43 4.5 Principais Rotinas .............................................................................................46 5 DESENVOLVIMENTO DOS SOFTWARES .............................................50 5.1 Linguagem C++ ................................................................................................50 5.2 Ambientes de Desenvolvimento .......................................................................51 5.2.1 O Ambiente de Desenvolvimento C++ Builder ......................................51 5.3 Software de Programao em FBD...................................................................52 5.3.1 Definio do Layout ................................................................................52 5.3.2 Funes Projetadas ..................................................................................54 5.3.3 Canais Disponveis para a Programao .................................................55 5.3.4 Desenhando o FBD .................................................................................56 5.3.5 Compilao e Carregamento ...................................................................56 5.4 Software Supervisrio .......................................................................................58 5.4.1 Sistema de Superviso e Aquisio de Dados .........................................58 5.4.2 Definies ................................................................................................59 5.4.3 Comunicao com o CLP ........................................................................60 6 TESTES E RESULTADOS ...........................................................................62 6.1 Sistema de Despoeiramento ..............................................................................62 6.2 Programao da Lgica em FBD ......................................................................62 6.3 Criao da Tela de Superviso ..........................................................................64 6.4 Resultados .........................................................................................................65 7 CONCLUSES ..............................................................................................68 APNDICE A CIRCUITO DO MDULO CPU ................................................69 APNDICE B CIRCUITO DO MDULO DE ENTRADAS ............................70 viii

APNDICE C CIRCUITO DO MDULO DE SADAS ...................................71 REFERNCIAS BIBLIOGRFICAS.....................................................................72

ix

RESUMO Este trabalho consiste no estudo e desenvolvimento de trs elementos fundamentais nos sistemas de automao de baixa complexidade, os quais so: microCLP, software de superviso e software de programao em linguagem FBD. Para isso, foi necessrio realizar um estudo do funcionamento dos CLPs, bem como seus principais conceitos e aplicaes. Alem disso, so estudadas as principais caractersticas da linguagem FBD apresentando seus principais blocos funcionais. No desenvolvimento do micro-CLP, so analisadas as principais caractersticas do microcontrolador PIC16F877A, escolhido para desempenhar as funes de processamento e gerenciamento da comunicao. Alem disso, descrito o funcionamento do padro RS-485 utilizado na implementao da comunicao entre o micro-CLP e os softwares de programao e superviso. De posse dos conhecimentos obtidos atravs do embasamento terico, iniciam-se as definies da arquitetura de hardware e o desenvolvimento dos mdulos do micro-CLP. Tambm elaborado o firmware responsvel pela execuo do programa de aplicao. Em seguida, realizado um estudo sobre o ambiente de desenvolvimento Borland C++ Builder e a linguagem de programao C++, os quais so utilizados durante o desenvolvimento dos softwares de programao e superviso.

11

INTRODUO
Este Projeto de Graduao tem como pressuposto a proposta de integrar o

conhecimento adquirido durante o curso de Engenharia Eltrica com habilitao em computao, com um projeto interessante e de grande utilidade. 1.1 Motivao A necessidade de aumentar a qualidade e a produtividade das indstrias automobilsticas da dcada de 60 proporcionou o desenvolvimento dos primeiros Controladores Lgicos Programveis (CLP). A partir da, o CLP se tornou um dos equipamentos mais utilizados na implementao de sistemas automatizados. A ampla utilizao dos CLPs vem impulsionando o desenvolvimento de novas funcionalidades. Atualmente, os processadores utilizados nos CLPs possuem uma alta capacidade computacional, capaz de realizar tarefas complexas atravs de coprocessadores e controlar uma grande quantidade de variveis analgicas e digitais. Em contrapartida, toda esta capacidade disponvel nos CLPs de grande porte possui um preo que inviabiliza sua aplicao para sistemas com baixo nvel de complexidade, tais como as plataformas de uso didtico. Por outro lado, no estagio atual da tecnologia, dispositivos de alto desempenho e baixo custo como os microcontroladores vm sendo amplamente utilizados na construo de sistemas mais compactos e versteis, com um custo relativamente baixo. Portanto, a fim de criar alternativas com desempenho que atenda os requisitos de controle dos sistemas de baixa complexidade e custo mais acessvel, apresentado nesse projeto o desenvolvimento de um micro-CLP de baixo custo com 8 entradas e 8 sadas digitas e uma porta de comunicao para programao e superviso atravs do padro RS-485. A Linguagem de Diagrama de Blocos est bastante difundida no controle de processos industriais devido facilidade de aprendizado e utilizao. Neste sentido, o projeto aqui apresentado contempla o desenvolvimento de um software de programao em linguagem FBD contendo os principais blocos funcionais para aplicaes discretas.

12

1.2 Objetivo O objetivo deste projeto desenvolver um micro-CLP com softwares de superviso e programao em FBD, a fim de proporcionar uma soluo de baixo custo para a implementao de sistemas automatizados com nvel de complexidade baixo, tais como aplicaes didticas para ensino de automao e controle. 1.3 Metodologia Inicialmente foram analisadas diversas idias e possibilidades de arquiteturas do projeto. Arquiteturas simples e complexas foram pesquisadas, assim como a disponibilidade de material para desenvolvimento do projeto, componentes e exemplos de cdigos. Estes foram os principais pontos para o incio do desenvolvimento do trabalho. Na primeira etapa de desenvolvimento, fez-se o uso intenso do software Proteus 7 para a simulao do funcionamento do microcontrolador quanto a execuo das rotinas do micro-CLP e a comunicao serial com os softwares de programao e superviso. Apenas quando verificado em simulao todo o funcionamento do microCLP, os mdulos foram criados e testados. A idia de implementar canais analgicos e funes complexas como ao controle PID mostraram-se interessantes a princpio, contudo foi descartada durante a fase de desenvolvimento do firmware, devido a sua alta complexidade. A implementao de canais digitais e blocos funcionais bsicos mostrou-se mais atrativa e facilitou a finalizao da primeira fase do projeto. A segunda etapa do desenvolvimento voltou-se para uma implementao em conjunto do firmware e do software. Antes, entretanto, foi necessrio decidir qual seria a plataforma de desenvolvimento utilizada, assim como a linguagem de programao. Optou-se pela linguagem C e a plataforma de desenvolvimento mikroC PRO, da empresa Mikroelektronika, devido aos exemplos de cdigos pr-existentes para esta plataforma.

13 Quanto aos softwares de programao e superviso, optou-se pelo Borland C++ Builder 6, devido s facilidades grficas da plataforma e devido grande variedade de componentes disponveis. Com o hardware simulado, firmware e softwares operando, iniciou-se a etapa de confeco das placas de circuito impresso dos mdulos. A etapa final do projeto foi focada em uma bateria de testes e comparao entre os resultados esperados e os resultados obtidos. 1.4 Organizao do Texto O trabalho est organizado em sete captulos e trs apndices. O segundo captulo aborda o estudo dos CLPs, apresentando sua historia, arquitetura e principio bsico de funcionamento. Este captulo tambm descreve os conceitos de linguagem de programao, enfatizando a linguagem FBD. O terceiro captulo mostra o estudo e o desenvolvimento do projeto do microCLP. So descritas as principais caractersticas do microcontrolador PIC16F877A e do padro RS-485. Posteriormente, mostrado todas as etapas de definio e implementao do hardware do micro-CLP. O quarto captulo apresenta o desenvolvimento do firmware, descrevendo todo o seu funcionamento. O quinto captulo inicialmente descreve os principais conceitos da linguagem C++ e apresenta as caractersticas do ambiente de desenvolvimento C++ Builder. Aps a abordagem terica, o capitulo descreve todas as etapas de desenvolvimento dos softwares de superviso e programao em FBD. O sexto captulo apresenta os testes realizados buscando a validao do funcionamento do sistema. Por fim, no stimo captulo, avaliam-se os resultados obtidos e so apresentadas sugestes para trabalhos futuros.

14

CONTROLADOR LGICO PROGRAMVEL


Controlador Lgico Programvel (CLP) um dispositivo eletrnico de estado

slido, baseado em um microprocessador, projetado para controlar sistemas automatizados, capaz de armazenar e executar instrues definidas num software aplicativo pelo usurio [1]. Segundo a National Electrical Manufactures Association (NEMA), o CLP um aparelho eletrnico digital que utiliza uma memria programvel para armazenar internamente instrues e implementar funes especficas, tais como: lgica, seqenciamento, temporizao, contagem e aritmtica, controlando, por meio de mdulos de entradas e sadas, vrios tipos de mquinas ou processos [2]. 2.1 Historia do CLP Os primeiros CLPs surgiram na dcada de 60, como conseqncia das necessidades das indstrias automotivas de aumentarem a qualidade e produtividade de suas linhas de produo. Antes dos CLPs, todas as tarefas de controle de processos industriais eram feitas atravs de painis de controle a rels, que necessitavam ser reconstrudos a cada vez que se modificava a lgica de controle. Como estas modificaes ocorriam freqentemente, fazia-se necessrio encontrar uma alternativa para tornar os sistemas de controle mais flexveis e facilmente reutilizveis. Em 1968, a primeira especificao para o projeto do CLP foi elaborada pela General Motors (GM), com o objetivo de produzir um equipamento com preo competitivo com os sistemas de rels, dispositivos de entrada e sada facilmente substituveis, funcionamento em ambiente industrial, facilidade de programao e manuteno por tcnicos e engenheiros e repetibilidade de operao e uso. Ento, em 1969, foi desenvolvido pela Gould Modicon o primeiro controlador a atender as especificaes elaboradas pela GM [1]. Inicialmente, os CLPs eram utilizados apenas em aplicaes de controle discreto, porm, diferentemente dos sistemas a rels, eram facilmente instalados, economizando espao e energia, possuam indicadores de diagnsticos e as alteraes

15 na lgica de controle eram realizadas em pouco tempo, apenas com alterao no programa, sem precisar alterar as ligaes eltricas. Na dcada de 70, os CLPs passaram por varias etapas de aprimoramento. Em 1972, incorporaram funes de temporizao e contagem, em 1973 surgiu o primeiro sistema de comunicao que permitia que os CLPs trocassem informaes com outros computadores, j em 1975 passou a incorporar maior capacidade de memria, controles analgicos e controle PID, em 1979 surgiram os mdulos de I/O remotos. Nos anos 80, os CLPs so aperfeioados, possibilitando a comunicao em rede, que hoje um recurso indispensvel na indstria. As atuais geraes de CLPs possuem funes avanadas de controle, grande numero de pontos de entradas e sadas, mdulos remotos, softwares de programao em ambiente Windows, maior velocidade de processamento e pequenos e micros CLPs que oferecem vrios recursos encontrados nos grandes CLPs [1]. 2.2 Arquitetura do CLP Os CLPs so constitudos basicamente por quatro blocos, mostrados na Figura 1, os quais so: CPU, mdulos de I/O, fonte de alimentao e Base [1].

Figura 1 Estrutura Bsica de um CLP.

CPU (Central Processing Unit Unidade Central de Processamento): o elemento principal do controlador, compreendendo o processador, que pode ser um microprocessador, microcontrolador ou processador dedicado. O

16 sistema de memria (ROM e RAM) e os circuitos auxiliares de controle tambm esto contidos neste bloco; Mdulos ou Circuitos de E/S (Entrada/Sada): o meio fsico de conexo do CLP aos sensores e atuadores do processo. As entradas e sadas podem ser do tipo discreto, assumindo os nveis lgicos: 0 ou 1, ligado ou desligado, atravs de sinais de tenso, contatos normalmente abertos e contatos normalmente fechados. Outro tipo so as entradas e sadas continuas que so padronizados para trabalhar numa faixa, normalmente, de 4 a 20 mA ou 0 a 10 Vdc. A diferena bsica entre mdulos e circuitos de E/S deve-se ao tipo de CLP. No caso dos CLPs compactos onde a CPU e as E/S esto contidas em um nico invlucro, usado o termo Circuitos de E/S. Para CLPs Modulares, onde as E/S esto disponveis de forma independente da CPU, usa-se o termo: Mdulo de E/S; Fonte de Alimentao: encarregada de fornecer alimentao ao barramento do CLP, com proteo contra picos de tenso, garantindo a operao normal da CPU e dos mdulos e circuitos de E/S; Base: realiza a sustentao mecnica dos elementos que compe o CLP e contem o barramento de conexo eltrico responsvel pela alimentao e comunicao entre a CPU e os mdulos de E/S. O sistema de memria da CPU de um CLP divide-se em memria de aplicao e memria do sistema de operao. A memria de aplicao armazena o programa com a lgica de controle desenvolvida pelo usurio, e pode ser do tipo EEPROM, EPROM ou RAM com bateria de segurana [1]. A memria do sistema de operao, tambm conhecida como Firmware, armazena o programa desenvolvido pelo fabricante do CLP, que realiza as atividades de operao, tais como: execuo do programa de aplicao e atualizao dos mdulos

17 de E/S. Essa uma memria no voltil, do tipo ROM. Na Figura 2 pode-se ver a estrutura bsica do sistema de memria de um CLP.

Figura 2 Estrutura Bsica do Sistema de Memria.

As CPUs possuem pelo menos uma porta de comunicao serial para configurao do CLP e troca de dados com dispositivos externos, porem est porta pode no ser adequada a determinadas aplicaes, sendo necessrio incluir mdulos especiais de comunicao [1]. A figura 3 apresenta algumas entradas e sadas tpicas de um CLP, bem como a utilizao de um microcomputador como dispositivo de programao.

Figura 3 Possveis entradas e sadas de um CLP.

18

Os CLPs podem ser classificados de acordo com a quantidade de pontos de E/S que a CPU pode controlar e a quantidade de memria disponvel para o programa de aplicao [1]. Micro-CLPs: at 64 pontos de E/S e at 2Kwords de memria. Pequenos CLPs: de 64 a 512 pontos de E/S e at 4Kwords de memria. CLPs mdios: de 256 a 2048 pontos de E/S e dezenas de Kwords de memria. Grandes CLPs: acima de 2048 pontos de E/S e centenas de Kwords de memria. 2.3 Principio de Funcionamento do CLP De maneira geral, os CLPs podem assumir trs estados de funcionamento: estado de espera, estado de execuo e erro.

Figura 4 Estados de um CLP.

O CLP assume o estado de espera quando est em modo de programao. Nesse modo, o CLP no executa o programa de aplicao, aguardando a requisio do software de programao para o carregamento do programa de aplicao com a lgica de controle definida pelo usurio.

19 Quando est no estado de execuo, tambm chamado de modo de operao, o CLP trabalha executando continuamente os ciclos de varredura (Scan), cuja durao (Scan Time) est diretamente relacionada quantidade de pontos de entrada, tamanho do programa de aplicao, tipos de instrues utilizadas e quantidade de pontos de sadas. O ciclo de varredura compreende as etapas de atualizao das entradas, execuo do programa de Aplicao e atualizao das sadas. Na figura 5 pode-se ver o fluxograma de funcionamento de um CLP em modo de operao [1].

Figura 5 Fluxograma de funcionamento de um CLP em modo de operao.

O CLP realiza a leitura do estado de cada uma das entradas e armazena na tabela de imagem das entradas, localizada numa regio da memria de aplicao chamada Tabela de Dados. Durante a execuo do programa de aplicao, a CPU consulta a tabela de imagem das entradas, e atualiza a tabela de imagem das sadas, de acordo com as instrues da lgica definida pelo usurio. Aps a execuo do programa de aplicao, o CLP atualiza o estado de cada uma das sadas com o contedo da tabela de imagem das sadas, gerada a partir da lgica executada. Inicia-se ento, um novo ciclo de varredura [1].

20

2.4 Linguagens de Programao O fator responsvel pela flexibilidade de um CLP a sua capacidade de ser facilmente programado atravs de um microcomputador. Ao longo dos anos, com a evoluo dos CLPs, surgiram diversas linguagens de programao, possibilitando o desenvolvimento de programas melhor estruturados, de alto nvel e com recursos grficos cada vez mais avanados. A Comisso Eletrotcnica Internacional (IEC - International Electrotechnical Committee) a responsvel pela padronizao dessas linguagens de programao. A norma IEC 61131-3 define cinco linguagens de programao, divididas em duas classes, conforme apresentado na Tabela 1 [3]. Classes Textuais Linguagens IL (Instruction List) ST (Structured Text) LD (Ladder Diagram) Grficas SFC (Sequential Flow Chart) FBD (Function Block Diagram)
Tabela 1 Classificao das linguagens de programao.

A Linguagem de diagramas de contato, mais conhecida por linguagem Ladder, foi a primeira linguagem criada para programao dos CLPs. Por ser uma linguagem baseada na representao grfica da lgica de rels, o Ladder foi determinante para a aceitao do CLP por tcnicos e engenheiros acostumados com o sistema de controle a rels [1]. Outra linguagem de programao para CLPs bastante familiar para os tcnicos e engenheiros, a Linguagem FBD que atualmente uma das linguagens de programao mais utilizada nas indstrias de processo por se parecer com o sistema em termos do fluxo de sinais entre elementos de processamento tornando mais clara a programao e inspeo do programa.

21

2.4.1 Linguagem FBD A Linguagem FBD (Function Block Diagram Diagrama de Blocos de Funo), mais conhecida por Diagrama de Blocos, uma linguagem grfica de alto nvel que permite descrever um processo atravs de um conjunto de blocos interconectados por linhas de fluxo, caracterizando-se por uma grande semelhana com os circuitos eletrnicos digitais [3]. As interconexes entre os blocos devem seguir a conveno utilizada para linguagens grficas. Nesta conveno, o lado esquerdo destinado para os sinais de entradas do bloco, enquanto o lado direito reservado para os sinais de sada do bloco. Na Figura 6 apresentada uma lgica em linguagem FBD que produz o resultado: S1 = E3 AND ( E1 OR E2 ).

Figura 6 Lgica em Diagrama de Blocos de Funo.

Cada bloco tem um nmero fixo de pontos de conexo de entrada e de sada, e representado por um simples retngulo. A sada de um bloco pode ser conectada a entrada de outro bloco, desta forma, os sinais se propagam das sadas dos blocos para as entradas de outros blocos e as sadas so atualizadas como um resultado do processamento dos blocos. Os blocos Funcionais padres da linguagem FBD so: Blocos Lgicos: OR, AND, XOR, NOT; Blocos Biestveis: RS e SR; Blocos Temporizadores: TON e TOF;

22 Blocos Contadores: CTU, CTD, CTUD; Blocos Detectores de Borda: R_TRIG e F_TRIG; Blocos Comparadores: EQ, NE, LT, LE, GT e GE.

23

DESENVOLVIMENTO DO HARDWARE
Neste captulo sero descritas todas as etapas do desenvolvimento do hardware

do micro-CLP, desde os aspectos tericos relacionado ao projeto at a construo dos circuitos eletrnicos. 3.1 Microcontroladores Os microcontroladores esto revolucionando o projeto de equipamentos eletrnicos. No somente os sistemas convencionais esto se tornando mais sofisticados e baratos, como novas funcionalidades esto sendo possveis de serem implementadas a um custo compatvel com o mercado. Tipicamente, os microcontroladores possuem integrados em uma nica pastilha, a CPU, memria RAM, memria EPROM (ou suas variantes EEPROM, ROM e PROM), entradas e sadas digitais e analgicas, temporizadores e controladores de interrupo, enfatizando a auto-suficincia, em contraste com um microprocessador de propsito geral, que requer circuitos especiais, como chips externos para prover a comunicao com os perifricos. A arquitetura geral de um microcontrolador pode ser vista na Figura 7 [6].

24

Figura 7 Arquitetura geral de um microcontrolador.

Existem diversas empresas fabricantes de microcontroladores, entre elas, a Microchip Technology Inc. que criou a famlia de microcontroladores Peripheral Interface Controller (PIC). Trata-se de microcontroladores com arquitetura Harvard que prev vrias vias de comunicao entre a CPU e os perifricos, permitindo a realizao de vrias operaes simultaneamente, o que implica em um aumento considervel na velocidade de execuo e permite ainda que a memria de dados e o programa tenham tamanhos diferentes [6]. O PIC possui tecnologia Reduced Instruction Set Computer (RISC), isto significa dizer que estes microcontroladores possuem um nmero reduzido de instrues, como o caso do PIC16F877A que possui apenas 35 instrues [8].

25 3.1.1 O PIC16F877A O PIC16F877A um microcontrolador de baixo custo e suficientemente robusto fabricado pela Microchip Technology, com palavras de dados de 8 bits de tamanho, e palavras de instruo de 14 bits. Suas principais caractersticas so [8]: 40 pinos, o que possibilita a montagem de um hardware capaz de interagir com diversos recursos e funes ao mesmo tempo; Conjunto de instrues RISC com 35 instrues; 33 portas configurveis como entrada ou sada; Conversor analgico-digital de 10 bits de resoluo e 8 canais de entrada; Memria de programao EEPROM, permitindo a gravao rpida do programa diversas vezes no mesmo chip, sem a necessidade de apag-lo por meio de luz ultravioleta; Memria de programa com 8kwords, com capacidade de escrita e leitura pelo prprio cdigo interno; Memria EEPROM interna com 256 bytes; Memria RAM com 368 bytes; Comunicaes seriais: SPI, I2C e USART; Dois mdulos CCP (Capture, Compare e PWM). Dois temporizadores de 8 bits programvel, com pr-divisor; Um temporizador de 16 bits; Operao em tenses de 2 a 5,5 volts; Freqncia de operao (clock) de at 20MHz. Para manter o nmero de terminais pequeno e ao mesmo tempo comportar o grande numero de perifricos, vrios pinos do PIC16F877A so multiplexados, ou seja, estes pinos possuem mais de uma funo. A seleo da funo depende do modo de operao do PIC [8].

26 A definio dos terminais do PIC16F877A apresentada na Figura 9 [6]:

Figura 8 Pinagem do PIC16F877A

3.2 O Padro RS485 O padro RS-485 administrado pela Telecommunication Industry Association (TIA) que responsvel pelo setor de comunicao da Electronic Industries Alliance (EIA). Ele chamado normalmente de RS485, entretanto seu nome oficial EIA-485, que reflete o nome do comit que no ano 1998 o padronizou. O padro RS-485 tem como propsito garantir a imunidade do sinal quanto s questes de rudo e distncia, desta forma o padro mais utilizado em ambiente industrial nos dias de hoje. O funcionamento fsico do padro RS485 baseado na transmisso diferencial de dados, sendo um padro ideal para transmisso em altas velocidades, longas distncias e em ambientes propcios a interferncias eletromagnticas. Este padro representa um baixo custo de implantao e pode transmitir dados a uma velocidade de at 10 Mbps e podendo suportar distncias de 1200 metros. Porm quanto maior for esta distncia, menor ser sua taxa de transmisso, conforme mostrado no grfico da Figura 9 [4].

27

Figura 9 Distancia x Taxa de transmisso.

Outra grande vantagem do padro RS-485 a facilidade de converso do padro RS-232 ao RS-485, simplesmente utilizando um circuito integrado e poucos componentes, com isso a compatibilidade com dispositivos j existentes no mercado mantida, visto que a maioria dos computadores possui portas de comunicao serial RS-232. O padro RS-485 no define e nem recomenda nenhum protocolo de comunicao [7]. A comunicao RS-485 realizada atravs de dois fios, sendo um deles chamado de A e o outro de B. Na Tabela 2 so descritos os estados lgicos de A e B de acordo com o dado que o transmissor precisa enviar:

Tabela 2 Tabela de estados lgicos de um transceptor RS-485.

Nota-se que quando o transmissor (INPUT D) fica em alto, a linha A fica mais positiva que a B e o inverso ocorre quando o estado inverte. H tambm uma linha de

28 controle chamada DE (habilitao da transmisso) e quando a mesma fica em nvel lgico baixo, o barramento fica em alta-impedncia. Para que o receptor identifique um sinal vlido, a diferena entre os terminais A e B deve ser maior que 200 mV. Na Figura 10 pode-se visualizar o grfico que mostra a transmisso do contedo binrio 01001 a uma taxa de 9600 bps no barramento RS-485.

Figura 10 Transmisso do contedo binrio no barramento RS-485.

3.3 Definies do Projeto O primeiro passo antes da implementao do hardware foi a elaborao de um esboo de uma aplicao bsica utilizando o micro-CLP. Neste esboo so definidos os elementos envolvidos no processo e os padres de comunicao a serem utilizados. Uma idia genrica pode ser observada na Figura 11.

29

Figura 11 Viso geral do sistema.

Com a viso geral do sistema em mente, o prximo passo foi definir a arquitetura bsica do hardware do micro-CLP de forma que atendesse os requisitos para o perfeito funcionamento da aplicao apresentada na Figura 11. Foram definidas as seguintes caractersticas para o hardware do CLP: 8 entradas digitais de 24V; 8 sadas digitais a rel; 1 porta de comunicao RS-485; 5 leds de indicao de status de sistema; 1 chave de controle de modo de operao. 3.4 Mdulo CPU No desenvolvimento do mdulo CPU, utilizou-se um microcontrolador PIC16F877A, um circuito integrado MAX485, uma memria EEPROM 24C16A,

30 alem dos componentes auxiliares, tais como capacitores, resistores, cristal, conectores e chaves. Uma viso geral da arquitetura do modulo CPU pode ser vista na Figura 12.

Figura 12 Viso geral da arquitetura do mdulo CPU.

O microcontrolador PIC16F877A o principal elemento deste mdulo, responsvel pela leitura das entradas, processamento do programa de aplicao, atualizao das sadas, alm de gerenciar toda a comunicao entre o CLP e o computador. O modulo CPU alimentado por uma fonte externa com tenso continua de 5V, cuja funo alimentar o circuito interno e fornecer a alimentao necessria aos mdulos de entradas e sadas. Um cristal oscilador 8Mhz est ligado ao microcontrolador determinando a sua freqncia de operao. 3.4.1 Memria e Protocolo I2C Para que os dados configurados pelo usurio no sejam perdidos quando ocorre uma queda de energia no sistema, os mesmos devem ser gravados numa memria no voltil.

31 Na etapa de definio do projeto, uma idia inicial foi a de utilizar a memria EEPROM do microcontrolador para armazenar o programa de aplicao. Tal idia logo se mostrou insuficiente, pois haveria pouco espao de memria de aplicao. Cada instruo do programa de aplicao ocupa 4 bytes e a memria EEPROM do microcontrolador possui 256 Bytes, desta forma, o usurio poderia escrever programas, que compilados, gerasse um cdigo com apenas 64 instrues. A idia de utilizar uma memria EEPROM 24C16A foi a soluo que possibilitou maior espao para armazenamento do programa de aplicao desenvolvido pelo usurio, alem de possibilitar a expansibilidade de memria do sistema. A comunicao entre o microcontrolador e a memria EEPROM 24C16A presente no mdulo CPU feita com o uso do protocolo I2C. Por ser um meio de comunicao sncrono, fcil seu entendimento. O controle feito apenas sobre duas vias de comunicao, o SDA e SCL. A primeira representa a via onde os dados sero transportados e a segunda porta o sinal de clock responsvel por controlar a transferncia de informaes entre os dispositivos. Toda vez que preciso realizar uma comunicao atravs do protocolo I2C, necessrio que seja enviar um sinal de start sinalizando que esta est pronta para efetuar a transmisso. Assim como o inicio da transmisso, o seu encerramento deve ser indicado atravs de um sinal de stop. A Figura 13 ilustra o formato de transmisso do protocolo I2C para gravar um byte na memria EEPROM [9].

Figura 13 Comunicao I2C.

32

Durante a comunicao, por serem sinais freqentemente utilizados, foram utilizadas funes pr-definidas no cdigo do firmware para o envio dos sinais de start e stop no barramento I2C. Outra funo utilizada para a configurao da memria, envia um fluxo de 8 bits atravs do barramento I2C, permitindo assim o envio de valores atravs do barramento, possibilitando a configurao, envio de endereos e de dados para a memria externa. Ao final do envio de cada byte a memria exige que o dispositivo atuando como master no circuito gere um nono pulso de clock para realizar a confirmao de que os dados foram enviados. Esta confirmao acontece quando a memria abaixa o nvel de tenso do SDA durante o nono ciclo de clock gerado pelo microcontrolador [9]. 3.4.2 Porta de comunicao A escolha do padro RS-485 como meio fsico de comunicao apresenta vrias vantagens, dentre elas, a construo de barramento simples, confivel e de baixo custo. O transceptor escolhido, modelo MAX485 da Maxim, pode ser encontrado no mercado com bastante facilidade. Neste projeto, a taxa de transmisso adotada foi a de 9600 Kbps de forma que a limitao da distncia no foi um problema para esta aplicao. As interpretaes das especificaes e as caractersticas do padro variam de fabricante para fabricante, porm essas especificaes devem ser seguidas pelos fabricantes dos chips que implementam o padro RS-485. Uma aplicao tpica da rede mostrada na Figura 14.

33

Figura 14 Aplicao tpica da rede RS-485.

O meio fsico implementado neste projeto constitudo por uma linha RS-485 que conecta o micro-CLP ao computador por meio de um conversor de comunicao RS-232 / RS-485. A rede desenvolvida suporta apenas comunicao half-duplex, ou seja, a comunicao ocorre em uma direo por vez, numa configurao ponto a ponto. Para ser possvel a troca de mensagens via RS-485 entre o micro-CLP e o computador, foi necessrio a introduo do transceptor MAX485 como citado anteriormente. A ligao fsica deste chip ao microcontrolador feita ligando-se os pinos 1 e 4 do MAX485 respectivamente nos pinos TX e RX do PIC16F877A. O pino RC2 congurado como sendo uma sada digital no microcontrolador, e est conectado aos pinos 2 e 3 do MAX485 realizando o controle do uxo de dados. Enquanto o micro-CLP est em modo de execuo, o computador colocado em modo de recepo por todo o tempo. Quando o micro-CLP posto em modo de programao, o microcontrolador envia uma mensagem permitindo que seja feito o carregamento do programa de aplicao, ento o mesmo colocado em modo de recepo e o computador passa a ser o transmissor. A alimentao deste chip feita de acordo com sua folha de dados [10].

34 3.5 Mdulo de Entradas Digitais Este mdulo foi desenvolvido de acordo com a definio feita na seo 3.3. Ele possui 8 entradas digitais com um nvel mximo de tenso de 24V. Todo o circuito do modulo de entrada est eletricamente isolado dos dispositivos externos atravs dos opto acopladores 4N25. O circuito possui um conector, cujo cabo conectado ao modulo CPU e pelo qual recebe uma tenso contnua de 5V para sua alimentao. Por esse cabo, tambm, em outras 8 vias, trafegam os dados para a comunicao com o microcontrolador. As entradas esto configuradas como sinking de forma que os dispositivos de campo precisam fornecer corrente ao circuito de entradas quando esto ativos. Tomando como exemplo a entrada E1 da Figura 15, pode-se descrever o comportamento do circuito quando aplicada uma tenso de 24V a uma das entradas. 1. O led de indicao de status da entrada E1 acende, demonstrando que a entrada est recebendo sinal do dispositivo externo. 2. estabelecida uma corrente no led do opto acoplador proporcionando um nvel de luz suficiente para saturar o foto-transistor 3. O modulo de entrada envia atravs de um flat cable, nvel lgico 1 para o pino RB0 do microcontrolador localizado no modulo CPU.

35

Figura 15 Circuito eltrico das entradas.

3.6 Mdulo de Sadas Digitais Este mdulo foi implementado seguindo as definies de projeto feitas na seo 3.3. Foram projetadas 8 sadas digitais a rel com contatos normalmente abertos. O circuito tambm isolado de interferncias externas por meio de opto acopladores. O circuito possui um conector, cujo cabo conectado ao modulo CPU e pelo qual recebe uma tenso contnua de 5V para sua alimentao. Por esse cabo, tambm, em outras 8 vias, trafegam os dados para a comunicao com o microcontrolador. Pode-se descrever o comportamento do circuito quando a CPU habilita a sada S1 da Figura 16. 1. O microcontrolador coloca nvel alto de tenso (5V) ao pino RD0 que est ligado ao canal 1 do mdulo de sada. 2. estabelecida uma corrente no led do opto acoplador proporcionando um nvel de luz no foto-transistor. 3. Ocorre a saturao do foto-transistor e conseqentemente a saturao do transistor BC549. 4. Ento, so conduzidos 5V para a bobina do rel que imediatamente fecha o contato da sada S1.

36

Figura 16 Circuito eltrico das sadas.

3.7 Conversor RS-232/RS-485 Para viabilizar os testes durante o desenvolvimento do projeto, possibilitando a comunicao entre o micro-CLP e o computador, foi construdo um conversor RS232/RS-485. Esta converso exigiu o uso de um transceptor MAX232 para realizar a converso RS-232/TTL e outro transceptor MAX485 para converter TTL/RS-485. Uma vez que a comunicao RS-485 escolhida half-duplex, faz-se necessrio o uso de um sinal extra para controlar o uxo entre o dispositivo transmissor e o receptor, de modo a estabelecer uma sincronia no barramento, possibilitando a comunicao. Para o computador, o sinal utilizado para controle de uxo o RTS (Request To Send) disponvel em um dos pinos da porta serial. Este sinal colocado em nvel baixo (3 a 15 volts negativos) para receber dados do microCLP. Quando o computador precisa transmitir dados, o RTS e colocado em nivel alto (3 a 15 volts positivos), e ento possvel iniciar o envio de dados para o micro-CLP. Estes sinais do padro RS-232 so convertidos para sinais TTL por meio do circuito integrado MAX232 e ligado nas portas 6 e 7 do transceptor MAX485 que implementa a comunicao com o micro-CLP atravs do padro RS-485.

37

Figura 17 Circuito conversor RS-232/RS-485.

3.8 Fonte de Alimentao Este projeto no contempla a construo de uma fonte de alimentao. A alimentao de 5V necessria para a alimentao dos mdulos do micro-CLP fornecida por uma fonte de computador. 3.9 Mapa de Conectores e Leds Indicadores de Status Os mdulos possuem pontos de entrada e sada de sinal, jumpers, conectores e leds indicadores de status. A Figura 15 apresenta os mdulos desenvolvidos com todos os pontos mencionados acima, destacados e numerados. Em seguida, cada item apresentado em detalhe mostrando-se o que representam e como so utilizados. Os elementos semelhantes dos diferentes canais so apresentados apenas uma vez.

Figura 18 Mapa de conectores e leds dos mdulos.

38

1. Entrada do canal: Recebe sinal dos dispositivos externos. 2. Led indicador de canal ativo: Acende quando o canal ativado por um dispositivo externo. 3. Led indicador de mdulo ligado: Indica que o mdulo est sendo alimentado. 4. Pinos de alimentao e dados: Pinos cujo cabo conectado aos pinos marcados com o numero 11 no mdulo CPU. Dos 10 pinos, 8 so para dados e 2 para a alimentao. 5. Jumper de escolha do modo de operao: Seleciona o modo de operao do micro-CLP. Uma chave pode ser conectada a este jumper de forma que ao fechar a chave, o micro-CLP entre em modo de execuo, e ao abri-la o micro-CLP entre no modo de programao. 6. Led indicador do modo de operao: Acende quando o micro-CLP est em modo de execuo. 7. Led indicador do modo de operao: Acende quando o micro-CLP est em modo de programao. 8. Led indicador de status: Acende quando o micro-CLP est sendo programado. 9. Led indicador de status: Acende durante a inicializao do sistema. 10. Conector de alimentao: o ponto de entrada da alimentao que fornecida a todo o circuito. 11. Pinos de alimentao e dados: Pinos cujo cabo conectado aos pinos marcados com o numero 4 no mdulo de entradas. 12. Pinos de alimentao e dados: Pinos cujo cabo conectado aos pinos marcados com o numero 14 no mdulo de sada. 13. Conector de comunicao: Possui dois canais, A e B, sendo os canais de comunicao RS-485 com o dispositivo externo.

39 14. Pinos de alimentao e dados: Pinos cujo cabo conectado aos pinos marcados com o numero 12 no mdulo CPU. Dos 10 pinos, 8 so para dados e 2 para a alimentao. 15. Led indicador de mdulo ligado: Indica que o mdulo est sendo alimentado. 16. Led indicador de canal ativo: Acende sempre que o canal est acionado. 17. Sada do canal: Bornes ligados diretamente aos terminais dos rels.

40

DESENVOLVIMENTO DO FIRMWARE
O firmware foi desenvolvido em linguagem C para microcontroladores, para

tanto, utilizou-se a ferramenta mikroC PRO, compilador desenvolvido pela empresa Mikroelektronika. O firmware est localizado na memria ROM do microcontrolador e tem por finalidade determinar como o micro-CLP deve operar, incluindo a execuo do programa de aplicao, gerenciamento da comunicao I2C com a memria EEPROM e atualizao dos mdulos de E/S. Tambm tm como funo gerenciar a comunicao RS-485 atravs da interface de comunicao USART do microcontrolador. 4.1 Instrues A elaborao das instrues internas do micro-CLP foi baseada na configurao do hardware e definida de acordo com as funes projetadas na seo 5.3.2. O formato das instrues apresentado na Tabela 3. Byte 0 Opcode Byte 1 Operando 1 Byte 2 Operando 2 Byte 3 Operando 3

Tabela 3 Formato das instrues internas do micro-CLP.

Cada instruo composta por 4 bytes, o primeiro byte o cdigo da operao, denominado Opcode, e contem o cdigo da operao a ser realizada. Os bytes seguintes so os operandos e podem especificar endereos de E/S, dados literais ou endereos de memria. Na Tabela 4 so apresentadas todas as instrues projetadas para o micro-CLP.

41 Operao AND OR XOR NOT FF-SR MOVE FF-RS TON TOF Byte 0 (Opcode) 00000001 00000010 00000011 00000100 00000111 00001000 00001001 12 ~ 133 134 ~ 254 Instruo Byte 1 Byte 2 Op1 Op2 Op1 Op1 Op1 Op1 Op1 Op1 Op1 Op1 Op2 Op2 Op2 Op2 Op2 Op2 Op2 Op2 Byte 3 Op3 Op3 Op3 -Op3 -Op3 ---

Tabela 4 Lista de instrues.

O modo de endereamento de cada operando definido de acordo com seu valor. A Tabela 5 apresenta a relao dos modos de endereamento de acordo os valores do operando. Valor do operando 1~8 128 ~ 192 240 e 241 Modo de endereamento Descrio Direto Indireto Constante literal E/S do micro-CLP Endereos de posio auxiliar de memria 240 = falso 241 = Verdadeiro no vetor

Tabela 5 Modos de endereamento.

Quando o valor do operando corresponde ao modo de endereamento direto, o microcontrolador faz a leitura ou a escrita diretamente nas entradas e sadas do microCLP. Se o valor do operando corresponde ao modo de endereamento indireto, o microcontrolador faz a leitura ou escrita em uma das 64 posies de memria reservada para manipulao da operao MOVE. Operandos com o contedo 240 e 241 representam respectivamente os valores verdadeiro e falso. Este valor atribudo diretamente operao.

42 Sendo que cada instruo composta por 4 bytes e a capacidade mxima de armazenamento da memria EEPROM de 2048 bytes, possvel o carregamento de um programa de aplicao com at 512 instrues. As instrues cujo opcode possui valores entre 12 e 133 so interpretadas pelo microcontrolador como sendo uma instruo do tipo TON com o tempo prselecionado equivalente a expresso (opcode - 12). Da mesma forma, instrues com opcode contendo valores entre 134 a 254 so interpretados pelo microcontrolador como sendo uma instruo do tipo TOF com o tempo pr-selecionado equivalente a expresso (opcode - 134). Isto significa que podemos pr-selecionar valores de tempo limitados a 120 segundos. O operando 3 dos temporizadores poder ser til para o desenvolvimento futuro de funes de temporizao com pr-seleo de tempos superiores a 120 segundos. 4.2 Cabealho Para a manipulao das funes de temporizao, reservou-se uma estrutura de dados com capacidade de armazenamento de at 10 temporizadores. Para o armazenamento dos valores dos operandos em modo de endereamento indireto, reservou-se 64 bytes na memria de operao. A estas posies reservadas na memria do microcontrolador deu-se o nome de cabealho. As operaes de escrita e leitura do cabealho ocorrem ao longo da execuo das instrues. Quando o ciclo de varredura executado pela primeira vez, todas as instrues de temporizao so identificadas e atribudas a uma das estruturas reservadas para os temporizadores, passando o valor de tempo pr-selecionado para determinados parmetros da estrutura. A partir de ento, todas as operaes necessrias para temporizao, tais como o incremento e decremento dos temporizadores so baseados na escrita e leitura de valores nessas estruturas. A varivel reservada para os operandos endereados indiretamente acessada toda a vez que uma instruo contm um operando correspondente ao modo de

43 endereamento indireto, podendo ser lida ou escrita a qualquer momento durante a execuo do programa de aplicao. 4.3 Interrupes Uma interrupo um evento que fora uma chamada a uma seqncia de dados que normalmente definida como uma rotina ou servio de interrupo. Essas interrupes podem ser geradas por eventos externos ou internos. Fontes tpicas de interrupo pode ser um sinal externo ligado ao pino RB0 previamente configurado, uma mudana de estado nas entradas RB4 RB7, recepo de um dado pelo perifrico USART ou o overflow de algum contador na mudana de valor de 0xFF para 0x00. Na interrupo, o processador salva o endereo de retorno na pilha e o controle de programa redirecionado rotina de servio de interrupo [8]. Quando ocorre uma interrupo no microcontrolador, o programa sempre desvia para o mesmo endereo. Porem, na implementao do firmware foram utilizadas duas interrupes, sendo uma pela USART e outra pelo TIMER1. Portanto fez-se necessrio identificar qual fonte gerou a interrupo, para que seja feito o seu tratamento adequado. Utilizou-se a interrupo pela USART, para que, quando uma solicitao de carregamento do programa de aplicao for efetuada pelo software de programao, a mensagem com a solicitao seja imediatamente armazenada no microcontrolador, sem correr o risco da mensagem ser perdida total ou parcialmente por estar o microcontrolador ocupado com outra tarefa. A interrupo pelo TIMER1, ocorre a cada 5ms, e utilizada para determinar o tempo do ciclo de varredura. 4.4 Comunicao Conforme mencionado na seo 4.3, a comunicao entre o computador e o microcontrolador gera uma interrupo pela USART, que imediatamente armazena o contedo dos dados da mensagem enviada pelo computador em uma variavel. As mensagens vindas do computador possuem 7 bytes, porm apenas 2 deles contm efetivamente os dados recebidos, um deles contm o valor a ser gravado na

44 memria EEPROM durante a programao do micro-CLP e o segundo realiza o controle de recebimento de dados (CR). A Tabela 6 mostra os valores utilizados para o controle de envio de dados.

Valor de CR 0xFD 0xFF 0xFE

Descrio Solicitao de Carregamento Inicia o carregamento das instrues. Fim da gravao das instrues
Tabela 6 Valores utilizados no controle de envio de dados.

As mensagens enviadas pelo micro-CLP ao computador so formadas por 4 bytes de contedo de dados, o primeiro contm o modo de operao atual, o segundo realiza o controle de envio de dados (CE), o terceiro informa os valores das entradas e o quarto informa os valores atuais das sadas do micro-CLP. A Tabela 7 mostra os valores utilizados para o controle de envio de dados. Valor de CE 0x40 0x01 0x3F Descrio Permisso de Carregamento Indica o envio dos valores de E/S e modo de operao. Confirma o fim da gravao das instrues
Tabela 7 Valores utilizados no controle de recebimento de dados.

A comunicao entre o micro-CLP e o computador durante o carregamento do programa de aplicao mostrada no fluxograma da Figura 19.

45

Figura 19 Fluxograma da comunicao durante o carregamento do micro-CLP.

46 4.5 Principais Rotinas Nesta seo analisaremos algumas das principais rotinas do firmware executado pelo microcontrolador. A Figura 20 apresenta o fluxo de execuo do firmware do micro-CLP.

Figura 20 Fluxo de execuo do firmware.

Inicialmente

so

configurados

alguns

parmetros

de

hardware

do

microcontrolador e perifricos a serem utilizados, tais como a comunicao I2C, TIMER1 e o mdulo UART responsvel pela comunicao serial com o transceptor MAX485.

47

Na rotina principal so inicializados os contedos das variveis, feita a inicializao do micro-CLP desativando todas as sadas, e os leds de indicao so seqencialmente acionados, um a cada vez, indicando ao usurio a inicializao do micro-CLP. Ento realizada a primeira leitura das entradas armazenando-as na varivel de imagem das entradas. Depois de inicializar e ler todas as entradas segue-se para o trecho em que feita a verificao da posio da chave de seleo do modo de operao. Se esta chave encontra-se em modo de execuo, inicia-se o ciclo de varredura executando os seguintes passos. 1. O Contador de Programa (CP) recebe o endereo da primeira instruo. 2. A instruo contida no endereo apontado por CP transferido da memria EEPROM externa para a memria RAM do microcontrolador. 3. O Opcode da instruo reconhecido direcionando o programa para o trecho de tratamento da operao. 4. identificado o modo de endereamento de cada operando. 5. Os valores apontados pelos operandos so passados como parmetros da operao a ser realizada. 6. O resultado da operao armazenado no bit da varivel de imagem das sadas indicado pelo operando. 7. A sada do micro-CLP atualizada de acordo com a varivel de imagem das sadas. 8. O microcontrolador envia uma mensagem para o computador, cujo contedo composto pelos estados das entradas e sadas e o modo de operao. 9. O CP automaticamente incrementado apontando para o endereo da prxima instruo a ser executada.

48 O contador de programa automaticamente incrementado para cada ciclo de instruo de forma que as instrues so executadas seqencialmente at que seja encontrado o fim do programa identificado por uma seqncia de 4 bytes com valores zero. Ento, o CP retorna a zero fazendo com que a primeira instruo do programa de aplicao seja novamente executada. Para o controle do tempo de varredura (scan time) do micro-CLP, utilizou-se a interrupo pelo TIMER1 do microcontrolador. Configurou-se o TIMER1 para gerar uma interrupo que executa uma rotina cuja funo incrementar uma varivel chamada CONT a cada 5ms. O programa entra em estado de espera enquanto esta varivel possui valor menor que 40. Quando CONT igual a 40, o programa prossegue com a execuo das rotinas seguintes, garantindo que cada ciclo de varredura seja executado exatamente em 200ms. Se a varredura do programa de aplicao concluda em um tempo inferior ao scan time, o microcontrolador fica em espera at que se passe 200ms, para ento realizar a atualizao das sadas e o envio das mensagens para o computador. Ao final de cada ciclo de varredura a varivel CONT zerada para que o ciclo seguinte seja concludo com o mesmo tempo, 200ms. O fluxograma da Figura 21 ilustra o funcionamento do controle do Scan Time.

Figura 21 Funcionamento do controle do Scan Time.

49

Ao final de cada ciclo de varredura, realizada uma nova verificao da posio da chave de modo de operao. Se a chave encontra-se em modo de programao, as etapas seguintes so realizadas. 1. As sadas recebem valor zero e enviado o modo de operao atual para a porta de comunicao avisando que o micro-CLP est pronto para ser programado. 2. O programa de execuo entra em estado de espera aguardando pela solicitao de programao enviada pelo software de programao. 3. O software de programao solicita o carregamento do programa de execuo. 4. O microcontrolador concede a autorizao de carregamento e o led de indicao de carregamento acende sinalizando o inicio da programao, neste momento, todos os bytes enviados pelo software de programao so armazenados na memria EEPROM at que o software sinalize o fim do carregamento. 5. So carregados 4 bytes com valor zero na memria, logo aps a ultima instruo carregada sinalizando que naquele ponto est o fim do programa de execuo. 6. O microcontrolador envia uma mensagem sinalizando a fim do carregamento e o sucesso da operao, conseqentemente o software emite uma mensagem sinalizando que o carregamento foi concludo com xito. A partir deste ponto, o programa de aplicao est completamente carregado na memria EEPROM e o micro-CLP pronto para entrar em modo de execuo.

50

DESENVOLVIMENTO DOS SOFTWARES


O primeiro passo para o desenvolvimento dos softwares de superviso e

programao foi a definio da linguagem de programao a ser utilizada. A escolha da linguagem de programao para realizar a interface com o usurio foi baseada em uma das principais caractersticas do C++, o suporte a programao orientada a objetos. Desta forma, possvel o desenvolvimento de softwares que proporcionam uma aparncia sofisticada e ao mesmo tempo uma interface fcil, intuitiva e amigvel ao usurio. 5.1 Linguagem C++ O C++ foi desenvolvido por Bjarne Stroustrup durante a dcada de 1980 com o objetivo de melhorar a linguagem de programao C, mantendo a compatibilidade com esta linguagem. A linguagem C serviu de inspirao para o desenvolvimento da linguagem C++ por possuir uma proposta de uso genrico, ser rpida e portvel para diversas plataformas. A linguagem C++ pode ser considerada como uma linguagem de nvel intermedirio, pois apensar de utilizar um dialeto de nvel alto, possibilita ao programador facilidades para se trabalhar em nvel baixo, como manipulao de bits, bytes e endereos de memria de maneira direta, sem recorrer a abstraes apresentadas por outras linguagens de alto nvel [11]. As principais vantagens do C++ so listadas a seguir: Possibilidade de programao de alto e baixo nvel. Alta flexibilidade, portabilidade e consistncia. Compatibilidade com C, resultando em vasta base de cdigos. Ampla disponibilidade e suporte, devido principalmente grande base de desenvolvedores. No est sob o domnio de uma empresa, ao contrario de linguagens como Java (Sun) e Visual Basic (Microsoft).

51 A linguagem C++ uma das linguagens que suportam vrios paradigmas. Sendo uma evoluo da linguagem C, ela suporta inteiramente o paradigma da programao estruturada. Alm disso, ela suporta outros paradigmas como a programao procedural, a programao genrica, abstrao de dados e a programao orientada a objetos [11]. Dentre estes paradigmas, o mais utilizado atualmente a Programao Orientada a Objetos, ou simplesmente OOP (Object Oriented Programming). A idia bsica da OOP criar um conjunto de objetos para modelar um sistema. Estes objetos so independentes entre si, possuindo responsabilidades e funes distintas no programa como um todo, mas que se comunicam entre si atravs do envio e recebimento de mensagens. A OOP especialmente til para grandes programas que se beneficiam com a modularidade oferecida por este paradigma, dividindo o programa em vrios mdulos independentes, aumenta-se a flexibilidade e a facilidade para manuteno do programa como um todo [11]. 5.2 Ambientes de Desenvolvimento Ambientes de Desenvolvimento Integrado (IDE - Integrated Development Enviroments) so programas que auxiliam os desenvolvedores no processo de criao de aplicativos. Esses aplicativos podem ser desenvolvidos utilizando apenas um editor de texto e um compilador de linha de comando, mas, at mesmo para pequenas aplicaes, gerar interfaces grficas e cdigo repetitivo tornam a tarefa extremamente cansativa e passvel de erros. Os IDEs comumente oferecem, entre outras facilidades, fcil acesso s bibliotecas de componentes grficos atravs de barras de ferramentas que permitem arrastar e soltar os objetos nos formulrios, verificao e colorizao de sintaxe e compilao automatizada [12]. 5.2.1 O Ambiente de Desenvolvimento C++ Builder O C++ Builder um ambiente de desenvolvimento de aplicaes baseado no conceito denominado RAD (Rapid Application Development Desenvolvimento

52 Rpido de Aplicao), isto permite ao programador criar todas as telas do aplicativo de uma forma totalmente visual, apenas adicionando os objetos grficos ao formulrio. Aps a criao da interface do aplicativo, o programador pode desenvolver a lgica e o processamento das informaes do usurio atravs da incluso do cdigo de programao em C++. Alem das caractersticas acima, por ser totalmente orientado a objeto, o C++ Builder possibilita a reutilizao de cdigos em varias outras aplicaes atravs de recursos que permitem transformar essas rotinas em componentes. Os arquivos executveis gerados pelo C++ Builder so auto-suficientes, ou seja, no precisam de bibliotecas de ligao dinmica (DLL Dynamic link library) para interpretar o cdigo compilado [12]. 5.3 Software de Programao em FBD Todo o software de programao foi desenvolvido em linguagem C++, utilizando-se o ambiente de desenvolvimento Borland C++ Builder 6. Para a implementao dos recursos grficos oferecidos pela linguagem FBD utilizou-se a VCL (Visual Component Library - Biblioteca de Componentes Visuais) disponvel no C++ Builder, alem de componentes externos. O uso de componentes facilitou a programao, visto que todos os objetos j esto prontos, disponibilizando mais tempo para o desenvolvimento da lgica. O componente ComPort 3.0 foi utilizado para estabelecer a comunicao serial entre o PC e o micro-CLP. Ele oferece todo o suporte necessrio para realizar a comunicao serial, com um equipamento externo, inclusive o controle do sinal Request to Send (RTS), utilizado para o controle de sentido de transmisso de dados necessrio para emprego do padro RS485. 5.3.1 Definio do Layout O desenvolvimento de qualquer programa criado a partir de uma linguagem orientada a objetos torna necessria uma definio inicial do layout do aplicativo.

53 Para a definio do layout, foram analisadas diversas caractersticas desejadas em um software de programao de CLP, obedecendo aos padres de interface estabelecidos pela norma IEC 61131-3. Na Figura 22 mostrado o layout final do software de programao.

Figura 22 Layout final do software de programao em FBD.

O software composto por trs formulrios. O primeiro formulrio corresponde a janela principal do aplicativo, o segundo possui a rea de desenvolvimento do programa em FBD e o terceiro contm as propriedades de comunicao e carregamento do programa de aplicao no micro-CLP. Uma vez definido o layout, foi necessrio encontrar uma soluo que possibilitasse desenhar os blocos funcionais e as ligaes entre eles, assim como as atribuies das variveis e o preenchimento de parmetros em determinados blocos. Aps pesquisar e analisar diversos componentes do C++ builder disponveis na rede mundial de computadores, optou-se por utilizar a verso 1.7 do componente

54 Diagram Studio da TMS software. Esse componente fornece todas as ferramentas necessrias para a criao dos diagramas de blocos e linhas de conexo em tempo de execuo do programa [13]. 5.3.2 Funes Projetadas Na seo 2.4.1 foi apresentado o conjunto bsico de blocos funcionais da linguagem FBD. Estes blocos so freqentemente utilizados na definio de blocos mais complexos. Neste projeto, foram desenvolvidos apenas os blocos funcionais bsicos, conforme mostrado na Figura 23.

Figura 23 Blocos funcionais desenvolvidos.

Optou-se por utilizar nomenclaturas de funes em ingls devido ao fato de ser a mais comumente utilizada nos softwares de programao de CLP disponveis no mercado. Tambm foram definidas as variveis de representao direta, ou seja, variveis de leitura e escrita de dados em posies conhecidas de memria, tais como entradas, sadas e constantes discretas.

55 Os blocos funcionais e as variveis de entradas e sadas foram desenvolvidos com base em um mtodo disponvel no objeto atDiagram do componete Diagram Studio. Este mtodo possibilita a criao de um arquivo com todos os objetos do diagrama em formato de texto. Desta forma, para cada bloco funcional, foram criados arquivos com todos os parmetros do objeto FBD. Nestes parmetros informado o nome do bloco, titulo do bloco, dimenso, posio, pontos de conexo e nome dos pontos de conexo. Quando um bloco funcional adicionado ao diagrama de blocos pelo usurio, executada a funo ADD_BLOCK(). Esta funo executa o mtodo que salva o desenho atual em um arquivo temporrio em formato de texto, em seguida adiciona no final deste arquivo os parmetros contidos no arquivo fonte do bloco escolhido, e para finalizar a insero do novo bloco, executa outro mtodo do atDiagram que permite a importao do arquivo temporrio e todos os objetos nele declarado, concluindo a insero do novo bloco funcional ao formulrio de desenho. 5.3.3 Canais Disponveis para a Programao Com base na arquitetura definida na seo 3.3, foram criados 8 variveis de entrada e 8 variveis de sadas, alm de constantes do tipo booleano. A Figura 24 mostra a representao grfica dessas variveis no software de programao. Os valores reconhecidos pelas variveis so descritos a seguir. E1 E8 Entradas fsicas do micro-CLP; S1 S8 Sadas fsicas do micro-CLP; B0 e B1 Constantes do tipo booleano;

Figura 24 Representao grfica das entradas e sadas.

56 5.3.4 Desenhando o FBD Os objetos da linguagem FBD, tais como funes, variveis e linhas de conexo podem ser adicionados ao formulrio de desenho atravs do menu mostrado da Figura 25. Este menu exibido ao clicar com o boto direito do mouse sobre qualquer parte do formulrio de desenho atravs do evento OnMouseDown do objeto atDiagram. Alem disso, este menu disponibiliza as ferramentas bsicas de edio, tais como editar e excluir.

Figura 25 Layout final do software de programao em FBD.

Os blocos funcionais podem ser interligados atravs da ferramenta LINHA, permitindo a composio da lgica de controle desejada. 5.3.5 Compilao e Carregamento A compilao a etapa em que o software l o programa fonte escrito em linguagem FBD e o traduz para outro programa equivalente, porm escrito em uma linguagem de seqncia de bytes, chamado programa objeto. Todo o processo de compilao baseado na identificao e interpretao das linhas de conexo. Quando uma conexo entre objetos efetuada, criada uma instncia da classe atDiagramLine, onde os nomes dos dois objetos interligados so guardados em uma propriedade deste objeto chamada LinkPoint.

57 Ao iniciar a compilao, a funo Compilar_Prog() primeiramente utiliza o mtodo SaveToFile(arquivo) do componente Diagram Studio para criar um arquivo temporrio contendo todos os objetos FBD inseridos pelo usurio, inclusive as instancias de atDiagramLine que contem todas as informaes de interligao entre objetos. A partir de ento, o processo de compilao dividido em varias partes, como mostrado na Figura 26.

Interface de programao em linguagem FBD

Analise Lxica

Analise Sinttica

Analise Semntica

Gerao do programa em cdigo de mquina

Envio do cdigo de mquina pela porta de comunicao serial

Figura 26 Etapas de compilao e carregamento do programa de aplicao.

Na anlise lxica o analisador lxico recebe como entrada o prprio programa fonte e identifica os elementos mais bsicos do programa, como nomes das variveis e funes. O resultado deste processo um vetor de tokens, onde cada um dos tokens um representante de um dos objetos do programa fonte. Na anlise sinttica o analisador sinttico recebe como entrada o vetor de tokens gerado pelo analisador lxico. Sua funo identificar as interligaes entre os objetos FBD e agrupar os tokens de acordo com estas interligao, determinando a estrutura do programa-fonte. Na anlise semntica o analisador semntico recebe como entrada os dados estruturados pela analise sinttica. Nessa etapa so realizadas todas as verificaes no

58 programa, como por exemplo, a verificao se um operador recebeu o nmero correto de operando. Por ultimo, na fase de gerao do cdigo, os dados j processados pelas fases anteriores so subdivididos em instrues de 4 bytes, cuja estrutura apresentada na seo 4.1. Com o programa objeto criado, inicia-se a etapa de carregamento no microCLP. Nessa etapa, os bytes do programa objeto so enviados um a um para a memria EEPROM do micro-CLP atravs da comunicao serial estabelecida pelo componente Com Port 3.0. 5.4 Software Supervisrio O software supervisrio foi desenvolvido no ambiente de desenvolvimento Borland C++ Builder 6 utilizando a linguagem C++. Assim como no desenvolvimento do software de programao, utilizou-se a VCL do C++ Builder, alem de componentes adicionais provendo todos os recursos necessrios, facilitando o desenvolvimento das funcionalidades bsicas de um software de superviso. 5.4.1 Sistema de Superviso e Aquisio de Dados Os sistemas SCADA (Supervisory Control and Data Acquisition) so sistemas destinados superviso, controle e aquisio de dados de plantas industriais, fornecendo ao operador a interao com o processo atravs de suas interfaces grficas [3]. O sistema supervisrio possui dois modos de funcionamento, o modo de desenvolvimento e o modo de execuo. No modo de desenvolvimento disponibilizado um ambiente para criao de telas grficas onde as representaes do processo podero ser desenhadas e as variveis de processo podero ser vinculadas a um objeto grfico.

59 Em modo de execuo, todas as telas e funcionalidades programadas no modo de desenvolvimento so executadas interagindo com o CLP em tempo real, mostrando o sistema em operao [3]. 5.4.2 Definies A definio das funcionalidades bsicas o ponto principal no desenvolvimento do supervisrio. Embora os atuais softwares de superviso permitir o controle das variveis de processo, dentre muitos outros recursos avanados, optou-se em implementar apenas os recursos de superviso devido ao fato do projeto contemplar apenas variveis discretas, tornando desnecessrios os ajustes de variveis em tempo real. A interface final do software de superviso mostrada na Figura 27.

Figura 27 Layout final do software de superviso.

Toda a rea de edio grfica est baseada no componente Diagram Studio 1.7 da TMS software. Esse componente fornece todo o suporte necessrio para o desenvolvimento das telas de superviso.

60 Em modo de desenvolvimento, o componente Diagram Studio configurado para permitir a criao e a alterao dos objetos de desenho da interface grfica. O usurio pode ento inserir, modificar e excluir qualquer objeto. O principal recurso desenvolvido permite a insero de variveis no supervisrio, proporcionando o acompanhamento em tempo real dos valores das entradas e sadas do micro-CLP. Em modo de execuo, essas variveis so animadas alterando sua cor de acordo com o estado das E/S referenciadas. 5.4.3 Comunicao com o CLP O software de superviso, assim como o software de programao, utiliza o componente ComPort 3.0 para realizar a comunicao entre o micro-CLP e o computador. A cada ciclo de varredura, o micro-CLP envia uma mensagem com informaes dos valores das E/S e o modo de operao a qual ele se encontra. Estas mensagens so interpretadas e os valores das entradas, sadas e modo de operao do micro-CLP so identificados e armazenados na varivel de imagem no supervisrio. Caso ocorra timeout, ou seja, o supervisrio no receba nenhuma mensagem originada do micro-CLP durante um intervalo de 3 segundos, uma mensagem com uma exclamao exibida na tela sinalizando a falha de comunicao. Para a atualizao das telas do supervisrio, foi utilizado um Timer que executa uma rotina de atualizao a cada 50ms. Nesta rotina de atualizao, os valores da varivel de imagem so utilizados para atualizao das cores dos objetos na tela do supervisrio. O fluxograma da Figura 28 apresenta o funcionamento bsico do software de superviso.

61

Figura 28 Fluxograma do funcionamento bsico do software de superviso.

62

TESTES E RESULTADOS
Ao longo do desenvolvimento do hardware e dos softwares foram realizados

diversos testes individuas para validar o funcionamento de cada um deles. Neste capitulo so apresentados os testes realizados com o objetivo de analisar o funcionamento do sistema como um todo. Para isso, utilizou-se uma aplicao de controle de um sistema de despoeiramento simulado em uma maquete contendo os principais tipos de atuadores e sensores utilizados no sistema de escala real. As telas de superviso e lgicas de controle foram desenvolvidas com base no funcionamento dos sistemas de despoeiramento utilizados nas usinas de pelotizao da VALE. 6.1 Sistema de Despoeiramento A maquete desenvolvida est baseada em um sistema de despoeiramento denominado Coluna Lavadora. A Coluna Lavadora um equipamento anti-poluente, que tem por tarefa, succionar material particulado nos pontos geradores, diluir em gua e encaminh-lo para reaproveitamento em alguma parte do processo, possibilitando a reduo da emisso de particulados e a reciclagem do material capturado. 6.2 Programao da Lgica em FBD Inicialmente, foram definidas as entradas e sadas a serem utilizadas no controle do equipamento. A descrio das entradas e sadas so apresentadas na Tabela 8 e Tabela 9.

63

Entrada do micro-CLP E1 E2 E3 E4 E5 E6 E7 E8

Sensor / Chave Nvel (25%) Nvel (50%) Nvel (75%) Nvel (100%) Nvel (40%) Nvel (70%) Nvel (90%) Chave de Emergncia

Componente do equipamento Tanque coletor Tanque coletor Tanque coletor Tanque coletor Tanque reservatrio Tanque reservatrio Tanque reservatrio --

Tabela 8 Descrio das entradas do micro-CLP.

Sada do micro-CLP S1 S2 S3 S4 S5

Atuador Motor 1 Motor 2 Bomba 1 Bomba 2 Bomba 3

Componente do equipamento Ventilador Misturador de polpa Bomba de abastecimento de gua ao tanque coletor Bomba de recalque de polpa Bomba de abastecimento de gua ao tanque reservatrio

Tabela 9 Descrio das sadas do micro-CLP.

Aps a definio da configurao das entradas e sadas, estudou-se a lgica de funcionamento da coluna lavadora e desenvolveu-se o programa em linguagem FBD, conforme apresentado na Figura 29.

64

Figura 29 Programa FBD do controle da coluna lavadora.

6.3 Criao da Tela de Superviso A tela de superviso foi desenhada com base na estrutura real da coluna lavadora, podendo ser vista na Figura 30.

Figura 30 Telas de superviso da coluna lavadora.

65

6.4 Resultados Para a validao final do sistema, foi montada uma plataforma de teste composta por todos os elementos desenvolvidos ao longo do projeto, tais como o micro-CLP, o conversor RS-232/RS485, o software de superviso e o software de programao em FBD. Na Figura 31 pode-se visualizar a plataforma montada para a realizao dos testes.

Figura 31 Plataforma de testes.

A maquete de simulao do sistema de despoeiramento foi projetada utilizando bombas de aqurio com potncia de 3,8W e tenso de 127VAC, coolers de 12Vdc, alm de sensores baseados na condutividade ligados a um circuito comparador que gera 5V quando os sensores esto em contato com a gua. Durante os testes, constatou-se a ocorrncia de interferncias no canal de comunicao do micro-CLP quando as cargas indutivas eram acionadas. Este

66 problema logo foi solucionado com a utilizao de snubbers, circuitos RC conectados as sadas usadas para o acionamento das bombas. O comportamento do sistema foi analisado e os resultados so descritos a seguir. A bomba de abastecimento de gua do tanque reservatrio acionada e s desliga quando o nvel atinge 90%, a partir deste ponto, ela s volta a ser acionada quando o nvel do tanque inferior a 70%, caracterizando uma histerese; Quando o tanque reservatrio atinge 40%, o ventilador ligado e aps 10 segundos acionada a bomba de abastecimento de gua do tanque coletor; Quando o nvel do tanque coletor atinge 25%, o misturador de polpa acionado. Quando o nvel do tanque coletor atinge 75%, a bomba de recalque de polpa acionada e s desliga quando o nvel do tanque coletor se encontrar abaixo de 50%. Se por algum motivo o nvel do tanque coletor alcanar 100%, a bomba de abastecimento de gua do tanque coletor desligada. Quando a chave de emergncia pressionada por 8 segundos, inicia-se o a seqncia de desligamento do sistema. O ventilador e as bombas so desligados, porem o misturador de polpa e a bomba de recalque de polpa continuam ligados at que o nvel do tanque coletor se torne menor que 25%, que em seguida so desligados. Pode-se perceber que os resultados apresentados pelo sistema durante a realizao dos testes so exatamente compatveis com a lgica de controle implementada na seo 6.2. O software de superviso possibilitou o acompanhamento do sistema em tempo real e seu comportamento tambm foi exatamente como o esperado.

67 Em um modo geral, o trabalho atingiu os seus objetivos, os resultados foram satisfatrios. O correto funcionamento do sistema desenvolvido foi comprovado por meio dos testes realizados. O micro-CLP desenvolvido apresentado na Figura 32.

Figura 32 Plataforma de testes.

68

CONCLUSES
Atravs deste trabalho foi possvel constatar que o universo de aplicaes dos

controladores lgicos programveis est em grande expanso, impulsionando o estudo e desenvolvimento de dispositivos que atendam a diversos tipos e nveis de complexidade. Neste projeto foi possvel construir um micro-CLP com um custo reduzido e desempenho capaz de satisfazer os requisitos de controle dos sistemas de baixa complexidade. A utilizao de um microcontrolador como o principal elemento do sistema, mostrou-se suficientemente robusto e atendeu a todas as expectativas, mesmo utilizando o mnimo seus recursos disponveis. O projeto tambm contemplou a construo de um software de superviso e o desenvolvimento de um software de programao em linguagem FBD. Embora tenham sido projetadas apenas as funes bsicas de um controlador lgico programvel, foi possvel desenvolver lgicas de controle com nveis de complexidade acima do previsto com resultados extremamente satisfatrios. Este projeto reuniu uma enorme gama de conhecimentos adquirido ao longo do curso de Engenharia Eltrica com habilitao em computao, dos quais podemos citar os conhecimentos de eletrnica e sistemas embutidos ao construir o hardware, estrutura de dados e compiladores, instrumentao, ao elaborar os softwares, automao e ao realizar as definies e aplicaes do projeto, entre outras

disciplinas que indiretamente contriburam para o desenvolvimento do projeto. De acordo com os resultados dos testes, pode-se dizer que o objetivo do projeto foi alcanado. Entretanto, mesmo com os resultados satisfatrio, este projeto demonstra ter um grande potencial de aplicaes, possibilitando a incluso de diversos novos recursos e ferramentas. Desta forma sugere-se como projetos futuros a implementao de canais e funes que manipulam dados analgicos, expanso do numero de entradas e sadas, comunicao utilizando a tecnologia ethernet e compatibilidade com os protocolos de redes industriais, como o Modbus.

69 APNDICE A CIRCUITO DO MDULO CPU

70 APNDICE B CIRCUITO DO MDULO DE ENTRADAS

71 APNDICE C CIRCUITO DO MDULO DE SADAS

72 REFERNCIAS BIBLIOGRFICAS

[1] GEORGINI, Marcelo. Automao Aplicada Descrio e Implementao de Sistemas Seqenciais com PLCs, 4 Edio, rica, 2003. [2] NEMA. Disponvel em <http://www.nema.org>. Acessado em 18/11/2010. [3] Moraes, C.C. & Castrucci, P de L, Engenharia de Automao Industrial, LTC, 2007. [4] MATIAS, Juliano. Entenda o protocolo eltrico RS-485. Mecatrnica Atual, So Paulo, n. 4, Jun. 2002. [5] AXELSON, Jan. Serial port complete - programming and circuits for RS-232 and RS-485 links e networks. Third Edition, Madison, 2000. [6] [7] Microchip. 28/10/2010. National semiconductor, Application Note 409 - Transceivers and Repeaters Meeting the EIA RS-485 Interface Standard, Disponvel em <http://www.national.com/an/AN/AN-409.pdf>. Acessado em 12/11/2010 [8] Souza, D.J. & Lavinia, N.C., Conectando o PIC: Recursos Avanados, 3 Edio, rica. [9] ATMEL, EEPROM 24C16A Datasheet, Disponvel em <http://www.atmel.com>. Acessado em 02/10/2010 [10] MAXIM, MAX485 Datasheet, Disponvel em <http://www.maxim-ic.com>. Acessado em 13/10/2010. [11] STROUSTRUP, Bjarne, The C++ Programming Language, Third Edition, Addison Wesley. 1997. [12] ALVES, Willian Pereira. C++ Builder 6 - Desenvolva Aplicaes para Windows, 2 Edio, Editora rica, 2007. [13] TMS Software, Diagram Studio. <www.tmssoftware.com>. Acessado em 05/01/2010. Disponvel em <http://www.microchip.com>. Acessado em

You might also like