View
1
Download
0
Category
Preview:
Citation preview
Projecto de fim de curso – 2003/2004
Licenciatura em Engenharia Electrotécnica e Computadores
Faculdade de Engenharia Universidade do Porto
Azevedos Industria S.A.
Sistema avançado de análise de superfícies de rolhas
[Projecto iVLAB]
Este relatório é confidencial, não sendo autorizada a sua divulgação, sem que tenha
sido autorizado pelos envolvidos no projecto, nomeadamente, a Azevedos Industria, SA
e a Faculdade de Engenharia da Universidade do Porto.
Orientado por:
Prof. Dr. Américo Lopes Azevedo ala@fe.up.pt
Prof. Dr. António Paulo Moreira amoreira@fe.up.pt
Prof. Dr. Paulo Gomes da Costa paco@fe.up.pt
Elaborado por:
Carlos Manuel Correia da Silva carlos.correia@fe.up.pt
Hélder Filipe Pinto de Oliveira helder.oliveira@fe.up.pt
Vítor Manuel Machado Vieira vitor.vieira@fe.up.pt
1
Índice 23-07-2004
Projecto iVLAB 1
Índice
1 INTRODUÇÃO ............................................................... 12
1.1 Apresentação do projecto ...........................................................................12
1.1.1 Âmbito ........................................................................................................... 12
1.1.2 Objectivo ........................................................................................................ 12
1.2 Planeamento do projecto ...........................................................................13
1.3 Intervenientes ............................................................................................13
1.4 Disseminação ............................................................................................13
2 ESPECIFICAÇÕES TÉCNICAS ........................................ 15
2.1 Requisitos gerais .......................................................................................15
2.1.1 Requisitos mecânicos ..................................................................................... 15
2.1.2 Requisitos funcionais ..................................................................................... 15
2.1.3 Requisitos de inspecção visual ....................................................................... 16
2.2 Configurações de utilização .......................................................................18
2.2.1 Configuração 1 ............................................................................................... 19
2.2.2 Configuração 2 ............................................................................................... 20
2.3 Elementos utilizados .................................................................................21
2.3.1 Sensores e actuadores .................................................................................... 21
2.4 Subsistemas .............................................................................................. 22
2.5 Arquitectura de implementação ................................................................ 22
2.5.1 Descrição da arquitectura .............................................................................. 23
2.5.2 Avaliação da arquitectura implementada ....................................................... 24
2.5.3 Outras arquitecturas ....................................................................................... 24
2.5.3.1 Rede de PC’s ............................................................................................................ ............... 24
2.5.3.2 Avaliação da arquitectura “Rede de PC’s” .............................................................................. 25
2.5.3.3 Baseada em lógica dedicada .................................................................................................... 26
2.5.3.4 Avaliação da arquitectura baseada em lógica MSI .................................................................. 27
2.5.4 Outras soluções alternativas .......................................................................... 28
2.6 Estudo e viabilidade de soluções .............................................................. 29
2.6.1 Controlo do processo de suporte .................................................................. 29
2.6.1.1 Entradas .................................................................................................................................. 29
2.6.1.2 Saídas ....................................................................................................................................... 30
2.7 Sistema de aquisição de imagem............................................................... 30
2.7.1 Escolha do tipo de câmara ............................................................................. 30
2.7.1.1 Field-of-view ........................................................................................................................... 31
2.7.1.2 Resolução ................................................................................................................................ 32
2.7.2 Escolha do tipo de objectiva.......................................................................... 33
2.7.2.1 Distância focal ......................................................................................................................... 33
2.8 Sistema de Iluminação .............................................................................. 34
2.9 Sistema de protecção ................................................................................ 34
2
Índice 23-07-2004
Projecto iVLAB 2
3 IMPLEMENTAÇÃO DO SISTEMA .................................... 36
3.1 Solução adoptada...................................................................................... 36
3.1.1 Sistema de controlo – autómato CQM1H ..................................................... 36
3.1.1.1 Interface de controlo .............................................................................................................. 38
3.1.1.2 Inicialização do funcionamento do sistema ............................................................................ 40
3.1.2 Sistema de aquisição de imagem e interface de comunicação ....................... 41
3.1.2.1 Tipos de câmaras ..................................................................................................................... 41
3.1.2.2 Tipo de objectiva..................................................................................................................... 42
3.1.2.3 Frame Grabber ........................................................................................................................ 43
3.1.3 Sistema de iluminação .................................................................................... 43
3.1.4 Sistema de processamento de imagem ........................................................... 44
3.1.5 Sistema de interacção com o operador .......................................................... 45
3.1.6 Sistema de Protecção ..................................................................................... 45
3.1.6.1 Circuito eléctrico ..................................................................................................................... 45
3.2 Sequência de funcionamento .................................................................... 45
3.2.1 Condições de funcionamento......................................................................... 47
3.2.1.1 Falta de pressão ........................................................................................................ ............... 47
3.2.1.2 Falta de energia ........................................................................................................ ............... 47
3.2.1.3 Disparo de térmicos ................................................................................................................ 48
3.2.2 Estados do sistema......................................................................................... 48
3.2.2.1 Estado de Arranque................................................................................................................. 48
3.2.2.2 Estado Normal ........................................................................................................................ 49
3.2.2.3 Estado Desligado .................................................................................................................... 53
3.2.2.4 Estado Passo-a-Passo .............................................................................................................. 53
3.2.2.5 Estado Manual ......................................................................................................................... 54
3.2.2.6 Estado Paragem Normal ................................................................................................... ...... 55
3.2.2.7 Estado Anomalia ..................................................................................................................... 56
3.2.2.8 Estado Parado ......................................................................................................................... 57
3.2.3 Cálculo da velocidade do motor dos rolos .................................................... 57
3.2.4 Botoneira de emergência ................................................................................ 58
3.3 Comunicação ............................................................................................ 59
3.3.1 Recepção de dados ......................................................................................... 59
3.4 Avaliação de performance ..........................................................................61
3.4.1 Tempo de ciclo............................................................................................... 61
3.4.1.1 Elementos de cálculo .............................................................................................................. 61
3.4.1.2 Cálculo teórico ........................................................................................................................ 62
3.4.1.3 Valor experimental .................................................................................................................. 62
3.4.2 Sincronismo.................................................................................................... 63
3.4.3 Processamento Passo-a-Passo ........................................................................ 63
3.4.3.1 Atraso de comunicação ........................................................................................................... 66
3.4.4 Processamento em série ................................................................................. 66
3.4.5 Comunicação interna – UDP ......................................................................... 67
3.4.6 Algoritmo de decisão ..................................................................................... 67
3.4.6.1 Recepção de pacote UDP ........................................................................................................ 69
3
Índice 23-07-2004
Projecto iVLAB 3
3.4.6.2 Comparação de valores ........................................................................................................... 69
3.4.6.3 Filtragem de classes ................................................................................................................. 69
3.4.6.4 Iteração de corpo e topos ....................................................................................................... 70
3.4.6.5 Tipo de processamento ........................................................................................................... 70
3.4.6.6 Aferição da saída ..................................................................................................................... 70
3.4.6.7 Distribuição de saídas .................................................................................................. ........... 70
3.4.7 Parâmetros de processamento........................................................................ 71
4 APLICAÇÃO IVLAB........................................................ 73
4.1 Descrição Geral ........................................................................................ 73
4.1.1 Perspectiva do produto .................................................................................. 73
4.1.1.1 Funcionalidades genéricas implementadas .............................................................................. 74
4.1.1.2 Características dos utilizadores ............................................................................................... 75
4.1.1.3 Interfaces do Utilizador .......................................................................................................... 75
4.1.2 Restrições do Sistema .................................................................................... 76
4.1.2.1 Hardware ................................................................................................................................. 76
4.1.2.2 Entrada de dados no sistema .................................................................................................. 77
4.1.2.3 Saída de dados do sistema ............................................................................................... ........ 77
4.1.3 Dependências e Suposições ........................................................................... 77
4.1.3.1 Software................................................................................................................................... 77
4.1.3.2 Hardware ................................................................................................................................. 78
4.2 Requisitos funcionais ............................................................................... 78
4.2.1 Utilização geral ............................................................................................... 78
4.2.2 Produção ........................................................................................................ 80
4.2.3 Parâmetros de funcionamento ....................................................................... 82
4.2.3.1 Corpo....................................................................................................................................... 83
4.2.3.2 Topos....................................................................................................................................... 84
4.2.3.3 Processamento de Imagem ...................................................................................................... 84
4.2.3.4 Filtragem de Classes ................................................................................................................ 85
4.2.3.5 Combinações ........................................................................................................................... 86
4.2.3.6 Saídas ....................................................................................................................................... 88
4.2.4 Configuração .................................................................................................. 88
4.3 Atributos do Sistema................................................................................. 89
4.3.1 Tempo real ..................................................................................................... 89
4.3.2 Repetibilidade................................................................................................. 90
4.3.3 Robustez......................................................................................................... 90
4.3.4 Fiabilidade ...................................................................................................... 90
5 MANUAL DE UTILIZADOR ............................................. 92
5.1 Introdução à aplicação iVLAB .................................................................. 92
5.2 Conceitos básicos ..................................................................................... 92
5.2.1 Explorar o programa ...................................................................................... 92
5.3 Utilização do iVLAB ................................................................................. 95
5.3.1 Funcionamento normal .................................................................................. 95
5.3.1.1 Parametrizar classes ................................................................................................................ 95
4
Índice 23-07-2004
Projecto iVLAB 4
6 CONCLUSÕES ............................................................. 105
7 BIBLIOGRAFIA ............................................................ 106
5Projecto iVLAB 5
Lista de figuras 23-07-2004
Lista de figuras
Figura 2-1 – Lenha /Costa ...................................................................................................... 16
Figura 2-2 – Barriga ................................................................................................................ 16
Figura 2-3 – Caleira ................................................................................................................. 17
Figura 2-4 – Fendas no corpo ................................................................................................. 17
Figura 2-5 – Fendas nos topos................................................................................................ 17
Figura 2-6 – Bicho no corpo ................................................................................................... 17
Figura 2-7 – Bicho nos topos.................................................................................................. 17
Figura 2-8 – Anos secos – corpo ............................................................................................ 18
Figura 2-9 – Anos secos – topos ............................................................................................ 18
Figura 2-10 – Verdura ............................................................................................................. 18
Figura 2-11 – Topo a partir .................................................................................................... 18
Figura 2-12 – Sistema mecânico de suporte 1 ........................................................................ 19
Figura 2-13 – Sistema mecânico de suporte ........................................................................... 20
Figura 2-14 – Arquitectura implementada .............................................................................. 23
Figura 2-15 – Arquitectura “Rede de PC’s”............................................................................ 25
Figura 2-16 – Arquitectura baseada em lógica MSI ................................................................ 27
Figura 3-1 – Integração de subsistemas .................................................................................. 36
Figura 3-2 – Esquema de interface de controlo ..................................................................... 38
Figura 3-3 – Sistema de iluminação ........................................................................................ 43
Figura 3-4 – Formas de iluminação ........................................................................................ 43
Figura 3-5 – Espectro de emissão do LED branco ................................................................ 44
Figura 3-6 – Diagrama de funcionamento detalhado ............................................................. 46
Figura 3-7 – Diagrama de falta pressão .................................................................................. 47
Figura 3-8 – Diagrama de detecção de energia ....................................................................... 48
Figura 3-9 – Diagrama de detecção de sobreaquecimento dos motores ................................ 48
Figura 3-10 – Diagrama de estado de arranque ...................................................................... 48
Figura 3-11 – Diagrama de estado normal .............................................................................. 49
Figura 3-12 – Diagrama ciclo pré-operaorio .......................................................................... 50
Figura 3-13 – Alocação dinâmica de recursos ........................................................................ 52
Figura 3-14 – Listas circulares ................................................................................................ 53
Figura 3-15 – Diagrama de estado de desligado ..................................................................... 53
Figura 3-16 – Diagrama de estado passo-a-passo ................................................................... 54
Figura 3-17 – Diagrama de estado manual.............................................................................. 54
Figura 3-18 – Diagrama de estado paragem normal ............................................................... 55
Figura 3-19 – Diagrama de estado de anomalia ...................................................................... 56
Figura 3-20 – Aviso de Anomalia ........................................................................................... 57
Figura 3-21 – Diagrama de estado de parado ......................................................................... 57
6Projecto iVLAB 6
Lista de figuras 23-07-2004
Figura 3-22 – Cálculo da velocidade do motor dos rolos....................................................... 58
Figura 3-23 – Botoneira de emergência .................................................................................. 58
Figura 3-24 - Sincronismo....................................................................................................... 65
Figura 3-25 – Algoritmo de decisão........................................................................................ 68
Figura 4-3 – Funcionalidades principais ................................................................................. 79
Figura 4-5 – Dados de Produção ............................................................................................ 81
Figura 4-7 – Parâmetros do corpo .......................................................................................... 83
Figura 4-8 – Parâmetros dos topos ......................................................................................... 84
Figura 4-9 – Processamento de imagem ................................................................................. 85
Figura 4-10 – Filtragem de classes - corpo ............................................................................. 86
Figura 4-11 – Combuiações .................................................................................................... 87
Figura 4-12 - Saídas ................................................................................................................. 88
Figura 4-13 – Configurações ................................................................................................... 89
Figura 5-1 – Barra superior ..................................................................................................... 92
Figura 5-2 – Parâmetros de funcionamento ........................................................................... 93
Figura 5-3 – Configuração ...................................................................................................... 93
Figura 5-5 - Histórico ............................................................................................................. 94
Figura 5-7 – Configuração - detalhe ....................................................................................... 97
Figura 5-8 – Activação manual das saídas .............................................................................. 98
Figura 5-9 – Modo passo-a-passo ........................................................................................... 99
Figura 5-10 - Estatísticas ...................................................................................................... 100
Figura 5-12 – Parâmetros do corpo ..................................................................................... 102
Figura 5-13 – Combinações Corpo-Topos ........................................................................... 103
Figura 5-14 – Atribuição de saídas ....................................................................................... 104
7Projecto iVLAB 7
Lista de tabelas 23-07-2004
Lista de tabelas
Tabela 2-1 – Elementos do sistema mecânico ........................................................................ 21
Tabela 2-2 – Sensores ............................................................................................................. 21
Tabela 2-3 – Actuadores ......................................................................................................... 22
Tabela 2-4 – Avaliação da arquitectura implementada ........................................................... 24
Tabela 2-5 – Avaliação da arquitectura ................................................................................... 26
Tabela 2-6 – Avaliação da arquitectura baseada em lógica MSI ............................................. 28
Tabela 2-7 – Sinais de entrada no sistema .............................................................................. 29
Tabela 2-8 – Sinais de saída do sistema .................................................................................. 30
Tabela 3-1 – Entradas do sistema de controlo ....................................................................... 37
Tabela 3-2 – Saídas do sistema de controlo............................................................................ 37
Tabela 3-4 – Interface entre PC e autómato........................................................................... 39
Tabela 3-3 – Estados do sistema............................................................................................. 39
Tabela 3-5 – Variáveis no PLC de inicialização de funcionamento ....................................... 41
Tabela 3-6 – Principais características da câmara BASLER A600.......................................... 42
Tabela 3-7 – Parâmetros relativos ao sistema de aquisição de imagem.................................. 42
Tabela 3-8 – Elementos do cálculo de tempo de ciclo de autómatos CQM1 ........................ 61
Tabela 3-9 – Cálculo do tempo de ciclo ................................................................................. 62
Tabela 3-10 – Parâmetros de processamento ......................................................................... 71
Tabela 4-1 - Funcionalidades da aplicação iVLAB ................................................................. 74
8Projecto iVLAB 8
Glossário 23-07-2004
Glossário
Aplicação Software desenvolvido para interface com o
Autómato e utilizador
Autómato programável
Dispositivo com capacidade de processamento,
interface de entradas e saídas adaptado a ambiente
industrial
Bit Elemento binário de informação
Byte Elemento com 8 bits de dados
Ciclo de processamento do
Autómato
Conjunto de instruções que o autómato executa
periodicamente
Classe de rolha Categoria associada à qualidade da rolha
Contador Função do Autómato relativa à contagem de
impulsos
Hostlink Protocolo de comunicação para dispositivos
OMRON
Hz Unidade de medida de frequência
IEEE 1394 Protocolo de comunicação de alto débito
iVLAB Nome do projecto ao qual se refere este relatório
Lista circular Estrutura de dados cujo fim aponta para o início
Mancha amarela Defeito verifica nas rolhas devido a humidade
Mandrake 9.2 Versão do sistema operativo Linux
MasterDispositivo que coordena o comportamento de
outros dispositivos
Operador Utilizador com formação para utilizar a aplicação
PC Computador de uso pessoal
PC-Industrial PC vocacionado ambiente industrial
Punção
Dispositivo pneumático responsável pela
colocação da rolha nos rolos para que seja
adquirida a imagem do corpo
RS-232C Protocolo da comunicação de dados série
Sinalizador/Semáforo Sinal luminoso de indicação do estado da máquina
SistemaConjunto de dispositivos de processamento,
interface e aquisição de imagem
SlaveDispositivo cujo comportamento está subjugado
ao Master
9Projecto iVLAB 9
Glossário 23-07-2004
Software Programas de execução num PC
Sopro Sistema de pressão de ar responsável pela
expulsão da rolha para os receptáculos
TriggerSinal eléctrico que ser para iniciar a aquisição das
imagens por parte da câmara
UDP“User Datagram Protocol” Protocolo de comunicação
entre duas aplicações
UML
“Unified Modeling Language” Linguagem de
modulação usada para descrever sistemas de
informação e aplicações de software
UPS
Universal power source. Este dispositivo
armazena energia eléctrica e mantêm uma tensão
constante na saída
Word Estrutura com dois bytes de tamanho
10Projecto iVLAB 10
Sumário executivo 23-07-2004
Sumário executivo
O presente relatório tem por objectivo descrever as metodologias e explicar os
passos do desenvolvimento do projecto de fim de curso iVLAB, realizado no
segundo semestre do ano lectivo de 2003/04, na Faculdade de Engenharia da
Universidade do Porto.
Os diferentes elementos de especificação, concepção e desenvolvimento do
sistema estão organizados nos seguintes capítulos:
Capítulo 1: Introdução;
Capítulo 2: Especificação de técnicas;
Capítulo 3: Implementação do sistema;
Capítulo 4: Aplicação iVLAB;
Capítulo 5: Manual do utilizador.
Introdução
 M B I T O E O B J E C T I V O D O P R O J E C T O
