Вы находитесь на странице: 1из 78

Sistema de Monitorizao de

Produo em Linha

Marco Aurlio Gonalves Gomes

Departamento de Engenharia Electrotcnica


Instituto Superior de Engenharia do Porto
2013

Este relatrio satisfaz, parcialmente, os requisitos que constam da Ficha de Unidade


Curricular de Projecto/Estgio, do 3 ano, da Licenciatura em Engenharia Electrotcnica e
de Computadores

Candidato: Marco Aurlio Gonalves Gomes, N 1080502, 1080502@isep.ipp.pt


Orientao cientfica: Nuno Alexandre Neto Dias, nnd@isep.ipp.pt

Departamento de Engenharia Electrotcnica


Instituto Superior de Engenharia do Porto
11 de setembro de 2013

Agradecimentos
Agradeo a todos os que sempre me apoiaram e ajudaram nesta caminhada difcil.

Agradeo minha famlia, em especial aos meus pais que sempre me ajudaram e
aconselharam ao longo de todo este tempo.

Agradeo ao Engenheiro Nuno Dias pela sua disponibilidade em todas as alturas que
precisei e por sempre me ter ajudado a melhorar as minhas capacidades.

Agradeo minha entidade empregadora por sempre me ter ajudado a conciliar a parte
laboral com a parte escolar e permitisse que pode-se frequentar o ISEP e o curso sem
sobrecarregar

os

meus

pais.

ii

Resumo
O projecto visa controlar a quantidade de barris produzidos atravs do nmero de
paletes concludas aps o accionamento de um boto de presso, que ser partilhado
tambm com uma impressora de etiquetas de identificao de palete.
Dado o layout da linha de enchimento, necessria uma comunicao entre a rea de
paletizao (atravs do boto de presso) e rea de enchimento (atravs do computador).
A forma de comunicao usada entre o sistema do boto de presso e o computador
atravs do padro de comunicao RS-485.
No computador presente na rea de enchimento existe uma aplicao web que
constituda por uma base de dados implementada num servidor de base de dados MySQL e
por uma aplicao servidora alojada num servidor apache XAMPP; no computador existe
tambm uma aplicao Windows responsvel pelo controlo da produo, ou seja, processa
o sinal vindo do boto de presso e actualiza a informao acerca da encomenda na base de
dados.
A base de dados guarda informao acerca da produo (nmero de paletes
produzidas, ordem de encomenda, hora e data de actualizao da base de dados),
informao acerca dos acessos relativos a administradores e tcnicos e informao acerca
dos parmetros de configurao da aplicao Windows.
Foram depuradas todas as funcionalidades de forma a garantir o seu funcionamento
correcto.

Palavras-Chave
RS-485,Aplicao Web, MYSQL, Servidor Apache, Aplicao Windows.

iii

iv

Abstract
This project emerged from the idea of improving the production control of a
determinated filling barrels line of a company.
The project will control the amount of barrels produced through the number of
completed pallets when driving a push button, which is also shared with a tags pallet
printer identification.
Given the layout of the filling line, communication is required between the area of the
pushbutton (palletizing area) and the area of the computer (filling area).
The study of the necessary tools for this system showed that the best form of
communication between the pushbutton and the computer is via the RS-485
communication mode.
In the computer present in the filling area there is a web application, comprising a
database server implemented in a MySQL database and a server application hosted in an
Apache server XAMPP; in the computer there is also a Windows application responsible
for checking the production that is, processes the signal coming from the pushbutton and
updates the information about the order in the database.
The database stores information about the production (number of pallets produced,
order number, time and date of the database update), information about access for
administrators and technical operator and information about the configuration parameters
of the Windows application.
All the features were debugged to ensure proper operation.

Keywords
RS-485,Web

Application,

MYSQL,
v

Apache,

Windows

Application.

vi

ndice
AGRADECIMENTOS ..................................................................................................................................... I
RESUMO ....................................................................................................................................................... III
ABSTRACT .....................................................................................................................................................V
NDICE ........................................................................................................................................................ VII
NDICE DE FIGURAS ...................................................................................................................................X
NDICE DE TABELAS .............................................................................................................................. XII
ACRNIMOS............................................................................................................................................. XIV
1.

2.

INTRODUO .................................................................................................................................... 17
1.1.

CONTEXTUALIZAO ..................................................................................................................... 17

1.2.

OBJECTIVOS .................................................................................................................................... 18

1.3.

CALENDARIZAO.......................................................................................................................... 19

1.4.

ORGANIZAO DO RELATRIO ....................................................................................................... 19

ESTADO DA ARTE ............................................................................................................................. 21


2.1.

SOLUES DE GESTO EXISTENTES PARA EMPRESAS ...................................................................... 21

2.2.

COMUNICAO INDUSTRIAL ........................................................................................................... 22

2.3.

NORMAS DE SEGURANA DE EQUIPAMENTOS INDUSTRIAIS ............................................................. 24

2.4.

LINGUAGENS DE PROGRAMAO INFORMTICA ............................................................................. 25

2.4.1.

HTML .................................................................................................................................... 26

2.4.2.

PHP ....................................................................................................................................... 27

2.4.3.

CSS ........................................................................................................................................ 27

2.4.4.

JavaScript.............................................................................................................................. 27

2.4.5.

Extensible Markup Language................................................................................................ 28

2.4.6.

SQL........................................................................................................................................ 28

2.4.7.

Visual Basic........................................................................................................................... 28

2.5.
3.

MICROCONTROLADORES ................................................................................................................ 29

IMPLEMENTAO DO SISTEMA.................................................................................................. 30
3.1.

DESCRIO DA SOLUO GLOBAL A IMPLEMENTAR ....................................................................... 30

3.2.

MDULO EMISSOR .......................................................................................................................... 32

3.2.1.

Hardware .............................................................................................................................. 32

3.2.2.

Software ................................................................................................................................ 35

3.3.

MDULO RECEPTOR ........................................................................................................................ 38

3.4.

APLICAO WINDOWS ................................................................................................................... 41

3.5.

APLICAO WEB ............................................................................................................................. 44

vii

3.5.1.

Servidor SQL ......................................................................................................................... 44

3.5.2.

Servidor Apache..................................................................................................................... 46

3.5.3.

Pgina PHP ........................................................................................................................... 47

3.6.
4.

5.

MDULO EMISSOR E RECEPTOR ....................................................................................................... 52

TESTES E RESULTADOS .................................................................................................................. 53


4.1.

COMUNICAO ENTRE O MDULO EMISSOR E O MDULO RECEPTOR .............................................. 53

4.2.

ACTUALIZAO DE INFORMAO NA APLICAO WINDOWS .......................................................... 53

4.3.

GERAO DO GRFICO DO DESEMPENHO ........................................................................................ 54

4.4.

GERAO DE RELATRIOS .PDF E .CSV ......................................................................................... 55

CONCLUSES E TRABALHO FUTURO ........................................................................................ 57

REFERNCIAS DOCUMENTAIS .............................................................................................................. 60


ANEXO A. DIAGRAMA DE BLOCOS DO PIC16F688 ........................................................................... 63
ANEXO B. DIAGRAMA DE BLOCOS DO FT232RL .............................................................................. 64
RELATRIO DESEMPENHO, FORMATO .PDF (DATA INICIO/FIM: 13-06-30/ 13-07-05) ........... 65
ANEXO C. FACES PCBS ............................................................................................................................ 68
ANEXO D. PGINA PHP (FICHEIROS) ................................................................................................... 70
ANEXO E. APLICAO WINDOWS (INSTALADOR) .......................................................................... 71
ANEXO F. APLICAO WINDOWS (FICHEIROS) .............................................................................. 72
HISTRICO .................................................................................................................................................. 74

viii

ix

