Você está na página 1de 9

1

Postos de Combustvel
Automao das Bombas
POR VICTORY FERNANDES

O processo de automao de postos de combustvel envolve diversas etapas, tais como automao da loja de convenincias, automao da pista, automao da retaguarda, controle de tanques de armazenamento e bombas de combustvel. Neste artigo so apresentadas informaes relevantes a respeito do desenvolvimento de um sistema de automao de bombas de combustvel. Atravs do qual possvel monitorar toda a atividade das bombas, bem como intervir remotamente nas mesmas em tempo real, efetuando presets de abastecimento em dinheiro e/ou volume, bloqueando e/ou liberando abastecimentos, alterando preos dos produtos, dentre outras funcionalidades. O sistema apresentado ser baseado no usa da tecnologia de equipamentos da Gilbarco do Brasil (www.gbr.com.br), utilizada em toda a rede de postos BR e de fundamental importncia para gesto de postos de combustveis. Componentes do Sistema Tipicamente, um sistema de bombas de combustvel automatizado segue um esquema semelhante ao apresentado na Figura 01. Nele, vemos que as bombas de combustvel so ligadas ao Concentrador Universal de Bombas CUB. O CUB o equipamento responsvel por centralizar as informaes e dados enviados pelas bombas e gerenciar a comunicao entre o servidor da aplicao e a pista. Neste exemplo, apresentamos as funcionalidades do CUB do fabricante Gilbarco. O CUB pea central no desenvolvimento de sistemas de automao de bombas de combustvel e por vezes constitui fator restritivo ao maior nmero de postos automatizados, principalmente devido ao seu relativo alto preo que, quando associado aos custos de compra e manuteno dos sistemas de software necessrios, podem invialibilizar este tipo de aplicao em postos de menor porte. O CUB ligado, via RS232, a um servidor de aplicao, de preferncia dedicado somente a esta funo, onde rodam o software de configurao do CUB distribudo pelo fabricante e o software de monitoria de bombas desenvolvido pela software house. Alguns cuidados devem ser tomados ao realizar este tipo de automao sob pena de prejuzos e/ou problemas srios no correto andamento das atividades na pista, como o caso, por exemplo, da importncia de se ter um servidor de aplicao dedicado. Uma vez configuradas as bombas para trabalhar sob superviso do CUB, caso o servidor de aplicao trave e/ou caia por algum motivo, todas as operaes da pista so interrompidas at que o sistema seja regularizado ou que as bombas sejam re-configuradas para operar de forma no supervisionada. O sistema pode tambm ter acesso via Internet, caso a software house disponibilize algum tipo de acesso remoto s informaes gerencias do posto. Tipicamente se faz necessrio desenvolver alguma interface deste tipo, pois a maioria dos proprietrios de postos de combustvel os administra remotamente, principalmente no caso especfico de postos de estrada e cidades do interior.

Figura 01: Esquema tpico de sistema de automao de bombas de combustvel

Ambiente de Desenvolvimento Para iniciar o desenvolvimento de uma aplicao de automao de bombas de combustvel, devese fazer o download do Software Development Kit - SDK do fabricante. No caso da Gilbarco, o SDK composto por um simulador de bombas de combustvel, uma ferramenta de configurao do CUB e um simulador do CUB. Para iniciar o desenvolvimento, necessrio instalar, configurar e executar o simulador de bombas de combustvel (PumpSim.exe), mostrado na Figura 02, em um computador que deve ser ligado, via RS232, ou computador de desenvolvimento. O simulador ser responsvel por enviar informaes ao computador de desenvolvimento, permitindo que o programador simule todas as operaes que podem ser executadas pelo frentista em uma bomba de combustvel real.

Figura 02: Simulador de Bombas de Combustvel da Gilbarco (PumpSim.exe)

Aps executar o simulador no computador auxiliar, deve-se executar a ferramenta de configurao do CUB (CUBConfig.exe) no computador de desenvolvimento, conforme mostrado na Figura 03. Esta ferramenta permite configurar um CUB real ou um CUB Simulado, indicando dentre outras coisas, quantas bombas de combustvel esto ligadas ao mesmo.

Figura 03: Ferramenta de configurao do CUB da Gilbarco (CUBConfig.exe)

Uma vez configurado para o modo CUB Simulado, deve-se executar o software Simulador de CUB (CubDemo.exe) na mquina de desenvolvimento. Surgir ento uma tela tipo MS-DOS conforme mostrado na Figura 04, iniciando assim a comunicao entre o servidor simulado de bombas de combustvel (PumpSim.exe) e o simulador de CUB (CubDemo.exe).

