UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT
DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA – PPGEEL
EDUARDO HARBS
CNC-C
2: UM CONTROLADOR ADERENTE ÀS NORMAS
ISO 14649 E IEC 61499
UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT
DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA – PPGEEL
EDUARDO HARBS
CNC-C
2: UM CONTROLADOR ADERENTE ÀS NORMAS
ISO 14649 E IEC 61499
Dissertação submetida à Universidade do Estado de Santa Catarina como parte dos requisitos para a obtenção do grau de Mestre em Engenharia Elétrica
Orientador:PhD. Roberto Silvio Ubertino Rosso Jr.
Coorientador:PhD. Marcelo da Silva Hounsell
EDUARDO HARBS
CNC-C
2: UM CONTROLADOR ADERENTE ÀS NORMAS ISO 14649
E IEC 61499
Esta Dissertação foi julgada adequada para a obtenção do título de Mestre em Engenharia Elétrica e aprovada em sua forma final pelo Curso de Mestrado Profissional em Engenharia Elétrica do CCT/UDESC.
Banca Examinadora: Orientador/
Presidente:
PhD., Roberto Silvio Ubertino Rosso Jr. UDESC
Coorientador/ Suplente:
PhD., Marcelo da Silva Hounsell UDESC
Membro:
Dr., André Bittencourt Leal UDESC
Membro:
PhD., João Carlos Espíndola Ferreira UFSC
Membro:
PhD., Neri Volpato UTFPR
Este trabalho está dedicado à Deus,
Quem sempre tem sido fiel para
co-migo, aos meus pais Lodemar e
Ma-ria pelo amor e dedicação
incondi-cional, à minha esposa Tatiane pelo
amor, apoio e compreensão
AGRADECIMENTOS
Ao meu orientador, professor Roberto Silvio Ubertino Rosso Jr., pela sua colaboração, incentivo e conversas esclarecedoras no desenvolvimento deste trabalho. Ao professor Marcelo da Silva Hounsell, coorientador, pelo apoio e questionamentos.
Aos meus pais Lodemar Harbs e Maria Harbs pelo grande amor e incentivo dados.
À minha esposa Tatiane pelo incentivo, amor e compreensão nos momentos de dificuldade ao longo dessa caminhada.
À minha irmã Sandra e meu cunhado Daniel pelo incentivo.
Aos professores e amigos André Bittencourt Leal e Fernando Lafratta.
Ao Sr. Dietmar Erich Bernhard Lilie pela doação da estrutura mecânica da máquina junto ao Prof. Fernando Lafratta.
Ao aluno do curso de ciência da computação, ex-bolsista do grupo, Allan Yoshio Hasegawa, pelo trabalho desenvolvido na construção dofront-enddo compilador.
Ao bolsista Guilherme Jarentchuk pelo apoio e trabalho desenvolvido na construção do editor de modelos IEC 61499 e algorítmos de geração de trajetórias.
Ao bolsista Gabriel Negri pelo apoio e trabalho desenvolvido na construção das ferramentas de visualização e execução aderentes a IEC 61499.
Uma máquina pode fazer o trabalho
de 50 pessoas comuns. Nenhuma
máquina pode fazer o trabalho de
uma pessoa extraordinária.
RESUMO
HARBS, Eduardo.CNC-C2: Um Controlador Aderente às Normas ISO 14649 e IEC 61499.
2012. 156 f. Dissertação (Mestrado Profissional em Engenharia Elétrica – Área: Automação de Sistemas) – Universidade do Estado de Santa Catarina, Programa de Pós-Graduação em Engenharia Elétrica, Joinville, 2012.
A indústria tem enfrentado dificuldades quanto à flexibilidade das máquinas CNC, devido à norma utilizada atualmente para a programação CNC, a ISO 6983 ou código G/M. Com objetivo de substituição desta norma, desenvolveu-se a ISO 14649 ou STEP-NC, que é um novo modelo de transferência de dados unificado entre sistemas CAD/CAM e CNC. Para atender os novos requisitos de automação e controle de sistemas, desenvolveu-se a norma IEC 61499, visando o uso de objetos de software, os function blocks (FBs). Neste trabalho
integraram-se as normas STEP-NC e IEC 61499 para a construção de uma nova geração de CNCs, onde STEP-NC fornece o modelo de dados completo, porém sem funcionalidade, e os FBs fornecem as funcionalidades ao modelo de dados para o controle da máquina-ferramenta. Para tal, foi desenvolvido um controlador para uma máquina CNC protótipo aderente às normas STEP-NC e IEC 61499. Este protótipo é constituído de uma fresadora 2,5D, acionada por um conjunto de três servoacionamentos com CLPs integrados. Um conjunto desoftwarefoi
desenvolvido para compilação do arquivo STEP-NC e geração automática de modelos IEC 61499, visualização, edição e execução de FBs e rede de FBs além de uma biblioteca de modelos IEC 61499. Teste dosoftwaree do protótipo foi realizado com a usinagem de uma peça
exemplo, alcançando o objetivo proposto e provendo as características individuais das normas no controlador, como: interoperabilidade, portabilidade, uso de features, configurabilidade,
distribuição e adaptabilidade.
Palavras-chave:STEP-NC,Function Block, Controlador Numérico Computadorizado,
ABSTRACT
HARBS, Eduardo.CNC-C2: Um Controlador Aderente às Normas ISO 14649 e IEC 61499.
2012. 156 f. Dissertação (Mestrado Profissional em Engenharia Elétrica – Área: Automação de Sistemas) – Universidade do Estado de Santa Catarina, Programa de Pós-Graduação em Engenharia Elétrica, Joinville, 2012.
The industry has found difficulties towards CNC machines flexibility, due to the CNC program-ming current standard, the ISO 6983 or G/M code. The ISO 14649 or STEP-NC was developed to replace the current standard. It is a new unified data transfer model between CAD/CAM and CNC systems. To satisfy the new automation and control systems requirements, the IEC 61499 standard was developed, aiming the use of software objects, called function blocks (FBs). In this work, the standards STEP-NC and IEC 61499 were integrated to build a new generation of CNC, where STEP-NC supplies the complete data model without functionality, and the FBs provide the functionalities to the data model for the machine tool command. In this context, a controller for a CNC machine prototype, compliant to STEP-NC and IEC 61499 standards was developed. The prototype consists of a 2,5D milling machine, driven by a group of three servomotors drivers with integrated PLCs. A set of software was developed for compiling STEP-NC files and the automatic generation of IEC 61499 models, viewing, editing and executing FBs and FB networks, and further a library with IEC 61499 models. Test on software and prototype was performed machining an example workpiece, achieving the proposed goal and providing the individual characteristics of the standards in the controller, such as: interoperability, portability, use of features, configurability, distribution and adaptability.
LISTA DE FIGURAS
2.1 Exemplo de linha de programa em ISO 6983 . . . 34
2.2 Diferença de fluxo de informação com o uso do código G/M e com o uso de STEP-NC . . . 36
2.3 Descrição geral do modelo de dados . . . 38
2.4 Relação entre ISO 10303 e ISO 14649 . . . 39
2.5 Estrutura de um arquivo físico STEP-NC . . . 41
2.6 Estrutura hierárquica de um arquivo STEP-NC . . . 42
3.1 Características gerais do modelo de FB . . . 48
3.2 Bloco de Função Básico . . . 49
3.3 Bloco de Função Composto . . . 51
3.4 Bloco de função de serviço de interface PUBLISH . . . 53
3.5 Bloco de função de serviço de interface SUBSCRIBE . . . 53
3.6 Inicialização da interação . . . 53
3.7 Transferência de dados . . . 54
3.8 Modelo de Aplicação . . . 55
3.9 Modelo de Recurso . . . 56
3.10 Modelo de Dispositivo . . . 57
3.11 Funcionalidade do Dispositivo de Classe 0 . . . 58
3.12 Funcionalidade do Dispositivo de Classe 1 . . . 58
3.13 Funcionalidade do Dispositivo de Classe 2 . . . 59
3.14 Modelo de Sistema . . . 59
4.1 Arquitetura típica de um CNC e seus periféricos . . . 62
5.1 Controlador CNC proposto . . . 78
5.2 Arquitetura aberta desenvolvida . . . 79
5.3 Arquitetura proposta e fluxo de dados da STEPNCMillUoA . . . 85
5.4 Controlador baseado em PC . . . 88
6.1 Estrutura do CNC-C2 . . . 92
6.2 Representação de um modelo EXPRESS e um modelo UML usado para mapear Java . . . 95
6.3 Arquitetura do compilador desenvolvido . . . 96
6.4 Objetos usados para trocar mensagens entre componentes do compilador e o usuário . . . 97
6.5 Exceptionsdo compilador . . . 98
6.6 Componente da análise sintática . . . 99
6.7 Árvore sintática gerada pelo JavaCC + JJTree . . . 99
6.8 Componente da análise semântica . . . 100
6.9 Diagrama de classes mostrando as classes principais . . . 100
6.10 Diagrama de sequência: interação com o usuário . . . 101
6.11 Diagrama de sequência: métodoCompile . . . 101
6.12 Diagrama de sequência: métodorunSyntacticAnalysis . . . 102
6.13 Diagrama de sequência: new EntityTO . . . 103
6.14 Diagrama de sequência: métodorunSemanticAnalysis . . . 104
6.15 Trecho de código desenvolvido para a aplicação da back-end . . . 105
6.16 Exemplo de um arquivosystemgenérico da linguagem de marcação XML gerado a partir doback-enddo compilador . . . 106
6.17 Exemplo de funcionamento doresourceSTEP-NC_DATA desenvolvido . . . . 107
6.19 Ambiente de visualização de FBs e rede de FBs desenvolvido neste trabalho . . 109
6.20 Interface gráfica do editor desenvolvido neste trabalho (aba selecionada FB Básico)112 6.21 Caixa de texto para visualização da estrutura XML gerada pelo editor desenvolvido113 6.22 Proposta de utilização da rede CAN para comunicação entre os equipamentos constituintes da rede. . . 115
6.23 Proposta de utilização da rede RS485 para comunicação entre os equipamentos constituintes da rede. . . 116
6.24 Proposta de utilização do gerenciador de comunicação para transeferência de dados entre os equipamentos constituintes da rede . . . 117
6.25 Diagrama geral da configuração da rede CAN construída . . . 118
6.26 Máquina e protótipo de controlador construído . . . 118
6.27 Estrutura de dados gerais construída para comunicação CAN . . . 119
6.28 Estrutura de dados específicos por eixo construída para comunicação CAN . . . 119
6.29 Fluxograma base da programaçãoLadderdesenvolvida . . . 120
7.1 Projeto da peça utilizada nos testes . . . 121
7.2 Ocorrência de umExceptiondurante a compilação do arquivo exemplo . . . 122
7.3 EntidadeCUTTING_COMPONENT definida pelo modelo de dados STEP-NC . 123 7.4 Visualização gráfica da trajetório de usinagem . . . 125
Lista de Abreviaturas
AIM Application Interpreted Model
AP Application Protocol
ARM Application Reference Model
CAD Computer Aided Design- Desenho Auxiliado por Computador
CAE Computer Aided Engineering- Engenharia Auxiliada por Computador
CAM Computer Aided Manufacturing- Manufatura Auxiliada por Computador
CAPP Computer Aided Process Planning- Planejamento do Processo Auxiliado por
Computador
CAx Computer Aided technologies
CIM Computer Integrated Manufacturing- Manufatura Integrada por Computador
CL Cutter Location
CLP Controlador Lógico Programável
CNC Computer Numerical Control- Controlador Numérico Computadorizado
dIPMCS distributed Industrial-Process Measurement and Control Systems- Processos
industriais, de medição e de controle distribuídos
DPP Distributed Process Planning
ECC Execution Control Chart- Gráfico de Controle de Execução
EDM Electrical Discharge Machining
FB Function Block- Bloco de Função
FBRT Function Block Run Time
FIFO First In, First Out
FMS Flexible Manufacturing Systems- Sistemas Flexíveis de Manufatura
IA Inteligência Artificial
IEC International Electrotechnical Commission
IGES Initial Graphics Exchange Standard
ISO International Organization for Standardization
MIT Massachusetts Institute of Technology
MVC Model-View-Control
NC Numerical Control- Controlador Numérico
PDOs Process Data Objects
SCADA Supervisory Control and Data Acquisition - Sistemas de Supervisão e Aquisição
de Dados
SDAI STEP Data Access Interface
SET Standard d’Exchange et de Transfer
STEP STandard for the Exchange of Product model data (ISO 10303)
STEP-NC STandard for the Exchange of Product model data for Numerical Control (ISO
14649)
TO Transaction Objects
UML Unified Modeling Language
VDA Verdand des Automobilindustrie
SUMÁRIO
1 INTRODUÇÃO . . . 19
1.1 OBJETIVOS DO TRABALHO . . . 25
1.1.1 Objetivo Geral . . . 25
1.1.2 Objetivos Específicos . . . 25
1.2 DELIMITAÇÃO DO TRABALHO . . . 26
1.3 ESTRUTURA DA DISSERTAÇÃO . . . 26
2 TRANSFERÊNCIA DE DADOS NA MANUFATURA. . . 28
2.1 MODELO DA INDÚSTRIA DE MANUFATURA . . . 28
2.2 TROCA DE DADOS NOS SISTEMAS DE MANUFATURA . . . 28
2.2.1 Troca de dados entre CAD e CAM . . . 29
2.3 ISO 10303 OU STEP . . . 30
2.3.1 Visão Geral . . . 30
2.3.2 Estrutura STEP . . . 31
2.4 TROCA DE DADOS ENTRE CAM E CNC . . . 32
2.4.1 O Código G/M (ISO 6983) . . . 32
2.5 ISO 14649 OU STEP-NC . . . 35
2.5.1 Estrutura da Norma STEP-NC . . . 37
2.5.2 Arquivo Físico STEP-NC . . . 38
3 AUTOMAÇÃO DA MANUFATURA . . . 43
3.1 EVOLUÇÃO DAS TÉCNICAS DE CONTROLE . . . 43
3.2 PROGRAMAÇÃO DE CLP . . . 44
3.3 COMPARATIVO ENTRE AS NORMAS IEC 61131 E IEC 61499 . . . 45
3.4 IEC 61499 - MODELOS E CONCEITOS . . . 46
3.4.2 Tipos de Blocos de Funções . . . 48
3.4.2.1 Bloco de Função Tipo Básico . . . 49
3.4.2.2 Bloco de Função Tipo Composto . . . 51
3.4.2.3 FB Tipo Serviço de Interface . . . 52
3.4.3 Modelo de Aplicação . . . 54
3.4.4 Modelo de Recurso . . . 55
3.4.5 Modelo do Dispositivo . . . 56
3.4.6 Modelo do Sistema . . . 58
3.5 FORMATO DO ARQUIVO . . . 60
4 TECNOLOGIAS CORRELATAS . . . 61
4.1 ARQUITETURA DE UMA MÁQUINA CNC . . . 61
4.2 COMPILADOR . . . 62
4.3 SERVOACIONAMENTO . . . 63
4.3.1 Servomotor . . . 63
4.3.2 Servoconversor . . . 65
4.4 PROGRAMAS DE COMPUTADOR EXISTENTES ADERENTES A NORMA IEC 61499 . . . 66
4.4.1 Ferramenta nxtStudio - IEC61499 e SCADA . . . 67
4.4.2 Sistema UML e FBs - CORFU FBDK . . . 68
4.4.3 Ferramenta aderente a IEC 61499 junto com IEC 61131 - ISaGRAF . . . 69
4.4.4 Ambiente de Execução Fuber . . . 70
4.4.5 Estrutura 4DIAC-RTE e 4DIAC-IDE . . . 70
4.4.6 FBDK e FBRT . . . 71
4.4.7 FBench . . . 72
5.1 TRABALHOS RELACIONADOS AO USO DO MODELO DE DADOS STEP-NC 74
5.1.1 Sistema aderente a STEP-NC para torneamento . . . 74
5.1.2 STEP-NC para a geração atual de CNC . . . 75
5.1.3 Simulador de Fresadora baseado em STEP-NC . . . 76
5.1.4 Controlador CNC Aderente a STEP-NC . . . 76
5.1.5 Aplicando STEP-NC diretamente na máquina CNC . . . 78
5.2 TRABALHOS RELACIONADOS AO USO DA NORMA IEC 61499 . . . 80
5.2.1 Plano de Processo em Blocos de Funções . . . 80
5.2.2 Monitoramento e usinagem remota utilizando FBs . . . 81
5.3 TRABALHOS RELACIONADOS AO USO INTEGRADO DAS NORMAS STEP-NC E IEC 61499 . . . 82
5.3.1 STEP-NC e FBs para uma manufatura interoperável . . . 82
5.3.2 Aumetando a interoperabilidade da usinagem CNC com STEP-NC . . . 82
5.3.3 CNC baseado em STEP-NC e FBs IEC 61499 . . . 83
5.3.4 Sistema CNC baseado em STEP-NC e arquitetura de FBs . . . 84
5.3.5 Uso defeaturese FBs na usinagem CNC . . . 86
5.3.6 Integração das normas ISO 14649 e IEC 61499 para a construção de um CNC interoperável . . . 87
5.4 DISCUSSÕES . . . 89
6 CNC-C2: UM CNC INTEROPERÁVEL . . . 91
6.1 SOLUÇÃO PARA INTEGRAÇÃO DAS NORMAS . . . 91
6.2 ESTRUTURA DA MÁQUINA-FERRAMENTA E CNC-C2 . . . 92
6.2.1 Item 1 - Arquivo STEP-NC . . . 93
6.2.2 Item 2 - Compilador . . . 94
6.2.2.1Front-enddo compilador desenvolvido . . . 94
6.2.3 Item 3 - Arquivo XML IEC 61499 . . . 102
6.2.4 Item 4 - Visualização e Ambiente de Execução da Rede de FBs . . . 108
6.2.5 Item 5 - GASR FB Editor . . . 110
6.2.6 Item 6 - Biblioteca de FBs . . . 112
6.2.7 Item 7 - Rede de Comunicação PC-CNC . . . 114
6.2.8 Item 8 - Máquina . . . 116
7 TESTES E DISCUSSÕES . . . 121
7.1 ARQUIVO DE ENTRADA STEP-NC, COMPILADOR E ARQUIVOS XML GE-RADOS . . . 122
7.2 EDITOR DE FBS E BIBLIOTECA DE BLOCOS DE FUNÇÃO . . . 123
7.3 VISUALIZADOR E AMBIENTE DE EXECUÇÃO . . . 124
7.4 REDE DE COMUNICAÇÃO, CLP E MÁQUINA-FERRAMENTA . . . 124
7.5 PEÇA USINADA . . . 124
7.6 DISCUSSÕES . . . 126
8 CONCLUSÃO . . . 128
8.1 TRABALHOS FUTUROS . . . 131
REFERÊNCIAS . . . 133
APÊNDICE A - GASR FB EDITOR: GUIA DO USUÁRIO . . . 141
APÊNDICE B - ARQUIVO STEP-NC CONSTRUÍDO PARA TESTE. . . 147
APÊNDICE C - ARQUIVO XMLSYSTEMGERADO . . . 153
19
1 Introdução
Uma série de mudanças revolucionárias na configuração de sistemas de manufatura ocorreram desde o sistema de produção artesanal até os sistemas utilizados atualmente. No início do século XX surgiu a mais conhecida e tradicional configuração de um sistema de manufatura, o sistema de produção em massa (transfer line), o qual permite uma alta eficiência (quantidade)
e um baixo custo de produção (XU; NEWMAN, 2006). Na década de 1950 foi desenvolvida a primeira máquina NC (Controle Numérico) noMassachussets Institute of Technology, onde
possibilitava a reprogramação para usinagem de diferentes peças. Durante os anos de 1980, percebeu-se um consumidor mais sofisticado e um aumento na concorrência internacional, o que fez com que os fabricantes tivessem que mudar o seu foco. Consumidores mais exigentes começaram a buscar produtos com mais variedades, baixo preço e alta qualidade. Isto resultou na mudança dos conceitos dos fabricantes, onde buscaram não somente uma produção eficiente, mas acrescentaram flexibilidade à produção e capacidade de resposta aos anseios dos consumidores. Estas características são essenciais para a indústria atual, que necessita possuí-las para se manter competitiva no mercado globalizado (CHOUINARD; BRENNAN, 2006; WANG; JIN; FENG, 2006).
Na busca por um sistema flexível de produção, o CNC (Computer Numerical Control-
Con-trolador Numérico Computadorizado) tornou-se o elemento central dos sistemas de manufatura, tais como linhas de transferência flexível, FMC (Flexible Manufacturing Cells- Célula Flexível
de Manufatura), FMS (Flexible Manufacturing Systems- Sistemas Flexíveis de Manufatura) e
também de maneira isolada. O CNC proporcionou à indústria mais agilidade na produção de pequenos lotes de diferentes tipos de peças por possibilitar a reprogramação para usinagem. Desde a década de 1970 o CNC teve uma evolução significativa, tonando-se mais automático e confiável, adicionando novos processos e proporcionando a capacidade de produção multi-eixos, multi-ferramentas e multi-processos (ROSSO Jr.; ALLEN; NEWMAN, 2002; CALABRESE; CELENTANO, 2007). A caracterítica conceitual do CNC de ser flexível e a evolução estrutural das máquinas-ferramentas, têm revelado à indústria uma deficiência na questão da programação CNC. A norma atual para programas NC (Numerical Control- Controlador Numérico) utiliza
1 Introdução 20
as primeiras máquinas NC, as atuais máquinas CNC continuam a usar o mesmo padrão de programação, normalizado pela ISO 6983:1982, conhecidos como códigos G/M que se baseiam na descrição dos movimentos da ferramenta. Pelo uso desta linguagem estagnada e antiga, o controlador do CNC atual é considerado rígido e proprietário, contendo extensões especiais de cada fabricante de máquina CNC (FINKE Jr., 2011).
A norma ISO 6983 limita a portabilidade do programa por três razões. Primeiramente, a linguagem foca na programação do caminho do centro da ferramenta em relação aos eixos da máquina, ao invés do processo de usinagem com relação a peça. Segundo, o padrão define a sintaxe das instruções do programa, mas na maioria dos casos resulta em uma semântica ambígua. Terceiro, fabricantes das máquinas CNC complementam a linguagem com exten-sões não abrangidas no escopo da ISO 6983. Estes programas, quando processados em um sistema CAM (Computer Aided Manufacturing- Manufatura Auxiliada por Computador) por
um pós-processador específico, tornam-se dependentes da máquina (XU; WANG; RONG, 2006). Consequentemente, uma máquina CNC pode somente aceitar seu código G/M proprietário, o qual dificulta e/ou impede a flexibilidade e a interoperabilidade das informações de usinagem (MINHAT; XU; VYATKIN, 2009).
A fim de preparar as empresas de manufatura para enfrentar as demandas de clientes cada vez mais exigentes e imprevisíveis, os sistemas de manufatura com CNC interoperáveis podem ser a chave para alcançar o sucesso. Este tipo de sistema pode ser caracterizado como sendo capaz de (XU; WANG; RONG, 2006): 1) possibilitar o fluxo de informação bidirecional em todas as camadas do ciclo de vida do produto; 2) ter usinagem baseada emfeatures1; 3) a máquina
CNC ser autônoma; 4) ser tolerante a falhas; 5) ser distribuído; 6) ser modular; 7) ser expansível; 8) ser portável; e 9) adaptável.
De maneira a alterar o cenário atual, devido aos problemas existentes, pesquisas dentro da área de manufatura integrada, CIM (Computer Integrated Manufacturing- Manufatura Integrada
por Computador), tem buscado soluções com o intuito de proporcionar às empresas de fabricação um sistema com as características acima. Pesquisas estas em nível de sistema bem como em nível de componente, por exemplo, controle e máquina.
Em substituição ao código G/M e com o intuito de prencher a lacuna de informação existente entre o setor de projeto, sistemas computacionais como CAD (Computer Aided Design- Desenho
Auxiliado por Computador), CAPP (Computer Aided Process Planning - Planejamento do
1 Introdução 21
Processo Auxiliado por Computador), CAM e a área de execução, CNC, o comitê técnico TC184 da ISO (International Organization for Standardization) trabalhou na direção de um padrão
unificado para fornecer um modelo para troca de dados entre os mesmos. Baseado no modelo da ISO 10303 (1994a), conhecida como STEP (STandard for the Exchange of Product model data
(ISO 10303)), desenvolveu-se a ISO 14649 (2003a), ou STEP-NC (STandard for the Exchange of Product model data for Numerical Control (ISO 14649)). Neste trabalho serão utilizados os
termos STEP-NC e ISO 14649 como sinônimos. Este modelo busca solucionar o defeito da ISO 6983 não especificando o caminho do centro da ferramenta, mas especificando o processo de usinagem. Utiliza o conceito de orientação a objetos Workingsteps, que correspondem as
featuresde usinagem de alto nível e parâmetros de processo associados (ISO, 2003a). Uma das
principais contribuições da tecnologia do uso de features é que estas trazem significado aos
modelos geométricos (ROSSO Jr.; NEWMAN, 2003). O uso deste conceito é útil pela forma de comunicação, onde são utilizados termos da manufatura, como por exemplo: furos, ilhas e cavidades e não somente geometrias primitivas como pontos, linhas e curvas. Outra característica importante do uso do modelo de dados STEP-NC é a possibilidade de fluxo bidirecional das informações entre o setor de projeto e o chão de fábrica, característica essa desejada em um sistema interoperável, eliminando assim um dos problemas enfrentados com o uso do código G/M. Com isso, alterações feitas nos modelos em chão de fábrica podem retornar ao setor de projeto mantendo assim a integridade das informações do produto ao longo do seu ciclo de vida (NEWMAN et al., 2008).
O formalismo STEP-NC aumenta a eficiência dos equipamentos de manufatura pela pos-sibilidade de desenvolvimento de abordagens de programação inteligente e tornam os CNCs e os softwaresmais interoperáveis através da troca de dados de alto nível, sem perdas em toda
a cadeia de produção (RAUCH et al., 2009). A característica da STEP-NC de ser orientada a objetos, ajuda a deslocar a geração do caminho da ferrramenta para o nível de chão de fábrica, transferindo para o controlador CNC o poder de tomada de decisões e a responsabilidade pelo cálculo do caminho da ferramenta, abrindo espaço para métodos avançados de programação, novas abordagens de simulação e implementação de otimização para obter um melhor controle do processo de fabricação (WANG; CAI; FENG, 2009).
1 Introdução 22
dispositivos de controle integrado, etc (VYATKIN, 2007). Mesmo tendo uma evolução na tecnologia de controle de sistemas, como a robótica avançada e os CNC, a complexidade dos sistemas mostrou a existência de algumas barreiras impostas pelas técnicas de controle atuais quando se busca a flexibilidade em sistemas cada vez mais distribuídos. O resultado é, muitas vezes, um conjunto de “ilhas de automação”, faltando uma integração que é necessária para um comportamento estável e eficiente. Como resultado, novas abordagens de controle desoftwaree
hardwaresão necessárias para realizar um sistema que seja flexível, capaz de reconfiguração e
sensível à falhas (CHOUINARD; BRENNAN, 2006).
Para satisfazer os novos requisitos de automação e controle de sistemas, de maneira a proporcionar flexibilidade, adaptabilidade e reconfigurabilidade, foi criada a norma IEC 61499 (GRABMAIR et al., 2007). Desenvolvida pela IEC (International Electrotechnical Commission),
esta norma visa o uso de objetos de software, os FB (Function Block - Bloco de Função),
em dIPMCS (distributed Industrial-Process Measurement and Control Systems - Processos
industriais, de medição e de controle distribuídos) (MINHAT; XU; VYATKIN, 2009). Em particular, a IEC 61499 é baseada nos FBs da norma IEC 61131 (2003), linguagem padronizada para CLP, ampliando-a para atender mais adequadamente às exigências de controle distribuído em um formato que é independente da implementação (CHOUINARD; BRENNAN, 2006). Esta nova estrutura para o desenvolvimento de sistemas de controle distribuídos, permite também que novas potencialidades sejam exploradas, tais como a confiabilidade, introduzindo a tolerância a falhas na arquitetura da aplicação, portabilidade e interoperabilidade (YUSOF; TAN; KASIM, 2009).
O FB é considerado um bloco desoftwareonde são executadas funções básicas de controle
de um sistema distribuído. Cada FB pode ser composto por uma diversidade de outros FBs ou alternativamente, por diversos algoritmos e por uma máquina de estados ECC (Execution Control
Chart- Gráfico de Controle de Execução). O ECC define os estados internos e as transições
entre estados que devem ser ativadas pela chegada de um evento, podendo também depender do valor de uma variável. O ECC define ainda os algoritmos, ou fragmentos de código, que devem ser executados quando o estado é ativado e qual o evento que o algoritmo deve gerar uma vez terminada a sua execução (SANTOS; SOUSA, 2008).
1 Introdução 23
servir como uma metodologia de programação, mas sim como um modelo de arquitetura para sistemas distribuídos (VYATKIN, 2007). O fator motivador para o desenvolvimento desta norma é a inadequação das atuais técnicas para desenvolvimento desoftwarepara sistemas distribuídos
complexos, que garantam flexibilidade e reconfigurabilidade ao sistema (SANTOS; SOUSA, 2008).
A integração das normas ISO 14649 e IEC 61499 pode ser a chave para alcançar um CNC in-teroperável, e é o grande desafio, possuindo as características citadas de cada norma. A integração das normas deve ocorrer de forma automática, onde os dados STEP-NC devem ser representados em redes de FBs em um formato aderente à norma IEC 61499. Essas redes construídas a partir do modelo de dados STEP-NC, fornecem funcionalidades a esses dados, podendo então comandar uma máquina ferramenta, eliminando o uso do código G/M, o qual tem dificultado as indústrias de aproveitarem as vantagens de agilidade nos processos, não utilizando completamente de avançados recursos computacionais no planejamento, gerenciamento e controle da manufatura.
1 Introdução 24
a partir dos dados STEP-NC (MINHAT; XU; VYATKIN, 2009; FINKE Jr. et al., 2011).
Assim, nota-se a necessidade de uma implementação conjunta das normas ISO 14649 e IEC 61499 que demonstre aos fabricantes das máquinas ferramentas os benefícios e a confiabilidade de seu uso. A junção das duas normas pode ser vista como natural, onde a STEP-NC fornece um modelo de dados completo, porém sem funcionalidades de comando e controle de máquina, e os FBs fornecem as funcionaldades ao modelo de dados (XU; WANG; RONG, 2006). Eliminar a distância entre os projetos desenvolvidos e principalmente fabricantes é um dos pontos fundamen-tais para disseminar novas tecnologias, onde para tal, é necessário possuirsoftwarese protótipos
confiáveis e transparentes capazes de demonstrar suas funcionalidades. Este trabalho se baseia na proposta de uma nova estrutura, comparadas coms as estruturas encontradas na literatura, para a implementação das normas, no desenvolvimento desoftwarescapazes de atender as normas foco
deste trabalho e necessidades desta pesquisa. É importante ressaltar que este trabalho tem foco no desenvolvimento do controlador CNC, visando a atenção dos fabricantes de controladores CNC e não sob ponto de vista dos usuários das máquinas ferramenta.
Uma hipótese para a implementação da integração das normas no controle e acionamento do CNC é a criação de uma rede de FBs a partir dos dados provenientes do arquivo STEP-NC de forma automática e integrada, onde esta rede de blocos de função será executada em um microcomputador comum. Para a representação dos objetosworkingsteps, que são um sub tipo
de executable STEP-NC, em um modelo da IEC 61499, foi proposta a criação de modelos
de recursos resourcesIEC 61499. O modelo de recurso é constituído de uma rede de FBs e
possui controle independente de suas operações, ficando responsável pelo cálculo do caminho da ferramenta e uso dos parâmetros associados para cadaexecutableSTEP-NC.
Para a construção dos FBs e suas redes são necessáriossoftwarespara auxiliar o trabalho. Os
softwaresencontradas nas literaturas, aderentes à norma IEC 61499, possuem limitações/falhas
que dificultam o uso. Uma hipótese é a construção de ferramentas para execução, visualização, criação e edição de FBs e rede de FBs. Outro problema encontrado na questão da integração das normas está na forma de representação dos dados STEP-NC em FBs. Uma hipótese é reunir, em FBs de serviço de comunicação dentro de um resource, todos os dados referente de um
executable, como dados da featuree dados do processo associado. Esse bloco de serviço de
comunicação, possuindo todos os dados, invocará a instância doresourcedo tipo deexecutable,
1.1 Objetivos do Trabalho 25
outros) que poderão ser enviados para o controlador de baixo nível e/ou simuladores gráficos. Neste trabalho será usada a expressão “controlador de baixo nível” para representar o CLP ou microcontrolador responsável por controlar o acionamento dosdriversde potência dos motores.
Vale destacar também a busca pela característica de interoperabilidade, onde neste trabalho é buscada a interoperabilidade de informação entre o setor de projeto e o chão de fábrica e a porta-bilidade do código STEP-NC entre os controladores CNC, características garantidas pela norma ISO 14649 com o uso do modelo de dados STEP-NC. É buscada também a interoperabilidade no nível de controle do CNC, onde a aderência a estrutura de controle à norma IEC 61499 traz essa característica ao controlador.
1.1 Objetivos do Trabalho
1.1.1 Objetivo Geral
Desenvolver um controlador CNC que utilize diretamente o arquivo STEP-NC, sem o uso de código G/M, tendo como arquitetura para comando de máquina o uso de Blocos de Função aderentes à IEC 61499 e que o controlador possua as características de: portabilidade, interopera-bilidade, configurainteropera-bilidade, uso defeatures, autonomia, distribuição e adaptabilidade.
1.1.2 Objetivos Específicos
Para tal são definidos os seguintes objetivos específicos:
• Desenvolver um compilador para ler o arquivo STEP-NC de entrada e gerar como saída arquivos no formato XML contendo instâncias FBs e de modelos IEC 61499;
• Construir uma biblioteca de tipos de blocos de funções e modelos IEC 61499, que deve possuir um modelo de recurso para cada executável da norma ISO 14649;
• Desenvolver uma ferramenta desoftwarepara visualização gráfica, edição e execução da rede de FBs aderente à estrutura de arquivo definida pela IEC 61499;
1.2 Delimitação do Trabalho 26
distribuídos constituintes da rede do CNC, os quais possuem fragmentos de códigos capazes de processar informações;
• Comprovar através de um protótipo a viabilidade da utilização conjunta das normas destacadas.
Essa pesquisa se classifica, segundo Silva e Menezes (2001), no tipo da pesquisa aplicada por sua natureza, onde objetiva gerar conhecimentos para aplicação prática dirigidos à solução de problemas específicos. Quanto à forma de abordagem do problema, o tipo quantitativo é mais destacado, mas também a abordagem qualitativa é adotada. A classificação quanto aos objetivos, será utilizada a pesquisa exploratória para descrição do problema de forma a torná-lo explícito, envolvendo levantamento bibliográfico nesta fase. Contudo, na parte prática do trabalho, esta pesquisa possui características da pesquisa explicativa, utilizando de um método experimental (protótipo) para provar os objetivos. E por último, quanto aos procedimentos técnicos de uma pesquisa, este trabalho se utiliza de: pesquisa bibliográfica, pois utiliza de materiais já publicados; pesquisa experimental, onde possui o objetivo de estudo determinado e busca nos padrões as variáveis capazes de influenciar o objetivo alvo; estudo de caso onde se aprofunda no detalhamento das características individuais das normas.
1.2 Delimitação do Trabalho
Neste trabalho, as normas ISO 14649 ou STEP-NC e a IEC 61499 ou FBs são objetos da pesquisa. A integração das normas, de forma automática, é buscada para a construção de um controlador CNC interoperável. Neste trabalho o controlador utiliza como entrada de informações o arquivo STEP-NC no formato ISO10303-21. Não é objetivo desta pesquisa a construção deste tipo de arquivo, não provendo de editor ou gerador de arquivo STEP-NC. Visa implementação de um controlador CNC com um número limitado defeaturesprismáticas e processos da norma
ISO 14649, perante a grande quantidade defeaturesdescritas na norma. As operações analisadas
são para uma fresadora CNC 2,5D, cujos eixos são comandados por servoacionamentos.
1.3 Estrutura da Dissertação
1.3 Estrutura da Dissertação 27
descrição da norma ISO 14649 ou STEP-NC, apresentando as principais características da norma. No Capítulo 3 é descrita a norma IEC 61499 ou FBs, sendo apresentado seus modelos e conceitos. No Capítulo 4 tem-se uma fundamentação teórica sobre temas abordados no desenvolvimento do trabalho e sobre ferramentas sesoftwareexistentes aderente à norma IEC 61499. No Capítulo 5
28
2 Transferência de Dados na Manufatura
Neste capítulo será abordada uma das áreas que fundamentam esta pesquisa, referente à transfe-rência de dados na manufatura. Inicialmente, tem-se o cenário atual e uma evolução no modelo da manufatura. A partir desta evolução, questões como a troca de dados entre os sistemas auxiliados por computador e entre esses sistemas e a máquina-ferramenta CNC se tornaram importantes na indústria. É discutida e aprensentada a linguagem utilizada para a programação CNC atual, destacando suas limitações e problemas. E com o objetivo de solucionar as questões até aqui levantadas, são apresentados os padrões ISO 10303 e ISO 14649.
2.1 Modelo da Indústria de Manufatura
Nas últimas décadas, as prioridades econômicas de produção deixaram de ser baseadas só em baixo custo de produtos padronizados para o uso de instalações industriais com um conceito de produção por demanda. Esse conceito foi adotado a fim de melhor enfrentar os desafios e aproveitar as oportunidades da globalização econômica. Em uma abordagem tradicional, a área de projeto e fabricação são consideradas separadas, mas em um ambiente moderno e global a separação se torna uma grande fraqueza da indústria, tornando os ciclos de produção lentos e caros (YUSOF; TAN; KASIM, 2009). Se ocorrer alguma modificação, que exista necessidade de redesenho do produto, o engenheiro irá passar as informações de volta para a equipe de projeto. Hoje, com o uso de tecnologias de informática e tecnologias de comunicação nas indústrias, os métodos anteriormente mencionados estão em grande parte sendo substituídos por sistemas auxiliados por computador, por exemplo CAD e CAM, para implementar engenharia simultânea. O uso de sistemas computacionais no auxílio da manufatura traz redução da interação humana e proporciona um aumento da produção, redução de custos e melhor qualidade de produto (YUSOF; TAN; KASIM, 2009).
2.2 Troca de Dados nos Sistemas de Manufatura
Hoje, osoftwaree hardwaredisponíveis nas máquinas ferramenta CNC tornam possível
2.2 Troca de Dados nos Sistemas de Manufatura 29
da ferramenta e realizar controle adaptativo em tempo de execução para melhoria dos processos de usinagem. O maior desenvolvimento do CNC ocorreu com a aplicação de controladores de
software, os CLP, onde a lógica é implementada emsoftwareem vez dehardware.
Embora estes desenvolvimentos tenham ocorrido no setor de chão de fábrica, fornecedores e usuários ainda estão buscando uma linguagem comum entre o setor de projeto, que utilizam CAD, CAPP, CAM, e o CNC; para integrar o conhecimento gerado em cada etapa (ROSSO Jr.; NEWMAN, 2003). Com a atual gama de padrões proprietários para sistemas auxiliados por computador, os CAx (Computer Aided technologies), traduzir informações escritas num recurso
CAx específico para trabalhar em outro recurso CAx, requer um grande esforço. Como resultado, a capacidade de resposta de uma empresa às mudanças do mercado e sua capacidade de lidar com a realocação de recursos ou alterações é severamente prejudicada (WANG, 2009). Junto a esses padrões poprietários entre os sistemas CAx, existe ainda uma dificuldade para a troca de dados entre os sistemas CAx e o controlador CNC.
2.2.1 Troca de dados entre CAD e CAM
O papel básico de um sistema CAD é definir com precisão a geometria de um projeto de uma peça. Essa definição, realizada no CAD, é fundamental para todas as atividades subsequentes do ciclo do produto. Como cada sistema CAD tem seu próprio método de descrever a geometria, matematicamente e estruturalmente, há sempre alguma perda de informação ao traduzir os dados de um formato de dados CAD para outro, e para outros sistemas auxiliados por computador como o CAM (WANG, 2009).
Desde o início dos sistemas CAD/CAM, o problema da portabilidade dos modelos entre sistemas foi umas das questões chaves a dificultar a disseminação destas ferramentas. Muitas soluções foram propostas na direção de padronização e uso de normas para a troca de dados, tais como SET (Standard d’Exchange et de Transfer), VDA (Verdand des Automobilindustrie)
e IGES (Initial Graphics Exchange Standard), os quais obtiveram sucesso parcial pois não
2.3 ISO 10303 ou STEP 30
Embora esses esforços permitiram a criação de tradutores STEP pelos fornecedores, seu uso na cadeia de manufatura era limitado. Um grande obstáculo tem sido a falta de interligação dos sistemas computacionais CAD/CAM com o CNC, isso devido às capacidades de programação limitada do código G/M utilizada nos controladores CNC (ROSSO Jr., 2005).
2.3 ISO 10303 ou STEP
A integração dos sistemas CAD/CAE (Computer Aided Engineering- Engenharia Auxiliada
por Computador)/CAPP/CAM no processo de manufatura enfrentou inúmeras dificuldades para a troca de dados entre eles. A partir dessas dificuldades encontradas e com o objetivo de padronização dos modelos de dados dos produtos foi desenvolvida a norma ISO 10303 também chamada de STEP (ISO, 1994a). Segundo Loffredo (2000), a norma STEP possibilita a troca de dados, através de um sistema neutro, entre os programas utilizados no desenvolvimento de produtos de engenharia.
2.3.1 Visão Geral
A norma ISO 10303 possui suporte ao desenvolvimento durante toda a cadeia de processo, de maneira que as informações permaneçam íntegras e consistentes durante todo o ciclo de vida do produto. Isso faz com que a troca de dados se torne eficiente entre os diversos setores da empresa, fabricantes e fornecedores. A norma STEP proporciona esse padrão de armazenamento de dados através da criação de vários AP (Application Protocol) dirigidas a diferentes domínios
de aplicações, seja ele de projeto, usinagem ou manutenção (WANG, 2009). O padrão STEP é um padrão neutro que é adequado para as necessidades industriais, diferente de outros padrões como SET, VDA e IGES que, como dito anteriormente, obtiveram um sucesso parcial (ROSSO Jr.; NEWMAN, 2003).
2.3 ISO 10303 ou STEP 31
2.3.2 Estrutura STEP
O padrão STEP está dividido em muitas partes. Estas partes abrangem temas como métodos utilizados para descrever a norma, arquiteturas de implementação, os procedimentos de testes de conformidade, modelos de informação de recursos e protocolos de aplicação (LOFFREDO, 2000).
A estrutura desta norma é descrita na ISO 10303 Parte 1 (ISO, 1994a), como segue (ROSSO Jr., 2005; WANG, 2009):
1. Visão geral e princípios fundamentais (Parte 1): Este é um documento simples, dando uma visão geral de STEP e uma exposição de seus princípios fundamentais;
2. Métodos de descrição (Partes 11 a 19): Abrangem a linguagem de modelagem de informa-ções EXPRESS e sua forma gráfica, EXPRESS-G;
3. Métodos de implementação (Partes 21 a 29): Abrangem métodos de representação de dados que tenha sido modelado em EXPRESS;
4. Metodologia de testes de conformidade e estrutura (Partes 31 a 39): fornecem o conceito geral do teste de conformidade bem como métodos de ensaio real e requisitos em matéria de laboratórios de ensaio e clientes;
5. Recursos integrados genéricos (Partes 41 a 99): fornece um meio flexível para criar a integração entre diferentes aplicativos;
6. Recursos integrados de aplicação (Partes 101 a 199): estes são os modelos de informação EXPRESS com um foco mais específico;
7. Protocolos de aplicação (Partes 201 a 299): Estas são as partes destinadas à aplicação na indústria. Especificam os requisitos para dados de aplicações de um domínio específico da engenharia. Descrevem as estruturas de dados para um modelo de produto.
Em Recursos Integrados genéricos se encontra a parte 43 que possui a representação da estrutura dasfeatures, ondefeaturessão entidades dotadas com diversos atributos, como
parâ-metros geométricos, tolerâncias, posição, referências a outras features, entre outros (RAUCH et al., 2009). Deve-se reconhecer que o uso defeaturestrouxe muitas vantagens aos ambientes
2.4 Troca de Dados entre CAM e CNC 32
termos de manufatura como por exemplo furos, ilhas e cavidades, ao invés de efetuar operações
booleanas usando entidades geométricas tais como: cilindros, cubos entre outras. O uso da
programação baseada emfeaturestraz significado aos modelos geométricos e esta é a principal
contribuição desta tecnologia (ROSSO Jr.; NEWMAN, 2003).
2.4 Troca de Dados entre CAM e CNC
Um pacote desoftwareCAM é usado para criar dados, tais como o caminho de ferramenta e
especificar ferramentas de corte que serão utilizados na usinagem da peça. Uma vez criado o caminho da ferramenta em dados CL (Cutter Location), estes são pós-processados em códigos
de máquina que contêm os movimentos da máquina. O pós-processador é desenvolvido para uma máquina específica, onde contém códigos proprietários de um único modelo máquina CNC. Em geral o código G/M é o padrão de dados utilizado para descrever para um CNC como fazer uma peça. Essa característica traz um problema de interoperabilidade de código entre máquinas. Durante o processo de transição do CAM para o CNC, não é dada qualquer informação ao CNC sobre o que ele está fazendo ou porque as instruções têm de ser executadas na ordem dada (ROSSO Jr., 2005).
Para solucionar o problema da transferência de dados entre CAM e CNC, na metade da década de 1990, passou a ser desenvolvida uma nova interface de dados com base na norma ISO 10303, que é a ISO 14649 ou STEP-NC (ROSSO Jr.; NEWMAN, 2003). Essa norma visa fornecer um modelo de dados orientado a objetos para uma nova geração de CNC inteligentes. A sua inovação quanto ao padrão utilizado atualmente na programação NC, o código G/M, está na habilidade de representar a geometria das peças, utilizando o conceito defeatures, possuindo
um modelo mais detalhado de dados que provê informações sobre geometrias, ferramentas a utilizar, operações a desempenhar e um plano de trabalho. Ainda possibilita o fluxo bidirecional entre sistemas CAM e CNC, fazendo com que não haja perda de informações e tornando muito mais fácil e rápida a atualização ou modificação em produtos já pré-projetados. Essa norma será abordada com mais detalhes na seção 2.5.
2.4.1 O Código G/M (ISO 6983)
evoluí-2.4 Troca de Dados entre CAM e CNC 33
ram muito, desde máquinas simples com controladores sem memória impulsionados por fitas perfuradas até as hoje altamente sofisticadas. Na década de 1970, as máquinas CNC tiveram um desenvolvimento significativo no sentido de serem mais automáticas e confiáveis abrangendo posteriormente com novos processo, tais como estampagem enibbling, corte alasere corte a jato
de água. Com o desenvolvimento dos minicomputadores, e mais tarde, os microcomputadores, houve uma enorme melhoria na capacidade das máquinas CNC, atualmente capazes de realizar controle multi-eixos, multi-ferramentas e multi-processos. Estas capacidades crescentes fizeram a tarefa de programação cada vez mais difícil e complexa. Contudo, a programação CNC não evoluiu junto, não ampliando seu código para se adequar às novas capacidades do CNC. Essa inadequação da norma de programação CNC gerou a criação de códigos específicos por parte de cada fabricante CNC, acarretando em códigos proprietários e falta de interoperabilidade de código entre as máquinas CNC.
Basicamente, a máquina CNC recebe instruções em seqüências de blocos contendo comandos para preparar a operação da máquina, parâmetros, coordenadas e velocidade. De acordo com a ISO 6983, o código G/M é baseado nos seguintes comandos (WANG, 2009):
• Funções preparatórias: de G00 a G99;
• Comandos mistos: M (também chamado de funções da máquina);
• Comandos de movimento de eixos: X, Y, Z, A, B, C;
• Comandos de avanço e velocidade: F (taxa de avanço) e S (velocidade do eixo árvore);
• Comandos de identificação: N (número do bloco);
• Seleção de ferramenta de corte: T.
A Figura 2.1 mostra um exemplo de umaa linha de programa em cógigo G/M (ISO 6983).
Alguns problemas enfrentados pelo uso da ISO 6983 estão resumidos a seguir (WANG, 2009):
• A linguagem concentra-se na programação de caminho do centro da ferramenta em relação aos eixos da máquina, ao invés de descrever as tarefas de usinagem com relação à peça;
2.4 Troca de Dados entre CAM e CNC 34
Figura 2.1: Exemplo de linha de programa em ISO 6983
Fonte: adaptado de (ROSSO Jr., 2005)
• A fim de reforçar a capacidade da máquina CNC, os fornecedores de controladores CNC desenvolveram seus próprios conjuntos de comandos de controle para adicionar mais recursos. Isso ocorreu devido à falta de desenvolvimento do padrão ISO 6983, tornando os controladores CNC pouco aderentes à norma. Extensões e variações são todas feitas de forma independente pelos fabricantes, o que significa que os operadores têm de conhecer os dialetos e peculiaridades das máquinas;
• O arquivo gerado contendo o código G/M tem que ser gerado por um pós-processador para uma máquina específica, para obter o conjunto de comandos de baixo nível. Essa transição para o baixo nível pode desprezar de dados que a princípio não são relevantes, mas dificulta ou até mesmo impede a verificação e simulação;
• A norma suporta apenas uma forma de fluxo de informações, isto é, do projeto para a fabricação. Assim, mudanças feitas no chão de fábrica não podem ser enviadas de volta ao setor de projeto, acarretando em que as experiências sobre o chão de fábrica não são preservadas;
• O código G/M define apenas três modos de movimentos (linear e circulares). O código G/M não suporta curvasspline, o que o torna incapaz de interpretar dados de superfícies
complexas diretamente.
2.5 ISO 14649 ou STEP-NC 35
tende a substituir o código G/M.
2.5 ISO 14649 ou STEP-NC
Apesar do desenvolvimento que tem melhorado a arquitetura dossoftwarese das
máquinas-ferramenta CNC, os fabricantes e usuários procuravam uma infraestrutura comum para os sistemas CAD, CAE, CAPP, CAM e CNC que integrasse e traduzisse a informação de cada um dos estágios da cadeia. Com o propósito de prover um padrão consistente e de qualidade para a manufatura baseada em CNC é que a ISO 14649, também conhecida como STEP-NC, foi desenvolvida (ROSSO Jr.; NEWMAN, 2003).
Contrária à atual norma ISO 6983, a STEP-NC não é um método para programação da peça e normalmente não descreve o movimento da ferramenta para a máquina CNC. Em vez disto, provê um modelo de dados orientado a objeto para CNC com uma interface de dados detalhada e estruturada que incorpora a programação baseada emfeatures, onde uma série de informações
são representadas, como asfeaturesa serem usinadas, tipos de ferramentas usadas, as operações
a executar, e a sequência de operações a ser seguida (BENAVENTE, 2011).
A Figura 2.2 mostra a diferença do fluxo de informaçôes entre o cenário atual da manufatura baseada em CNC usando a ISO 6983 onde o fluxo de informação é unidirecional entre os sistemas CAD/CAM e CNC (lado esquerdo da figura) e o fluxo bidirecional com o uso da STEP-NC (lado direito da figura). Além disso, algumas informações disponíveis nos sistemas CAD/CAM são parcialmente perdidas quando pós-processadas para código G/M, pois o padrão não fornece suporte para a maioria das informações (ROSSO Jr., 2005).
O lado esquerdo da Figura 2.2 revela a deficiência existente com o uso dos CNC convencio-nais, onde o sentido do fluxo de informação é único, do setor de projeto para o chão de fábrica e sem a possibilidade de rotorno de informações. Além disso, a informação transmitida possui comandos específicos para uma máquina específica, não sendo possível a troca de máquina sem alteração no código. Já o lado direito revela uma troca de informações de alto nível, possuindo termos de manufatura na estrutura do arquivo.
Segundo Zhu, Wang e Fu (2006) e Xu e Newman (2006), alguns dos maiores benefícios do uso da STEP-NC podem ser resumidos em:
2.5 ISO 14649 ou STEP-NC 36
Figura 2.2: Diferença de fluxo de informação com o uso do código G/M e com o uso de STEP-NC
Fonte: Adaptado de ROSSO Jr. (2005)
harmonizadas com a ISO 10303. Logo, a STEP-NC suporta o fluxo bidirecional de informação para transferência de dados entre CAD/CAM e CNC. Como um resultado, modificações nas informações sobre tarefas de usinagem e dados tecnológicos feitas no chão de fábrica podem ser salvos e transferidos para os setores superiores;
• Os pós-processadores serão eliminados porque a interface não requer informações especí-ficas da máquina;
• STEP-NC é independente do fabricante da máquina-ferramenta, pois fornece um modelo de dados neutro;
• STEP-NC provê um modelo de dados completo e estruturado, ligando informações geomé-tricas e tecnológicas, de modo que nenhuma informação seja perdida entre os diferentes estágios do processo;
• Seus elementos de dados são suficientes para descrever os dados da tarefa NC;
• O modelo de dados é expansível (com classes de conformidade);
2.5 ISO 14649 ou STEP-NC 37
• Arquivos XML podem ser usados para transportar informações, permitindo manufatura distribuída baseada em Web.
Outro aspecto importante é que o uso de STEP-NC significa trabalhar com formalismo NC único para qualquersoftwarede máquina-ferramenta, já que nenhuma operação de
póspro-cessamento é necessária. O formalismo STEP-NC, consequentemente, aumenta a eficácia dos equipamentos de manufatura através da possibilidade do desenvolvimento de abordagens de programação inteligente, IA (Inteligência Artificial), e tornando esses equipamentos e
softwa-resmais interoperáveis através da troca de dados de alto nível em toda a cadeia de dados da
manufatura (RAUCH et al., 2009).
2.5.1 Estrutura da Norma STEP-NC
Efetivamente, NC define um padrão de dado de entrada para sistemas CNC. Como a STEP-NC é uma extensão da STEP para tratamento de processos STEP-NC, ela segue estritamente o padrão STEP (WANG, 2009). O modelo de dados baseado em STEP-NC contém dados geométricos, características de usinagem, dados do processo de usinagem e dados de ferramentas. Os dados geométricos são originados do CAD, e descritos na ISO 10303 AP2032, incluindo todas as informações necessárias para definir a geometria final da peça. Dados dasfeaturesde usinagem
e dados do processo de usinagem são gerados pelo CAM (AP2243, AP2144), onde definem os parâmetros tecnológicos e as ferramentas a serem usadas durante processo que são normalizadas pela ISO 14649. No modelo de dados ISO 14649 os objetosWorkingsteps, um para cadafeature,
associam ferramentas e parâmetros tecnológicos, e a sequência dessesWorkingstepsé posta em
um plano de trabalho (ISO, 2003a). A Figura 2.3 mostra uma descrição geral do modelo de dados.
Existem dois métodos para implementar um programa de dados STEP-NC. O padrão ISO 14649 é um ARM (Application Reference Model), enquanto a ISO 10303-238 é um protocolo
de aplicação (AP) que implementa o AIM (Application Interpreted Model) em um contexto
STEP-NC, permitindo melhor integração com outros protocolos de aplicação da ISO 10303. O modelo ARM, que é a implementação utilizando a ISO 14649, é mais simples e apropriada para
2AP203 Protocolo de Aplicação: Configuração controlada de projetos 3D de peças mecânicas e montagens. 3AP224 Protocolo de Aplicação: Definição de produto mecânico para planos de processo utilizando recursos de
usinagem.
2.5 ISO 14649 ou STEP-NC 38
Figura 2.3: Descrição geral do modelo de dados
Fonte: Adaptado de ISO (2003a)
aplicação ao desenvolvimento de um protótipo de controle CNC (PACHECO et al., 2011).
A norma ISO 14649 segue a estrutura STEP onde há um padrão geral para as diretrizes e mui-tas partes que descrevem cada ramo de tecnologia ou processo, como fresamento, torneamento, EDM (Electrical Discharge Machining), como mostrado na Figura 2.4.
A Figura 2.4 mostra as relações entre os protocolos de aplicações STEP e ISO 14649 e também a estrutura da ISO 14649. Pode-se perceber na figura que a ponte para transformar um modelo de produto em um programa de usinagem são asfeaturestecnológicas descritas na ISO
10303 AP224 (ROSSO Jr., 2005).
2.5.2 Arquivo Físico STEP-NC
A norma STEP-NC é definida utilizando a linguagem formal de especificação de dados EXPRESS que pode ser definido de duas formas, textualmente ou graficamente. Para verificação formal e como entrada para elementos tais como SDAI (STEP Data Access Interface), a representação
2.5 ISO 14649 ou STEP-NC 39
Figura 2.4: Relação entre ISO 10303 e ISO 14649
Fonte: Adaptado de ROSSO Jr. (2005)
de diversos tipos de dados, são eles (ISO, 2003a, 2003b):
Entity: é o tipo de dado, construtor, mais importante da EXPRESS. Ele faz uso de atributos para
definir suas propriedades. Uma entidade pode se relacionar com outras de duas formas: hierarquicamente sendo “SUBTYPE”/ “SUPERTYPE”, ou por atributos. A entidade “SUPERTYPE” pode ter múltiplas “SUBTYPE”, podendo ser ou não “ABSTRACT”. Os dados presentes na entidade podem ser restringidos, fazendo uso de “WHERE RULES”, onde são expressões que precisam cumprir as regras para o código ser aceito;
Enumeration: define pedaços de textos específicos, como por exemplo: “TRUE” ou “FALSE”
para o tipo “BOOLEAN”;
Defined: especializa tipos de dados declarados anteriormente, como por exemplo, quando se
precisa do tipo INTEGER” > 0;
Select: define uma escolha entre duas entidades ou dois tipos, por exemplo: um atributo
“TOLE-RANCE_SELECT” pode ser uma entidade “PLUS_MINUS_VALUE” ou uma entidade “LIMITS_AND_FITS”;
2.5 ISO 14649 ou STEP-NC 40
Por exemplo: a STEP-NC usa “LIST” no atributo “coordinates” da entidade
“CAR-TESIAN_POINT”;
Simple: os tipos simples podem ser equivalentes aos tipos primitivos de linguagens como Java,
esses são: “STRING”, “BINARY”, “BOOLEAN”, “LOGICAL”, “NUMBER”, “INTE-GER” e “REAL”;
Um arquivo físico STEP-NC pode ser implementado de várias formas, que mapeiam as estruturas EXPRESS em formatos de implementação, dentre elas destacam-se: XML (ISO, 2007), formato textual simples (ISO, 1994b) e Java (ISO, 2000). Neste trabalho será tratado o arquivo STEP-NC implementado de acordo com estrutura definida pela ISO10303-21, muitas vezes chamada apenas de Parte 21. A Parte 21 é composta por duas grandes seções: a primeira intitulada “HEADER” e uma segunda seção nomeada “DATA”. Na seção HEADER têm-se informações e observações gerais da peça, que são dados como: nome do arquivo, autor, data do projeto, esquema, organização, entre outros. A segunda e mais importante seção, “DATA”, contém todas as informações sobre a geometria, características e tarefas de usinagem.
Pode-se dividir a segunda parte em três grupos: “Identificação da peça, plano de trabalho e executáveis”, “Descrição da tecnologia” e “Descrição de geometria e topologia” (ROSSO Jr., 2005). A Figura 2.5 mostra a estrutura de um arquivo STEP-NC, e será melhor detalhado a seguir.
Em “Identificação da Peça” tem-se informações sobre identificação da peça, identificação do material da peça, propriedades do material, entre outros. O plano de trabalho (Workplan) é
caracterizado por uma série de executáveis, cuja ordem é pré-estabelecida ou dependente das condições de usinagem e se os controles condicionais são utilizados ou não (CALABRESE; CELENTANO, 2007). Uma das vantagens de se possuir umWorkplanem um arquivo STEP-NC
é o fato de todas as tarefas que serão executadas pela máquina, estão ordenadas em um só local, o que facilita a mudança da sequência das operações sem afetar o restante dos dados do arquivo, podendo realizar uma otimização no processo.
As tarefas executáveis (executables) são de três tipos:Workingstep,program structureeNC
function. O executável mais importante é oWorkingstepque define as características de usinagem
da peça. CadaWorkingstepdescreve uma única operação de manufatura utilizando apenas uma
ferramenta de corte. Oprogram structurerepresenta um plano de trabalho ou ordens do fluxo
2.5 ISO 14649 ou STEP-NC 41
Figura 2.5: Estrutura de um arquivo físico STEP-NC
Fonte: Adaptado de ROSSO Jr., ALLEN e NEWMAN (2002)
sistema de coordenadas da peça ou plano de segurança, e comandos auxiliares como parada do programa, parada opcional, entre outros (ROSSO Jr., 2005).
O item “Descrição da tecnologia” contém detalhes e uma descrição completa de todos os
Workingstepsa serem executados no plano de trabalho. Nessa descrição são incluídos dados com
relação às ferramentas, estratégias de usinagem,featuresda peça, e detalhes como profundidade
de corte, velocidade de rotação, diâmetro da ferramenta, etc (CALABRESE; CELENTANO, 2007). A “Descrição da geometria” contém informações geométricas da peça,set-upse
caracte-rísticas de fabricação. No nível mais baixo, as operações podem também conter uma descrição explícita e exata do caminho da ferramenta se isso for requerido por um sistema CAM ou um controlador de NC (WANG, 2009). O diagrama da Figura 2.6 representa a hierarquia existente em um programa STEP-NC.
Machining_Workingstepé o subtipo doWorkingstepque é um subtipo deExecutable. Contém
2.5 ISO 14649 ou STEP-NC 42
Figura 2.6: Estrutura hierárquica de um arquivo STEP-NC
Fonte: Wang (2009).
ordenado de executáveis. A entidadeManufacturing_feature cobre a maioria dasfeaturesde
usinagem definidas em STEP AP 224 e possui informações geométricas. Por exemplo, uma
feature pocket, um subtipo deManufacturing_feature, tem uma base de dados de contorno de
curva e profundidade. Assim como a entidadeMachining_operationé a classe abstrata para as
operações específicas do processo. Ela especifica a ferramenta a ser usada (Machining_tool), e
um conjunto de parâmetros tecnológicos: os parâmetros de usinagem (Technology, por exemplo,
da taxa de avanço, velocidade do eixo árvore), das condições de usinagem (Machine_functions)
43
3 Automação da Manufatura
Neste capítulo será tratada outra área que fundamenta esta pesquisa, a área de automação da manufatura. É apresentada a situação atual da tecnologia de automação industrial em que se encontram as indústrias de transformação, onde são destacadas as dificuldades enfrentadas com a atual arquitetura. E com o intuito de apontar uma solução para esse problema, é apresentada a norma IEC 61499.
3.1 Evolução das Técnicas de Controle
A tecnologia da automação industrial evoluiu através de quatro gerações segundo Vyatkin (2007). A transição de uma geração para outra ocorre devido à incapacidade das tecnologias anteriores de atender as necessidades emergentes das novas realidades tecnológicas e econômicas. Outro fator que contribui para a migração é a disponibilidade de novas tecnologias para atender as novas exigências. As características das quatro gerações estão listadas como segue (VYATKIN, 2007):
• Primeira Geração: nesta primeira geração, em torno do anos de 1950, os controladores eram constituídos basicamente de contatos e bobinas conectados por cabos elétricos. Qualquer alteração na aplicação exigia uma mudança na disposição dos circuitos elétricos;
• Segunda Geração: os circuitos elétricos são substituídos por dispositivos computacionais como microcontroladores ou CLP. Com isso, a lógica de controle passa a ser implementada emsoftwaree não em hardwarefixo. Para facilitar a transição da geração anterior para
esta geração, uma linguagem de programação gráfica foi desenvolvida, a liguagemLadder,
linguagens padronizadas pela IEC 61131-3;
• Terceira Geração: ocorreu um aumento na complexidade dos sistemas, aumentando o número de entradas e saídas dos dispositivos e consequentemente de cabos interligando o controlador com sensores, acionadores e atuadores;
3.2 Programação de CLP 44
nível de flexibilidade, cada um dos dispositivos deve ser equipado com uma interface para comunicações com a rede. Como resultado, os dispositivos são conectados todos a uma mesma rede, onde a adição de um novo dispositivo à rede não requer a adição de mais fiação. Isto torna a reconfigurabilidade do sistema muito mais fácil comparada com o sistema centralizado. Com essa arquitetura a fiação não limita a localização dos dispositivos, podendo assim os dispositivos serem distribuídos conforme a necessidade.
E ainda, que as próximas gerações serão caracterizadas pelo uso de componentes verdadeira-mente inteligentes, capazes de criar “sociedades” e reconhecer as capacidades uns dos outros e da “sociedade” como um todo. A facilidade de integração dos componentes é um benefício imediato, mesmo para componentes muito simples. Outros benefícios podem surgir a partir do comportamento autônomo dos componentes que podem reagir melhor às mudanças no ambiente em que se encontram.
3.2 Programação de CLP
O CLP tem sido utilizado como plataforma para implementação de algoritmos de controle em aplicações industriais (HUEMEI, 2010). Após a sua inserção no mercado, várias empresas desenvolveram CLPs com diferentes linguagens de programação, sistemas operacionais e ambi-entes de execução. Para reduzir a complexidade para o usuário de CPLs, a IEC elaborou a norma IEC 61131. A parte 3 (INTERNATIONAL ELECTROTECHNICAL COMMISSION, 2003) do padrão foi publicada inicialmente em 1992, e especifica cinco linguagens de programação para CLP, tendo como base as linguagens já existentes, contudo abstrai as peculiaridades propri-etárias. As cinco linguagens definidas se dividem em duas categorias. As linguagens textuais são Instruction List(IL) eStructured Text(ST). Outra categoria são as linguagens gráficas, a
linguagem chamada (FBD) Function Block Diagram,Ladder Diagram (LD) e aSequential
Function Chart(SFC). Com a padronização das linguagens diminuiu o esforço de treinamento
(OTTO; HELLMANN, 2009). Apesar destes avanços da IEC 61131-3, o reaproveitamento direto de elementos de software ainda não era possível, pela adoção apenas parcial da norma ou pelas extensões realizadas por alguns fabricantes.
3.3 Comparativo entre as normas IEC 61131 e IEC 61499 45
controladores (e, além disso, sensores e atuadores com capacidades embutidas de controle) estão interligados, e a comunicação entre eles deve ser garantida. Como consequência, a norma IEC 61499 foi concebida em antecipação à crescente demanda por automação distribuída. Não se destina a substituir o padrão IEC 61131, mas propõe uma linguagem em nível de sistema para sistemas de automação distribuídos, fazendo assim a ponte entre as linguagens de programação para CLP apoiada pela IEC 61131 e os requisitos de projeto de sistemas distribuídos.
3.3 Comparativo entre as normas IEC 61131 e IEC 61499
A norma IEC 61499 foi desenvolvida baseada na já consolidada norma IEC 61131, para aumentar a qualidade e confiabilidade dosoftwaree reduzir o tempo de desenvolvimento para
aplicações de controle distribuídos na automação industrial. A seguir são destacadas as diferenças entre os modelos de blocos de função,function block(FB), das normas IEC 61131-3 e IEC 61499
(LEWIS, 2001).
Uma das deficiências existentes no conceito de FB introduzido pela norma IEC 61131 está na ordem de execução dos FBs. A ordem de execução é determinada pela dependência de outros blocos, normalmente da esquerda para a direita, porque os blocos da direita dependem dos valores de saída dos blocos da esquerda. O problema enfrentado devido a essa dependência está em sistemas com redes complexas, onde ocorrem realimentações, pois é muito difícil a determinação da ordem de execução da rede. No intuito de contornar essa dificuldade, os sistemas de programação oferecem formas adicionais, não abrangidas pelo escopo da norma IEC 61131, para determinação da ordem de execução da rede de FBs. O modelo de FBs da IEC 61131 define ainda variáveis globais, pelas quais é possível transferir dados e sinais de controle entre programas rodando em diferentes recursos. A transferência de dados entre processos utilizando variáveis globais é uma forma ruim e muitas vezes insegura, pois a identificação de onde e quando as variáveis foram atualizadas fica difícil. Além do mais, as formas oferecidas dentro da configuração para manipular a inicialização de variáveis globais não são definidas na norma.
3.4 IEC 61499 - Modelos e Conceitos 46
Na Tabela 3.1 tem-se um comparativo entre as normas IEC 61131 e IEC 61499.
Tabela 3.1: Comparação das Características entre IEC 61131 e IEC 61499. Adaptado de Zoitl et al. (2009)
IEC 61131 IEC 61499
Tipos de Dados São definidos Adotados da IEC 61131-3 Linguagens de
Programa-ção
IL, LD, FBD, ST, SFC Não define linguagem específica, a utilização da IEC 61131-3 é re-comendada
Meios de estruturação SFC, FBD, ST Rede de FBs Variáveis Globais Acesso direto pelas
variá-veis
Encapsulado nos FBs de serviço de interface
Abordagem de engenharia Centrada na aplicação, mas na prática é, na maioria das vezes, centrada nos disposi-tivos
Centrada na aplicação
Conceito de execução Principalmente cíclico Dirigido a eventos
Reconfiguração dinâmica Não fornecido Interface e conjunto de instruções, não para os dados
Conceito de distribuição Não fornecido Distribuição arbitrária das aplica-ções
A partir desta tabela, pode-se conhecer as principais diferenças entre as normas, onde percebe-se que a IEC 61499 é uma extensão da IEC 61131.
3.4 IEC 61499 - Modelos e Conceitos
3.4 IEC 61499 - Modelos e Conceitos 47
3.4.1 Modelo de Blocos de Funções
A base de toda a arquitetura da norma IEC 61499 consiste no modelo de bloco de função (LEWIS, 2001). O bloco de função é uma abstração que representa um componente que pode ser implementado usualmente em forma desoftware, mas também pode ser implementado na forma
dehardware(VYATKIN, 2007). As principais características de um FB são (LEWIS, 2001):
• Cada FB tem o nome do tipo e um nome de instância. Sempre devem ser mostrados quando o bloco é visualizado graficamente;
• Cada bloco possui um conjunto de eventos de entrada, os quais podem receber eventos de outros blocos via conexões de eventos;
• Existe um ou mais eventos de saída, os quais podem ser usados para propagar eventos para outros blocos;
• Há um conjunto de entrada de dados que permite que os valores dos dados sejam passados a partir de outros blocos;
• Há um conjunto de saída de dados para passar valores de dados produzidos dentro do FB para outros blocos;
• Cada bloco pode ter um conjunto de variáveis internas que são usadas para armazenar valores retidos entre a chamada dos algoritmos;
• O comportamento do FB é definido em termos dos algoritmos e informações de estado. Usando o estado do bloco e suas mudanças, várias estratégias podem ser modeladas para definir qual algoritmo será executado em resposta a um evento particular.
Para melhor entendimento, serão apresentadas as principais características do modelo FB, como descrito através da Figura 3.1. Nota-se que a interface de um FB é definida por uma lista de variáveis de eventos de entrada e variáveis de dados de entrada, variáveis de eventos de saída e dados de saída. Na representação gráfica, o FB pode ser dividido em duas partes: “cabeça” e “corpo” (VYATKIN, 2007).