ndice de Figuras
Figura 1- Representao da rea afecta ao enchimento de barris ....................................... 17
Figura 2 Diagrama representativo de um sistema ERP [33] ............................................ 22
Figura 3 - Diagrama protocolo Modbus .............................................................................. 23
Figura 4- Tipo de conexes Profibus .................................................................................. 23
Figura 5- Exemplo de um sistema ERP genrico ................................................................ 26
Figura 6- Diagrama soluo global ..................................................................................... 30
Figura 7- Caixa de proteco do interruptor, unidade de interruptor e unidade led de
sinalizao .................................................................................................................... 32
Figura 8- Pinout PIC16F688 ............................................................................................... 32
Figura 9- Pickit 2 ................................................................................................................. 33
Figura 10- Esquema de ligaes Pickit 2 ............................................................................ 33
Figura 11- MAX485; 1- Sinal sada TTL, 2 e 3 Seleco modo escrita/leitura, 4-Sinal
entrada, 6 e 7- Sinal RS-485 ........................................................................................ 34
Figura 12- Relao entre a velocidade de transmisso e distancia (RS-485)...................... 34
Figura 13- Esquemtico do mdulo emissor ....................................................................... 35
Figura 14- Placa de circuito impressa finalizada (mdulo emissor) ................................... 35
Figura 15- FT232RL; 1- Sada de dados, 5- Entrada de dados, 15-D+, 16-D-, 22- led
entrada de dados, 23- led de sada de dados ................................................................ 39
Figura 16- Esquemtico do mdulo receptor (FT232RL) ................................................... 40
Figura 17- Placa de circuito impressa finalizada (mdulo receptor) .................................. 40
Figura 18- Diagrama representativo da estrutura do programa........................................... 41
Figura 19- Janela principal do programa............................................................................. 42
Figura 20- Janela de identificao de utilizador.................................................................. 43
Figura 21- Janela Alterar Encomenda .............................................................................. 43
Figura 22- Janela Definir Porta COM .............................................................................. 44
Figura 23- Opes instalao servidor XAMMP ................................................................ 46
Figura 24- Servidor Apache XAMMP ................................................................................ 47
Figura 25- Diagrama da aplicao servidora....................................................................... 47

Figura 26- Pgina web do Administrador............................................................................ 49


Figura 27- Pgina web do Tcnico ...................................................................................... 51
Figura 28- Mdulo Emissor esquerda com o respectivo transformador de alimentao e
mdulo receptor direita. ............................................................................................ 52
Figura 29- Grfico representativo do desempenho dos ltimos 3 dias (em relao ao dia
actual) ........................................................................................................................... 54
Figura 30- Grfico representativo do desempenho dos ltimos 3 dias (em relao ao dia 1307-09) ........................................................................................................................... 55
Figura 31- Ficheiro .CSV aberto em Excel (data inicio/fim: 13-06-30/ 13-07-05) ............. 55

xi

ndice de Tabelas
Tabela 1- Calendarizao do projecto ................................................................................. 19
Tabela 2- Comparao protocolos de comunicao ............................................................ 24
Tabela 3- Comparao entre Norma NEMA e IP ............................................................... 24
Tabela 4- Classificao NEMA Interior.............................................................................. 25
Tabela 5- Estrutura da tabela da produo e o tipo de valor armazenado ........................ 45
Tabela 6- Estrutura da tabela da porta_serie_dados e o tipo de valor armazenado .......... 45
Tabela 7- Fiabilidade de comunicao entre mdulos ........................................................ 53

xii

xiii

Acrnimos
RS-485 - Recommended Standard;

ANSI - American National Standards Institute;

ARM - Advanced RISC Machine;

CSS - Cascading Style Sheets;

DRP - Distribution Requirements Planning;

EIA - Eletronics Industries Association;


EPI Equipamento Proteco Individual;

ERP - Enterprise Resource Planning;

FPGA - Field-Programmable Gate Array;

html - HyperText Markup Language;

http - Hypertext Transfer Protocol;

httpd - Hypertext Transfer Protocol Daemon;


I/O Input/Output;

ICSP - In Circuit Serial Programming;

xiv

ISO - International Organization for Standardization;

LED - Light-Emitting Diode;

NEMA - National Electrical Manufacturers Association;

PHP - Hypertext Preprocessor ou inicialmente Personal Home Page;


PNP Plug And Play;
RDF Resource Description Framework;

RISC - Reduced Instruction Set Computer;

SGML - Standard Generalized Markup Language;

SQL - Structured Query Language;


SVG Scalable Vector Graphics;

TIA - Telecommunications Industry Association;

TTL - Transistor-Transistor Logic;

USART - Universal Synchronous Asynchronous Receiver Transmitter;


USB Universal Serial Bus;
VB Visual Basic;
XHTML eXtensive HyperText Markup Language;
XML eXtensible Markup Language;
xv

xvi

1. INTRODUO
1.1.

CONTEXTUALIZAO

O desenvolvimento deste projecto prende-se com o facto de que cada vez mais a
gesto da produo e de stocks numa empresa ser uma parte fundamental do seu
funcionamento e como tal, so precisas ferramentas que permitam o controlo das
quantidades que so produzidas e como conseguinte a quantidade de produto presente em
armazm para posterior venda.

Figura 1- Representao da rea afecta ao enchimento de barris


17

A Figura 1 representa a rea afecta linha de enchimento de barris de uma certa marca
de bebidas. Esta rea dividida em duas zonas: uma zona de enchimento onde est um
tcnico que opera uma mquina de enchimento de barris, e uma zona de paletizao onde
esto dois tcnicos que controlam a paletizao de barris, bem como o fornecimento de
caixas de embalamento dos barris. Na paletizao dos barris, aps a palete estar concluda,
os tcnicos imprimem uma etiqueta de identificao de palete atravs do accionamento de
um boto de presso que est ligado a uma impressora. O tcnico responsvel pelo
enchimento, dada a forma como as salas esto divididas, no tem como comunicar com os
tcnicos responsveis pela paletizao. Dado o ritmo de enchimento de barris e a variao
de rendimento das mquinas, torna-se difcil para o enchedor (que no tem informao das
paletes produzidas) saber se o ritmo a que est a decorrer o enchimento o mais favorvel
ao cumprimento da encomenda programada.
Em termos de gesto desta linha de enchimento no existe um controlo imediato da
quantidade de barris que so produzidos, dificultando aos gestores prever o desempenho do
enchimento e o estado de cada encomenda.
Neste caso e para o objectivo do projecto, interessa saber que tipo de barril est a ser
produzido, pois este influencia a quantidade de barris que cada palete contm, portanto
uma palete com barris de 5 litros contm 72 unidades e uma palete com barris de 20 litros
contm 15 unidades. No layout da linha de enchimento, a zona de enchimento dos barris
est separada da zona de palatizao devido as questes microbiolgicas.

1.2.

OBJECTIVOS

O objectivo final e principal deste projecto ser monitorizar a produo de um


determinado produto que desenvolvido em linha, contando as unidades produzidas e
disponibilizando atravs dum interface informtico as quantidades parciais e totais de
produo.
Para atingir o sucesso tero que ser cumpridos os seguintes objectivos parciais:

Criar um interface de comunicao entre um actuador e um computador;

Criar a aplicao principal que gere o tipo de produo, comunica com a


base de dados e com o actuador;

Criar uma base de dados;

Desenvolver pgina web dinmica;

18

1.3.

Garantir que o sistema estvel;

Elaborar um relatrio e uma apresentao sobre o projecto;

CALENDARIZAO

A melhor forma de se conseguir desenvolver este projecto de forma eficiente fazer


inicialmente uma planificao que relacione os objectivos a alcanar com o tempo que
estes demoraro a ser concretizados.
A seguir demonstra-se a calendarizao estabelecida para este projecto.
Tabela 1- Calendarizao do projecto
Id
1
2
3
4
5
6
7
8
9

Tarefas
Maio Junho
Pesquisa sobre funcionamento do sistema
Pesquisa e estudo dos componentes
Teste dos mdulos constituintes do sistema
Programao do microcontrolador
Desenvolvimento das PCBs
Teste das PCBs
Desenvolvimento da aplicao Windows
Desenvolvimento da aplicao Web
Elaborao do relatrio e apresentao

1.4.

Julho Agosto Setembro

ORGANIZAO DO RELATRIO

O relatrio est organizado em cinco captulos. No primeiro captulo feita uma


introduo ao projecto contextualizando o tema, apresentando o objectivo e a
calendarizao do projecto. No segundo captulo desenvolvido o tema deste projecto
apresentando os mecanismos de gesto disponveis para as empresas bem como todas as
solues possveis de adoptar neste projecto. No terceiro so desenvolvidas as opes
tomadas descrevendo todos constituintes do trabalho. No quarto captulo so apresentados
os resultados obtidos aps a colocao em prtica da soluo. No quinto captulo so
apresentadas as concluses e propostas melhorias futuras a aplicar no projecto.

19

20

2. ESTADO DA ARTE
2.1.

SOLUES DE GESTO EXISTENTES PARA EMPRESAS

Neste momento no mercado existem ferramentas de controlo de produo muito


