Você está na página 1de 104

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CINCIAS EXATAS E NATURAIS CURSO DE CINCIAS DA COMPUTAO (Bacharelado)

PROTTIPO DE REDE INDUSTRIAL UTILIZANDO O PADRO SERIAL RS485 E PROTOCOLO MODBUS

TRABALHO DE CONCLUSO DE CURSO SUBMETIDO UNIVERSIDADE REGIONAL DE BLUMENAU PARA A OBTENO DOS CRDITOS NA DISCIPLINA COM NOME EQUIVALENTE NO CURSO DE CINCIAS DA COMPUTAO BACHARELADO

JUDSON MICHEL CUNHA

BLUMENAU, DEZEMBRO/2000 2000/2-31

PROTTIPO DE REDE INDUSTRIAL UTILIZANDO O PADRO SERIAL RS485 E PROTOCOLO MODBUS


JUDSON MICHEL CUNHA
ESTE TRABALHO DE CONCLUSO DE CURSO, FOI JULGADO ADEQUADO PARA A OBTENO DOS CRDITOS NA DISCIPLINA DE TRABALHO DE CONCLUSO DE CURSO OBRIGATRIA PARA OBTENO DO TTULO DE: BACHAREL EM CINCIAS DA COMPUTAO

___________________________________________________ Prof. Srgio Stringari Orientador da FURB

___________________________________________________ Prof. Jos Roque Voltolini da Silva Coordenador do TCC

BANCA EXAMINADORA

___________________________________________________ Prof. Antonio Carlos Tavares

__________________________________________________ Prof. Miguel Alexandre Wisintainer

___________________________________________________ Prof. Srgio Stringari

ii

No existe o caminho para a felicidade, pois ela o prprio caminho

iii

minha me Ingrit, minha irm Lenaide e minha v Lcia, pelo amor e dedicao a minha formao pessoal e incentivo busca do conhecimento

iv

AGRADECIMENTOS
Muitas pessoas contriburam para a realizao desse trabalho, s quais quero agradecer de maneira especial. minha famlia que esto sempre ao meu lado, pelo seu incentivo, pela sua dedicao minha formao, e pela vida familiar e afetiva tanto nos momentos difceis quanto nos bons momentos da minha vida. Ao professor Srgio Stringari, meu orientador e amigo, que me apoiou e sempre esteve disposto a me ajudar e esclarecer as dvidas. Aos meus amigos, pessoas importantes que de alguma maneira ajudaram-me a superar obstculos e seguir em frente. A Paulo Lange, diretor da empresa DWA, pela sua disponibilidade e apoio no esclarecimento das dvidas e desenvolvimento do trabalho. Pela sua compreenso aos momentos em que tive que me ausentar da empresa. A algum muito especial em minha vida. Pelo seu amor, seu afeto e seu companheirismo. E por tudo aquilo que as palavras no conseguem expressar... A todos que de alguma forma contriburam para minha formao acadmica e pela elaborao desse Trabalho de Concluso de Curso.

SUMRIO
LISTA DE FIGURAS .........................................................................................: LISTA DE TABELAS ........................................................................................: LISTA DE QUADROS .......................................................................................: LISTA DE ABREVIATURAS ...........................................................................: GLOSSRIO ...................................................................................................... : RESUMO ............................................................................................................ : ABSTRACT ........................................................................................................ : 1 INTRODUO ............................................................................................ : 1.1 OBJETIVOS ................................................................................................. : 1.2 ORGANIZAO DO TEXTO ..................................................................... : 2 REDES INDUSTRIAIS ................................................................................. : 2.1 NVEIS DAS REDES INDUSTRIAIS ......................................................... : 2.1.1 O PRIMEIRO NVEL (ADMINISTRAO) ........................................... : 2.1.2 O SEGUNDO NVEL (CLULAS) .......................................................... : 2.1.3 O TERCEIRO NVEL (SENSORES E ATUADORES) ........................... : 2.2 ESTRUTURA DE COMUNICAO .......................................................... : 2.3 TOPOLOGIAS .............................................................................................. : 2.3.1 PONTO-A-PONTO ................................................................................... : 2.3.2 MULTI PONTO ......................................................................................... : 2.3.3 ESTRUTURAS MISTAS ........................................................................... : 2.3.3.1 ESTRELA ................................................................................................: 2.3.3.2 BARRA ................................................................................................... : 2.3.3.3 HIERRQUICA ......................................................................................: 2.3.3.4 ANEL ...................................................................................................... : 2.3.3.5 DISTRIBUDAS ..................................................................................... : 2.4 MEIOS DE TRANSMISSO ....................................................................... : 2.4.1 PADRES SERIAIS .................................................................................. : 2.4.1.1 RS232C ....................................................................................................: 2.4.1.2 RS422 ...................................................................................................... : 2.4.1.2 RS423 ...................................................................................................... : 2.4.1.3 RS485 ...................................................................................................... : 2.5 TCNOLOGIAS DE REDES INDUSTRIAIS ............................................. : x xii xiii xiv xv xvi xvii 01 02 02 04 06 08 08 09 09 11 11 12 12 12 12 13 13 14 14 15 15 15 16 16 16

vi

2.5.1 AS-I (ACTUATOR SENSOR INTERFACE) .............................................: 2.5.2 PROFIBUS (PROCESS FIELD BUS) ....................................................... : 2.5.2.1 PROFIBUS-DP ........................................................................................: 2.5.2.2 PROFIBUS-PA ........................................................................................: 2.5.3 INTERBUS .................................................................................................: 2.5.4 BITBUS ...................................................................................................... : 2.5.5 CAN ........................................................................................................... : 2.5.6 SERCOS ..................................................................................................... : 3 PROTOCOLO MODBUS ............................................................................. : 3.1 MODELO MESTRE-ESCRAVO ................................................................. : 3.1.2 CICLO DE QUESTO-RESPOSTA DO MESTRE ESCRAVO (UM MESTRE E N ESCRAVOS) ........................................................ : 3.3 MODELO MESTRE-ESCRAVO (N MESTRES E N ESCRAVOS) ... : 3.4 MODELOS DE TRANSMISSO SERIAL COM MODBUS ..................... : 3.4.1 MODO ASCII ............................................................................................ : 3.4.2 MODO RTU ............................................................................................... : 3.4.3 FORMATO DAS MENSAGENS NO MODBUS ..................................... : 3.4.3.1 FORMATO ASCII ...................................................................................: 3.4.3.2 FORMATO RTU .....................................................................................: 3.4.4 CONTROLE DO CAMPO DE ENDEREO ............................................ : 3.4.5 CONTROLE DO CAMPO DE FUNO ................................................. : 3.4.6 CONTROLE DO CAMPO DE DADOS .................................................... : 3.4.7 CONTROLE DO CAMPO DE ERRO ....................................................... : 3.4.8 CLCULO DE PARIDADE ...................................................................... : 4 MEIO DE TRANSMISSO RS485-RS232C ............................................... : 4.1 DESCRIO DO BARRAMENTO RS485 ................................................. : 4.2 DESCRIO DO BARRAMENTO RS232C .............................................. : 4.3 INTERFACES RS485 PARA RS232C E VICE-VERSA .............................: 4.4 ESPECIFICAO TCNICA DOS PADRES SERIAIS ..........................: 4.5 API DO WINDOWS PARA ACESSO A PORTA SERIAL ......................... : 5 AMBIENTE DE TRABALHO ...................................................................... : 5.1 MQUINA DE EMPACOTAR .................................................................... : 5.2 CONTROLADOR DE PESO ........................................................................ : 5.2.1 CLULA DE CARGA ............................................................................... :

16 18 18 18 19 20 20 21 23 23 24 25 25 26 26 27 27 28 29 29 29 30 30 31 31 32 34 35 36 37 37 39 41

vii

5.2.2 CPU (UNIDADE CENTRAL DE PROCESSAMENTO) ......................... : 5.2.2.1 ESPECIFICAO DA PROGRAMAO DO CONTROLADOR DE PESO ................................................................................................ : 5.2.3 PNEUMTICA .......................................................................................... : 5.2.4 MOTOR DE CORREO .........................................................................: 6 DESENVOLVIMENTO DO PROTTIPO .................................................: 6.1 ESPECIFICAO DO PROTTIPO .......................................................... : 6.1.1 DESCRIO DOS PASSOS ..................................................................... : 6.1.2 DIAGRAMA DE FLUXO DE DADOS (DFD) ......................................... : 6.1.3 FLUXOGRAMA DA CHAMADA DAS FUNES ............................... : 6.1.4 NCLEO DE COMUNICAO ............................................................... : 6.1.5 ESPECIFICAO MODBUS ................................................................... : 6.1.6 FUNES DESENVOLVIDAS ................................................................: 6.1.6.1 LERPRODUCAO ....................................................................................: 6.1.6.2 LERPESO ................................................................................................ : 6.1.6.3 LERCLASSIFICADOR .......................................................................... : 6.1.6.4 LERPROGRAMACAO .......................................................................... : 6.1.6.5 LERDIARIO ........................................................................................... : 6.1.6.6 LEREMBALAGEM ................................................................................ : 6.1.6.7 LERINMETRO ....................................................................................... : 6.1.6.8 APAGARPRODUCAO ........................................................................... : 6.1.6.9 APAGARPESO ....................................................................................... : 6.1.6.10 APAGARDIARIO ................................................................................. : 6.1.6.11 ESCREVERPROGRAMACAO ............................................................: 6.1.6.12 ESCREVEREMBALAGEM ................................................................. : 6.1.6.13 ESCREVERCLASSIFICACAO ........................................................... : 6.1.7 RETORNOS DAS FUNES ................................................................... : 6.1.7.1 PROBLEMAS NA PORTA SERIAL RETORNO 0 ........................ : 6.1.7.2 ERRO DE TIME OUT RETORNO 1 ............................................... : 6.1.7.3 SEM NOVOS DADOS RETORNO 2 .............................................. : 6.1.7.4 ERRO DE RECAPO CHECK5P RETORNO 3 .........................: 6.1.7.5 LTIMO COMANDO EXECUTADO RETORNO 4 ..................... : 6.1.7.6 COM NOVOS DADOS RETORNO 5 ............................................. : 6.1.7.7 ERRO DE PARIDADE RETORNO 6 ............................................. :

42 44 44 45 46 46 47 47 48 54 55 56 56 56 56 57 57 57 57 58 58 58 58 59 59 63 63 63 64 64 64 64 64

viii

6.1.7.8 ERRO DE CONTINUIDADE RETORNO 7 ................................... : 6.2 IMPLEMENTAO .................................................................................... : 6.2.1 AMBIENTE DE IMPLEMENTAO ..................................................... : 6.2.2 RECURSOS DE HARDWARE NECESSRIO ....................................... : 6.2.3 PROTTIPO .............................................................................................. : 6.2.3.1 TELA PRINCIPAL DO PROTTIPO ................................................... : 6.2.3.2 TELA DA PRODUO DO SISTEMA ................................................ : 6.2.3.3 TELA DE MONITORAO DO SISTEMA ......................................... : 6.2.3.4 TELA DE CONFIGURAO SERIAL DO SISTEMA ........................ : 6.2.4 TESTES E VALIDAO DO PROTTIPO ........................................... : 7 CONCLUSO .................................................................................................: 7.1 EXTENSES ................................................................................................ : 8 REFERNCIAS BIBLIOGRFICAS ......................................................... : 9 ANEXOS ....................................................................................................... : 9.1 ANEXO 1 ...................................................................................................... : 9.2 ANEXO 2 ...................................................................................................... :

65 66 66 66 67 69 72 75 77 80 81 82 83 86 87 108

ix

LISTA DE FIGURAS
Figura 2.1 Distribuio dos dispositivos em uma rede industrial ......................: Figura 2.2 Nveis de uma rede industrial ............................................................: Figura 2.3 Modelo das estruturas da rede industrial ...........................................: Figura 3.1 Pergunta e resposta pelo protocolo Modbus .....................................: Figura 4.1 Transmisso no barramento RS485 ..................................................: Figura 4.2 Pinagem do conector RS232C DB9 ................................................. : Figura 4.3 Transmisso de um byte assncrono ..................................................: Figura 5.1 Mquina de empacotar viso frontal .................................................: Figura 5.2 Mquina de empacotar viso lateral ..................................................: Figura 5.3 Ciclo de fechamento do pacote .........................................................: Figura 5.4 Controlador de peso instalado na mquina de empacotar..................: Figura 5.5 Clula de carga ..................................................................................: Figura 5.6 CPU do controlador de peso .............................................................: Figura 5.7 Cilindro pneumtico ......................................................................... : Figura 5.8 Motor de correo ............................................................................ : Figura 6.1 Diagrama macro do ambiente ...........................................................: Figura 6.2 Diagrama do fluxo de dados .............................................................: Figura 6.3 Chamada das funes no prottipo ...................................................: Figura 6.4 Processo principal ............................................................................ : Figura 6.5 Processo de produo ....................................................................... : Figura 6.6 - Processo de Monitorao ................................................................. : Figura 6.7 Programao Serial .......................................................................... : Figura 6.8 Salvar Serial ..................................................................................... : Figura 6.9 Ncleo de comunicao ....................................................................: Figura 6.10 Especificao Modbus no prottipo.................................................: Figura 6.11 Funo de Leitura ...........................................................................: Figura 6.12 Funo de excluso ........................................................................ : Figura 6.13 Funo de escrita de dados .............................................................: Figura 6.14 Pinagem da Rede ............................................................................ : Figura 6.15 Tela de entrada do prottipo ............................................................: Figura 6.16 Tela de produo .............................................................................: 07 08 11 25 32 33 35 38 38 39 41 42 43 45 45 46 47 48 49 50 51 52 53 54 55 60 61 62 67 69 72

Figura 6.17 Tela de monitorao ........................................................................: Figura 6.18 Tela de configurao serial .............................................................:

75 77

xi

LISTA DE TABELAS
Tabela 3.1 Formato da mensagem Modbus em ASCII ..................................... : Tabela 3.2 Formato da mensagem Modbus em RTU ...................................... : Tabela 4.1 Especificao tcnica dos padres seriais ....................................... : 28 28 35

xii

LISTA DE QUADROS
Quadro 5.1 Esquema simplificado interno do controlador de peso ............................ : 42 Quadro 6.1 Retorno da configurao da porta serial .................................................. : 70 Quadro 6.2 Abertura da porta serial ........................................................................... : 71 Quadro 6.3 Clculo do desempenho da rede .............................................................. : 73 Quadro 6.4 Busca e gravao dos dados de produo ................................................ : 74 Quadro 6.5 Funo de monitorao ............................................................................ : 76 Quadro 6.6 Fechamento da porta serial ...................................................................... : 79 Quadro 6.7 Padronizao de timeout .......................................................................... : 79

xiii

LISTA DE ABREVIATURAS
PC Personal Computer RS Recommended Standard JIT Just in Time TQM Gerenciamento Total da Qualidade CLP Controlador Lgico Programvel DLL Dinamic Link Library API Application Program Interface TX Transmisso RX Recepo CNC Controle Numrico Computadorizado ISO - International Standard Organization Mbps Megabits por segundo Ms milisegundos INMETRO Instituto de Metrologia CI Circuito Integrado Bps bits por segundo HCB Host Controller Board LCR Longitudinal Redundancy Check CRC Cycling Redundancy Check CR Carry Return PPM Pacotes por minuto

xiv

GLOSSRIO
Layouts Forma de organizar os objetos em um espao fsico Reset Processo informatizado para excluso de dados Array Lista encadeada ou no encadeada de variveis computacionais

xv

RESUMO
Este trabalho tem por objetivo principal, especificar e implementar um prottipo de sistema para comunicao serial entre controladores de peso CHECK 5P, da empresa DWA, utilizando os padro RS232C e RS485 como meio de transmisso serial e o protocolo Modbus, para troca de mensagens entre os controladores de peso e o microcomputador. O prottipo, ir disponibilizar os dados sobre o processo de empacotamento, armazenados em memria RAM dos controladores de peso, para serem processados e analisados por softwares de programao e controle de produo, que sigam as especificaes do prottipo, como forma de aquisio de dados. Como objetivos secundrios, ser apresentado um estudo sobre as tecnologias de redes industriais, o protocolo Modbus e os padres seriais RS232C e RS485.

xvi

ABSTRACT
The main objective this work is to specify and to implement a system prototype to serial communication between checkweigh Check 5PA, by DWA Company, using the RS232C and RS485 standard like way to do serial transmition and the Modbus protocol, to change the messages between checkweighers and computer. The prototype will be to arrange the datas about packaging process, stored in RAM memory from checkweighers, to be processed and analysed for the programation softwares and prodution control, it follow the prototype specifications, like way datas acquisition. It will be show like secondary objectives a study about industries nets tecnology, the Modbus protocol and the RS232C and RS485 serial standard.

xvii

1 INTRODUO
Hoje em dia, v-se na grande maioria das empresas, que muitos processos, principalmente os burocrticos, esto informatizados para se obter uma maior agilidade, tanto na entrada das informaes, quanto na recuperao da mesma ([MAR20000]). Um problema enfrentado por muitas empresas, no que se refere a automatizao da obteno de dados, est nas informaes geradas no cho de fbrica, ou seja, nos equipamentos de produo. Especificamente pode-se citar as mquinas de empacotamento e controle de peso ([URB1993]). Algumas empresas de automao, percebendo o nicho de mercado, favorecidos tambm pela legislao, investiram em controladores de peso, o que no simplesmente uma balana, pois as balanas somente pesam, e os controladores, fazem a dosagem certa para que os produtos dentro do pacote, tenham pesos condizentes com a lei. Como exemplo, cita-se a empresa DWA, referindo-se em controladores de peso, e seu controlador de peso CHECK 5P. Como tratava-se de equipamentos de alta tecnologia e igualmente caros, comeou-se a pensar sobre algumas utilidades que o equipamento pudesse fornecer, alm, claro, do controle do peso ([URB1993]). Pode-se citar o armazenamento de quantidades produzidas, programao remota do equipamento, interligao desses equipamentos com um Computador Pessoal (PC), alm de outras. Dentre as vrias formas de interligar dois ou mais equipamentos computacionais, utiliza-se mais comumente a comunicao serial ou paralela dos atuais PCs ([TAN1994]). Segundo Tanenbaum ([TAN1994]), um PC utiliza a tecnologia RS232C, (Recommended Standard) definida da estrutura IBM-PC, como forma de acesso ao meio fsico. O RS485 um dos padres de comunicao serial e bidirecional utilizados em