Figura 04: Simulador de CUB da Gilbarco (CubDemo.exe).

Quando o simulador de CUB executado, surge no canto inferior direito da tela, um cone para cada bomba, conforme configurao feita na ferramenta de configurao de CUB (CUBConfig.exe). Inicialmente, todas as bombas aparecem marcadas com um X, e apresentadas no estado Fora do Ar. medida que vai sendo estabelecida a comunicao entre o servidor simulado de bombas de combustvel (PumpSim.exe) e o simulador de CUB (CubDemo.exe), as bombas mudam de estado, conforme mostrado na Figura 05.

Figura 05: cones das bombas criados pelo Simulador de CUB da Gilbarco (CubDemo.exe).

Os estados das bombas podem ser vistos passando o mouse sobre cada um dos respectivos cones da barra do Windows. Internamente na aplicao de automao os estados constituem constantes retornadas pelo CUB, e devem ser declaradas conforme segue:
//--- Declarao de Constantes Globais de Estado das Bombas ---

4
const const const const const const const const const SFORADOAR SDISPONIVEL SABASTECENDO sFIMDEVENDA SBICOFORA SBOMBAFECHADA SPAUSA SDESCONHECIDO SAUTORIZADA = = = = = = = = = '0'; '1'; '2'; '3'; '5'; '6'; '8'; '7'; '9';

Faz-se necessrio que o desenvolvedor crie uma representao icnica para cada um dos estados que podem ser assumidos pela bomba dentro da aplicao, de forma a facilitar a representao dos mesmos para o usurio final. Na Figura 06 apresentamos uma legenda completa dos estados, o momento em que os mesmos ocorrem, bem como uma representao icnica proposta.

Figura 06: Legendas de estados assumidos pelas bombas.

Comunicao com o CUB A comunicao entre o CUB e aplicao de automao desenvolvida feita atravs das funes disponibilizadas pelo fabricante, presentes na CUB32.dll. Segue a lista das funes e suas respectivas declaraes:
//--- Declarao de Funes disponveis em CUB32.dll --function CUBAbrirBomba(NroBomba: LongInt): LongInt; stdcall; external 'CUB32.dll'; function CUBLerEstado(NroBomba: LongInt; Estado: Pointer): LongInt; stdcall; external 'CUB32.dll'; function CUBAutorizarBomba(NroBomba: LongInt): LongInt; stdcall; external 'CUB32.dll'; function CUBDesautorizarBomba(NroBomba: LongInt): LongInt; stdcall; external 'CUB32.dll'; function CUBFecharBomba(NroBomba: LongInt): LongInt; stdcall; external 'CUB32.dll'; function CUBContinuarAbastecimento(NroBomba: LongInt): LongInt; stdcall; external 'CUB32.dll'; function CUBSetarNivelDePreco(NroBomba: LongInt; NivelDePreco: LongInt): LongInt; stdcall; external 'CUB32.dll'; function CUBLerRTM(NroBomba: LongInt; var RealTimeMoney: LongInt): LongInt; stdcall; external 'CUB32.dll'; function CUBConfirmarLeituraVenda(NroBomba: LongInt): LongInt; stdcall; external 'CUB32.dll'; function CUBDescarregarDll: LongInt; stdcall; external 'CUB32.dll'; function CUBProgramarPreco(NroProduto: LongInt; NivelDePreco: LongInt; NovoPreco: LongInt): LongInt; stdcall; external 'CUB32.dll'; function CUBMapearProduto(NroBomba: LongInt; NroBico: LongInt; NroProduto: LongInt ) : LongInt; stdcall; external 'CUB32.dll'; function CUBAutorizarBico(NroBomba: LongInt; NivelDePreco: LongInt; NroBico: LongInt ): LongInt; stdcall; external 'CUB32.dll'; function CUBLerTotais(NroBomba: LongInt; NroProduto: LongInt; NivelDePreco: LongInt; EncerranteLitros: Pointer; EncerranteDinheiro: Pointer; var Preco: LongInt): LongInt; stdcall; external 'CUB32.dll'; function CUBLerVenda(NroBomba: LongInt; var NroProduto: LongInt; var NivelDePreco: LongInt; var Mililitros: LongInt; var Dinheiro: LongInt; var Preco: LongInt ): LongInt; stdcall; external 'CUB32.dll'; function CUBPresetLitros(NroBomba: LongInt; NivelDePreco: LongInt; NroBico: LongInt; CentiLitrosMaximo: LongInt ): LongInt; stdcall; external 'CUB32.dll'; function CUBPresetDinheiro(NroBomba: LongInt; NivelDePreco: LongInt; ValorMaximo: LongInt ): LongInt; stdcall; external 'CUB32.dll'; function CUBLerPaginaTag( NroTag : LongInt; NroPagina: LongInt; DataBuffer: Pointer) : LongInt; stdcall; external 'CUB32.dll';