sofisticadas que englobam no s a rea da produo, mas a rea da logstica e outras reas
afectas rea de produo.
O modelo mais usado nas empresas actualmente o DRP II [1], que embora seja um
modelo dispendioso e moroso de implementar, a seu tempo revela-se uma ferramenta
fulcral para o funcionamento de uma empresa. Este modelo permite gerir programas de
produo, stocks de matrias-primas, stocks de produto final, controlo de tempos de
produo, adequao e alterao dos programas de produo de acordo com a produo da
linha em tempo real, previses de tempo necessrio para cumprimento de encomendas.
No mercado existem programas informticos que ajudam na implementao deste
modelo denominados ERPs (Figura 2). Os mais conhecidos so o SAP [2], BAAN [32] e
Navision [3].
O funcionamento destes programas pode-se descrever como sendo uma relao de
inputs/outputs (I/O), onde no caso da rea de produo, pode-se estabelecer os pares
matrias-primas/produto final, quantidade produto final necessrio/ quantidade produto
final produzido, entre outra relaes.

21

Na rea logstica os programas controlam as matrias-primas necessrias para cumprir


a encomenda actual e as encomendas que se seguem presentes em armazm, aqui pode-se
estabelecer um mtodo de aprovisionamento peridico ou mtodo de aprovisionamento
baseado nas quantidades disponveis; controlam o produto final presente em armazm, ou
seja, informam o local em que se encontra o produto final referente a certa encomenda.
Estes programas disponibilizam tambm muitas informaes sejam por forma de
grficos, tabelas ou outros mecanismos usados normalmente em anlise estatstica,
contribudo assim para a reduo do tempo despendido pelos gestores na anlise dos
resultados.

Figura 2 Diagrama representativo de um sistema ERP [33]

2.2.

COMUNICAO INDUSTRIAL

Em ambiente industrial, desde que a automao comeou a ser aplicada produo


foram surgindo ao longo dos anos mquinas cada vez mais complexas e associadas a si
mecanismos de comunicao mais sofisticados, originando mais fiabilidade e velocidade
nas transmisses de informao.
Ao longo do tempo foram surgindo vrios protocolos de comunicao tais como
Modbus [4], Profibus [5], Interbus, CIP, CC-Link, BACnetque se baseiam nos padres
de comunicao RS-232, RS-422 e RS-485 [17]. Actualmente os protocolos de
comunicao mais usados so o Modbus e o Profibus.

22

Figura 3 - Diagrama protocolo Modbus

Figura 4- Tipo de conexes Profibus

O protocolo Modbus aceita o padro de comunicao RS-232 (Recommended


Stantard), RS-485 e ethernet. Este protocolo baseia-se no modo de comunicao mestreescravo, ou seja, a estao mestre envia mensagens de pedido de dados e a estao
escrava envia a mensagem com os dados pedidos (Figura 3).
O protocolo Profibus aceita o padro de comunicao RS-485, IEC 61158-2 e fibra
ptica. Existem trs verses diferentes deste protocolo resultantes da sua evoluo sendo
que a ltima denominada Profibus-PA (Process Automation). O padro de comunicao
mais utilizado o RS-485 necessitando apenas de um cabo blindado com dois fios
entrelaados (Figura 4)

Como j foi referido os protocolos usam diferentes padres de comunicao. RS


representa uma srie de padres de comunicao entre equipamentos, criado por um
comit denominado Electronic Industries Association (EIA). O padro RS-232 surgiu em
meados da dcada de 60 tendo sido sujeita a vrias actualizaes ao longo dos anos, sendo
que a mais recente foi em 1991 (EIA232E); tem como principais contras a comunicao
entre apenas dois equipamentos e a distncia entre estes ser pequena para uma
comunicao fivel. O padro RS-422 sofreu a sua ltima reviso em 1994 e apresenta
como principal diferena em relao ao padro RS-232 a possibilidade de enviar dados
para mais que um receptor bem como a distncia entres estes poder ser maior. O padro
RS-485 encontra-se actualmente sobre alada da Telecommunications Industry Association

23

(TIA) e permite mltiplos emissores e receptores, distncias entre equipamentos


relativamente elevadas e recomendado, entre outros, para ambientes susceptveis de ter
rudo elctrico.
Na Tabela 2 apresentada uma comparao entre os trs padres de comunicao.
Tabela 2- Comparao protocolos de comunicao
Ligao
Num. Dispositivos
Modo Comunicao
Distncia Mxima
Taxa transmisso mxima

2.3.

RS-232
Ponto-a-ponto
1 Transmissor
1 Receptor
No
diferencial
15m a
19.2Kbps
1Mbps

RS-422
Multiponto
1 Transmissores
10 Receptores

RS-485
Multiponto
32 Transmissores
32 Receptores

Diferencial

Diferencial

1200m a
100Kbps
10Mbps

1200m a 100Kbps
10Mbps

NORMAS DE SEGURANA DE EQUIPAMENTOS INDUSTRIAIS

Associados aos equipamentos industriais, sejam mquinas ou mesmo equipamentos de


proteco individual (EPI), vm normas que identificam a proteco e os cuidados a ter
com o manuseamento destes. Nas empresas actuais, a segurana no trabalho apresenta-se
como uma das prioridades a ter em conta, pois esta leva a que a mdio/longo prazo sejam
evitados custos tanto materiais como humanos.

Tabela 3- Comparao entre Norma NEMA e IP


NEMA

3R

3S

4,4X

6,6P

12,12K

13

IP

IP20

IP21

IP54

IP24

IP54

IP56

IP52

IP67

IP52

IP54

Para componentes industriais as normas [6] a ter em conta so a IP, IK e National


Electrical Manufacturers Association (NEMA). A norma IP especfica a proteco de certo
equipamento elctrico ou mecnico contra a intruso de qualquer matria, lquida ou
slida. A norma IK especfica a capacidade de um equipamento aguentar impactos
mecnicos ou quedas. Na Amrica do Norte os equipamentos so classificados segundo a
norma NEMA [Tabela 4], que j engloba a norma IP e IK [Tabela 3].

24

Tabela 4- Classificao NEMA Interior


1

4X

6P

11

12

12X

13

Contacto acidental com equipamento

Queda de poeira

Poeiras, moscas

Rega, salpicos de gua

Queda de lquidos

leo, liquido arrefecimento


leo, spray arrefecimento

Agentes corrosivos

Submerso temporria

Submerso prolongada

2.4.

LINGUAGENS DE PROGRAMAO INFORMTICA

Um sistema ERP (Figura 5) pode ser um sistema capaz de receber ou enviar


informao para diferentes reas da empresa (seja rea de gesto ou produo). Por
exemplo, pode receber informao de uma rea onde o produto final seja introduzido
em sistema atravs de um leitor de cdigo de barras, de um programa informtico num
computador ou de outro sistema que possa existir. O computador poder ter uma
aplicao desenvolvida em alguma linguagem de programao existente (por exemplo
Visual Basic (VB)) que poder comunicar com uma base de dados. Normalmente, a
introduo de informao no sistema atravs do computador implica que existam
mecanismos exteriores que comuniquem com o computador (por exemplo um sistema
baseado em microcontroladores) que depois trata a informao e envia para a base de

25

dados. No computador servidor existe uma base de dados, que armazena toda a
informao referente a todas as reas ou a apenas certas reas em especfico caso se
trate de um sistema ERP com mltiplos servidores. Esse servidor poder disponibilizar
uma pgina web desenvolvida numa linguagem de programao (PHP, JavaScript,
entre outras) para consulta ou alterao de informao na base de dados.

Sada Informao
Produao (Computador)

Sada Informao
Logistica (Computador)

Servidor ERP

Entrada Informao
Produao (Computador)

Entrada Informao
Produao (Leitor Cd. Barras)

Figura 5- Exemplo de um sistema ERP genrico


2.4.1. HTML
Uma das linguagens mais usadas na criao de pginas web o HyperText Markup
Language (HTML) [7]. HTML foi formalizada na dcada de 90 encontrando-se neste
momento na verso HTML5 (desde 2008) aps vrias actualizaes. O HTML surgiu da
fuso dos padres Hytime e Standard Generalized Markup Language (SGML) sendo por
isso caracterizada por uma linguagem de marcao, ou seja, a estrutura do texto tal que
sintacticamente distinguvel. A estrutura do texto constituda por etiquetas (palavras
dentro de parnteses angulares) que representam os comandos de formatao da
linguagem. Um ficheiro HTML pode ser editado em qualquer editor texto e segue uma
estrutura padronizada: um cabealho que possui informaes sobre o documento (meta
data) e um corpo que possui a mensagem que o programador pretende efectivamente
transmitir. Nessa mensagem possvel incluir imagens, vdeos, texto, hiperligaes, caixas
de texto e caixas de confirmao. uma das linguagens de programao mais usada e
disponibilizada de forma gratuita e aberta.

26