aplicaes industriais. Os padres seriais RS485 e RS232C definem as caractersticas eltricas para cada interface ([KLI1999]). Outro aspecto, na comunicao serial entre equipamentos, o protocolo que ir efetuar a conexo e troca de mensagens entre eles. Como modelo de estudo, seguir-se-, a proposta do Modbus no modo difuso, que segundo Morais ([MOR2000]), os equipamentos

xviii

so os escravos e a sua atividade na rede consiste em responder s questes emitidas pelo PC, ou seja, o mestre. O mestre pode questionar um escravo em particular e esperar pela sua resposta (modo questo/resposta), ou, pode enviar uma ordem comum a todos os escravos (modo difuso).

1.1 OBJETIVOS
Este trabalho tem por objetivo principal, especificar e implementar um prottipo de sistema para comunicao serial entre controladores de peso CHECK 5P, da empresa DWA, utilizando os padres RS232C e RS485 como meio de transmisso serial e o protocolo Modbus, para troca de mensagens entre os controladores de peso e o microcomputador. Para a realizao desse trabalho, deve-se considerar outros objetivos tidos como secundrios: a) estudo da mquina de empacotar e controlador de peso, para compreender o processo e a contextualizao do problema; b) estudo dos padres seriais RS223C e RS485; c) estudo do protocolo Modbus.

1.2 ORGANIZAO DO TEXTO


Para um melhor entendimento, este trabalho est organizado em 7 captulos. O captulo 1 descreve os objetivos desse trabalho, bem como trata-se de uma introduo s redes industrias. O captulo 2 descreve as redes industriais, as tecnologias disponveis no mercado e a forma de funcionamento delas. O captulo 3 descreve o protocolo implementado no desenvolvimento desse trabalho, o Modbus.

xix

No captulo 4 ter-se- uma explanao mais especfica sobre os padres RS232C e RS485, a compatibilidade entre eles, suas especificaes e sua implementao a nvel de mercado. No captulo 5 ser descrito o ambiente de trabalho. Ser apresentada a mquina de empacotar e sua forma de funcionamento e tambm o controlador de peso, com suas caractersticas e forma de funcionamento. No captulo 6 ser abordado o prottipo a nvel de especificao e implementao. mostrado o funcionamento interno do prottipo, as ferramentas utilizadas na especificao e o fluxograma dos processos. Na implementao sero apresentadas tambm todas as telas do prottipo e sua forma de utilizao, a nvel de usurio, como tambm algumas funes relevantes s telas descritas. Por fim, no captulo 7 conclui-se o trabalho com a exposio das idias relativas ao mesmo, resultados alcanados e resultados esperados, e a avaliao do prottipo.

xx

2 REDES INDUSTRIAIS
Segundo Delgado ([DEL2000]), desde os tempos mais remotos, o homem quer libertar-se do trabalho muscular, animal e das tarefas pesadas. Para isso vem-se desenvolvendo estratgias e mecanismos que permitam essa finalidade. Juntamente com essas estratgias, vem conseguindo maior velocidade na execuo das tarefas, menores tempos de paradas, menor nmero de acidentes e a obteno de produtos em quantidade maior e maior qualidade. O objetivo foi desde sempre fazer a dosagem correta dos trs componentes fundamentais no processo produtivo, que so eles: a matria, a informao e a energia. De incio, a automatizao era caracterizada por pequenas ilhas com operaes automatizadas, onde o fator humano era fundamental como elemento integrador e sincronizador de todas as operaes. Este estgio caracterizava-se, por um elevado nmero de operrios, a existncia de grandes estoques e layouts no otimizados. Caminhou-se depois para solues de automatizao centralizada. Nestas, toda a informao centralizada num nico local, onde so tomadas todas as decises e de onde partem todas as ordens. Com este nvel, os layouts foram melhorados, o nmero de operrios bastante reduzido, mas continua a existir um nvel considervel de estoque. Aps a dcada de 60, com o desenvolvimento e a utilizao crescente de unidades de processamento de informao, as funes de conduo dos processos foram sendo cada vez mais distribudas pelo terreno e junto dos locais onde so necessrias, surgindo assim o que atualmente designado por Arquiteturas Distribudas ou por Sistemas de Controle Hierrquico Distribudo. Este nvel de automatizao caracteriza-se por uma gesto global e integrada da informao, pela reduo de estoques a nveis mnimos, pela insero de CNCs (controladores numricos computadorizados), de manipulao (Robs), pela reduo drstica do nmero de operrios, sendo em alguns setores praticamente nulo na rea diretamente relacionada com a produo, pela utilizao dos modernos conceitos de JIT (Just-in-Time) e TQM (Total Quality Management) e ainda por uma utilizao muito mais intensiva dos equipamentos.

xxi

Para que esses conceitos fossem aplicados, e no se perdesse o controle principalmente da informao e operao, segundo Lima ([LIM2000]), um dos fatores importantes na empresa a rede industrial de comunicao de dados, pois ela a responsvel pela troca de informaes e a sincronizao entre os processos envolvidos. Algumas caractersticas das redes industriais so apresentadas abaixo:
a) o ambiente hostil para operao de equipamentos. H muitas perturbaes eletromagnticas, elevadas temperaturas, sujeira, etc.;

b) a troca de informaes ocorre entre equipamentos e no entre um operador e o equipamento; c) os tempos de resposta e a segurana dos dados so crticos em diversas situaes; d) uma grande quantidade de equipamento pode estar conectada na rede; e) h tempo de acesso ao meio fsico; f) na transmisso de cdigos de comando, leitura de medidores e comando de atuadores, um erro em um bit pode ter conseqncias desastrosas. Vencidas essas barreiras, grandes avanos ocorreram a nvel de cho de fbrica, onde os equipamentos CNCs, CLPs (Controlador Lgico Programvel), entre outros comearam a comunicar-se com o mundo exterior. Porm, cada fabricante definia um protocolo proprietrio e a integrao destes sistemas tornou-se impraticvel. Para solucionar estes problemas, muitas empresas comearam a desenvolver projetos de arquiteturas para ambientes industriais, que integrassem sistemas heterogneos de diferentes fabricantes, suportando tanto as operaes de cho de fbrica quanto as funes de apoio produo ([LIM2000]). Desta forma, equipamentos produzidos por fabricantes diferentes poderiam ser facilmente incorporados instalao, simplesmente conectando-os ao sistema de comunicao. Atualmente no Brasil, com a globalizao da economia e o aumento da competitividade, as empresas esto sendo obrigadas a adquirir um alto grau de aperfeioamento dos processos e o gerenciamento das informaes, possibilitando o aumento da produtividade e a reduo dos custos. Os nveis de qualidade dos processos devem ser

xxii

garantidos atravs de normas tcnicas, operacionais e auditorias peridicas que permitem o reconhecimento atravs dos certificados ISO ( International Standard Organization) . Atravs dos sistemas de automao industrial e redes industriais possvel controlar cada etapa dos processos, fazendo com que a prpria aplicao defina quais so os procedimentos adotados para cada tarefa e monitore grande parte dos trabalhos dos operadores. Um dos problemas na obteno e gerenciamento das informaes a dificuldade de se alimentar os sistemas com dados, obtidos normalmente atravs de um processo de digitao. Essa maneira de entrar com as informaes nos computadores um processo muito lento e apresenta o grande inconveniente de estar sujeito a erros. Segundo Ribeiro ([RIB2000]), pior que no se coletar a informao coletar essa informao com erros, o que pode distorcer os relatrios gerenciais e dificultar a anlise dos resultados da empresa e na tomada de decises. Esta crescente automao nas indstrias brasileiras vem sendo impulsionada principalmente por trs fatores: a) as empresas sentem cada vez mais a necessidade de reduo de custos; b) os preos dos equipamentos e sistemas vem caindo significativamente; c) a capacidade destes mesmos sistemas vem crescendo em progresso geomtrica.

2.1 NVEIS DAS REDES INDUSTRIAIS


As redes de comunicao industrial, basicamente se caracterizam pela relao informaes versus tempo. As diversas propostas para se interligarem equipamentos industriais com computadores que tratam as informaes, buscam sempre estruturas que garantam a segurana na transmisso dos dados, e a velocidade de comunicao ([SIL2000]). Um ponto importante a salientar, que uma nica rede, atende normalmente aos diversos nveis propostos. Por exemplo, pode-se citar um controlador programvel, que comanda dispositivos como sensores, atuadores, etc, no nvel de dispositivos de campo, e ao mesmo tempo, fornece informaes para um sistema supervisrio no nvel de informao.

xxiii

Outro aspecto a velocidade das redes industriais. Costuma-se medir a velocidade pela taxa de transmisso de bits (meio fsico), depois pelo protocolo utilizado e o mecanismo de troca de dados. Estes, podem ser tanto softwares de controle implementados em PCs ou em CLPs. Porm, o principal responsvel pelo desempenho, inverso ao apresentado acima, No adianta comunicar a altas velocidades, com informaes mal dispostas ou redundantes. Na figura 2.1, pode-se observar melhor a distribuio dos dispositivos em uma rede industrial, bem como o montante de dados envolvidos e tempos em cada nvel. Com maior quantidade de dados e maior tempo temos os servidores, estaes de trabalho (PC) e mestres da rede, abaixo j reduzindo a quantidade de dados e tempo, tem-se os controladores de processos (Robs e as vezes CLP). Como terceiro nvel e com quantidade de dados reduzida e tempos menores, tem-se os atuadores, que so dispositivos responsveis por alguma tarefa especfica. Figura 2.1 Distribuio dos dispositivos em um rede industrial ([MON2000])

xxiv

Na figura 2.2 so apresentados os nveis das redes industriais. Figura 2.2 Nveis de uma rede Industrial ([SIL2000])

2.1.1 O PRIMEIRO NVEL (ADMINISTRAO)


No topo da pirmide (primeiro nvel) est situada a empresa atravs de uma viso macro, tendo todas as aes da rede de comunicao dirigidas para o controle gerencial da produo. Neste nvel esto envolvidos a administrao, gerncia, contabilidade, compras, vendas, produtividade, estratgias de ao, banco de dados, entre outros. Os controladores presentes neste nvel so, basicamente, PCs na arquitetura padro de Cliente-Servidor, distribudos em topologias das mais diversas, como: barra, anel, rvore ou outras. Segundo Silverado ([SIL2000]), em termos de comunicao neste nvel que a quantidade de informaes gigantesca, porm, os desenvolvimentos atuais de redes de comunicao padro Ethernet, Fast-Ethernet ou outros, conseguem atingir um tempo de resposta de at 1000ms (milisegundos) uma velocidade de comunicao que pode variar de 10 a 100Mbps (mega bits por segundo).

2.1.2 O SEGUNDO NVEL (CLULAS)


No segundo nvel esto localizados os controladores que gerenciam processos, linhas de montagens ou mesmo mquinas automticas. A comunicao neste nvel feita entre os mestres ou gerentes das clulas. Podem ser citados tambm os CNCs, PCs utilizados em controle de processos ou CLPs no comando de mquinas automticas. Estes diversos

xxv

controladores se comunicam entre si atravs de um protocolo padro definido no projeto da rede, e a comunicao com o nvel mais superior (administrao) feito atravs de um equipamento (PC) colocado estrategicamente na fbrica. Esse PC faz a coleta das informaes necessrias a ser transmitidas ao nvel superior. Neste segundo nvel as redes caracterizam-se por possurem uma quantidade de informaes (trfego) mdia, o que resulta num tempo de resposta nunca maior do que 100ms a uma velocidade que pode chegar at 12Mbps.

2.1.3 O TERCEIRO NVEL (SENSORES E ATUADORES)


No nvel mais baixo da pirmide est localizado o barramento de campo, que responsvel pela comunicao entre os dispositivos mais simples, utilizados no cho da fbrica (sensores e atuadores) e seus respectivos controladores. A comunicao neste nvel feita da seguinte forma: um dos controladores acima citado possui um mestre de rede, este mestre porm, possui escravos aos quais so conectados os sensores e atuadores inteligentes ou convencionais presentes no sistema. A forma fsica de conexo ou a topologia empregada depende de cada tipo de barramento. Este nvel se caracteriza, em termos de comunicao, por possuir uma quantidade de informaes baixa trafegando na rede, trabalhando com velocidades e taxas de transmisso baixas que chegam at 2Mbps aproximadamente 10ms ([MON2000]). e tempo de resposta de

2.2 ESTRUTURA DE COMUNICAO


Partindo-se agora para a forma de comunicao dos equipamentos em uma rede industrial, verifica-se que a camada de enlace, responsvel pelo mecanismo de entrega de pacotes, segundo modelo OSI, tem sido implementada tradicionalmente em redes industrias com a estrutura origem/destino e produtor/consumidor. Tambm podem ser chamadas de estruturas mestre/escravo ou modo difuso ([ROG2000]). Na estrutura mestre/escravo, cada n da rede tem uma identificao, para a qual o equipamento mestre da rede envia os dados para um n especfico. Sendo assim, enviase a mensagem ao n da rede e espera-se pelo retorno. A implementao, dessa estrutura, torna-se ineficiente quanto se deseja transmitir um mesmo dado para mais de um n da rede,

xxvi

pois como ela trabalha com o endereamento deve-se mandar a mesma informao para todos os ns da rede, aumentando o trfego da rede e constituindo um operao repetitiva.

Segundo Moraes ([MOR2000]), o mestre tem quatro atividades na rede:


a) assegurar a troca de informao entre os escravos. Como os escravos no podem se comunicar entre si, o mestre ir coordenar o trfego de informaes;

b) assegurar a troca de informaes entre homem/mquina, com uma interface grfica para a entrada e sada de informaes, visualizando assim o processo que se deseja controlar; c) assegurar o dilogo com os demais mestres da rede, ou mestres de outras redes; d) assegurar a passagem de parmetros de programao para os escravos a fim de obter-se maior agilidade e menor perda no processo automatizado. J na estrutura modo difuso a implementao est baseada no conceito de que alguns dispositivos so produtores de informaes e outros so consumidores dessas. Nessa implementao, quando um produtor disponibiliza sua informao, esta colocada na rede, disponvel para todos os dispositivos que sejam seus consumidores ao mesmo tempo, reduzindo o nmero de mensagens a serem emitidas, bem como reduzindo o prprio comprimento da mensagem, uma vez que no ser necessrio incluir os endereos de remetente e destinatrio, sendo necessrio to somente identificar a informao a ser transmitida. Porm, cada estrutura tem sua necessidade de implementao, conforme a aplicao que se for utilizar. De acordo com Rogana ([ROG2000]), o modelo produtor/consumidor, est hoje sendo empregado em produtos comerciais para redes industriais, tais como Foundation Fieldbus, WorldFIP, ControlNet e DeviceNet. Outros produtos podem ainda utilizar as duas estruturas ao mesmo tempo. A figura 2.3 ilustra a estrutura de comunicao mestre/escravo (modo questo resposta) e a estrutura difuso.

xxvii

Figura 2.3 Modelo das Estruturas da Rede Industrial ([COT2000])

2.3 TOPOLOGIAS
A Topologia da uma rede, segundo Rombaldi ([ROM2000]), trata da distribuio geogrfica de elos e ns da rede. Um elo ou ramo uma trajetria de comunicao entre dois ns. O termo elo usado como sinnimo de canal e circuito, e pode ser de vrios tipos, tais como rdio, fibra tica, satlite, cabo coaxial ou linha telefnica. J um n pode ser definido como qualquer ponto terminal de qualquer ramo da rede, ou a juno de dois ramos quaisquer. O hardware e o software de um n depende de sua funo principal. Existem dois tipos bsicos de rede: ligao ponto-a-ponto e multiponto. Combinandose os dois tipos bsicos formam-se redes mais complexas, as chamadas estruturas mistas.

2.3.1 PONTO-A-PONTO
Nesta rede, o n central conectado a um equipamento de comunicao de entrada e sada por uma nica linha. Sempre que algum n tiver algo a transmitir, a linha estar livre, j que no h compartilhamento com outro n do canal. Nesta modalidade de ligao, o hardware conectado ao mestre o mais simples possvel e o software de atendimento no precisa ser muito sofisticado.

xxviii

2.3.2 MULTI-PONTO
Nesta modalidade de ligao existe sempre uma estao controladora que coordena o trfico de dados das demais estaes chamadas subordinadas. Este controle feito atravs de uma rotina de atendimento denominada "POLL-SELECT", ou multiplexando-se o canal de comunicao, que dispensa o controle de endereamento do Poll-Select ([OLI1987]) . Estas redes podem permitir que estaes subordinadas se comuniquem entre si diretamente ou apenas atravs da estao controladora. A diferena entre estes dois modos de envio de mensagens a complexidade do controle.

2.3.3 ESTRUTURAS MISTAS


As Estruturas Mistas so tipos de redes que utilizam caractersticas dos dois tipos bsicos de redes, a ligao ponto-a-ponto e multiponto, para obter redes mais complexas e com maiores recursos. As estruturas mistas podem ser do tipo Estrela, Barra, Hierrquica, Anel e Distribudas.

2.3.3.1 ESTRELA
Neste tipo de rede, todos os usurios comunicam-se com um n central, que tem o controle supervisor do sistema, chamado "host". Atravs do host os usurios podem se comunicar entre si e com processadores remotos ou terminais. No segundo caso, o host funciona como um comutador de mensagens para passar os dados entre eles. O arranjo em estrela a melhor escolha se o padro de comunicao da rede for de um conjunto de estaes secundrias que se comunicam com o n central. Como exemplo dessa topologia tem-se as Redes Pblicas de Telefonia Comutada ([SOA1993]).

2.3.3.2 BARRA
Nesta configurao todos os ns se ligam ao mesmo meio de transmisso. A barra geralmente compartilhada em tempo e freqncia, permitindo a transmisso de informao. Nas redes em barra comum, cada n conectado barra pode ouvir todas as informaes transmitidas. Esta caracterstica facilita as aplicaes com mensagens do tipo difuso ( para mltiplas estaes ).