P L A N E A M E N T O D O P R O J E C T O
CAPÍTULO
1
Introdução 23-07-2004
Projecto iVLAB 12
1 Introdução
1.1 Apresentação do projecto
1.1.1 Âmbito
O projecto iVLAB foi realizado em parceria com a uma Empresa Industrial1,
cuja actividade económica se centra no desenvolvimento de sistemas e bens de
equipamento destinados ao processo de transformação de cortiça.
1.1.2 Objectivo
O presente projecto teve como objectivos principais:
1. Especificação de requisitos funcionais para elaboração do sistema de
inspecção automática de rolhas de cortiça natural ou rolhas
constituídas por um corpo de aglomerado e por um ou mais discos de
cortiça natural;
2. Concepção e desenvolvimento de software de controlo dos elementos
mecânicos e de movimentação;
3. Concepção e desenvolvimento da aplicação iVLAB para interacção com
o operador.
1 Azevedos Industria, SA.
Introdução 23-07-2004
Projecto iVLAB 13
1.2 Planeamento do projecto
O planeamento encontra-se em anexo 1 – Diagrama de GANTT do
planeamento do projecto.
1.3 Intervenientes
Os elementos intervenientes no projecto são a Faculdade de Engenharia da
Universidade do Porto, representada pelos alunos finalistas em Projecto de Fim de
Curso Carlos Correia Da Silva, Hélder Pinto de Oliveira e Vítor Machado Vieira,
orientados pelos Professores Doutores Américo Lopes de Azevedo, António Paulo
Moreira e Paulo Gomes da Costa do Departamento de Engenharia Electrotécnica e
de Computadores.
1.4 Disseminação
Toda a informação relativa ao presente projecto pode ser encontrada na
página http://ivsc.no-ip.com nas secções pertencentes ao projecto iVLAB.
A principal acção de promoção do projecto decorre nos dias 26, 27 e 28 de
Julho de 2004, na Faculdade de Engenharia da Universidade do Porto – FEUP, com
a apresentação pública do projecto e sua defesa, onde será apresentado o seu
poster.
Ver anexo 2 – Screenshoots da página.
Ver anexo 3 – Poster do projecto.
Especificações técnicas
D E S C R I Ç Ã O D O S R E Q U I S I T O S F U N C I O N A I S E N Ã O F U N C I O N A I S D O S I S T E M A D E I N S P E C Ç Ã O V I S U A L
A N Á L I S E D E S O L U Ç Õ E S
CAPÍTULO
2
Projecto iVLAB 15
Especificações técnicas 23-07-2004
2 Especificações técnicas
2.1 Requisitos gerais
Para que o sistema possa responder aos requisitos identificados, foram
estudadas e analisadas diferentes arquitecturas de controlo e aquisição de imagem.
O objectivo principal é assegurar, não só, o processo de aquisição e tratamento,
como também o correcto funcionamento do sistema de movimentação e suporte ao
processo de inspecção de imagem associada à selecção de classes dos objectos a
inspeccionar.
2.1.1 Requisitos mecânicos
Os objectos a inspeccionar são rolhas de cortiça com as seguintes dimensões:
Tamanho vertical: entre 20 e 60 mm (corpo);
Diâmetro: 19 a 32 mm (topos);
Para além destes requisitos dimensionais consideram-se os seguintes requisitos:
Cadência de inspecção: 4 rolhas por segundo;
Nº máximo de saídas: 8+1.
2.1.2 Requisitos funcionais
Inspecção visual do corpo e topos da rolha;
Inspecção visual de rolhas de cortiça e aglomerado;
Inspecção em contínuo ou individual;
Definição de parâmetros de inspecção;
Parametrização do classificador de selecção;
Caracterização da amostra a inspeccionar por classes;
Projecto iVLAB 16
Especificações técnicas 23-07-2004
Auto-aprendizagem e auto-calibração do sistema de inspecção;
Caracterização estatística dos resultados dos produtos inspeccionados;
2.1.3 Requisitos de inspecção visual
O sistema de inspecção visual automática de rolhas de cortiça deve permitir a
identificação dos seguintes defeitos:
Lenha/Costa – Pedaços lenhosos resultantes da perfuração ter sido
efectuada perto da parte exterior do sobreiro;
Figura 2-1 – Lenha /Costa
Barriga – Rugosidade ou superfície ondulada resultante da perfuração
ter sido efectuada perto da parte interior do sobreiro;
Figura 2-2 – Barriga
Caleira – Superfície longitudinal plana ou côncava devido à intersecção
entre perfurações ou rectificações;
Projecto iVLAB 17
Especificações técnicas 23-07-2004
Figura 2-3 – Caleira
Fendas – Separações longitudinais ou transversais da rolha, mais ou
menos profundas;
Figura 2-4 – Fendas no corpo Figura 2-5 – Fendas nos topos
Bicho – Passagens internas ou sobre a superfície da rolha efectuadas
por insectos;
Figura 2-6 – Bicho no corpo Figura 2-7 – Bicho nos topos
Anos secos – Linhas grossas que se estendem à volta e
longitudinalmente através da rolha devido a período de seca durante o
ciclo de crescimento do sobreiro;
Projecto iVLAB 18
Especificações técnicas 23-07-2004
Figura 2-8 – Anos secos – corpo Figura 2-9 – Anos secos – topos
Verdura – Deformação da superfície da rolha devido ao excesso de
humidade nas células de cortiça;
Figura 2-10 – Verdura
Topo a partir – Falta ou eminente falta de cortiça no topo;
Figura 2-11 – Topo a partir
2.2 Configurações de utilização
No âmbito do projecto iVLAB estão em consideração duas configurações
principais para o protótipo a desenvolver:
Configuração 1 – baseada na mesma arquitectura dos sistemas
industriais actualmente disponíveis comercialmente numa perspectiva
de utilização industrial;
Configuração 2 – baseada numa solução mais compacta numa
perspectiva de utilização laboratorial.
Projecto iVLAB 19
Especificações técnicas 23-07-2004
2.2.1 Configuração 1
Esta configuração é similar aos sistemas disponíveis a nível industrial.
As rolhas provenientes de uma unidade de alimentação, são conduzidas por
um tapete linear que as levará até à entrada da câmara de inspecção. No final deste
tapete, a rolha é conduzida através de um pistão pneumático, até à câmara de
inspecção baseada num sistema constituído por três rolos motorizados, fazendo-a
rodar. Neste momento é capturada a imagem do corpo da rolha.
No fim desta acção a rolha é expelida para um outro tapete transversal, pela
rolha seguinte introduzida pelo pistão. Depois de colocada neste segundo tapete é
necessária a captura de outras duas imagens, relativas aos dois topos. O processo de
inspecção fica concluído após a aquisição das três imagens da superfície da rolha, ao
qual se segue o processo de análise e processamento.
Depois da actividade de processamento e de classificação, a rolha é ejectada
para um receptáculo específico, de acordo com os resultados da análise efectuada. A
Configuração 1 é apresentada na Figura 2-12.
Figura 2-12 – Sistema mecânico de suporte 1
Projecto iVLAB 20
Especificações técnicas 23-07-2004
Legenda:
1- Punção;
2- Rolos;
3- Tapete de saída;
4- Câmaras de corpo e topos;
5- Sopros de expulsão de rolhas;
6- Receptáculos para rolhas.
2.2.2 Configuração 2
Na Configuração 2, procura-se o desenvolvimento de uma solução compacta,
a nível do hardware, de modo a simplificar o próprio sistema de controlo.
Esta configuração é mais compacta em termos mecânicos e menos complexa
em termos de controlo. É apresentada na Figura 2-13:
Figura 2-13 – Sistema mecânico de suporte
Projecto iVLAB 21
Especificações técnicas 23-07-2004
2.3 Elementos utilizados
Neste sistema de inspecção de rolhas de cortiça é necessário o uso de diversos
elementos físicos:
Unidade de alimentador de rolhas
Tubo de ligação do alimentador ao sistema de aquisição de
imagem
Tapete de entrada para condução das rolhas ao sistema de
aquisição
Punção pneumático
Rolos de suporte da rolha durante a aquisição de corpo
Tapete de saída com suporte para rolha
Sopros de ar
Receptáculos de saída
Tabela 2-1 – Elementos do sistema mecânico
2.3.1 Sensores e actuadores
Sensor Descrição
Presença de rolha Detecta a existência de rolhas no tapete de
entrada para aquisição de imagem
Sensor rotação motores dos rolos Detecta movimento do motor dos rolos
Sensor rotação motores do tapete
de saída
Detecta movimento do motor do tapete de
saída
Sensor térmico do motor do tapete
de entrada
Detecta sobreaquecimento no motor do tapete
de entrada
Sensor térmico do motor dos rolos Detecta sobreaquecimento no motor dos rolos
Sensor térmico do motor do tapete
de saída
Detecta sobreaquecimento no motor do tapete
de saída
Pressostato Detecta a falha de ar comprimido no sistema
Presença de energia (tensão
eléctrica) Detecta a falha de alimentação no sistema
Tabela 2-2 – Sensores
Projecto iVLAB 22
Especificações técnicas 23-07-2004
Actuador Descrição
Motor da unidade de
alimentação de rolhas
Elemento responsável pela movimentação
do dispositivo alimentador de rolhas,
conduzindo as rolhas até à câmara de
inspecção
PunçãoElemento pneumático para colocação das
rolhas nos rolos
Motor dos rolos Elemento responsável pela rotação dos
rolos durante a inspecção de corpo
Motor do tapete de
evacuação (saída)
Elemento responsável pela movimentação
do tapete de saída, que conduzirá as rolhas
até à sua expulsão
Sopros (1…8) Elementos responsáveis pela expulsão das
rolhas para os respectivos receptáculos
Tabela 2-3 – Actuadores
2.4 Subsistemas
A especificação de requisitos foi dividida em subsistemas de modo a permitir
uma análise detalhada e flexibilização de integração futura dos seus constituintes.
São eles:
Sistema de controlo dos elementos electromecânicos;
Sistema de aquisição de imagem;
Sistema de iluminação;
Sistema de processamento e controlo;
Sistema de interacção com o operador;
Sistema de protecção.
2.5 Arquitectura de implementação
Na realização do sistema de aquisição e controlo podem ser consideradas
várias arquitecturas distintas de acordo com as principais opções tecnológicas
Projecto iVLAB 23
Especificações técnicas 23-07-2004
requeridas. No sistema presente optou-se por uma arquitectura baseada em PC, com
autómato programável para controlo do sistema electromecânico.
2.5.1 Constituição e funcionamento da arquitectura
A arquitectura é constituída por um computador, três câmaras digitais e um
autómato programável.
O computador controla as câmaras através de uma linha de comunicação
dedicada, enquanto que o autómato controla o sistema de alimentação e
movimentação. Estes dispositivos comunicam de forma bidireccional para
coordenação de operações – ver Figura 2-14.
Cada uma das câmaras é responsável pela captura de uma de três superfícies
da rolha – o corpo e dois topos. A primeira câmara encontra-se numa posição
superior aos cilindros onde a rolha se encontra a rolar – conforme Figura 2-12 –
onde é capturada a imagem do corpo da rolha. As outras câmaras são responsáveis
pela captura da imagem dos topos, realizada aquando da deslocação das mesmas no
tapete de saída.
O autómato programável é responsável pelas tarefas associadas aos diferentes
sensores e actuadores presentes no sistema mecânico.
Figura 2-14 – Arquitectura implementada
Projecto iVLAB 24
Especificações técnicas 23-07-2004
2.5.2 Avaliação da arquitectura implementada
Esta arquitectura permite simplificar o sincronismo do sistema pelo facto de
estarem as três câmaras ligadas ao mesmo computador (PC), não necessitando de
comunicação entre unidades de processamento. No entanto levanta um problema de
hardware, já que é necessário garantir que o adaptador de interface suporte em
simultâneo três dispositivos (câmaras). Esta arquitectura possibilita também que a
sua manutenção seja facilitada, embora o seu upgrade, pelo facto de se tratar de
grande quantidade de dados, já possa trazer algumas complicações.
Critérios
Arquitectura com
Interface
IEEE – 1394
Arquitectura com
Interface Ethernet
Sincronismo Muito Bom Muito Bom
Upgrade Razoável Razoável
Manutenção Muito Boa Muito Boa
Hardware Razoável Razoável
Custo Bom Muito Bom
Velocidade Muito Boa Boa
Complexidade Pouca Pouca
Tabela 2-4 – Avaliação da arquitectura implementada
2.5.3 Outras arquitecturas
2.5.3.1 Rede de PC’s
Esta arquitectura é constituída por dois computadores, três câmaras digitais e
um autómato. Poder-se-á adicionalmente considerar um terceiro computador a
funcionar como master – ver Figura 2-15.
Nesta arquitectura um computador controla a câmara de aquisição do corpo
da rolha através de uma ligação dedicada, ficando o processamento das câmaras de
aquisição dos topos associado ao segundo computador. Cada um deles comunica
com o master através de uma ligação de rede de alto débito. O autómato controla o
Projecto iVLAB 25
Especificações técnicas 23-07-2004
sistema de alimentação e movimentação, comunicando com o master para
coordenação de operações.
Os locais de captação das imagens são os mesmos dos apresentados na
Arquitectura I.
O master é encarregado pelo sincronismo associado à captura de imagem e
pelo processamento e análise da informação recolhida pelas três câmaras, da qual
resulta uma categorização das rolhas. O autómato irá actuar o sistema pneumático
que encaminhará as rolhas para os diferentes receptáculos de acordo com a
informação fornecida pelo master.
Figura 2-15 – Arquitectura “Rede de PC’s”
2.5.3.2 Avaliação da arquitectura “Rede de PC’s”
Esta arquitectura foi idealizada de forma a facilitar possíveis mudanças e
melhorias do sistema. O facto de existirem dois computadores no sistema
possibilita a introdução de novos equipamentos, sem que isso seja um problema
acrescido, pelo facto de estarem acessíveis mais interfaces de entrada/saída. Outro
factor positivo deste sistema tem que ver com facilidade de instalação do adaptador
de comunicações dedicadas. Esta arquitectura levanta um problema de sincronismo,
já que é necessário que os computadores consigam comunicar entre si, sem que isso
cause atrasos de processamento e decisão. O custo desta aplicação é um factor
negativo, relativamente às outras arquitecturas apresentadas devido à necessidade de
quantidade adicional de equipamentos.
Projecto iVLAB 26
Especificações técnicas 23-07-2004
Critérios Arquitectura com Interface
IEEE – 1394
Arquitectura com
Interface Ethernet
Sincronismo Mau Mau
Upgrade Muito Bom Muito Bom
Manutenção Má Má
Hardware Bom Bom
Custo Mau Mau
Velocidade Muito Boa Razoável
Complexidade Média Média
Tabela 2-5 – Avaliação da arquitectura
2.5.3.3 Baseada em lógica dedicada
Esta arquitectura é constituída por um computador, três câmaras digitais, um
dispositivo de aquisição e processamento de sinais interno ao PC ou um dispositivo
baseado em microprocessador/microcontrolador e lógica SSI/MSI para utilização
externa.
O computador controla todas as câmaras através das ligações dedicadas,
enquanto que o dispositivo de aquisição e processamento de sinais é encarregado
pelo controlo do sistema de alimentação e movimentação do sistema através de
dispositivos sensores e actuadores – ver ponto 2.3.
Os locais de captação das imagens são os mesmos aos apresentados na
Arquitectura I.
Projecto iVLAB 27
Especificações técnicas 23-07-2004
Figura 2-16 – Arquitectura baseada em lógica MSI
2.5.3.4 Avaliação da arquitectura baseada em lógica MSI
Esta arquitectura tem o mesmo princípio da arquitectura, tendo apenas uma
alteração no que diz respeito ao controlo do sistema de alimentação e
movimentação, que neste caso é feito por um dispositivo dedicado interno, com
uma componente externa de entrada/saída de sinais. Apesar de possuir uma elevada
facilidade de sincronismo, esta arquitectura necessita de uma capacidade de
processamento bastante mais elevada para execução de tarefas repetitivas, pelo
facto de ter que coordenar/processar a informação pertencente a todos os
subsistemas, o que pode ser dividido nas outras arquitecturas pelo facto de se
utilizarem dispositivos dedicados ao funcionamento de subsistemas específicos.
Projecto iVLAB 28
Especificações técnicas 23-07-2004
Critérios Arquitectura com Interface
IEEE – 1394
Arquitectura
com Interface
Ethernet
Sincronismo Muito Bom Muito Bom
Upgrade Razoável Razoável
Manutenção Razoável Razoável
Hardware Razoável Razoável
Custo Bom Bom
Velocidade Muito Boa Boa
Complexidade Pouca Pouca
Tabela 2-6 – Avaliação da arquitectura baseada em lógica MSI
2.5.4 Outras soluções alternativas
Nas soluções baseadas em “pacote único”, os computadores, câmaras,
receptores de imagem (frame grabbers) e software estão incorporados num único
sistema tipo “componente” de uso geral. Apesar de serem produtos genéricos e de
espectro alargado quanto à sua utilização, não apresentam a flexibilidade necessária
para aplicações específicas como a do presente projecto.
Existem igualmente outras soluções baseadas em câmaras “inteligentes”, isto
é, com capacidade de processamento de imagem. Também nestes casos a
aplicabilidade ao problema em questão, após análise de características e de
informação técnica, parece ser limitada, pelo que não foi considerada para o
presente projecto.
Projecto iVLAB 29
Especificações técnicas 23-07-2004
2.6 Estudo e viabilidade de soluções
2.6.1 Controlo do processo de suporte
No controlo do sistema de movimentação e suporte ao sistema de aquisição
e processamento de imagem identificam-se os seguintes sinais de entrada/saída:
2.6.1.1 Entradas
Sinal Descrição Tipo
Start Liga o sistema Interruptor – NA
Pressostato Indica a presença de ar comprimido
no sistema Sensor de Pressão – PNP
Presenca_Energia Indica a presença de tensão eléctrica Relé falha de fase – NA
TermicosIndica o sobreaquecimento dos
motores
Sensor temperatura –
PNP
Botao_Emergencia Botoneira de emergência Botoneira em forma de
cogumelo – NF
Presenca_Rolha Indica a presença de rolhas no tapete
de entrada Sensor óptico – PNP
Rotacao_Rolos Indica a rotação dos rolos Sensor Indutivo – PNP
Rotacao_Tap_Saida Indica a movimentação do tapete de
saída Sensor indutivo – PNP
Detect_Obj_Vibrador Indica a presença de rolhas na
unidade de alimentação de rolhas Fim de curso – PNP
Posicao_Puncao Indica a posição do punção Sensor indutivo – PNP
Tabela 2-7 – Sinais de entrada no sistema
NA – Normalmente aberto; NF – Normalmente fechado; PNP – Saída em
colector aberto.
Projecto iVLAB 30
Especificações técnicas 23-07-2004
2.6.1.2 Saídas
Sinal Descrição Tipo
Sopro1…8Jacto de ar para expulsão de rolhas do
tapete de saída 24 VDC
Vibrador Funcionamento da unidade de
alimentação de rolhas 230 VAC
Motor_Tap_Entrada Motor de entrada de acesso ao ciclo
de inspecção 230 VAC
Motor_Tap_Saida Motor de evacuação (saída) 400 VAC
Puncao
Elemento de introdução de rolha no
suporte de aquisição de imagem de
corpo
24 VAC
Motor_Rolos Motor dos rolos de rotação da rolha
para aquisição de imagem do corpo 230 VAC
Sem_Verde Sinal verde 24 VAC
Sem_Vermelho Sinal vermelho 24 VAC
Sem_Amarelo Sinal amarelo 24 VAC
Ecra Alimentação do ecrã 230 VAC
Tap_Saida_Tras Impulso para trás do motor de saída 400 VAC
PC Alimentação do PC 230 VAC
Tabela 2-8 – Sinais de saída do sistema
2.7 Sistema de aquisição de imagem
2.7.1 Escolha do tipo de câmara
As câmaras foram escolhidas após análise dos seguintes critérios:
Tecnologia dos sensores de aquisição: CCD (Charge Coupled Device)
ou CMOS (Complementary Metal Oxide Semiconductors);
Tipo de aquisição: Linear ou matricial;
Projecto iVLAB 31
Especificações técnicas 23-07-2004
Modo de operação: Mono ou policromático;
Comunicação.
A descrição detalhada de cada um deste elementos pode ser encontrada no
anexo 5.
2.7.1.1 Field-of-view
FOV = (Dp +Lv)(1+Pa)
Equação 2-1
Em que:
Dp é o valor máximo da distância a que se pretende adquirir do objecto;
Lv é a variação da localização e orientação do objecto;
Pa é um valor percentual para permitir eventuais variações na orientação do
sistema de aquisição de imagem.
Normalmente, para aplicações deste tipo, aceita-se um valor de 10%.
Câmara de inspecção do corpo da rolha:
FOVvertical=(6 cm +1cm)(1+0.1)= 7.7cm
FOVhorizontal=((4cm+0cm)(1+0.1)=4.4cm
Relação de aspecto 7:4
Câmara de inspecção dos topos da rolha:
FOVhorizontal=FOVvertical= (4+1)(1+0.1) = 5.5cm
Relação de aspecto 1:1
Figura 2-17 - Field - of - View da
câmara de aquisição do corpo
Figura 2-18 –
Field - of – View das
câmaras matriciais
Projecto iVLAB 32
Especificações técnicas 23-07-2004
Figura 2-19 – Corpo do objecto
A relação de aspecto calculada não se encontra nas máquinas existentes no
mercado, o que implica que a aquisição de imagem conterá zonas nas quais não se
encontra o objecto - Figura 2-19. Esta
questão não traz um aumento
significativo na complexidade de
processamento de imagem, sobretudo
porque alguns dispositivos actualmente
existentes no mercado possibilitam a
definição de uma área de interesse (AOI
-Area of Interest), permitindo seleccionar
a área da imagem matricial, como se de
uma câmara linear se tratasse. A união
de uma sequência de imagens lineares
resulta na figura apresentada ao lado.
2.7.1.2 Resolução
Resolução da imagem
A resolução pretendida para a aplicação corrente é da ordem das décimas de
milímetro ( para detecção de micro-fissuras). Para uma câmara genérica com
500x500 pixels, o valor encontrado para a resolução espacial é de:
Rs = FOV/Ri = 7.7 cm /500 pixel = 154 µm/pixel
Este valor representa a distância entre os centros de cada pixel, para o pior
dos casos, considerando ainda que não foi utilizado qualquer processo de ampliação
da imagem. O valor apresentado encontra-se perfeitamente dentro dos critérios de
aceitação, pelo que qualquer máquina com resolução idêntica ou superior, terá uma
resolução espacial capaz de ir ao encontro dos requisitos apresentados.
Projecto iVLAB 33
Especificações técnicas 23-07-2004
Resolução por pixel
A resolução por pixel representa a granularidade de cada pixel, entendido
como o número de níveis de cinzento ou de cores que são representadas em cada
pixel.
Câmaras policromáticas típicas usam 8 bits para cada uma das cores básicas,
num total de 16 277 216 cores possíveis.
2.7.2 Escolha do tipo de objectiva
Na escolha da objectiva devem considerar-se os seguintes aspectos:
Distância focal;
Dimensões do sensor;
Tipo de objectiva (montagem).
2.7.2.1 Distância focal
Mi=Hi/Ho =9,9 . 656/77000=0,084
F=Do . Mi/(1+Mi)=200mm x 0,084/1,084 = 15,5mm.
Deste modo
conclui-se que a
distância focal deverá
ser de 16mm, por ser
este o valor standard
mais próximo do valor
encontrado. Figura 2-20 – Distância focal
Projecto iVLAB 34
Especificações técnicas 23-07-2004
2.8 Sistema de Iluminação
A iluminação foi escolhida após análise dos seguintes critérios:
Tipos de iluminação
Fibra óptica;
Led;
Dispositivos
fluorescentes;
LASER;
Estereoscópios;
Iluminação
infravermelha.
Técnicas de iluminação
Frontal;
Lateral.
Formas de iluminação
Linear;
Circular;
Pontual;
Difusa.
A descrição detalhada dos critérios enunciados pode ser encontrada no
anexo 6.
2.9 Sistema de protecção
O sistema de protecção contempla duas situações distintas:
Emergência – Quando ocorre falha de energia eléctrica ou é actuado o
dispositivo dedicado;
Anomalia – Quando se verifica falha de pressão no sistema pneumático
ou se verifique sobreaquecimento dos motores eléctricos.
Em situação de emergência a máquina tem obrigatoriamente que desligar-se,
enquanto que em situação de anomalia a maquina deve alertar o utilizador do seu
estado, permitindo a sua actuação sobre o problema verificado.
Implementação do sistema
C O N C E P Ç Ã O E I N T E G R A Ç Ã O D E S U B S I S T E M A S
CAPÍTULO
3
36Projecto iVLAB 36
Implementação do sistema 23-07-2004
3 Implementação do sistema
3.1 Solução adoptada
A solução adoptada está esquematicamente representada na Figura 3-1.
Figura 3-1 – Integração de subsistemas
3.1.1 Sistema de controlo – autómato CQM1H
O dispositivo usado é um Autómato da OMRON série CQM1H -CPU51 com
capacidade de memória de 7200 words. São ainda usadas três cartas de interface (uma
carta de entrada (0CH) e duas de saída (OD212), com saídas em transístor1). O
protocolo de comunicação escolhido, foi o protocolo HostLink da OMRON. Na
Figura 3-2 é esquematizado a interface de controlo.
1 A vantagem de utilizar saídas a transístor tem que ver com o aumento da largura de banda
do sistema e com a redução significativa do ruído electromagnético.
37Projecto iVLAB 37
Implementação do sistema 23-07-2004
Na concepção do sistema foram considerados os seguintes sinais de entrada e
saída:
Sinal Descrição Endereço
Pressostato Indica a presença de ar comprimido 0.00
Presenca_Energia Presença de tensão eléctrica 0.01
Termicos Sobreaquecimento dos motores 0.02
Botao_Emergencia Botoneira de emergência 0.03
Presenca_Rolha Presença de rolha no tapete de entrada 0.04
Rotacao_Rolos Rolos em rotação 0.05
Rotacao_Tap_Saida Tapete de saída em rotação 0.06
Posicao_Puncao Posição relativa do punção 0.07
Tabela 3-1 – Entradas do sistema de controlo
Sinal Descrição Endereço
PC Alimentação do computador industrial 100.00
Sopro1…8Jacto de ar para expulsão de rolhas do tapete de
saída
100.01 até
100.08
Vibrador Funcionamento da unidade de alimentação 100.09
Motor_Tap_Entrada Motor de entrada de acesso ao ciclo de inspecção 100.10
Motor_Tap_Saida Motor de evacuação (saída) 100.11
PuncaoElemento de introdução de rolha no suporte de
aquisição de imagem de corpo 100.12
Motor_Rolos Motor dos rolos de rotação da rolha para aquisição
de imagem do corpo 100.13
Sem_Verde Sinal verde 100.14
Sem_Vermelho Sinal vermelho 100.15
Sem_Amarelo Sinal amarelo 101.00
Monitor Alimentação do ecrã táctil 101.01
Tap_Saida_Tras Impulso para trás do motor de saída 101.02
Tabela 3-2 – Saídas do sistema de controlo
38Projecto iVLAB 38
Implementação do sistema 23-07-2004
3.1.1.1 Interface de controlo
Com o objectivo de coordenar os sistemas de controlo foram criadas
hierarquias de funcionamento, tendo sido atribuído ao PC industrial a função de
Master e ao Autómato a de Slave. A troca de informação entre estes dois elementos
é efectuada através das variáveis de interface ( Tabela 3-4) permitindo ao PC
Industrial estabelecer o estado de funcionamento ou ao Autómato indicar o estado
para o qual evoluiu, de acordo com as transições possíveis apresentadas na Figura
3-6.
Na implementação da interface de controlo são utilizados dois blocos de
memória. O bloco interface corresponde às variáveis que são constantemente
trocadas entre o PC e o autómato para controlo do sistema – ver Tabela 3-3. O
bloco inicialização corresponde a variáveis cujo valor é definido no início de cada
sessão – ver Tabela 3-5.
Figura 3-2 – Esquema de interface de controlo
39Projecto iVLAB 39
Implementação do sistema 23-07-2004
As variáveis de interface são as seguintes:
AcessoVariáveis Tipo
Posição
alocadaValor Inic
PC PLC
Estado UINT DM100 1…9 RW RW
Estado_Paragem_Normal UINT DM101 0…1 RW R
Entrada_Carta1 INT DM102 0…FFFFh R W
Saida_Carta1 INT DM103 0…FFFFh R W
Saida_Carta2 INT DM104 0…FFFFh R W
R_Motor_Rolos INT DM105 0….FFFFh 0 R W
R_Motor_Saida INT DM106 0….FFFFh 0 R W
Res_Proc_Imagem UINT DM107 1….8 0 RW R
Versao_Automato INT DM108 0…9999h 1082h R W
Tabela 3-3 – Interface entre PC e autómato
R – Leitura;
W – Escrita.
Estado: Posição de memória que indica o estado do sistema. Admite os
seguintes valores:
Estado Valor
Arranque 1
Arranque Ok 2
Parado 3
Normal 4
Emergência 5
Manual 6
Desligado 7
Passo a Passo 8
Anomalia 9
Tabela 3-4 – Estados do sistema
2 Exemplo de versão do firmware. No caso 1.08.
40Projecto iVLAB 40
Implementação do sistema 23-07-2004
Estado_Paragem_normal : Posição que indica o pedido de paragem de
normal – valor 1. Trata-se de uma variável auxiliar de estado que
funciona em conjunto com o estado Normal. Se o sistema estiver em
estado normal e se for pretendido fazer paragem normal, o sistema
mantém-se em estado normal, desligando apenas os dispositivos de
alimentação das rolhas, de onde se justifica a utilização de variável
auxiliar de estado e não um novo estado.
Entrada_Carta1: Valores das entradas do sistema;
Saída_Cartai: Valores das saídas na carta i;
Res_Proc_Imagem : Resultado do processamento de imagem. O valor
de 1 a 8 corresponde às diferentes classes possíveis;
R_Motor: Valor proporcional à velocidade de rotação do motor
considerado.
3.1.1.2 Inicialização do funcionamento do sistema
O funcionamento do sistema depende de um conjunto de constantes cujos
valores devem ser definidos aquando do arranque de cada sessão. Estes valores são
enviados do PC industrial para o autómato não podendo ser alterados casos o
sistema se encontre em funcionamento. Para o fazer é necessário parar o sistema e
proceder à sua actualização.
Variáveis Tipo Posição alocada Valor
Load_Sopro1 INT DM120 10
Load_Sopro2 INT DM121 15
Load_Sopro3 INT DM122 20
Load_Sopro4 INT DM123 25
Load_Sopro5 INT DM124 26
Load_Sopro6 INT DM125 21
Load_Sopro7 INT DM126 16
Load_Sopro8 INT DM127 11
Indice_Sopros INT DM128 10h…25h
Indice_Contador INT DM129 30h…45h
41Projecto iVLAB 41
Implementação do sistema 23-07-2004
Est_Arranque UINT DM130 1
Est_Arranque_OK UINT DM131 2
Est_Parado UINT DM132 3
Est_Normal UINT DM133 4
Est_Emergencia UINT DM134 5
Est_Manual UINT DM135 6
Est_Desligado UINT DM136 7
Est_Passo_Passo UINT DM137 8
Est_Anomalia UINT DM138 9
K_Timeout_Input_Rolhas UINT_BCD DM139 100
K_Timeout_Output_Rolhas UINT_BCD DM140 10
K_Tempo_Sopro UINT_BCD DM141 5
Passo_a_Passo UINT_BCD DM142 0
Tabela 3-5 – Variáveis no PLC de inicialização de funcionamento
3.1.2 Sistema de aquisição de imagem e interface de comunicação
3.1.2.1 Tipos de câmaras
Optou-se por 3 câmaras matriciais para captura dos topos e do corpo. A
captura do corpo será efectuada recorrendo à definição de uma área de interesse
(AOI), permitindo a captura de uma faixa estreita correspondente à superfície
lateral da rolha.
Foram escolhidas câmaras BASLER da série A600, baseadas em tecnologia
CMOS. Estes dispositivos permitem ir de encontro a todos os requisitos funcionais
apresentados possuindo um interface de comunicação IEEE-1394, especialmente
adaptado para processos de aquisição de imagem com elevadas débitos de
informação.
O seu funcionamento policromático é especialmente relevante na identificação
de sais minerais e a “mancha amarela”. O elevado framerate é decisivo na captura de
imagens das rolhas em movimento à cadência de 4 por segundo.
42Projecto iVLAB 42
Implementação do sistema 23-07-2004
Principais características da BASLER série A600 Ver [17].:
Dimensões do Sensor(H x V Pixels) 656 x 491 (mono), 656 x 490 (color)
Tipo de Sensor CMOS de exposição progressiva
Dimensão de Pixel 9.9 µm x 9.9 µm
Max. Frame Rate com resolução
máxima
60 frames/s (fixed) 100 frames/s (superior
com AOI)
Color / Mono Mono ou Color
Video Output Type IEEE 1394
Formato de Video Out Mono: 8 bits/pixel, Color: YUV4:2:2 a
metade do framerate
Sincronização Via trigger externo ou através de bus 1394
Controlo de Exposição Programável via bus 1394
Alimentação +8 até +40 VDC (12 VDC nominal)
Lente C-mount
Dimensões externas (L x W x H) 67.5 mm x 44 mm x 29 mm
Peso max. 100 g (tipico)
Conformidade CE, Fcc
Tabela 3-6 – Principais características da câmara BASLER A600
3.1.2.2 Tipo de objectiva
Os resultados relativos ao sistema óptico são apresentados na Tabela 3-7.
Parâmetro Valor
Distância focal 16mm
Dimensões do sensor ½” (meia polegada)
Tipo de objectiva Tipo C
Tabela 3-7 – Parâmetros relativos ao sistema de aquisição de imagem
Com base nos valores apresentados na Tabela 3-7, adoptou-se o modelo
INZ85900 da Infaimon [19].
Esta escolha permite obter, na generalidade, boas performances permitindo a
definição de distância focal (variável entre 8.5mm e 90mm) e, por conseguinte,
adaptar a utilização da câmara à distância ao objecto definida (da ordem de
200mm).
43Projecto iVLAB 43
Implementação do sistema 23-07-2004
3.1.2.3 Frame Grabber
O dispositivo escolhido já tem integrado as funcionalidades de um Frame
Grabber. Deste modo apenas é exigido ao sistema um adaptador IEEE-1394 com 3
entradas.
3.1.3 Sistema de iluminação
Os dispositivos seleccionados são os modelos ALUD60, ref. IL018AB para
inspecção do corpo e o modelo ALED, ref. IL001zz, disponibilizados pela DCM
Sistemes, Ver [18].
a - ALED b - ALUD 60
Figura 3-3 – Sistema de iluminação
a – Iluminação do corpo da rolha b – Iluminação do topo da rolha
Figura 3-4 – Formas de iluminação
Atente-se à gama de frequências emitidas por leds brancos, cobrindo de forma
muito satisfatória parte do espectro visível – Figura 3-5. Este aspecto permite obter
uma imagem bastante fidedigna da superfície da rolha, sem prejuízo de zonas
44Projecto iVLAB 44
Implementação do sistema 23-07-2004
importantes do espectro visível, nomeadamente interferindo com a captura da
mancha amarela ( zona da superfície da cortiça que adquire a tonalidade devido a
humidade).
Figura 3-5 – Espectro de emissão do LED branco
3.1.4 Sistema de processamento de imagem
Para o processamento das imagens e posterior categorização das rolhas foi
escolhido um sistema operativo (SO) Linux embedded, instalado numa flash-rom de
128 Mb de capacidade. Esta opção permite, por um lado, diminuir o processamento
associado ao sistema operativo por possuir menos funcionalidades instaladas e por
outro lado, dado tratar-se de um computador adaptado ao funcionamento sob
condições industriais, diminuir o tempo de operação do SO. Este tempo é crítico
em termos de acesso ao disco duro, ao mesmo tempo que se evita a utilização de
peças móveis (cabeças de leitura do disco).
Especificação do PC:
Advantech Industrial Computer IPC 610;
Processador Intel Pentium III a 1GHz;
VideoCard Rage Ultra TR PCI 128;
128Mb de memória RAM;
Disco flash de 256Mb de capacidade.
45Projecto iVLAB 45
Implementação do sistema 23-07-2004
3.1.5 Sistema de interacção com o operador
Em ambas as configurações será disponibilizado um sistema de monitorização
e controlo através de PC, a correr uma aplicação dedicada para o efeito. O operador
poderá interagir com o sistema através deste terminal, podendo observar e
parametrizar valores de funcionamento.
3.1.6 Sistema de Protecção
Foram considerados três dispositivos de protecção:
UPS – Falhas de energia;
Safety Relay – Para anomalia;
Relé falha de fase – Problemas na alimentação trifásica.
3.1.6.1 Circuito eléctrico
O esquema do circuito eléctrico encontra-se no anexo 11.
3.2 Sequência de funcionamento
Ao conectar o sistema com a rede eléctrica, todos os dispositivos de segurança
e protecção devem estar activos havendo então a possibilidade de operar a máquina.
O funcionamento do sistema é iniciado quando o operador liga a máquina,
através do interruptor localizado no ecrã táctil. O PC inicia o arranque do sistema
operativo Linux, Distribuição Mandrake 9.2, com a aplicação iVLAB.
A inicialização da aplicação começa pela transferência de parâmetros de
funcionamento para o autómato programável (conforme tabela de interface do
sistema – ponto 3.1.1.1). O autómato recebe a ordem de funcionamento e inicia o
seu arranque. Quando terminar o arranque, identificado pelo estado de
46Projecto iVLAB 46
Implementação do sistema 23-07-2004
Arranque_OK, é ligado o ecrã táctil. Desta forma o operador acede às
funcionalidades da aplicação iVLAB sem passar pelo arranque do Linux.
A partir do estado parado o sistema pode ser colocado em estado passo-a-
passo, manual e normal. A Figura 3-6 ilustra o diagrama de transição de estados
previsto no sistema desenvolvido.
Estão também previstas sequências de paragem de emergência ou anomalia,
acessíveis a partir de qualquer estado. A resolução de uma paragem de emergência é
efectuada pelo operador. Quando este confirma a resolução do problema a
aplicação retorna ao estado parado.
Figura 3-6 – Diagrama de funcionamento detalhado
47Projecto iVLAB 47
Implementação do sistema 23-07-2004
3.2.1 Condições de funcionamento
São condições de funcionamento da máquina:
1. A existência de pressão suficiente no sistema pneumático;
2. A presença de energia eléctrica;
3. Não sobreaquecimento dos motores;
4. Motores dos tapetes em funcionamento;
5. Botão de emergência inactivo.
Estas condições são verificadas a cada novo ciclo de processamento do
autómato. Se uma destas falhar o sistema entra em estado de anomalia.
3.2.1.1 Falta de pressão
Caso se verifique falha de pressão (ar comprimido) o sistema passa a estado de
anomalia. Ver ponto 2.9.
Figura 3-7 – Diagrama de falta pressão
3.2.1.2 Falta de energia
Caso de falha de energia o sistema regista a falha de energia, mas contínua a
processar já que a UPS tem autonomia de energia para aproximadamente 5 minutos,
assegurando a alimentação do sistema.
Após a detecção de falha de energia a aplicação espera um minuto pela retoma
de energia proveniente da rede eléctrica, caso não seja retomada o sistema vai para
o estado de desligado. Se a electricidade for reposta, o sistema continua a no estado
no qual se encontra. A este propósito ver ponto 2.9.
48Projecto iVLAB 48
Implementação do sistema 23-07-2004
Figura 3-8 – Diagrama de detecção de energia
3.2.1.3 Disparo de térmicos
Caso se verifique sobreaquecimento nos motores o sistema passa a estado de
anomalia. Ver ponto 2.9.
Figura 3-9 – Diagrama de detecção de sobreaquecimento dos motores
3.2.2 Estados do sistema
3.2.2.1 Estado de Arranque
Por defeito o autómato programável está em estado desligado quando a
aplicação iVLAB é lançada. A aplicação coloca o sistema em estado de arranque, no
qual é ligado o Ecrã táctil. Se o arranque foi bem sucedido, o sistema passa ao
modo de arranque_ok, indicando ao PC essa condição. A aplicação verifica esse
estado, colocando o sistema em estado parado e pronto a funcionar.
Figura 3-10 – Diagrama de estado de arranque
49Projecto iVLAB 49
Implementação do sistema 23-07-2004
3.2.2.2 Estado Normal
Pode dizer-se que o estado normal é o estado de funcionamento principal do
sistema. Neste estado o sistema captura e analisa relativas ao objecto em inspecção
(corpo e topos de rolhas).
Figura 3-11 – Diagrama de estado normal
50Projecto iVLAB 50
Implementação do sistema 23-07-2004
Arranque do estado normal
Uma vez em estado normal, o autómato começa por executar o ciclo pré-
operatório, onde é activado a unidade de alimentação de rolhas, o motor do tapete
de entrada, assim como o semáforo verde correspondente ao estado normal - ver
Figura 3-12.
Figura 3-12 – Diagrama ciclo pré-operatório
Se existirem rolhas no tapete de entrada é activado o motor dos rolos e o
motor do tapete de saída, assim como o punção que dispara a uma frequência
determinada pela velocidade do tapete de saída de modo a manter o sincronismo
entre os subsistemas. Ver ponto 3.4.2.
Indexação das saídas
A fase seguinte deste ponto é verificar qual a classe da rolha e atribuir o sopro
a disparar.
Classificação de rolhas
Duas aplicações distintas correm no PC para realizar as operações de
processamento e decisão.
Uma primeira aplicação apenas trata as imagens recebidas através das câmaras,
devolvendo à aplicação iVLAB a informação sobre os parâmetros das rolhas. Este
programa corre em background, não tendo o operador acesso ao mesmo, anão ser
através dos parâmetros acessíveis disponíveis na aplicação iVLAB.
51Projecto iVLAB 51
Implementação do sistema 23-07-2004
A aplicação iVLAB interpreta o resultado do processamento de imagem,
baseado nos valores dos parâmetros introduzidos pelo operador, tomando uma
decisão sobre a classe da rolha e correspondente saída.
O PC envia a informação para o autómato, deixando a indexação ao cargo
deste.
Implementação no autómato
A indexação das saídas e dos sopros correspondentes é um problema de
elevada complexidade dada a elevada cadência de funcionamento.
O algoritmo de indexação consiste na alocação dinâmica de posições de
memória com dois tipos de informação:
1. Tempo até um sopro disparar;
2. Nº do sopro que deve disparar.
A importância destes dois pontos é sincronizar o disparo dos sopros com a
rolha correspondente. A solução de indexação apresentada surge por
impossibilidade de utilização de funções cujos parâmetros sejam passados por
argumento.
Uma vez que as decisões podem incidir na mesma saída para rolhas
consecutivas (ex. Rolha R -> Saída i; Rolha R+1 -> Saída i) cada uma deverá
possuir uma etiqueta composta pela informação referida. Deste modo garante-se
que, no caso de haver decisões consecutivas a incidir na mesma saída, os sopros
funcionam de forma independente e de forma sincronizada.
A implementação do algoritmo descrito implica a utilização de dois
apontadores (Indice_Sopro e Indice_Contador) para efectuar a alocação dinâmica
de recursos – ver Figura 3-13.
Indice_Sopro refere-se ao apontador que indica qual a saída (ou sopro) que
deve ser actuado quando o contador apontado por Indice_Contador chega ao final
da sua contagem.
52Projecto iVLAB 52
Implementação do sistema 23-07-2004
Figura 3-13 – Alocação dinâmica de recursos
Sequência de alocação dinâmica de recursos
Sempre que é tomada uma decisão é colocada na posição apontada por
Indice_Sopro o número da saída (sopro) que deve ser disparada. Na posição
apontada por Indice_Contador é colocado um valor decimal que corresponde ao
tempo que decorre entre a tomada de decisão até ao ponto que a rolha chega à
frente do sopro que deve ser disparado. O tempo de disparo é controlado pelo
contador Tempo_Sopro. Existem oito possibilidades de valores (Load_Sopro1….8)
para as contagens, relativas ao tempo necessário para cada uma das oito diferentes
saídas. Este tempo é proporcional à velocidade de rotação do motor de saída. Ver
ponto 3.4.2. Quando este contador atinge o valor denominado por Tempo_Sopro
(ver ponto 3.1.1.1) o sopro é actuado, mantendo-se ligado até que o contador
chegue a zero.
No que concerne aos contadores e respectivos índices previram-se 16, pelo
facto de que o tapete de evacuação suporta 12 rolhas em toda a sua extensão.
Tendo 16 possibilidades garante-se que a alocação dinâmica de recursos não terá
conflitos de atribuição.
Para o fazer utilizaram-se listas circulares. A Figura 3-14 mostra, de forma
esquemática, a implementação das referidas listas.
53Projecto iVLAB 53
Implementação do sistema 23-07-2004
Figura 3-14 – Listas circulares
3.2.2.3 Estado Desligado
Uma vez neste estado, é seguro desligar a máquina da electricidade. Neste
estado o autómato mantém-se ligado, o que implica que as condições não são
verificadas enquanto o sistema se encontrar neste estado. Neste estado todas as
saídas encontram-se desligadas, inclusive o ecrã, impedindo o operador de
interactuar com o sistema.
Figura 3-15 – Diagrama de estado de desligado
Este estado é atingido sempre que o operador accione a chave para desligar a
máquina, passando pelo estado de paragem normal.
3.2.2.4 Estado Passo-a-Passo
No estado passo-a-passo pode fazer-se a análise das rolhas de um modo mais
lento, dando ao operador a possibilidade de analisar o processamento resultante da
análise das rolhas em tempo real e decidir manualmente quando uma rolha deve
entrar no sistema.
Neste modo o motor dos rolos e o motor do tapete de saída encontram-se em
funcionamento, sendo que o punção é activado pelo operador quando terminada a
inspecção do corpo. Se não existirem rolhas suficientes no tapete de entrada,
informação proveniente do sensor óptico colocado sobre o tapete de entrada, a
unidade de alimentação de rolhas é ligado automaticamente de modo a fornecer
54Projecto iVLAB 54
Implementação do sistema 23-07-2004
mais rolhas para que a análise possa continuar a ser realizada. O punção é
desactivado em caso de falta de rolhas no tapete de entrada.
Figura 3-16 – Diagrama de estado passo-a-passo
3.2.2.5 Estado Manual
Neste modo de funcionamento o operador tem a hipótese de activar todas as
saídas individualmente, no sentido de verificar a sua funcionalidade.
Para realizar esta operação a aplicação iVLAB verifica o estado actual da saída,
complementando-a e forçando a saída no autómato através de um comando próprio
(WR).
No próximo ciclo de leitura das variáveis de interface, a alteração da saída
aparece de forma visual no ecrã, com a alteração de uma imagem representativa do
mesmo (verde para ligada e preto para desligada).
Figura 3-17 – Diagrama de estado manual
55Projecto iVLAB 55
Implementação do sistema 23-07-2004
A frequência de leitura das variaveis de interface é de 50 ms e é constante em
todos os estados, excepto em desligado. Esta foi a velocidade mais rápida que foi
obtida durante a fase de testes, sem que o PC perdesse dados.
3.2.2.6 Estado Paragem Normal
O Sistema entra no estado paragem normal caso se verifique que o operador
actuou o botão para parar a máquina ou quando o sensor óptico de detecção de
rolhas no tapete de entrada não detectar rolhas suficientes para aquisição de
imagem ou quando os receptáculos estiverem cheios. Nestas condições o autómato
desliga a unidade de alimentação de rolhas e o motor do tapete de entrada e liga o
semáforo amarelo, desligando o verde, sinalizando efectivamente a paragem normal,
desligando o verde. Neste momento é iniciada uma contagem temporal para que
todas as rolhas que ainda se encontram em cima do tapete de saída possam ser
colocadas nos receptáculos. Quando termina este tempo o tapete de saída encontra-
se vazio, sendo desligado e o sistema passa a estado Parado.
Figura 3-18 – Diagrama de estado paragem normal
56Projecto iVLAB 56
Implementação do sistema 23-07-2004
A existência deste estado justifica-se com o facto de se pretender separar o
estado Parado, com as saídas desligadas, de uma situação em que o sistema se
encontra ainda a funcionar, mas a desligar as diversas saídas sequencialmente e
pausadamente até chegar ao estado Parado.
3.2.2.7 Estado Anomalia
O sistema pode evoluir para estado de anomalia sempre que se verifique:
1. Falta de pressão (ar comprimido);
2. Sobreaquecimento dos motores
3. Paragem dos motores dos rolos;
4. Paragem do motor do tapete de saída;
5. Botoneira de emergência pressionada.
Caso o sistema entre em estado de anomalia, são desligadas todas as saídas,
sendo colocado o semáforo amarelo e vermelho num modo intermitente.
Após resolução do problema detectado e validação por parte do operador, o
sistema volta ao modo parado.
Figura 3-19 – Diagrama de estado de anomalia
Assim que o sistema entra em anomalia a aplicação procura a causa da
anomalia (nas entradas do autómato) e abre uma janela específica para anomalias,
alertando assim o operador do sucedido.
Após ter corrigido o problema, ao pressionar o botão de OK, a aplicação leva
o sistema ao estado parado.
Para retornar ao funcionamento normal o operador deve de pressionar o
botão para ligar o sistema novamente.
57Projecto iVLAB 57
Implementação do sistema 23-07-2004
Figura 3-20 – Aviso de Anomalia
3.2.2.8 Estado Parado
Durante o estado parado o sistema tem as saídas desligadas, sinalizando
através do semáforo vermelho o seu estado. Este modo é considerado central dado
que é a partir dele e para ele que o sistema evolui sempre que acontece alguma
mudança de modo de funcionamento – ver Figura 3-21.
Figura 3-21 – Diagrama de estado de parado
A existência deste estado justifica-se com a necessidade de haver um estado de
latência em que o sistema está à espera de ordens do operador.
3.2.3 Cálculo da velocidade do motor dos rolos
A velocidade de rotação do motor é determinada através de um sensor
indutivo. Ver Tabela 2-2.
Este sensor encontra-se ao lado do veio do motor, apontado para uma roda
dentada em meia-lua. Cada vez que o rotor leva uma parte metálica à frente do
sensor, um impulso é gerado.
O valor aferido é o resultado da contagem de impulsos (à subida) do sensor
indutivo num período T determinado (por defeito utiliza-se 1 segundo).
58Projecto iVLAB 58
Implementação do sistema 23-07-2004
A frequência de rotação é dada pela Equação 3-1:
T
NV
i
r=
Equação 3-1
Caso sistema esteja em funcionamento normal e o motor se encontre parado o
sistema passa para o estado de anomalia.
Figura 3-22 – Cálculo da velocidade do motor dos rolos
Este procedimento é idêntico para o motor do tapete de saída.
3.2.4 Botoneira de emergência
Se a botoneira de emergência for actuada o sistema passa automaticamente
para o estado de anomalia.
Figura 3-23 – Botoneira de emergência
A sinalização de emergência é actualizada a cada 13ms (valor médio do tempo
de ciclo do autómato). A partir do momento em que o sistema toma conhecimento
da emergência o estado passa a anomalia, em que é cortada a energia à máquina. Na
aplicação uma janela abre contendo a origem da anomalia. O sistema comporta-se
como descrito na secção 3.2.2.7. No ponto 2.9 pode encontrar-se a informação
relativa ao sistema de protecção.
59Projecto iVLAB 59
Implementação do sistema 23-07-2004
3.3 Comunicação
A comunicação entre o PC e o autómato é baseada no protocolo RS-232C
Hostlink da OMRON, enquanto que na comunicação entre o PC e as Câmaras se
utiliza o protocolo IEEE1394 - Firewire.
3.3.1 Recepção de dados
A comunicação entre dispositivos de comunicação e sistema de processamento
é um factor primordial na avaliação de sistemas de aquisição de imagem. No caso
presente, dado que se pretende adquirir três diferentes imagens a partir de
dispositivos distintos, a comunicação deverá permitir débitos elevados, cujos
valores são função do “Field-of-View” e “Frame Rate” utilizado.
A recepção de dados implementada consiste na troca de tramas Hostlink entre
o PC (master) e o PLC (slave). A troca de informação é efectuada 20 vezes por
segundo. através da porta série RS232C sendo a recepção no PC realizada da
seguinte forma (rotina implementada em Kylix):
buffer:=buffer + comport.ReadData;
j:=0;
repeat
begin
inc(j);
teste:=copy(buffer,1,1);
while (teste<>'@') do //Procura inicio de trama
begin
teste:=copy(buffer,2,length(buffer)-1);
buffer:=teste;
if length(buffer)=0 then
60Projecto iVLAB 60
Implementação do sistema 23-07-2004
break;
teste:=copy(buffer,1,1);
end;
if length(buffer)>7 then //Se tiver tamanho suficiente para
begin //ter trama, vai analizar
teste:='';
for i:=1 to length(buffer)-1 do
if (buffer[i]='*') and (ord(buffer[i+1])=13) then
begin
teste:=copy(buffer,1,i+1);
j:=0;
break;
end;
if teste<>'' then //Se houver trama, manda intrepertar
begin
vector:=copy(buffer,i,length(buffer));
buffer:=vector;
interpreta(teste);
end;
end;
end
until (length(buffer)=0) or (j>2) //separa tramas adjacentes
61Projecto iVLAB 61
Implementação do sistema 23-07-2004
3.4 Avaliação de performance
3.4.1 Tempo de ciclo
O cálculo do tempo de ciclo permite inferir sobre o tempo de execução e
taxas de actualização de variáveis do autómato. Para tempos de ciclo muito elevados
advêm erros de precisão que se reflectem no funcionamento do sistema. Atente-se
que a cadência máxima de disparo do punção é de 4 por segundo, implicando que se
considerem:
1. Tempos de ciclo obrigatoriamente inferiores a 250ms (¼ s);
2. Erro de precisão de actualização reduzido, implicando que, no mínimo, se
alcancem tempos de ciclo com 1/10 do tempo máximo de 250ms.
Daqui resultam tempos de ciclo com um máximo de 25ms.
3.4.1.1 Elementos de cálculo
Processo Descrição Tempo associado
Monitorização Actualização interna de
variáveis 0.8ms
Execução do programa Programa do operador Varia com conteúdo do
programa
Cálculo do tempo de ciclo Actualização do tempo de ciclo Instantâneo
Actualização de I/O
Ler das portas de entrada para
bits de entrada
Actualizar as saídas a partir de
bits de saída
Nº de “palavras” de entrada
x 0.01ms
RS232 Dispositivos conectados à
porta RS232 <5% do tempo de ciclo
Periférico Dispositivos conectados à
porta periférica <5% do tempo de ciclo
Imagem Processamento de imagem 3 * (+- 10ms)
Tabela 3-8 – Elementos do cálculo de tempo de ciclo de autómatos CQM1
62Projecto iVLAB 62
Implementação do sistema 23-07-2004
3.4.1.2 Cálculo teórico
Teoricamente o tempo de ciclo é o resultado de:
Nº Processo Modo de cálculo Tempo
1 Monitorização Fixo 0.8ms
2
Execução do programa
∑×≈i
iT2700
com Ti o tempo de
execução da instrução i
Se média de
sTi
µ10= 3
27ms
3 Cálculo do tempo de
ciclo Quase nulo 0
4 Actualização de I/O 2005.0101.0 ×+× 0.02ms
5 Tempo de ciclo (1) +(2) +(3) +(4) 27.82ms
6 Total )5(05.1 × 29.2ms
Tabela 3-9 – Cálculo do tempo de ciclo
3.4.1.3 Valor experimental
O valor encontrado é de 12,5ms em todos os estados de funcionamento,
subindo para 13,2ms quando em execução do estado normal. Em ambos os casos se
verificam as condições de tempos máximos admissíveis, sendo ainda de esperar uma
incerteza na leitura e actuação de:
%28.5%100250
2.13 =×==c
i
T
Tε
Equação 3-2
3 O tempo médio de execução da instrução tem como base os valores de execução das
principais instruções utilizadas. 1.25µs para SET/RESET, e valores de cerca de 25µs para
comparações. Prescinde-se do cálculo exacto teórico dada a aproximação realizada
experimentalmente.
63Projecto iVLAB 63
Implementação do sistema 23-07-2004
Apesar do valor encontrado ser elevado, os tempos de actuação requeridos
não são afectados por este erro. O sincronismo relativo à aquisição e
processamento de imagem é controlado de forma autónoma, de forma a não
incorrer no mesmo erro.
3.4.2 Sincronismo
A elevada cadência de funcionamento requer elevada precisão no sincronismo
entre os diversos dispositivos do sistema. A Figura 3-24 mostra as actividades
envolvidas no processamento de uma rolha.
No entanto, o sistema além de processar várias rolhas paralelamente, necessita
dos sinais de sincronismo entre o sistema de controlo e movimentação e o sistema
de aquisição de imagem. Esses sinais são obtidos a partir dos sensores indutivos
junto ao veio dos motores, como referido no ponto 3.2.3.
A câmara de inspecção dos topos é dispara através da actuação de um bit via
porta série (bit de controlo erros – não usado na comunicação). A actuação desse
bit é efectuada através do sensor indutivo presente no punção que detecta a sua
movimentação.
3.4.3 Processamento Passo-a-Passo
O início do processamento de rolhas começa quando se dispara o punção.
Para ser disparado têm obrigatoriamente que verificar-se as condições:
Presença de rolhas na entrada;
Existência de sinal de sincronismo. Este sinal eléctrico provém do
motor do tapete de saída. É proveniente de um sensor indutivo
electricamente activo (impulso à subida) a cada rotação (ou divisão
inteira desta) do motor respectivo. A partir deste sinal efectua-se o
sincronismo com o disparo do punção, garantindo que quando é
disparado se encontra um suporte de rolha no tapete de saída –
assegurado mecanicamente.
64Projecto iVLAB 64
Implementação do sistema 23-07-2004
Após disparo do punção é iniciada a contagem de um período de tempo
correspondente ao tempo de acesso e aquisição da velocidade de rotação dos rolos
por parte da rolha. Este tempo é sempre inferior a 100ms.
Neste momento começa a aquisição de imagem por parte da câmara de
corpos. O sinal de trigger é enviado directamente a partir do PC. Existe porém um
erro associado à imprecisão imposta pelo atraso de comunicação. Ver ponto 3.4.3.1.
Do ponto de vista do processamento de imagem o sincronismo é o sinal de
actuação do punção, a partir do qual a aplicação conta algum tempo antes de
adquirir uma imagem e processá-la.
A imagem adquirida pela câmara digital é recebida no PC através do adaptador
IEEE1394 (placa firewire) onde é processada e são adquiridos os valores relativos
aos critérios de decisão. É então colocada em espera numa fila do tipo FIFO (First
In First Out), aguardando pelos valores relativos aos topos. Figura 2-12.
Na eventualidade de não ser processado o conjunto de imagens do corpo e
dos dois topos dentro do intervalo TimeOut Processamento, o pacote com a
informação relativa à rolha que lhe era associada é desprezado e a rolha sairá no
final do tapete sem que nenhum sopro actue.
No caso de haver o resultado de processamento no intervalo proposto, é
enviada a informação da decisão do sopro para o autómato que se encarrega de
indexar a respectiva saída e actuar o sopro aquando da passagem da rolha em frente
à saída. A Figura 3-24 esquematiza o funcionamento descrito.
65Projecto iVLAB 65
Implementação do sistema 23-07-2004
Figura 3-24 - Sincronismo
66Projecto iVLAB 66
Implementação do sistema 23-07-2004
3.4.3.1 Atraso de comunicação
O autómato tem um tempo de ciclo de cerca de 13ms. No PC a actualização
das entradas e saídas é realizada com uma frequência de 20Hz, logo o erro de
comunicação é:
mscom
631350 =+=ε
Equação 3-3
No pior dos casos, 63ms após disparo do punção é enviado o sinal de trigger à
máquina de topos, admitindo que o PC industrial processa a informação do pacote
de comunicação em tempo muito reduzido quando comparado com 63ms.
A câmara adquire em seguida onze frames relativas a 36º da superfície cada
rolha, perfazendo 396º, com a redundância de uma frame4. Para mais informações
sobre a BASLER A600 consultar o ponto 3.1.2.1
O tempo de aquisição termina a 250ms-173ms=77ms antes de ser introduzida
nova rolha para processamento de corpo. A área correspondente a cada frame é
10
2 RDs
π= R - raio da rolha.
Equação 3-4
3.4.4 Processamento em série
O processamento em série de rolhas é executado segundo o mesmo princípio
de funcionamento apresentado no ponto 3.1. No entanto, o processamento em
paralelo de rolhas implica que se assegurem:
O sincronismo exacto entre o disparo do punção e o tapete de saída.
O tempo de processamento de imagem é, no mínimo, inferior a 1/3 do
tempo que separa o disparo do punção da aquisição das imagens dos
topos. Na realidade o tempo de aquisição e processamento terá limites
bem mais reduzidos dado que os tempos no estado passo-a-passo:
4 Tempo de frame de 10ms, segundo as especificações da câmara Basler A600.
67Projecto iVLAB 67
Implementação do sistema 23-07-2004
1. A aplicação iVLAB, com consequente utilização de tempo de
processamento;
2. A comunicação é igualmente consumidora de tempo de
processamento.
Mecanicamente deve garantir-se que a aquisição de topos é efectuada
aquando do disparo do punção, independentemente do número de
rolhas que possam ter sido disparadas entre os dois acontecimentos
anteriores. A FIFO da Figura 3-24 é apenas utilizada se, de facto, o
número de rolhas entre disparo e aquisição de topos for superior a 1.
Caso contrário, quando se dispara o punção, seriam adquiridos os
topos da rolha anterior, sendo a associação “imagem corpo” – “imagem
topos” feita directamente.
3.4.5 Comunicação interna – UDP
O processamento de imagem não é feito directamente na aplicação iVLAB,
mas sim num outro modulo que corre em background no PC. A aplicação iVLAB no
entanto processa os dados resultantes da inspecção visual e toma uma decisão,
classificando a rolha.
A comunicação entre as duas aplicações que correm em paralelo no PC é
realizada com a utilização de um user datagram protocol (UDP).
Este protocolo fornece um procedimento para aplicações trocarem mensagens
entre si com um custo mínimo de mecanismos. O protocolo é orientado à
transacção, a entrega e duplicados não é garantida, o que na nossa aplicação não se
torna grave pois caso o processamento de imagem falhe (não chegue em tempo útil)
a rolha irá cair no receptáculo da frente.
3.4.6 Algoritmo de decisão
O algoritmo de decisão permite a escolha de uma classe para uma rolha cujas
imagens de corpo e topos tenham sido processadas.
68Projecto iVLAB 68
Implementação do sistema 23-07-2004
Este algoritmo admite como entrada um conjunto de valores relativos aos
critérios de processamento (ver critério de processamento) e como saída
providencia a saída do sistema cujo sopro deve ser actuado.
Figura 3-25 – Algoritmo de decisão
69Projecto iVLAB 69
Implementação do sistema 23-07-2004
Com a recepção de um pacote UDP que contem todas as informações do
corpo e topos da rolha, compara-se os valores obtidos de manchas, falhas, cortes e
dimensões com os valores de cada uma das classes introduzidas pelo operador,
obtemos a classificação para essa rolha.
Os defeitos classificam-se segundo o ponto 2.1.3.
3.4.6.1 Recepção de pacote UDP
O primeiro passo do algoritmo de decisão consiste na leitura do pacote UDP,
e interpretação da informação lá contida. A aplicação iVLAB, utiliza um
componente desenvolvido pelo professor Paulo Gomes da Costa com essa
funcionalidade. Quando chega um pacote à aplicação, é imediatamente tratado
como um evento se tratasse, iniciando o algoritmo de decisão.
3.4.6.2 Comparação de valores
O terceiro passo no algoritmo de decisão é comparar os valores de manchas,
falhas, cortes e dimensões, para corpo e topos com os valores de cada uma das
classes pré-estabelecidos pelo operador, conforme constam do programa actual em
execução.
3.4.6.3 Filtragem de classes
A filtragem de classes permite flexibilizar a decisão relativa quer aos corpos
quer aos topos. Os valores presentes em “Ajuste de Classes” estabelecem conjuntos
de relações entre as classes aferidas após o ponto anterior e a classe final. Por
exemplo uma rolha cujo corpo tenha sido considerado de classe X relativamente à
“Área de Maior Defeito” pode passar a classe (X+1), ou seja, a classe que lhe é
superior.
70Projecto iVLAB 70
Implementação do sistema 23-07-2004
3.4.6.4 Iteração de corpo e topos
Logo após a escolha final da classe, com base nos pressupostos enunciados
anteriormente, é iterado o algoritmo uma vez mais para cada um dos topos. No
final da terceira iteração a execução do algoritmo segue.
Com a informação recolhida do topo, corpos e as opções do programa sobre a
combinação de corpo e topos a classe final da rolha é determinada.
3.4.6.5 Tipo de processamento
Este parâmetro de funcionamento permite ao algoritmo saber se o operador
escolheu as classes baseando-se apenas nos resultados do corpo ou na combinação
destes com os dos topos. No último caso, são calculadas as novas classes com base
na combinação de resultados de corpo e topos, onde são cada um dos parâmetros é
afectado com um peso relativo, de forma a influenciar a decisão final em proporção
com esta quantidade.
3.4.6.6 Aferição da saída
Este passo consiste na indexação da saída a partir da classe aferida.
A saída é determinada pelo cruzamento da decisão de uma rolha (classe), com
informação introduzida pelo utilizador no separador (saídas).
A saída escolhida é então enviada para o autómato que executa o seu ciclo de
indexação, como descrito no ponto 3.2.2.2
3.4.6.7 Distribuição de saídas
Existe ainda a possibilidade de ter sido escolhida uma distribuição para as
saídas. Por exemplo, o operador pode ter interesse em obter na saída nº1 10% de
rolhas de 2ª classe e os restantes 90% de rolhas de 1ª classe. Neste caso o sistema
permite obter tais distribuições para números elevados de rolhas. Com base nas
experiências efectuadas, o número de rolhas que garante resultados com suficiente
grau de aproximação é de 500, uma vez que se recorre a valores aleatórios para
71Projecto iVLAB 71
Implementação do sistema 23-07-2004
realizar as distribuições, cujas aproximação apenas é valida para valores acima de
500.
3.4.7 Parâmetros de processamento
A escolha de classes tem como base a avaliação dos valores respeitantes aos
seguintes critérios ou parâmetros de processamento:
Parâmetro Valor mínimo Valor máximo
Área total de defeitos 0 100%
Área do maior defeito 0 100%
Nº de defeitos 0 9999
Largura de maior defeito horizontal 0 100%
Largura de maior defeito vertical 0 100%
Área total de buracos 0 100%
Área do maior buraco 0 100%
Nº de buracos 0 9999
Largura de maior buraco horizontal 0 100%
Largura de maior buraco vertical 0 100%
Tabela 3-10 – Parâmetros de processamento
Para além dos valores acima referenciados, é ainda fornecida a dimensão da
rolha. É com base neste valor que são referenciados os parâmetros em percentagem.
Ver Tabela 3-10.
Aplicação iVLAB
C O N C E P Ç Ã O E D E S E N V O L V I M E N T O
R E Q U I S I T O S D A A P L I C A Ç Ã O I V L A B
I M P L E M E N T A Ç Ã O D E F U N C I O N A L I D A D E S
CAPÍTULO
4
Aplicação iVLAB 23-07-2004Aplicação iVLAB 23-07-2004
Projecto iVLAB 73
4 Aplicação iVLAB
4.1 Descrição Geral
4.1.1 Perspectiva do produto
A necessidade de especificação de uma aplicação de interface com o sistema
de controlo do equipamento e com o utilizador constitui um elemento na
concepção e desenvolvimento do projecto.
O sistema de inspecção visual automática de rolhas compreende duas
vertentes:
Vertente industrial;
Vertente laboratorial;
O sistema interage com o exterior através de um ecrã táctil, onde o operador
pode actuar sobre a aplicação, bem como de diversas botoneiras, sensores e
actuadores ligados a um autómato programável, através dos quais interage e
percepciona o estado de funcionamento do sistema.
A aplicação desenvolvida em Borland Kylix fornece um ambiente de fácil
utilização, intuitivo e especialmente concebido para funcionar com um ecrã táctil
sobre Linux ( ver Manual de utilizador).
A interface entre o autómato e o sistema de aquisição de imagem é descrito no
ponto 3.1.1.1.
O autómato OMRON CQM1H foi programado através da aplicação fornecida
pelo fabricante (CX- Programmer 2.0) utilizando a linguagem simbólica Ladder.
74Projecto iVLAB 74
Aplicação iVLAB 23-07-2004
4.1.1.1 Funcionalidades genéricas implementadas
Funcionalidade Conteúdo de informação Apresentação
Imagem das rolhas Imagem
Últimas 100 rolhas Gráfico
Últimas 1000 rolhas Gráfico
Arranque da máquina Texto
Produção –> Dados
de produção
Diversas informações sobre a
produção
Texto
Gráfico multifuncional Gráfico
Separação de rolhas por classes Tabela
Produção –>
Estatísticas
Separação de rolhas por saída Tabela
Produção –>
Monitorização
Animação do funcionamento da
máquina
Imagem
Parâmetros de
Funcionamento
Informação introduzida para
classificação de rolhas
Caixas de texto
Configuração –>
Manual
Modo Manual Teste manual das
entradas e saídas do
sistema
Configuração das portas de
comunicação
Botões de selecção
Configuração de tempos de
sincronismo
Caixas de texto
Configuração –>
Diversos
Data e hora do sistema Caixas de texto
Tabela 4-1 - Funcionalidades da aplicação iVLAB
75Projecto iVLAB 75
Aplicação iVLAB 23-07-2004
4.1.1.2 Características dos utilizadores
Apenas um operador deverá utilizar o sistema, quer este se encontre em
ambiente industrial ou em ambiente laboratorial.
O operador tem sempre todas as opções disponíveis, estando apenas
reservados os parâmetros relacionados com a comunicação PC-Autómato e
parâmetros fundamentais relacionados com o sistema mecânico para um utilizador
de mais alto nível.
O sistema foi projectado de modo a ser “user-friendly” permitindo ao utilizador
final um funcionamento intuitivo de todo o sistema. Esta característica não
dispensa um pequeno treino na sua utilização.
4.1.1.3 Interfaces do Utilizador
A interface do ecrã táctil é apresentada na Figura 4-1.
Figura 4-1 – Imagem da interface com o utilizador
76Projecto iVLAB 76
Aplicação iVLAB 23-07-2004
A interface foi desenhada de modo permitir com facilidade aceder às diversas
opções, sem a necessidade de utilizar um dispositivo de entrada (ex: rato, teclado,
etc.).
Os diversos menus são acedidos através de separadores no topo do ecrã. As
funções mais habituais encontram-se na barra de tarefas à direita, tais como:
Ligar/desligar a máquina;
Confirmação dos dados introduzidos;
Pedido de introdução de um teclado;
Alterar valor dos dados.
4.1.2 Restrições do Sistema
4.1.2.1 Hardware
A primeira restrição tem que ver com necessidade de comunicação em tempo
real. Este requisito impõe que o processamento de imagem, a decisão e a
comunicação com o autómato sejam suficientemente rápidos, impondo capacidades
de processamento de dados que apenas os mais recentes PC com velocidade de
relógio na ordem dos GHz são capazes.
Uma outra característica importante do sistema tem que ver com a utilização
de um Solid State Disc para armazenamento do software e dados do sistema,
apresentando grandes vantagens face a outros discos duros, como uma maior
velocidade de acesso e maior robustez.
O controlo realizado no autómato é de alguma exigência a nível de capacidade
de armazenamento de programa. São efectuadas operações de indexação dinâmica
de saídas neste dispositivo, impondo a utilização de um processador CPU 51 com
7,2 kWords para memória de programa1.
1 A explicação pode ser encontrada no ponto 3.2.2.2
77Projecto iVLAB 77
Aplicação iVLAB 23-07-2004
4.1.2.2 Entrada de dados no sistema
A entrada de dados no sistema é realizada através do ecrã táctil ou então
através de disquete contendo o programa de selecção a realizar. É também possível
armazenar dados em dispositivos exteriores para futura utilização.
4.1.2.3 Saída de dados do sistema
A saída de dados é realizada sobre a forma de informação escrita em tabelas
e/ou gráficos no ecrã táctil.
É possível exportar os dados provenientes de uma sessão de trabalho para
tratamento estatístico externo ou simplesmente gravar programas e configurações
de sistema.
4.1.3 Dependências e Suposições
4.1.3.1 Software
A aplicação é instalada juntamente com o sistema operativo na máquina. O
sistema operativo é uma versão de Linux embedded de tamanho reduzido devido à
utilização do Solid State Disc presente no PC industrial. O sistema operativo deve
apenas conter as bibliotecas instaladas com os componentes auxiliares utilizados no
desenvolvimento da aplicação em ambiente Borland Kylix.
• Bibliotecas de instalação
1. SysUtils, Types, Classes, Variants, QTypes, QGraphics, QControls,
QForms, QDialogs, QStdCtrls, QExtCtrls, QComCtrls, comport,
SdpoUDP, libc,TeEngine, Series, TeeProcs, Chart, QFileCtrls, QGrids.
2. As bibliotecas comport, 5dpoUDP são propriedade do Professor Dr.
Paulo Gomes da Costa.
3. As bibliotecas TeEngine, Séries, TeeProcs e Chart são propriedade de
Steema, distribuição gratuita desde que em programas compilados [20];
78Projecto iVLAB 78
Aplicação iVLAB 23-07-2004
4. As restantes bibliotecas vêm com o Borland Kylix e são de distribuição
gratuita.
Para upgrades futuros, será necessário reutilizar versões iguais ou superiores
às das ferramentas em que foi desenvolvido o sistema:
Linux kernel 2.4.22 ou superior;
Borland Kylix 3.0;
CX-Programmer 2.0 – (OMRON).
4.1.3.2 Hardware
A dependência do ponto de vista de hardware para correr a aplicação
desenvolvida prende-se com a necessidade de grande capacidade de processamento
de informação, de forma a não interferir com o funcionamento em tempo real (na
vertente industrial do sistema, anteriormente descrita).
4.2 Requisitos funcionais
4.2.1 Utilização geral
As possibilidades de utilização
do sistema de inspecção automática
de rolhas de cortiça são apresentadas
na Figura 4-2. Uma descrição
alargada das duas configurações pode
ser encontrada no ponto 2.2
De forma resumida, o sistema
foi desenvolvido para trabalhar sobre
duas vertentes; a vertente industrial
com requisitos mais exigentes, ou a
vertente laboratorial como máquina
de teste de amostras.
Figura 4-2 – Utilização geral
79Projecto iVLAB 79
Aplicação iVLAB 23-07-2004
Figura 4-3 – Funcionalidades principais
Em qualquer uma das vertentes, a aplicação desenvolvida terá os mesmos
parâmetros de funcionamento.
De um ponto de vista hierarquicamente superior a aplicação divide-se na sua
fase de produção (trabalho contínuo), parâmetros de funcionamento (onde é
definido o modo como a selecção de rolhas deverá ser efectuada) e uma secção de
configuração onde estão todos os valores referentes ao funcionamento da máquina.
O Login apenas é necessário para alterar definições de funcionamento da
aplicação.
80Projecto iVLAB 80
Aplicação iVLAB 23-07-2004
4.2.2 Produção
Na produção o utilizador tem acesso a dados de produção, que consistem em
informação visual sobre as rolhas que estão a ser classificadas e uma informação
gráfica sobre o estado das suas saídas e produção realizada.
Em estatísticas o utilizador pode consultar diversa informação sobre a sessão
de trabalho a decorrer.
Em monitorização pode-se observar de uma forma gráfica o estado da
máquina, as suas entradas e saídas.
Em previsão de produção, o utilizador introduz o que espera obter da
produção, havendo durante a sessão de trabalho uma referência cruzada a estes
valores para rápida comparação nos gráficos para as rolhas classificadas.
Figura 4-4 - Produção
81Projecto iVLAB 81
Aplicação iVLAB 23-07-2004
As funcionalidades do menu produção são apresentadas na Figura 4-5.
Figura 4-5 – Dados de Produção
82Projecto iVLAB 82
Aplicação iVLAB 23-07-2004
4.2.3 Parâmetros de funcionamento
Na secção de parâmetros de funcionamento o utilizador escolhe o programa
que irá classificar as rolhas. Podem ser escolhidas características para o corpo e para
os topos, bem como parametrizar valores relativos ao processamento de imagem e
às combinações de decisão baseadas na classe do corpo e dos topos.
Durante o algoritmo de decisão o PC basear-se-á nestes dados para indicar a
separação de classes e receptáculo correspondente à decisão tomada. O algoritmo
compara os resultados obtidos do processamento com os parâmetros do programa
corrente. A decisão poderá ser tomada apenas baseada nos dados relativos ao
processamento do corpo e dos topos separadamente, ou fazer uma análise conjunta
dos dois processamentos.
Figura 4-6 – Parâmetros de
Funcionamento
83Projecto iVLAB 83
Aplicação iVLAB 23-07-2004
4.2.3.1 Corpo
Os parâmetros definidos relativamente ao processamento do corpo são
apresentados na Figura 4-7.
Figura 4-7 – Parâmetros do corpo
Além dos parâmetros:
1. Largura do maior defeito/buraco horizontal;
2. Largura do maior defeito/buraco vertical;
3. Nº de defeitos/buracos;
4. Área maior defeito/buraco;
5. Área total defeitos/buracos;
84Projecto iVLAB 84
Aplicação iVLAB 23-07-2004
São ainda calculadas a dimensão da rolha e a concentração de defeitos +
buracos. Este último parâmetro é relativo aos 25% da área total onde o seu valor é
mais elevado.
4.2.3.2 Topos
Os parâmetros definidos relativamente ao processamento aos topos são
apresentados na Figura 4-8. De facto não diferem dos parâmetros de corpo à
excepção da dimensão que no caso é relativa ao diâmetro da rolha.
Figura 4-8 – Parâmetros dos topos
4.2.3.3 Processamento de Imagem
Em processamento de imagem o operador pode escolher valores que afectam
directamente a forma como é efectuado o processamento de imagem e não os
resultados deste - os parâmetros são apresentados na Figura 4-9.
85Projecto iVLAB 85
Aplicação iVLAB 23-07-2004
São também escolhidos os limites dimensionais para fendas, rachas e buracos
e é ainda dada ao operador a possibilidade de permitir escolher quais dos
parâmetros quer que afectem a decisão final, como retirar maior defeito, maior
fenda etc.
Figura 4-9 – Processamento de imagem
4.2.3.4 Filtragem de Classes
A filtragem de classes consiste no ajuste em tempo real dos parâmetros de
processamento e decisão das rolhas. Pode ser feita de duas maneiras distintas:
Parâmetro a parâmetro, individualmente;
Ajuste geral, relativo a todos os parâmetros de uma classe.
86Projecto iVLAB 86
Aplicação iVLAB 23-07-2004
No primeiro caso trata-se apenas de um ajuste local para acerto das
especificações de uma classe, sobretudo utilizado em fase de acerto da configuração
de funcionamento.
O segundo caso permite aproximar ou afastar classes adjacentes quando se
observem variações indesejadas nas distribuições relativamente a cada uma das
classes.
Na Figura 4-10 pode ser observado os parâmetros referentes ás características
do corpo. Podem ser atribuídos pesos a cada uma das características do corpo e
topos, alterando o valor do processamento.
Figura 4-10 – Filtragem de classes - corpo
4.2.3.5 Combinações
Na Figura 4-11 pode ser observado como dar considerar resultados do corpo e
dos topos na classificação final.
87Projecto iVLAB 87
Aplicação iVLAB 23-07-2004
A escolha consiste em:
Combinar corpo com topos, decidindo qual o critério a usar – pior, o
peso ou o melhor entre ambos;
Escolher directamente a classe baseada no resultado de cada um dos
topos. Por exemplo se topo 1 é de classe X e o topo 2 de classe Y a
classe final pode ser Z, desde que assim seja definido pelo operador.
Figura 4-11 – Combuiações
88Projecto iVLAB 88
Aplicação iVLAB 23-07-2004
4.2.3.6 Saídas
Na Figura 4-12 pode ser observado a afectação das saídas às diversas classes.
Figura 4-12 - Saídas
4.2.4 Configuração
A configuração do sistema permite alterar dados como por exemplo:
Nº de rolhas por receptáculo;
Porta de comunicação;
Velocidade de comunicação;
Data e hora do sistema.
89Projecto iVLAB 89
Aplicação iVLAB 23-07-2004
Figura 4-13 – Configurações
Os parâmetros que não dizem directamente respeito à classificação de rolhas,
podem ser alterados apenas por um utilizador com permissões específicas.
4.3 Atributos do Sistema
4.3.1 Tempo real
Um dos principais requisitos do sistema é também um dos seus principais
atributos. A necessidade de uma máquina rápida capaz de classificar e seleccionar
até quatro rolhas por segundo, impõe uma exigente performance de todo o sistema.
Este atributo foi atingindo com uma sincronização de dados entre o PC e o
autómato, com elevadas taxas de actualização das entradas e saídas.
90Projecto iVLAB 90
Aplicação iVLAB 23-07-2004
4.3.2 Repetibilidade
O sistema analisa e classifica rolhas de uma determinada classe. A
repetibilidade do sistema verifica-se quando introduzimos novamente a mesma
amostra na máquina e esta indica os mesmos resultados obtidos anteriormente.
Esta característica permanece com a potabilidade da aplicação entre diversas
máquinas. Ou seja, com a reprodução de mais máquinas, a análise realizada todas
elas devem ser o mais próximo possível. A repetibilidade deve ser vefificada com
valores acima de 90%.
4.3.3 Robustez
É uma característica importante entre dispositivos industriais. Estas máquinas
funcionam sobre ambientes hostis com diversas perturbações, sendo que o sistema
tem realizar a sua operação independentemente de factores externos.
A rigidez mecânica aliada com à programação de rotinas de anomalia e de
paragem controlada para diversos eventos na aplicação permite obter este atributo.
4.3.4 Fiabilidade
A fiabilidade de um sistema é um requisito não funcional muito importante,
dado que pode comprometer o funcionamento de toda uma empresa onde este vai
ser instalado.
Quando nos referimos à fiabilidade, falamos no facto de o sistema não poder
bloquear, ter operações não previstas, entre outros, ou seja que possua uma
probabilidade de erro muito baixa, quase “error-free”.
Os testes efectuados mostram uma fiabilidade elevada. No entanto, ainda
não é possível adiantar um valor relativo com grande precisão.
Manual de utilizador
CAPÍTULO
5
Manual de utilizador 23-07-2004
Projecto iVLAB 92
5 Manual de utilizador
5.1 Introdução à aplicação iVLAB
A aplicação iVLAB processa, classifica e separa rolhas de acordo com classes
predefinidas. Foi criada na Faculdade de Engenharia Universidade do Porto no
âmbito do projecto de fim de curso com o mesmo nome.
O objectivo desta aplicação é controlar uma máquina de selecção e
classificação de rolhas que recorre a técnicas de processamento de imagem para a
sua realização.
Este manual foi escrito para que possa de uma forma simples e eficaz
responder a quaisquer dúvidas sobre o funcionamento da aplicação, e por
conseguinte de todo o sistema.
5.2 Conceitos básicos
5.2.1 Explorar o programa
A aplicação iVLAB procura proporcionar, de forma intuitiva, um acesso
simples a todas as suas funcionalidades. As principais áreas são os separadores
superiores, barra lateral e histórico na base.
Separadores superiores
Os três separadores no topo (Produção, Parâmetros de funcionamento e
Configuração) separam as três áreas de trabalho principais.
Figura 5-1 – Barra superior
93Projecto iVLAB 93
Manual de utilizador 23-07-2004
No separador “Produção” encontramos as funcionalidades utilizadas mais
frequentemente durante uma sessão de trabalho - os dados de produção, as
estatísticas obtidas a partir da amostra de rolhas testada, a monitorização do sistema
e a parametrização.
Figura 5-2 – Parâmetros de funcionamento
No separador “Parâmetros de Funcionamento” podem ser editados, criados e
guardados programas de funcionamento, cujo conteúdo regista os parâmetros de
processamento e de decisão nomeadamente os relativos à influência na decisão
final do corpo e dos topos.
Figura 5-3 – Configuração
Em “Configuração” encontram-se as opções de alteração de certos parâmetros
que não dizem respeito ao processo de classificação e selecção em si, mas sim ao
próprio funcionamento da máquina. Neste ponto podemos testar manualmente as
entradas e saídas do sistema; e executar uma operação passo-a-passo verificando se
o processamento e selecção se encontram nas condições desejadas.
Barra lateral
Na barra lateral direita encontram-se as operações mais habituais.
Dois botões mais (+) e menos (-) permitem que o utilizador possa aumentar ou
diminuir o valor de qualquer parâmetro.
O botão de OK permite confirmar alterações e opções.
Por baixo do OK existe um botão que permite aceder a um teclado para
introduzir valores e nomes nos diversos parâmetros da aplicação.
94Projecto iVLAB 94
Manual de utilizador 23-07-2004
Um botão “Passo a trás” permite ao que o motor do tapete
inverta o seu sentido por um curto período de tempo, obrigando o
tapete a recuar, desencravando-o. Este só é activo se a máquina se
encontrar em estado parado.
Por fim o botão para ligar e desligar a máquina encontra-se na
base desta barra. Este botão apenas coloca a máquina em
funcionamento normal ou parada. Para desligar o equipamento o
utilizador deve pressionar a botoneira ao lado do ecrã táctil.
Estes botões encontram-se sempre acessíveis em qualquer
parte da aplicação. No espaço em branco entre o botão “Passo a
trás” e o botão de ligar surgem outras opções relacionadas com a
secção onde o utilizador se encontra.
Histórico
Em todo o programa o utilizador pode observar as últimas mensagens do
sistema. Estas mensagens incluem mensagens de erro, mudanças de estados e outras
informações diversas.
Figura 5-5 - Histórico
Por baixo, na barra de estados encontra-se em que estado está a máquina. Este
histórico é apagado no arranque do programa.
Figura 5-4 Barra lateral
95Projecto iVLAB 95
Manual de utilizador 23-07-2004
5.3 Utilização do iVLAB
5.3.1 Funcionamento normal
Após ligar a máquina, a aplicação iVLAB aparece no ecrã táctil. Neste
momento inicia-se o processo normal de funcionamento.
Pressionando o botão de ligar a máquina começa a
processar rolhas, separando-as para os respectivos
receptáculos. A forma como esta separação é realizada está
definida na secção de Parâmetros de Funcionamento. A
aplicação preserva o último programa utilizado, mas se por
alguma razão é necessário utilizar uma outra série de
parâmetros, antes de iniciar o processamento o utilizador
deverá efectuar os passos descritos na secção seguinte.
O estado da máquina (parado ou ligado) é sinalizado com a cor do botão,
verde ligar, vermelho desligar.
5.3.1.1 Parametrizar classes
Criar novo programa
Na secção de Parâmetros de funcionamento encontra-se o botão
Novo. Ao pressionar este botão uma nova secção aparece a pedir o
nome do novo programa e o nome do utilizador. Estas duas
informações ficam guardadas permanentemente com o ficheiro criado.
Após a introdução destes parâmetros obrigatórios, um nova janela
aparece com todos os parâmetros de classificação e selecção necessários
em branco.
Para que todas as informações introduzidas fiquem registadas é
pressionar o botão de “Guardar” no fim.
Figura 5-6-
Botão de ligar e de
desligar
Figura 5-7 – Parametrizar classes
96Projecto iVLAB 96
Manual de utilizador 23-07-2004
Guardar e Guardar como
As opções de “Guardar” e “Guardar Como” encontram-se activas quando o
utilizador está a editar um programa ou a criar um novo.
Ao pressionar o botão de “Guardar” os parâmetros que entretanto foram
alterados são gravados no respectivo ficheiro para posterior utilização.
Com o botão “Guardar Como” o utilizador pode modificar o ficheiro e
guardá-lo com outro nome, inclusive para um suporte externo, o que permite
reutilizar os programas em outros sistemas idênticos ou simplesmente proceder ao
seu backup.
Abrir programa
Para abrir um novo programa de modo a poder executá-lo ou simplesmente
editá-lo, basta pressionar o botão “Abrir” presente no separador “Parâmetros de
Funcionamento”.
Uma nova janela permite o acesso aos ficheiros em disco ou em suporte
externo. Depois de seleccionado o ficheiro a abrir e de confirmada a operação, os
parâmetros guardados são lidos e feita uma actualização dos valores do sistema.
A partir de deste momento o programa está pronto a ser executado, editado e
novamente guardado.
97Projecto iVLAB 97
Manual de utilizador 23-07-2004
Configurar máquina
Para configurar a máquina acedemos ao último separador no topo da janela.
No separador “Diversos” o utilizador acede a todas as opções do sistema.
Figura 5-8 – Configuração - detalhe
O principal ponto deste menu é observado em “sincronismo”. Neste grupo
podem ser alterados os parâmetros referentes a tempos de natureza construtiva da
máquina. Uma vez aceites estes valores não deverão ser modificados no tempo de
vida da máquina.
São alteráveis também os números de rolhas por receptáculo, e se o sistema
deve parar ou não quando atingir o limite assinalado.
A data e hora do sistema são alteráveis neste menu, bem como o número da
máquina e respectivo nome.
98Projecto iVLAB 98
Manual de utilizador 23-07-2004
Modo Manual
Figura 5-9 – Activação manual das saídas
Em modo “manual”, acessível através do menu superior “Configuração” e
depois “Manual”, o utilizador pode manualmente testar as entradas e saídas do
sistema. Este modo é extremamente útil para detecção e correcção de avarias.
99Projecto iVLAB 99
Manual de utilizador 23-07-2004
Modo passo-a-passo
Figura 5-10 – Modo passo-a-passo
O modo “passo-a-passo” é outro modo útil para detecção e correcção de
avarias e verificação de funcionamento do sistema.
Para aceder a esta funcionalidade basta premir o botão “Configuração”,
“Passo a Passo”, a partir daí o pode ver-se a imagem do corpo e topos da rolha,
injectando novas rolhas ao pressionar o botão do punção.
A informação sobre a classificação e selecção da rolha aparece por baixo,
permitindo a verificação do seu bom funcionamento.
100Projecto iVLAB 100
Manual de utilizador 23-07-2004
Estatísticas
Figura 5-11 - Estatísticas
As estatísticas sobre a produção são acessíveis no separador “Produção”,
“Estatísticas”. Nesta parte da aplicação podem consultar-se os resultados da análise,
classificação e selecção das rolhas.
Um gráfico multifuncional é parametrizável utilizando as opções que se
encontram logo por baixo deste, tendo como opções acessíveis:
classes ou saídas;
valores absolutos ou percentagens;
resultado das últimas 100 rolhas, últimas 1000 ou de todas as rolhas da
sessão actual.
Com os botões de reset podemos reiniciar os diversos contadores disponíveis,
classes e saídas.
101Projecto iVLAB 101
Manual de utilizador 23-07-2004
Funções extra
Teclado
O teclado é acessível através do botão na barra
lateral. Este corre uma outra aplicação (GTKeyboard) que
mostra um pequeno teclado no ecrã táctil, possibilitando o
utilizador introduzir valores nos diversos parâmetros.
Exportação e importação de configurações
As opções de importar e exportar configurações encontram-se no separador
“Configuração”.
Para abrir uma configuração já existente, por exemplo de outra máquina, basta
pressionar o botão “Abrir”. Uma janela permite ao utilizador seleccionar um
ficheiro em disco ou em disquete. A partir dos dados gravados nesse ficheiro a
aplicação actualiza as suas configurações. Estas ficam activas a partir do momento
em que confirmamos o ficheiro.
Para guardar configurações em ficheiro basta pressionar o botão “Guardar”.
Nesse momento as configurações são guardadas num ficheiro próprio, em formato
de texto.
Se pretender efectuar uma cópia de segurança, ou simplesmente guardar num
ficheiro diferente basta pressionar o botão “Guardar Como”. Uma janela pergunta
qual o nome do ficheiro e caminho para o guardar.
Exportação e importação de programas
Os programas de classificação e selecção de rolhas podem ser exportados para
outras máquinas ou simplesmente para cópias de segurança. As opções de importar
e exportar programa encontram-se no separador “Parâmetros de funcionamento”.
Para abrir um programa já existente, por exemplo de outra máquina, basta
pressionar o botão de abrir. Uma janela permite ao utilizador seleccionar um
ficheiro em disco ou em suporte externo.
Figura 5-12 - Teclado
102Projecto iVLAB 102
Manual de utilizador 23-07-2004
Para guardar programas em ficheiro basta pressionar o botão “Guardar”.
Nesse momento os actuais parâmetros serão gravados no ficheiro cujo nome
aparece na barra de título.
Se pretender efectuar uma cópia de segurança, ou simplesmente guardar num
ficheiro diferente basta pressionar o botão “Guardar Como”. Uma janela pergunta
qual o nome do ficheiro e onde o vai guardar.
Campos dos parâmetros de funcionamento
Figura 5-13 – Parâmetros do corpo
No separador “Parâmetros de Funcionamento” encontram-se todos os valores
que irão influenciar a classificação das rolhas. A este conjunto de parâmetros
chama-se programa.
No separador “Corpo” dentro do separador “Parâmetros de Funcionamento”
pode definir-se:
a área total de defeitos,
área do maior defeito,
número de defeitos,
área total de buracos,
103Projecto iVLAB 103
Manual de utilizador 23-07-2004
nº de buracos,
área do maior buraco,
nº de buracos,
largura da maior fenda horizontal,
largura da maior fenda vertical,
largura do maior buraco vertical.
Os mesmos indicadores podem ser atribuídas aos topos. Com esses valores a
comparação resultante irá retornar uma classe, que por cruzamento com a
informação dos corpos irá classificar a rolha.
Figura 5-14 – Combinações Corpo-Topos
No separador “Combinações CT” cruza-se essas informações de acordo com
as opções do utilizador. Para a primeira classe a aplicação pode escolher pelo pior
ou melhor do corpo ou topos, atribuindo pesos diferentes aos diversos parâmetros
que influenciam na escolha final da classe da rolha.
104Projecto iVLAB 104
Manual de utilizador 23-07-2004
Figura 5-15 – Atribuição de saídas
No separador “Saídas” a classe é atribuída à saída através de diversos botões
de selecção.
Projecto iVLAB 105
Conclusões 23-07-2004
6 Conclusões
O trabalho desenvolvido permitiu verificar a viabilidade das tecnologias
utilizadas em aplicações industriais. Pelo facto de se ter utilizado tecnologias
normalizadas o sistema apresenta grande robustez permitindo a sua evolução e
aumento de potencialidades.
A arquitectura seleccionada mostrou ser adequada ao funcionamento do
sistema cuja elevada cadência de funcionamento impôs restrições tecnológicas
profundas como sendo a escolha do sistema operativo Linux, barramento de dados
Firewire e câmaras CMOS.
O sincronismo entre os vários componentes do sistema de suporte à visão foi
testado e comprovou-se ser funcional em laboratório. No entanto, a componente
relativa à sincronização das câmaras não foi testada dado o estado de adiantamento
do sistema de visão.
A aplicação iVLAB, desenvolvida em linguagem Delphi permite a supervisão
de todo o sistema, dando ao utilizador a possibilidade de aceder a funcionalidades
de controlo de movimentação e funcionamento, à parametrização e valores de
processamento (a ser utilizados pelo sistema de visão) e à consulta de resultados e
estatísticas dos dados de produção.
Projecto iVLAB 106
Bibliografia 23-07-2004
7 Bibliografia
1. Perry West, High Speed, Real Time Machine Vision: CyberOptics
Semiconductor - Web Site [http://www.imagenation.com/]. Acedida em
17/03/2004.
2. Perry West, A Road Map for Building a Machine Vision System: CyberOptics
Semiconductor – Web Site [http://www.imagenation.com/]. Acedida em
17/03/2004.
3. Radeva, Tetia et al, CorkInspect – Public Final Report, versão 1.0, 2003.
Disponível em http://www.cvc.uab.es/~jordi/corkinspect final report.pdf.
Acedido em 17/03/2004.
4. Relés térmicos: Alibaba:
http://thermal_relay.manufacturers.alibaba.com/
5. Pressostatos: Suco:
http://www.pws.com.br/Paginas/pressostatos.htm
6. Sensores ópticos de movimento: Allied motion:
http://www.opticalencoder.com/
7. Sensores indutivos de movimento: Danaher controls:
http://www.dynapar-encoders.com/
107Projecto iVLAB 107
Bibliografia 23-07-2004
8. Relés de segurança: Pilz:
http://www.pilz.com
9. UDP protocol: Data comunication seminars:
http://www.ietf.org/rfc/rfc0768.txt
10. Câmaras digitais, conceitos: DPReview:
http://www.dpreview.com/learn/?/Glossary/Camera_System/Sensors_01.htm
11. Câmaras lineares:
http://www.fis.unipr.it/~fermi/PagInternet_English/Digital_Cameras/DigCam
_Lineari.html
12. Digital video camera company:
http://www.dvcco.com
13. Componentes electrónicos: Farnell:
http://www.farnell.com/
14. Iluminação electrónica: DCM sistemes:
http://www.dcmsistemes.com/prod_ilu.html
15. Imagenation:
http://www.imagenation.com/
16. Sobre rolhas: the natural cork quality council
108Projecto iVLAB 108
Bibliografia 23-07-2004
http://www.corkqc.com
17. Câmaras Digital A600 Series
http://www.baslerweb.com/produkte/produkte_en_1455.php.
18. Dispositivos de iluminação
http://www.dcmsistemes.es
19. Infaimon
http://www.infaimon.com
20. Kylix
http://www.steema.com/products/teechart/Kylix/kylix.html
Anexos
CAPÍTULO
8
Anexo 1
D I A G R A M A D E G A N T T
IDT
ask N
am
e
1S
em
an
a 1
2P
ág
ina
WE
B d
e s
up
ort
e a
o fu
ncio
na
me
nto
do
pro
jecto
3P
esq
uis
a W
EB
te
cn
olo
gia
CC
D e
CM
OS
4E
lab
ora
çã
o d
o r
ela
tório
co
m r
esu
lta
do
s d
a p
esq
uis
a
5S
em
an
a 2
6R
efin
am
en
to d
os r
esu
lta
do
s d
a p
esq
uis
a
7S
em
an
a 3
8E
xa
me
s R
ecu
rso
9S
em
an
a 4
10
Exa
me
s R
ecu
rso
11
Se
ma
na
5
12
Pe
sq
uis
a d
e F
ram
e G
rab
be
rs
13
Insta
laçã
o d
e L
inu
x e
Win
do
ws
14
Insta
laçã
o d
o K
ylix
15
Pro
gra
ma
çã
o e
co
mu
nic
açã
o d
o a
utó
ma
to
16
Lig
açã
o d
o v
aria
do
r d
e v
elo
cid
ad
e a
o a
utó
ma
to
17
Pe
sq
uis
a d
e v
ers
õe
s d
e L
inu
x E
mb
ed
de
d
18
Se
ma
na
6
19
Pro
gra
ma
çã
o d
o p
roto
co
lo H
ostlin
k e
m K
ylix
20
Pro
gra
ma
çã
o d
o a
utó
ma
to r
ea
liza
da
em
Win
do
ws X
P
21
Se
ma
na
7
22
Co
nclu
sã
o d
a c
om
un
ica
çã
o e
ntr
e o
lin
ux e
o a
utó
ma
to O
mro
23
Re
lató
rio
de
esp
ecíf
ica
çã
o d
o s
iste
ma
de
in
sp
ecçã
o d
e r
olh
a
24
Se
ma
na
8
25
Co
nclu
sã
o d
o r
ela
tório
de
esp
ecific
açã
o d
o s
iste
ma
de
in
sp
e
26
Se
ma
na
9
27
Co
nclu
sã
o d
o r
ela
tório
de
esp
ecific
açã
o d
o s
iste
ma
de
in
sp
e
28
Estu
do
de
va
ria
nte
s a
o p
roto
co
lo H
OS
T-L
INK
29
An
ális
e d
e m
erc
ad
o p
ara
pla
ca
s a
da
pta
do
ras IE
EE
-13
94
, co
30
Se
ma
na
10
31
Te
ste
de
ve
locid
ad
e d
e c
om
un
ica
çã
o c
om
o a
utó
ma
to
32
Se
ma
na
11
33
Estu
do
da
ap
lica
çã
o C
X P
rog
ram
me
r
34
Estu
do
da
s in
str
uçõ
es d
o a
utó
ma
to C
QM
1 e
CQ
M1
H
35
Pro
gra
ma
s d
e t
este
do
au
tóm
ato
36
Se
ma
na
12
37
Pá
sco
a
38
Se
ma
na
13
39
Re
ce
pçã
o d
a c
am
âra
40
Orc
ad
-
Circu
ito
s d
e ilu
min
açã
o
41
Te
ste
de
in
teg
raçã
o d
a p
laca
IE
EE
13
94
co
m L
inu
x
42
Insta
laçã
o d
a a
plic
açã
o C
oria
nd
er
43
Se
ma
na
14
44
Se
ma
na
da
Qu
eim
a
45
Se
ma
na
15
46
Pro
gra
ma
Alto
Nív
el A
utó
ma
to
47
Co
mu
nic
açã
o S
érie
Lin
ux
48
Arq
uite
ctu
ra d
e C
om
un
ica
çã
o c
om
o A
utó
ma
to
49
Se
ma
na
16
26
/01
02
/02
09/0
216/0
223/0
201/0
308/0
315/0
322/0
329/0
305/0
412/0
419/0
426/0
403/0
510/0
517/0
524/0
531/0
507/0
614/0
621/0
628/0
605/0
7u
ary
11 F
ebru
ary
01 M
arc
h21 M
arc
h11 A
pril
01 M
ay
21 M
ay
11 J
une
01 J
uly
Ta
sk
Sp
lit
Pro
gre
ss
Mile
sto
ne
Sum
mary
Pro
ject S
um
mary
Exte
rnal T
asks
Exte
rnal M
ilesto
ne
Deadlin
e
Page 1
Pro
ject:
ivsc_
pla
ne
am
en
to_
v1
_ccs
Da
te:
Sa
t 2
2/0
5/0
4
IDT
ask N
am
e
50
De
fin
içã
o d
os p
arâ
me
tro
s d
e c
on
fig
ura
çã
o d
o s
iste
ma
51
Ela
bo
raçã
o d
o p
rog
ram
a d
e b
aix
o n
íve
l p
ara
co
ntr
olo
do
au
tó
52
Te
ste
de
In
teg
rid
ad
e d
o S
iste
ma
53
Arq
uite
ctu
ra d
a A
plic
açã
o
54
Inte
rfa
ce
da
Ap
lica
çã
o
55
Ilu
min
aç
ão
56
De
se
nh
o d
o c
ircu
ito
elé
ctr
ico
57
Orc
ad
58
Fa
brico
da
s p
laca
s
59
Mo
nta
ge
m C
ircu
ito
60
Es
tru
tura
Me
câ
nic
a (
De
se
nh
o +
Mo
nta
ge
m)
61
Su
po
rte
da
câ
ma
ra
62
Su
po
rte
da
ilu
min
açã
o
63
Se
ma
na
17
64
De
fin
içã
o d
e p
arâ
me
tro
s d
e p
roce
ssa
me
nto
65
Pro
toco
lo d
e c
om
un
ica
çã
o c
om
as c
âm
ara
s
66
Te
ste
s d
e a
qu
isiç
ão
de
im
ag
em
67
Ap
lic
aç
ão
68
De
fin
içã
o d
e p
arâ
me
tro
s d
e d
ecis
ão
69
De
se
nvo
lvim
en
to
70
Vis
ita
Aze
ve
do
s I
nd
ústr
ia
71
Se
ma
na
18
72
Re
lató
rio
73
Re
co
lha
de
do
cu
me
nta
çã
o e
bib
liog
rafia
74
Escrita
do
re
lató
rio
75
Re
vis
ão
76
De
se
nvo
lvim
en
to A
plic
açã
o
77
Te
ste
78
Arm
aze
na
me
nto
de
In
form
açã
o r
ela
tiva
ao
pro
jecto
79
Se
ma
na
19
20
80
Sin
cro
nis
mo
de
fu
ncio
na
me
nto
81
De
se
nvo
lvim
en
to P
roce
ssa
me
nto
Im
ag
em
82
Se
ma
na
21
83
Inte
gra
çã
o e
Te
ste
84
Se
ma
na
22
85
Re
lató
rio
Fin
al
86
Po
ste
r
26
/01
02
/02
09/0
216/0
223/0
201/0
308/0
315/0
322/0
329/0
305/0
412/0
419/0
426/0
403/0
510/0
517/0
524/0
531/0
507/0
614/0
621/0
628/0
605/0
7u
ary
11 F
ebru
ary
01 M
arc
h21 M
arc
h11 A
pril
01 M
ay
21 M
ay
11 J
une
01 J
uly
Ta
sk
Sp
lit
Pro
gre
ss
Mile
sto
ne
Sum
mary
Pro
ject S
um
mary
Exte
rnal T
asks
Exte
rnal M
ilesto
ne
Deadlin
e
Page 2
Pro
ject:
ivsc_
pla
ne
am
en
to_
v1
_ccs
Da
te:
Sa
t 2
2/0
5/0
4
Anexo 2
S C R E E N S H O O T S D A P Á G I N A W E B
Anexo 3
P O S T E R D O P R O J E C T O
Objectivos Tecnologias utilizadas
Trabalho desenvolvido Conclusões
Intervenientes
Carlos Correia SilvaHélder Pinto OliveiraVitor Machado Vieira
Carlos.Correia@fe.up.ptHelder.Oliveira@fe.up.ptVitor.Vieira@fe.up.pt
http://ivsc.no-ip.com
Prof. Dr. Américo Lopes AzevedoProf. Dr. António Paulo MoreiraProf. Dr. Paulo Gomes da Costa
Especificar um sistema de aquisição de imagemDesenvolver o sistema de controlo da máquina de inspecção para uma cadência de 4 rolhas/segundoCriar uma aplicação de suporte ao funcionamento e controlo da máquina para ambiente industrial
IEEE 1934 / FirewireCâmara digital / CMOSSoftware de desenvolvimento Kylix para S.O. LinuxAutómato modularPC industrial
Sistema avançado de análise de superfícies de rolhas
Especificação global do sistemaImplementação da arquitectura definidaIntegração de subsistemas e tecnologiasProgramação do autómato OMRON CQM1HProgramação da interface gráfica para utilização industrial/laboratorial do sistemaParametrização do sistema de inspecção
iVLAB
A utilização de tecnologias normalizadas permite robustez, evolução e fácil integraçãoArquitectura e sincronismo adequados à elevada cadência de funcionamentoAplicação desenvolvida (iVLAB) premite: Supervisão do sistema Controlo de movimento e funcionamento Parametrização de valores do sistema de aquisição Consulta de resultados e estatísticas de produção
Anexo 4
U M L
Diagrama de actividades
Representa actividades e fluxo de controlo entre actividades
Representa uma actividade do sistema
Representa uma decisão do sistema
Inicio de actividade
Fim de actividade
Representa uma transição
Representa paralelismo
Representa sincronismo
Diagramas de casos de uso
É uma descrição de um conjunto de sequências de acções que
Um sistema realiza e que produzem um resultado observável para um actor
Actor – é um elemento que interage com o sistema
Actor
Caso de uso – define o comportamento do sistema
Extende – são casos de uso realizados por outros casos de
uso
Inclui – Comportamento comum
Anexo 5
C R I T É R I O S D E E S C O L H A D A S C Â M A R A S
Critérios de escolha das câmaras
Tecnologia dos sensores de aquisição: CCD (Charge Coupled Device)
ou CMOS (Complementary Metal Oxide Semiconductors);
Os sensores de imagem CCD são frequentemente usados em
câmaras onde a qualidade de imagem é muito importante (o que
implica baixo ruído). Representam uma tecnologia mais madura,
possuindo melhor resolução em imagem digital. Comparativamente
aos sensores de imagem CCD, os sensores CMOS são de fabrico
menos dispendioso, e, dado que operam com níveis de tensão
menos elevados, consomem menos energia. De facto os sensores
CMOS apresentam níveis mais elevados de ruído, vindo a
verificar-se a obtenção, regra geral, de imagens com menos
definição. Consequentemente, os sensores CMOS são usados
frequentemente em câmaras para uso geral (aplicações domésticas,
vigilância, etc.).
Tipo de aquisição: Linear ou matricial – constituem os dois tipos de
câmaras possíveis de utilização. A matricial capta imagem em formato
bidimensional e a linear capta a imagem linha a linha.
Modo de operação: Mono ou policromático, consoante funcionam em
tons de cinzento (normalmente apelidadas de câmaras preto-e-branco)
e a cores;
Comunicação (saída de vídeo): Camera Link, analógica, digital (paralela
ou via IEEE-1394).
Camera Link: Standard de conexão entre a câmara e o frame
grabber que utiliza uma extensão do protocolo de transmissão
Channel Link TM no sentido de proporcionar uma utilização e
desempenho mais elevados em aplicações industriais. Este
protocolo é suportado pelo LVDS - Low Voltage Differential
Signaling – que é um interface standard de utilização genérica
caracterizado por elevadas taxas de transmissão e consumos
bastante reduzidos. O protocolo suporta uma velocidade
máxima de transmissão de 1.8Gbps;
Analógica: Conexão feita através de vídeo composto, utilizado
para velocidades de transmissão menos elevadas. Necessita
também de um frame grabber.
Digital – Paralela: Conexão da câmara em formato RS-422 ou
LVDS (EIA-644), compatível com a generalidade de frame
grabbers.
Digital – IEEE-1394: Barramento digital com capacidade até
400 Mbps (100, 200 e 400Mbps) que proporciona uma interface
de elevado desempenho para câmaras digitais.
o Permite a passagem de sinais de controlo no mesmo
barramento, podendo ainda conectar vários
dispositivos;
o Comunicação ponto-a-ponto;
o Plug and Play;
o Grande diversidade de dispositivos adaptadores no
mercado;
o Dimensões reduzidas;
Anexo 6
C A R A C T E R I S T I C A S D O S I S T E M A D E I L U M I N A Ç Ã O
Tipos de iluminação
Podem considerar-se vários tipos de iluminação:
• Por fibra óptica – proporciona uma iluminação mais potente, com formatos bastantes distintos de forma a cobrir uma grande quantidade de aplicações;
• Por led - para aplicações em que não seja requerida uma grande intensidade de iluminação. Estes dispositivos são especialmente interessantes devido ao seu reduzido custo e tempo de vida elevado – cerca de 100 000 horas;
• Por dispositivos fluorescentes – utilizados em múltiplas aplicações, ainda que não haja uma grande variedade de formatos e tenham requisitos de alimentação específicos – tipicamente alimentação de elevada frequência;
• Por dispositivos laser – Especialmente utilizados em aplicações onde se pretenda obter uma imagem tridimensional do objecto.
• Estereoscópios – para aquisição de objectos com velocidades elevadas, permitindo tempos de exposição muito curtos;
• Sistemas de iluminação infravermelha – sistema utilizado na captura de imagens a grande distância.
Técnicas de iluminação
Iluminação frontal – técnica usada geralmente, é especialmente adequada para superfícies pouco reflectoras (papel, cortiça, etc.). Requer sistemas de iluminação pontuais, de área ou lineares;
Iluminação frontal Iluminação lateral
Iluminação lateral – técnica usada na detecção de defeitos superficiais ou quando a superfície é muito reflectora;
Iluminação por contraste – o objecto é colocado entre a câmara e o sistema de iluminação. Permite realçar a silhueta do objecto e realizar medições muito precisas, embora não se possam detectar defeitos superficiais.
Iluminação difusa: utilizada para iluminar superfícies com reentrâncias ou nas quais fenómenos de sombra possam interferir na aquisição de imagem.
Sistema de apoio
Em algumas aplicações é necessária a aquisição de imagem quando esta se
encontra em movimento, podendo resultar na degradação da imagem captada. Para
evitar esta situação (denominada “motion blur”) pode recorrer-se a:
1. Dispositivos estroboscópicos: emissão de luz num período muito curto e com grande intensidade para que se adquira uma imagem estática.
2. Shutter electrónico: capaz de reter a aquisição de imagem, limitando o efeito mencionado.
Formas de iluminação
Os tipos básicos de formas de iluminação são apresentados nas figuras
seguintes:
a – Iluminação linear b – Iluminação circular
c – Iluminação pontual d – Iluminação difusa
Figura Error! No text of specified style in document.-1 – Tipos de iluminação
A iluminação adequada para os dois tipos de aquisição de imagem, deve
consistir numa barra ou num anel de LED brancos, quer se trate da câmara de
inspecção do corpo da rolha ou dos seus topos. Este tipo de iluminação evita o
recurso a dispositivos mais complexos e mais dispendiosos, ao mesmo tempo que
proporciona boas condições de visibilidade e de captura de imagem.
Anexo 7
C O N F I G U R A Ç Ã O D O A U T Ó M A T O C Q M 1 H
Configuração do Autómato CQM1H
As especificações do autómato CQM1H devem ser parametrizadas na
aplicação CX-Programmer, como mostrado na
Figura Error! No text of specified style in document.-2.
Este ponto refere-se à criação de um novo projecto.
Figura Error! No text of specified style in document.-2 – Configuração do autómato CQM1H
Especificações do dispositivo
Tipo de dispositivo – CQM1H; CPU – CPU51; Carta de entrada· – 0CH; Cartas de saída· – OD212.
As duas primeiras informações devem ser introduzidas nos campos
assinalados na Figura seguinte.
Especificações das comunicações
Porta de comunicação – COM3; BaudRate – 19200 (por defeito para a aplicação iVLab); Tamanho dos dados – 8; Paridade – par; Stop bits – 1.
As informações acima devem ser introduzidas nos campos assinalados na
Figura seguinte.
Parâmetros de funcionamento
Após configuração do autómato, devem ser introduzidos os seus parâmetros
de funcionamento, em “Settings”., como se mostra na Figura seguinte.
Modo de arranque
• Modo de arranque – Monitor;
Porta série
BaudRate – 19200; Formato das tramas – [1,8,1,E]; Modo de comunicação – Host Link;
Uma das configurações essenciais deste sistema tem que ver com a
necessidade de o autómato arrancar forçosamente em estado “Monitor”. Isto
deve-se ao facto de que o autómato apenas comunica com outras aplicações se
estiver neste modo de funcionamento, o que é requerido para funcionamento com
a aplicação iVLab.
O protocolo de comunicação usado tem como formato original das tramas 7
bits de dados. Esta característica teve que ser alterada para 8 bits, dado que em
Linux, onde foi implementada a aplicação, não suporta que a troca de informação
tenha apenas 7 bits de dados.
Parâmetros de Comunicação Host Link e RS-232C
• Comunicação Standard
Start Bit: 1 bit
Tamanho dos dados: 7 bits
Stop Bit: 2 bits
Paridade: par
Baud Rate: 9600 bps
• Outras opções
Tabela 7-1 – Baud Rate
Áreas de Memória
O estado das posições das cartas de entrada e saída usadas para ligação dos
sensores e actuadores são guardados na Área de memória IR, cujo tamanho
máximo é 16bit, o equivalente a 1 word, como indica a Figura seguinte.
Figura Error! No text of specified style in document.-3 – Áreas de memória IR
O estado das entradas são guardadas nas posições IR0XX, enquanto o estado
das saídas é guardado nas posições IR1X. Caso se pretenda usar cartas com apenas
8 entradas, são usados apenas 8 bits da word alocada, ficando os restantes bits
inutilizados, não podendo ser usados para outro fim (ver exemplo IR001). No caso
de ser pretender usar cartas com 8 saídas, são usados os primeiros 8 bits da word
designada, sendo que os restantes podem ser usados para outras finalidades (ver
exemplo IR102 ).
Solução adoptada
Anexo 8
P R O T O C O L O D E C O M U N I C A Ç Ã O
Protocolo de comunicação
O protocolo OMRON Hostlink foi escolhido para comunicação entre o PC
industrial e o autómato programável.
Tramas de leitura no autómato
As tramas Hostlink têm o seguinte formato (o bit inicial indica simplesmente
o início da transmissão de trama):
• Descrição dos campos da trama:
1. Número do nó, é usado quando se pretende ligar vários dispositivos entre
si. Como aqui só se pretende ter um emissor e um receptor, atribuiu-se
zero a estes campos.
2. Código cabeçalho, estes campos indicam o tipo de operação desejada e área
de memória à qual se deseja aceder.
Ler (R) – “read”.
Área Memória (D) – “Data Memory”
3. Word de início, indica qual a posição de memória que se deseja Ler.
4. Indica o número de Words que se pretende ler.
5. FCS “Frame Check Sequence” - estes dois bits contêm o XOR (Exclusive OR)
de todos os bits existentes para trás na trama, sendo enviado em formato
hexadecimal.
6. Estes dois bits finais indicam o fim transmissão de uma trama.
Resposta à trama de leitura
• Descrição dos campos da trama
1. Número do nó, é usado quando se pretende ligar vários dispositivos entre si
como aqui só se pretende ter um emissor e um receptor, atribuiu-se zero a
estes campos.
2. Código cabeçalho, estes campos indicam o tipo de operação desejada e área de
memória a qual se deseja aceder.
Ler (R)
Área Memória D
3. Informa se a transmissão foi executada com sucesso ou se ocorreu algum erro.
Os valores que este campo pode ter são descritos na Tabela seguinte.
4. Contém o valor lido da posição de memória desejada.
5. FCS, estes dois bits contêm o XOR (FCS) de todos os bits existentes para trás
na trama, sendo este enviado em Hexadecimal.
6. Estes dois bits finais indicam o fim transmissão de uma trama.
Tramas de Escrita no autómato
• Acesso à memória de dados
• Descrição dos campos da trama
1. Número do nó, é usado quando se pretende ligar vários dispositivos entre si
como aqui só se pretende ter um emissor e um receptor, atribuiu-se zero a
estes campos.
2. Código cabeçalho, estes campos indicam o tipo de operação desejada e área de
memória a qual se deseja aceder.
Escrever (W)
Área Memória (D)
3. Contém a Word de início de escrita (de 0000 a 6143).
4. Contém o valor que se deseja escrever nas Words de memória.
5. FCS, estes dois bits contêm o XOR (FCS) de todos os bits existentes para trás
na trama, sendo este enviado em Hexadecimal.
6. Estes dois bits finais indicam o fim transmissão de uma trama.
• Acesso aos registos internos
• Descrição dos campos da trama:
1. Número do nó, é usado quando se pretende ligar vários dispositivos entre si
como aqui só se pretende ter um emissor e um receptor, atribuiu-se zero a
estes campos.
2. Código cabeçalho, estes campos indicam o tipo de operação desejada e área de
memória a qual se deseja aceder.
Escrever (W) – “write”
Área Memória (I) –“Internal Register”
3. Contém a Word de início de escrita (de 0000 a 0252).
4. Contém o valor que se deseja escrever, se for apenas uma word de memória.
5. Contém o valor que se deseja escrever se forem várias words de memória.
6. FCS, estes dois bits contêm o XOR (FCS) de todos os bits existentes para trás
na trama, sendo este enviado em Hexadecimal.
7. Estes dois bits finais indicam o fim transmissão de uma trama.
Resposta à trama de escrita
• Acesso à Memória de Dados
• Descrição dos campos da trama:
1. Número do nó, é usado quando se pretende ligar vários dispositivos entre si
como aqui só se pretende ter um emissor e um receptor, atribuiu-se zero a
estes campos.
2. Código cabeçalho, estes campos indicam o tipo de operação desejada e área de
memória a qual se deseja aceder.
Escrever (W) – “write”
Área Memória (D) – ”Data Memory”
3. Informa se a transmissão foi executada com sucesso ou se ocorreu algum erro.
Os valores que este campo pode ter são descritos na Tabela seguinte.
4. FCS, estes dois bits contêm o XOR (FCS) de todos os bits existentes para trás
na trama, sendo este enviado em Hexadecimal.
5. Estes dois bits finais indicam o fim transmissão de uma trama.
• Acesso aos Registos Internos
• Descrição dos campos da trama:
1. Número do nó, é usado quando se pretende ligar vários dispositivos entre si
como aqui só se pretende ter um emissor e um receptor, atribuiu-se zero a
estes campos.
2. Código cabeçalho, estes campos indicam o tipo de operação desejada e área de
memória a qual se deseja aceder.
Escrever (W)
Área Memória (I)
3. Informa se a transmissão foi executada com sucesso ou se ocorreu algum erro.
Os valores que este campo pode ter são descritos na Tabela seguinte.
4. FCS, estes dois bits contêm o XOR (FCS) de todos os bits existentes para trás
na trama, sendo este enviado em Hexadecimal.
5. Estes dois bits finais indicam o fim transmissão de uma trama.
Exemplo de Instruções
Endereçamento Indirecto
Para endereçar a área de memória DM indirectamente basta colocar um
asterisco (*) antes do prefixo DM: *DM.
Quando a área de memória DM é usada como endereçamento indirecto, a
word DM designada contém o endereço da DM que contém os dados a que se
querem aceder.
O endereço a que se pretende aceder por endereçamento indirecto, tem que
ser necessariamente em BCD entre 0000 e 1999, e indica sempre uma área de
memória DM.
SET & RESET
SET – A operação set coloca o operando
que lhe está adjacente a ON, quando a condição
de execução é verdadeira. O seu estado não é
afectado mesmo que a condição de execução
deixe de ser verdadeira.
RSET – A operação rset coloca o operando
que lhe está adjacente a OFF, quando a condição de execução é verdadeira. O seu
estado não é afectado mesmo que a condição de execução deixe de ser verdadeira.
DIFFERENTIATE UP & DOWN
DIFU – Esta instrução é valida
sempre que a condição de execução passe
de OFF para ON.
DIFD – Esta instrução é valida
sempre que a condição de execução passe de ON para OFF.
Anexo 9
I N S T A L A Ç Ã O D O C X P R O G R A M
Instalação da aplicação CX-Progammer
A instalação da aplicação CX Programmer destina-se à programação de
autómatos OMRON em linguagem Ladder.
A sua instalação é semelhante à instalação de qualquer produto standar para
MS Windows. Deve ter-se, no entanto, em atenção:
Deve ter instalado a aplicação CX-Server. Em caso negativo será proposta a
opção de fazê-lo após instalação da aplicação CX Programmer
Na instalação do CX Server devem seguir-se os seguintes passos:
1. Seleccionar localização para instalação
2. Seleccionar dispositivos de rede desejados:
3. Aguardar o fim de instalação
Anexo 10
I N S T A L A Ç Ã O B O R L A N D K Y L I X
1.1 Instalação da aplicação Borland Kylix
A instalação da aplicação Borland Kylix deve ser efectuada do seguinte modo
(para mais informações consultar Instalation Manual, do próprio fabricante).
No caso de possuir a versão Kylix Open Edition , descarregável no site da
Borland (www.borland.com/products/downloads/download_kylix.html) deve
seguir os seguintes passos de instalação:
1. Descompactar a aplicação para um directório base, utilizando as
opções ( Botão direito sobre a aplicação -> Acções -> Extrair) ou
utilizando o comando: tar –xf Ficheiro comprimido /Directório de
destino.
2. Aceder ao directório anterior ( fazendo cd directório base a partir da raiz
/ ) e digitar : sh setup.sh, como se mostra na figura seguinte. De
seguida devem executar-se os passos propostos pelo wizard de
configuração, escolhendo o directório de instalação e opções de
funcionamento.
3. De seguida reinicie o ambiente x-86 fazendo ShutDown ao PC ou
através de novo login.
4. Copie o ficheiro de registo, disponível em
(www.borland.com/products/downloads/download_kylix.html) para
o directório de instalação.
5. Deverá ainda possuir um componente que lhe permita aceder ao Porta
série.
Anexo 11
C I R C U I T O D E P R O T E C Ç Ã O
Recommended