2.4.2. PHP
Hypertext Preprocessor (PHP) [13], originalmente denominado Personal Home Page
surgiu em 1995 e capaz de gerar contedo dinmico. Esta linguagem de programao
passvel de ser incorporada em HTML aumentando em muito as funcionalidades desta.
Dado que inicialmente esta linguagem estava apenas pensada para actuar do lado do
servidor, a sua interpretao situa-se tambm do lado do servidor pelo mdulo PHP.
Actualmente o PHP trata-se de um software livre e disponvel para praticamente todos os
sistemas operativos, encontrando-se na verso 5.5.0 sendo que a verso 6 se encontra em
fase de desenvolvimento.

2.4.3. CSS
A linguagem de programao Cascading Style Sheets (CSS) [8] uma linguagem de
estilo que pode ser incorporada em pginas HTML. Apresenta como principal
caracterstica a separao entre o formato (estilo) e o contedo da mensagem em si.
Atravs de hiperligaes o programador encaminha a ligao para uma pgina que
contm estilos e personaliza o contedo a mostrar na mensagem. O estilo definido por
um conjunto de propriedades visuais para um elemento. Assim sendo o CSS permite
configurar desde as cores at ao layout da pgina web.

2.4.4. JAVASCRIPT
O JavaScript [36] uma linguagem de scripting que pode ser integrada em HTML para
validar formulrios, criar pginas web dinmicas ou criar pginas web interactivas. Esta
linguagem foi desenvolvida pela NetScape em 1995 chamando-se originalmente
LiveScript. O seu desenvolvimento relativamente simples devido sua sintaxe simples e
de fcil utilizao por programadores menos experientes. A linguagem de programao
baseada em objectos simples, tipagem dinmica e interpretada em tempo de execuo. Ao
contrrio do PHP, o cdigo JavaScript corre do lado do cliente e no do servidor fazendo
com que o navegador funcione mais rpido; apesar disso, devido sua natureza dinmica,
apresenta algumas limitaes de desempenho.

27

2.4.5. EXTENSIBLE MARKUP LANGUAGE


A linguagem de programao Extensible Markup Language (XML) [35], apresentase como uma linguagem til na representao e estruturao de dados, descrio de
servios e definio de contedos das mensagens trocadas entre aplicaes. Foi uma
linguagem criada em 1990 e um dos subtipos do SGML. Actualmente existem outras
linguagens baseadas em XML, tais como eXtensive HyperText Markup Language
(XHTML), Resource Description Framework (RDF), Scalable Vector Graphics (SVG),
entre outras. As suas principais caractersticas so a separao do contedo de informao,
simplicidade e legibilidade, possibilidade de criar tags sem limitaes e interligao de
base de dados distintas. O XML permite a definio de novos dialectos/ linguagens de
anotao e a criao de documentos devidamente formatados para serem processados por
outras aplicaes.

2.4.6. SQL
Structured Query Language (SQL) [18] uma linguagem de pesquisa declarativa
desenvolvida nos anos 70, tendo sida inspirada na lgebra relacional. Esta linguagem
permite que programadores inexperientes consigam criar e consultar base de dados de uma
maneira simplista; ao ser efectuada uma consulta base de dados, esta envia o resultado
como resposta. Esta linguagem encontra-se na verso SQL:2003, padronizada pela
American National Standards Institute (ANSI) e International Organization for
Standardization (ISO). Actualmente existem muitos sistemas de base de dados que usam
esta linguagem tais como MySQL, Microsoft SQL Server, Oracle, Microsoft Access, entre
outros.

2.4.7. VISUAL BASIC


Visual Basic [9] tambm conhecido pela abreviatura VB uma linguagem de
programao propriedade da Microsoft. Esta linguagem de programao resultado da
fuso entre a linguagem de programao BASIC e o pacote fornecido pela Microsoft
Visual Studio. No decorrer dos anos esta linguagem foi alvo de vrias actualizaes,
melhorando alguns aspectos da linguagem e acrescentado novas funcionalidades tais como

28

o acesso a base de dados e criao de controlos ActiveX. A Microsoft disponibiliza


actualmente o Microsoft Visual Studio [10] que se encontra na verso 2012, que ajuda o
programador a desenvolver com relativa facilidade, entre outras aplicaes, aplicaes
Windows com relativa complexidade.

2.5.

MICROCONTROLADORES

Actualmente

no

mercado

existem

diversas

empresas

que

disponibilizam

microcontroladores capazes de resolver os mais diversos problemas, porm e dada a


variedade de componentes disponveis torna-se necessrio fazer uma seleco do mais
adequado a cada problema.
Um microcontrolador possui, para alm de um processador que trata da aritmtica,
outros componentes tais como memria de leitura/escrita e perifricos de entrada/sada de
dados. Entre estes podemos ter um conversor analgico-digital de n canais, USART, pinos
digitais I/O, I2C, entre outros. O microcontrolador tambm pode funcionar com relgio
interno ou externo dependendo da aplicao que este estar inserido.
Existem microcontroladores de 8, 16 e 32 bits, sendo que estes esto a ser substitudos
actualmente por componentes mais poderosos tais como Field-Programmable Gate Array
(FPGA) ou Advanced RISC Machine (ARM). As empresas mais conhecidas que
disponibilizam estes componentes so a ATMEL [22] e MICROCHIP [21].

29

3. IMPLEMENTAO DO
SISTEMA

3.1.

DESCRIO DA SOLUO GLOBAL A IMPLEMENTAR

Depois do estudo de todas as possibilidades encontradas para este sistema, a soluo


que mais se adequa est apresentada na Figura 6:

Figura 6- Diagrama soluo global

30

Na rea destinada paletizao dos barris, ser implementado um boto de presso


que ser accionado cada vez que for completada uma palete. O accionamento desse boto
de presso ser verificado por um microcontrolador, que se detectar uma alterao do
estado do boto enviar uma mensagem atravs do padro de comunicao RS-485. Este
conjunto passar a denominar-se mdulo emissor.

Na rea destinada ao enchimento dos barris, existir um computador que receber a


mensagem enviada pelo microcontrolador. Como a mensagem ser enviada por um padro
de comunicao que o computador no consegue processar, existir um mdulo receptor
constitudo por um conversor RS-485TTL (da mesma forma que no mdulo emissor
existe um conversor TTLRS-485) e um circuito integrado FT232RL que converte o sinal
TTL para um sinal do tipo PNP (Plug and Play). Este circuito integrado ser reconhecido
no computador como uma entrada comum.

No computador ser desenvolvida uma aplicao web constituda por uma base de
dados, um servidor Apache [11] e uma aplicao servidora (pgina PHP). A base de dados
ser criada atravs do MySQL Workbench 5.2 [20] que contemplar informaes acerca
das encomendas produzidas, desempenho da linha de enchimento, acessos de utilizadores e
configuraes da aplicao Windows. Ser usado o servidor Apache XAMPP [12] dado
que este possui para alm do servidor, ferramentas de interpretao de pedidos PHP.

No computador ser desenvolvida uma aplicao Windows, atravs da linguagem VB,


que ser responsvel pela aquisio da mensagem do mdulo receptor, actualizao do
progresso de enchimento, actualizao de encomendas e informar o tcnico enchedor
acerca do progresso de enchimento.

31

3.2.

MDULO EMISSOR

3.2.1. HARDWARE

Figura 7- Caixa de proteco do interruptor, unidade de interruptor e unidade led de


sinalizao
Para a unidade do interruptor e dado que este ser implementado num local com um
ambiente possivelmente hmido, poeirento e sujeito a certos tipos de impactos,
caractersticos de um ambiente industrial, foi escolhido uma caixa da marca Schneider
modelo XALD01 (Figura 7) (grau de proteco NEMA 13 ou IK03) que incorpora uma
unidade de sinalizao led e uma unidade de controlo do tipo interruptor de presso
normalmente aberto.

Apesar de as alternativas serem vrias na escolha do microcontrolador, a escolha


incidiu sobre um PIC16F688 (Figura 8) dado que para este sistema necessrio um
microcontrolador que possua no mnimo I/O digitais e uma USART. Foi escolhido este
microcontrolador no s por este apresentar as caractersticas mnimas mas tambem por ser
relativamente barato e fcil de obter; conseguiu-se tambm com esta escolha minimizar o
desperdcio de recursos do microcontrolador.

Figura 8- Pinout PIC16F688

32

As principais caractersticas deste microcontrolador so:

Arquitectura RISC;

Oscilador interno seleccionvel no intervalo 125KHz a 8MHz e oscilador


externo at 20MHz;

Elevado nmero de escritas em memria flash;

4096 words memoria flash;

Tenso de funcionamento varivel entre 2.0V e 5.0V;

Funcionamento dentro de uma elevada gama de temperaturas;

20 Pinos I/O direccionveis com mltiplas opes de configurao;

Comparador analgico;

Conversor analgico digital com oito canais de leitura;

2 Timers, um de 8 bits e outro de 16 bits com prescaler programvel;