xxix

Nas topologias em barra, as falhas no causam a parada total do sistema. Relgios de preveno ("watch-dog-timer") em cada transmissor devem detectar e desconectar o n que falha no momento da transmisso. O desempenho de um sistema em barra comum determinado pelo meio de transmisso, nmero de ns conectados, controle de acesso, tipo de trfego entre outros fatores. O tempo de resposta pode ser altamente dependente do protocolo de acesso utilizado.

2.3.3.3 HIERRQUICA
Segundo Rombaldi ([ROM2000]), a topologia Hierrquica ou em rvore essencialmente uma srie de barras interconectadas. Geralmente existe uma barra central onde outros ramos menores se conectam. A ligao entre barras realizada atravs de derivadores e as conexes das estaes realizadas da mesma maneira que no sistema de barras padro. Esta topologia muito usada para supervisionar aplicaes de tempo real, como algumas de automao industrial e automao bancria. Pequenos sistemas baseados em mini ou microcomputadores proporcionam o atendimento em tempo real das atividades da agncia bancria. Quando uma operao exige acesso a informaes que no esto disponveis na agncia, elas so buscadas no computador central. Se este no tiver acesso direto a estas informaes, redirecionar a busca para outro computador da rede que as detm.

2.3.3.4 ANEL
Uma rede em anel consiste de estaes conectadas atravs de um caminho fechado. Nesse tipo de configurao, a idia que se possa ter acesso a cada ponto da rede por dois lados, dando uma maior confiabilidade ([OLI1987]) Redes em anel so capazes de transmitir e receber dados em qualquer direo, mas as configuraes mais usuais so unidirecionais, de forma a tornar menos sofisticados os protocolos de comunicao que asseguram a entrega da mensagem corretamente e em seqncia ao destino ([ROM2000]). Quando uma mensagem enviada por um n, ela entra no anel e circula at ser retirada pelo n destino, ou ento at voltar ao n fonte, dependendo do protocolo empregado. O ltimo procedimento mais desejvel porque permite o envio simultneo de um pacote

xxx

para mltiplas estaes. Outra vantagem a de permitir a determinadas estaes recebem pacotes enviados por qualquer outra estao da rede, independentemente de qual seja o n destino.

2.3.3.5 DISTRIBUDAS
Esta configurao consiste de vrios pontos de concentrao, cada um com seu conjunto prprio de terminais geograficamente concentrados. As ligaes so estabelecidas apenas entre estes pontos de concentrao, o que diminui consideravelmente o custos das linhas. S estas linhas precisaro ter uma capacidade muito maior de transmisso para poder atender s requisies de comunicao exigidas pelos seus terminais. Para se garantir que, em caso de falha de linhas entre pontos centralizadores, as transmisses no sero interrompidas, comum a conexo destes centros a mais de um outro centro. Outra forma de redundncia de linhas a conexo de cada ponto central a todos os demais pontos de concentrao. Nesta rede, denominada completamente conectada, a probabilidade de estrangulamento nos horrios de pico de trfego muito baixa e sua confiabilidade muito maior. O problema o altssimo custo das linhas.

xxxi

2.4 MEIOS DE TRANSMISSO


Segundo Franco ([FRA2000]), fieldbuses so tecnologias de comunicaes e protocolos usados em automao e controle de processos industriais, formando uma rede industrial. Pode-se distinguir entre fieldbus proprietrio e aberto. Os fieldbus proprietrios so aqueles que no temos acesso a sua tecnologia, o que inverso no fieldbus aberto. Os meios de comunicao entre os equipamentos na rede industrial, so geralmente os meios seriais, ou seja, os padres de RS (Recommended Standard). Esses padres surgiram em meados de 1962, pela necessidade de se interligar dois ou mais pontos em uma rede de computadores. Sua especificao foi criada pela Eletronics Industry Association (EIA), e definiu-se como sendo RS as siglas que a designariam. Outros meios so as fibras ticas, que pouco usadas oferecem uma taxa de transmisso altssima e as maiores velocidades do mercado. Outros meios fsicos de transmisso de dados usados em redes industriais, so os pares tranados e cabos coaxiais. A meio coaxial e tecnologia Ethernet, est no momento sendo implementado de forma ampla, graas a sua integrao com o protocolo TCP/IP. Abaixo, sero descritos os padres seriais de forma mais detalhada.

2.4.1 PADRES SERIAL


O padro serial RS (Recommended Standard), define-se em dois modos de transmisso: O Single-Ended Data Transmission e o Differential Data Transmission. O primeiro modelo o Single-Ended caracterizado pela comunicao de uma ponta a outra. Ou seja, em uma rede com um mestre e n escravos, deve sair do dispositivo mestre um cabo para cada escravo. Outro detalhe do modo Single-Ended, que os dados so representados em nveis de voltagem em relao ao um terra comum. Esse sistema torna a rede serial lenta, aproximadamente 20 Kbits/s (kilobits por segundo) de transmisso e a curtas distncias de aproximadamente 15 metros sem repetidores. O modo Single-Ended

encontrado nos padres RS232C e RS423 ([ARC2000]). O Segundo modelo, o Differential Data Transmission, oferece uma alta taxa de transmisso, aproximadamente 100 Kbits/s e longas distncias, chegando at 1200 metros. Usa-se uma linha diferenciada, o que implica que o dado representado pela corrente e no

xxxii

pela voltagem como no modelo Single-Ended. O Differential possibilita, pela sua estrutura, uma conexo multi-ponto, onde pode-se ter uma conexo de um mestre e vrios escravos compartilhando mesmo meio. Essas implementaes podem ser encontradas nos padres RS422 e RS485 ([ARC2000]).

2.4.1.1 RS232C
O padro RS232C, possui canais independentes de transmisso, ou seja, uma linha para transmisso e outra para recepo de dados. Os dados so representados por sinais atravs de nveis de voltagem. Segue o modelo de comunicao Single-Ended, e possui uma taxa de transmisso relativamente baixa, chegando at 20Kbps a uma distncia de 15 metros. comumente usada para conexo entre dois equipamentos.

2.4.1.2 RS422
O padro RS422, permite a conexo de equipamentos a longas distncias e altas taxas de transmisso em relao ao RS232C. Isso por que utiliza o modelo de transmisso Differential, possibilitando a transmisso a 10 Mbps e a uma distncia de 1200 metros. Alm de possibilitar uma conexo multi-ponto, com um mestre e 10 receptores.

2.4.1.3 RS423
A RS423 assim como a RS422 permite a conexo a longas distncias, aproximadamente 1200 metros e altas taxas de transmisso, chegando at 100Kbps. Sua velocidade inferior a RS422, por utilizar o modelo Single-Ended. Permite conexo multiponto, com um mestre e 10 receptores na rede.

2.4.1.4 RS485
A RS485 diferencia-se dos demais modelos, por utilizar um ou dois pares de fios para transmisso de dados. Tem isolamento ptico, e trabalha a taxas de transmisso de 10 Mbps e aproximadamente 1200 metros de distncia, sem amplificao do sinal. Permite a conexo multi-ponto, suportando at 32 equipamentos na rede, ou seja, um mestre e 31 escravos. Utiliza o modelo Differential para transmisso.

2.5 TCNOLOGIAS DE REDES INDUSTRIAIS


xxxiii

A quantidade de padres existentes para uma rede de campo muito grande, diferenciando-se cada um deles pela aplicao, quantidade e velocidade de transmisso dos dados, disposio e meio fsico da rede e o protocolo de comunicao utilizado. Abaixo esto relacionados alguns padres utilizados em redes industriais ([SIL2000]).

2.5.1 AS-I (ACTUATOR SENSOR INTERFACE)


AS-I um sistema de rede de sensores e atuadores de baixo nvel. Normalmente os sinais dos sensores e atuadores dos processos industriais so transmitidos atravs de um grande nmero de cabos. O sistema ASI permite a simplificao deste sistema de fiao e ligao, substituindo o ento sistema rgido de cabos por apenas um par de fios, que podem ser usados por todos os sensores e atuadores. Este par de fios responsvel pela alimentao dos sensores/atuadores e pela transmisso dos dados binrios de entrada e sada. A rede foi concebida para complementar os demais sistemas e tornar-se mais simples e rpida a conexo dos sensores e atuadores com os seus respectivos controladores. O padro comeou a ser desenvolvido por uma associao de fabricantes europeus em 1990 que se props a conceber uma rede de comunicao, de baixo custo, e que atendesse o nvel mais baixo da automao no campo. O trmino dos trabalhos ocorreu em 1993. Posteriormente este grupo foi desfeito e a tecnologia passou a ser administrada por uma Associao Internacional (AS - International), fazem parte desta associao sessenta e cinco membros, situados em nove pases. Os nove pases que possuem fabricantes de produtos com tecnologia ASI so os seguintes: Blgica, Franca, Alemanha, Inglaterra, Itlia, Japo, Holanda, Sua e Estados Unidos. Esta associao responsvel por determinar os critrios de padronizao dos produtos, especificaes tcnicas, testes dos produtos, juntamente com a divulgao e o marketing da tecnologia. Atualmente existem cerca de duzentos produtos com tecnologia ASI no mercado. O sistema baseia-se numa comunicao mestre-escravo, cujo mestre responsvel pelo direcionamento das "perguntas" e tratamento das "respostas" dos escravos. O mestre pode gerenciar at trinta e um escravos. A comunicao entre o mestre e os escravos feita serialmente atravs de um par de fios no tranados e nem blindados. Inicialmente o mestre "fala" com o primeiro escravo, atualiza as sadas do mesmo (se existir) e pergunta o estado binrio das entradas. Imediatamente o escravo responde e, aps uma pequena espera, o mestre

xxxiv

"fala" com o prximo escravo. Aps o escravo trinta e um, o ciclo se completa e o mestre comea a conversar novamente com o escravo numero um. O ciclo de varredura completo tem durao de at 5ms (contendo 31 escravos na rede). Um escravo caracteriza-se por possuir um chip (ASIC - Application Specific Integrated Circuit) especialmente desenvolvido e que possui quatro bits que podem ser configurados como entrada ou sada. Este chip tambm responsvel por determinar o endereo de cada escravo. O procedimento de endereamento dos escravos feito atravs de unidade de endereamento. Os sensores ou atuadores "burros", ou seja, que no so considerados escravos (no possuem o chip) podem ser conectados rede atravs de mdulos de entrada e sada. A rede ASI permite o uso de mltiplos tipos de topologias de rede, permitindo que a qualquer momento se possa iniciar uma nova derivao, possibilitando a incluso de novos sensores e atuadores. Cada usurio pode escolher sua topologia conforme sua necessidade e disposio fsica dos elementos no campo. O cabo da rede no necessita de resistor nno ltimo ponto da rede, para terminao da mesma, sua nica limitao est relacionada com o comprimento do fio, que deve possuir cem metros de comprimento. Caso necessrio, o cabo pode ter um acrscimo de duzentos metros com a utilizao de repetidores (boosters), ficando assim, com um comprimento total de trezentos metros

2.5.2 PROFIBUS (PROCESS FIELD BUS)


O padro Profibus subdivide-se em trs famlias: Profibus-DP, Profibus-PA e v Profibus-FMS. A terceira famlia est situada no segundo nvel da pirmide (cell level), j as outras duas esto voltadas para o fieldbus.

2.5.2.1 PROFIBUS-DP
Esta famlia foi desenvolvida em 1994, para fazer a comunicao entre os sistemas de controle (controladores) e os elementos de campo atravs da configurao mestre-escravo. O sistema pode ser configurado como mono-master (apenas um mestre) ou multi-master (com vrios mestres), sendo que neste ltimo, as entradas podem ser lidas por todos os mestres e cada mestre acionando apenas suas respectivas sadas. A topologia utilizada em linha,

xxxv

utilizando o par tranado ou fibra ptica como meio fsico. A transmisso dos dados feita atravs de RS485 e a taxa de transmisso est relacionada com a distncia do cabo (9,6 Kbits 1200m, 500 Kbits 400m, 12000 Kbits 100m por exemplo). O sistema comporta 32 estaes sem a utilizao de repetidores e at 127 estaes com a utilizao de repetidores. Quando do trmino do meio fsico da rede, a mesma necessita da colocao de um terminador de rede (resistor de terminao), responsvel por garantir a imunidade rudos e determinar o final da rede.

2.5.2.2 PROFIBUS-PA
Esta famlia foi desenvolvida em 1995, de acordo com a norma IEC 1158-2, a qual utilizada na automao e controle de processos contnuos, principalmente no setor qumico e petroqumico. O Profibus-PA permite que os sensores e atuadores sejam conectados ao cabeamento mantendo a segurana intrnseca dos elementos requerida pelo processo. A transmisso baseada nos seguintes princpios: a) cada segmento possui apenas uma fonte de alimentao; b) quando a estao est mandando dados no existe energia no barramento; c) todo equipamento possui um consumo constante de corrente; d) so permitidas as topologias em linha, estrela ou rvore.

2.5.3 INTERBUS
O padro Interbus foi concebido em 1984. Teve sua tecnologia desenvolvida pela empresa Phoenix Contact e utiliza o princpio mestre-escravo atravs do protocolo denominado "One Total Frame". O sistema composto por trs tipos de elementos: a) Controlador: o controlador denominado Host Controller Board (HCB) e pode ser acoplado em PCs ou CLPs, ou ainda possuir interface para um nvel mais alto de rede, desenvolvendo ao mesmo tempo funes de "master" e "slave";

xxxvi

b) Rede fsica: a rede fsica ou remote bus constituda por um nico cabo de comunicao, composto por trs pares tranados. Pode-se utilizar tambm fibra ptica como meio fsico. O cabo pode chegar at 13 km de comprimento, fazendo-se necessria a utilizao de repetidores a cada 400m (metros); c) Elementos de campo: os escravos (sensores e atuadores) podem ser inteligentes, no inteligentes ou mistos. Hoje esto disponveis mais de 2000 produtos compatveis, tais como: mdulos de I/O remotos, terminais de vlvulas, placas de interface para robs, vlvulas de controle, encoders, inversores de freqncia e outros. Suas caractersticas so: a) estrutura mestre-escravo (um nico mestre); b) possibilita transmisso em at 13km com restaurao do sinal; c) distancia mxima entre os ns de at 400 m; d) escravos sem inteligncia; e) RS485 como meio fsico; f) taxa de 500 Kbits; g) at 4096 ns podem ser conectados em anel; h) popular especialmente na Europa.

2.5.4 BITBUS
O modelo de rede industrial BitBus, segundo Mondada ([MON2000]), tem que ter uma ateno especial, no por ser a melhor referncia de rede industrial no mercado, mas por ter sido a primeira rede criada efetivamente para interagir com o campo. Foi utilizado primeiro em indstrias automobilsticas. O Bitbus foi desenvolvido pela Intel no comeo dos anos 80 como um sistema de comunicao aberto e suas especificaes foram publicadas em 1983. Nessa poca a Intel desenvolveu tambm um chip integrando as funes da proposta, facilitando o desenvolvimento de aplicaes sobre o Bitbus.

xxxvii

Sua popularidade hoje ainda muito grande, principalmente depois de 1991, onde uma comisso internacional baseou no Bitbus o padro IEEE-1118. Suas caractersticas esto descritas abaixo.
a) estrutura mestre-escravo (um mestre; com a possibilidade de um novo mestre varivel rapidamente);

b) mensagens de com at 248 bytes; c) taxa de transmisso de 62,5 Kbits ou 375 Kbits; d) distancia de at 13,5 km por segmento a 62,5 Kbits, ou 1200 m a 375 Kbits; e) usa RS485 como meio fsico, com par tranado, blindado preferivelmente; f) possibilita broadcasting e multicasting do mestre. Mensagens enviadas para todos os escravos ou para um grupo seleto de escravos; h) possibilita conectar 2 ou 3 repetidores em cascata; i) popular mundialmente.

2.5.5 CAN
Este modelo foi desenvolvido pela Bosh em 1983 a 1985. Sua principal caracterstica era a de reduzir a quantidade de fios que interligavam os equipamentos, centralizando o controle em uma unidade inteligente que iria distribuir as mensagens para o equipamento que interessasse. Com isso obtm-se uma reduo considervel no trfego da rede e altas taxas de transmisso. Porm, de incio, teve-se problemas com as colises dos pacotes na rede, onde dois ns respondiam simultaneamente. Esse problema foi solucionado colocando-se na string um nmero que significava a prioridade do pacote. Assim que houvesse coliso na rede, imediatamente a mensagem que possua menor prioridade era parada, e a que possua a maior prioridade era retransmitida. Outro fato que os pacotes com volume de dados maiores possuem maior prioridade na rede. Aps isso, a Bosh juntou-se com a Intel para desenvolver um chip com as funes do padro CAN para atuadores e dispositivos de entrada e sada. Atualmente existem vrias propostas de padronizao para comunicao em CAN, j que a tecnologia no trabalha com protocolo proprietrio.

xxxviii

As caractersticas do modelo CAN so: a) multi-mestre com acesso mltiplo; b) taxa de transmisso de 20 Kbits, expansvel at 1 Mbits. Em 40m a 1 Mbits e em 1 Km a 50 Kbits; c) dificuldade de inserir repetidores; d) meio fsico RS485 com par tranado, preferencialmente brindado; e) todas as mensagens tem um nvel de prioridade; f) h vrias interfaces padres de aplicao.

2.5.6 SERCOS
Sercos pertence a categoria de redes de campo dedicadas a uma aplicao especfica. Sua primeira implementao foi desenvolvida em um instituto alemo em 1989, com o propsito de reduzir o tamanho de cabeamento para instalao de motores. Um nmero alto de ns pode ser conectados em sua topologia, que em anel. Os ns so conectados por fibra tica, porque a comunicao entre os ns deve ser rpida. Uma srie de parmetros de comunicao tambm foi desenvolvida e j se encontra em um chip para ser usado em aplicaes. As principais caractersticas do Sercos so: a) estrutura Mestre-Escravo; b) topologia de Token Ring; c) fibra tica como meio de transmisso; d) at 254 escravos endereveis; e) segmento com 60m para as fibras sintticas; f) taxa de transmisso de 2 a 4 Mbits.