Dentre as funes da CUB32.dll destacam-se: Ler Estado da Bomba (CUBLerEstado): Esta funo retorna o estado atual de todas as bombas ou de uma bomba especfica.
function CUBLerEstado(NroBomba: LongInt; Estado: Pointer): LongInt; stdcall; external 'CUB32.dll';

Parmetros: long NroBomba char *Estado

{recebe valor de de 0 a 99} {Buffer alocado pelo PDV onde ser informado o estado solicitado}

Retorno: 0 = O CUB Server recebeu a ordem corretamente. 1 = Erro nos parmetros. O nmero de bomba incorreto. 2 = Erro de comunicao entre a dll e o servidor. Outro = Cdigo de erro retornado pelo Windows. Ver winsock2.h ou winerror.h. Nota: Se NroBomba = 0, ser informado o estado de todas as bombas, sendo cada byte o estado de uma delas. Se NroBomba <> 0, s ser informado o estado da bomba solicitada. Leitura de Venda das Bombas (CUBLerVenda): Esta funo deve ser utilizada quando a bomba est em estado de FIMDEVENDA (aps o fim de um abastecimento na pista). Aps ter chamado esta funo e gravados os dados na base de dados do software de automao de bombas, deve ser chamada a funo CUBConfirmarLeituraVenda para que a bomba fique livre para um novo abastecimento.
function CUBLerVenda(NroBomba: LongInt; var NroProduto: LongInt; var NivelDePreco: LongInt; var Mililitros: LongInt; var Dinheiro: LongInt; var Preco: LongInt ): LongInt; stdcall; external 'CUB32.dll';

Parmetros: long NroBomba long *NroProduto long *NivelPreco long *Mililitros long *Dinheiro long *Preo

{recebe valor de de 1 a 99} {pointer onde ser informado o cdigo de produto} {pointer onde ser informado o nvel de preo} {pointer onde ser informada o volume do abastecimento} {pointer onde ser informado o valor do abastecimento} {pointer onde ser informado o preo unitrio do produto}

Retorno: 0 = CUB Server recebeu a ordem corretamente. 1 = N de bomba incorreto ou bomba no est em estado FIMDEVENDA. 2 = Erro de comunicao entre a dll e o servidor. Outro = Cdigo de erro retornado pelo Windows. Ver winsock2.h ou winerror.h.
Leitura da Venda em Tempo Real

Esta funo permite que o usurio veja na tela do computador os valores do abastecimento que esteja acontecendo na pista. O valor retornado no totalmente real-time. Existem vrios atrasos envolvidos no processo de comunicao que fazem com que o valor no seja totalmente preciso, mas a aproximao muito boa.
5

function CUBLerRTM(NroBomba: LongInt; var RealTimeMoney: LongInt): LongInt; stdcall; external 'CUB32.dll';

Parmetros: long NroBomba long *RTM

{recebe valor de de 1 a 99} {pointer onde ser devolvido o ultimo valor lido da bomba}

Retorno: 0 = CUB Server recebeu a ordem corretamente. 1 = Erro nos parmetros. Nmero de bomba errado ou bomba no configurada. 2 = Erro de comunicao entre a dll e o servidor. Outro = Cdigo de erro retornado pelo Windows. Ver winsock2.h ou winerror.h. Tipicamente, para implementar o tratamento mnimo da comunicao com o CUB e fazer a automao das bombas, necessrio iniciar um novo projeto, adicionar um componente TTimer e implementar o seguinte algoritmo: 1. L o estado de todas as bombas juntas (CUBLerEstado) 2. Faz um loop para processar o estado lido de cada uma das bombas 3. Caso o estado da bomba tenha mudado em relao ao estado anterior 3.1. Atribue o novo estado bomba atualizando as representaes visuais 3.2. Caso o novo estado = FIMDEVENDA 3.2.1. Faz a leitura das informaes da venda (CUBLerVenda) 3.2.2. Confirma a leitura da venda para o CUB (CUBConfirmarLeituraVenda) 3.2.3. L os encerrantes de dinheiro e litros da bomba (CUBLerTotais) 3.2.4. Atualiza a tela e/ou a base de dados do sistema Uma vez implementado o algoritmo, podemos caprichar na interface visual do sistema, de forma a obter um resultado semelhante ao mostrado na Figura 07, onde o usurio capaz de visualizar o estado de todas as bombas e executar todas as funes disponibilizadas pela SDK de forma muito fcil e intuitiva.