1 EUSART com detector de baud-rate;

In-circuit-programming atravs de dois pinos (ICSP);

A programao do microcontrolador ser feita com o programador Pickit 2 (Figura 9)


da empresa MICROCHIP, que usa o protocolo ICSP (Figura 10); para edio e compilao
MikroC for PIC e para programar ser usado o programa Pickit2 V2.61.

Figura 9- Pickit 2

Figura 10- Esquema de ligaes Pickit 2

33

Figura 11- MAX485; 1- Sinal sada TTL, 2 e 3 Seleco modo escrita/leitura, 4-Sinal
entrada, 6 e 7- Sinal RS-485
Para converter a mensagem do microcontrolador atravs da USART (do tipo TTL)
para o padro RS-485 ser usado o circuito integrado MAX485 (Figura 11) [25].
O circuito integrado alimentado por uma tenso de 5V e a diferena de tenso
entre os dois canais RS-485 tem que ser superior a 200mV. Este suporta comunicaes half
ou full-duplex necessitando, se for o caso, de um ou dois pares entrelaados de fios
respectivamente. Conforme a distncia entre os dois circuitos integrados, a velocidade de
transmisso diminu com o aumento da distncia (Figura 12).

Figura 12- Relao entre a velocidade de transmisso e distancia (RS-485)


Em cada uma das extremidades do cabo necessria a colocao de uma
resistncia entre os dois fios para prevenir refleces de impulsos e reduzir o rudo.
Ser usada uma ficha RJ-45 para a ligao do cabo UTP-CAT6 [24] que levar a
mensagem j no padro RS-485 para a rea de enchimento.
A alimentao elctrica deste mdulo emissor ser feita atravs de um transformador
com sada 5 Volt/ 1 Ampere, corrente contnua. Ser colocado um dodo entrada da
alimentao como medida de proteco.

34

De seguida apresentado o esquemtico elctrico do mdulo emissor (Figura 13) e a


placa de circuito impressa finalizada (Figura 14).

Figura 13- Esquemtico do mdulo emissor

Figura 14- Placa de circuito impressa finalizada (mdulo emissor)


3.2.2. SOFTWARE
Para converter o impulso gerado pelo interruptor numa mensagem a ser enviada para o
computador, como j foi referido, necessrio um microcontrolador.
Para o seu funcionamento, o microcontrolador precisa que sejam feitas inicializaes
de alguns registos, nomeadamente para a definio da frequncia do oscilador, o estado
dos pinos (entrada/ sada de dados, estado logico 1 ou 0 ou alta impedncia) e USART.

35

Inicialmente configurou-se a frequncia a que oscilador ir funcionar (8MHz).

Neste registo fazendo o set aos bits IRCF2-IRCF0 selecciona-se a frequncia de


8MHz. Para seleccionar qual oscilador a usar coloca-se o bit 0 (SCS) a 1 para seleccionar o
oscilador interno.

Neste registo desactiva-se os comparadores associados aos pinos RA0 e RA1 e


colocam-se como I/O digitais. Para isso faz-se o set aos bits CM2, CM1 e CM0.

Para configurar o timer 0 deste micro necessrio primeiro efectuar alguns clculos,
para definir o prescaler e o perodo associado a cada interrupo.

Interrupo de 500ms:

0,5
cnt _ 500 cnt _ 500 15
0,33

Aps os clculos necessrio configurar o registo acima. O bit 7 (RAPU) controla as


resistncias pull-up e portanto tem que estar a 0 para que estas possam ser activas. No bit 3
(PSA) associa-se o prescaler ao timer colocando-o a zero (se for colocado a 1 o prescaler

36

associado ao watch-dog) e nos primeiros trs bits, fazendo o set a todos, selecciona-se o
prescaler 1:256.

Este registo responsvel pelas interrupes que podem ser geradas pelo
microcontrolador no decorrer da execuo do programa. Fazendo o set ao bit 7 (GIE)
activa-se as interrupes globais e fazendo o set ao bit 5 (T0IE) activa-se a interrupo do
timer 0. O bit 2 representa a flag da interrupo do timer 0.

Este registo responsvel pelo controlo da transmisso de dados por parte da USART.
O bit 7 (CSRC) no importante para o modo de funcionamento (assncrono), o bit 6
(TX9) colocado a 0 selecciona a transmisso de palavras de 8bits, bit 5 (TXEN) activa a
transmisso de dados, bit 4 (SYNC) selecciona o modo assncrono e bit 2 (BRGH) modo
assncrono alta velocidade.

Neste registo apenas necessrio fazer set ao bit 7 (SPEN) para associar os pinos RC4
e RC5 USART. Os restantes bits so referentes recepo de dados que para este
projecto no necessria de momento.

Consultando a tabela de baud-rate e tendo em ateno a frequncia de oscilador do


microcontrolador e que foi seleccionado o modo assncrono de alta velocidade, para um
baud-rate de 9600 bits por segundo o valor a carregar para o registo SPBRG 51.
Por ltimo resta inicializar os pinos, definindo-os como entrada/sada de dados e
resistncias de pull-up. Todos os pinos que no esto a ser usados neste projecto so
colocados como entradas de dados (alta impedncia) como medida de preveno.

37

Os pinos associados USART so automaticamente configurados aquando da


inicializao dos registos da USART. O pino RA4 responsvel pelo modo de
funcionamento do MAX485, portanto neste caso como pretendido que este funcione
apenas como emissor colocado a 1 (colocado previamente como sada de dados e depois
valor logico 1). O pino RA5 usado para fazer a comutao de estado do LED do
interruptor e portanto est configurado como sada de dados e tem no arranque do
programa o valor lgico 0.

Aps as inicializaes dos registos estarem efectuadas, o programa segue um ciclo


infinito de verificao do estado do interruptor e o accionamento de uma interrupo a
cada 33 milissegundos conforme calculado atrs.
Dentro da interrupo usado um contador de 15 unidades para que a cada 500
milissegundos o led altere o seu estado.

Na funo principal sempre que for detectada uma alterao do estado do interruptor
enviada uma mensagem para o computador atravs da USART; tambm usada uma
funo para que cada alterao do interruptor gere apenas uma mensagem a ser enviada.

3.3.

MDULO RECEPTOR

Da mesma forma que necessrio converter a mensagem do microcontrolador para o


padro RS-485, nesta extremidade do cabo ser necessrio fazer a converso contrria
atravs do mesmo circuito integrado MAX485 (Figura 11). Ser tambm necessrio
colocar uma resistncia entre os fios do cabo pela mesma razo explicada anteriormente.

A comunicao entre o circuito integrado MAX485 e o computador feita atravs de


um circuito integrado FT232RL [26] que converte o sinal TTL do MAX485 num sinal do
tipo PNP. A ligao ao computador ser feita atravs de uma porta USB.

O circuito integrado FT232RL (Figura 15) trata-se de um conversor USB para RS-232,
RS-422 ou RS-485. Este possui um circuito de relgio interno (12 MHz), resistncias de
auxlio na ligao porta USB, sada de tenso de referncia de 3.3V e capacidade para
aproveitar a velocidade de transmisso admissvel pela porta USB (USB 2.0). Pode

38

funcionar tanto em modo assncrono como sncrono e com oscilador interno com tenses
de alimentao entre os 4 os 5V.

Sero associados dois LEDs a dois pinos (CBUS0 e CBUS1) do circuito integrado
que sero activos quando este estiver a escrever/ ler.

Figura 15- FT232RL; 1- Sada de dados, 5- Entrada de dados, 15-D+, 16-D-, 22- led
entrada de dados, 23- led de sada de dados

A alimentao elctrica deste mdulo receptor ser efectuada atravs da porta USB,
protegida por um dodo.

39

De seguida apresentado o esquemtico elctrico do mdulo emissor (Figura 16) e a


placa de circuito impressa finalizada (Figura 17).

Figura 16- Esquemtico do mdulo receptor (FT232RL)

Figura 17- Placa de circuito impressa finalizada (mdulo receptor)

40

3.4.
O

APLICAO WINDOWS
programa

responsvel

pela

interpretao

da

mensagem

enviada

pelo

microcontrolador, actualizao da base de dados e a informao do tcnico enchedor


acerca da produo foi desenvolvido em VB, com a ajuda do programa Visual Studio 2012
[10].

Figura 18- Diagrama representativo da estrutura do programa

O programa composto por quatro janelas (Figura 18): uma janela principal onde
apresentado o nmero de paletes produzidas no turno com possibilidade de colocar a zero o
contador e enviar a informao para a base de dados e as paletes restantes para concluir a
encomenda; uma janela onde possvel alterar informao acerca da encomenda actual,
outra onde possvel alterar configuraes acerca do programa e outra que atravs de
sistema de identificao apresenta ou a janela referente ao tcnico ou uma janela referente
ao administrador.