xxxix

3 PROTOCOLO MODBUS
Protocolo , segundo Tanenbaum ([TAN1994]), um conjunto de regras e convenes para conversao. Essa regras definem a comunicao entre dois equipamentos, sejam eles computadores, mquinas ou computadores e mquinas. Nos protocolos so definidas as sintaxes como os equipamentos iro ordenar os dados de forma que fiquem entendidos por ambos os lados que fazem parte da comunicao. O protocolo abordado nesse trabalho o Modbus da companhia Gold Modicon. Este protocolo define uma estrutura de mensagem que os controladores reconhecero e usaro, independente do tipo de rede acima deles. O protocolo Modbus tambm descreve o processo que um controlador usa para pedir acesso a outros dispositivos, como responder a pedidos desses outros dispositivos, e como sero descobertos erros da comunicao e sero informados sua origem. Em outras palavras, o protocolo fornece um formato comum para o plano e contedo de campos de mensagem ([MOR2000]). Sendo o Modbus uma linguagem informtica independente do material, esta permite o dilogo entre equipamentos de natureza e construtores diferentes. Tambm importante ressaltar que existem vrias implementaes do protocolo Modbus. Como sua especificao bastante ampla, as vezes no necessrio implementar todas as suas especificaes para se ter uma rede industrial padro Modbus em funcionamento, ou seja, tem-se como padro de mercado o formato simples de mensagens que o Modbus utiliza. Outra definio para o Modbus a nvel de controladores, que ele prov o padro interno que os controladores usam para analisar gramaticalmente as mensagens. o Modbus, que possibilita a um controlador que o mesmo reconhea uma mensagem se dirigida a ele, determine o tipo de ao a ser efetuada, e extraia os dados contidos na mensagem. Se uma resposta requerida, o controlador construir a mensagem de resposta e enviar a mesma usando o protocolo Modbus ( [SCH2000]).

3.1 MODELO MESTRE-ESCRAVO


Em um rede modelo Mestre-Escravo, o protocolo define a comunicao, onde o mestre comanda a rede e os escravos, ouve a rede, e responde aos questionamentos quando

xl

especficos a ele. Este tipo de rede, com mais de um escravo, designado multiponto, que tem a vantagem de diminuir o cabeamento e o nmero de conexes que provem do mestre. ([MOR2000])
Na rede, o mestre pode questionar um escravo em particular e esperar pela sua resposta, o que chamamos de modo questo/resposta. Outra forma o modo Difuso, onde o mestre manda um comando para todos os escravos da rede. De modo geral, quando o mestre precisa de uma resposta do escravo, usa-se o modo questo resposta, e quando necessita-se programar todos os escravos, pode-se usar o modo difuso. O modo difuso pode ser usado para questionar sobre um mesmo dado para todos os escravos somente quando houver uma comunicao tambm entre os escravos, transformando-os em mestre e escravos ao mesmo tempo. Um CLP ou computador pode ento ser o administrador da rede no caso de rede mestre e escravos em cada n, ou como mestre em redes onde um n somente ouve e pergunta e os demais somente ouvem e respondem.

Geralmente, a troca de informaes entre o mestre e o escravo se d com a memria de dados. Porm, se a troca diz respeito memria do programa, ser necessrio parar o modo questo/resposta antes de realizar a troca.

3.1.2

CICLO DE QUESTO-RESPOSTA DO MESTRE ESCRAVO (UM MESTRE E N ESCRAVOS)


A PERGUNTA: O Cdigo da funo, significa a ao que o escravo ir receber e

dever executar. Os bytes de dados, contm informaes adicionais que o escravo poder precisar para executar a funo. O campo de paridade prov um mtodo para o escravo validar a integridade dos contedos da mensagem. A RESPOSTA: Pode-se usar como cdigo da funo de resposta ao mestre, o mesmo cdigo da pergunta, ou um outro cdigo que o mestre reconhea. Os bytes de dados, contm as informaes coletadas pelo escravo referente pergunta do mestre. O campo de paridade, permite a validao da resposta pelo mestre. Se a mensagem enviada ao escravo conter um erro, possibilitando mesmo assim que o escravo identifique que a mensagem para ele, o mesmo retornar uma mensagem ao mestre, identificando a recepo errada das informaes. A figura 3.1, demonstra o ciclo de questo resposta no modelo mestre-escravo.

xli

Figura 3.1 Pergunta e resposta pelo protocolo Modbus ([SCH2000])

3.3

MODELO MESTRE-ESCRAVO (N MESTRES E N

ESCRAVOS)
Nas redes com vrios escravos e vrios mestres, o funcionamento parecido com o padro Token-Bus, onde a mquina detentora do Token, define em que modo deseja transmitir na rede, se ser no modo mestre ou no modo escravo. Se o mesmo encontra-se em modo mestre, o Token fica em seu poder at que ele receba a resposta do escravo. Aps isso o Token liberado na rede at que outro mestre se habilite ao mesmo.

3.4 MODELOS DE TRANSMISSO SERIAL COM MODBUS


Geralmente os controladores que utilizam o Modbus como protocolo de comunicao, podem ou no permitir a utilizao dos dois modos de transmisso: ASCII (American Standard Code for Information Interchange) e/ou RTU (Remote Terminal Unit). Os usurios escolhem o modo desejado, juntamente com os parmetros de comunicao como, taxa de transmisso, bits de paridade, etc. A seleo de ASCII ou RTU definem o nmero de bits em um campo de mensagem transmitido serialmente na rede. Define tambm como sero empacotadas e decodificadas as informaes.

xlii

3.4.1 MODO ASCII


Quando os controladores so organizados para comunicar em uma rede Modbus que usa o modo ASCII, cada um byte hexadecimal representa dois caracteres ASCII, ou seja, o nmero 05h representado pelos caracteres 0 e 5 em ASCII, que em binrio representam 0000000 e 00000101. A vantagem desse modo, que permite um intervalo de at um segundo entre cada caracter enviado, sem causar um erro. a) Sistema de Cdigo - Hexadecimal, ASCII caracteres: 0 .. 9, A .. F - Um caracter Hexadecimal, contm dois caracteres ASCII b) Sistema de transmisso - 1 start bit; - 7 data bits; - 1 stop bit se a paridade usada ou 2 stop bits se paridade no usada c) Campo de Paridade - Paridade de Redundncia Longitudinal (LCR)

3.4.2 MODO RTU


Quando os controladores so organizados para comunicar em rede Modbus que usa o modo RTU, cada byte, ou oito bits, representa dois nmeros. Isso se deve ao fato do modo RTU representar valores dentro do padro BCD Packed. O primeiro nmero representado pelos quatro bits mais representativos e segundo pelos quatro bits menos representativos. Em resumo, teremos os nmeros 1 e 9 representados por 00011001 que o hexadecimal 19. A vantagem principal desse modo, que sua maior densidade de caracteres, permite um melhor processamento dos dados que o modo ASCII em uma mesma taxa de transmisso. a) Sistema de Cdigo - Hexadecimal: 0 .. 9, A .. F - Dois caracteres Hexadecimal, contm oito bits do campo de mensagem b) Sistema de transmisso - 1 start bit; - 8 data bits; - 1 stop bit se a paridade usada ou 2 stop bits se paridade no usada c) Campo de Paridade

xliii

- Paridade de Redundncia Cclica (CRC)

3.4.3 FORMATO DAS MENSAGENS NO MODBUS


No protocolo Modbus, as mensagens so comeadas e terminadas por caracteres conhecidos tanto para os escravos como para os mestres. Esses caracteres no podem estar includos na lista de dados, pois quando o caracter de incio de string recebido, tanto o escravo, como o mestre, recebe serialmente os prximos caracteres a termina a recepo ao reconhecer o byte que simboliza o trmino da mensagem. Isso significa que se o escravo, por exemplo recebe no meio de uma mensagem um caracter que identifique um incio de mensagem, ele ir tomar esse caracter como incio de mensagem, causando um erro de CRC e retornando ao mestre.

3.4.3.1 FORMATO ASCII


No modo ASCII, toda mensagem comea com o caracter dois pontos ( : ), e finalizado por um caracter de Carriage Return (CRLF). Com o conhecimento desses caracteres, cada escravo fica esperando na rede um caracter de incio de mensagem, e logo aps o endereo do destinatrio. O intervalo para o envio e recepo de um byte, corresponde a um segundo, sendo que se o remetente no receber uma resposta, assumir que algum erro ocorreu. O formato da mensagem do Modbus ASCII mostrado na tabela 3.1. Tabela 3.1 Formato da mensagem Modbus em ASCII ([SCH2000])

3.4.3.2 FORMATO RTU

xliv

O padro de mensagem no modo RTU parecido com o modo ASCII, diferenciando-se por haver um tempo para o incio e final da mensagem, em vez de caracteres especiais. Os escravos ficam monitorando a rede, esperando por um tempo que varia de 3 a 5 bytes transmitidos de silncio (T1-T2-T3-T4) tanto para incio de mensagem, como para trmino da mesma. Assim que esse intervalo ocorrer, o dispositivo sabe que vir em seguida o endereo do destinatrio e o restante da mensagem, at que o intervalo ocorrer novamente. Com isso, se a mensagem no for transmitida de forma contnua, ou seja, se houver entre dois bytes transmitidos um intervalo grande de silncio, o sistema ir detectar o prximo byte como sendo uma nova mensagem. O mesmo pode ocorrer se duas mensagem forem enviadas em tempos curtos de silncio, fazendo com que o dispositivo receptor concatene as duas, causando um erro de CRC. O formato da mensagem em RTU apresentado na tabela 3.2. Tabela 3.2 Formato da mensagem Modbus em RTU ([SCH2000])

3.4.4 CONTROLE DO CAMPO DE ENDEREO


O campo de endereo, primeiro campo da mensagem, no modo ASCII possui dois bytes e no modo RTU um byte. Os endereos de dispositivos do protocolo Modbus limitado a 247 dispositivos. Os dispositivos escravos so enumerados de 1 a 247. Um mestre dirige-se a um escravo, colocando o seu nmero no campo de endereo. Quando um escravo envia sua resposta, ele coloca o seu endereo no campo endereo para o mestre saber qual escravo est

xlv

respondendo, ou coloca o nmero do mestre na mensagem. O Endereo zero usado no modo difuso.

3.4.5 CONTROLE DO CAMPO DE FUNO


O campo de funo, que o segundo campo da mensagem, no modo ASCII possui dois bytes e no modo RTU oito bits. As funes vlidas comumente assumem os valores de 1 a 255 decimal. O escravo ao receber uma mensagem proveniente do mestre, verifica no campo funo, qual a ao que deve ser executada, e assim que executou a mesma, retorna uma mensagem, onde o campo de funo pode ser o mesmo da pergunta, ou um cdigo conhecido pelo mestre, que simbolize a execuo correta. Caso houve algum erro na transmisso dos dados, e o escravo conseguir detectar o erro, retornar para o mestre um cdigo especfico e conhecido por ambos, informando o erro.

3.4.6 CONTROLE DO CAMPO DE DADOS


O campo de dados, constitudo de um conjunto de dois dgitos binrios no modelo RTU, ou um par de caracteres no modelo ASCII. Nesse campo contm informaes adicionais, quando necessrias, nos comandos que trafegam via rede, tanto para o mestre como para o escravo. Essas informaes servem por exemplo, para programar o escravo, receber dados do escravo, etc. O campo de dados pode ser inexistente em certos comandos, como por exemplo, quando um mestre pede a um escravo os dados de produo. A funo, por si s j faz com que o comando seja entendido pelo escravo, sem haver necessidade de dados adicionais.

3.4.7 CONTROLE DO CAMPO DE ERRO


Aps o campo de dados, e antes da finalizao da mensagem, mandado, tanto para o escravo, como para o mestre, que faz a conferncia da integridade dos dados enviados ou recebidos, um ou mais caracteres. algo similar ao bit de paridade, na comunicao serial.

xlvi

No modelo ASCII, o campo de erro pode conter um ou dois caracteres. Esses caracteres, so o resultado de um Clculo de Redundncia Longitudinal (LRC), clculo que executado com o contedo da mensagem, excluindo os caracteres de incio e final de string. Aps feito o clculo, os caracteres de LRC so concatenados mensagem como sendo o ltimo campo antes do caracter de finalizao. No modelo RTU, o campo usado para receber o contedo do clculo de integridade contm 16 bits, e o valor que esse campo ir receber, o resultado de um Clculo de Redundncia Cclica (CRC). Como no modelo ASCII, aps feito o clculo, os caracteres de CRC so concatenados mensagem como sendo o ltimo campo antes do caracter de finalizao.

3.4.8 CLCULO DE PARIDADE


O clculo da paridade no Modbus, possui formas distintas no modelo RTU e ASCII. Em testes detectou-se que o modelo ASCII possui menor confiana na paridade da mensagem, pois como trata-se de uma soma binria, a alterao da posio dos bytes dentro da mensagem, no interfere no clculo do LRC, porm, torna a mensagem invlida. J no clculo do CRC do modelo RTU, qualquer troca de posio implica na no validade da paridade. No prottipo, seguiu-se o modelo ASCII tanto para transmisso dos caracteres, como para clculo da paridade..

4 MEIO DE TRANSMISSO RS485 RS232C


As redes industriais, conforme j foi comentado, utiliza-se dos padres seriais para transmisso dos dados. Abaixo descreve-se a utilizao e compatibilidade de comunicao entre uma interface RS485 (utilizada em redes de campo) e RS232C, padro este, que vem incorporado na maioria dos PCs atualmente no mercado.

xlvii

O RS485 possui transmisso balanceada e suporta conexes multi-ponto (multidrop), o que permite a criao de redes com at 32 ns e transmisso distncia de at 1200 metros ([FAR1998]). Segundo Klitzke ([KLI1999]), quando necessrio a transmisso de pequenos blocos de dados por longas distncias, a RS485 a melhor escolha. Sendo uma de suas caractersticas a utilizao de duas linhas balanceadas, a RS485 se torna mais imune a rudos eltricos encontrados em ambientes industriais. Outra caracterstica do RS485 , ao contrrio da RS232C que utiliza nveis de voltagem para representar os bits 0 e 1, a utilizao de nveis de corrente para representar os bits 0 e 1. essa caracterstica que permite a RS485, a transmisso a longas distncias comparando-se a distncia alcanada pela RS232C. Segundo Franco ([FRA2000]), erroneamente tem-se o conceito de que estes padres definem protocolos de comunicao especficos. Os padres ANSI/EIA RS-xxx especificam apenas as caractersticas eltricas. Deve-se lembrar tambm, que o padro RS485 no por si s uma tecnologia de rede industrial, mas pode ser usado para o mesmo.

4.1 DESCRIO DO BARRAMENTO RS485


A lgica para transmisso de um byte no padro RS485 definida quando um terminal torna-se mais negativo ou mais positivo que o outro. Portando, a tenso diferencial entre os dois terminais permitir o reconhecimento do bit que est sendo transmitido, se "0" ou se "1". Convencionalmente, a lgica "1" reconhecida quando o terminal A do transmissor torna-se mais negativo em relao ao terminal B. A lgica "0" identificada quando o terminal A torna-se positivo em relao ao terminal B. por esse motivo que tem-se maior imunidade a rudos eletromagnticos externos. O gerador tambm deve ser capaz de limitar a corrente em 150mA no caso de um curto-circuito para o terra. Para o receptor, uma tenso diferencial de entrada de 200mV o mnimo suficiente para que se possa identificar uma lgica, operando normalmente em tenses

xlviii

diferencias de at 6V. Porm o equipamento deve suportar at 12V de tenso sem que seja danificado. A figura 4.1, demonstra o sinal no barramento RS485. Figura 4.1 Transmisso no barramento RS485 ([FRA2000])

V - diferena entre os nveis de tenso tr - tempo de transio entre 10% de V e 90% de V tb - largura do pulso entre os nveis 0.5V sucessivos

4.2 DESCRIO DO BARRAMENTO RS232C


O padro RS232C pode ser implementada tanto com 9 sinais (conforme figura 4.2), o qual conhecemos pelo conector BD9, e sua designao normativa como ComPort EIA-574, como em um conector 25 pinos.

Figura 4.2 - Pinagem do conector RS232C DB9 ([ARC2000])

xlix

Para ser possvel a transmisso de dados na RS232C, necessrio haver uma seqncia de inicializaes do meio. A inicializao basicamente corresponde ao protocolo descrito abaixo, onde de um lado temos a porta serial RS232C chamada aqui de controladora, e do outro lado temos o dispositivo receptor, chamado aqui de portadora ([OLI1987]): a) Controladora OK = A controladora envia o sinal de DTR para a portadora (Pino 4); b) Portadora OK = A portadora envia o sinal de DCD para a controladora (Pino 1); c) Portadora Pronta = A portadora envia o sinal de DSR para a controladora (Pino 6); d) Permisso p/ TX = A controladora envia o sinal de RTS para a portadora (Pino 7); e) Permisso OK = A portadora envia um sinal de CTS para a controladora (Pino 8); f) Transmisso = Intercala-se TX e RX entre controladora e portadora (Pinos 3 e 2); Na figura 4.3, apresentada a forma de transmisso eltrica de um caracter (7 bits) no RS232C.

Figura 4.3 Transmisso de um byte Assncrono ([ARC2000])

4.3 INTERFACES RS485 PARA RS232C E VICE-VERSA


Sendo a RS232C a implementao padro para comunicao serial nos PCs, tem-se que fazer a converso dos sinais do padro RS232C para RS485 e vice-versa para que haja a comunicao correta entre os equipamentos que trabalham em uma rede industrial RS485 e o PC. Existem hoje no mercado vrios conversores de RS, que praticamente compatibilizam a comunicao serial entre os vrios padres. O padro serial RS232C, sendo desenvolvido para rede ponto-a-ponto, orientado a conexo, ou seja, deve haver um dispositivo no outro lado da linha, pronto para receber e enviar os dados segundo o seu padro. nesse ponto que o conversor de RS opera. Suas principais caractersticas so, em se tratando de um conversor de RS485 para RS232C, a simulao de um dispositivo que responda aos questionamentos da RS232C para efetuar a conexo e a passagem dos dados para a RS485. Como a RS485 no um padro orientado a conexo, a qualquer hora, qualquer equipamento poder transmitir seus dados na rede. A