Figura 07: Aplicao completa de automao de bombas de combustvel da TKS Software.

Aplicaes como a mostrada na Figura 07 permitem o controle completo da pista a partir de uma central, que pode estar localizada, por exemplo, na loja de convenincias do posto. O sistema Tk-Posto O aplicativo Tk-Posto, desenvolvido pela empresas TKS Software (www.igara.com.br) mostrado na Figura 07 implementa grande parte dos conceitos apresentados neste artigo em uma soluo comercial de automao de postos de combustveis que pode ser adquirida com seu cdigo fonte completo atravs do site http://www.igara.com.br/produto.php?cod_produto=2 O sistema implementa as seguintes funcionalidades:
Monitoria e controle completo do bico de bomba Monitoria em tempo real das vendas da pista Preset da quantidade de litros a ser vendida ao cliente Preset do valor em dinheiro a ser vendido ao cliente

Algumas de suas pricipais telas so:


Cadastro de Produtos Cadastro de Usurios Cadastro de Clientes Superviso de Pista Preset do valor em dinheiro a ser vendido ao cliente Preset do valor em litros a ser vendido ao cliente Acompanhamento em tempo real da venda da bomba Listagem de Encerrantes

possvel ainda se ter acesso a vdeos que demonstram a operao do sistema, documento de apresentao detalhada do produto, e estudo de caso do aplicao do sistema em posto de combustveis localizado na cidade de Camaari Bahia. Maiores informaes atravs do site: http://www.igara.com.br/produto.php?cod_produto=2

Questes polticas envolvendo a automao de postos no Brasil Atravs de funes de preset em valor e volume, h muito possvel tecnicamente que os postos sejam operados com nmero mnimo de frentistas ou at mesmo sem eles, como ocorre na grande maioria dos pases desenvolvidos. No entanto, por motivos populistas, protecionistas ou at mesmo eleitoreiros, o Brasil insiste em resistir ao progresso, impedindo por lei que os postos de combustveis adotem tal tipo de tecnologia de forma a se modernizar, reduzindo seus custos operacionais e entrando em sintonia com as tendncias mundiais. Este tipo de tecnologia deve ser usado somente para fins de automao, superviso e controle da pista e seus abastecimentos, no podendo ser usado para mudana do conceito de atendimento dos postos. Posturas intervencionistas como estas dificultam a popularizao das tecnologias e consequentemente o crescimento de todos os setores da economia ligados a ela. Sob a pretensa justificativa de proteo classe frentista, o estado: Onera os proprietrios de postos e consequentemente os consumidores finais, que no final das contas pagam pelos altos custos operacionais dos postos. Dificulta diretamente o crescimento de toda uma cadeia de pesquisa e desenvolvimento de alta tecnologia em hardware e software que, importante ressaltar, tambm gera emprego e renda e base slida para o crescimento e desenvolvimento de um pas. Questes como estas devem ser resolvidas atravs de polticas de educao, qualificao e recolocao de mo-de-obra. Pois a nossa diferena, quando comparados aos demais pases, no est na nossa capacidade tcnica de desenvolvimento e aplicao da tecnologia, mas sim no fato de que os pases desenvolvidos, antes mesmo de automatizar seus postos, descobriram atravs da