41

Figura 19- Janela principal do programa


O cdigo referente a esta janela (Figura 19) responsvel pela leitura de mensagens
que surjam na porta comum, pela actualizao da base de dados e pela informao sobre as
quantidades de paletes produzidas e restantes. No arranque, ao ser carregada esta janela
efectuada uma comunicao base de dados para obteno de informao acerca da porta
comum (interface serial que funciona como porta de comunicao associada ao padro
RS-232) utilizada e informao acerca da encomenda em curso na ltima vez que o
programa foi fechado.
Quando d entrada uma mensagem na porta comum gerada uma sub-rotina que l e
valida a mensagem e actualiza a informao sobre as paletes produzidas (incrementando
uma unidade).
Private Sub actualizar()
prod_turno.Text = prod_turno.Text + 1
pal_rest.Text = pal_rest.Text - 1
If (pal_rest.Text = 0) Then
MsgBox("Encomenda Terminada", MsgBoxStyle.Exclamation)
End If
If (pal_rest.Text < 0) Then
pal_rest.Text = 0
End If
End Sub

42

Ao clicar em Configuraes apresentada uma janela (Figura 20) onde possvel


identificar o utilizador que pretende efectuar alteraes.
Ao ser preenchido o campo Username e Password e clicando em Confirmar
efectuada uma comparao desses dois campos com os valores obtidos na base de dados
aquando do arranque do programa. Se os dois campos tiverem em simultneo
correspondncia com os valores da base de dados e dependendo se se trata do utilizador
administrador ou tcnico aparecer a janela Alterar Encomenda ou Alterar Porta
COM caso se trate do tcnico ou administrador respectivamente.

Figura 20- Janela de identificao de utilizador


Na janela Alterar Encomenda (Figura 21) possvel alterar a ordem de encomenda, o
nmero de barris a serem produzidos e o tipo de barril a ser processado. De acordo com o
tipo de barril e o nmero de barris que tem que ser produzidos calculada a quantidade de
paletes restantes. Quando validada a opo, aparecer uma janela de confirmao que se
for confirmada ser ento actualizado o estado da encomenda, tanto no programa como na
base de dados. S podero ser validados os trs campos se todos eles tiverem sido
preenchidos. A ordem de encomenda aceita at um mximo de 10 caracteres.

Figura 21- Janela Alterar Encomenda

43

Na janela Alterar Porta COM (Figura 22) possvel alterar a porta comum do
computador que est ligada ao mdulo receptor. Quando esta janela carregada,
efectuada uma leitura de todas as portas comuns disponveis no computador e tambm
disponibilizado valores de baud-rate predefinidos para seleco. Tambm nesta janela
exigido para validao a seleco dos dois campos. Se for confirmada a validao, a porta
inicializada e o seu nome guardado na base de dados para que quando o programa
arrancar novamente abrir a porta actual.

Figura 22- Janela Definir Porta COM

3.5.

APLICAO WEB

Para o funcionamento da aplicao web, como j foi referido anteriormente,


necessrio um servidor httpd (servidor Apache) que ir alojar a aplicao servidora e
fornecer os mecanismos para que esta possa ser acedida externamente. Para facilitar esta
fase usada uma compilao que inclui o servidor httpd, ferramentas de interpretao PHP
e MySQL; a compilao usada do grupo XAMPP verso 3.1.0.3.1.0. O programa usado
para criar a aplicao servidora o Adobe Dreamweaver CS6 [19]. A base de dados ser
criada e disponibilizada atravs do MySQL Workbench 5.2 CE.

3.5.1. SERVIDOR SQL


A base de dados est organizada em quatro tabelas dentro de um esquema chamado
backup que apresentam informao sobre diferentes reas do projecto: encomenda
(informao acerca da encomenda em produo actualmente), login_php (informao

44

acerca dos utilizadores creditados para aceder ao sistema), porta_serie_dados (informao


acerca da porta usada pelo computador para aceder mensagem vinda do microcontrolador
e informao acerca da creditao disponvel para aceder s configuraes do programa) e
produo (informao acerca do produto que foi e que est a ser produzido) [Tabela 5].

Tabela 5- Estrutura da tabela da produo e o tipo de valor armazenado


Id_producao

data

hora

num

num_encomenda

VARCHAR

DATE

TIME

SMALLINT

VARCHAR

Os campos id_producao, data e hora armazenam o turno, data e hora a que foi
efectuado o ltimo envio de informao do programa para a base de dados
respectivamente.

Tabela 6- Estrutura da tabela da porta_serie_dados e o tipo de valor armazenado


tipo_dado

variavel

VARCHAR

VARCHAR

A Tabela 6 tem como princpio de funcionamento a comparao de valores presentes


na coluna tipo_dado com um valor pedido numa consulta efectuada ao MySQL acerca
desta tabela. Ao ser encontrada uma igualdade entre dois valores o MySQL retorna o valor
contido na coluna variavel que esteja na mesma linha do valor semelhante ao pedido na
consulta.
Esta tabela em especfico armazena a porta e o baud-rate usados pelo programa bem
como a palavra-chave associada ao administrador e ao tcnico.
A tabela encomenda e login_php seguem uma estrutura idntica Tabela 6, porm
com outras denominaes atribudas aos campos que compem a estrutura.
A tabela encomenda armazena informao acerca do cdigo da actual encomenda,
paletes restantes para o trmino da encomenda, paletes efectuadas no actual turno e o tipo
de barril a ser processado no momento.

45

A tabela login_php armazena as palavras-chave de acesso do administrador e tcnico


na aplicao servidora.
Descritas as tabelas, e como j foi referido, para se obter ou actualizar informao na
base de dados necessrio executar consultas, que no so mais do que perguntas
formatadas efectuadas ao MySQL que podem obter retorno de dados no caso de se estar a
pedir informao ou no obter retorno no caso de se estar a efectuar uma actualizao ou
adio de informao a uma tabela. Para aceder ao MySQL e nomeadamente ao esquema
deste projecto necessrio efectuar um login, garantindo assim a segurana da informao
guardada na base de dados.

3.5.2. SERVIDOR APACHE

Figura 23- Opes instalao servidor XAMMP

O servidor Apache XAMMP possui um auto-installer (Figura 23), tornando o


processo de implementao amigo do utilizador. Dentro do instalador so apresentadas
como opes de instalao os suportes mais importantes para uma aplicao alojadora
funcionar em pleno. Neste caso s ser instalado o servidor Apache e o suporte PHP.
No funcionamento da aplicao web s estar a funcionar o servidor Apache associado
porta 80 e 443 (Figura 24).

46

Figura 24- Servidor Apache XAMMP

3.5.3. PGINA PHP

Figura 25- Diagrama da aplicao servidora


Para o desenvolvimento da aplicao servidora foram usadas essencialmente as
linguagens de programao PHP e HTML. A aplicao servidora (Figura 25) tem como
principais pginas a pgina inicial que apresenta dois campos para login, uma pgina para
ser acedida por tcnicos de enchimento e outra pgina para acesso de administradores. A
pgina do administrador (Figura 26) apresenta mais funcionalidades, nomeadamente
funcionalidades de carcter de gesto, pois tem a possibilidade de alterar palavras-chave de

47

acesso, dados relativos a encomendas e guardar documentos no formato .PDF e .CSV