li

que entra a figura do mestre da rede, como j vista anteriormente, para coordenar esse trfego. Na figura 4.4 temos um exemplo do funcionamento da compatibilidade de RS232C e RS485.

Figura 4.4 Exemplo de conexo RS232C RS485 ([SOA1993])

4.4 ESPECIFICAO TCNICA DOS PADRES SERIAIS


Na Tabela 4.1 apresentado a especificao e algumas caractersticas dos padres seriais mais conhecidos e utilizados do mercado.

TABELA 4.1 - ESPECIFICAO TCNICA DOS PADRES SERIAIS


SPECIFICATIONS
Mode of Operation Number of Drivers and Receivers Maximum Cable Length Maximum Data Rate Maximum Driver Output Voltage Driver Output Signal Level (Loaded Min.) Driver Output Signal Level (Unloaded Max) Driver Load Impedance (Ohms) Max. Driver Current in High Z State Power On Max. Driver Current in High Z State Power Off Slew Rate (Max.) Receiver Input Voltage Range Receiver Input Sensitivity +/-6mA @ +/-2v 30V/uS +/-15V +/-3V +/-100uA Adjustable +/-12V +/-200mV +/-100uA N/A -10V to +10V +/-200mV +/-100uA N/A -7V to +12V +/-200mV N/A N/A N/A +/-100uA +/-25V 3k to 7k +/-6V >=450 +/-6V 100 +/-6V 54 +/-5Vto +/-15V +/-3.6V +/-2.0V +/-1.5V

RS232C
Single Ended 01 Driver 1 Receivers 50 Ft. 20 kb/s +/-25V

RS423
Single Ended 01 Driver 10 Receivers 4000 Ft. 100 kb/s +/-6V

RS422
Differential 01 Driver 10 Receivers 4000 Ft. 10 Mb/s -0.25V to +6V

RS485
Differential 01 Driver 32 Receivers 4000 Ft. 10 Mb/s -7V to +12V

lii

Receiver Input Resistance (Ohms)

3k to 7k

4k min.

4k min.

>=12k

4.5 API DO WINDOWS PARA ACESSO A PORTA SERIAL


Segundo Longo ([LON1997]), um recurso de comunicao para o Sistema Operacional Windows, um dispositivo fsico ou lgico que proporciona um fluxo de dados assncrono e bidirecional. Portas seriais, paralelas, mquinas de fax e modems so exemplos desses recursos. Para cada recurso existe um provedor de servios, tambm chamado de biblioteca. Essas bibliotecas disponibilizadas pelo Windows, constituem as conhecidas funes de API ( Application Program Interface), que so funes que o sistema operacional coloca a disposio dos desenvolvedores para acessos aos diversos dispositivos do sistema. Essas funes de API so geralmente implementadas em DLLs (Dynamic Link Library) que so os arquivos em que as funes esto contidas. Em termos de comunicao serial, a operao bsica via API constitui em abrir uma porta serial, configurar a velocidade e tempos, aps isso iniciar a transmisso e recepo dos dados, colocando a porta em modo de TX (Transmisso) ou RX (Recepo) ([DAV1997]). Enviar dados por uma porta serial, na verdade escrever byte a byte, todo o contedo de uma informao em um endereo de entrada e sada (I/O) ([LON1997]). Porm, a porta serial no consegue transmitir dados na mesma velocidade que se consegue suprir os dados para ela. Para contornar esse problema, a porta serial levanta um flag sinalizando que est ocupada ou livre para transmisso (TX) ou recepo (RX) . Nos anexo 2 encontra-se as funes de manipulao da API do Windows para acesso a porta serial.

liii

5 AMBIENTE DE TRABALHO
Abaixo ser descrito o ambiente de trabalho onde se trabalhou, bem como uma descrio tcnica e funcional dos equipamentos de foram necessrios no decorrer do desenvolvimento do prottipo.

5.1 MQUINA DE EMPACOTAR


As mquinas de empacotar ou empacotadoras, so equipamentos para o empacotamento de produtos que so utilizados no dia-a-dia dos consumidores. Utiliza-se as mesmas para acar, trigo, arroz, farinha, biscoitos. Enfim, na maioria dos produtos que se encontra nas prateleiras dos supermercados, a probabilidade do mesmo ter sido empacotado por um processo automatizado (empacotadora) grande. As mquinas de empacotar existentes no mercado nacional, so basicamente das marcas Indumak, Bosh, Halmak entre outras. O funcionamento das mesmas basicamente igual, diferenciando-se apenas por detalhes como consumo de energia e alguns movimentos mecnicos. O empacotamento do produto, um dos processos finais de todo o processo produtivo de uma empresa alimentcia. Empresas do ramo aucareiro e cerealista so as que mais utilizam as mquinas de empacotar, pois o seu produto precisa estar envlucro em uma embalagem at chegar ao consumidor final. Como exemplo de processo, cita-se o acar, que aps passar por todos os processos produtivos, desde a moagem da cana-de-acar at o refinamento, levado por dutos at um setor da empresa onde esto instaladas as mquinas de empacotamento. Cada mquina possui, conforme demonstra a figura 5.1 e 5.2, um pequeno reservatrio na parte superior, onde fica armazenado uma quantidade para ser empacotada. Essa quantidade varia, mas para se ter um parmetro, cita-se 15 kg. As mquinas empacotam desde gramas at pacotes de 5kg. Em relao ao acar, cita-se 1kg, 2kg e 5kg,

liv

Logo abaixo desse reservatrio encontra-se as canecas, em nmeros de 2, 3 ou 4 canecas. As mesmas tem a funo de girarem em volta de um eixo, e sobre um plano horizontal. Na parte frontal da mquina, esse plano possui um orifcio, sobre o qual, a caneca passa e deixa cair o seu contedo. Esse contedo (o produto) desliza por um tudo de aproximadamente 1,5 m (varia de acordo com o fabricante), onde na outra extremidade encontra-se um pacote vazio e fechado na parte superior, para receber o produto. Com isso se houver canecas de 1Kg de volume, a cada passada de uma caneca pelo orifcio da base sobre a qual se encontra, encher-se- um pacote de acar de 1Kg. Mquinas que empacotam 2 Kg, possuem a caneca maior, ou so adaptaes feitas nas mquinas de 1Kg onde, faz-se com que a mesma deixe passar duas canecas de 1Kg antes de fechar o pacote. Na figura 5.1 e figura 5.2, ilustrada uma mquina de empacotar.

Figura 5.1 Mquina de Empacotar Viso Frontal


A B C

Figura 5.2 Mquina de Empacotar Viso Lateral

A B

A) reservatrio; B) canecas; C) manipulo de correo.

A) tubo para passagem do produto; B) bobina plstica.

Em relao ao fechamento do pacote, e utilizao do filme plstico, a mquina trabalha da seguinte forma. Na parte de trs da mesma, colocado uma bobina com o filme plstico aberto. O filme, passado para a frente da mquina, envolvendo o tubo que transporta o produto. Esse filme possui de acordo com o comprimento da embalagem uma

lv

marca escura, a qual passa por um sensor (foto clula) e identifica o fim de um pacote e incio de outro. Esse sensor o responsvel pelo acionamento das canecas e corte do filme. O corte do filme plstico feito por um mecanismo chamado de mesa. A qual aps o pacote estar cheio, corta o mesmo, fecha a parte superior do pacote atual e a parte inferior do prximo pacote. A mesa possui um movimento de cima para baixo e abre e fecha, de acordo com a figura 4.3. No ponto 1 a mesa est aberta e na parte superior de sua trajetria vertical. Aps o pacote ser enchido, a mesa se fecha, e executa a funo de cortar o pacote e fechar a parte superior do atual e a parte inferior do prximo. Na trajetria do ponto 2 para o ponto 4 (descida), a mesa puxa o prximo pacote para baixo, esperando a caneca despejar o produto. Ao chegar novamente ao ponto 5, ela se abre e comea o caminho novamente ao ponto 1 (movimento de subida), voltando todo o ciclo. Conforme mostra a figura 5.3: Figura 5.3 - Ciclo do fechamento do pacote

Um sincronismo entre as canecas, o foto sensor do filme plstico e a mesa, faz com que os produtos sejam envasados e aps o corte e fechamento do pacote o mesmo segue para uma esteira ou um controlador de peso.

lvi

5.2 CONTROLADOR DE PESO


Como j foi visto o funcionamento e a funcionalidade de uma mquina de empacotar, fala-se agora sobre controladores de peso. No necessariamente toda mquina de empacotar possui um controlador de peso. So equipamentos totalmente diferentes, porm completam juntos um ciclo do processo produtivo das empresas que necessitam empacotar seus produtos. At 1988 aproximadamente, os pacotes produzidos por uma mquina de empacotar eram colocados diretamente nas esteiras, enfardados e despachados para o consumidor final ([LON1997]). Como as mquinas de empacotar so produzidas de acordo com o produto que iro trabalhar, cada caneca adaptada para conter exatamente o peso correspondente a sua especificao ([URB1993]). Ou seja, uma mquina que empacota acar de 1kg, pode ter canecas diferentes da mesma mquina que empacota arroz de 1kg. Essa diferena deve-se ao fato da diferena de volume e densidade dos produtos, causando a diferena tambm no peso ([LON1997]). como aquela velha estria: o que pesa mais? 1kg de pena ou 1kg de ferro? Apesar do peso ser o mesmo, os volumes so bem diferentes. Porm, verificou-se tambm, que um mesmo produto, pode variar de volume durante o processo, causando uma variao no peso. No caso do acar, por exemplo, a umidade causa um aumento considervel do volume, mas no do peso. Com isso as mquinas de empacotar, produziam pacotes dentro da sua especificao original e tambm abaixo ou acima da mesma. Essa variao tornou-se uma forma de ganho para as empresas e perda para o consumidor, ou vice e versa. As mquinas de empacotar, possuem um dispositivo, chamado de manpulo de correo, para aliviar esse problema. Trata-se de uma roda que movimenta-se para a esquerda e direita, aumentando ou diminuindo o volume das canecas. Porm esse processo at ento era manual. O operador da mquina de empacotar, possua uma balana ao lado, onde periodicamente ele pegava um pacote produzido, e verificava o peso do mesmo. Se estivesse fora dos padres, manualmente girava a roda, corrigindo o peso para mais ou menos volume nas canecas, sem parmetros estatsticos para tal. Tudo se dava pelo conhecimento do operador e sua experincia. Outro fato, que ajudou a disseminao dos controladores de peso na indstria alimentcia, foi a implantao da portaria 74 pelo rgo governamental INMETRO (Instituto de Metrologia). Tal rgo, tem a responsabilidade de defender os interesses do consumidor em relao a qualidade dos produtos que compram. Um item que diz respeito a essa qualidade est nas medidas e pesos corretos nominais. A portaria 74, diz respeito ao peso dos produtos.

lvii

Se uma empresa estiver praticando ganhos em relao ao peso descrito nas embalagens dos seus produtos, a mesma ser multada, de incio, e poder aps reincidncia dessas falhas, perder at a concesso para produo do produto ([INM1992]). Foi nesse contexto que surgiram os controladores de peso, com a proposta de manter o peso correto nas embalagens mesmo com a constante variao do produto. O controlador instalado abaixo do tubo das empacotadoras, fazendo com que o pacote, aps ser cortado, caia em cima de uma bandeja, que faz parte do controlador. Abaixo temos a figura 5.4, que demonstra a instalao do controlador de peso na mquina de empacotar. Figura 5.4 Controlador de peso instalado na mquina de empacotar

Motor de Correo CPU

Cilindro de retirada do pacote Clula de Carga

Base de peso Cilindro de Expulso

Os componentes bsicos de um controlador de peso so a clula de carga, o mdulo de controle, parte pneumtica e motor de correo. Todos sero descritos de forma detalhada abaixo.

lviii

5.2.1 CLULA DE CARGA


Dispositivo desenvolvido para transformar uma presso sobre sua superfcie em peso. basicamente um retngulo com um circuito, que transfere sinais analgicos para o mdulo de controle que os transforma em dados digitais, representando o peso. sobre a clula de carga que fica a base de peso, que recebe o pacote da empacotadora. Assim que o pacote cai sobre a clula de carga, a mesma envia sinais analgicos para o mdulo central de controle. Ao cair na bandeja sobre a clula de carga, o pacote causa uma vibrao. Somente aps a vibrao parar consideravelmente, que o pacote poder ser pesado e verificado se o mesmo est dentro dos padres ou no ([URB1993]). Tal vibrao, uma das causas responsveis pela velocidade de trabalho dos controladores de peso. Ela dura em mdia 300ms para estagnar, o processo de peso dura mais 300ms e a retirada do pacote mais 300ms; considerando uma mquina de 1Kg. Em mdia, costuma-se trabalhar com controladores pesando de 20 ppm (pacotes por minuto) a 130 ppm. Outro ponto relevante velocidade dos controladores, a prpria mquina de empacotar. Nos padres de mercado, as mquinas que empacotam 5 Kg, trabalham com velocidade mdia de 30 ppm, as mquinas de 1 Kg tem velocidade mdia de 60 ppm. Na figura 5.5 mostra-se a Clula de carga da Alfa, um fabricante nacional.

FIGURA 5.5 CLULA DE CARGA

5.2.2 MDULO DE CONTROLE


a parte do controlador de peso que recebe os dados analgicos da clula de carga, transforma-os em digitais, via um AD. De acordo com os dados faz-se todo o

lix

processamento necessrio. Um esquema simplificado do controlador de peso mostrado no quadro 5.1:

1.1.1.1.1.1.1.1.1 QUADRO 5.1 ESQUEMA SIMPLIFICADO INTERNO DO CONTROLADOR DE PESO


Programao
Peso Mximo Peso Mnimo Fator de Correo Retirar Acima Retirar Abaixo Retirar Aps Peso c/ Embalagem EEPROM 256 Kb Microprocessador 8051

Dados de Produo
Peso atual Qtde Acum. Pacotes Qtde Acum. Quilos Qtde Rej. Acima do Peso Qtde Rej, Abaixo do Peso Mdia Inmetro Mdia atual / Desvio Padro

Fila para armazenar 32 dirios

Fila para armazenar 32 pesos

AD

Ao receber o dado analgico de peso, a CPU o transforma em digital e verifica o valor do mesmo. O peso de referncia, ou seja, o peso ideal, a mdia do peso mximo e o peso mnimo, gravado em memria do controlador. Por tanto, se o peso atual, for igual ao peso mdio calculado, o controlador coloca o peso na fila de pesos, recalcula os acumuladores de produo e mdias, e aciona a parte pneumtica do controlador para retirar o pacote da base de peso. J se o pacote no for igual ao padro, verifica-se e o mesmo est dentro dos pesos aceitveis (entre retirar acima e retirar abaixo). Se o mesmo no estiver, aciona-se a parte pneumtica responsvel pela retirada do pacote da bandeja, e tambm a parte pneumtica responsvel pela retirada do pacote da esteira. O mesmo jogado em um recipiente ao lado da esteira, para reprocesso. Na figura 5.6, apresenta-se a CPU do controlador de peso.

FIGURA 5.6 CPU DO CONTROLADOR DE PESO DWA CHECK 5P

lx

Aps a verificao de um pacote diferente do padro, o controlador aciona a sada responsvel pela correo das canecas da mquina de empacotar. o inter-relacionamento entre o controlador de peso e a mquina empacotar. Ligado a uma das sadas do controlador de peso, est o motor de correo, visto na figura 5.6, responsvel pela correo automtica das mquinas de empacotar. Essa correo resume-se em um motor de reduo, responsvel em girar o manipulo de correo da mquina de empacotar para direita ou esquerda, aumentando ou diminuindo o volume das canecas de dosagem. Tal processo leva sempre em conta o peso mdio. Supondo que o peso mdio desejado, em uma mquina de 1kg seja de 1006,0 gramas, e o peso mdio atual (mdia aritmtica dos ltimos 32 pacotes armazenados) seja de 1004,0, o motor ir corrigir as canecas para mais volume. Se o peso mdio ultrapassar a mdia desejada, o mesmo ir diminuir o volume, mantendo-se sempre uma aproximao da mdia. Com isso teremos em todo o processo produtivo, pesos abaixo da mdia e acima, equilibrando a mdia da produo total. Todo esse processo baseado nos dados de programao, ou seja, se o controlador for programado errado, o controle tambm sair errado. Abaixo segue a explicao mais detalhada sobre a programao do controlador.

5.2.2.1 ESPECIFICAO CONTROLADOR DE PESO

DA

PROGRAMAO

DO

a) peso mximo: parmetro para se efetuar a correo do peso para cima; b) peso mnimo: parmetro para se efetuar a correo do peso para baixo;

lxi

c) fator de correo: o tempo que o motor de correo dever ficar acionado para corrigir; d) retirar acima: parmetro para retirada do pacote da esteira e reprocesso do mesmo; e) retirar abaixo: parmetro para retirada do pacote da esteira e reprocesso do mesmo; f) retirar aps: tempo que o sistema dever esperar para acionar a parte pneumtica responsvel pela retirada do pacote com peso fora dos padres; g) peso com embalagem: peso ideal do sistema.

5.2.3 PNEUMTICA
A parte pneumtica do controlador de peso, composta basicamente de dois cilindros, responsveis um, pela retirada do pacote da bandeja de pesagem, e outro pela retirada do pacote da esteira, caso o mesmo esteja totalmente fora dos padres programados no controlador. Na figura 5.7 apresentado o cilindro de expulso.

FIGURA 5.7 CILINDRO PNEUMTICO QUE COMPE O CONTROLADOR

DE PESO

lxii

5.2.4 MOTOR DE CORREO


Como j mencionado, o motor de correo (figura 5.8), responsvel pelo aumento ou diminuio do volume nas canecas da empacotadora. Com esse processo pode-se corrigir, gradativamente, as variaes do volume do produto.

FIGURA 5.8 MOTOR DE CORREO

