automaçã telemetria

146
- ii - Rio de Janeiro, Dezembro de 2008

Upload: ledilson-filho

Post on 16-Sep-2015

235 views

Category:

Documents


2 download

DESCRIPTION

Automação de vending machines

TRANSCRIPT

  • - ii -

    Rio de Janeiro, Dezembro de 2008

  • - iii -

    Telemetria aplicada a mquinas automticas de vendas

    GILMAR HILL LIMA JNIOR LEDILSON DE OLIVEIRA BARBOSA FILHO

    PAULO ROBERTO FLORIANO

    Este trabalho reflete a opinio dos autores e no necessariamente a da UniverCidade. Autorizamos a difuso deste trabalho

    ____________________________________________

    Gilmar Hill Lima Jnior

    _____________________________________

    Ledilson de Oliveira Barbosa Filho

    _____________________________________

    Paulo Roberto Floriano

    Rio de Janeiro / RJ Brasil Dezembro de 2008

  • - iv -

    Telemetria aplicada a mquinas automticas de vendas

    GILMAR HILL LIMA JNIOR LEDILSON DE OLIVEIRA BARBOSA FILHO

    PAULO ROBERTO FLORIANO

    Aprovada, em 09 de dezembro de 2008, pela Banca Examinadora formada pelos seguintes membros:

    Banca Examinadora:

    _______________________________________________________________

    Prof. Denir Valencio de Campos, M.Sc. (PEB/COPPE/UFRJ)

    _______________________________________________________________

    Prof. Felipe Aurlio Caetano de Bastos, D.Sc. (PEE/COPPE/UFRJ)

    _______________________________________________________________

    Prof. Fernando Antnio Tupinamb Barbosa, M. Sc. (PUC/RJ)

    Rio de Janeiro / RJ Brasil Dezembro de 2008

  • - v -

    EPGRAFE:

    A vida s pode ser compreendida, olhando-se para trs; mas s pode ser vivida, olhando-se para frente.

    Soren Kierkergaard

  • - vi -

    DEDICATRIA

    Dedicamos este projeto a todos aqueles que nos apoiaram e nos ajudaram desde o incio do nosso percurso. Primeiramente a Deus, por ter nos dado foras e sabedoria no decorrer de nossa jornada. A nossas famlias, que sempre estiveram ao nosso lado, servindo de alicerces para nos sustentar e no nos fazer desanimar em tempo algum. UniverCidade, como entidade educacional, por acreditar na capacidade de seus alunos, fazendo-nos caminhar para a concluso do curso com xito. Aos nossos colegas e amigos, pelo apoio e confiana depositados em ns para que atingssemos nossos objetivos. Aos professores, em especial, ao nosso orientador Denir Valncio, pois sempre caminharam lado a lado conosco, guiando-nos durante todos os perodos, enchendo-nos de conhecimentos. Obrigado a todos.

  • - vii -

    AGRADECIMENTOS

    A Deus por nos ter iluminado durante todos estes anos e nos dado sade, perseverana,

    Tranqilidade e equilbrio durante toda esta caminhada.

    Ao professor e orientador deste projeto, Denir Venncio, pela confiana e dedicao em nos orientar pelos melhores caminhos para a concluso deste projeto.

    Aos nossos Pais e familiares que nunca mediram esforos para nos ajudar, incentivar e contribuir com esta conquista to expressiva para o nosso saber.

    Aos nossos amigos de graduao, que nos ajudaram durante essa longa caminhada.

  • - viii -

    Resumo O presente trabalho apresenta o desenvolvimento de um sistema telemtrico

    para controle contbil e logstico do estoque distncia de uma mquina automtica de vendas utilizando tecnologia GPRS. O principal estudo deste projeto est focado no microcontrolador PIC e suas caractersticas, assim como o desenvolvimento total do prottipo que resultou tambm em abranger as tecnologia GSM e GPRS e a pilha de protocolos TCP/IP.

    Desenvolveu-se tambm um detalhamento do funcionamento do hardware e do software do prottipo assim como os resultados obtidos e as possveis alteraes para projetos futuros.

    Palavras-chave: Sistema telemtrico, microcontrolador PIC, GSM, GPRS, protocolos TCP/IP

  • - ix -

    Sumrio

    EPGRAFE: ......................................................................................................................... v DEDICATRIA ................................................................................................................. vi AGRADECIMENTOS ...................................................................................................... vii Captulo 1 Introduo ....................................................................................................... 14 1.1 Telemetria................................................................................................................. 14 1.2 Objetivo ........................................................................................................................ 15 Captulo 2 Materiais e mtodos........................................................................................ 17 2.1 Microcontroladores ................................................................................................. 17

    2.1.1 Formato de instrues no microcontrolador PIC.................................................. 19 2.1.2 Mapa de registradores ............................................................................................. 20 2.2 Protocolo TCP/IP......................................................................................................... 21 2.2.1 Comparao entre o modelo OSI e TCP/IP ........................................................... 24 2.2.2 O modelo de pilha de quatro camadas do TCP/IP ................................................ 26 2.3 As camadas................................................................................................................... 27 2.3.1 Camada de enlace ..................................................................................................... 27 2.3.2 Camada de rede ........................................................................................................ 27 2.3.3 Camada de transporte.............................................................................................. 27 2.3.4 Camada de aplicao................................................................................................ 28 2.4. GSM e GPRS............................................................................................................... 28 2.4.1 Rede GSM ................................................................................................................. 28 2.4.2 REDE GPRS ............................................................................................................. 29 Captulo 3 Telemetria aplicada a mquinas automticas de vendas ............................ 33 3.1 Soluo proposta.......................................................................................................... 33 3.2 Topologia do sistema ................................................................................................... 34 3.3 Caracterstica do hardware ........................................................................................ 35 3.3.1 Circuito multiplexador............................................................................................. 36 3.3.2 Circuito de controle e transmisso de dados.......................................................... 37 3.3.2.1 Microcontrolador PIC 16F876A .......................................................................... 39 3.3.3 Regulador de tenso e comunicao serial ............................................................. 40 3.3.4 Mdulo SIM 340Z e circuito de transmisso GPRS.............................................. 42 3.3.5 Comandos AT utilizados.......................................................................................... 42

  • - x -

    3.4 Caractersticas do software ........................................................................................ 44 3.4.1 Servidor CVA............................................................................................................ 45 3.4.2 Programao do microcontrolador PIC................................................................. 48 Captulo 4 Concluso ........................................................................................................ 50 Anexo I................................................................................................................................ 51 Anexo II ............................................................................................................................ 128 Referncias Bibliogrficas .............................................................................................. 146

  • - xi -

    Lista de Figuras

    Figura 2. 1. Arquitetura de Von Neumman .................................................................... 19 Figura 2. 2. Arquitetura do microcontrolador PIC........................................................ 19 Figura 2. 3. Pipeline no microcontrolador PIC .............................................................. 20 Figura 2. 4. Mapa de registradores .................................................................................. 21

    Figura 2. 5. Comparao entre os modelos TCP e OSI ................................................. 24 Figura 3. 1. Topologia do sistema..................................................................................... 35 Figura 3. 2. Circuito Multiplexador................................................................................. 36 Figura 3. 3. Diagrama de blocos do circuito multiplexador .......................................... 37 Figura 3. 4. Kit de desenvolvimento acadmico de fabricao CERNE....................... 38 Figura 3. 5. Diagrama do PIC 16F876A .......................................................................... 40 Figura 3. 6. Diagrama 1 de comunicao serial .............................................................. 41 Figura 3. 7. Diagrama 2 de comunicao serial .............................................................. 41 Figura 3. 8. Diagrama do regulador de tenso................................................................ 41 Figura 3. 9. Diagrama dos terminais do mdulo Sim 340Z e GPRS............................. 43 Figura 3. 10. Diagrama do Led de controle..................................................................... 44 Figura 3. 11. Diagrama do mdulo Sim card .................................................................. 44 Figura 3. 12. Tela inicial do servidor CVA ..................................................................... 45 Figura 3. 13. Parque de mquinas ................................................................................... 45 Figura 3. 14. Tela de controle de uma mquina no servidor......................................... 46 Figura 3. 15. Tela de controle de venda e recarga de produtos..................................... 46 Figura 3. 16. Estrutura do protocolo de transmisso..................................................... 47 Figura 3. 17. Estrutura do protocolo de recarga ............................................................ 48

  • - xii -

    Lista de Tabelas Tabela 2. 1. Camadas de aplicao TCP/IP .................................................................... 26 Tabela 2. 2. Componentes de interface ............................................................................ 27 Tabela 3. 1. Caractersticas do PIC ................................................................................. 39 Tabela 3. 2. Componentes de interface 2 ......................................................................... 47 Tabela 3. 2. Componentes de interface 3 ......................................................................... 48

  • - xiii -

    Lista de siglas e abreviaes

    BSD Berkeley Standard Distribution (Distribuio Padro Ber- keley)

    CDMA Code Division Multiple Access (Acesso Mltiplo por Diviso de Cdigo)

    CI Circuito Integrado

    CMOS Complementary Metal-Oxide-Semiconductor (Semi condutor de metal-xido complementar)

    CPU Central Process Unit (Unidade Central de Proces samento)

    CSD Circuit Switched Data (Dados Comutados do Circuito)

    CVA Controle de Vendas Automticas

    FDMA Frequency Division Multiple Access (Mltiplo Acesso por Divisor de Freqncia)

    GPRS General Packet Radio Service (Pacote Geral de Servio de R- dio)

    GSM Global System for Mobile Communications (Sistema Global para Comunicao Mvel)

    I/O In/OUT (Entrada/Sada) IP Internet Protocol (Protocolo de Internet)

    OSI Open Systems Interconnection (Interconexo de Sistemas Abertos)

    PIC Controlador Integrado de Perifricos RAM Random Acess Memory (Memria de Acesso Aleatrio) RISC Reduced Instruction Set Computer (Computador com um

    Conjunto Reduzido de Instrues)

    SMS Short Message Service (Servio de Mensagem Curta)

    TCP Transmission Control Protocol (Protocolo de Controle de Transmisso)

    TDMA Time Division Multiple Access (Mltiplo Acesso por Diviso de Tempo)

    TTL Transistor Transistor Logic (Lgica Transistor Transistor)

  • - xiv -

    Captulo 1 Introduo

    Apesar do mercado brasileiro ainda estar muito retrado no que diz respeito a sistemas de telemetria, ocasionando alguns retardos na sua expanso devido s dificuldades de uma soluo que possa atender inmeros setores causando com isso custos ainda elevados para algumas aplicaes, a necessidade cada vez maior de se explorar os avanos tecnolgicos do sistema de telecomunicaes no Brasil e no mundo, voltados para transmisso remota de dados no podem ser ignorados, pois est se tornando gradualmente um recurso fundamental para vrios setores. A grande gama de mquinas que so desenvolvidas a cada dia utilizando algum tipo de microcontrolador com a tarefa de monitorar e controlar sistemas cresce progressivamente. Agregado a estas, est o gasto com visitas para superviso, controle manual e custos com visitas preventivas, com isso, se

    verifica a necessidade de uma comunicao instantnea com estas mquinas tornando, desta atitude, um fator estratgico para a sobrevivncia em mercados cada vez mais competitivos.

    1.1 Telemetria

    Telemetria uma tecnologia que permite medio e comunicao distncia de reas remotas com uma central de captao de informaes, e uma palavra grega onde tele = remoto e metron = medida. Definimos ento telemetria como a transferncia e utilizao de dados provindos de mltiplas mquinas remotas distribudas em uma rea geogrfica de forma pr-determinada. Uma sute operacional que envolve telemetria composta de recursos humanos e fsicos capaz de realizar a transferncia e utilizao de dados provindos de equipamentos remotos para o monitoramento, medio e controle dos mesmos [1][2].

  • 15

    O sistema de telemetria composto por mquinas inteligentes e sensores, que monitoram, controlam e medem algum tipo de atividade, localmente, pela interface de aplicao, entre os sensores e a rede de comunicao pela base de comunicao (Backbone), que transmite informaes dos sensores atravs da interface da aplicao, para um computador central de comando. Por ltimo, o centro de controle e comando recebe os dados transmitidos pelos sensores. A informao processada, podendo ser disseminada para diferentes locaes atravs da internet [1][2].

    A eficincia da soluo de telemetria aumenta ainda mais dependendo do tipo de informao enviada entre as mquinas. A deteco das razes do mau funcionamento de uma determinada mquina, por exemplo, permite que sejam enviados os profissionais mais adequados para solucionar os problemas. Alm disso, sistemas de telemetria auxiliam na reduo de taxas de seguro referentes ao mau funcionamento das mquinas e a perda de produo [1][2].

    No mercado mundial, o sistema telemtrico tem evoludo de forma muito rpida devido ao grande progresso do sistema de telecomunicaes, fazendo com isso, que mais e mais segmentos optem por algum tipo de controle telemtrico. Esta soluo utilizada, principalmente, no controle de energia eltrica. Faz-se superviso de consumo sem leitura presente, nos sistemas de gs onde no s h leitura do consumo como a medio de temperatura e presso dos reservatrios, no acompanhamento de carros de Frmula 1, avaliando possveis problemas e monitorando o desempenho atravs de sensores, e mais recentemente nas medies de consumo e vazamento individual de gua em prdios comerciais e residncias. O responsvel principal por este progresso , sem dvida, a evoluo dos sistemas de telecomunicaes sem fio, no caso mais especfico, a tecnologia GPRS (General Packet Radio Service ou Servio Geral de Pacote de radio), com um custo bastante atraente. Aps colhermos vrias informaes a respeito desses processos verificamos a viabilidade tcnica e comercial deste projeto [1][2].

    1.2 Objetivo

    Este trabalho tem o objetivo de desenvolver um projeto baseado em conceitos e aplicaes telemtricas com respaldo nos conhecimentos da engenharia de telecomunicaes, visando criar uma soluo inovadora no controle de mquinas automticas de venda.

  • 16

    A partir da iniciamos uma pesquisa para verificao das ferramentas tcnicas e fsicas a serem aplicadas para montagem de um prottipo, objetivando supervisionar atravs de um sistema de telemetria uma mquina de vendas automticas. Ser utilizado o sistema de comunicao sem fio via GPRS (General Packet Radio Service ou Servio Geral de Pacote de radio), gerando reduo de custos operacionais, melhor logstica e controle de produtos com rapidez e confiabilidade. Ser utilizado um microcontrolador PIC (Controlador integrado de perifricos) 16F873A fabricado pela Microchip responsvel por controlar e tratar os dados, assim como um servidor denominado CVA (controle de vendas automticas) que receber os dados oriundos do referido microcontrolador analisando e armazenando no seu banco de dados.

    No captulo 2 abordado um referencial terico sobre os microcontroladores. Descrevem-se a sua arquitetura bsica, principais diferenas de outros microcontroladores, e as principais caractersticas do microcontrolador PIC, principal tecnologia utilizada neste projeto, assim como o seu formato de instrues, mapa de registradores e arquitetura. feita tambm uma apresentao da pilha de protocolos TCP/IP, que utilizada para troca de informaes do sistema remoto, sendo feito o detalhamento de suas caractersticas, comparao o modelo OSI e um detalhamento das quatro camadas do TCP/IP e seus protocolos. Em seguida descreve-se a tecnologia utilizada, no caso ser a GPRS que atua na arquitetura da rede GSM sendo descritas suas principais caractersticas.

    No capitulo 3 feita a justificativa para elaborao do referido projeto atravs de um detalhamento da soluo proposta e da topologia do sistema. Assim sendo, torna-se necessrio abordar as caractersticas do hardware com os referidos diagramas eltricos, assim como do software utilizado e as configuraes nele executadas, tanto do servidor do CVA como no PIC.

    E finalmente no capitulo 4, a concluso e sugesto para futuras

    aplicaes.

  • 17

    Captulo 2 Materiais e mtodos

    2.1 Microcontroladores

    O conceito de controlador tem permanecido inalterado atravs do tempo, porm, sua implementao fsica tem variado freqentemente. H algumas dcadas, os controladores eram construdos apenas com componentes discretos, montados em uma placa de circuito impresso. Era composto por uma unidade de processamento lgico e diversos componentes de periferia como chips de memria, portas de entrada/sada, e relgios de tempo real [3]-[4][5].

    Atualmente, estes chips integram em seus ncleos perifricos que permitem

    o desenvolvimento de software mais flexvel para sistemas embarcados, este fato ocorre devido aos avanos tecnolgicos. Com isso, todos os elementos do controlador puderam ser includos em um nico chip e este recebe o nome de microcontrolador, o que proporcionou o surgimento dos conhecidos, sistemas em um nico chip (SoC - System on Chip), sendo considerado em alguns casos, um mini computador, devido capacidade de processamento e de tomadas de deciso, que so conseguidas com estes microcontroladores. Atravs da programao dos microcontroladores podemos controlar suas sadas, tendo como referncia as entradas ou um programa interno [3]-[4][5].

    O intuito de, cada vez mais, utilizarem-se produtos com microcontroladores embarcados se d, efetivamente, devido reduo de custo e espao, associado confiabilidade e reduo de consumo. Estes produtos vo desde jogos eletrnicos, passando por eletrodomsticos, produtos de udio e vdeo, computadores e tambm na indstria automobilstica [3]-[4][5].

    O que diferencia os diversos tipos de microcontroladores so as quantidades de memria interna (programa e dados), velocidade de processamento, quantidade de pinos

  • 18

    de entrada/sada (I/O), alimentao, perifricos, arquitetura e set de instrues. Pode ser encontrado no mercado microcontroladores com 4, 8, 16 e 32 bits apesar dos de 16 e 32 bits serem superiores aos de 8 bits que dominam o mercado devido a atenderem maioria das aplicaes dispensando, com isso, investimentos mais altos [3]-[4]-[5].

    No mercado pode-se se encontrar vrios tipos de micontroladores, como o da famlia 8051 fabricados pela Intel com 40 pinos, 8 bits, memria RAM de 256 bits, conversor A/D e protocolos seriais. Temos o Texas TMS370Cx5x com 64 pinos, 40 pinos bidirecionais, 9 de entrada, memria RAM de 256 e com conversor A/D e o microcontrolador PIC escolhido por ns para ser utilizado neste projeto [3]-[4]-[5].

    Os microcontroladores PIC so circuitos integrados que pertencem categoria dos microcontroladores, ou seja, componentes integrados que em um nico dispositivo contm todos os circuitos necessrios para realizar um completo sistema digital programvel [3]-[4]-[5].

    O PIC pode ser visto externamente como um circuito integrado TTL ou CMOS normal, mas internamente dispe de todos os dispositivos tpicos de um sistema microprocessado, ou seja, uma CPU, que interpreta as instrues de programa; uma memria PROM, que memoriza de maneia permanente as instrues do programa; uma memria RAM, utilizada para memorizar as variveis utilizadas pelo programa; uma srie de LINHAS de I/O para controlar dispositivos externos ou receber pulsos de sensores, chaves, etc [3]-[4]-[5].

    A presena de todos estes dispositivos como gerador de clock, bus e contador, em um espao extremamente pequeno, d ao projetista ampla gama de trabalho e enorme vantagem em usar um sistema microprocessado, onde em pouco tempo e com poucos componentes externos, pode-se fazer o que seria oneroso fazer com circuitos tradicionais [3]-[4]-[5].

    O alto desempenho da famlia de microcontroladores PIC pode ser atribudo s seguintes caractersticas de arquitetura RISC:

    Mapa de Registradores verstil, todas as instrues com palavras simples e longas, arquitetura em pipeline, instrues de apenas um ciclo de mquina e conjunto ortogonal (simtrico) [3]-[4]-[5].

    A arquitetura Von-Neumman tradicional utiliza o mesmo barramento para fazer a busca a instrues na memria de programa e para acessar (escrever ou ler) a memria de dados [3]-[4]-[5].

  • 19

    Figura 2. 1. Arquitetura de Von Neumman.

    A arquitetura do microcontrolador utiliza dois barramentos de endereos distintos para acessar instrues e dados [4].

    Figura 2. 2. Arquitetura do microcontrolador PIC.

    2.1.1 Formato de instrues no microcontrolador PIC

    A entrada de clock (pino OSC1/CLKIN) internamente dividida por quatro para gerar quatro clocks em quadratura sem sobreposio, nomeados Q1, Q2, Q3, e Q4. Internamente, o Contador de Programa (PC) incrementado em Q1 e a instruo retirada da memria de programa e colocada no registrador de instrues em Q4. Ela decodificada e executada no ciclo seguinte de Q1 at Q4 [6].

    Um ciclo de instrues consiste de quatro ciclos Q (Q1, Q2, Q3, Q4). A busca e execuo da instruo so feitas em linha, de tal forma que a busca leva um ciclo de instruo e a execuo leva outro ciclo. Contudo, devido caracterstica de pipeline, cada instruo executada efetivamente em um ciclo, pois simultaneamente ocorrem a execuo de uma instruo e a busca a instruo seguinte. Se uma instruo causa a alterao do Contador de programa ento dois ciclos so necessrios para completar a instruo [6].

  • 20

    Figura 2. 3. Pipeline no microcontrolador PIC.

    A arquitetura em pipeline sobrepe busca e execuo, tornando a execuo de instrues possvel de se realizar em um nico ciclo de mquina. Qualquer instruo de desvio (tais como GOTO, CALL, ou escrever no PC) leva dois ciclos de mquina [3]-[4]-[6].

    A arquitetura com barramentos separados para instrues e dados permite larguras diferentes, com isso, o barramento de instrues otimizado para uma palavra de comprimento nica. O nmero de bits do barramento de instrues depende de quantas instrues so implementadas e do nmero de registradores disponveis em cada famlia de microcontroladores [3]-[4]-[6].

    2.1.2 Mapa de registradores

    Todas as instrues aritmticas e booleanas so feitas atravs do registrador de trabalho W. O destino da operao pode ser o prprio registrador W ou um dos registradores disponveis no microcontrolador, dependendo unicamente da instruo executada [3]-[4].

  • 21

    Figura 2. 4. Mapa de registradores.

    2.2 Protocolo TCP/IP

    Redes de computadores so interconectadas por sistemas de comunicao baseado no envio de sinais eletromagnticos. Atravs do principio bsico de comunicao observou-se que, para haver comunicao entre entidades, necessrio que tanto o transmissor quanto o receptor entendam a mensagem transmitida, e saibam o momento exato para transmitir, sendo necessrio, para isso, a criao de regras que delimitem e estabeleam funes para cada parte da comunicao. Este conjunto de regras dividido para controlar cada parte da comunicao denominada de camada. A juno das camadas denominada protocolo, ou seja, o protocolo o conjunto de camadas de regras com funes especficas que interagem entre elas tornando assim a comunicao entre duas entidades possvel [7]-[8]-[9].

    O TCP/IP vem conquistando a aceitao universal na comunidade cientfica, alm de ser um recurso padronizado em quase todas as verses de sistemas operacionais comercializados no planeta [7]-[8]-[9].

    O TCP/IP foi projetado para operar em padres estabelecidos, como a Ethernet, por exemplo. Ao longo do tempo, o TCP/IP conseguiu estabelecer a interface com a maioria das tecnologias de camadas de link de dados e fsica [7]-[8]-[9].

    A camada Internet equivale camada de rede da OSI. Os protocolos dessa camada so responsveis pela movimentao de dados entre os dispositivos das redes [7]-[8]-[9].

  • 22

    A camada de host a host pode ser comparada camada de transporte da OSI. Os protocolos host a host permitem a comunicao por entre os hosts da inter rede (quando esses protocolos foram projetados, no existiam PCs nem estaes de trabalho e todos os computadores de rede eram hosts). Como conseqncia disso, os dispositivos em redes TCP/IP so normalmente chamados de hosts. O conceito de uma relao cliente/servidor no existia e todos os hosts de comunicao eram tidos como peers.). A camada de processo/aplicao abrange funes das camadas de sesso, apresentao e aplicao da OSI. Os protocolos dessa camada fornecem servios de rede [7]-[8]-[9].

    O Modelo de Referncia OSI til como ferramenta conceitual para a compreenso das camadas dos protocolos. Apesar de os protocolos terem sido projetados estritamente de acordo com o Modelo de Referncia OSI, o conjunto de protocolos da OSI no se tornou popular. A principal idia que se tem do Modelo de Referncia como um framework conceitual em que podemos compreender o processo de comunicao da rede e comparar vrios tipos de protocolos [7]-[8]-[9].

    Os protocolos so implementaes reais, no cdigo do programa e no hardware, das normas conceituais definidas no Modelo de Referncia. As tarefas descritas no Modelo de Referncia podem ser executadas de vrias maneiras, dependendo dos objetivos dos projetistas da rede. Alm disso, vrios conjuntos de protocolos so compartilhados. Alguns protocolos e conjuntos de protocolos j existiam antes do Modelo de Referncia OSI ter sido divulgado e podem ser vagamente comparados ao modelo de sete camadas [7]-[8]-[9].

    Os protocolos so as plantas da rede. So descries, altamente detalhadas, de todas as funes em uma determinada camada de comunicao. Entretanto, o protocolo no pode funcionar at que seja expresso em hardware e software [7]-[8]-[9].

    O Modelo de Referncia OSI foi usado como estratgia para o desenvolvimento de sistemas abertos e alguns fornecedores projetaram novamente os conjuntos de protocolos existentes para torn-los mais compatveis com o modelo OSI. Outros argumentam que j possuem um conjunto de protocolos altamente funcional que, na verdade, so realmente abertos, se for levado em considerao que eles esto disponveis para qualquer pessoa do setor. Conseqentemente, o impacto do modelo OSI limitou-se aos produtos de alguns fabricantes [7]-[8]-[9].

  • 23

    O conjunto de protocolos da Internet (chamado tambm de conjunto de protocolos TCP/IP) foi desenvolvido, visando oferecer um forte servio nas inter-redes amplas, que incorporam vrios tipos de computadores [7]-[8]-[9].

    O TCP um protocolo de rede que corresponde camada de transporte da OSI. Ele fornece transporte full duplex baseado em conexo. Quando o overhead de um transporte baseado em conexo no requerido, o User Datagram Protocol (UDP) pode ser substitudo pelo TCP no nvel de transporte (host a host) [7]-[8]-[9].

    Tambm oferece fragmentao e remontagem de mensagens e suporta mensagens de qualquer tamanho vindas dos protocolos da camada superior. O TCP fragmenta os fluxos de mensagens em segmentos que podem ser manuseados pelo IP. Quando utilizado com o IP, o TCP fornece servio baseado em conexo e executa a sincronizao de segmentos, colocando os nmeros de seqncia no nvel de byte [7]-[8]-[9].

    Alm da fragmentao de mensagens, o TCP pode manter vrias conversaes com os protocolos da camada superior e aperfeioar o uso da banda passante da rede combinando vrias mensagens em um mesmo segmento. Cada conexo de circuito virtual recebe um identificador chamado porta, que identifica os datagramas associados conexo em questo [7]-[8]-[9].

    O IP um protocolo sem conexo que fornece servio de datagrama e cujos pacotes so mais comumente conhecidos como datagramas IP. Protocolo de comutao de pacotes que realiza endereamento e seleo de rota. Um cabealho do IP includo nos pacotes, que so transmitidos como frames pelos protocolos de nvel inferior. Este protocolo roteia pacotes pelas interredes, utilizando as tabelas de roteamento dinmicas que so consultadas a cada salto. O roteamento pode ser determinado por meio da consulta de informaes dos dispositivos lgico e fsico da rede, como fornecido pelo Address Resolution Protocol (ARP) O IP desmonta e remonta o pacote, quando requerido pelas limitaes de tamanho de pacote, definidas para as camadas de link de dados e fsica, que esto sendo implementadas e tambm realiza a verificao de erros nos dados do cabealho usando um checksum, embora os dados das camadas superiores no suportem essa verificao [7]-[8]-[9].

  • 24

    2.2.1 Comparao entre o modelo OSI e TCP/IP

    Os modelos de referncia OSI e TCP/IP tm muito em comum. Ambos so

    baseados no conceito de pilha de protocolos independentes e a funcionalidade das camadas

    muito semelhante. Por exemplo, em ambos os modelos, camadas de transporte e as

    demais acima dela fornecem um servio de transporte independente de rede fim a fim,

    processando pedidos de comunicao, formando o provedor de transporte. Tambm as

    camadas acima da de transporte so voltadas para o processamento de pedidos de

    comunicao [7]-[8]-[9].

    Trs conceitos so centrais no modelo OSI: Interfaces, protocolos e servios.

    Figura 2. 5. Comparao entre os modelos TCP e OSI.

    O modelo OSI faz uma explcita distino entre estes conceitos bsicos. As camadas inferiores fornecem alguns servios para as superiores. Na definio de servio, especifica-se o que cada camada faz, no diz como as camadas acima acessam e como ela trabalha. H uma interface de camada que diz aos processos acima como acess-lo, especificando os parmetros e os retornos esperados, mas no fala sobre o funcionamento interno da camada. Os protocolos pares usados na camada, so assuntos prprios da

  • 25

    camada. Ela pode usar quaisquer protocolos, desde que fornea o servio requerido. Tambm pode mud-los sem afetar o software nas camadas mais altas [7]-[8]-[9].

    Estas idias so muito prximas s modernas idias de programao orientada a objeto. Cada objeto (camada) tem um conjunto de mtodos que podem ser acessados por processos externos ao objeto. A semntica destes mtodos define o conjunto de servios oferecidos pelo objeto. Os parmetros dos mtodos e os resultados da interface do objeto. O cdigo interno do objeto seu protocolo e no visvel fora deste. O modelo TCP/IP originalmente no faz esta clara distino entre servio, interface e protocolo, embora muitos tenham tentado mud-lo para torn-lo mais parecido com OSI. Por exemplo, os nicos servios reais oferecidos pela camada de internet so enviar e receber pacote IP. Por esta razo, os protocolos OSI so mais bem escondidos do que no TCP/IP e tm maior adaptabilidade para mudanas de tecnologia. Esta adaptabilidade um dos propsitos principais de se ter protocolos por camadas no modelo inicial [7]-[8]-[9].

    O modelo de referncia OSI foi criado antes da inveno dos protocolos. Desta forma ele no foi feito sobre um conjunto particular de protocolos, o que o torna bem geral. Isto significa que o modelo no foi formado sobre um conjunto particular de protocolos, o que o faz ser bem geral. Em contraponto, os projetistas no tinham muita experincia e no poderiam ter uma boa idia quanto funcionalidade das camadas. Por exemplo, originalmente a camada de enlace lidava somente com redes ponto a ponto e quando ento surgiram as redes, teve de ser adicionada uma nova subcamada. Quando as pessoas passaram a construir redes usando o modelo OSI e protocolos existentes, descobriram que eles no atendiam as especificaes de servio requeridas e tiveram de adicionar subcamadas para superar as diferenas. Finalmente, o comit originalmente esperou que cada pas tivesse uma rede, gerenciada pelo governo e usando os protocolos OSI, logo a idia de interconectividade. Resumidamente, as coisas no aconteceram assim [7]-[8]-[9].

    Com o TCP/IP aconteceu o contrrio: os protocolos vieram primeiro, e o

    modelo foi apenas uma descrio dos protocolos existentes. Por isso no houve problema com protocolos tendo que se adaptarem ao modelo, eles se encaixam perfeitamente. O problema que nem toda pilha de protocolo se encaixa no modelo. Conseqentemente, no podia ser utilizado para descrever redes que no fossem TCP/IP. Falando mais especi- ficamente, h uma diferena bvia entre os dois modelos que o nmero de camadas: OSI tem sete e o TCP/IP tem quatro. Ambas tm camada de rede, de transporte e aplicao,

  • 26

    mas as outras so diferentes. Outra diferena est ligada ao tipo conexo da comunicao: comunicao sem conexo (CSC) versus comunicao orientada conexo (COC). Na camada de rede, OSI suporta ambos e o modelo TCP/IP tem somente um modo. Na camada de transporte, OSI possui somente COC, onde ele influencia (porque o servio de transporte visvel aos usurios), enquanto que TCP/IP suporta ambos os modos na camada de transporte, dando uma escolha aos usurios. Esta escolha especialmente importante para protocolos simples de pergunta e resposta [7]-[8]-[9].

    2.2.2 O modelo de pilha de quatro camadas do TCP/IP

    O TCP/IP foi desenhado segundo uma arquitetura de pilha, onde diversas camadas de software interagem somente com as camadas acima e abaixo. H diversas semelhanas com o modelo conceitual OSI da ISO, mas o TCP/IP anterior formalizao deste modelo e, portanto, possui algumas diferenas [10].

    O nome TCP/IP vem dos nomes dos protocolos mais utilizados desta pilha, o IP (Internet Protocol) e o TCP (Transmission Control Protocol). Mas a pilha TCP/IP possui ainda muitos outros protocolos, dos quais veremos apenas os mais importantes, vrios deles necessrios para que o TCP e o IP desempenhem corretamente as suas funes. Visto superficialmente, o TCP/IP possui quatro camadas, desde as aplicaes de rede at o meio fsico que carrega os sinais eltricos at o seu destino [8]-[9]:

    Tabela 2. 1. Camadas de aplicao TCP/IP.

    4. Aplicao (Servio) FTP, TELNET, LPD, HTTP, SMTP/POP3, NFS, etc. 3. Transporte TCP, UDP

    2. Rede IP

    1. Enlace Ethernet, PPP, SLIP

    Alm das camadas propriamente ditas, temos uma srie de componentes, que realizam a interface entre as camadas [8]-[9]:

  • 27

    Tabela 2. 2. Componentes de interface.

    Aplicao / Transporte DNS, Sockets

    Rede / Enlace ARP, DHCP

    2.3 As camadas

    2.3.1 Camada de enlace

    Os protocolos de enlace tm a funo de fazer com que informaes sejam transmitidas de um computador para outro em uma mesma mdia de acesso compartilhado (tambm chamada de rede local) ou em uma ligao ponto-a-ponto (ex: modem). A preocupao destes protocolos permitir o uso do meio fsico que conecta os computadores na rede e fazer com que os bytes enviados por um computador cheguem a um outro computador diretamente desde que haja uma conexo direta entre eles [8]-[9].

    2.3.2 Camada de rede

    O protocolo de rede, o Internet Protocol (IP), responsvel por fazer com que as informaes enviadas por um computador cheguem a outros computadores mesmo que eles estejam em redes fisicamente distintas, ou seja, no existe conexo direta entre eles. Como o prprio nome (Internet) diz, o IP realiza a conexo entre redes. E ele quem traz a capacidade da rede TCP/IP se "reconfigurar" quando uma parte da rede est fora do ar, procurando um caminho (rota) alternativo para a comunicao [8]-[9].

    2.3.3 Camada de transporte

    Os protocolos de transporte mudam o objetivo, que era conectar dois equipamentos, para conectar dois programas. Voc pode ter em um mesmo computador vrios programas trabalhando com a rede simultaneamente, por exemplo, um browser Web e um leitor de e-mail. Da mesma forma, um mesmo computador pode estar rodando ao mesmo tempo um servidor Web e um servidor POP3. Os protocolos de transporte (UDP e TCP) atribuem a cada programa um nmero de porta, que anexado a cada pacote de

  • 28

    modo que o TCP/IP saiba para qual programa entregar cada mensagem recebida pela rede [8]-[9].

    2.3.4 Camada de aplicao

    Finalmente os protocolos de aplicao so especficos para cada programa que faz uso da rede. Desta forma existe um protocolo para a conversao entre um servidor web e um browser web (HTTP), um protocolo para a conversao entre um cliente Telnet (Protocolo de Terminal Virtual) e um servidor (Daemon) e assim por diante. Cada aplicao de rede tem o seu prprio protocolo de comunicao, que utiliza os protocolos das camadas mais baixas para poder atingir o seu destino [8]-[9].

    2.4. GSM e GPRS

    2.4.1 Rede GSM

    Global System for Mobile Communications ou Sistema Global para Comunicaes Mveis uma tecnologia mvel e o padro mais popular para celulares do mundo. Telefones GSM so usados por mais de um bilho de pessoas em mais de 200 pases. A onipresena do sistema GSM faz com que o roaming internacional seja muito comum atravs de "acordos de roaming" entre operadoras de celular. O GSM diferencia-se muito de seus predecessores sendo que o sinal e os canais de voz so digitais, o que significa que o GSM visto como um sistema de celular de segunda gerao (2G) [11]-[12].

    O GSM possui uma srie de caractersticas que o distinguem dentro do universo das comunicaes mveis. Nascido nos anos 80 e fruto de uma cooperao sem precedentes dentro da Europa, o sistema partilha elementos comuns com outras tecnologias utilizadas em telemveis, como a transmisso ser feita de forma digital e a utilizar clulas (como funciona um telemvel). Do ponto de vista do consumidor, a vantagem-chave do GSM so os servios novos com baixos custos. Por exemplo, a troca de mensagens de texto foi originalmente desenvolvida para o GSM. A vantagem para as operadoras tem sido o baixo custo de infra-estrutura causada por competio aberta. A principal desvantagem que o sistema GSM baseado na rede TDMA, que considerada menos avanada que a

  • 29

    concorrente CDMA. A performance dos celulares muito similar, mas apesar disso o sistema GSM tem mantido compatibilidades com os telefones GSM originais. A verso de 1999 do padro introduziu ndices relativamente altos de transmisso de dados, e normalmente referida como 3G. O sistema GSM 900 utiliza dois conjuntos de freqncias na banda dos 900 MHz, o primeiro nos 890-915MHz, utilizado para as transmisses do terminal e o segundo nos 935-960MHZ, para as transmisses da rede [11]-[12].

    O mtodo utilizado pelo GSM para gerir as freqncias uma combinao de duas tecnologias: o TDMA (Time Division Multiple Access ou Acesso Mltiplo por Diviso de Tempo) e o FDMA (Frequency Division Multiple Access ou Acesso Mltiplo por Diviso de Freqncia). O FDMA divide os 25 MHz disponveis de freqncia em 124 canais com uma largura de 200 kHz e uma capacidade de transmisso de dados na ordem dos 270 Kbps. Uma ou mais destas freqncias atribuda a cada estao base e dividida novamente, em termos de tempo, utilizando o TDMA, em oito espaos de tempo (timeslots). O terminal utiliza um timeslot para recepo e outro para emisso. Eles encontram-se separados temporalmente para que o telemvel no se encontre ao receber e transmitir ao mesmo tempo. Esta diviso de tempo tambm chamada de full rate. As redes tambm podem dividir as freqncias em 16 espaos no processo designado de half rate, mas a qualidade da transmisso inferior [11]-[12].

    A voz codificada de uma forma complexa, de forma que erros na transmisso possam ser detectados e corrigidos. Em seguida, enviado nos timeslots, cada um com uma durao de 577 milisegundos e uma capacidade de 116 bits codificados. Cada terminal possui uma agilidade de freqncia, podendo deslocar-se entre os timeslots utilizados para envio, recepo e controle dentro de um frame completo. Ao mesmo tempo, um telemvel verifica outros canais para determinar se o sinal mais forte e mudar a transmisso para os mesmos, caso a resposta seja afirmativa [11]-[12].

    2.4.2 REDE GPRS

    O GPRS (General Packet Radio Service ou Servio Geral de Pacote de Rdio) um novo servio de valor agregado no baseado em voz que permite o envio e recepo de informaes atravs de uma rede telefnica mvel [11]-[12].

    Ele suplementa as tecnologias atuais de CSD (Circuit Switched Data ou Circuito de troca de dados) e SMS (Short Message Service ou Servio de mensagens

  • 30

    curtas). GPRS no relacionado ao GPS (o Sistema de posicionamento global), um acrnimo semelhante que frequentemente utilizado em contextos mveis [11]-[12].

    GPRS tem vrias caractersticas especficas que podem ser resumidas em: Velocidade - Taxas de transferncia tericas de at 171,2 kbps (kilobits por segundo) so possveis com GPRS usando todos os oito timeslots ao mesmo tempo. Isso uma taxa de transferncia prxima de trs vezes mais rpida do que as possveis nas redes de telecomunicaes fixas e dez vezes mais que os atuais servios de CSD nas redes GSM. Disponibilidade imediata - GPRS facilita conexes instantneas, pois a informao pode ser enviada ou recebida imediatamente conforme a necessidade do usurio. No h necessidade de conexes dial-up atravs de modems. Algumas vezes, diz-se que os usurios de GPRS esto sempre conectados. Disponibilidade imediata uma das vantagens de GPRS (e SMS) quando comparado com CSD. Alta disponibilidade imediata uma caracterstica muito importante para aplicaes crticas como autorizao remota de lanamento em cartes de crdito, quando inaceitvel que o cliente seja mantido em estado de espera por mais de 30 segundos alm do necessrio. Novas e melhores apli-caes GPRS facilitam aplicaes no disponveis atravs das redes GSM, dadas as limitaes na taxa de transferncia dos CSDs (9,6 kbps) e o tamanho da mensagem no SMS (160 caracteres). Essas aplicaes, descritas posteriormente, vo desde navegao na Web at transferncia de arquivos para automao de residncias - a habilidade de acessar e controlar remotamente os equipamentos e recursos disponveis em uma casa. Para usar GPRS, os usurios precisam especificamente de um telefone mvel ou terminal que suporte GPRS, uma assinatura em uma rede de telefonia mvel que suporte GPRS, ter o uso de GPRS habilitado. O acesso automtico ao GPRS pode ser permitido por algumas operadoras. Outras podero requerer uma opo especfica de adeso, conhecimento de como enviar e receber informaes atravs do GPRS usando seu aparelho telefnico, incluindo configuraes de hardware e software, o que cria a necessidade de um servio de atendimento ao cliente, um destino para enviar ou um local de onde receber informaes atravs do GPRS. Com SMS esse destino ou origem era freqentemente outro telefone mvel. Com GPRS mais provvel que se parea com um endereo Internet, j que GPRS foi projetado para tornar o acesso Internet totalmente disponvel aos usurios mveis desde o incio. Desde a disponibilidade do servio, os usurios do GPRS podem acessar qualquer pgina da Web ou outras aplicaes Internet - fornecendo uma massa crtica inicial de uso [11]-[12].

  • 31

    Tendo visto as caractersticas principais do GPRS do ponto de vista do usurio, vejamos quais so essas caractersticas do ponto de vista de uma operadora da rede. Com o GPRS, a informao dividida em pacotes relacionados entre si antes de ser transmitida e remontada no destinatrio. A comutao de pacotes semelhante a um jogo de quebra-cabea, no qual a informao que o quebra-cabea representa, dividida em pequenas peas pelo fabricante e colocada em um saco plstico. Durante o transporte do quebra-cabea entre a fbrica e o comprador, as peas so misturadas. Quando o comprador do jogo retira as peas da embalagem ele as remonta, formando a imagem original. Todas as peas so relacionadas entre si e se encaixam, mas a forma como so transportadas e remontadas varia [11]-[12].

    A Internet um outro exemplo de rede de dados baseada em comutao de pacotes, o mais famoso de muitos tipos de rede [11]-[12].

    Usar a comutao de pacotes no GPRS significa que os recursos de rdio sero utilizados apenas quando os usurios estiverem enviando ou recebendo dados. Ao invs de dedicar um canal para um usurio por um determinado perodo de tempo, o recurso pode ser compartilhado concorrentemente entre vrios usurios. Esse uso eficiente de recursos significa que um grande nmero de usurios GPRS pode potencialmente compartilhar a mesma largura de banda e serem servidos de uma nica clula [11]-[12].

    O nmero atual de usurios suportados depende da aplicao em uso e de quanta informao est sendo transferida. Dada eficincia do GPRS, h menor necessidade de investir em recursos que sero somente utilizados em horrios de pico. Portanto, o GPRS permite que as operadoras maximizem o uso de seus recursos de rede de uma forma dinmica e flexvel [11]-[12].

    O GPRS pode melhorar a capacidade de uma rede GSM, pois, simultaneamente aloca recursos de rdio pouco abundantes de forma mais eficiente por suportar conectividade virtual, migra trfego anteriormente enviado atravs de CSDs para GPRS e reduz o uso de canais de sinalizao atravs da migrao de trfego que anteriormente era enviado via SMS para GPRS, ao invs de usar a conectividade GPRS / SMS suportada pelo padro GPRS [11]-[12].

    O GPRS permite uma funcionalidade completa no que se refere Internet Mvel por disponibilizar interoperabilidade entre a Internet existente e as novas redes GPRS. Qualquer servio atualmente utilizado na Internet como FTP, navegao na Web,

  • 32

    chat, email, estar tambm disponvel atravs da rede mvel com o GPRS. Na verdade, muitas operadoras esto considerando a oportunidade de usar GPRS como forma de ajudar a se tornarem Provedores de Servio Internet (ISP) [11]-[12].

    A World Wide Web est se tornando a primeira escolha das pessoas que desejam acessar a Internet para entretenimento e coleta de informaes, a intranet para acessar informaes da companhia e conexo com colegas de trabalho e a extranet para acessar clientes e fornecedores. Tudo isso deriva da World Wide Web com o intuito de conectar comunidades com interesses diversos. H uma tendncia em se armazenar informaes localmente por meio de pacotes de software especficos e acessar essas informaes remotamente, via Internet [11]-[12].

  • 33

    Captulo 3 Telemetria aplicada a mquinas automticas de vendas

    Aps analisarmos diversos tipos de mquinas automticas de vendas (inclusive com visitas a distribuidoras deste produto) e entender um pouco mais sobre a logstica de controle e abastecimento de tais mquinas, identificamos que tal controle feito de forma manual, onde no existe nenhuma espcie de automao no que diz respeito ao controle de produtos individuais de cada mquina. Com o crescente nmero de mquinas automticas no mercado mundial (em especial no mercado brasileiro) e a evoluo crescente da tecnologia de sistemas sem fio, verificamos a possibilidade de aplicar esta tecnologia para desenvolvimento de uma soluo que atenda, de forma eficaz, este mercado, com praticidade e objetividade, com o intuito de otimizar a logstica de abastecimento e controle destes equipamentos.

    3.1 Soluo proposta

    A soluo ser registrar dados provenientes de uma maquina automtica de vendas atravs de sensores nelas presentes, registrando um a um a sada de cada produto que ser monitorado atravs de um circuito multiplexador embarcado em cada referida maquina conforme diagrama da Figura 3.1. Esta interface ser interligada atravs de conectores e controlada por um microprocessador PIC 16F876A, conforme Figura 3.4, que ser responsvel pelo armazenamento e processamento de todos os eventos provenientes da mquina automtica. Ser ainda utilizado um modem de comunicao GPRS que est acoplado a placa de desenvolvimento do fabricante Cerne adquirida por ns para efetuar a transmisso dos dados empacotados via TCP/IP, o conjunto modem e o PIC 16F876A esto acoplados em uma nica placa que juntamente com a placa de interface ficara embarcada

  • 34

    na mquina de vendas. Estas duas solues sero interligadas atravs de conectores tipo encaixe montados na placa de interface e na placa cerne na sada do microcontrolador. Aps executada esta tarefa, finalmente estes dados sero recebidos via internet para um servidor desenvolvido com a linguagem de programao Visual Basic 6.0 que interagindo com um banco de dados, tratar e organizar todos os eventos para posterior emisso de relatrios de controle de fluxo.

    Para realizao do nosso projeto optamos por adquirir um kit de desenvolvimento de fabricao da Cerne modelo SIM 340Z. Tal opo deve-se principalmente pelas conexes do mdulo GPRS com o SIM Card e o microcontrolador PIC que so de difcil execuo fora de um laboratrio devidamente equipado. Porm, tal kit vem com diversas funcionalidades que no esto sendo utilizadas nesse projeto conforme veremos a seguir e devem ser desconsideradas.

    3.2 Topologia do sistema

    Nosso projeto composto basicamente por duas etapas distintas, consistindo a primeira no sistema de captao e transmisso dos dados coletados na mquina de vendas atravs de sensores diretamente instalados em cada mecanismo de liberao de produtos. Para essa etapa temos o nosso sistema de telemetria, que composto pelos sensores de vendas de produtos, microcontrolador que recebe e trata os dados para transmisso e por final um modem GPRS que recebe os dados j tratados do microcontrolador atravs de uma porta serial. O Modem GPRS responsvel por fazer a conexo com a rede celular, fazer a autenticao com o provedor de acesso rede, fazer o empilhamento TCP/IP dos dados a serem transmitidos e por fim transmitir os dados via internet ao servidor que no nosso projeto denominamos como CVA-Controle de Vendas Automticas.

    A segunda etapa de nosso projeto consiste no recebimento dos dados de cada mquina automtica de vendas atravs da internet, estes dados so encaminhados para o servidor CVA, que recebe, trata e armazena os dados em um banco de dados que poder ser acessado por qualquer usurio que tenha um software cliente instalado em seu computador.

    Com isso temos a capacidade de, em qualquer lugar do planeta e a qualquer hora do dia, saber exatamente a quantidade de cada produto de cada mquina automtica

  • 35

    de vendas desejada, podendo assim, no s controlar as vendas, mas tambm fazer estatsticas de melhores pontos de vendas, horrios de picos de vendas e muitas outras aplicaes desejadas.

    Figura 3. 1. Topologia do sistema.

    3.3 Caracterstica do hardware

    Nosso projeto composto por software e hardware, onde o hardware responsvel pela coleta dos dados e controle dos sensores de vendas de produtos. Esse hardware dividido em uma interface que atua diretamente com os sensores de vendas de produtos e um circuito de controle e transmisso dos dados coletados.

    O circuito que faz a interface com a mquina de vendas um circuito que realiza a leitura dos sensores e, como temos diversos sensores em cada mquina, optamos por multiplexar os sinais recebidos devido a essa caracterstica, onde denominamos tal circuito de circuito multiplexador.

    Para que o circuito multiplexador funcione necessitamos de uma soluo que receba e controle os sinais enviados pelos, para isso temos um circuito com o microcontrolador PIC que interage diretamente com tal circuito. O microcontrolador PIC responsvel no s por controlar o circuito multiplexador, mas tambm por armazenar e tratar os dados recebidos pelo mesmo. Uma vez tratado os dados os mesmos so enviados atravs de uma porta serial a um modem GPRS que se encarregar de fazer a conexo com

  • 36

    a rede celular, autenticar-se no provedor de acesso, fazer o empilhamento TCP/IP dos dados a serem transmitidos e por fim transmitir os dados via internet.

    3.3.1 Circuito multiplexador

    Figura 3. 2. Circuito multiplexador.

    Conforme mostrado na Figura 3. 2 o circuito multiplexador um arranjo de multiplexadores (74LS151), combinados de uma forma que o software do PIC possa ler atravs de um Loop todas as suas entradas, que representam os produtos ou o sensor de recarga. Os sensores de recarga so implementados para que no momento da finalizao do abastecimento da maquina pelo operador seja reiniciado o contador do CVA.

    O circuito integrado 74LS541 (buffer octal), tem a funo de proteger a porta do microcontrolador PIC e, ao mesmo tempo, fornecer os nveis de corrente eltrica suficientes para ativar os multiplexadores (74LS151).

    O software do microcontrolador PIC l uma por uma as sadas de cada multiplexador, que esto ligadas ao buffer octal de sada nos pinos 15, 16, 17 e 18 enviando para a porta B (pinos 24, 25, 26 e 27) do PIC um nibble (4 bits) de cada vez,

  • 37

    montando uma palavra de 32 bits, referente s 32 entradas (a soma de todos os multiplexadores).

    Os pinos 21, 22, 23 do microcontrolador PIC so interligados aos pinos 2, 3 e 4 do buffer octal de entrada e so utilizados para selecionar cada entrada dos multiplexadores.

    Na Figura 3.3 apresentado um diagrama de blocos referente ao circuito multiplexador.

    Figura 3. 3. Diagrama de blocos do circuito multiplexador.

    3.3.2 Circuito de controle e transmisso de dados

    Para o controle e transmisso de dados optamos por adquirir um kit de desenvolvimento acadmico de fabricao Cerne modelo SIM 340Z. Tal opo deve-se principalmente pelas conexes do mdulo GPRS com o SIM Card e o microcontrolador PIC, que so de difcil execuo fora de um laboratrio devidamente equipado. Porm, tal kit vem com diversas funcionalidades que no esto sendo utilizadas nesse projeto conforme veremos a seguir e devem ser desconsideradas [14].

  • 38

    O Kit composto por:

    Microcontrolador do Pic 16F876A

    Regulador de tenso

    Comunicao serial

    Quatro botes e Quatro leds Display de LCD

    Conversor A/D

    Mdulo GPRS

    Mdulo SIM 340Z

    Teclado matricial

    Dois rels

    Figura 3. 4. Kit de desenvolvimento acadmico de fabricao Cerne.

    Para o nosso projeto utilizaremos apenas: Microcontrolador do Pic 16F876A

    Regulador de tenso

    Comunicao serial

    Quatro leds

  • 39

    Mdulo GPRS

    Mdulo SIM 340Z

    Os demais itens que compem o kit de desenvolvimento acadmico, no sero utilizados e devero ser desconsiderados para o funcionamento do circuito.

    3.3.2.1 Microcontrolador PIC 16F876A

    Utilizamos o microcontrolador PIC 16F876A, sendo utilizada apenas a porta B do microcrontrolador, visto que o PIC 16F876A possui trs portas A, B e C.

    Precisaremos de 72 Bytes para armazenar os dados a serem transmitidos, o que bem menor que os 8 Kbytes que o PIC disponibiliza de memria Flash.

    A tabela 3.1 mostra as caractersticas mais importantes do microcontrolador PIC 16F876A.

    Tabela 3. 1. Caractersticas do PIC.

    Caractersticas Chave PIC16F876A

    Freqncia de Operao DC 20 MHz

    Resets (e Delays) POR, BOR (PWRT,

    OST) Memria de Programao Flash (14-bit words) 8K

    Memria de dados (bytes) 368 Memria de dados EEPROM (bytes) 256

    Interrupes 14

    Portas I/O Ports A, B, C

    Timers 3 Captura/Comparao/Mdulos PWM 2

    Comunicaes Seriais MSSP, USART Mdulo Analgico para Digital 10-bit

    5 canais de entrada

    Comparadores Analgicos 2

    Instrues 35 Instrues

    28-pin PDIP

    28-pin SOIC

    28-pin SSOP Pacotes

    28-pin QFN

  • 40

    Na figura 3.5 apresenta-se o diagrama do microcontrolador PIC 16F786A. Todas as portas do PIC permanecero ligadas no prottipo, porm, de uso efetivo na programao especfica realizada, somente as portas RB0 at RB7 e as portas RC6 e RC7 sero utilizadas.

    As portas RB0 RB7 referem-se ao reconhecimento da mquina qual provir a informao de venda de produto e o produto vendido, atravs de um cabealho gerado pelas informaes. Dois buffers varrero essas portas, sendo um deles, responsvel por receber os bits de endereamento da mquina, utilizando as portas RB0, RB1 e RB2 e as portas RB3, RB4, RB5 e RB6 do outro buffer receber a informao do produto vendido ou a recarga efetuada. As portas RB esto ligadas ao PIC, recebendo e gravando as informaes provenientes do circuito multiplexador. As portas RC6 e RC7 dedicam-se transmisso e recepo de dados propriamente dito.

    O cdigo de programao do PIC encontra-se no Anexo 2.

    Figura 3. 5. Diagrama do PIC16F876A.

    3.3.3 Regulador de tenso e comunicao serial

    Utilizaremos o regulador de tenso para alimentar eletricamente o circuito de controle e transmisso de dados. A Figura 3. 8 descreve o diagrama eltrico do mesmo.

    A comunicao serial atravs do circuito integrado MAX232 ser utilizada apenas para gravao do software do microcontrolador PIC. As Figuras 3.6 e 3. 7 mostram o digrama eltrico do mesmo [14].

  • 41

    Figura 3. 6. Diagrama 1 da comunicao serial.

    Figura 3. 7. Diagrama 2 da comunicao serial.

    Figura 3. 8. Diagrama do regulador de tenso.

  • 42

    3.3.4 Mdulo SIM 340Z e circuito de transmisso GPRS

    O mdulo da transmisso GPRS responsvel pela transmisso dos dados via internet para o servidor denominado CVA. O mdulo GPRS trabalha conectado ao mdulo SIM 340Z que onde se insere o SIM Card do operador de telecomunicaes a ser utilizado. O mdulo GPRS funciona como um modem e responsvel por estabelecer a conexo com rede celular, fazer a autenticao com o provedor da rede de acesso, realizando o empilhamento TCP/IP dos dados a serem transmitidos e por fim transmitir os dados via internet ao servidor denominado CVA.

    O modem GPRS recebe via porta serial os dados do microcontrolador PIC por meio de comandos AT.

    3.3.5 Comandos AT utilizados

    Abaixo, so apresentados os principais comandos AT utilizados no projeto.

    AT+CSTT=,, Esse comando faz a autenticao do modem no provedor de acesso rede [14]. Ex.: AT+CSTT="TIM.BR","TIM","TIM" Como exemplo, utilizamos o provedor TIM, onde o domnio para autenticao TIM.BR, a identificao do usurio TIM e a senha do usurio TIM [14].

    AT+CDNSCFG=,[] Comando de configurao de um servidor DNS, que responsvel por resolver nomes na internet. A opo de configurar um endereo de servidor DNS secundrio e opcional [14]. Ex.: AT+CDNSCFG="208.67.222.222 Configuramos apenas o servido DNS primrio com um servidor DNS vlido na internet [14].

    AT+CDNSGIP= Esse comando testa se o servidor DNS est respondendo corretamente. Inserindo um domnio qualquer vlido na internet ele retornar o endereo IP correspondente ao domnio [14].

  • 43

    Ex.: AT+CDNSGIP= univercidade.edu No teste, utilizamos o domnio univercidade.edu e se servidor DNS estiver funcionando corretamente ele retornar o endereo IP correspondente ao domnio [14]. Obs. O domnio univercidade.edu apenas um exemplo. O comando funciona com qualquer domnio vlido na internet [14].

    AT+CIFSR Esse comando extremamente importante para o nosso projeto, pois ele retorna o endereo IP adquirido pelo modem GPRS. Somente conhecendo esse IP ser possvel a comunicao entre o servidor e a mquina automtica de vendas [14].

    AT+CIPSTART = (TCP, UDP),(IP ADDRESS,DOMAIN NAME), PORT Esse comando abre um socket de comunicao com o servidor, onde podemos configurar uma conexo TCP ou UDT, Podemos usar um IP ou um domnio para identificar o servidor na internet e por fim configuramos a porta de comunicao que ser utilizada [14]. Ex.: AT+CIPSTART= TCP","189.106.31.70",100 No exemplo abrimos um socket de comunicao com uma conexo TCP com o servidor que tem endereo IP 189.106.31.70 e ser utilizada a porta de 100 de comunicao [14].

    AT+CIPSEND Esse comando abre uma caixa de texto onde todos os caracteres inseridos nele sero enviados ao servidor [14].

    AT+CIPCLOSE Esse comando encerra o socket de comunicao com o servidor [14].

    Figura 3. 9. Diagrama dos terminais do mdulo GPRS e Sim340Z.

  • 44

    Figura 3. 10. Diagrama dos Leds de controle.

    Figura 3. 11. Diagrama do mdulo sim card.

    3.4 Caractersticas do software

    Nosso projeto baseia-se em um hardware e dois softwares. O primeiro software executado dentro do microcontrolador PIC e o segundo executado no servidor denominado CVA.

    O software que executado no servidor CVA tem a funo de receber os dados coletados por cada mquina automtica de vendas, tratar devidamente esses dados e armazenar em um banco de dados para que possam ser acessados a qualquer momento pelos usurios do sistema. Esse software foi desenvolvido com a linguagem de programao Visual Basic 6.0 utilizando a ferramenta winsocks para a comunicao com as mquinas de vendas.

  • 45

    O software a ser executado no microcontrolador PIC foi desenvolvido em linguagem de programao C, utilizando o compilador CCS e o responsvel por receber, controlar e transmitir os dados de cada mquina de venda.

    3.4.1 Servidor CVA

    Desenvolvemos um prottipo do servidor CVA que, como dito anteriormente, tem a funo de receber os dados coletados por cada mquina automtica de vendas, tratar devidamente esses dados e armazenar em um banco de dados. A figura 3.12 mostra a tela inicial do nosso prottipo.

    Figura 3. 12. Tela inicial do servidor CVA.

    Esta tela nos d a informao de string recebida at o momento da transmisso, com a data e a hora, a string enviada, seja ela de venda ou de recarga e se a informao recebida foi gravada no PIC. Aps isso, se o usurio desejar acompanhar o status de cada mquina, clicando em Ver parque de mquinas, ser direcionado para a tela da figura 3.13.

    Figura 3. 13. Parque de mquinas.

  • 46

    Como podemos observar, o nosso prottipo do Servidor CVA est monitorando duas mquinas onde, uma vez clicando sobre o cone da mquina desejada, se abrir uma nova tela conforme mostrado na Figura 3.14.

    Figura 3. 14. Tela de controle de uma mquina no servidor.

    O servidor foi programado para realizar o controle de at dezesseis produtos por cada mquina. Temos o controle sempre atualizado de quantos produtos ainda restam para serem vendidos. O campo quantidade inicial dever sempre ser configurado com a capacidade mxima possvel de produtos.

    Selecionando a opo Inventrio referente a cada produto, o usurio ser remetido para a tela da Figura 3.15, que apresenta as informaes de venda e recarga referentes quele produto.

    Figura 3. 15. Tela de controle de venda e recarga de produtos.

  • 47

    Para que o servidor se comunique corretamente com as mquinas, necessrio que eles "falem a mesma linguagem", ou seja, que cada equipamento entenda e interprete os comandos de controle corretamente, baseado num conjunto de regras bem definidas.

    O protocolo que gerencia a comunicao entre as mquinas de vendas e o servidor CVA baseado em strings de comandos.

    Abaixo, a estrutura de nosso protocolo:

    Figura 3. 16. Estrutura do protocolo de transmisso.

    Tabela 3. 2. Componentes de interface 2.

    Tipo Caractere Funo

    Cabealho 1, 2, 3 e 39 Identifica strings vlidas, sendo desconsiderado qualquer string diferente de formato.

    Mquina 4, 5 e 6 Identifica a mquina automtica de vendas. Produtos 1 ao 16 7 ao 38 Contabiliza os produtos vendidos.

    \r e \n 40 e 41 Cdigo de retorno de carro e nova linha.

    Como observa-se, temos em nosso protocolo de transmisso as seguintes informaes: um cabealho, o cdigo que identifica a mquina de vendas, as informaes referente cada produto e o os cdigos de retorno de carro e nova linha.

    Como o prottipo do servidor fica escutando todo o tempo a porta de comunicao 100, vimos necessidade em criar um cabealho para identificar as strings vlidas. O servidor dar como vlidas somente strings recebidas que contenham nas posies 1, 2, 3 e 39 os caracteres C, V e A, resultando num identificador "CVA:". Qualquer outra string que no for identificada assim ser desprezada pelo servidor.

    Aps o cabealho temos o cdigo da mquina de vendas que, para o funcionamento do prottipo, definimos como trs caracteres, o que nos possibilita controlar um universo de at 1000 mquinas automticas de vendas.

  • 48

    Aps a identificao da mquina de venda temos as informaes referentes aos produtos vendidos por cada mquina. Essa informao consiste em um simples somador de produtos vendidos e, sempre que a mquina for reabastecida, o contador retornar ao seu estado inicial. Consideramos dois caracteres para cada produto, o que nos d um universo de 99 unidades por produto. Consideramos tambm um universo de 16 produtos por mquina.

    Da mesma forma, assim como o protocolo de transmisso coordena as informaes da venda dos produtos, foi desenvolvido um outro protocolo para gerenciar as recargas efetuadas, enviando primeiramente a informao referente recarga para, na prxima transmisso, efetivamente, realiz-la, evitando, com isso, perda de histrico de produtos vendidos antes da realizao da recarga. Denominado como protocolo de recarga, ser apresentado na figura 3.14 sua estrutura de endereamento.

    Figura 3. 17. Estrutura do protocolo de recarga.

    Tabela 3. 3. Componentes de interface 3.

    O cdigo fonte completo do prottipo do servidor encontra-se no anexo 1.

    3.4.2 Programao do microcontrolador PIC

    Para que o nosso hardware funcione corretamente necessitamos de um software que controle todo o sistema. Tal software executado dentro do microcontrolador PIC.

  • 49

    O software do microcontrolador foi desenvolvido na linguagem de programao C e foi utilizado o compilador CCS para gerar o cdigo hexadecimal a ser gravado no PIC.

    O que o software faz alternar continuamente o endereamento de cada multiplexador fazendo com que as sadas dos multiplexadores mostrem de modo contnuo o status de cada sensor, e sempre que houver uma mudana nesse status, o software considera que houve uma venda do produto correspondente armazenando a informao na memria flash do PIC para, posteriormente, transmiti-la.

    Uma vez armazenado as informaes dos sensores de venda, o software responsvel tambm por formatar as informaes de acordo com o protocolo de transmisso mostrado no item 3.4.1 e enviar tal informao via porta serial para o modem GPRS atravs de comandos AT vistos no item 3.3.5.

  • 50

    Captulo 4 Concluso

    Com o prottipo desenvolvido, podemos observar que a transmisso de dados conforme descrito no projeto foi realizada com sucesso, porm algumas circunstncias devem ser consideradas como, por exemplo, a cobertura do servio oferecido pelas operadas de telefonia mvel.

    Nosso prottipo foi desenvolvido para controlar cinco mquinas automticas de vendas com at oito produtos por mquina, porm nosso protocolo est preparado para controlar uma quantidade mxima de 1000 mquinas automticas com capacidade de 32 produtos por mquina. Para uma possvel comercializao do projeto dever ser desenvolvido um novo software.

    Devemos ressaltar que o projeto dever ser adequado realidade de cada modelo de mquina de venda, pois cada mquina tem suas caractersticas especficas, como por exemplo, a quantidade e tipo de produtos vendidos.

    Para futuro aprimoramento do projeto, sugerimos o desenvolvimento de uma interface WEB para os usurios, pois assim eliminaria a necessidade de um software cliente, uma vez que bastaria apenas um browser para visualizao do sistema.

  • 51

    Anexo I

    Cdigo fonte do programa Servidor CVA

    Cdigo da Form - main.frm

    VERSION 5.00 Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.ocx" Begin VB.Form Main

    Caption = "CVA Server - Contre de Vendas Automticas V.0.1" ClientHeight = 3555 ClientLeft = 120

    ClientTop = 420 ClientWidth = 11940 LinkTopic = "Form1"

    ScaleHeight = 3555 ScaleWidth = 11940

  • 52

    StartUpPosition = 3 'Windows Default Begin VB.CommandButton Command2 Caption = "Sair" Height = 375 Left = 3000 TabIndex = 10 Top = 2880 Width = 1215 End Begin VB.CommandButton Command1 Caption = "Ver parque de mquinas" Height = 375 Left = 600 TabIndex = 9 Top = 2880 Width = 2175 End Begin VB.PictureBox Picture7

    BorderStyle = 0 'None Height = 975 Left = 480

    Picture = "main.frx":0000 ScaleHeight = 975 ScaleWidth = 3735 TabIndex = 8 Top = 120 Width = 3735 End Begin MSWinsockLib.Winsock wskServidor Left = 7560 Top = 120

    _ExtentX = 741

    _ExtentY = 741

  • 53

    _Version = 393216 End Begin VB.PictureBox Picture6 BorderStyle = 0 'None Height = 855 Left = 9240 Picture = "main.frx":1280 ScaleHeight = 855 ScaleWidth = 2415 TabIndex = 5 Top = 120 Width = 2415 End Begin VB.Label Label11 Caption = "Gravado:" Height = 255 Left = 7560 TabIndex = 7 Top = 2040

    Width = 855 End Begin VB.Label Label10 Height = 255 Left = 8400 TabIndex = 6 Top = 2040 Width = 1335 End Begin VB.Label txtReceber BorderStyle = 1 'Fixed Single Caption = "Aguardando Comunicao" Height = 375 Left = 600

  • 54

    TabIndex = 4 Top = 2040

    Width = 6615 End Begin VB.Label Label5 Caption = "--:--"

    Height = 255 Left = 4200

    TabIndex = 3 Top = 1680 Width = 735 End Begin VB.Label Label4 Caption = "--/--/----"

    Height = 255 Left = 2880

    TabIndex = 2 Top = 1680 Width = 975 End Begin VB.Label Label2 Caption = "as" Height = 255 Left = 3840 TabIndex = 1 Top = 1680 Width = 255 End Begin VB.Label Label1 Caption = "ltima String Recebida em:" Height = 255 Left = 600 TabIndex = 0

  • 55

    Top = 1680 Width = 2295 End End Attribute VB_Name = "Main" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Dim conexao As New ADODB.Connection 'cria a variavel de conexao Dim tabela As New ADODB.Recordset 'cria a variavel da tabela Dim sql As String 'cria a string SQL

    Private Sub Command1_Click() parque.Show End Sub

    Private Sub Command2_Click() If MsgBox("Tem certeza que deseja desligar o servidor?", vbYesNo + vbQuestion, "Sair ?") = vbYes Then End End If End Sub

    Private Sub Form_Load() wskServidor.LocalPort = 100 'Definimos a porta local como a porta 100 wskServidor.Listen 'Invocamos o mtodo Listen. O servidor estar 'escutando' esta porta conexao.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source =" & App.Path & "\servidor.mdb" 'cria a conexao com o banco de dados via ADO End Sub

    Private Sub wskServidor_ConnectionRequest(ByVal requestID As Long) 'Este evento serve para que possamos saber o que fazer se uma conexo for requisitada

  • 56

    If wskServidor.State sckClosed Then wskServidor.Close 'Verificamos se o estado do controle esta fechado Se no estiver fechado , fechamos antes de aceitar uma nova conexo wskServidor.Accept requestID 'Aceitamos a requisio com o parmetro RequestId End Sub

    Private Sub wskServidor_DataArrival(ByVal bytesTotal As Long) 'Este evento serve para dizer o que o controle deve fazer quando os dados chegarem. Dim strdados As String wskServidor.GetData strdados txtReceber.Caption = strdados If Mid(strdados, 1, 3) = "cva" Then prod = txtReceber.Caption Data = Date

    hora = Time

    Label4.Caption = Data Label5.Caption = hora maq = Mid(prod, 4, 3) p1 = Mid(prod, 7, 2) p2 = Mid(prod, 9, 2) p3 = Mid(prod, 11, 2) p4 = Mid(prod, 13, 2) p5 = Mid(prod, 15, 2) p6 = Mid(prod, 17, 2) p7 = Mid(prod, 19, 2) p8 = Mid(prod, 21, 2) p9 = Mid(prod, 23, 2) p10 = Mid(prod, 25, 2) p11 = Mid(prod, 27, 2) p12 = Mid(prod, 29, 2) p13 = Mid(prod, 31, 2) p14 = Mid(prod, 33, 2) p15 = Mid(prod, 35, 2) p16 = Mid(prod, 37, 2)

  • 57

    sql = "INSERT INTO servidor (data,hora,maq,p01,r01,p02,r02,p03,r03,p04,r04,p05,r05,p06,r06,p07,r07,p08,r08,p09,r09,p10,r10,p11,r11,p12,r12,p13,r13,p14,r14,p15,r15,p16,r16) VALUES ('" & Data & "','" & hora & "','" & maq & "','" & p1 & "','-','" & p2 & "','-','" & p3 & "','-','" & p4 & "','-','" & p5 & "','-','" & p6 & "','-','" & p7 & "','-','" & p8 & "','-','" & p9 & "','-','" & p10 & "','-','" & p11 & "','-','" & p12 & "','-','" & p13 & "','-','" & 14 & "','-','" & p15 & "','-','" & p16 & "','-')" 'String para inserir a os itens na tabela If tabela.State = 1 Then tabela.Close 'verifica se a tabela esta sendo usada, se estiver ela fecha

    conexao.Execute sql 'executa o comando SQL, usando a conexao Label10.Caption = "Sim" Else

    If Mid(strdados, 1, 3) = "rec" Then prod = txtReceber.Caption Data = Date

    hora = Time

    Label4.Caption = Data Label5.Caption = hora maq = Mid(prod, 4, 3) px = Mid(prod, 7, 3) rx = Mid(prod, 10, 3) qpx = Mid(prod, 13, 2) qrx = Mid(prod, 15, 2) sql = "INSERT INTO servidor (data,hora,maq," & px & "," & rx & ") VALUES ('" & Data & "','" & hora & "','" & maq & "','" & qpx & "','" & qrx & "')" 'String para inserir a os itens na tabela If tabela.State = 1 Then tabela.Close 'verifica se a tabela esta sendo usada, se estiver ela fecha

    conexao.Execute sql 'executa o comando SQL, usando a conexao Label10.Caption = "Sim" Else

    Label10.Caption = "No" End If

  • 58

    End If End Sub

    Cdigo Parque.frm

    VERSION 5.00 Begin VB.Form parque

    Caption = "CVA Sserver - Parque de Mquinas" ClientHeight = 8175 ClientLeft = 225 ClientTop = 525 ClientWidth = 11760 LinkTopic = "Form1"

    ScaleHeight = 8175 ScaleWidth = 11760 StartUpPosition = 3 'Windows Default Begin VB.PictureBox Picture1

    BorderStyle = 0 'None Height = 855 Left = 11160 Picture = "parque.frx":0000

    ScaleHeight = 855 ScaleWidth = 2295 TabIndex = 5 Top = 240

    Width = 2295 End Begin VB.PictureBox Picture2

    BorderStyle = 0 'None Height = 975 Left = 240

    Picture = "parque.frx":0F05 ScaleHeight = 975

  • 59

    ScaleWidth = 3615 TabIndex = 4 Top = 240 Width = 3615 End Begin VB.Frame Frame1

    Caption = "Parque de Mquinas" Height = 6495 Left = 120 TabIndex = 0 Top = 1560 Width = 13455 Begin VB.CommandButton Command1 Caption = "Sair"

    Height = 375 Left = 11640 TabIndex = 2 Top = 5880 Width = 1215 End Begin VB.PictureBox icmaq

    Height = 1455 Index = 0 Left = 360 Picture = "parque.frx":2185 ScaleHeight = 1395 ScaleWidth = 1875 TabIndex = 1 Tag = "0"

    Top = 840 Visible = 0 'False Width = 1935 End

  • 60

    Begin VB.Label txtmaq Caption = "Mquina 01"

    Height = 255 Index = 0 Left = 720 TabIndex = 3 Top = 2400 Visible = 0 'False Width = 1095 End End Begin VB.Label Label1 Caption = "Parque de Mquinas" BeginProperty Font

    Name = "@Arial Unicode MS" Size = 14.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False

    EndProperty Height = 495 Left = 5640 TabIndex = 6 Top = 600 Width = 3735 End End Attribute VB_Name = "parque" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True

  • 61

    Attribute VB_Exposed = False Dim conexao As New ADODB.Connection 'cria a variavel de conexao Dim tabela As New ADODB.Recordset 'cria a variavel da tabela Dim sql As String 'cria a string SQL Private Sub Command1_Click() Unload parque End Sub Private Sub Form_Load() If conexao.State = 1 Then conexao.Close conexao.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source =" & App.Path & "\servidor.mdb" 'cria a conexao com o banco de dados via ADO sql = "Select * from servidor order by maq" If tabela.State = 1 Then tabela.Close tabela.Open sql, conexo

    n = tabela("maq") lout = 1

    teste = 0 lft1 = 400

    lft2 = 1000 lft3 = 400

    lft4 = 1000 Do Until tabela.EOF = True If Not teste = tabela("maq") Then If lout < 7 Then

    n = tabela("maq") Load icmaq(n) icmaq(n).Visible = True icmaq(n).Top = 800 icmaq(n).Left = lft1 lft1 = lft1 + 2135 Load txtmaq(n) txtmaq(n).Visible = True

  • 62

    txtmaq(n).Top = 2300 txtmaq(n).Left = lft2 txtmaq(n).Caption = "Mquina " & n lft2 = lft2 + 2135 teste = tabela("maq") lout = lout + 1

    Else

    n = tabela("maq") Load icmaq(n) icmaq(n).Visible = True icmaq(n).Top = 3000 icmaq(n).Left = lft3 lft3 = lft3 + 2135 Load txtmaq(n) txtmaq(n).Visible = True txtmaq(n).Top = 4500 txtmaq(n).Left = lft4 txtmaq(n).Caption = "Mquina " & n lft4 = lft4 + 2135 teste = tabela("maq") lout = lout + 1

    End If End If tabela.MoveNext Loop

    End Sub Private Sub icmaq_Click(Index As Integer) Unload Maquina tmaq = Index tmaq = Format(tmaq, "000") Maquina.Show

    End Sub

  • 63

    Cdigo Mquin.frm

    VERSION 5.00 Begin VB.Form Maquina

    BorderStyle = 1 'Fixed Single Caption = "Maquina 01"

    ClientHeight = 9720 ClientLeft = 45 ClientTop = 345 ClientWidth = 12600 LinkTopic = "Form1"

    MaxButton = 0 'False

    MinButton = 0 'False ScaleHeight = 9720 ScaleWidth = 12600 StartUpPosition = 3 'Windows Default Begin VB.Frame produto5 Caption = "Produto 9" BeginProperty Font

    Name = "@Arial Unicode MS" Size = 8.25 Charset = 0 Weight = 700

    Underline = 0 'False Italic = 0 'False

    Strikethrough = 0 'False EndProperty Height = 1815 Index = 0 Left = 600 TabIndex = 70 Top = 5280 Width = 2655

  • 64

    Begin VB.TextBox Text27

    BackColor = &H8000000F&

    Height = 285 Left = 1560 Locked = -1 'True TabIndex = 74 Text = "100" Top = 360 Width = 975 End Begin VB.TextBox Text26 BackColor = &H8000000F&

    Height = 285 Left = 1560 Locked = -1 'True TabIndex = 73 Top = 720 Width = 975 End Begin VB.TextBox Text25 BackColor = &H8000000F&

    Height = 285 Left = 1560 Locked = -1 'True TabIndex = 72 Top = 1080 Width = 975 End Begin VB.CommandButton Command2 Caption = "Inventrio" Height = 255 Left = 120 TabIndex = 71

  • 65

    Top = 1440 Width = 975 End Begin VB.Label Label8 Caption = "Total do Produto:" Height = 255 Index = 8 Left = 120

    TabIndex = 77 Top = 1080

    Width = 1455 End Begin VB.Label Label6 Caption = "tens Vendidos:" Height = 255 Index = 8 Left = 120 TabIndex = 76 Top = 720

    Width = 1335 End Begin VB.Label Label4 Caption = "Quantidade inicial:" Height = 375 Index = 8 Left = 120 TabIndex = 75 Top = 360 Width = 1455 End End Begin VB.Frame produto5 Caption = "Produto 5"

  • 66

    BeginProperty Font

    Name = "@Arial Unicode MS" Size = 8.25 Charset = 0

    Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False

    EndProperty Height = 1815 Index = 3 Left = 600 TabIndex = 37 Top = 3480

    Width = 2655 Begin VB.CommandButton Command7 Caption = "Inventrio" Height = 255 Left = 120

    TabIndex = 66 Top = 1440

    Width = 975 End Begin VB.TextBox Text15 BackColor = &H8000000F&

    Height = 285 Left = 1560 Locked = -1 'True TabIndex = 52 Top = 1080 Width = 975 End Begin VB.TextBox Text14

  • 67

    BackColor = &H8000000F& Height = 285 Left = 1560 Locked = -1 'True TabIndex = 51 Top = 720

    Width = 975 End Begin VB.TextBox Text13 BackColor = &H8000000F&

    Height = 285 Left = 1560 Locked = -1 'True TabIndex = 50 Text = "100" Top = 360 Width = 975 End Begin VB.Label Label4 Caption = "Quantidade inicial:" Height = 375 Index = 4 Left = 120

    TabIndex = 40 Top = 360 Width = 1455 End Begin VB.Label Label6 Caption = "tens Vendidos:" Height = 255 Index = 4 Left = 120 TabIndex = 39

  • 68

    Top = 720 Width = 1335 End Begin VB.Label Label8 Caption = "Total do Produto:" Height = 255 Index = 4 Left = 120

    TabIndex = 38 Top = 1080

    Width = 1455 End End Begin VB.Timer Timer1

    Interval = 200 Left = 11280

    Top = 1200 End Begin VB.PictureBox Picture2

    BorderStyle = 0 'None Height = 975 Left = 0 Picture = "Mquina.frx":0000

    ScaleHeight = 975 ScaleWidth = 3615 TabIndex = 33 Top = 120

    Width = 3615 End Begin VB.CommandButton Command1 Caption = "Fechar"

    Height = 375 Left = 10680

  • 69

    TabIndex = 32 Top = 9240 Width = 1575 End Begin VB.PictureBox Picture1

    BorderStyle = 0 'None Height = 855 Left = 9960 Picture = "Mquina.frx":1280 ScaleHeight = 855 ScaleWidth = 2295 TabIndex = 31 Top = 240 Width = 2295 End Begin VB.Frame produto8 Caption = "Produto 8" BeginProperty Font

    Name