referentes produo. pgina destinada aos tcnicos (Figura 27) disponibilizado
apenas o acesso a informao grfica acerca da produo.
Todas as pginas principais tm associadas a si pginas secundrias, todas
desenvolvidas em PHP, que processam toda a informao necessria a ser apresentada nas
pginas principais.
Para as pginas web acederem base de dados, necessitam efectuar login na base de
dados. Para a programao do acesso das pginas web base de dados foi utilizada a
linguagem PHP.
$host="localhost"; // Hostname
$username="root"; // Utilizador MySQl
$password="654321"; // Password MySQL
$db_name="backup"; // Nome do esquema
$tbl_name="login_php"; // Nome da tabela
// Autentificao no MySQL e Seleco de base de dados.
$con= mysql_connect("$host", "$username", "$password","db_name")or die("cannot
connect");
mysql_select_db("$db_name")or die("cannot select DB");

Todas as pginas que interajam com a base de dados usam as funes stripslashes()
[30] e mysql_real_escape_string() [31] para encriptao dos valores para que estes no
possam ser interceptados por terceiros.

Para a obteno de informao da base de dados a consulta segue uma formatao do


tipo SELECT * FROM nome_tabela WHERE coluna_a_pesquisar=dado_pretendido,
em que o dado_pretendido o parmetro introduzido na inputbox.

No caso da pgina inicial, referente ao login, est associada a pgina


check_login.php que tem como funo validar os campos de utilizador e palavra-chave
de acesso colocados nos campos da pgina principal. Ao ser efectuado um pedido de
acesso, esta pgina secundria comea por obter os valores dos campos (HTML) da pgina
inicial.
De seguida, efectuado o login na base de dados e efectuada uma consulta que de
acordo com a resposta enviada pela base de dados, a prxima pgina poder ser, ou a

48

pgina de administrador, ou pgina de tcnicos ou ento novamente a pgina inicial com


uma mensagem de erro no acesso.

Na pgina destinada aos administradores possvel efectuar operaes de consulta


sobre o estado da encomenda actualmente a ser produzida e sobre as quantidades de
produto que esto a ser produzidas em cada turno. Aliada a esta consulta possvel
tambm alterar a encomenda que est a ser produzida no momento; esta funcionalidade
necessria dado que por vezes, por factores externos, a encomenda poder ser aumentada
ou diminuda.
Tambm possvel produzir relatrios compatveis com ferramentas informticas que
auxiliam a gesto de produo.

Figura 26- Pgina web do Administrador


Quando gerada esta pgina, em Alterar Encomenda so efectuadas trs consultas
base de dados acerca do nmero de encomenda, paletes restantes para concluir a
encomenda e o tipo de barril a ser usado nesse momento. Na mesma tab possvel alterar
esses trs campos, sendo que o ltimo apenas permite que seja colocado ou 5L ou 20L.

49

Na tab seguinte possvel alterar os acessos s configuraes do programa principal.


A estrutura da consulta a ser enviada para actualizao dos campos update tabela set
coluna_a_ser_alterada=dado_a_ser_envidado where coluna_a_comparar_na_tabela =
valor_a_procurar. As alteraes a estes campos s tero efeito quando o programa do
computador reiniciar.
Na tab Desempenho gerado um grfico com o nmero de paletes produzidas por
turno nos trs dias anteriores ao dia em que for gerada a pgina. Existe tambm a
possibilidade de especificar a data a partir da qual se quer visualizar a produo. Para a
criao do grfico usada uma pgina PHP auxiliar onde includa a biblioteca JPGRAPH
[16] e onde obtida a informao da tabela producao da base de dados que depois de
organizada dada como entrada na forma de array ao ser gerado o grfico.

$graph = new Graph(800,600,"auto");


$graph->SetScale("textlin");
$graph->SetBox(false);
$graph->img->SetTransparent("white");
$p1 = new LinePlot($Yarray);
$graph->yaxis->title->set("Paletes Produzidas");
$graph->yaxis->title->SetFont(FF_ARIAL,FS_BOLD,13);
$graph->yaxis->SetFont(FF_ARIAL,FS_BOLD,9);
$graph->yaxis->title->SetColor('blue');
$graph->yaxis->SetColor('blue');
$graph->yaxis->scale->SetAutomin(0);
$graph->Add($p1);
//

()

// Output line
$gdImgHandler = $graph->Stroke(_IMG_HANDLER);
$fileName = "desempenho.png";
$graph->img->Stream($fileName);
$graph->Stroke();

Na tab Guardar dados possvel guardar informao sobre a quantidade de produto


produzida por turno num intervalo no formato .pdf e no formato .csv sendo que o primeiro
trata-se de um formato tipo relatrio e o segundo um formato que possibilita a manipulao
dos seus valores. Para a criao do ficheiro .pdf foi necessria a incluso da biblioteca
TCPDF [15], que apresenta um funcionamento semelhante biblioteca usada para a
gerao do grfico (JPGRAPH).

50

A pgina destinada aos tcnicos apenas permite a consulta do andamento da produo


da linha nos ltimos trs dias ou ento numa data especfica atravs do campo Alterar
Data. A gerao desta pgina semelhante gerao da informao na tab Desempenho
da pgina destinada aos administradores.

Figura 27- Pgina web do Tcnico

51

3.6.

MDULO EMISSOR E RECEPTOR

Aps o desenvolvimento das placas de circuito impresso, estas foram acondicionadas


dentro de umas caixas (Figura 28) de modo a criar um prottipo prximo da verso final,
que dever ser implementado.

Figura 28- Mdulo Emissor esquerda com o respectivo transformador de alimentao


e mdulo receptor direita.

52

4. TESTES E RESULTADOS
4.1.

COMUNICAO ENTRE O MDULO EMISSOR E O MDULO


RECEPTOR

Na Tabela 7 so apresentados os resultados do teste de comunicao efectuado entre o


mdulo emissor e o mdulo receptor ligados por um cabo com a distncia de 1, 5, 10 e 50
metros. O smbolo significa que a comunicao foi efectuada com sucesso.
Tabela 7- Fiabilidade de comunicao entre mdulos

4.2.

Distncia (metros)

10

50

Fiabilidade da Mensagem

ACTUALIZAO DE INFORMAO NA APLICAO WINDOWS

As actualizaes de informao efectuadas na aplicao servidora (identificao de


encomenda, numero de paletes restantes, tipo de barril) foram actualizadas com sucesso na

53

aplicao Windows; as palavras-chave de acesso dos administradores e tcnicos s so


actualizados reiniciando a aplicao Windows.
A mensagem enviada pelo mdulo receptor recebida correctamente pela aplicao
Windows, incrementando uma palete produzida por cada mensagem apenas.

4.3.

GERAO DO GRFICO DO DESEMPENHO

Na aplicao servidora, no carregamento da pgina web foi gerado correctamente


grfico dos ltimos trs dias (Figura 29), confirmando assim o correcto funcionamento
tanto da ligao base de dados como da biblioteca usada para a gerao do grfico.

Figura 29- Grfico representativo do desempenho dos ltimos 3 dias (em relao ao dia
actual)

Na aplicao servidora, no carregamento da pgina web foi gerado correctamente


grfico no espao temporal pretendido, confirmando que a data de entrada foi devidamente
validada pela base dados e que o grfico (Figura 30) gerado foi o correspondente a essa
data.

54

Figura 30- Grfico representativo do desempenho dos ltimos 3 dias (em relao ao dia 1307-09)

4.4.

GERAO DE RELATRIOS .PDF E .CSV

Com a gerao do relatrio em formato .CSV (Figura 31) comprovou-se que a funo
responsvel pela sua criao est a funcionar correctamente. Os valores foram obtidos com
as devidas correspondncias e separados por vrgulas de acordo com a norma RFC 4180
[34].

Figura 31- Ficheiro .CSV aberto em Excel (data inicio/fim: 13-06-30/ 13-07-05)

55

Relatrio de desempenho: Consultar Anexo A (Anexo A. Relatrio Desempenho,


formato .PDF (data inicio/fim: 13-06-30/ 13-07-05).

Da mesma forma, com a gerao do relatrio em formato .PDF verifica-se que a


biblioteca responsvel pela sua criao est a funcionar correctamente, acrescentando mais
uma funcionalidade ao sistema.

56

5. CONCLUSES E TRABALHO
FUTURO

Dados os objectivos propostos no incio deste projecto e identificando como objectivo


principal a contabilizao do nmero de paletes produzidas e o controlo da produo podese dizer que o projecto est minimamente funcional.

No sistema relativo ao microcontrolador verificou-se que para sistemas industriais e


no geral para comunicaes de distncias relativamente grandes o sistema de comunicao
RS-485 o sistema mais verstil. Para equipamentos que sejam instalados em ambiente
industrial preciso ter em conta o seu grau de proteco. Em relao programao do
microcontrolador no foram apresentadas quaisquer dificuldades.

A criao do programa e da base de dados levantou vrios obstculos ao longo do


desenvolvimento dado que foi necessrio trabalhar com linguagens de programao novas
(PHP, VB e SQL). Todas elas tm estruturas semnticas diferentes que com pesquisa e
testes conseguiram ser interpretadas e entendidas a fim de servirem o propsito de forma
eficaz e estvel.

57

No programa desenvolvido em VB, depois de se adquirir as suas noes bsicas, a


principal dificuldade foi na criao da sub-rotina responsvel pela leitura do valor da porta
comum dado que esta executada em paralelo com as rotinas principais. Verificou-se que
apesar de neste projecto se terem explorado uma quantidade significativa de
funcionalidades, muitas mais ficaram por descobrir.

A criao da base de dados atravs do MySQL permitiu adquirir conhecimentos acerca


desta funcionalidade que dadas as suas capacidades apresenta-se como uma ferramenta
importante para aplicaes estatsticas, backups, entre muitas outras dado que possvel
guardar valores de diversos tipos, tamanhos e com permisses diferentes.

No desenvolvimento da pgina web foi possvel aplicar conhecimentos adquiridos


sobre HTML em disciplinas passadas do curso e aprofundar PHP. Nesta matria surgiram
muitos obstculos dada a complexidade de algumas funes que foram necessrias usar
nomeadamente nas funes que interagem com a base de dados. O incio/fim de sesso
bem como a passagem da sesso actual para as pginas web secundrias causaram alguns
problemas devido a funes que ficaram obsoletas devido evoluo da linguagem.
As bibliotecas usadas revelaram ser uma ajuda fundamental para a implementao de
algumas funcionalidades, porm os seus parmetros de entrada como tem que seguir uma
estrutura padronizada obrigou a que certos valores obtidos da base de dados tivessem que
ser manipulados para que estes fossem devidamente interpretados pelas bibliotecas.
As pginas web ao serem testadas em diferentes browsers, verificou-se que no eram
compatveis com certas verses tendo-se resolvido o problema com a alterao do
cabealho das pginas web.

Apesar do projecto estar concludo muitas melhorias e solues podem ser


implementadas em vista a tornar este projecto mais estvel, verstil e amigo do
utilizador.
A nvel de hardware, uma melhoria relevante seria permitir que a informao entre o
computador e o microcontrolador fosse nos dois sentidos, ou seja, o microcontrolador ao
enviar a mensagem de concluso de palete, o computador enviasse uma mensagem a dizer
que recebeu a mensagem correctamente, se nada chegasse num tempo determinado o
microcontrolador voltaria a enviar a mensagem.

58

A nvel de software, nomeadamente no programa de contabilizao de paletes a


aplicao Windows poderia incluir acesso tabela responsvel pela informao da
produo e oferecer a capacidade de imprimir relatrios sobre a produo. pgina web
poderia ser implementada um grafismo mais amigo do utilizador, uma plataforma que
permitisse ligar ao sistema informtico da empresa de forma a poder controlar, por
exemplo, os consumveis que a linha de produo necessita. Outra melhoria seria aplicar a
funcionalidade que de acordo com a produo mdia semanal, fizesse uma estimativa de
quanto tempo levaria a completar a encomenda, calculasse o nmero de unidades de
consumveis necessrias, entre outras.

59

Referncias Documentais
[1]

http://pt.wikipedia.org/wiki/Sistema_integrado_de_gest%C3%A3o_empresarial,
acedido pela ltima vez no dia 31 de Agosto de 2013

[2]

http://www.sap.com/, acedido pela ltima vez no dia 31 de Agosto de 2013

[3]

http://www.navisioninfo.com/, acedido pela ltima vez no dia 31 de Agosto de 2013

[4]

http://www.modbus.org/, acedido pela ltima vez no dia 31 de Agosto de 2013

[5]

http://www.profibus.com/, acedido pela ltima vez no dia 31 de Agosto de 2013

[6]

http://www.somatica.pt/suporte/proteccao-ip-ik-nema/, acedido pela ltima vez no


dia 31 de Agosto de 2013

[7]

http://pt.wikipedia.org/wiki/HTML, acedido pela ltima vez no dia 31 de Agosto de


2013

[8]

http://www.w3schools.com/css/css_intro.asp, acedido pela ltima vez no dia 31 de


Agosto de 2013

[9]

http://www.vbtutor.net/, acedido pela ltima vez no dia 31 de Agosto de 2013

[10] http://msdn.microsoft.com/en-us/library/vstudio/dd831853.aspx, acedido pela ltima


vez no dia 31 de Agosto de 2013
[11] http://httpd.apache.org/, acedido pela ltima vez no dia 31 de Agosto de 2013
[12] http://www.apachefriends.org/pt_br/xampp.html, acedido pela ltima vez no dia 31
de Agosto de 2013
[13] http://php.net/, acedido pela ltima vez no dia 31 de Agosto de 2013
[14] http://www.w3schools.com/php/, acedido pela ltima vez no dia 31 de Agosto de
2013
[15] http://www.fpdf.org/, acedido pela ltima vez no dia 31 de Agosto de 2013
[16] http://jpgraph.net/, acedido pela ltima vez no dia 31 de Agosto de 2013
[17] http://www.rs485.com/rs485spec.html, acedido pela ltima vez no dia 31 de Agosto
de 2013
[18] http://www.sql.org/, acedido pela ltima vez no dia 31 de Agosto de 2013
[19] http://www.adobe.com/pt/products/dreamweaver.html, acedido pela ltima vez no
dia 31 de Agosto de 2013
[20] http://www.mysql.com/, acedido pela ltima vez no dia 31 de Agosto de 2013

60

[21] http://www.microchip.com/, acedido pela ltima vez no dia 31 de Agosto de 2013


[22] http://www.atmel.com/, acedido pela ltima vez no dia 31 de Agosto de 2013
[23] http://entertainment.howstuffworks.com/activex-for-animation1.htm, acedido pela
ltima vez no dia 31 de Agosto de 2013
[24] http://en.wikipedia.org/wiki/Category_6_cable, acedido pela ltima vez no dia 31 de
Agosto de 2013
[25] http://www.maximintegrated.com/datasheet/index.mvp/id/1111, acedido pela ltima
vez no dia 31 de Agosto de 2013
[26] http://www.ftdichip.com/Products/ICs/FT232R.htm, acedido pela ltima vez no dia
31 de Agosto de 2013
[27] http://extremeelectronics.co.in/category/microchip-pic-tutorials/, acedido pela ltima
vez no dia 31 de Agosto de 2013
[28] http://www.siliconfareast.com/ic-package-types.htm, acedido pela ltima vez no dia
31 de Agosto de 2013
[29] http://lusorobotica.com/index.php?topic=2464.0, acedido pela ltima vez no dia 31
de Agosto de 2013
[30] http://www.php.net/manual/en/function.stripslashes.php, acedido pela ltima vez no
dia 31 de Agosto de 2013
[31] http://www.php.net/manual/en/function.mysql-real-escape-string.php, acedido pela
ltima vez no dia 31 de Agosto de 2013
[32] http://www.infor.com/product_summary/erp/ln/, acedido pela ltima vez no dia 31
de Agosto de 2013
[33] http://www.greenbeacon.com/GreenBeaconWebsite/Microsoft-CRM-ERPSolutions/EnterpriseResourcePlanningERP.aspx, acedido pela ltima vez no dia 31
de Agosto de 2013
[34] http://tools.ietf.org/html/rfc4180, acedido pela ltima vez no dia 31 de Agosto de
2013
[35] http://www.w3.org/XML/, acedido pela ltima vez no dia 31 de Agosto de 2013
[36] https://developer.mozilla.org/pt-PT/docs/JavaScript, acedido pela ltima vez no dia
31 de Agosto de 2013

61

62

Anexo A. Diagrama de blocos do PIC16F688

63

Anexo B. Diagrama de blocos do FT232RL

64

Relatrio Desempenho, formato .PDF (data


inicio/fim: 13-06-30/ 13-07-05)

65

66

67

Anexo C. Faces PCBs

PCB do mdulo da rea de enchimento (vista componentes)

PCB do mdulo da rea de enchimento (vista


componentes)

PCB do mdulo da rea de enchimento (vista


componentes)

PCB do mdulo da rea de enchimento (vista


componentes)

PCB do mdulo da rea de enchimento (vista pistas)

PCB do mdulo da rea de enchimento (vista pistas)

PCB do mdulo da rea de enchimento (vista pistas)

PCB do mdulo da rea de enchimento (vista pistas)

68

PCB do mdulo da rea de paletizao (vista componentes)

PCB do mdulo da rea de paletizao (vista


componentes)

PCB do mdulo da rea de paletizao (vista


componentes)

PCB do mdulo da rea de paletizao (vista


componentes)

PCB do mdulo da rea de paletizao (vista pistas)

PCB do mdulo da rea de paletizao (vista pistas)

PCB do mdulo da rea de paletizao (vista pistas)

PCB do mdulo da rea de paletizao (vista pistas)

69

Anexo D. Pgina PHP (Ficheiros)


Na pasta Aplicao Servidora (Ficheiros) encontram-se os ficheiros relativos
aplicao servidora desenvolvida neste projecto.

70

Anexo E. Aplicao Windows (Instalador)


Na pasta Aplicao Windows Auto-Installer encontram-se os ficheiros necessrios
para a instalao da aplicao Windows em qualquer computador.

71

Anexo F. Aplicao Windows (Ficheiros)


Na pasta Aplicao Windows (Ficheiros) encontram-se os ficheiros relativos
aplicao servidora desenvolvida neste projecto.

72

73

Histrico
31 de Agosto de 2013, Verso 1.0, mailto:1080502@isep.ipp.pt

74

Вам также может понравиться