Com isso verificamos a importncia do controlador de peso, seja para manter a menor variao entre os pacotes envasados em relao do peso mdio desejado, evitando assim multas do INMETRO e o desperdcio do processo produtivo.

6 DESENVOLVIMENTO DO PROTTIPO
O desenvolvimento do prottipo utilizando RS485 e Modbus como protocolo de comunicao em um PC, passa obrigatoriamente, pela interface serial do microcomputador,

lxiii

ou seja, a RS232C. A nvel de especificao e implementao do prottipo na arquitetura IBM PC, deve-se dar uma ateno especial a programao da interface serial, ou seja, configur-la de forma correta. Outro ponto importante a montagem das mensagens que sero transmitidas do PC para o controlador de peso e vice-versa dentro das especificaes do Modbus. Como a RS485 somente o meio que utilizar-se- para o trfego das informaes, a nica ateno em relao a ele deve ser na montagem do cabeamento. Para a especificao do prottipo, foi utilizada a fluxogramao, que segundo Klitzke ([KLI1999]), para processos com execuo seqencial, o fluxograma um mtodo de especificao e documentao bastante conhecido e utilizado. Em concordncia com o autor, utilizou-se esse mtodo para especificao do prottipo. Para a metodologia de desenvolvimento do prottipo ser utilizada Anlise Estruturada. O aplicativo Micrografx ABC FlowCharter, em sua verso 4.0, mostrou-se uma ferramenta muito til para se aplicar a tcnica de fluxogramao na especificao do prottipo.

6.1 ESPECIFICAO DO PROTTIPO


Para se ter um entendimento melhor sobre a especificao e operacionalidade do prottipo, necessrio ver primeiramente a instalao fsica da rede de controladores de peso e uma viso geral do processo. Basicamente o processo de busca e envio de informaes vai ocorrer como demonstra a figura 6.1 abaixo: Figura 6.1 Diagrama macro do ambiente 1 Passos 2 3
Conversor de RS

4
RS485

Check 5P PC (Prottipo + RS232C)

10 9 0 * Os pontos de 1 a 12 correspondem aos passos abaixo mencionados. 12 11

A seguir so descritos os passos acima relacionados.

lxiv

6.1.1 DESCRIO DOS PASSOS


Partindo-se do passo 1 tem-se o computador, no qual se encontra o prottipo e a porta serial RS232C. A mensagem do prottipo (mestre), enviada para a RS232C e depois passa para o passo 2, onde encontra-se o conversor RS232C para RS485. Aps o conversor, a mensagem passa para o meio RS485 e chega at os controladores de peso (escravos), como segue os passos de 3 6, que iro identificar para quem a mensagem. O controlador questionado ir responder, passando a resposta para todos os controladores novamente

(passos de 7 10), at chegar no conversor (passo 11) que ir converter de RS485 para RS232C. A mensagem recebida pelo PC na porta serial (passo 12) e por fim, o prottipo l a porta serial obtendo a resposta em questo.

6.1.2 DIAGRAMA DE FLUXO DE DADOS (DFD)


O diagrama de contexto abaixo exibe as entradas e sadas do prottipo. Figura 6.2 Diagrama de Fluxo de Dados (DFD)

C:\BCC\TCC\FLOW\DFD.AF3

Wednesday, de November de Dados Diagrama 15 deFluxo de 20100 09:17

Sistema Supervisor

Produo e Dirios

Dados de Produo e Dirio

Dados da Porta Serial Reset para o Controlador PROTTIPO

Reset Programao Controlador

Dados para Monitorao Monitorao do Controlador Usurio Programao para o Controlador

No diagrama de fluxo de dados pode-se observar as principais funes do prottipo. Onde um sistema de terceiros ir pedir a cada minuto as informaes de produo e dirios. A nvel de usurio, o mesmo poder interagir com o sistema, configurando os parmetros seriais

lxv

e utilizando as ferramentas de monitorao, alterao de parmetros e reset dos controladores. As informaes enviadas ao controlador, todas, sem excees tero um retorno ao prottipo, significando um comando foi executado com sucesso ou no, ou o recebimento de informaes do processo de peso.

6.1.3 FLUXOGRAMA DA CHAMADA DAS FUNES


Na figura 6.3, apresentada a ordem das chamadas das funes e tambm o nvel que cada funo est especificada no prottipo. Como funes de leitura tem-se: Lerpeso, Lerproducao, Lerprogramacao,

Lerclassificador, Lerdiaio, Lerpeso e Lerinmetro. Como funes de escrita no controlador tem-se: Escreverprogramacao,

Escreverclassificador, Escreverembalagem. Como funes de eliminao de dados tem-se: Apagarproducao, Apagarpilha, Apagardiario. Figura 6.3 Chamada das funes no prottipo

C:\BCC\TCC\FLOW\FLUXO.AF3 Wednesday, 15 de November de 20100 08:29

Chamada das Funes

Principal

Abrir Serial

IA_Maquinas

Inicia Array

Producao

Monitoracao

Serial

Fechar Prottipo

Coloca Array

Ler Classificador

Escreve

Reseta

Serial Prog

Salva Serial

Ler Producao Ler Diario

Ler Programacao Ler Embalagem

Escreve Classificador Escreve programacao Escreve Embalagem

Apaga Dados

Fecha Serial Abre Serial

Apaga Diario

Ler Producao

Find Array Apaga Producao

Ler Inmetro Ler Peso

Como pode-se observar na figura 6.3 o prottipo primeiro abre a porta serial, inicializa um array de mquinas ativas no sistema e um array de mquinas para reset. Aps esse

lxvi

processo, fica na espera do pressionamento de algum boto disponvel. Abaixo, na figura 6.4 encontra-se a especificao do processo principal. Figura 6.4 Processo Principal
C:\BCC\TCC\FLOW\PRINCIP.AF3
Incio

Tuesday, 14 de November de 20100 1

14:28

Existe C:\Producao

Cria C:\Producao Press PRODUCAO

N
Press MONITORAR

N 2

S S
Existe C:\Reset

S Wait...

Cria C:\Reset

Wait... S N N
Cria C:\Diario Press Ler Produo

S
Press Incio MONITORACAO

Existe C:\Diario

N
Press Parar

S
Parar = True

S N

Fecha C:\Producao Fecha C:\Reset Fecha C:\Diario

S
PRODUCAO Press Escrever MONITOR ESCREVE

N S N
Existe C:\Maquinas Cria C:\Maquinas Break Press Reset MONITOR RESETA

Parar = True

Cont = 0 Press PORTA SERIAL

N
press SAIR

2 N
Cont > 31 Cont = Read(Maquinas) Componente[Cont] = True Inc (Cont)

S S
FECHAR SERIAL (COM)

S
TIMEOUT = Read (Maquinas)

Wait...
FIM Porta = Read(Maquinas) Press Serial COM = ABRIR SERIAL (PORTA) PROGR SERIAL

Press Padro

TIMEOUT = DEFAULT

IA_MAQUINAS (ARRAYMAQ)

Press Salvar

SALVA SERIAL

INICIAARRAY (ARRAYRESET)

lxvii

No processo de produo (figura 6.5), primeiramente inicializa-se um array de mquinas que devem ser resetadas pelo prottipo. Aps feita a leitura da produo e leitura de um dirio da mquina. verificado se a mquina em questo est no array de reset. Se a mesma for encontrada, executa-se o comando de reset. Figura 6.5 Processo de Produo

Thursday, 9 de November de 20100

C:\BCC\TCC\FLOW\P_PRODA.AF3

10:56 3 4

Incio Ret = LERDIARIO (ArrayMaq[Cont]) h1 = hora VDiario = ' ' VProd = ' ' Ret = APAGAPRODUCAO (ArrayMaq[Cont])

N
MemoProd.Linhas = Vazio

Ret <> '2'

N 2 N
Ret = '4'

Tamanho (Ret) <> 2 MemoDiario.Linhas = Vazio

S
VDiario = Ret

RETIRAARRAY (ArrayReset, ArrayMaq[Cont])

S
Existe C:\Reset.dwa Maq = Read(Reset) Fim de Arquivo

COLOCA ARRAY (Maq, ArrayReset) Ret = APAGADIARIO (ArrayMaq[Cont])

S N

INC( Cont )

Cont = 0 Ret = ''

1 S
ArrayMaq [Cont] = 0 C:\Producao = MemoProd.Linhas C:\Diario = MemoProd.Linhas

N 2
Ret = '4'

S
MemoDiario.Linha.Add (VDiario )

N
VProd = ArrayMaq[Cont] Tempo Ciclo h2 = Hora Tempo= h2-h1

Fim Ret = LERPRODUCAO (ArrayMaq[Cont])

Encontrou = FINDARRAY (ArrayReset, ArrayMaq[Cont])

N N 2
Tamanho (Ret) > 2 Encontrou = True

S 4

S
VProd = VProd + Ret

MemoProd.Linha.Add (VProd )

lxviii

No processo de monitorao (figura 6.6), o prottipo primeiramente l os dados de programao da mquina. Aps executada uma rotina onde l-se constantemente os dados de produo, do INMETRO e do ltimo peso da mquina. Nesse processo tem-se ainda as funes de alterao dos parmetros de programao da mquina e reset. No processo de alterao dos parmetros da mquina, o prottipo ir enviar os dados de classificao e programao que constam na tela do prottipo aos controladores, com os comandos descritos essa funo. O processo de reset da mquina tambm pode ser acionado, como pode ser vista na figura 6.6. Figura 6.6 Processo de Monitorao

Thursday, 9 de November de 20100 Incio

C:\BCC\TCC\FLOW\P_MON.AF3

10:56 1

PegouDados = False VMaq = EditMaq.Edit Ret = ''

Tamanho (Ret) > 1

Mnimo <= Media

APROVADO

REPROVADO

h1 = hora

N Pegou Dados = True S Ret = Ler Classificador ( VMaq ) Tamanho (Ret) > 1

S
Ret = Ler Programacao ( VMaq ) Tamanho (Ret) > 1 Ret = Ler Embalagem ( VMaq )

Ret = LerPeso ( VMaq )

N N
Tamanho (Ret) > 1 Tamanho (Ret) > 1

S
PegouDados = True Ret = LerProducao ( VMaq ) Ret = Apaga Peso ( VMaq )

Tempo Ciclo h2 = Hora Tempo= h2-h1 Tamanho (Ret) > 1 Mdia = Peso / Pacote VMaq <> EditMaq.Edit

S
PegouDados = False VMaq = EditMaq.Edit

Ret = LerInmetro ( VMaq )

N
PARAR

FIM

No processo de configurao serial do PC, como demonstra a figura 6.7, o prottipo ir fechar a porta serial atual, e abrir a mesma porta ou uma nova porta, com as configuraes escolhidas para timeout. Figura 6.7 Programao Serial

lxix

C:\BCC\TCC\FLOW\P_SERPRG.AF3 Thursday, 9 de November de 20100 10:56


Incio

FECHAR SERIAL (COM)

Serial.Index =0

Serial.Index =1

N
Serial.Index =2 Serial.Index =3

S
Porta = COM1

S
Porta =COM2

S
Porta = COM3

S
Porta = COM4

COM = ABRIR SERIAL (PORTA)

COM <> 0

Exibe(Problemas com Porta Serial)

FIM

Para salvar as alteraes, o prottipo faz a chamada da funo SalvarSerial, especificada na figura 6.8.

lxx

Figura 6.8 Salvar Serial

C:\BCC\TCC\FLOW\P_SERIAL.AF3
Incio

Thursday, 9 de November de 20100 10:56

N
Existe C:\Maquinas Cria C:\Maquinas

Cont = 0

N
Cont > 31 Componente [Cont] = True Write (Maquinas, 1) Inc (Cont)

S
Write (Maquinas,0)

Write(Maquinas, TIMEOUT)

Write(Maquinas, Porta)

Fecha(Maquinas)

FIM

lxxi

O processo de FecharProttipo, encerra o prottipo fechando antes a porta serial aberta. Uma especificao detalhada das subfunes encontra-se no anexo 1 do trabalho.

6.1.4 NCLEO DE COMUNICAO


O ncleo de comunicao, apresentado abaixo (figura 6.9), chamado por todas as funes de leitura, escrita e eliminao de dados do sistema, ou seja, toda e qualquer comunicao entre prottipo e controlador de peso passa pelo ncleo de comunicao. Seguindo o fluxo das chamadas de funes a nvel de comunicao, tem-se como funo principal as funes de leitura, escrita e eliminao de dados. Essas acionam a funo de comunicao que responsvel pela inicializao dos arrays de entrada e sada de caracteres via interface serial. Aps iniciado os arrays de entrada e sada feita a comunicao efetivamente. Recebido o retorno do controlador , o prottipo verifica a paridade da mensagem. A funo de verificao de paridade, faz o clculo da paridade e retorna para a funo que chamou, fechando o ciclo da comunicao entre prottipo e controlador de peso. Figura 6.9 Ncleo de comunicao
C:\BCC\TCC\FLOW\FLUXO.AF3 Wednesday, 15 de November de 20100 08:29

Ncleo de COMUNICAO

Funes de Leitura, Escrita e Eliminao

Comunica

IniciaArray

VerCRC

Calcula Paridade

A especificao do ncleo de comunicao encontra-se no anexo 1.

lxxii

6.1.5 ESPECIFICAO MODBUS


A especificao do protocolo Modbus segue o seguinte formato (figura 6.10): Sincronismo + Sincronismo + Byte de inicializao + Nmero da mquina + Comando + Dados + LRC + Byte de finalizao. Como alteraes do Modbus original no prottipo, tem-se que o byte de inicializao ser o 2, e o byte de finalizao ser o 3. O nmeros dos controladores sero de 31 a 62. Outra diferena, que para eliminao de rudos, envia-se antes da mensagem dois bytes zeros. Figura 6.10 Especificao Modbus no prottipo

In c io

A rra y E n tra d a [1 ] = 0

A rra y E n tra d a [2 ] = 0

A rra y E n tra d a [3 ] = 2 { IN C IO }

A rra y E n tra d a [4 ] = 30 + N U M M A Q

A rra y E n tra d a [5 ] = C O M ANDO

S
H Dados A r r a y E n tr a d a [6 ..n ] = DADO S

A rra y E n tra d a [n + 1 ] = LR C

A rra y E n tra d a [n + 2 ] = 3 {F im }

F im

lxxiii

6.1.6 FUNES DESENVOLVIDAS


Abaixo so descritas todas as funes de leitura, escrita e excluso de dados aceitas pelo controlador de peso, bem como os parmetros a serem enviados aos controladores e os retornos que a funo recebe.

6.1.6.1 LERPRODUCAO
Essa funo l o acumulador de quilos e pacotes pesados pela mquina. Bem como os pacotes rejeitados com o peso fora do padro. Sintaxe.......: LerProducao(NumeroMaquina: Integer): String Parmetros: NumeroMaquina: Parmetro que conter o nmero da mquina para a qual deseja-se pegar os dados de produo Retorno.....: Essa funo retorna uma string do seguinte formato: (Quilos, Pacotes, RejMais, RejMenos) - QQQQQQPPPPPP++++---Nmero de quilos e pacotes pesados e quantidades rejeitadas.

6.1.6.2 LERPESO
Essa funo l o ltimo peso constante na pilha da mquina. O mesmo, aps ser lido, dever ser apagado pela funo ApagarPeso, seno permanecer na pilha e sempre ser retornado pela funo LerPeso. Sintaxe.......: LerPeso (NumeroMaquina: Integer): String Parmetros: NumeroMaquina: Parmetro que conter o nmero da mquina.

Retorno.....: Essa funo retorna uma string do seguinte formato: PPPP - ltimo peso registrado

6.1.6.3 LERCLASSIFICADOR

lxxiv

Essa funo l uma string contendo os dados do classificador da mquina. Esses parmetros podem ser alterados pela funo EscreverClassificador Sintaxe.......: LerClassificador(NumeroMaquina: Integer): String Parmetros: NumeroMaquina: Parmetro que conter o nmero da mquina

Retorno.....: Essa funo retorna uma string do seguinte formato: AAAAaaaaSS AAAA - Retirar pacote acima de AAAA gramas aaaa - Retirar pacote aps aaaa gramas SS - Retirar pacote aps SS segundos, ou SS posies

6.1.6.4 LERPROGRAMACAO
Essa funo l uma string contendo os dados de programao da mquina. Esses parmetros podem ser alterados pela funo EscreverProgramao Sintaxe.......: LerProgramacao(NumeroMaquina: Integer): String Parmetros: NumeroMaquina: Parmetro que conter o nmero da mquina

Retorno.....: Essa funo retorna uma string do seguinte formato: PPPPppppCC PPPP - Peso mximo para correo em PPPP gramas pppp - Peso mnimo para correo em pppp gramas CC - Fator de correo.

6.1.6.5 LERDIARIO
Essa funo l o ltimo dirio constante na fila da mquina. Aps a leitura deve-se excluir o dirio com a funo ApagarDiario. Sintaxe.......: LerDiario(NumeroMaquina: Integer): string

lxxv

Parmetros:

NumeroMaquina: Parmetro que conter o nmero da mquina

Retorno.....: Essa funo retorna uma string do seguinte formato: (Dirio, Hora, Minuto, Dia, Mes) - NNN,HH,MM,DD,MM

6.1.6.6 LEREMBALAGEM
Essa funo l o peso bruto que fica armazenado na mquina de empacotar. Pode ser alterado pelo comento EscreveEmbalagem Sintaxe.......: LerEmbalagem (NumeroMaquina: Integer): String Parmetros: NumeroMaquina: Parmetro que conter o nmero da mquina

Retorno.....: Essa funo retorna uma string do seguinte formato: PPPP - Peso bruto registrado na DWA Check 5P

6.1.6.7 LERINMETRO
Essa funo l o clculo do INMETRO efetuado pelo controlador de peso com os ltimos 32 pacotes pesados. Sintaxe.......: LerInmetro (NumeroMaquina: Integer): String Parmetros: NumeroMaquina: Parmetro que conter o nmero da mquina

Retorno.....: Essa funo retorna uma string do seguinte formato: (MMMMmmmmdd) MMMM Peso mdio dos ltimos 32 pacotes mmmm Mnimo segundo a lei do INMETRO dd Desvio Padro