educao, que o crescimento e desenvolvimento de um pas em uma economia de mercado globalizada, se d com o mnimo possvel de interveno do estado. Implantao do sistema O processo de implantao do sistema no posto de combustvel em questo no depende apenas da implementao e instalao do software desenvolvido, mas tambm de um processo de cons ultoria onde devem ser verificados alguns dos seguintes pontos: Verificao de Compatibilidade dos modelos instalados: Infelizmente nem todas as marcas e modelos de bombas podem ser utilizadas com os CUBs especificados, sendo assim faz-se necessrio um levantamento das marcas e modelos instalados no posto de combustvel em questo, que deve ser encaminhado ao fabricante do CUB para avaliao de compatibilidade. Instalao das placas de comunicao: Eventualmente bombas compatveis com o sistema de automao podem, no entanto estar desprovidas de placas de comunicao, sendo assim necessria a aquisio e instalao das mesmas. O processo de instalao das mesmas depende de marca e modelo e deve ser verificado junto ao fabricante. Configurao das Bombas: As bombas normalmente no esto por padro configuradas para operar em modo supervisionado, mesmo quando j estejam com suas placas de comunicao instaladas faz-se necessrio configurar seus softwares aplicativos para reconhecer e enviar dados para o CUB em questo. O processo de configurao das mesmas depende de marca e modelo e deve ser verificado junto ao fabricante. Instalao de Tubos Flexveis e Unidades Seladoras: As normas de segurana para postos de combustveis impem inmeras restries relativas ao uso de recursos eltricos e eletrnicos na regio das bombas, sendo assim a instalao dos cabos de dados deve ser feita dentro dos padres normativos utilizando tubos e unidades seladoras apropriadas. Estes equipamentos so indispensveis segurana do processo e devem compor a proposta de preo da instalao de harware do sistema. Passagem de Passagem de Cabos de Dados e Dutos Subterrneos e Areos: Ao se automatizar postos de combustveis comum que a pista no esteja devidamente preparada para receber o cabeamento necessrio ao processo de automao das bombas, sendo por vezes necessria a passagem de dutos subterrneos e areos para o cabeamento. Estes itens tambm devem compor a proposta de preo da instalao de harware do sistema. Energia estabilizada: Um dos grandes problemas encontrados na instalao de sistemas em postos de combustvel, principalmente os de beira de estrada, a m qualidade do fornecimento de energia eltrica, que afeta diretamente a correta operao dos sistemas computaciona is, tais como os bancos de dados, que podem ser facilmente corrompidos em caso de queda de energia. Sugerimos, portanto o uso indiscriminado de no-breaks e estabilizadores que devem ser includos ao compor a proposta de preo da instalao de harware do sistema. Treinamento: de fundamental importncia o devido treinamento do pessoal envolvido na operao do sistema no posto, principalmente no que diz respeito aos frentistas que na maioria dos casos no possuem conhecimento aprofundado de informtica e precisam de maior acompanhamento para correta operao do mesmo. Manuteno: de fundamental importncia a devida manuteno do sistema, uma vez que a maioria das bombas ao ser configurada para o modo de superviso com CUB, no funcionam caso o mesmo no esteja funcionando corretamente, sendo necessrio reconfigurar toda a pista para o modo no supervisionado pelo CUB caso haja algum problema com o equipamento (por exemplo falta de energia). Este o tipo de procedimento que causa bastante transtorno e deve ser evitado ao mximo.

Concluso Este artigo serve como uma rpida introduo ao processo de automao de bombas de combustvel, cobrindo de forma geral os principais conceitos e ferramentas envolvidas no processo de implementao deste tipo de soluo. A aplicao dos conceitos apresentados permite o desenvolvimento de solues completas com diversos recursos avanados, criados sob medida para as necessidades deste nicho de mercado. No entanto o desenvolvedor deve estar pronto para encarar um mercado alt amente fechado que dificulta e muito, a entrada de novas solues. Principalmente no que diz respeito s bandeiras, estas procuram evitar que seus filiados utilizem softwares de terceiros que no aqueles j previamente acordados com a bandeira em questo. Sistemas como estes envolvem o correto funcionamento e operao de diversos dispositivos e por conseqncia devem estar associados a contratos de manuteno, pois os postos normalmente no dispem de mo-de-obra especializada para tanto. No entanto um problema muito importante a ser contornado pelo desenvolvedor, e que dificulta bastante a entrada neste mercado, so as distncias fsicas, principalmente quando se trata de postos de estrada ou cidades do interior. importante ressaltar, no entanto, que o desenvolvimento e conseqente implantao do sistema em um cliente final requer, dentre outras coisas, conhecimentos a respeito da legislao normativa especfica de postos de combustvel, bem como conhecimentos tcnicos sobre a interface e configurao as bombas, tpicos estes no abordados neste artigo. Maiores informaes podem ser obtidas junto ao fabricante no site www.gbr.com.br.
Victory Fernandes Engenheiro Mestrando em Redes de Computadores, e desenvolvedor scio da TKS Software - Solues de Automao e Softwares Dedicados. Pode ser contatado em victory@igara.com.br, ou atravs dos sites www.igara.com.br .

Você também pode gostar