6.1.6.8 APAGARPRODUCAO

lxxvi

Essa funo apaga as quantidades acumuladas da Check 5P: quantidade de quilos, quantidade de pacotes, quantidades de pacotes rejeitados acima e abaixo do peso. Sintaxe.......: ApagaProducao (NumeroMaquina: Integer): String Parmetros: NumeroMaquina: Parmetro que conter o nmero da mquina

Retorno.....: ver tpico 6.1.7

6.1.6.9 APAGARPESO
Essa funo apaga um peso da pilha. Sintaxe.......: ApagaPeso (NumeroMaquina: Integer): String Parmetros: NumeroMaquina: Parmetro que conter o nmero da mquina

Retorno.....: ver tpico 6.1.7

6.1.6.10 APAGARDIARIO
Essa funo apaga um dirio da pilha. Sintaxe.......: ApagaDirio (NumeroMaquina: Integer): String Parmetros: NumeroMaquina: Parmetro que conter o nmero da mquina

Retorno.....: ver tpico 6.1.7

6.1.6.11 ESCREVERPROGRAMACAO
Essa funo envia para a DWA Check 5P uma string contendo os dados para configurar a programao da mquina. Sintaxe.......: EscreverProgramacao( PortaSerial: String , NumeroMaquina: Integer,

ParProgramacao: String ): String Parmetros: NumeroMaquina: Parmetro que conter o nmero da mquina

lxxvii

ParProgramacao: Conter todos os valores para modificar os parmetros do classificador da mquina. Formato do parmetro ParProgramacao: PPPPppppCC PPPP - Peso mximo para correo em PPPP gramas pppp - Peso mnimo para correo em pppp gramas CC - Fator de correo. Retorno.....: ver tpico 6.1.7

6.1.6.12 ESCREVEREMBALAGEM
Essa funo envia para a DWA Check 5P uma string contendo o peso bruto do pacote. Sintaxe.......: EscreverPesoEmbalagem(NumeroMaquina: Integer, PesoBruto: String ): String Parmetros: NumeroMaquina: Parmetro que conter o nmero da mquina PesoBruto: Peso do pacote com a embalagem Formato do parmetro PesoBruto: NNNN Retorno.....: ver tpico 6.1.6

6.1.6.13 ESCREVERCLASSIFICACAO
Essa funo envia para a DWA Check 5P uma string contendo os dados para programar o classificador da mquina.. Sintaxe.......: EscreverParametrosClassificador( NumeroMaquina: Integer, ParClassificador: String ): String Parmetros: NumeroMaquina: Parmetro que conter o nmero da mquina ParClassificador: Conter todos os valores para modificar os parmetros do classificador da mquina

lxxviii

Formato do parmetro ParClassificador: AAAAaaaaSS AAAA - Retirar pacote acima de AAAA gramas e abaixo de aaaa gramas. SS - Retirar pacote aps 0.SS segundos, ou SS pacotes pesados. Retorno.....: ver tpico 6.1.7 Abaixo ser especificada uma funo de leitura, uma funo de deleo de dados e uma de escrita nos controladores. As escolhidas foram as funes: LerProducao, ApagaProducao e EscreveClassificador. Todas as demais funes seguem o mesmo modo de especificao, variando apenas nos dados enviados ou recebidos, e no campo comando. No esquecendo o clculo de LRC que ser diferente para cada mensagem. A especificao das demais funes encontra-se no anexo 1. Na figura 6.11, tem-se a especificao da funo de leitura que ir efetuar a leitura da produo nos controladores de peso. Figura 6.11 Funo de Leitura

C:\BC C \T C C\FLOW \R W _02A.AF3 T hursday, 9 de N ovem ber de 20100


Incio

10:56 2

R etorno = ' ' Temp = ' '

Tem p = Temp + ' , '

ArrayEntrada[1] = 0 Pos = IniData +12 ArrayEntrada[2] = 0

ArrayEntrada[3] = 2 {Incio}

S
ArrayEntrada[4] = 30 + NumM aq Pos <= IniD ata+15

Temp = Temp + ArraySaida [Pos]

Inc(Pos)

ArrayEntrada[5] = 32 {C om ando}

N
Temp = Temp + ' , '

ArrayEntrada[6] = LR C

ArrayEntrada[7] = 3 {Fim } Pos = IniD ata +16

R et = C om unica(ArrayEntrada, ArraySaida, IniData, Fim Data)

S N 1 S
Pos = IniD ata R et = Tem p R etorno =5 Pos <= IniD ata+19

Temp = Temp + ArraySaida [Pos]

Inc(Pos)

1 S
Pos <= IniD ata+5 Temp = Temp + ArraySaida [Posi] Inc(Pos) Fim

N
Temp = Temp + ' , '

lxxix

Pos = IniD ata + 6

Na figura 6.12, tem-se a especificao da funo de excluso de dados que ir efetuar o zeramento dos dados de produo nos controladores de peso. Figura 6.12 Funo de excluso de dados

Thursday, 9 de November de 20100


Incio

C:\BCC\TCC\FLOW\RW_08.AF3

10:56

Retorno = ' '

ArrayEntrada[1] = 0

ArrayEntrada[2] = 0

ArrayEntrada[3] = 2 {Incio}

ArrayEntrada[4] = 30 + NumMaq

ArrayEntrada[5] =36 {Comando}

ArrayEntrada[6] = LRC

ArrayEntrada[7] = 3 {Fim}

Retorno = Comunica(ArrayEntrada, ArraySaida, IniData, FimData)

Fim

lxxx

Na figura 6.13, tem-se a especificao da funo de escrita de dados que ir efetuar a escrita dos dados de classificao nos controladores de peso. Figura 6.13 Funo de escrita de dados

C:\BCC\TCC\FLOW\RW_12.AF3
Incio

Thursday, 9 de November de 20100


1

10:56

Retorno = ' ' Pos <=15 ArrayEntrada[1] = 0 ArrayEntrada[Pos] = ASCII(Parametro[Pos-6]) Inc( Pos )

ArrayEntrada[2] = 0

ArrayEntrada[16] = LRC

ArrayEntrada[3] = 2 {Incio}

ArrayEntrada[17] = 3 {Fim}

ArrayEntrada[4] = 30 + NumMaq Retorno = Comunica(ArrayEntrada, ArraySaida, IniData, FimData)

ArrayEntrada[5] =51 {Comando}

Pos = 6

Fim 1

lxxxi

6.1.7 RETORNOS DAS FUNES


Os retornos das funes desenvolvidas podem ser os seguintes: a) 0 (zero) b) 1 (um) c) 2 (dois) d) 3 (trs) houve problema na porta serial; erro de timeout; sem novos dados; erro de recepo da Check 5P; ltimo comando executado com sucesso; com novos dados; erro de paridade; erro de continuidade erro de dados

e) 4 (quatro) f) 5 (cinco) g) 6 (seis) h) 7 (sete) i) 8 (oito)

Abaixo so descritos os retornos e o motivo pelo qual os mesmos ocorrem.

6.1.7.1 PROBLEMAS NA PORTA SERIAL - RETORNO 0


Esse retorno geralmente causado quando se est tentando ler ou enviar mensagens por uma porta serial no conectada ao conversor de rede 485. Outro motivo, o fato de haver conflito com a porta serial selecionada. Outro provvel motivo do retorno zero, pode ser gerado por defeitos fsicos na porta (porta queimada). Um ponto importante tambm verificar se a porta est instalada no Windows.

6.1.7.2 ERRO DE TIME OUT - RETORNO 1


Os erros de timeouts so bem caractersticos em uma comunicao serial. Trata-se de um tempo pelo qual o sistema fica em estado de espera para receber dados, porm os dados no so enviados durante esse intervalo. Na rede DWA, a prioridade do equipamento o controle do peso, portanto, h intervalos de aproximadamente 10ms, no qual a mquina no atende a rede. Ento aceitvel que algumas vezes esses erros ocorram. Para tanto, basta

lxxxii

efetuar a leitura novamente. Do lado do PC, aps o envio da mensagem, espera-se por um tempo de aproximadamente 300ms para retorno da resposta. Se a mesma no vier nesse intervalo, ocorre um erro de timeout. Se houver problemas de timeout constante, as causas mais provveis so: a) o controlador estar desligado; b) h problemas com o CI (circuito integrado) do controlador que processa as mensagens recebidas via rede; c) rompimento do cabeamento, ou curto no mesmo.

6.1.7.3 SEM NOVOS DADOS RETORNO 2


Lembra-se que o controlador de peso possui um buffer de 32 posies para armazenamento dos pesos coletados, e um buffer de 32 posies para o armazenamento dos dirios inseridos via teclado do controlador. Se esses buffers estiverem vazios, e tenta-se ler um peso ou um dirio, o sistema retorna a string 2, o que significar que o estrutura est vazia, sem nenhum dado registrado.

6.1.7.4 ERRO DE RECEPO CHECK5P - RETORNO 3


Esse erro ocorre quando a Check 5P recebe um comando e no consegue interpret-lo. Isso possvel quando ocorre algum rudo na linha que danifique as informao. Tal erro detectado pelo clculo de LRC do controlador de peso.

6.1.7.5 LTIMO COMANDO EXECUTADO RETORNO 4


Esse retorno se obtm somente quando se efetua os comandos de excluso ou escrita do controlador de peso DWA Check 5P. O Cdigo 4 (quatro), significa que o comando foi compreendido pela mquina e executado com sucesso

6.1.7.6 COM NOVOS DADOS RETORNO 5

lxxxiii

Esse um retorno interno da biblioteca. Dificilmente ser apresentado ao usurio. Porm usado para o clculo do desempenho da rede. As funes internas do sistema utilizam esse retorno para verificar as mensagens do controlador.

6.1.7.7 ERRO DE PARIDADE RETORNO 6


Mensagem que ocorre quando o prottipo detecta um erro de paridade na chegada das informaes ou quando o controlador retorna uma mensagem especfica identificando o erro na mensagem de envio.

6.1.7.8 ERRO DE CONTINUIDADE RETORNO 7


Toda mensagem possui um caracter de incio e outro de finalizao da mensagem. Quando aps a leitura da porta serial, esses caracteres no so encontrados pelo prottipo, o sistema identifica como um erro de continuidade dos dados. Leva-se em considerao que o buffer de leitura e escrita na porta serial so de 128 bytes, sendo que se houver muito rudo na linha, os caracteres de incio e fim da mensagem podem no estar no buffer.

lxxxiv

6.2 IMPLEMENTAO
Nesse ponto sero mostradas algumas tcnicas e ferramentas utilizadas para a implementao do prottipo, bem como a sua operacionalidade e forma de funcionamento. Algumas etapas da implementao consideradas importantes nos processos apresentados tambm sero citadas. A implementao completa do prottipo encontra-se no anexo 2.

6.2.1 AMBIENTE DE IMPLEMENTAO


A implementao do prottipo ser no ambiente Delphi. O acesso a porta serial do PC ser via API do Windows para comunicao com o equipamento CHECK 5P da DWA, utilizando os padres RS232C e RS485 como meios de transmisso. Foi escolhido ambiente Delphi, devido a sua facilidade de interao com as funes de API do Windows, e tambm pela facilidade de tratamento de ponteiros, que so necessrios para a utilizao de certas funes API, como por exemplo a abertura da porta serial, transmisso e recepo de dados pela mesma, entre outras.

6.2.2 RECURSOS DE HARDWARE NECESSRIO


Para funcionamento do prottipo se fazem necessrios alguns dispositivos e equipamentos que compem a rede industrial aqui descrita, ou seja, so necessrios um PC rodando o prottipo com RS232C, um conversor de RS232C-RS485 e vice-versa, quatro

lxxxv

metros de cabo Furukawa Fisdata 2 x 24 AWG blindado para conexo entre PC, controlador de peso e um simulador de mquina de empacotar. Em relao ao cabeamento, segue abaixo, na figura 6.14, a especificao da pinagem e conexo necessria para que a instalao fsica torne possvel o envio e recebimento das mensagens. Figura 6.14 Pinagem da Rede

6.2.3 PROTTIPO
Basicamente, a funo do prottipo enviar funes via rede para os controladores de peso, receber a resposta dos mesmos e guardar essas informaes em um arquivo texto para que programas de terceiros abram esses arquivos e possam pegar tanto os dados de produo (arquivo producao.dwa), acumulados no controlador de peso, como os dirios (arquivo diario.dwa) que foram armazenados via teclado do controlador. Outra funo, ler um arquivo de reset ( arquivo reset.dwa) para apagar os dados de programao dos controladores. O arquivo conter em cada linha um nmero, o qual ser armazenado em um array. Quando for efetuado o comando para leitura da rede, o sistema tambm verifica se a mquina encontra-se no array de reset. Estando l, o sistema primeiramente l os dados, depois apaga-os do controlador, e se o comando obteve sucesso, retira o nmero da mquina do array.

lxxxvi

Outra funo um monitoramento on-line dos pacotes, quantidades e processos que est ocorrendo em cada mquina. Nesse monitoramento, o sistema busca a aproximadamente cada 400 milisegundos, informaes como, quantidade de pacotes e quilos produzidos, quantidades rejeitadas, a programao do controlador de peso, o clculo do INMETRO, se os pacotes atuais esto aprovados segundo o critrio do INMETRO ou no, e tambm o peso do ltimo pacote que o controlador processou. Um detalhe que deve ser observado, que como trata-se de um prottipo, os processos so iniciados com um clique do mouse sobre os botes. Porm, o sistema dever ser programado com um timer de 1 (um) minuto para a coleta das informaes, isso quer dizer, a cada minuto, o sistema inicia automaticamente o processo de leitura da rede e armazenamento em arquivo texto da produo e dirio. Outro ponto relevante, que ao iniciar o processo de monitoramento individual de um equipamento, automaticamente para-se o timer de um minuto (responsvel pela coleta dos dados de produo), fazendo com que o sistema fique exclusivamente executando a tarefa de monitoramento, e no mais armazenamento dos dados de produo. Ao sair da tela de monitoramento o timer de 1 um minuto dever ser reiniciado. Segue abaixo, a apresentao das telas do prottipo.

lxxxvii

6.2.3.1 TELA PRINCIPAL DO SISTEMA


Na figura 6.15 apresentada a tela de entrada do prottipo. Nessa tela v-se os botes de produo, monitorar, porta serial e sair. Figura 6.15 Tela de entrada do prottipo

Botes

Como j visto as funes principais do sistema, basta clicar em um dos botes apresentados na figura 6.15 para se ter acesso a busca de informaes. Atravs do boto produo, tem-se acesso a busca dos dados de produo e dirios, monitoramento da

lxxxviii

mquina, atravs do boto monitorar e atravs do boto porta serial tem-se acesso a alterao dos parmetros de comunicao. A nvel de implementao, o quadro abaixo (Quadro 6.1) demonstra algumas partes da inicializao do sistema. A funo descrita abaixo, inicializada quando sistema executado retornando a configurao serial previamente gravada em arquivo. A funo completa encontra-se nos anexo 2. Quadro 6.1 Retorno da configurao da porta serial
procedure TFormColeta.FormShow(Sender: TObject); . . . AssignFile(VMaquina,'C:\Maquinas.Ini') {L arquivo de config}; Try Reset(Vmaquina); . . . {Retorna os TimeOuts gravados} Try Readln(VMaquina,Rascunho); TO_LeituraTotal:= StrToInt(Rascunho); Readln(VMaquina,Rascunho); TO_LeituraByte:= StrToInt(Rascunho);

Readln(VMaquina,Rascunho);
TO_LeituraAcrescimo:= StrToInt(Rascunho); Readln(VMaquina,Rascunho); TO_EscritaTotal:= StrToInt(Rascunho); Readln(VMaquina,Rascunho); TO_EscritaByte:= StrToInt(Rascunho); Readln(VMaquina,Rascunho); TimeSleep:= StrToInt(Rascunho); Except TO_LeituraTotal:= 300; TO_LeituraByte:= 50; TO_LeituraAcrescimo:= 50; TO_EscritaTotal:= 3; TO_EscritaByte:= 3; TimeSleep:= 1; End;

{Retorna a Porta Serial}


Readln(VMaquina,Rascunho); {Coloca a porta na serial escolhida} RadioGroupPortaSerial.Itemindex:=StrtoInt(Rascunho); Case RadioGroupPortaSerial.ItemIndex of 0: Porta:= 'COM1'; 1: Porta:= 'COM2'; 2: Porta:= 'COM3'; 3: Porta:= 'COM4';

lxxxix

Outra funo inicializada na execuo do sistema a funo de abertura da porta serial, descrita em partes no quadro 6.2. A funo completa encontra-se descrita nos anexo 2. Quadro 6.2 Abertura da porta serial
Function AbrirSerial(Serial: String): THandle; . . . {Fecha a porta se estiver aberta} CloseHandle( hComm );

{Abre a porta, para leitura e gravao} hComm := createfile ( PChar(Serial) ,generic_WRITE or

generic_READ,1,nil,open_existing,file_flag_overlapped,0); If hComm > 0 Then Begin {Seta as configuracoes da porta} setupComm ( hcomm,128,128); DCB.BaudRate DCB.Parity DCB.ByteSize DCB.StopBits DCB.XOnChar DCB.XOffChar DCB.XOnlim DCB.XOfflim DCB.ErrorChar :=9600; :=NOPARITY; :=8; :=ONESTOPBIT; :=Char(11); :=Char(13); :=20; :=20; :=CHAR(03);

xc

6.2.3.2 TELA DA PRODUO DO SISTEMA


Na figura 6.16 apresentada a tela de produo do prottipo. Figura 6.16 Tela de produo

E B C

Como pode-se observar

na figura 6.16, apresentada a tela responsvel pelas

operaes de busca de produo e dirios no controlador de peso DWA Check 5P. A tela composta pelos itens abaixo descritos.

xci

No item A, apresentado uma estatstica sobre o desempenho da comunicao na rede. Cada mensagem que o PC envia para os controladores de peso, passam necessariamente por uma funo de comunicao, apresentado na especificao do prottipo. Nessa funo observado o retorno de cada mensagem e calculado os dados de desempenho da rede. Em suma, a cada mensagem enviada, incrementasse o total de leituras e os demais dados so representados pela sua expressividade sobre o total de leituras efetuadas. A implementao dos dados de desempenho mostrada no quadro 6.3. Quadro 6.3 Clculo do desempenho da rede
Function Comunica(Entrada: TArrayByte; Var Saida: TArrayByte; Var Ini: Integer; Var Fim: Integer): String; ... {Alimenta os dados estatsticos} Estatistica:= StrToInt(RetCOM); Case Estatistica Of 0: FormColeta.EditSerial.Text := IntToStr(StrToint(FormColeta.EditSerial.Text) + 1); 1: FormColeta.EditTimeOut.Text := IntToStr(StrToint(FormColeta.EditTimeOut.Text) + 1); 2: FormColeta.EditSemNovosDados.Text := IntToStr(StrToint(FormColeta.EditSemNovosDados.Text) + 1); 3: FormColeta.EditErroRecepcao.Text := IntToStr(StrToint(FormColeta.EditErroRecepcao.Text) + 1); 4: FormColeta.EditComandoCerto.Text := IntToStr(StrToint(FormColeta.EditComandoCerto.Text) + 1); 5: FormColeta.EditNovosDados.Text := IntToStr(StrToint(FormColeta.EditNovosDados.Text) + 1); 6: FormColeta.EditParidade.Text := IntToStr(StrToint(FormColeta.EditParidade.Text) + 1); 7: FormColeta.EditContinuidade.Text := IntToStr(StrToint(FormColeta.EditContinuidade.Text) + 1); End; FormColeta.EditTotalLeituras.Text := IntToStr(StrToint(FormColeta.EditTotalLeituras.Text) + 1); ...

Basicamente o clculo de cada item dentro do desempenho da rede, a diviso do seu montante pelo total de leituras, ou seja, se timeouts tem 50 retornos, num universo de 100 leituras, o seu percentual de representatividade de 50% . Para clculo do desempenho total da rede, soma-se os retornos representados por total de escritas corretas, sem novos dados e com novos dados, e divide-se pelo total de leituras.

xcii

No item B, so apresentadas as mquinas que esto instaladas em rede as quais o prottipo dever efetuar a leitura de produo e dirios. Ou seja, se houver 7 (sete) mquinas na rede, a sugere-se que as mesmas sejam nomeadas de forma ordenada, comeando-se com 1. Com isso tem-se na rede mquinas de 1 a 7. Deixando habilitada as mquinas de 1 a 7 no grid representado por B, ao ser iniciada a operao de leitura das mquinas, o sistema somente ir pegar os dados das mquinas que estiverem habilitadas. No item C, aps cada leitura de produo aparecer os dados enviados pelo controlador de peso na ordem do item C. O mesmo ocorre com o item D. O sistema ir ler um dirio por vez armazenado na pilha do controlador e apresent-lo em tela. A implementao da busca dos dados de produo pode ser observada no quadro 6.4 , abaixo. Quadro 6.4 Busca e gravao dos dados de produo
procedure TFormColeta.BtLerClick(Sender: TObject); . . . {Coloca o Numero da maquina na string} Producao:= FormatFloat('000000',MaquinasHabilitadas[Descritor]) + ','; {Le os dados de producao, tenta cinco vezes} Retorno:= LerProducao(MaquinasHabilitadas[Descritor]); {Grava os dados de qtde e quilos no array de producao} Producao:= Producao + Retorno; {Se a variavel tiver esse tamanho, por que leu tudo} If (Length(Producao) = 30)Then Begin {Grava no arquivo de producao os dados lidos} Memoproducao.Lines.Append(producao); . . .

Aps completar-se o ciclo de leitura de todas as mquinas, o prottipo armazena os dados de produo no arquivo LEITURA.DWA e os dados de dirios em DIARIO.DWA. Tambm exibe em tela o tempo gasto para completar o ciclo, apresentado no item E.

xciii

6.2.3.3 TELA DE MONITORAO DO SISTEMA


Na figura 6.17 apresentada a tela de monitorao individual de cada controlador de peso. Tela 6.17 Tela de monitorao

A C

H E

Na monitorao individual, o sistema far um monitoramento on-line do processamento de peso efetuado no controlador. A aproximadamente 400ms, atualizada todas as informaes apresentadas na figura 6.17.

xciv

No item A, onde o usurio escolhe a mquina que deseja monitorar. Aps a escolha da mquina, deve-se clicar no boto INICIO (item B), para iniciar a coleta de informaes, descritas nos itens C, D e E. No item F, apresentado o boto PARAR, finaliza o monitoramento da mquina escolhida. Sua operao consiste em setar um flag como verdadeiro, fazendo com que o sistema interrompa o ciclo de leituras. A qualquer momento, pode-se pressionar os botes representados pelos itens G, que a escrita dos dados de classificao, programao, tempos e embalagens. Para exemplificar, ao iniciar o monitoramento da mquina, o sistema busca a programao atual e apresenta em tela. A programao pode ser alterada e enviada para o controlador. Da mesma forma, o boto representado pelo item H, envia para o controlador um comando de reset, ou seja, apaga os dados de produo do controlador. A nvel de implementao, descrito no quadro 6.5 uma parte da funo de monitorao. Especificamente a coleta dos dados de produo e clculo da mdia Quadro 6.5 Funo de monitorao
procedure TFormColeta.BtInicioClick(Sender: TObject); ... {Pede os Dados de Producao} Rascunho := LerProducao(SpinEditmaquina.Value); {Exibe os Dados de Producao} If Length(Rascunho) > 1 Then Begin EditQuilos.Text := Copy(Rascunho,1,6); EditPacotes.Text := Copy(Rascunho,8,6); EditRejMa.Text := Copy(Rascunho,15,4); EditRejMe.Text := Copy(Rascunho,20,6); Try EditMedia.text:= FormatFloat('0000.0',(StrToFloat(EditQuilos.Text) / StrToFloat(EditPacotes.Text)*1000)); Except EditMedia.text:= '0000.0'; End; End; ...

xcv

6.2.3.4 TELA DE CONFIGURAO SERIAL DO SISTEMA


Na figura 6.18 apresentada a tela de configurao serial do sistema, bem como a gravao da configurao para posterior retorno. Figura 6.18 Tela de configurao serial

C A B

Na tela acima, apresentado a ltima janela do sistema, onde escolhe-se a configurao serial que mais se adapta s condies fsicas da rede. Entende-se por condies fsicas os diversos parmetros que possam influenciar na comunicao serial. Cita-se por

xcvi

exemplo, rudos, fazendo com que o tempo de Sleep seja maior, longas distncias, fazendo com que o tempo de total de leitura seja maior tambm e outros mais. Antes de verificar a operacionalidade da tela apresentada, deve-se obter algumas informaes sobre timeout. Como j visto, o tempo de timeout, um intervalo que o sistema fica ouvindo a porta serial para chegada de informaes. O termo Tempo Total de Leitura, define o tempo que o sistema deve esperar para chegada do primeiro byte esperado. O Tempo de um byte o tempo que se deve esperar no mximo para chegada de um byte aps o outro, ou seja, chegou um byte, espera-se n milisegundos para o prximo byte. O Tempo de Acrscimo, um tempo adicional alm do tempo total. O Tempo de Escrita e Tempo de um byte de Escrita relativo a comunicao interna entre o processador e a interface serial do micro. Como ambos encontram-se no prprio hardware do PC, a comunicao em altssima velocidade, bastando colocar tempos curtos somente como parmetros. O Tempo de Sleep, refere-se ao tempo de espera aps a escrita no controlador de peso. Como padro, assume-se 1 ms como tempo de Sleep, para chegada do ltimo byte no controlador. Para se alterar os itens, basta colocar novos valores nos campos. Como o sistema abre a porta serial com os parmetros programados ao iniciar o sistema. Deve-se aps a alterao, salvar, sair do sistema e entrar novamente. Outra forma, fazer a troca da porta serial, representado pelo item A, e voltar a porta correta. Como a troca de porta significa o fechamento da porta atual e abertura de uma nova porta, a mesma ser aberta com a configurao atual. No boto PADRO, assume-se como timeout a seguinte configurao. Tempo Total de Leitura 300 Tempo de um Byte de Leitura 50 Tempo de Acrscimo 50 Tempo Total de Escrita 3 Tempo de um Byte de Escrita 3 Tempo de Sleep - 1

xcvii

No quadro 6.6, apresentado a rotina que padroniza o timeout da porta serial.

Quadro 6.6 Funo de padronizao de Timeout


procedure TFormColeta.BtDefaultClick(Sender: TObject); ... {Retorna em tela a configurao padro} SpinLeituraTotal.Value:= 300; SpinLeituraByte.Value:= 50; SpinLeituraAcrescimo.Value:= 50; SpinEscritaTotal.Value:= 3; SpinEscritaByte.Value:= 3; SpinSleep.Value:= 1; ...

No boto SALVAR, o sistema ir escrever o arquivo C:\MAQUINAS.DWA, gravando toda a configurao escolhida. O boto SAIR, encerra a sesso do prottipo, fechando a porta serial, cuja funo est implementada no quadro 6.7. Lembrando-se que o RTS utilizado para colocar o meio em modo de transmisso ou em modo de recepo Quadro 6.7 Fechamento da porta serial
{Recebe a porta serial para ser fechada e liberada a variavel} procedure FecharSerial(Var Serial: THandle); begin {Retira a linha DTR ou RTS se estiverem setadas} escapeCommFunction ( Serial,clrDTR ); escapeCommFunction ( Serial,clrRTS ); {Fecha a porta serial liberando a mesma} CloseHandle( Serial ); End;

xcviii

6.2.4 TESTES E VALIDAO DO PROTTIPO


O objetivo de interligar os controladores de peso DWA Check 5P ao computador, fornecendo os dados gravados em memria RAM dos mesmos, foi alcanado. Como j comentado, ressalta-se que o prottipo no efetua a leitura dos controladores de peso em intervalos de tempo, sem que haja o comando dado pelo usurio. Tal deciso foi tomada para que a seqncia de apresentao do prottipo e defesa desse trabalho seja feita de forma didtica. Porm a implementao de um timer para busca de informaes em ciclos de tempo fcil de ser implementada. Os testes para se obter a comunicao inicial com o controlador de peso, tornou-se possvel aps a especificao e implementao do protocolo Modbus tanto em linguagem de alto nvel, usada na programao do PC, como em linguagem de baixo nvel, cita-se o assembler, aplicado programao do controlador de peso. De incio obteve-se algumas dificuldades em relao aos tempos de acesso ao meio RS485, devido a m configurao do Timeout da porta serial do PC. Aps a fase de acertos ao prottipo, iniciou-se efetivamente a fase de testes, usando-se dois simuladores de mquina de empacotar em funcionamento, e o controlador de peso. Aps 48 horas de testes contnuos obteve-se o seguinte resultado em relao ao desempenho da comunicao na rede: a) escritas corretas b) sem novos dados c) com novos dados d) erro de continuidade e) erro de paridade f) erro de timeout g) erro de recepo 7.97% 11.84% 61.85% 12.72% 0.16% 5.45% 0.01%

Foram registradas aproximadamente 393 perguntas por minuto de trfego na rede, lembrando que cada string na rede possui um tamanho e 32 bytes. A eficincia da rede resultou em 81.66% de dados vlidos.

xcix

7 CONCLUSO
As redes industriais, so uma excelente escolha para empresas que queiram automatizar processos e informatizar informaes. Isso significa um maior controle nos processos, evitando perdas tanto de matria-prima e perdas de tempo e tambm uma margem de erro das informaes praticamente inexistente, j que os dados gerados na mquina no passam por processamento manual. As vrias tecnologiaa para se interligarem equipamentos industriais a um PC fazem da rede industrial um mecanismo de controle acessvel em praticamente todo o mundo. Claro que cada regio possui sua particularidade e afinidade certas tecnologias. O estudo e implementao do protocolo Modbus, mostrou a sua abrangncia em redes industriais, permitindo as diversas derivaes de acordo com a necessidade da aplicao. Obviamente deve-se manter sua estrutura bsica para no perder sua padronizao. Sua implementao simples e sua estrutura para formao das mensagem que trafegam via rede objetiva e clara. O meio de transmisso RS485 foi satisfatrio, mostrando sua capacidade de transmisso imune a rudos e sua simplificao de cabeamento. Porm, algo que foi verificado, o cuidado que se deve ter na instalao do cabeamento RS485. Em se tratando de ambientes industriais, deve-se tomar cuidado em deix-lo isolado de condutores eltricos, manter em local onde no h trfego de veculos, como empilhadeiras, por exemplo. Sobre o controlador de peso e o prottipo, algumas observaes so relevantes: a) O mdulo de controle de peso Check 5P no responde rede sempre que questionado, devido a sua prioridade em controlar o peso; b) A taxa de transmisso fixa de 9600 bps; c) No h comunicao entre os controladores, o que resulta na parada de uma mquina de empacotar se o mdulo de controle ocasionar problemas; d) O controlador de peso proprietrio utilizando um padro protocolar normativo (Modbus). Isso faz com que o prottipo se torne invlido se

forem mudadas as regras de comunicao do controlador de peso.

7.1 EXTENSES
As sugestes para futuros trabalhos na rea de redes industriais so: a) criar um prottipo que processe informaes trazidas do coletor de dados; b) estudar novas propostas e tecnologias de redes industriais; c) viabilizar um ncleo de coleta de dados de equipamentos que utilizem o protocolo Modbus. Generalizando o prottipo de forma que ele se adapte a qualquer rede desse padro; d) estudo de tecnologias de redes industriais que utilizem TCP como protocolo e a tecnologia Ethernet para ligao direta com uma rede Ethernet. e) Estudo de outros meios de acesso, como fibra tica.

ci

8 REFERNCIAS BIBLIOGRFICAS
[ARC2000] ARC Eletronics. RS422 balanced differential drivers Eletrnico: 00/00/2000. [COT2000] COTTER, Mark, MCGILVREAY, John. Hirschmann. Network Systems High Availability Industrial Automation Networks 2000. Endereo Eletrnico: http://www.hirschmann-usa.com/Resiliency.htm. Data da consulta: 05/07/2000. [DAV1997] DAVIS, Harold. Delphi - ferramentas poderosas. So Paulo : Berkeley Brasil, 1997. [DEL2000] DELGADO, Joaquim Duarte Barroca. Automao industrial tecnologia CIM (fatores crticos na sua implementao) 2000. Endereo Eletrnico: http://www.ipv.pt/millenium/arq9_2.htm . Data da consulta: 00/00/2000. [FAR1998] FARACO, Rafael Avila. Uma arquitetura de agentes para negociao dentro do domnio do comrcio eletrnico 2000. Endereo Eletrnico: http://www.eps.ufsc.br/disserta98/faraco/index.htm. Data da consulta: 05/07/2000. [FRA2000] FRANCO, Lcia Regina Horta R.. GAII grupo de automao e informtica industrial 2000. Endereo Eletrnico: http://www.arcelect.com/rs422.htm. Data 2000. Endereo da consulta:

http://www.iee.efei.br/~gaii/rs485/hp_rs485.htm#RS-485. Data da consulta: 00/00/2000. [INM1992] INMETRO - Instituto de Metrologia. Portaria 074 1992. Endereo Eletrnico: http://www.inmetro.gov.br. Data da consulta: 05/07/2000. [KLI1999] KLITZKE, Marcelo. Prottipo de hardware para aquisio e transmisso de imagens via padro serial RS485. Blumenau, 1999. Monografia (Bacharelado em Cincias da Computao) Centro de Cincias Exatas e Naturais, Universidade Regional de Blumenau.

cii

[LIM2000]

LIMA, Maria de Ftima Webber do Prado. Arquitetura MAP e protocolo MMS 2000. Endereo Eletrnico: http://penta.ufrgs.br/hometipo.html . Data da consulta: 00/00/2000.

[LON1997]

LONGO, Maurcio B. Delphi 3 total - dominando a ferramenta. Rio de Janeiro : Brasport, 1997.

[MON2000] MONDADA, Matteo. Fieldbus in industry: what is at stake? Endereo Eletrnico:

2000.

http://vigna.cimsi.cim.ch/tai/BDC/in/BDC.html.

Data da consulta: 00/00/2000. [MOR2000] MORAES, Alan. Superviso a distncia de um processo automatizado 2000. Endereo Eletrnico:

http://www.instii.fr/projets/platform/Elorn/MATERIEL/MODBUS/pag_01. html . Data da consulta: 00/00/2000. [OLI1987] OLIVEIRA, Lus Antnio Alves de. Comunicao de dados e teleprocessamento: uma abordagem bsica. 2. Ed. So Paulo : Atlas, 1987. [RIB2000] RIBEIRO, Jlio Csar. Sistemas de automao industrial 2000. Endereo Eletrnico: 00/00/2000. [ROG2000] ROGANA, Wagner Gomes, BRACARENSE, Alexandre Queiroz. Automao industrial 2000. Endereo Eletrnico: http://www.inhouse.com.br/artigo.html. Data da consulta:

http://www.demec.ufmg.br/Grupos/Solda/Automacao/Index.html#Contrp. Data da consulta: 00/00/2000. [ROM2000] ROMBALDI, Valria. Topologias de redes 2000. Endereo Eletrnico:

http://penta.ufrgs.br/Valeria/topo.html. Data da consulta: 00/00/2000. [SCH2000] Schneider Eletronics. Modbus Protocol 2000. Endereo Eletrnico:

http://www.modicon.com/techpubs/toc7.html. Data da consulta: 00/00/2000.

ciii

[SIL2000]

SILVEIRA FILHO, Elmo Dutra da. Redes de comunicao de baixo nvel (fieldbus) 2000. Endereo Eletrnico:

http://www.malbanet.com.br/professorelmo/Conetfld.htm. Data da consulta: 00/00/2000. [SOA1993] SOARES NETO, Vicente Soares. Comunicao de dados: conceitos fundamentais. So Paulo : rica, 1993. [TAN1994] TANENBAUM, Andrew S.. Redes de computadores. 2. Ed. Rio de Janeiro : Campus, 1994. [URB1993] URBANO, Luiz Osvaldo. Manual da Check 5P. Ascurra : Casa do Papel, 1993.

civ