MCS ENGENHARIA
Transcrição
MCS ENGENHARIA
Serviços do PLC Proteo MCS ENGENHARIA SERVIÇOS DO PLC MANUAL DE REFERÊNCIA SÉRIE – PROTEO 30/11/2006 MCS Engenharia 6/4/2011 Página 1 de 1 Serviços do PLC MCS Engenharia Proteo 6/4/2011 Página 2 de 2 Serviços do PLC 1 MEMÓRIA DO PLC INTEGRADO ................................................................................. 9 1.1 1.2 2 Proteo TIPOS DE MEMÓRIA ................................................................................................. 10 MAPA DA ÁREA DE TRANSFERÊNCIA OU MEMÓRIA I DO PROTEO............ 11 SERVIÇOS ....................................................................................................................... 12 2.1 2.2 2.3 ESTRUTURA DE SERVIÇO........................................................................................ 12 DIAGRAMA DA ESTRUTURA DE SERVIÇO .......................................................... 13 EXEMPLO DE UMA ESTRUTURA DE SERVIÇO................................................... 13 3 HABILITAÇÃO DE SERVIÇOS .................................................................................... 15 4 SERVIÇO DE ALARMES E MENSAGENS .................................................................. 18 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 6 6.1 6.2 6.3 6.4 6.5 DESCRIÇÃO GERAL .................................................................................................. 18 TIPOS DE DADOS........................................................................................................ 18 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ............................................ 18 PARÂMETROS DE PLC UTILIZADOS..................................................................... 19 ESTRUTURA DE DADOS (PLC -> CNC)................................................................... 19 DESCRIÇÃO DE FUNCIONAMENTO....................................................................... 20 EXEMPLO..................................................................................................................... 22 PROGRAMA EXEMPLO............................................................................................. 24 MODO DE EXIBIÇÃO NA TELA ............................................................................... 26 ESTRUTURA DO ARQUIVO DE DEFINES DE ALARMES/MENSAGENS ........ 27 ARQUIVO DE ALARMES E MENSAGENS ............................................................ 30 FLUXOGRAMA DE FUNCIONAMENTO ............................................................... 31 SERVIÇO DE MOVIMENTO MANUAL....................................................................... 32 DESCRIÇÃO GERAL .................................................................................................. 32 TIPOS DE DADOS........................................................................................................ 33 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ............................................ 33 PARÂMETROS DE PLC UTILIZADOS..................................................................... 33 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ....................................... 33 ESTRUTURA DE STATUS (CNC -> PLC) ................................................................. 35 DESCRIÇÃO DE FUNCIONAMENTO....................................................................... 37 EXEMPLO..................................................................................................................... 38 SERVIÇO DE BUSCA DE REFERÊNCIA..................................................................... 41 DESCRIÇÃO GERAL .................................................................................................. 41 TIPOS DE DADOS........................................................................................................ 42 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ............................................ 42 PARÂMETROS DE PLC UTILIZADOS..................................................................... 42 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ....................................... 43 MCS Engenharia 6/4/2011 Página 3 de 3 Serviços do PLC 6.6 6.7 6.8 6.9 7 ESTRUTURA DE STATUS (CNC -> PLC) ................................................................. 46 DESCRIÇÃO DO FUNCIONAMENTO ...................................................................... 48 FLUXOGRAMA DE FUNCIONAMENTO ................................................................. 49 EXEMPLOS................................................................................................................... 50 SERVIÇO DE TECLADO (PROTEO)............................................................................ 59 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 8 DESCRIÇÃO GERAL .................................................................................................. 59 TIPOS DE DADOS........................................................................................................ 59 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ............................................ 59 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ............................................. 59 ESTRUTURA DE DADOS (PLC -> CNC)................................................................... 60 ESTRUTURA DE STATUS (CNC -> PLC) ................................................................. 62 ESTRUTURA BÁSICA DO ARQUIVO DE CONFIGURAÇÃO DAS SOFTKEYS . 64 RÓTULOS ..................................................................................................................... 66 ESTRUTURA DE UMA SOFTKEY............................................................................. 69 DEFINIÇÕES DOS CAMPOS DE SOFTKEYS ........................................................ 70 EXEMPLO................................................................................................................... 73 SERVIÇO DE TECLADO PROTEO MINI.................................................................... 77 8.1 8.2 8.3 8.4 8.5 9 Proteo DESCRIÇÃO GERAL .................................................................................................. 77 TIPOS DE DADOS........................................................................................................ 77 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ............................................ 77 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ............................................. 77 ESTRUTURA DE DADOS (PLC -> CNC)................................................................... 78 SERVIÇO GERAL S (SPINDLE).................................................................................... 81 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 DESCRIÇÃO GERAL .................................................................................................. 81 TIPOS DE DADOS........................................................................................................ 81 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ............................................ 81 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ............................................. 81 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ....................................... 82 ESTRUTURA DE DADOS E COMANDOS (CNC -> PLC) ....................................... 85 DESCRIÇÃO DE FUNCIONAMENTO....................................................................... 87 EXEMPLO..................................................................................................................... 88 10 SERVIÇOS DE FUNÇÕES MST................................................................................... 92 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 DESCRIÇÃO GERAL................................................................................................. 92 TIPOS DE DADOS ...................................................................................................... 92 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS .......................................... 92 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ........................................... 92 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ..................................... 93 ESTRUTURA DE STATUS (CNC -> PLC) ............................................................... 94 FLUXOGRAMA DE FUNCIONAMENTO FUNÇÃO T .......................................... 96 DESCRIÇÃO DE FUNCIONAMENTO..................................................................... 97 MCS Engenharia 6/4/2011 Página 4 de 4 Serviços do PLC 10.9 11 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 12 12.1 12.2 12.3 12.4 12.5 12.6 12.7 13 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 14 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15 Proteo EXEMPLO................................................................................................................... 98 SERVIÇO DE TERMOPAR ........................................................................................ 101 DESCRIÇÃO GERAL............................................................................................... 101 TIPOS DE DADOS .................................................................................................... 101 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ........................................ 101 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ......................................... 101 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ................................... 102 ESTRUTURA DE STATUS (CNC -> PLC) ............................................................. 105 DESCRIÇÃO DE FUNCIONAMENTO................................................................... 108 EXEMPLO................................................................................................................. 109 SERVIÇO DE LEDS DO PAINEL .............................................................................. 127 DESCRIÇÃO GERAL............................................................................................... 127 TIPOS DE DADOS .................................................................................................... 127 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ........................................ 127 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ......................................... 127 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ................................... 128 DESCRIÇÃO DE FUNCIONAMENTO................................................................... 132 EXEMPLO................................................................................................................. 133 SERVIÇO DO CAME DOS EIXOS – VÍNCULOS COMPLEXOS........................... 135 DESCRIÇÃO GERAL............................................................................................... 135 TIPOS DE DADOS .................................................................................................... 135 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ........................................ 135 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ......................................... 135 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ................................... 136 ESTRUTURA DE STATUS (CNC -> PLC) ............................................................. 137 DESCRIÇÃO DE FUNCIONAMENTO................................................................... 138 EXEMPLO................................................................................................................. 139 SERVIÇO DO CAME DOS EIXOS – VÍNCULOS NORMAIS E CONTROLE ...... 140 DESCRIÇÃO GERAL............................................................................................... 140 TIPOS DE DADOS .................................................................................................... 140 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ........................................ 140 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ......................................... 140 ENDEREÇOS DOS EIXOS ...................................................................................... 140 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ................................... 141 ESTRUTURA DE STATUS (CNC -> PLC) ............................................................. 146 DESCRIÇÃO DE FUNCIONAMENTO................................................................... 149 EXEMPLO................................................................................................................. 150 SERVIÇO DE CAME DIGITAL ................................................................................. 151 MCS Engenharia 6/4/2011 Página 5 de 5 Serviços do PLC 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 16 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 17 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 18 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 19 19.1 19.2 19.3 19.4 Proteo DESCRIÇÃO GERAL............................................................................................... 151 TIPOS DE DADOS .................................................................................................... 151 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ........................................ 151 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ......................................... 151 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ................................... 152 ESTRUTURA DE STATUS (CNC -> PLC) ............................................................. 156 DESCRIÇÃO DE FUNCIONAMENTO................................................................... 158 EXEMPLO................................................................................................................. 159 SERVIÇO DE CAME VIRTUAL ................................................................................ 160 DESCRIÇÃO GERAL............................................................................................... 160 TIPOS DE DADOS .................................................................................................... 160 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ........................................ 160 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ......................................... 160 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ................................... 161 ESTRUTURA DE STATUS (CNC -> PLC) ............................................................. 163 DESCRIÇÃO DE FUNCIONAMENTO................................................................... 165 EXEMPLO................................................................................................................. 166 SERVIÇO DE CAME REAL ....................................................................................... 167 DESCRIÇÃO GERAL............................................................................................... 167 TIPOS DE DADOS .................................................................................................... 167 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ........................................ 167 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ......................................... 167 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ................................... 168 ESTRUTURA DE STATUS (CNC -> PLC) ............................................................. 170 DESCRIÇÃO DE FUNCIONAMENTO................................................................... 172 EXEMPLO................................................................................................................. 173 SERVIÇO DE JOYSTICK........................................................................................... 174 DESCRIÇÃO GERAL............................................................................................... 174 TIPOS DE DADOS .................................................................................................... 174 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ........................................ 174 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ......................................... 174 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ................................... 175 ESTRUTURA DE STATUS (CNC -> PLC) ............................................................. 179 DESCRIÇÃO DE FUNCIONAMENTO................................................................... 181 EXEMPLO................................................................................................................. 182 EXECUÇÃO DE PROGRAMA................................................................................... 183 DESCRIÇÃO GERAL............................................................................................... 183 TIPOS DE DADOS .................................................................................................... 185 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ........................................ 185 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ......................................... 185 MCS Engenharia 6/4/2011 Página 6 de 6 Serviços do PLC 19.5 19.6 19.7 19.8 20 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ................................... 186 ESTRUTURA DE STATUS (CNC -> PLC) ............................................................. 189 DESCRIÇÃO DE FUNCIONAMENTO................................................................... 191 EXEMPLO................................................................................................................. 192 SERVIÇO DE FOTOCÉLULA ................................................................................... 194 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 20.10 21 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 23 23.1 23.2 23.3 23.4 23.5 Proteo DESCRIÇÃO GERAL............................................................................................... 194 TIPOS DE DADOS .................................................................................................... 194 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ........................................ 194 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ......................................... 194 HARDWARE PROTEO MINI/LCD ........................................................................ 194 FOTOCÉLULA DO MÓDULO MSC I/O CANOPEN............................................ 194 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ................................... 195 ESTRUTURA DE STATUS (CNC -> PLC) ............................................................. 198 DESCRIÇÃO DE FUNCIONAMENTO................................................................... 200 EXEMPLO............................................................................................................... 201 SERVIÇO DE DISPLAY LCD .................................................................................... 202 DESCRIÇÃO GERAL............................................................................................... 202 TIPOS DE DADOS .................................................................................................... 202 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ........................................ 202 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ......................................... 202 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ................................... 203 DISPOSIÇÃO DOS CARACTERES NO DISPLAY ............................................... 205 ESTRUTURA DE STATUS (CNC -> PLC) ............................................................. 206 DESCRIÇÃO DE FUNCIONAMENTO................................................................... 207 EXEMPLO................................................................................................................. 208 SERVIÇO DE LEITURA E ESCRITA DE PARÂMETROS DE DRIVERS ............ 209 DESCRIÇÃO GERAL............................................................................................... 209 TIPOS DE DADOS .................................................................................................... 209 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ........................................ 209 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ......................................... 209 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ................................... 210 ESTRUTURA DE STATUS (CNC -> PLC) ............................................................. 212 DESCRIÇÃO DE FUNCIONAMENTO................................................................... 214 EXEMPLO................................................................................................................. 215 SERVIÇO DE ACOPLAMENTO ENTRE EIXOS .................................................... 216 DESCRIÇÃO GERAL............................................................................................... 216 TIPOS DE DADOS .................................................................................................... 216 PARÂMETROS DE CONFIGURAÇÃO UTILIZADOS ........................................ 216 PARÂMETROS DE PLC UTILIZADOS (P900 – P999) ......................................... 216 ESTRUTURA DE DADOS E COMANDOS (PLC -> CNC) ................................... 217 MCS Engenharia 6/4/2011 Página 7 de 7 Serviços do PLC 23.6 23.7 23.8 24 24.1 24.2 24.3 24.4 25 25.1 25.2 25.3 25.4 25.5 25.6 Proteo ESTRUTURA DE STATUS (CNC -> PLC) ............................................................. 219 DESCRIÇÃO DE FUNCIONAMENTO................................................................... 220 EXEMPLO................................................................................................................. 221 APÊNDICE ................................................................................................................... 222 POSIÇÕES DE MEMÓRIA - DIVERSAS ............................................................... 223 ERRO DE ACOMPANHAMENTO – LAG / MODO LIVRE............................... 224 TABELA DE CÓDIGOS DAS TECLAS DO PROTEO .......................................... 226 MAPA DO TECLADO / PAINEL ............................................................................ 227 SERVIÇO GERAL S.................................................................................................... 228 BUSCA REFERÊNCIA............................................................................................. 229 FUNÇÃO MST .......................................................................................................... 230 MOVIMENTO MANUAL......................................................................................... 231 TERMOPAR.............................................................................................................. 232 LEITURA E ESCRITA DE PARÂMTROS DE DRIVERS..................................... 233 ACOPLAMENTO ENTRE EIXOS .......................................................................... 234 MCS Engenharia 6/4/2011 Página 8 de 8 Serviços do PLC 1 Proteo Memória do PLC Integrado Periodicamente o programa do PLC integrado é executado pelo CNC, que utiliza um sistema operacional de tempo real que partilha o tempo da CPU entre as diversas tarefas necessárias ao comando da Máquina. O PLC integrado é apenas uma destas tarefas que é executada com prioridade média dentro do sistema geral de tarefas do CNC. Isto significa que o programa PLC deve ser otimizado para não prejudicar outras tarefas do CNC, como a execução de programas de usuário, apresentação de telas, etc. Antes de ser executado, o programa PLC recebe uma imagem das variáveis do CNC que são copiadas para uma área de transferência, essa memória do PLC integrado é definida como área I. A área I contém todas as informações que precisa para fazer a integração entre o CNC e a máquina. Entradas, saídas, temporizadores, dados e variáveis de estado ficam acessíveis ao PLC que pode utilizar estas informações em sua lógica de intertravamento. A área de transferência I do Proteo é formada por 4096 Bytes que estão divididos por áreas. Área de Transferência ou Memória I MCS Engenharia 6/4/2011 Página 9 de 9 Serviços do PLC 1.1 Proteo Tipos de Memória Byte Bits16 Int16 Int16u Int32 Float32 = Estrutura de bits (B07 a B00 - 1 byte) = Estrutura de bits (B15 a B00 - 2 bytes) = Inteiro de 16 bits (B15 a B00 - 2 bytes) = Inteiro de 16 bits sem sinal (B15 a B00 - 2 bytes) = Inteiro de 32 bits sem sinal (B31 a B00 - 4 bytes) = Número em ponto flutuante simples (B31 a B00 - 4 bytes) Estrutura do Byte (8 bits): Único Byte 07 06 05 04 03 02 01 00 Exemplo: O Valor 90d (em Decimal) corresponde a um único Byte e pode ser escrito como 5Ah (em Hexadecimal) ou 01011010b (em binário). MCS Engenharia 6/4/2011 Página 10 de 10 Serviços do PLC Proteo Estrutura do Bits16, Int16 e Int16u (2 bytes ou 16 bits) Segundo Byte Primeiro Byte 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Exemplo: O Valor 32768d (em Decimal) corresponde a dois Bytes ou uma Word e pode ser escrito como 8000h (em Hexadecimal) ou 1000000000000000b (em binário). Estrutura do Int32 e Float32 (4 bytes ou 32 bits) Quarto Byte Terceiro Byte 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 Segundo Byte Primeiro Byte 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Exemplo: O Valor 2147483648d (em Decimal) corresponde a quatro Bytes ou uma Double Word e pode ser escrito como 80000000h (em Hexadecimal) ou 10000000000000000000000000000000b (em binário). 1.2 Mapa da Área de Transferência ou Memória I do Proteo 4095 Endereço Final 2096 Bytes Memórias de Uso Geral 2000 Endereço Inicial 1999 Endereço Final 6 Bytes Memórias utilizadas para Status 1994 Endereço Inicial 1993 Endereço Final 994 Bytes Memórias utilizadas nas rotinas do PLC MCS Engenharia 6/4/2011 Página 11 de 11 Serviços do PLC Proteo 1000 Endereço Inicial 0999 Endereço Final 100 Bytes Memórias de Parâmetros e Funções 0900 Endereço Inicial 0899 Endereço Final 20 Bytes Reservado 0880 Endereço Inicial 0879 Endereço Final 80 Bytes Memórias utilizadas pelos Temporizadores 0800 Endereço Inicial 0799 Endereço Final 800 Bytes Memórias de Dados e Comandos 0000 Endereço Inicial O conteúdo dos endereços do Proteo é formado por dois Bytes ou uma Word. 2 Serviços Os CNCs da série Proteo foram projetados para trabalhar com estruturas de dados, comandos e status que juntas formam os “Serviços”, que são utilizados nos programas de PLC para se executar uma determinada função e obter informações a respeito da mesma. 2.1 Estrutura de Serviço A Estrutura de Serviço é responsável pela integração entre o programa de PLC e o CNC. Composta por um conjunto de variáveis que podem ser do tipo Byte, Bits16, Int16, Int16u, Int32 ou Float32 essas variáveis são usadas para solicitar a habilitação ou desabilitação das funções, informar ou requisitar o estado de algum serviço ou ainda passar valores numéricos para o controle do CNC. Essa estrutura é dividida em duas partes que são: 1°) Estrutura de Dados e Comandos (PLC -> CNC) que é responsável em fornecer ao CNC valores passados pelo programa de PLC ou solicitar a habilitação ou estado de algum serviço. 2°) Estrutura de Status (PLC -> CNC) que é responsável em fornecer ao programa de PLC informações a respeito dos serviços solicitados. MCS Engenharia 6/4/2011 Página 12 de 12 Serviços do PLC 2.2 Proteo Diagrama da estrutura de Serviço Estrutura de Dados e Comandos (PLC -> CNC) Estrutura de Status (CNC -> PLC) 2.3 Exemplo de uma Estrutura de Serviço A seguir temos um exemplo de Estrutura de Serviço utilizando algumas das variáveis de memória vistas anteriormente. Endereço Base = 2000 – Estrutura de Dados e Comandos (PLC -> CNC) Endereço Base Base+2 . . . Base+66 Base+68 Tipo Int16 Int16 . . . Int16 Int32 Bits16 MCS Engenharia Nome Descrição (PLC -> CNC) O endereço Base está na posição de memória 2000 O endereço Base+2 está na posição de memória 2002 O endereço Base+66 está na posição de memória 2066 O endereço Base+68 está na posição de memória 2068 B00 B01 B02 6/4/2011 Página 13 de 13 Serviços do PLC B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 Base+72 Base+74 Proteo Int16 O endereço Base+72 está na posição de memória 2072 O endereço Base+74 está na posição de memória 2074 Endereço Base = 2076 – Estrutura de Status (CNC -> PLC) Endereço Base Base+2 . . . Tipo Int16 Int16 . . . Bits16 Base+68 MCS Engenharia Nome B00 B01 B02 B03 B04 B05 B06 B07 B08 B09 6/4/2011 Descrição (CNC -> PLC) O endereço Base está na posição de memória 2076 O endereço Base+2 está na posição de memória 2078 O endereço Base+68 está na posição de memória 2144 Página 14 de 14 Serviços do PLC Proteo B10 B11 B12 B13 B14 B15 3 Habilitação de Serviços A Habilitação de Serviços é uma estrutura formada por 96 bits que são utilizados para solicitar ao CNC a habilitação de um determinado serviço. Esses bits quando definidos em nível lógico 1 solicitam ao CNC a habilitação do serviço selecionado, e quando definidos em nível lógico 0 solicitam a desabilitação do mesmo. Essa estrutura está localizada no mapa de memórias I entre as memórias I12 e I23, sendo reservado um bit para cada serviço. Bit Rótulo 12.0 HLEDIG 12.1 HESDIG 12.2 HLEANA 12.3 HESANA 12.4 HREFEI 12.5 HEPPRI 12.6 HEPAUX 12.7 HAESDI Estado Inicial Habilitado Habilitado Habilitado Habilitado Desabilitado Desabilitado Desabilitado Habilitado Bit Estado Inicial MCS Engenharia Rótulo 6/4/2011 Significado Leitura das Entradas Digitais Escrita nas Saídas Digitais Leitura das Entradas Analógicas Escrita nas Saídas Analógicas Referência dos Eixos Execução de Programa do Canal Principal Execução de Programa do Canal Auxiliar Escrita em Display Significado Página 15 de 15 Serviços do PLC Proteo 13.0 HALETC 13.1 HECOTA 13.2 HCOTUB 13.3 HJOYST 13.4 HFAUPR 13.5 HFAUXI 13.6 HGESPR 13.7 HGESAU Bit 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 Habilitado Habilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Leitura de Teclado por PLC Escrita de Cotas Serviço de Corte de Tubos Serviço de Joystick Funções Auxiliares do Canal Principal Funções Auxiliares do Canal Auxiliar Geral S do Canal Principal Geral S do Canal Auxiliar Rótulo HMOVE1 HMOVE2 HMOVE3 HMOVE4 HMOVE5 HMOVE6 HMOVE7 HMOVE8 Estado Inicial Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Significado Movimento manual / independente (eixo 1) Movimento manual / independente (eixo 2) Movimento manual / independente (eixo 3) Movimento manual / independente (eixo 4) Movimento manual / independente (eixo 5) Movimento manual / independente (eixo 6) Movimento manual / independente (eixo 7) Movimento manual / independente (eixo 8) Bit Rótulo 15.0 HSALME 15.1 15.2 15.3 15.4 15.5 15.6 15.7 Estado Inicial Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Significado Alarmes e Mensagens RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO Bit Rótulo 16.0 HSFOT1 16.1 HSFOT2 16.2 HSCREA 16.3 HSCVIR 16.4 HSCDIG 16.5 HSVCOM 16.6 16.7 Estado Inicial Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Significado Serviço da Fotocélula 1 Serviço da Fotocélula 2 Came Real Came Virtual Came Digital Came dos Eixos – Vínculos Complexos Termopar Leitura e Escrita Parâmetros Driver CAN Bit 17.0 17.1 17.2 17.3 Estado Inicial Desabilitado Desabilitado Desabilitado Desabilitado Significado Vínculos Normais e Controle do Eixo 1 Vínculos Normais e Controle do Eixo 2 Vínculos Normais e Controle do Eixo 3 Vínculos Normais e Controle do Eixo 4 Rótulo HSVEX1 HSVEX2 HSVEX3 HSVEX4 MCS Engenharia 6/4/2011 Página 16 de 16 Serviços do PLC Proteo 17.4 17.5 17.6 17.7 HSVEX5 HSVEX6 HSVEX7 HSVEX8 Desabilitado Desabilitado Desabilitado Desabilitado Bit 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 Rótulo Estado Inicial Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO Bit 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 Rótulo Estado Inicial Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO Bit 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 Rótulo Estado Inicial Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO Bit 21.0 21.1 21.2 21.3 Rótulo MCS Engenharia Estado Inicial Desabilitado Desabilitado Desabilitado Desabilitado 6/4/2011 Vínculos Normais e Controle do Eixo 5 Vínculos Normais e Controle do Eixo 6 Vínculos Normais e Controle do Eixo 7 Vínculos Normais e Controle do Eixo 8 Significado Significado Significado Significado RESERVADO RESERVADO RESERVADO RESERVADO Página 17 de 17 Serviços do PLC Proteo 21.4 21.5 21.6 21.7 4 4.1 Desabilitado Desabilitado Desabilitado Desabilitado Bit 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 Rótulo Bit 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 Rótulo RESERVADO RESERVADO RESERVADO RESERVADO Estado Inicial Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Significado RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO Estado Inicial Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado Desabilitado RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO RESERVADO Significado Serviço de Alarmes e Mensagens Descrição geral O serviço de alarmes e mensagens permite que o programa de PLC faça uso da tela do CNC Proteo para informar ao operador sobre o acontecimento de algum novo evento. Através da tela de Mensagens é possível visualizar todos os Alarmes e Mensagens que já tenham sido registrados ao mesmo tempo e através da tela de operação visualizar somente um registro por vez. 4.2 Tipos de dados = Estrutura de bits (B07 a B00 - 1 byte) Byte Int16u = Inteiro de 16 bits sem sinal (B15 a B00 - 2 bytes) 4.3 Parâmetros de Configuração Utilizados Não há. MCS Engenharia 6/4/2011 Página 18 de 18 Serviços do PLC 4.4 Proteo Parâmetros de PLC Utilizados Não há. 4.5 Estrutura de Dados (PLC -> CNC) Ponteiro base da estrutura de dados. (endereço do início da estrutura na área I) = I 738 (Ver tabela de endereços) Tamanho da estrutura = 40 bytes. Endereço Base Base+2 ... Base+28 Base+30 Base+32 Base+33 ... Base+38 Base+39 Tipo Int16u Int16u ... Int16u Int16u Byte Byte … Byte Byte MCS Engenharia Nome ALARME_00 ALARME_01 ... ALARME_14 ALARME_15 MSG_0X MSG_1X ... MSG_6X MSG_7X 6/4/2011 Descrição Código de Alarme 0 (2 bytes por mensagem) Código de Alarme 1 (2 bytes por mensagem) ... Código de Alarme 14 (2 bytes por mensagem) Código de Alarme 15 (2 bytes por mensagem) Mensagens: 0.0 a 0.7 (1 bit por mensagem) Mensagens: 1.0 a 1.7 (1 bit por mensagem) Mensagens: 2.0 a 5.7 (1 bit por mensagem) Mensagens: 6.0 a 6.7 (1 bit por mensagem) Mensagens: 7.0 a 7.7 (1 bit por mensagem) Página 19 de 19 Serviços do PLC Proteo 4.5.1 Código de Alarme 0 É o endereço que contem o código do alarme 0 e também o início da estrutura de alarmes. 4.5.2 Código de Alarme 1 É o endereço que contem o código do alarme 1 seguindo do 2, 3 e assim por diante até o alarme 15. 4.5.3 Mensagens de 0.0 a 0.7 É o endereço que contem os bits de habilitação das mensagens de 0 a 7. 4.5.4 Mensagens de 1.0 a 1.7 É o endereço que contem os bits de habilitação das mensagens de 8 a 15 seguindo pelos bits de 16 a 23, 24 a 31 e assim por diante até a mensagem 63. 4.6 Descrição de Funcionamento O objetivo deste serviço é permitir que se controle a exibição de alarmes e mensagens na tela do Proteo em função dos códigos e caracteres de textos atribuídos a elas. Para se utilizar este serviço é necessária uma estrutura de dados composta por 16 Words para Alarmes e 64 bits para Mensagens onde se atribui a variável de memória comum ou área de transferência o início do índice da estrutura de alarmes e mensagens. Os Códigos de Alarmes são formados por 16 words que compõem a parte de alarmes da estrutura deste serviço, onde apenas a primeira posição é mostrada na primeira linha do display, as outras 15 posições servem apenas para montar uma pilha de memória dos alarmes causados pela máquina ou pelo operador, esta lógica de controle deve ser feita no programa de PLC. Os objetos de tela podem conter até 56 caracteres de texto para alarmes. Exemplo: Posição Word1 Word2 Word3 MCS Engenharia 6/4/2011 Word4 .... Word15 Word16 Página 20 de 20 Serviços do PLC Valor 13 Proteo 5 14 0 0 0 Os alarmes aparecem por ordem de ocorrência, ou seja, o primeiro alarme que for acionado tem prioridade sobre os outros, conforme a tabela acima caso o alarme 13 seja cancelado o alarme 5 assume a posição 1 e o alarme 14 assume a posição 2, como podemos ver na tabela abaixo. Posição Valor Word1 5 Word2 14 Word3 0 Word4 0 .... Word15 0 Word16 0 E assim acontecerá sucessivamente até que se limpem todos os alarmes memorizados. Os alarmes diferentemente das mensagens não são bits então para que possamos limpar um alarme é necessário colocar o valor 0 (zero) na Word correspondente a mensagem. Se mais de um alarme for acionado, apenas o alarme que estiver na posição “Word1” será mostrado na tela, ou seja, os outros alarmes estarão memorizados, mas não se poderá ler o texto da mensagem, caso se limpe esse primeiro alarme o segundo na ordem de ocorrência assumirá a posição 1 como mostramos anteriormente e o texto que aparece na primeira linha também mudará. Caso se queiram ver os textos de mais alarmes que estão memorizados será necessário acessar a tela de Alarmes e Mensagens, onde se mostram os textos de alarmes e mensagens em sua ordem de ocorrência. Os Códigos de mensagens são formados por 64 bits de controle de mensagens onde para se chamar uma mensagem é necessário atribuir ao bit correspondente à mensagem desejada o nível lógico 1. No objeto de tela a quantidade máxima de caracteres de texto que pode ter uma mensagem é de 56 caracteres. Exemplo: Os textos a serem apresentados no display estão no arquivo fonte de mensagens que é transmitido através do FTP do Proteo, ou seja, a tabela de mensagens não esta anexada ao programa de PLC ela é um arquivo a parte. Bit0 1 Bit1 0 Bit2 1 Bit3 0 .... Bit62 0 Bit63 0 Neste exemplo aparecerão duas mensagens a 1 e a 3. A mensagem 1 independentemente de que objeto de tela esteja em foco aparecerá na primeira linha do display, já na tela de Alarmes e Mensagens as duas mensagens aparecerão simultaneamente. A ordem de aparição das mensagens será em ordem numérica crescente, ou seja, a mensagem que contém o menor número aparecerá em primeiro. As mensagens ficarão aparecendo enquanto o bit equivalente a mensagem estiver em 1 e assim que o bit for para 0 a mensagem desaparecerá. MCS Engenharia 6/4/2011 Página 21 de 21 Serviços do PLC 4.7 Proteo Exemplo Deseja-se mostrar na tela do Proteo o Alarme “BOTAO DE STOP PRESSIONADO” e a Mensagem “BOTAO DE EMERGENCIA PRESSIONADO”. Para isso precisamos definir no arquivo de definições os endereços de memória nos quais estarão armazenados o Alarme e a Mensagem que serão mostrados no objeto de tela, em seguida devemos escrever o programa de PLC que solicitará a habilitação do serviço de mensagens e alarmes e se encarregará de exibir os mesmos na tela. Arquivo de definições - ALARMENS.H ;================================================= ; ARQUIVO DE DEFINIÇÕES DE ALARMES E MENSAGENS ;================================================= ; Inicio da tabela de memórias de alarmes e mensagens #DEFINE #DEFINE ALAR01 MENS01 MCS Engenharia 6/4/2011 1620 ; Código do Alarme 01 - (2 Bytes) 1652.0 ; Bit da Mensagem 01 Página 22 de 22 Serviços do PLC Proteo ; Fim da tabela de memórias de alarmes e mensagens ;----------------------------------------------------------------------------------Feito isso vamos escrever o programa de PLC que fará com que o Alarme e a Mensagem sejam mostrados na tela. No programa de PLC devemos solicitar ao CNC a habilitação do serviço de alarmes e mensagens atribuindo ao bit 15.0 da palavra de controle de serviços (I 15) o valor 1. SF M HSALME ; Solicita a Habilitação do Serviço de Alarmes e Mensagens Depois devemos definir o endereço inicial de memória para os alarmes e mensagens, no nosso exemplo 1620. L KW ALAR01 ; Endereço Inicial de Memória (1620) atribuído no define Feito isso devemos apontar o inicio da tabela de alarmes e mensagens atribuindo a memória BDALME (I 738) o valor de ALAR01 (1620). = MW BDALME ; Base de Dados de Alarmes e Mensagens E por último informar o Código do Alarme ou atribuir ao bit da Mensagem desejada, o valor 1. Código do Alarme Segundo Byte Segundo Byte . . . Segundo Byte Segundo Byte Primeiro Byte Primeiro Byte . . . Primeiro Byte Primeiro Byte Bits das Mensagens Bit 0 Bit 1 . MCS Engenharia 6/4/2011 Rótulo Descrição ALAR01 ALAR02 . . . ALAR15 ALAR16 Alarme 01 Alarme 02 . . . Alarme 15 Alarme 16 Rótulo Descrição MENS01 MENS02 . Bit Mensagem 01 Bit Mensagem 02 . Página 23 de 23 Serviços do PLC Proteo . . Bit 62 Bit 63 . . MENS63 MENS64 . . Bit Mensagem 63 Bit Mensagem 64 Por exemplo para se apresentar o alarme “BOTAO DE STOP PRESSIONADO” devemos na posição de memória do “ALAR01” atribuir o número 1 que corresponde a mensagem de texto 1 definida no arquivo PROTEO.MSG. L = KW MW 1 ALAR01 ; Número do Alarme ; Alarme Botão de Stop Pressionado Ou para se apresentar a mensagem "BOTAO DE EMERGENCIA PRESSIONADO" devemos atribuir ao bit 0 da memória de Mensagens (MENS01) o valor 1. L == 4.8 I M 0.0 MENS01 ; Leitura da Entrada do Botão de EMERGÊNCIA ; Mensagem Botão de Emergência Pressionado Programa Exemplo Arquivo de Programa - ALARMEN.S ;================================================= ; ARQUIVO DE PROGRAMA DE ALARMES E MENSAGENS ;================================================= #INCLUDE '_MEMPROTE.100' #INCLUDE '_MACROMIN.100' #INCLUDE '_BASDPROT.100' ; Arquivo de Inclusão ; Arquivo de Inclusão ; Arquivo de Inclusão ;----------------------------------------------------------------------------------LN M MINICN CALL RPRICI ; Memória do Modo de Inicialização ; Chama a Rotina de Primeiro Ciclo ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 24 de 24 Serviços do PLC Proteo ; LEITURA DAS ENTRADAS DIGITAIS ;----------------------------------------------------------------------------------L == I M 0.0 MENS01 ; Leitura da Entrada do Botão de EMERGÊNCIA ; Botão de Emergência Pressionado L L == I KW MW 0.1 1 ALAR01 ; Leitura da Entrada do Botão de STOP ; Carrega o Acumulador com o valor do Número do Alarme ; Botão de Stop Pressionado L L == I KW MW 0.2 0 ALAR01 ; Leitura da Entrada para limpar Alarme ; Valor Zero para nenhum Alarme ; Limpa o Alarme END ; Fim da Rotina ;================================================= ; ROTINA DE PRIMEIRO CICLO ;================================================= RPRICI: SF M STOPC ; Acerta Stop ;----------------------------------------------------------------------------------L = KW MW 1620 BDALME ; Inicio de tabela de Alarmes e Mensagens ; Base de Dados de Alarmes e Mensagens ;----------------------------------------------------------------------------------SF M HSALME ; Habilita Serviço de Alarmes e Mensagens ;----------------------------------------------------------------------------------SF M MINICN RET ; Encerra Primeiro Ciclo ; Retorno da Rotina ;----------------------------------------------------------------------------------ENDC ; Fim do Programa ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 25 de 25 Serviços do PLC 4.9 Proteo Modo de Exibição na Tela Tela Qualquer Tela de Alarmes e Mensagens BOTAO DE EMERGENCIA PRESSIONADO BOTAO DE STOP PRESSIONADO BOTAO DE EMERGENCIA PRESSIONADO MCS Engenharia 6/4/2011 Página 26 de 26 Serviços do PLC Proteo Obs.: No modo de exibição em “Tela Qualquer”, não aparece outro Alarme ou Mensagem que não seja o da primeira linha (posição 0.0), já na “Tela de Alarmes e Mensagens” aparecerão todos os Alarmes e todas a Mensagens que já ocorreram. 4.10 Estrutura do Arquivo de Defines de Alarmes/Mensagens Aqui podemos ver um exemplo de arquivo de definições que contêm todos os endereços de Alarmes e Mensagens pré-definidos. Nesse arquivo podemos também definir somente os endereços de Alarmes e/ou Mensagens que serão utilizados pelo projeto. O inicio da tabela de Alarmes e Mensagens do nosso exemplo é definido pelo endereço 1620. Este endereço é um Word (2 bytes) onde se aponta o inicio da tabela, esse inicio foi definido colocando-se o valor 1620 na memória I 738. Arquivo de definições - ALARMEN.H ;================================================= ; ARQUIVO DE DEFINIÇÕES DE ALARMES E MENSAGENS ;================================================= ; Inicio da tabela de memórias de alarmes e mensagens MCS Engenharia 6/4/2011 Página 27 de 27 Serviços do PLC Proteo ; Inicio da tabela de alarmes #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE ALAR01 ALAR02 ALAR03 ALAR04 ALAR05 ALAR06 ALAR07 ALAR08 ALAR09 ALAR10 ALAR11 ALAR12 ALAR13 ALAR14 ALAR15 ALAR16 1620 1622 1624 1626 1628 1630 1632 1634 1636 1638 1640 1642 1644 1646 1648 1650 ; Código do Alarme 01 - (2 Bytes) ; Código do Alarme 02 - (2 Bytes) ; Código do Alarme 03 - (2 Bytes) ; Código do Alarme 04 - (2 Bytes) ; Código do Alarme 05 - (2 Bytes) ; Código do Alarme 06 - (2 Bytes) ; Código do Alarme 07 - (2 Bytes) ; Código do Alarme 08 - (2 Bytes) ; Código do Alarme 09 - (2 Bytes) ; Código do Alarme 10 - (2 Bytes) ; Código do Alarme 11 - (2 Bytes) ; Código do Alarme 12 - (2 Bytes) ; Código do Alarme 13 - (2 Bytes) ; Código do Alarme 14 - (2 Bytes) ; Código do Alarme 15 - (2 Bytes) ; Código do Alarme 16 - (2 Bytes) ; Inicio da tabela de mensagens #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE MENS01 MENS02 MENS03 MENS04 MENS05 MENS06 MENS07 MENS08 1652.0 ; Bit da Mensagem 01 1652.1 ; Bit da Mensagem 02 1652.2 ; Bit da Mensagem 03 1652.3 ; Bit da Mensagem 04 1652.4 ; Bit da Mensagem 05 1652.5 ; Bit da Mensagem 06 1652.6 ; Bit da Mensagem 07 1652.7 ; Bit da Mensagem 08 #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE MENS09 MENS10 MENS11 MENS12 MENS13 MENS14 MENS15 MENS16 1653.0 ; Bit da Mensagem 09 1653.1 ; Bit da Mensagem 10 1653.2 ; Bit da Mensagem 11 1653.3 ; Bit da Mensagem 12 1653.4 ; Bit da Mensagem 13 1653.5 ; Bit da Mensagem 14 1653.6 ; Bit da Mensagem 15 1653.7 ; Bit da Mensagem 16 #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE MENS17 MENS18 MENS19 MENS20 MENS21 1654.0 ; Bit da Mensagem 17 1654.1 ; Bit da Mensagem 18 1654.2 ; Bit da Mensagem 19 1654.3 ; Bit da Mensagem 20 1654.4 ; Bit da Mensagem 21 MCS Engenharia 6/4/2011 Página 28 de 28 Serviços do PLC Proteo #DEFINE #DEFINE #DEFINE MENS22 MENS23 MENS24 1654.5 ; Bit da Mensagem 22 1654.6 ; Bit da Mensagem 23 1654.7 ; Bit da Mensagem 24 #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE MENS25 MENS26 MENS27 MENS28 MENS29 MENS30 MENS31 MENS32 1655.0 ; Bit da Mensagem 25 1655.1 ; Bit da Mensagem 26 1655.2 ; Bit da Mensagem 27 1655.3 ; Bit da Mensagem 28 1655.4 ; Bit da Mensagem 29 1655.5 ; Bit da Mensagem 30 1655.6 ; Bit da Mensagem 31 1655.7 ; Bit da Mensagem 32 #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE MENS33 MENS34 MENS35 MENS36 MENS37 MENS38 MENS39 MENS40 1656.0 ; Bit da Mensagem 33 1656.1 ; Bit da Mensagem 34 1656.2 ; Bit da Mensagem 35 1656.3 ; Bit da Mensagem 36 1656.4 ; Bit da Mensagem 37 1656.5 ; Bit da Mensagem 38 1656.6 ; Bit da Mensagem 39 1656.7 ; Bit da Mensagem 40 #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE MENS41 MENS42 MENS43 MENS44 MENS45 MENS46 MENS47 MENS48 1657.0 ; Bit da Mensagem 41 1657.1 ; Bit da Mensagem 42 1657.2 ; Bit da Mensagem 43 1657.3 ; Bit da Mensagem 44 1657.4 ; Bit da Mensagem 45 1657.5 ; Bit da Mensagem 46 1657.6 ; Bit da Mensagem 47 1657.7 ; Bit da Mensagem 48 #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE MENS49 MENS50 MENS51 MENS52 MENS53 MENS54 MENS55 MENS56 1658.0 ; Bit da Mensagem 49 1658.1 ; Bit da Mensagem 50 1658.2 ; Bit da Mensagem 51 1658.3 ; Bit da Mensagem 52 1658.4 ; Bit da Mensagem 53 1658.5 ; Bit da Mensagem 54 1658.6 ; Bit da Mensagem 55 1658.7 ; Bit da Mensagem 56 #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE MENS57 MENS58 MENS59 MENS60 MENS61 MENS62 MENS63 1659.0 ; Bit da Mensagem 57 1659.1 ; Bit da Mensagem 58 1659.2 ; Bit da Mensagem 59 1659.3 ; Bit da Mensagem 60 1659.4 ; Bit da Mensagem 61 1659.5 ; Bit da Mensagem 62 1659.6 ; Bit da Mensagem 63 MCS Engenharia 6/4/2011 Página 29 de 29 Serviços do PLC #DEFINE Proteo MENS64 1659.7 ; Bit da Mensagem 64 ; Fim da tabela de memórias de alarmes e mensagens ;----------------------------------------------------------------------------------- 4.11 Arquivo de Alarmes e Mensagens Este arquivo é utilizado para se atribuir aos Alarmes e as Mensagens os textos que serão apresentados na tela do Proteo. Arquivo de Mensagens - PROTEO.MSG ;================================================= ; ARQUIVO DE ALARMES E MENSAGENS ;================================================= [MESSAGES] [ALARMS] ; Lista de alarmes: [PORTUGUESE] 1, "BOTAO DE STOP PRESSIONADO" 2, "AL2 - BOTÃO STOP PRESSIONADO" MCS Engenharia 6/4/2011 Página 30 de 30 Serviços do PLC Proteo 3, "AL5 - INCOERÊNCIA NO MOVIMENTO" . . . 13, "AL13 - FIM DE CURSO DE SOFTWARE POSITIVO 1" 14, "AL14 - FIM DE CURSO DE SOFTWARE NEGATIVO 1" 15, "AL15 - ..." 16, "AL16 - ..." [ENGLISH] 1, "ALARM TEST" [WARNINGS] ; Lista de mensagens: [PORTUGUESE] 1, "BOTAO DE EMERGENCIA PRESSIONADO" 2, "MS2 - MÁQUINA NÃO REFERENCIADA" 3, "MS3 - INCOERÊNCIA NO MOVIMENTO" . . . 63, "MS63 - FIM DE CURSO DE SOFTWARE POSITIVO 1" 64, "MS64 - FIM DE CURSO DE SOFTWARE NEGATIVO 1" [ENGLISH] 1, " MESSAGE TEST " [END_OF_MESSAGES] ; Final das definições de mensagens Como podemos observar sempre abaixo de uma lista de mensagens existe uma tag [ENGLISH] esta tag serve para que possamos colocar textos em inglês. Isto pode ser feito com qualquer outro idioma desde que o parâmetro P000 seja alterado para o idioma desejado. 4.12 Fluxograma de Funcionamento MCS Engenharia 6/4/2011 Página 31 de 31 Serviços do PLC 5 5.1 Proteo Serviço de Movimento Manual Descrição geral O serviço de movimento manual permite ao operador realizar o movimento independente de um eixo através de chaves de movimento ou Softkeys, geralmente este movimento é solicitado no MCS Engenharia 6/4/2011 Página 32 de 32 Serviços do PLC Proteo modo de operação manual. Em aplicações especiais pode ser necessário mover o eixo por interferência do operador nos modos de programação ou execução. 5.2 Tipos de dados Byte Int16u Int32 Bits16 5.3 = Estrutura de bits (B07 a B00 - 1 byte) = Inteiro de 16 bits sem sinal (B15 a B00 - 2 bytes) = Inteiro de 32 bits sem sinal (B31 a B00 - 4 bytes) = Estrutura de bits (B15 a B00 - 2 bytes) Parâmetros de Configuração Utilizados Não há. 5.4 Parâmetros de PLC Utilizados Não há. 5.5 Estrutura de Dados e Comandos (PLC -> CNC) Para se utilizar este serviço é necessária uma estrutura de dados onde se atribuem as variáveis de memória comum ou área de transferência valores que definem qual eixo executará o movimento manual. Essas posições de memória são fixas. (Ver tabela de endereços) MCS Engenharia 6/4/2011 Página 33 de 33 Serviços do PLC Proteo Tamanho da estrutura = 36 Bytes. Memórias 2 e 3 Endereço Tipo Memórias 2e3 Bits16 B00 B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 Nome E1P E1N E2P E2N E3P E3N E4P E4N E5P E5N E6P E6N E7P E7N E8P E8N Descrição Movimento Manual Eixo 1 Sentido Positivo Movimento Manual Eixo 1 Sentido Negativo Movimento Manual Eixo 2 Sentido Positivo Movimento Manual Eixo 2 Sentido Negativo Movimento Manual Eixo 3 Sentido Positivo Movimento Manual Eixo 3 Sentido Negativo Movimento Manual Eixo 4 Sentido Positivo Movimento Manual Eixo 4 Sentido Negativo Movimento Manual Eixo 5 Sentido Positivo Movimento Manual Eixo 5 Sentido Negativo Movimento Manual Eixo 6 Sentido Positivo Movimento Manual Eixo 6 Sentido Negativo Movimento Manual Eixo 7 Sentido Positivo Movimento Manual Eixo 7 Sentido Negativo Movimento Manual Eixo 8 Sentido Positivo Movimento Manual Eixo 8 Sentido Negativo Memórias de 30 a 60 Memórias 30 e 31 Bits16 B00 B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 MINCR1 MINCR2 MINCR3 MINCR4 MINCR5 MINCR6 MINCR7 MINCR8 MOVIN1 MOVIN2 MOVIN3 MOVIN4 MOVIN5 MOVIN6 MOVIN7 MOVIN8 Movimento Manual Incremental Eixo 1 Movimento Manual Incremental Eixo 2 Movimento Manual Incremental Eixo 3 Movimento Manual Incremental Eixo 4 Movimento Manual Incremental Eixo 5 Movimento Manual Incremental Eixo 6 Movimento Manual Incremental Eixo 7 Movimento Manual Incremental Eixo 8 Movimento Manual Independente Eixo 1 Movimento Manual Independente Eixo 2 Movimento Manual Independente Eixo 3 Movimento Manual Independente Eixo 4 Movimento Manual Independente Eixo 5 Movimento Manual Independente Eixo 6 Movimento Manual Independente Eixo 7 Movimento Manual Independente Eixo 8 Continuação da Estrutura de Dados e Comandos. Memória 32 Memória 36 Memória 40 Int32 Int32 Int32 MCS Engenharia POSMJ1 POSMJ2 POSMJ3 6/4/2011 Posição ou Incremento para Movimento JOG Eixo 1 Posição ou Incremento para Movimento JOG Eixo 2 Posição ou Incremento para Movimento JOG Eixo 3 Página 34 de 34 Serviços do PLC Memória 44 Memória 48 Memória 52 Memória 56 Memória 60 Int32 Int32 Int32 Int32 Int32 Proteo POSMJ4 POSMJ5 POSMJ6 POSMJ7 POSMJ8 Posição ou Incremento para Movimento JOG Eixo 4 Posição ou Incremento para Movimento JOG Eixo 5 Posição ou Incremento para Movimento JOG Eixo 6 Posição ou Incremento para Movimento JOG Eixo 7 Posição ou Incremento para Movimento JOG Eixo 8 5.5.1 Movimento Manual dos Eixos nos Sentidos Positivo e Negativo (EnP/EnN) Definem qual eixo executará o movimento manual e qual será seu sentido de giro. O movimento dos eixos está dividido em dois endereços de memória, esses endereços são o 2 e o 3 e são divididos em bits. Esses bits sempre são ativos em nível lógico 1. 5.5.2 Movimento Manual Incremental / Independente do Eixo (MINCRn/MOVINn) Definem o tipo do movimento executado pelo serviço manual. Se selecionado o movimento manual incremental, os eixos se moverão por comando manual de acordo com o incremento definido em POSMJn. Se selecionado o movimento independente, o eixo se posicionará até a cota de posicionamento que estará definida em POSMJn. 5.5.3 Posição ou Incremento para movimento do Eixo (POSMJn) Define o valor do incremento que será utilizado no modo manual incremental ou o valor da cota para posicionamento do eixo, quando em modo independente. 5.6 Estrutura de Status (CNC -> PLC) Sua função é a de informar situações relacionadas aos movimentos manuais ativos, como o estado do movimento, eixo em movimento, movimento concluído e estado dos fins de curso. (Ver tabela de endereços) Tamanho da estrutura = 2 Bytes por Eixo MCS Engenharia 6/4/2011 Página 35 de 35 Serviços do PLC Proteo Sua posição na memória é definida pela fórmula Eixo n = 100 + i, onde i = 2 * (num do eixo - 1) e 100 é a posição de memória associada ao eixo. Exemplo: Eixo 1 = I100-101 Eixo 2 = I102-103 Eixo 3 = I104-105 Eixo 4 = I106-107 Eixo 5 = I108-109 Eixo 6 = I110-111 Eixo 7 = I112-113 Eixo 8 = I114-115 Endereço 100 + i Tipo Bits16 B00 B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 Nome SMnINI SMnHAB MMnMOV MMnMCO MMnINT MMnFCP MMnFCN MMnCON FALMMn FPPPMn FNPPMn MMnEME Descrição Movimento Manual Eixo n Iniciado Movimento Manual Eixo n Habilitado Eixo n em Movimento Manual Eixo n em Movimento Manual Contínuo Movimento Manual Eixo n Interrompido Fim de Curso Positivo Movimento Manual Eixo n Fim de Curso Negativo Movimento Manual Eixo n Movimento Manual Eixo n Concluído Falha no Movimento Manual Eixo n Posição do Eixo n além do Fim de Curso Positivo Posição do Eixo n além do Fim de Curso Negativo Emergência Movimento Manual Eixo n - 5.6.1 Movimento Manual Eixo n Iniciado (SMnINI) Informa que o Serviço de Movimento Manual do Eixo n foi Iniciado. 5.6.2 Movimento Manual Eixo n Habilitado (SMnHAB) Informa que o Serviço de Movimento Manual do Eixo n está Habilitado. 5.6.3 Eixo n em Movimento Manual (MMnMOV) Informa que o Eixo n encontra-se em Movimento Manual. 5.6.4 Eixo n em Movimento Manual Contínuo (MMnMCO) MCS Engenharia 6/4/2011 Página 36 de 36 Serviços do PLC Proteo Informa que o Eixo n encontra-se em Movimento Manual Contínuo. 5.6.5 Movimento Manual Eixo n Interrompido (MMnINT) Informa que o Movimento Manual do Eixo n foi Interrompido. 5.6.6 Fim de Curso Positivo Movimento Manual Eixo n (MMnFCP) Informa que o Movimento Manual do Eixo n atingiu o Fim de Curso Positivo. 5.6.7 Fim de Curso Negativo Movimento Manual Eixo n (MMnFCN) Informa que o Movimento Manual do Eixo n atingiu o Fim de Curso Negativo. 5.6.8 Movimento Manual Eixo n concluído (MMnCON) Informa que o Movimento Manual do Eixo n foi concluído sem problemas. 5.6.9 Falha no Movimento Manual Eixo n (FALMMn) Informa que houve Falha no Movimento Manual do Eixo n. 5.6.10 Posição do Eixo n além do Fim de Curso Positivo (FPPPMn) Informa que o Eixo n encontra-se além da Posição do Fim de Curso Positivo. 5.6.11 Posição do Eixo n além do Fim de Curso Negativo (FNPPMn) Informa que o Eixo n encontra-se além da Posição do Fim de Curso Negativo. 5.6.12 Emergência Movimento Manual Eixo n (MMnEME) Informa que o Serviço de Movimento Manual do Eixo n encontra-se em estado de Emergência. 5.7 Descrição de Funcionamento O objetivo deste serviço é permitir que se controle o movimento manual de cada eixo de forma independente através de botões, chaves de movimento externas ou Softkeys. Normalmente este serviço é solicitado no modo de operação manual. Esse movimento pode ser tanto incremental MCS Engenharia 6/4/2011 Página 37 de 37 Serviços do PLC Proteo quanto independente, para isso é necessário definir o valor do incremento que será utilizado ou o valor da cota para posicionamento do eixo, quando em modo independente. 5.8 Exemplo Deseja-se movimentar manualmente o eixo 1 nos sentidos positivo e negativo através dos botões externos de avanço e retorno que estão instalados no painel de uma máquina. MCS Engenharia 6/4/2011 Página 38 de 38 Serviços do PLC Proteo Para isso precisamos definir no arquivo de definições em quais entradas digitais estão conectados os botões externos de avanço e retorno do eixo 1. Arquivo de definições - MANUAL.H ;================================================= ; PROGRAMA PARA MOVIMENTO MANUAL ;================================================= #DEFINE #DEFINE BE1P 0.0 BE1N 0.1 ; Botão Movimento Manual Eixo 1 Positivo ; Botão Movimento Manual Eixo 1 Negativo Feito isso vamos escrever o programa de PLC que fará a leitura desses botões e iniciará o movimento manual do eixo 1 de acordo com o botão pressionado. No programa de PLC devemos verificar o estado dos botões de Manual Positivo e Negativo do Eixo 1 caso algum esteja pressionado devemos solicitar a habilitação do Serviço de Movimento Manual do Eixo 1 atribuindo ao bit “HMOVE1” (14.0) da palavra de controle de serviços na memória I 14 o valor 1, em seguida devemos liberar o eixo 1. L O O == == I I M M M BE1P BE1N MM1MOV HMOVE1 LIBX1 ; Botão Movimento Manual Eixo 1 Positivo ; Botão Movimento Manual Eixo 1 Negativo ; Eixo 1 em Movimento Manual ; Solicita a Habilitação do Movimento Manual do Eixo 1 ; Libera o Eixo 1 Depois devemos verificar se o Eixo 1 encontra-se em condição de Movimento Manual. L A == L A == I M M I M M BE1P SM1HAB E1P BE1N SM1HAB E1N ; Botão Movimento Manual Eixo 1 Positivo ; Status do Serviço de Movimento Manual Eixo 1 ; Inicia o Movimento Eixo 1 Sentido Positivo ; Botão Movimento Manual Eixo 1 Negativo ; Status do Serviço de Movimento Manual Eixo 1 ; Inicia o Movimento Eixo 1 Sentido Negativo Caso o botão pressionado seja o “BE1P” e o serviço de Movimento Manual esteja habilitado é iniciado o Movimento Manual Positivo do Eixo 1. Caso o botão pressionado seja o “BE1N” e o serviço de Movimento Manual esteja habilitado é iniciado o Movimento Manual Negativo do Eixo 1. Arquivo de Programa - MANUAL.S ;================================================= ; PROGRAMA PARA MOVIMENTO MANUAL ;================================================= MCS Engenharia 6/4/2011 Página 39 de 39 Serviços do PLC Proteo #INCLUDE '_MEMPROTE.100' #INCLUDE '_MACROMIN.100' #INCLUDE '_BASDPROT.100' ; Arquivo de Inclusão ; Arquivo de Inclusão ; Arquivo de Inclusão ;----------------------------------------------------------------------------------LN M MINICN CALL RPRICI ; Memória do Modo de Inicialização ; Chama a Rotina de Primeiro Ciclo ;----------------------------------------------------------------------------------; LEITURA DOS BOTÕES DE AVANÇO E RETORNO ;----------------------------------------------------------------------------------L O O == == I I M M M BE1P BE1N MM1MOV HMOVE1 LIBX1 ; Botão Movimento Manual Eixo 1 Positivo ; Botão Movimento Manual Eixo 1 Negativo ; Eixo 1 em Movimento Manual ; Solicita a Habilitação do Movimento Manual Eixo 1 ; Libera o Eixo 1 L A == L A == I M M I M M BE1P SM1HAB E1P BE1N SM1HAB E1N ; Botão Movimento Manual Eixo 1 Positivo ; Status do Serviço de Movimento Manual Eixo 1 ; Inicia o Movimento Eixo 1 Sentido Positivo ; Botão Movimento Manual Eixo 1 Negativo ; Status do Serviço de Movimento Manual Eixo 1 ; Inicia o Movimento Eixo 1 Sentido Negativo END ; Fim da Rotina ;================================================= ; ROTINA DE PRIMEIRO CICLO ;================================================= RPRICI: SF M STOPC ; Atribui o valor 1 a Memória de STOP (parada dos eixos) SF L = M KW MW POFPLC 50 POTF ; Passa o Controle do Potenciômetro F para o PLC ; Carrega o Acumulador com o valor 50 ; Atribui o valor de 50% ao Potenciômetro de Avanço ;----------------------------------------------------------------------------------SF M MINICN ; Encerra primeiro ciclo RET MCS Engenharia 6/4/2011 Página 40 de 40 Serviços do PLC Proteo ;----------------------------------------------------------------------------------ENDC ; Fim do Programa ;----------------------------------------------------------------------------------- 6 6.1 Serviço de Busca de Referência Descrição geral MCS Engenharia 6/4/2011 Página 41 de 41 Serviços do PLC Proteo A busca de referência é um procedimento de captura da posição absoluta de um eixo em uma máquina na qual se utilizam transdutores incrementais de posição (Encoders). A busca de referência é necessária para garantir que o posicionamento deste eixo sempre esteja referido a uma posição determinada da máquina chamada “Zero de Máquina”. Para a realização dos movimentos de cada eixo, o CNC deve identificar qual é a posição do eixo dentro de sua trajetória, ou seja, é necessário que o CNC conheça o valor da atual posição do eixo a ser movimentado de forma precisa, e assim deslocar este eixo para a sua nova posição, já que o controle numérico computadorizado, ou simplesmente CNC é um equipamento capaz de realizar posicionamentos precisos. Para realizar essa medição podemos usar transdutores (*) lineares (que realizam a medição de deslocamentos lineares) ou transdutores rotativos que medem o ângulo em que se encontra o eixo (no caso de eixos rotativos), ou a posição do fuso normalmente utilizado para deslocar o eixo (transformando um movimento rotativo num movimento linear). Tanto os transdutores lineares quanto os rotativos podem ser absolutos ou incrementais. Os transdutores absolutos geram, para cada posição um código binário que indica a posição real em que o eixo se encontra (para cada posição um código). Os transdutores incrementais geram sinais que permitem determinar a distância (ou ângulo) entre uma posição e outra mas não permitem determinar onde se localiza a posição inicial e nem a final. Os transdutores absolutos são complexos e caros já os transdutores incrementais são mais simples e de custo bem menor. Para permitir a utilização de transdutores incrementais precisamos criar um processo que garanta que cada vez que ativarmos o CNC, o mesmo irá procurar uma posição do eixo com precisão e coordenada conhecida a partir da qual todas as medições serão realizadas. Este processo é chamado de “Busca de Referência”. (*) Transdutores são dispositivos que transformam uma unidade física em outra unidade física, no caso Comprimento (ou Ângulo) em Volts. 6.2 Tipos de dados Bits16 = Estrutura de bits (B15 a B00 - 2 bytes) Int16 = Inteiro de 16 bits (B15 a B00 - 2 bytes) 6.3 Parâmetros de Configuração Utilizados Pn47: Direção de Busca da Marca de Referência Pn48: Velocidade de Busca da Marca de Referência Pn49: Velocidade de Busca Reversa da Marca de Referência Pn53: Polaridade da Marca de Referência Onde n é o número do Eixo associado. 6.4 Parâmetros de PLC utilizados Não há. 6.4.1 O Encoder O Encoder é o tipo mais comum de transdutor de posição, pode ser do tipo absoluto ou incremental, e tem por função gerar a cada movimento angular do fuso ao qual o Encoder está aco- MCS Engenharia 6/4/2011 Página 42 de 42 Serviços do PLC Proteo plado, uma seqüência de pulsos elétricos (a quantidade de pulsos gerados é proporcional ao número de pulsos por volta do transdutor e ao ângulo do movimento) que são lidos pelo CNC. O CNC, por sua vez, converte estes sinais e os transforma em comandos para controlar o movimento do correspondente eixo da máquina. Os sinais gerados por um Encoder são: 0º, 90º e Ref. Em uma volta os sinais de 0º, 90º geram o número total de pulsos do Encoder, já o sinal de Ref só ocorre uma vez em cada volta. Neste processo de medição, o Encoder gera pulsos elétricos enquanto estiver girando (movimento angular), conforme a figura a seguir. Sinais gerados pelo Encoder durante seu movimento angular Através destas informações que o Encoder fornece ao CNC, é que o CNC sabe o quanto o eixo foi deslocado em relação a sua última posição (posição relativa), porém para que o CNC identifique e saiba a posição real do eixo, este eixo deve estar referenciado pelo procedimento de “Busca de Referência”. 6.5 Estrutura de Dados e Comandos (PLC -> CNC) MCS Engenharia 6/4/2011 Página 43 de 43 Serviços do PLC Proteo Para se utilizar este serviço é necessária uma estrutura de dados onde se atribuem as variáveis de memória comum ou área de transferência valores que definem as condições para a captura da posição absoluta de um eixo. Essas posições de memória são fixas. (Ver tabela de endereços) Tamanho da estrutura = 8 Bytes Endereço Memórias 4e5 Memórias 6e7 Memórias 8e9 Memórias 10 e 11 Tipo Bits16 Bits16 B00 B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 B00 B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 Bits16 Int16 B15 Nome CHREF1 BLOQR1 POMAR1 STATUS Descrição Chave de Referência do Eixo 1 Bloqueio de Referência do Eixo 1 Posicionar na Marca de Referência do Eixo 1 Chave de Referência do Eixo 2 Bloqueio de Referência do Eixo 2 Posicionar na Marca de Referência do Eixo 2 Chave de Referência do Eixo 3 Bloqueio de Referência do Eixo 3 Posicionar na Marca de Referência do Eixo 3 Chave de Referência do Eixo 4 Bloqueio de Referência do Eixo 4 Posicionar na Marca de Referência do Eixo 4 Chave de Referência do Eixo 5 Bloqueio de Referência do Eixo 5 Posicionar na Marca de Referência do Eixo 5 Chave de Referência do Eixo 6 Bloqueio de Referência do Eixo 6 Posicionar na Marca de Referência do Eixo 6 Chave de Referência do Eixo 7 Bloqueio de Referência do Eixo 7 Posicionar na Marca de Referência do Eixo 7 Chave de Referência do Eixo 8 Bloqueio de Referência do Eixo 8 Posicionar na Marca de Referência do Eixo 8 Status (Ver tabela de Status a seguir) AXISREF RESET Eixo para Buscar Referência (1 a 8) Reinicia Serviço de Busca de Referência CHREF2 BLOQR2 POMAR2 CHREF3 BLOQR3 POMAR3 CHREF4 BLOQR4 POMAR4 CHREF5 BLOQR5 POMAR5 CHREF6 BLOQR6 POMAR6 CHREF7 BLOQR7 POMAR7 CHREF8 BLOQR8 POMAR8 6.5.1 Chave de Referência do Eixo n (CHREFn) MCS Engenharia 6/4/2011 Página 44 de 44 Serviços do PLC Proteo Chave de Sinalização do Ponto de Referência do Eixo Associado. 6.5.2 Bloqueio de Referência do Eixo n (BLOQRn) Define o bloqueio da Referência do Eixo Associado. 6.5.3 Posicionar na Marca de Referência do Eixo n (POMARn) Define o Posicionamento do Eixo Associado em sua marca de referência. 6.5.4 Eixo para Buscar Referência (AXISREF) Determina qual Eixo que irá realizar a Busca de Referência. 6.5.5 Reinicia Serviço de Busca de Referência (RESET) Define o reinicio do serviço de Busca de Referência do Eixo. MCS Engenharia 6/4/2011 Página 45 de 45 Serviços do PLC 6.6 Proteo Estrutura de Status (CNC -> PLC) Sua função é a de informar situações que estão relacionadas ao serviço de busca de captura da posição absoluta dos eixos. Essas posições de memória são fixas. (Ver tabela de endereços) Tamanho da estrutura = 2 Bytes Endereço Tipo Memórias 8e9 B00 B01 B02 B03 B04 B05 B06 B07 Bits16 B08 B09 B10 B11 B12 B13 B14 B15 Nome INIREF STAREF AFCBRF AACBRF AMRBRF ATREEX POSREF PAUSRF STOPRF FALHRF REFOKF EMERRF Descrição Serviço de Referência Iniciado Esperando START para a Referência do Eixo Aguardando fechar Chave de Busca de Referência do Eixo Aguardando abrir chave de Busca de Referência do Eixo Aguardando Marca de Referência do Eixo Atualizando Referência do Eixo Posicionando na Referência do Eixo Referência em Pausa - Feed Hold do Eixo Referência Parada – STOP do Eixo Falha na Referência do Eixo Referência do Eixo OK Emergência na Referência do Eixo - 6.6.1 Inicialização para a Referência do Eixo (INIREF) Indica que o serviço de Busca de Referência do Eixo foi Inicializado. 6.6.2 Esperando START para a Referência do Eixo (STARREF) Indica que o serviço está aguardando o comando de início para realizar a Busca de Referência. 6.6.3 Aguardando fechar Chave de Busca de Referência do Eixo (AFCBRF) Indica que o serviço ainda não encontrou a Chave de Referência do Eixo. 6.6.4 Aguardando abrir Chave de Busca de Referência do Eixo (AACBRF) Indica que o serviço encontrou a Chave de Referência e está esperando pela abertura da mesma. 6.6.5 Aguardando Marca de Referência do Eixo (AMRBRF) Indica que a Marca de Referência do Eixo está sendo aguardada. MCS Engenharia 6/4/2011 Página 46 de 46 Serviços do PLC Proteo 6.6.6 Atualizando Referência do Eixo (ATREEX) Indica que está atualizando a Marca de Referência do Eixo. 6.6.7 Posicionando na Referência do Eixo (POSREF) Indica que o Eixo está posicionado em sua Marca de Referência. 6.6.8 Referência em Pausa (PAUSRF) Indica que a Busca de Referência do Eixo está pausada. 6.6.9 Referência Parada (STOPRF) Indica que a Busca de Referência do eixo está parada. 6.6.10 Falha na Referência do Eixo (FALHRF) Indica que houve falha no processo de Busca de Referência do Eixo. 6.6.11 Referência Eixo OK (REFOKF) Indica que o processo de Busca de Referência do Eixo foi finalizado com sucesso. 6.6.12 Emergência na Referência do Eixo (EMERRF) Indica estado de emergência durante Serviço de Busca de Referência do Eixo. MCS Engenharia 6/4/2011 Página 47 de 47 Serviços do PLC 6.7 Proteo Descrição do funcionamento O objetivo deste serviço é garantir o referênciamento dos eixos da máquina em função de posições pré-estabelecidas indicadas por chaves de referência. O processo de Busca de Referência pode ser iniciado de três formas, seja pelo acionamento de um comando externo (botão) seja pela Softkey de Referência que se encontra na tela do monitor do CNC no modo Manual, ou ainda automaticamente ao se inicializar a máquina. Qualquer que seja a forma de inicialização do processo de Busca de Referência o CNC irá realizar uma seqüência de funções que são descritas a seguir. 6.7.1 Busca de Referência com Chave de Fim de Curso Os fins de curso de hardware são chaves ou sensores montados fisicamente nas extremidades de cada eixo para detectar a aproximação do eixo em direção a uma das extremidades físicas da máquina, gerando para o PLC um sinal lógico quando acionado, que deverá interferir no processo de movimento daquele eixo garantindo desta forma a segurança do próprio eixo evitando que o mesmo se danifique ou seja capaz de provocar algum acidente. Para escolher uma das várias marcas de referência existentes em um eixo linear ou rotativo com redução entre o motor e o eixo propriamente dito, o CNC observa uma entrada (física ou lógica) que determina onde se encontra a marca de referência desejada. Esta chave de referência divide o eixo em duas regiões: antes e depois da marca. Ao iniciar o procedimento de busca de referência, o CNC observa o estado da chave e movimenta o eixo no sentido de buscar o estado fechado da chave de referência caso esta esteja aberta, e caso esteja fechada irá buscar o estado aberto. MCS Engenharia 6/4/2011 Página 48 de 48 Serviços do PLC Proteo 6.7.2 Busca de Referência sem Chave de Fim de Curso No caso de eixos rotativos onde uma volta do eixo corresponde a uma volta do transdutor, e onde só existe uma marca de referência por volta e o eixo pode girar indefinidamente para qualquer um dos sentidos, não é necessária a existência de chave de referência externa, pode-se utilizar a própria marca de referência transdutor e para escolher a marca o CNC move o eixo no sentido em que deseja capturá-la até encontrar. 6.8 Fluxograma de funcionamento Sentido de Giro Horário e Anti-Horário é somente uma convenção para identificar sentidos de giros diferentes. MCS Engenharia 6/4/2011 Página 49 de 49 Serviços do PLC 6.9 Proteo Exemplos 6.9.1 Busca de Referência para 1 Eixo Deseja-se referenciar apenas um eixo de uma máquina, para isso precisamos definir no arquivo de definições em quais entradas digitais estarão conectados o sensor de referência do eixo e o botão de START, em seguida devemos escrever o programa de PLC que executará a leitura das entradas digitais e executará a Busca de Referência. Arquivo de definições – REFER1.H ;================================================= ; ARQUIVO DE DEFINIÇÕES PARA BUSCA DE REFERÊNCIA 1 EIXO ;================================================= #DEFINE #DEFINE IREFX START 0.0 0.7 ; Entrada 0 – Sensor de Referencia Eixo X ; Entrada 7 – Botão de START Feito isso vamos escrever o programa de PLC que executará a busca de referência do eixo, a leitura do botão de START e do sensor de referência. Arquivo de Programa – REFER1.S ;================================================= ; PROGRAMA PARA BUSCA DE REFERÊNCIA 1 EIXO ;================================================= #INCLUDE '_MEMPROTE.100' #INCLUDE '_MACROMIN.100' #INCLUDE '_BASDPROT.100' ; Arquivo de Inclusão ; Arquivo de Inclusão ; Arquivo de Inclusão ;----------------------------------------------------------------------------------LN M MINICN CALL RPRICI ; Memória do Modo de Inicialização ; Chama a Rotina de Primeiro Ciclo ;----------------------------------------------------------------------------------; AGUARDA PARTIDA ;----------------------------------------------------------------------------------L EU S == I START M M LIBX1 STARTC ; Leitura da Entrada do Botão de START ; Detecta a Transição do Botão de START ; Liberação do Eixo 1 ; Bit de START para o CNC ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 50 de 50 Serviços do PLC Proteo ;----------------------------------------------------------------------------------; STATUS DAS CHAVES DE SENTIDO DE BUSCA DE REFERÊNCIA ;----------------------------------------------------------------------------------L == I M IREFX REF1 END ; Leitura da Entrada do Sensor de Referência do Eixo X ; Atribui valor a Memória Chave de Referência do Eixo 1 ; Fim da Rotina de Busca de Referência ;================================================= ; ROTINA DE PRIMEIRO CICLO ;================================================= RPRICI: SF M STOPC ; Atribui o valor 1 a Memória de STOP (parada dos eixos) SF L = M KW MW POFPLC 50 POTF ; Passa o Controle do Potenciômetro F para o PLC ; Carrega o Acumulador com o valor 50 ; Atribui o valor de 50% ao Potenciômetro de Avanço ;----------------------------------------------------------------------------------; HABILITA SERVIÇO DE BUSCA DE REFERÊNCIA ;----------------------------------------------------------------------------------SF M HREFEI ; Solicita a Habilitação do Serviço de Busca de Referência ;----------------------------------------------------------------------------------; DEFINE O NÚMERO DO EIXO DA BUSCA DE REFERÊNCIA ;----------------------------------------------------------------------------------L = KW MW 1 NEIXBR ; Eixo 1 na Busca de Referência ; Memória do Número do Eixo da Busca de Referência SF M MINICN ; Encerra primeiro ciclo RET ;----------------------------------------------------------------------------------ENDC ; Fim do Programa ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 51 de 51 Serviços do PLC Proteo 6.9.2 Busca de Referência para 3 Eixos Deseja-se referenciar os eixos 1, 2 e 3 de uma Máquina Fresadora. Para isso precisamos definir no arquivo de definições em quais entradas digitais estão conectados os sensores de referência dos eixos, o botão de START e algumas posições de memória que serão utilizadas pelas rotinas. Arquivo de definições – REFER3.H ;================================================= ; ARQUIVO DE DEFINIÇÕES PARA BUSCA DE REFERÊNCIA 3 EIXOS ;================================================= #DEFINE #DEFINE #DEFINE #DEFINE IREFX IREFY IREFZ START 0.0 0.1 0.2 0.7 ; Entrada 0 – Sensor de Referencia Eixo X ; Entrada 1 – Sensor de Referencia Eixo Y ; Entrada 2 – Sensor de Referencia Eixo Z ; Entrada 7 – Botão de START #DEFINE #DEFINE #DEFINE #DEFINE STMREF MREFER BUSREF TRBSTA 1200.0 ; Indica Status de Máquina Referenciada 1200.1 ; Indica Modo de Busca de Referência 1200.2 ; Indica que está Buscando Referencia 1200.3 ; Indica a Transição do Botão de START #DEFINE #DEFINE INTEXE MCSMMA 1200.6 ; Interrompe a Execução da Busca de Referência 1200.7 ; Cancela o Serviço de Movimento Manual #DEFINE #DEFINE REFFAS NEIXRE 1202 ; Memória das Fases da Rotina de Busca de Referência 1206 ; Memória do número do Eixo da Busca de Referência Feito isso vamos escrever o programa de PLC que determinará a seqüência de busca de referência dos eixos, a leitura do botão de START e a leitura dos sensores de referência. MCS Engenharia 6/4/2011 Página 52 de 52 Serviços do PLC Proteo Arquivo de Programa – REFER3.S ;================================================= ; PROGRAMA PARA BUSCA DE REFERÊNCIA 3 EIXOS ;================================================= #INCLUDE '_MEMPROTE.100' #INCLUDE '_MACROMIN.100' #INCLUDE '_BASDPROT.100' ; Arquivo de Inclusão ; Arquivo de Inclusão ; Arquivo de Inclusão ;----------------------------------------------------------------------------------LN M MINICN CALL RPRICI ; Memória do Modo de Inicialização ; Chama a Rotina de Primeiro Ciclo ;----------------------------------------------------------------------------------; BUSCA DE REFERÊNCIA ;----------------------------------------------------------------------------------L M MREFER CALL RBREFE ; Memória do Modo de Referência ; Chama a Rotina de Busca de Referência END ; Fim da Busca de Referência ;================================================= ; ROTINA DE PRIMEIRO CICLO ;================================================= RPRICI: SF L = M KB MB MREFER 0 REFFAS ; Habilita a Busca de Referência ; Carrega o Acumulador com o valor 0 ; Atribui valor 0 as Fases da Rotina de Busca de Referência ;----------------------------------------------------------------------------------SF M STOPC ; Atribui o valor 1 a Memória de Stop ;----------------------------------------------------------------------------------SF L = M KW MW POFPLC 50 POTF ; Passa o Controle do Potenciômetro F para o PLC ; Carrega o Acumulador com o valor 50 ; Atribui o valor de 50% ao Potenciômetro de Avanço ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 53 de 53 Serviços do PLC Proteo ;----------------------------------------------------------------------------------SF M MINICN RET ; Encerra a Rotina de Primeiro Ciclo ; Retorno da Rotina ;================================================= ; ROTINA DE BUSCA DE REFERÊNCIA ;================================================= RBREFE: ;----------------------------------------------------------------------------------; STATUS DAS CHAVES DE SENTIDO DE BUSCA DE REFERÊNCIA ;----------------------------------------------------------------------------------L == L == L == I M I M I M IREFX REF1 IREFY REF2 IREFZ REF3 ; Leitura da Entrada do Sensor de Referência do Eixo X ; Atribui valor a Memória Chave de Referência do Eixo 1 ; Leitura da Entrada do Sensor de Referência do Eixo Y ; Atribui valor a Memória Chave de Referência do Eixo 2 ; Leitura da Entrada do Sensor de Referência do Eixo Z ; Atribui valor a Memória Chave de Referência do Eixo 3 ;----------------------------------------------------------------------------------L LZ S MW KB M NEIXBR 1 LIBX1 ; Memória do Número do Eixo da Busca de Referência ; Verifica se o Eixo para a Busca de Referência é o 1 ; Libera o Eixo 1 L LZ S MW KB M NEIXBR 2 LIBX2 ; Memória do Número do Eixo da Busca de Referência ; Verifica se o Eixo para a Busca de Referência é o 2 ; Libera o Eixo 2 L LZ S MW KB M NEIXBR 3 LIBX3 ; Memória do Número do Eixo da Busca de Referência ; Verifica se o Eixo para a Busca de Referência é o ; Libera o Eixo 3 ;================================================= ; MÁQUINA DE ESTADOS ;================================================= L CP JM JZ J MB REFFAS KB 1 JBREF0 JBREF1 JBREF2 MCS Engenharia 6/4/2011 ; Memória das Fases da Rotina de Busca de Referência ; Verifica em qual fase da Busca de Referência se encontra ; Chama Rotina da Fase 0 se a comparação for menor que 1 ; Chama Rotina da Fase 1 se a comparação for igual ; Chama Rotina da Fase 2 se a comparação for maior a 1 Página 54 de 54 Serviços do PLC Proteo ;----------------------------------------------------------------------------------; FASE 0 - DESABILITA SERVIÇOS DE MOVIMENTAÇÃO MANUAL ; - INICIALIZA NÚMERO DE EIXOS REFERENCIADOS ;----------------------------------------------------------------------------------JBREF0: SF M MCSMMA ; Cancela o Serviço de Movimento Manual ;----------------------------------------------------------------------------------; INICIALIZA NÚMERO DE EIXOS REFERENCIADOS ;----------------------------------------------------------------------------------L = KB MB 0 NEIXRE ; Carrega o Acumulador com o valor 0 ; Memória do Número do Eixo da Busca de Referência INC MB REFFAS ; Incrementa a Memória das Fases de Busca de Referência ;----------------------------------------------------------------------------------; FASE 1 - HABILITA SERVIÇO DE BUSCA DE REFERÊNCIA ; - INDICA EIXO A REFERENCIAR CONFORME TABELA ; - AGUARDA PARTIDA ;----------------------------------------------------------------------------------JBREF1: SF M HREFEI ; Solicita Habilitação do Serviço de Busca de Referência ;----------------------------------------------------------------------------------; INDICA O EIXO A REFERENCIAR ;----------------------------------------------------------------------------------L KW 0 L MB NEIXRE = MW MULT2 L KW 2 MULT MW MULT2 = MW MULT1 ADR TABSBR ADD KW 02000H ADD MW MULT1 = MW MULT1 L IM MULT1 = MW NEIXBR ; Carrega o Acumulador com o valor 0 ; Memória do Número do Eixo da Busca de Referência ; Atribui o valor a Memória de Multiplicação 2 ; Carrega o Acumulador com o valor 2 ; Multiplica Acumulador pela Memória de Multiplicação 2 ; Atribui o valor a Memória de Deslocamento ; Carrega Tabela de Ordem de Eixos a Busca de Referência ; Soma o valor a constante 2000H ; Soma com o valor da Memória de Deslocamento ; Atribui o Endereço do Dado ; Endereço do Dado ; Número do eixo para busca de referencia ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 55 de 55 Serviços do PLC L EU O A A RZ Proteo I START M M M BUSREF STAREF HREFEI ; Leitura da Entrada do Botão de START ; Detecta a Transição do Botão de START ; Verifica se já está Buscando Referência ; Verifica o Start para Busca de Referência ; Verifica o Serviço de Busca de Referência dos Eixos ; Retorna caso não ocorram às condições de START ;----------------------------------------------------------------------------------; MEMORIZA PARTIDA ;----------------------------------------------------------------------------------SF SF M M STARTC BUSREF ; Bit de Start para o CNC ; Indica que está Buscando Referência INC MB REFFAS ; Incrementa a Memória das Fases de Busca de Referência RET ; Retorno da Rotina ;----------------------------------------------------------------------------------; FASE 2 - AGUARDA FINAL DA BUSCA DE REFERÊNCIA ; - DESABILITA SERVIÇO DE BUSCA DE REFERÊNCIA ; - INCREMENTA NÚMERO DE EIXOS REFERENCIADOS ;----------------------------------------------------------------------------------JBREF2: ;----------------------------------------------------------------------------------; CANCELA START ;----------------------------------------------------------------------------------LN R M M STAREF STARTC ; Esperando Start para Referência ; Bit de Start para o CNC ;----------------------------------------------------------------------------------; AGUARDA FINAL DA BUSCA DE REFERÊNCIA ;----------------------------------------------------------------------------------L RZ M REFEOK ; Verifica se o Eixo Capturou a Marca de Referência ; Retorna caso não Capturou ;----------------------------------------------------------------------------------; DESABILITA SERVIÇO DE BUSCA DE REFERÊNCIA ;----------------------------------------------------------------------------------RF M MCS Engenharia HREFEI 6/4/2011 ; Desabilita o Serviço de Busca de Referência dos Eixos Página 56 de 56 Serviços do PLC Proteo ;----------------------------------------------------------------------------------; INCREMENTA MEMÓRIA DO NÚMERO DE EIXOS REFERENCIADOS ;----------------------------------------------------------------------------------INC MB NEIXRE ; Memória do número do Eixo da Busca de Referência ;----------------------------------------------------------------------------------; RETORNA PARA PROSSEGUIR SEQÜÊNCIA DE BUSCA REFERÊNCIA DOS EIXOS ;----------------------------------------------------------------------------------L LM L == RNZ MB KB KB MB NEIXRE 3 1 REFFAS ; Memória do Número do Eixo da Busca de Referência ; Compara se o Acumulador é menor que 3 ; Carrega o Acumulador com o valor 1 ; Memória das Fases de Busca de Referência ; Retorna da Rotina para Prosseguir a seqüência ;----------------------------------------------------------------------------------; ENCERROU REFERÊNCIA DE TODOS OS EIXOS, ; INDICA MÁQUINA REFERENCIADA E CANCELA ROTINA ;----------------------------------------------------------------------------------SF M DCALL STMREF RCANBR RET ; Atribui Status Máquina Referenciada ; Chama a Rotina que Cancela Busca de Referência ; Retorno da Rotina ;================================================= ; CANCELA BUSCA DE REFERENCIA ;================================================= RCANBR: LN R M M INTEXE MREFER ; Interrompe a Execução da Busca de Referência ; Desabilita o Modo de Busca de Referência SF M MCSMMA ; Cancela o Serviço de Movimento Manual ;----------------------------------------------------------------------------------; CANCELA AS VARIÁVEIS ;----------------------------------------------------------------------------------RF RF L = M M KB MB BUSREF STARTC 0 REFFAS ; Limpa Indicação de que está Buscando Referencia ; Bit de Start para o CNC ; Carrega o Acumulador com o valor 0 ; Memória das Fases de Busca de Referência RET ; Retorno da Rotina ENDC ; Fim do Programa MCS Engenharia 6/4/2011 Página 57 de 57 Serviços do PLC Proteo ;================================================= ; TABELAS DA SEQUÊNCIA DE EIXOS NA BUSCA DE REFERÊNCIA ;================================================= TABSBR: #DW #DW #DW #DW 1 2 3 0FFFFH MCS Engenharia ; 1 – Primeiro Eixo na Busca de Referência ; 2 – Segundo Eixo na Busca de Referência ; 3 – Terceiro Eixo na Busca de Referência 6/4/2011 Página 58 de 58 Serviços do PLC 7 7.1 Proteo Serviço de Teclado (PROTEO) Descrição geral O serviço de teclado disponibiliza ao PLC o acesso ao hardware de teclado, através de um buffer de memória e um mapa de transição de estados. Através desse recurso é possível ao programa de PLC o reconhecimento tanto dos códigos de varredura das teclas quanto dos códigos de caracteres associados as mesmas. O mapa de transição por sua vez, disponibiliza o código correspondente a varredura de uma tecla durante o ciclo de PLC em que esta é pressionada. 7.2 Tipos de dados Bits16 Int16 Int32 7.3 = Estrutura de bits (B15 a B00 - 2 bytes) = Inteiro de 16 bits (B15 a B00 - 2 bytes) = Inteiro de 32 bits sem sinal (B31 a B00 - 4 bytes) Parâmetros de Configuração Utilizados Não há. 7.4 Parâmetros de PLC Utilizados (P900 – P999) Não há. MCS Engenharia 6/4/2011 Página 59 de 59 Serviços do PLC 7.5 Proteo Estrutura de Dados (PLC -> CNC) Para se utilizar este serviço é necessária uma estrutura de dados onde se atribuem as variáveis de memória comum ou área de transferência valores que possibilitam o acesso ao estado das teclas. Ponteiro base da estrutura (endereço do início da estrutura na área I). = 550 (ver tabela de endereços) Tamanho da estrutura = 44 bytes Endereço Base Base+2 Base+4 Base+6 Base+8 Base+12 Tipo Nome Descrição B00 NEW_KEY Nova Tecla para CNC B01 KEY_FILTER Filtro de Teclas pelo PLC B02 SFK_STATREQ Requisição de um novo estado de Softkey pelo PLC B03 STAT_FILTER Filtro de Estados da Softkey pelo PLC B04 CHG_SFK_MEM Altera Memória das Softkeys B05 B06 B07 Bits16 B08 B09 B10 B11 B12 B13 B14 B15 Int16 KEYCODE Código da Tecla Int16 SFKREQ_H_STT Nova requisição de Status das Softkeys Horizontais Int16 SFKREQ_V_STT Nova requisição de Status das Softkeys Verticais Int32 SFK_DISABLE 32 bits Correspondentes as Softkeys Desabilitadas Int32 SFK_MEMORY 32 bits Correspondentes a Memória das Softkeys 7.5.1 Nova Tecla para CNC (NEW_KEY) Solicita ao CNC o reconhecimento de uma nova tecla passada pelo programa de PLC. 7.5.2 Filtro de Teclas para PLC (KEY_FILTER) Inicia o filtro de Teclas para o programa de PLC caso o bit 13.0 (HALETC) da Habilitação de Serviços esteja habilitado. 7.5.3 Requisição de um novo estado de Softkey pelo PLC (SFK_STATREQ) Requisita ao CNC o reconhecimento de um novo estado da Softkey passada pelo programa de PLC. MCS Engenharia 6/4/2011 Página 60 de 60 Serviços do PLC Proteo 7.5.4 Filtro de estados da Softkey pelo PLC (STAT_FILTER) Inicia o filtro de Softkeys para o programa de PLC caso o bit 13.0 (HALETC) da Habilitação de Serviços esteja habilitado. 7.5.5 Altera memória das Softkeys (CHG_SFK_MEM) Altera o valor da memória referente as Softkeys. 7.5.6 Código de Tecla (KEYCODE) O programa de PLC informa ao CNC o Código da Tecla para reconhecimento. 7.5.7 Nova requisição de Status das Softkeys Horizontais (SFREQ_H_STT) O programa de PLC informa ao CNC o código do estado das Softkeys Horizontais para reconhecimento. 7.5.8 Nova requisição de Status das Softkeys Verticais (SFREQ_V_STT) O programa de PLC informa ao CNC o código do estado das Softkeys Verticais para reconhecimento. 7.5.9 32 bits Correspondentes as Softkeys Desabilitadas (SFK_DISABLE) Mapa de 32 bits correspondente as Softkeys Desabilitadas. 7.5.10 32 bits correspondentes a memória das Softkeys (SFK_MEMORY) Mapa de 32 bits correspondente a memória das Softkeys. MCS Engenharia 6/4/2011 Página 61 de 61 Serviços do PLC 7.6 Proteo Estrutura de Status (CNC -> PLC) Sua função é a de informar situações que estão relacionadas ao estado do Teclado e das Softkeys Verticais e Horizontais do Proteo. Ponteiro base da estrutura (endereço do início da estrutura na área I) = 550 (ver tabela de endereços) Tamanho da estrutura = 44 bytes Endereço Base+16 Base+18 Base+20 Base+22 Base+24 Base+26 Base+28 Base+32 Base+36 Base+40 Base+42 Tipo Nome B00 NEWKEY B01 SFK_STREQ B02 B03 B04 B05 B06 B07 Bits16 B08 B09 B10 B11 B12 B13 B14 B15 Int16 KEYCODE Int16 SFK_REQ_H Int16 SFK_REQ_V Int16 SFK_STT_H Int16 SFK_STT_V Int32 SFK_EN_MSK Int32 SFK_MEM_MASK Int32 SFK_MEM Int16 CURRENT_VK Int16 LAST_VK Descrição Nova Tecla para o PLC Requisição de um Novo Estado de Softkey para PLC Código da Tecla Requisição de um Novo Estado de Softkeys Horizontais Requisição de um Novo Estado de Softkeys Verticais Estado Corrente das Softkeys Horizontais Estado Corrente das Softkeys Verticais 32 bits de Máscara de Enable para Softkeys 32 bits de Máscara de Memória para Softkeys 32 bits de Memória das Softkeys Foco Atual Último Foco 7.6.1 Nova Tecla para o PLC (NEWKEY) Informa ao programa de PLC a existência de uma nova tecla passada pelo CNC. 7.6.2 Requisição de um Novo Estado de Softkey para PLC (SFK_REQ) Informa ao programa de PLC a existência de um novo estado de Softkey passada pelo CNC. MCS Engenharia 6/4/2011 Página 62 de 62 Serviços do PLC Proteo 7.6.3 Código de Tecla (KEYCODE) Informa ao programa de PLC o código da tecla pressionada passada pelo CNC. 7.6.4 Requisição de um Novo Estado de Softkeys Horizontais (SFK_REQ_H) Informa ao programa de PLC o novo estado das Softkeys Horizontais passadas pelo CNC. 7.6.5 Requisição de um Novo Estado de Softkeys Verticais (SFK_REQ_V) Informa ao programa de PLC o novo estado das Softkeys Verticais passadas pelo CNC. 7.6.6 Estado corrente das Softkeys Horizontais (SFK_STT_H) Informa ao programa de PLC o estado atual das Softkeys Horizontais passadas pelo CNC. 7.6.7 Estado corrente das Softkeys Verticais (SFK_STT_V) Informa ao programa de PLC o estado atual das Softkeys Verticais passadas pelo CNC. 7.6.8 Máscara de 32 bits de Habilitação para Softkeys (SFK_EN_MSK) Máscara de 32 bits de Habilitação para Softkeys. 7.6.9 Máscara de 32 bits de Memória para Softkeys (SFK_MEM_MASK) Máscara de 32 bits de Memória para Softkeys. 7.6.10 Memória de 32 bits das Softkeys (SFK_MEM) Informam o estados atuais das Softkeys. MCS Engenharia 6/4/2011 Página 63 de 63 Serviços do PLC 7.7 Proteo Estrutura Básica do Arquivo de Configuração das Softkeys Arquivo de Configuração das Softkeys – Proteo.sfk ;================================================= ; ARQUIVO BÁSICO DE CONFIGURAÇÃO DAS SOFTKEYS ;================================================= [SOFTKEYS] ; Inicio do Arquivo [STATE_MAP] ; Mapa de Estados st_INIT st_V_INIT =0 =0 ; Identificação Inicial (Estados da Linha Horizontal) ; Identificação Inicial (Estados da Linha Vertical) [TEXT] ; Textos Associados [PORTUGUESE] ; Textos em Português tx_NONE ="", [ENGLISH] tx_NONE ; Textos em Inglês = " ", [KEYCODES] ; Códigos das Softkeys key_NONE key_MAN key_Mode_MANUAL [ICONS] icon_SOFT = 0, = 316, = 400, ; Ícones Associados as Softkeys = "icon.gif", [KEYSETS] ; Conjuntos de Softkeys set_INIT key_MAN key_Mode_MANUAL [KEYMODES] ; Ícones Associados as Softkeys “Key_Mode” key_Mode_MANUAL, [PLC_MEMORY] mem_ON0 mem_TG0 MCS Engenharia icon_MAN ; Bits de Memória Associados aos Estados de Softkeys = 0, = 16, 6/4/2011 Página 64 de 64 Serviços do PLC Proteo [PLC_ENABLE] ; Bits de Memória Associados a Habilitação de Softkeys plc_EN0 = 0, [HORIZONTAL_SOFTKEY_TREE] ; Estados da Linha de Softkeys Horizontais [st_INIT] ; Estado Inicial [SK1] \ EMPTY ; Tecla Vazia [END_OF_TREE] ; Fim da Estrutura de Estados das Softkeys Horizontais [VERTICAL_SOFTKEY_TREE] ; Estados da Linha de Softkeys Verticais [st_V_INIT] ; Estado Inicial [SK1]\ EMPTY [END_OF_TREE] MCS Engenharia ; Fim da Estrutura de Estados das Softkeys Verticais 6/4/2011 Página 65 de 65 Serviços do PLC 7.8 Proteo Rótulos Rótulos são utilizados para se definir os textos, os códigos, os ícones, os estados e memórias das teclas, são reconhecidos pelos seus prefixos: tx_ key_ icon_ st_ mem_ plc_ NO_ - Utilizado para textos - Utilizado para códigos de softkeys - Utilizado para arquivos de ícones - Utilizado para requisição de estados - Utilizado para bits da memória reservada de estado da softkey - Utilizado para habilitação da softkey - Utilizado para rótulos especiais (NO_TEXT, NO_ICON or NO_CHANGE) MCS Engenharia 6/4/2011 Página 66 de 66 Serviços do PLC Proteo 7.8.1 Mapa de Estados ( [STATE_MAP] ) Define o mapa de estado das teclas, deve seguir algumas regras básicas que são: 1 - Nome do estado deve iniciar com 'st_'; 2 - O primeiro estado deve obrigatoriamente ser seguido de um número de identificação; 3 - Pode-se atribuir um número de identificação ao estado digitando '= nnn' após o nome do estado; 4 - Estados definidos após outro com número de identificação seguem ordem crescente numérica; 5 - Existem estados para as Softkeys Horizontais e Verticais (parte inferior e lateral direita da tela); 6 - Diferentes estados podem partilhar a mesma identificação; 7 - Numeração independente para estados das softkeys; 7.8.2 Textos Associados ( [TEXT] ) Definem os textos associados a cada tecla, devem seguir algumas regras básicas que são: 1 - Todos os textos devem iniciar com 'tx_'; 2 - Após a diretiva [TEXT] seguem os grupos de textos com os idiomas desejados: [PORTUGUESE], [ENGLISH], [GERMANY], [SPANISH], [FRENCH], [ITALIAN], ...; 3 - O caractere “ | ” indica a mudança de linha no texto. 7.8.3 Códigos das Softkeys ( [KEYCODES] ) Definem os textos associados a cada tecla, devem seguir algumas regras básicas que são: 1 - Todos os códigos devem iniciar com 'key_'; 2 - O primeiro código deve obrigatoriamente ser seguido de um número de identificação; 3 - Códigos seguintes podem ter ou não um número de identificação '= nnnn' após o nome do código; 4 - Códigos definidos após outro código com número de identificação seguem ordem crescente numérica; 5 - Se definido um código para a softkey pertencente ao mapa de código de teclas do CNC, a softkey executa a mesma função desta tecla; 6 - Os códigos acima de 300 são reservados para teclas virtuais; 7 - Os códigos entre 300 e 400 possuem foco associado a elas; 8 - Os códigos 400 a 415 são reservados para teclas virtuais e estão associados aos ícones de modo. 7.8.4 Ícones Associados as Softkeys ( [ICONS] ) Definem os ícones associados a cada tecla e sua única regra é: 1 - Todos os ícones devem iniciar com 'icon_'. MCS Engenharia 6/4/2011 Página 67 de 67 Serviços do PLC Proteo 7.8.5 Conjuntos de Softkeys ( [KEYSETS] ) Definem seqüências de códigos de Softkeys que são enviadas ao CNC ao se pressionar uma Softkey, devem seguir algumas regras básicas que são: 1 - Todos os conjuntos de Softkeys devem iniciar com 'set_'; 2 - Os conjuntos são definidos por Softkeys já definidas anteriormente em [KEYCODES]. 7.8.6 Ícones Associados as Softkeys 'Key_Mode' ( [KEYMODES] ) Definem os ícones que são apresentados no objeto Modo (canto superior esquerdo da tela), deve seguir algumas regras básicas que são: 1 - Todas as associações devem iniciar com 'key_Mode_'; 2 - É limitado a 16 associações. 7.8.7 Bits de Memória de PLC Associados aos Estados de Softkeys ( [PLC_MEMORY] ) Estabelecem bits de memórias do PLC associados ao estado 'SOLTO' ou 'PRESSIONADO' de uma determinada Softkey, somente válidos para Softkeys tipo TOGGLE ou ON/OFF, devem seguir algumas regras básicas que são: 1 - Todos os rótulos devem iniciar com 'mem_'; 2 - São disponíveis 32 bits para definição das memórias de controle de estado 'SOLTO' ou 'PRESSIONADO' de Softkeys tipo ON/OFF ou TOGGLE; 3 - O número que segue '=' corresponde ao bit da memória de controle que vai de 0 a 31; 4 - A memória de controle é um endereço reservado. 7.8.8 Bits de Memória de PLC Associados a Habilitação de Softkeys ( [PLC_ENABLE] ) Estabelecem bits de memórias do PLC associados a habilitação de uma determinada Softkey, devem seguir algumas regras básicas que são: 1 - Todos os rótulos devem iniciar com 'plc_'; 2 - São disponíveis 32 bits para definição das memórias de controle da habilitação de Softkeys; 3 - O número que segue '=' corresponde ao bit da memória de controle que vai de 0 a 31; 4 - A memória de controle é um endereço reservado; 5 - Somente necessário para softkeys com memória de controle de habilitação associada. 7.8.9 Estados da Linha de Softkeys Horizontais ( [HORIZONTAL_SOFTKEY_TREE] ) Estabelecem o início da seqüência de estados de Softkeys Horizontais. 7.8.10 Estados da Linha de Softkeys Verticais ( [VERTICAL_SOFTKEY_TREE] ) Estabelecem o início da seqüência de estados de Softkeys Verticais. MCS Engenharia 6/4/2011 Página 68 de 68 Serviços do PLC Proteo 7.8.11 Estado Inicial ( [st_INIT] ) Define o estado inicial das Softkeys Horizontais. 7.8.12 Estado Inicial ( [st_V_INIT] ) Define o estado inicial das Softkeys Verticais. 7.8.13 Estados Finais das Linhas de Softkeys ( [END_OF_TREE] ) Estabelecem o fim da seqüência de estados das Softkeys Horizontais e Verticais. 7.9 Estrutura de uma Softkey Uma Softkey ativa é formada por uma estrutura que contém diversos campos que podem ser opcionais ou que podem ser omitidos. Esses campos definem seu tipo, texto associado, ícone associado, seu código, seu estado e memórias. [SKn]\ type, text, text2, iconFile, iconFile2, keyCode, nextState, nextXState, plcMemory, plcEnMemory Uma Softkey inativa é formada por uma estrutura vazia. [SKn]\ EMPTY MCS Engenharia 6/4/2011 Página 69 de 69 Serviços do PLC Proteo 7.10 Definições dos Campos de Softkeys 7.10.1 [SKn] Define a posição da Softkey nas Linhas de Softkeys Horizontais ou Verticais, na Linha Horizontal SK1 está associada a Softkey mais a esquerda da tela e SK6 a Softkey mais a direita da tela. As Softkeys SK7, SK8, … SK12 são apresentadas nas mesmas posições das Softkeys SK1, ... SK6 e assim por diante. A principio não há limite para o número de Softkeys associadas a um estado, porém não parece prático estender demasiadamente as Softkeys para um mesmo estado. Na Linha Vertical SK1 está associada a Softkey mais acima do lado direito da tela e SK8 a Softkey mais abaixo da tela, a Softkey SK9 é apresentada na posição da Softkey SK1, a Softkey SK10 é apresentada na posição da Softkey SK2 e assim por diante. A Linha Vertical de Softkeys só permite uma extensão de no máximo 16 Softkeys. 7.10.2 [tipo] Define qual é o tipo da Softkey, que pode ser NORMAL, TOGGLE, ONOFF ou EMPTY. Softkey - NORMAL: apresenta somente 1 texto, 1 ícone e 1 código associado, sem retenção; Softkey - TOGGLE: pode apresentar 2 textos, 2 ícones e 2 códigos associados, sem retenção; Softkey - ONOFF: pode apresentar 2 textos, 2 ícones e 2 códigos associados, com retenção; Softkey - EMPTY: tipo especial; Softkey vazia, inoperante. 7.10.3 [texto] Aponta o texto a ser apresentado na Softkey definido na seção [TEXT], de acordo com o idioma selecionado, e correspondente ao estado solto (OFF) da Softkey. Se não for definido 'texto2', este texto também corresponderá ao estado pressionado (ON) da Softkey. 7.10.4 [texto2] Aponta o texto a ser apresentado na Softkey definido na seção [TEXT], de acordo com o idioma selecionado, e correspondente ao estado pressionado (ON) da Softkey. Este campo é opcional. 7.10.5 [iconFile] Aponta o ícone a ser apresentado na Softkey definido na seção [ICONS], e correspondente ao estado solto (OFF) da Softkey. Se não for definido 'iconFile2', este ícone também será apresentado no estado pressionado (ON) da Softkey. 7.10.6 [iconFile2] Aponta o ícone a ser apresentado na Softkey definido na seção [ICONS], e correspondente ao estado pressionado (ON) da Softkey. Este campo é opcional. MCS Engenharia 6/4/2011 Página 70 de 70 Serviços do PLC Proteo 7.10.7 [nextState] Requisição de um novo estado de Linha de Softkeys, definido na seção [STATE_MAP], de acordo com a árvore de Softkeys Horizontais ou Verticais. Se aplicado o sufixo '+', o estado anterior da arvore é memorizado e pode ser acessado novamente pressionando-se a Softkey 'SETA ESQUERDA' na Linha Horizontal ou 'SETA DUPLA' na Linha Vertical, caso contrário o caminho de volta estará perdido. Este campo é opcional. 7.10.8 [nextXState] Requisição de um novo estado cruzado de Linha de Softkeys, definido na seção [STATE_MAP], a ser aplicado na outra Linha de Softkeys, ou seja, será aplicado na Linha Vertical se o estado a que pertence a Softkey for o Horizontal e vice-versa. Se aplicado o sufixo '+', o estado anterior da arvore é memorizado e pode ser acessado novamente pressionando-se a Softkey 'SETA ESQUERDA' na Linha Horizontal ou 'SETA DUPLA' na Linha Vertical, caso contrário o caminho de volta estará perdido. Este campo é opcional. 7.10.9 [keyCode] Código da Softkey definido em [KEYCODES] que será enviado ao PLC quando a Softkey for pressionada e estiver no estado 'ON'. Normalmente o código é gerado na transição OFF -> ON da Softkey. Se aplicado o sufixo '+', após 'keyCode', o código é gerado na transição ON -> OFF da Softkey. Este campo é opcional. 7.10.10[keyCode2] Código da Softkey definido em [KEYCODES] que será enviado ao PLC quando a Softkey for pressionada e estiver no estado 'ON'. Normalmente o código é gerado na transição OFF -> ON da Softkey. Se aplicado o sufixo '+', após 'keyCode', o código é gerado na transição ON -> OFF da Softkey. Este campo é opcional. 7.10.11[plcMemory] Indica um bit de memória reservada do PLC associado ao estado 'ON' ou 'OFF' da Softkey, é válido somente para Softkeys tipo TOGGLE ou ON/OFF. Sua utilização somente é necessário caso se deseje memorizar o estado da Softkey. Este campo é opcional. 7.10.12[plcEnMemory] Indica um bit de memória reservada do PLC associado a habilitação da Softkey. Sua utilização somente é necessário caso se deseje desabilitar a Softkey. Este campo é opcional. 7.10.13[NO_TEXT] Rótulo especial que indica ausência de texto na Softkey, pode ser usado opcionalmente para não se apresentar o primeiro texto. MCS Engenharia 6/4/2011 Página 71 de 71 Serviços do PLC Proteo 7.10.14[NO_ICON] Rótulo especial que indica ausência de ícone na Softkey, pode ser usado opcionalmente para não se apresentar o primeiro ícone. 7.10.15[NO_CHANGE] Rótulo especial que indica ausência de um novo estado associado a uma Softkey, pode ser usado opcionalmente para não se requisitar novo estado, associado a 'nextState' por exemplo. Tratandose de uma Softkey da Linha Horizontal, pode-se querer associar a ela apenas um novo estado da Linha Vertical, mantendo seu estado da Linha Horizontal. MCS Engenharia 6/4/2011 Página 72 de 72 Serviços do PLC Proteo 7.11 Exemplo Deseja-se mostrar na tela do Proteo os ícones ‘MANUAL.GIF’ e ‘MANIVELA.GIF’ na Softkey (SK1) da árvore de Softkeys Horizontais, sendo que o primeiro ícone aparecerá assim que o Proteo for ligado e o segundo ícone aparecerá no lugar do primeiro no momento em que (SK1) for pressionada, junto com este ícone aparecerão também os ícones ‘XPLUS.GIF’, ‘XMINUS.GIF’, ‘START.GIF’ e ‘STOP.GIF’ na árvore de Softkeys Verticais. As Softkeys referentes aos ícones ‘MANUAL.GIF’, ‘MANIVELA.GIF’, ‘XPLUS.GIF’ e ‘XMINUS.GIF’ são do tipo NORMAL e as Softkeys referentes aos ícones ‘START.GIF’ e ‘STOP.GIF’ são do tipo TOGGLE e ON/OFF. Para isso precisamos definir no arquivo Proteo.sfk os estados das Softkeys, seus textos e ícones e também seus códigos. Arquivo de Configuração de Softkeys – Proteo.sfk ;================================================= ; ARQUIVO BÁSICO DE CONFIGURAÇÃO DE SOFTKEYS ;================================================= [SOFTKEYS] [STATE_MAP] ; Mapa de Estados ; Estados da Linha Horizontal st_INIT st_MAN =0 =4 ; Identificação Inicial ; Estados da Linha Vertical st_V_INIT st_VMAN =0 =2 ; Identificacao Inicial ;----------------------------------------------------------------------------------; Textos Associados ;----------------------------------------------------------------------------------[TEXT] [PORTUGUESE] tx_MAN tx_MANIV tx_START tx_STOP ; Textos em Português = "MANUAL", = "MANIVELA", = "START", = "STOP", ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 73 de 73 Serviços do PLC Proteo ;----------------------------------------------------------------------------------[ENGLISH] ; Textos em Inglês tx_NONE = " ", ;----------------------------------------------------------------------------------; Códigos das Softkeys ;----------------------------------------------------------------------------------[KEYCODES] key_NONE key_MAN key_Mode_MANUAL = 0, = 316, = 400, ;----------------------------------------------------------------------------------; Ícones Associados as Softkeys ;----------------------------------------------------------------------------------[ICONS] icon_MAN icon_XMA icon_XME icon_MANIV icon_START icon_STOP = "MANUAL.GIF", = "XPLUS.GIF", = "XMINUS.GIF", = "MANIVELA.GIF", = "START.GIF", = "STOP.GIF", ;----------------------------------------------------------------------------------; Conjuntos de Softkeys ;----------------------------------------------------------------------------------[KEYSETS] set_INIT key_MAN key_Mode_MANUAL ;----------------------------------------------------------------------------------; Ícones Associados as Softkeys 'key_Mode' ;----------------------------------------------------------------------------------[KEYMODES] key_Mode_MANUAL, icon_MAN ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 74 de 74 Serviços do PLC Proteo ;----------------------------------------------------------------------------------; Bits de Memória Reservada de PLC Associados aos ; estados 'SOLTO' ou 'PRESSIONADO' das Softkeys ;----------------------------------------------------------------------------------[PLC_MEMORY] mem_ON0 mem_TG0 = 0, ; Memória da Softkey ON/OFF = 16, ; Memória da Softkey TOGGLE ;----------------------------------------------------------------------------------; Bits de Memória Reservada de PLC Associados a Habilitação de Softkeys ;----------------------------------------------------------------------------------[PLC_ENABLE] plc_EN0 = 0, ;----------------------------------------------------------------------------------; Estados da Linha de Softkeys Horizontais ;----------------------------------------------------------------------------------[HORIZONTAL_SOFTKEY_TREE] ;----------------------------------------------------------------------------------; Estado Inicial ;----------------------------------------------------------------------------------[st_INIT] [SK1] \ NORMAL,\ tx_MAN,\ icon_MAN,\ st_MAN+,\ st_VMAN+,\ ; Softkey 1 Nível 1 ; Softkey tipo NORMAL ; Texto MANUAL ; Ícone MANUAL ; Próximo Nível de Softkeys Horizontais ; Próximo Nível de Softkeys Verticais [st_MAN] [SK1]\ NORMAL,\ tx_MANIV,\ tx_MANIV,\ icon_MANIV,\ icon_MANIV,\ ; Softkey 1 Nível 2 ; Softkey tipo NORMAL ; Texto 1 MANIVELA ; Texto 2 MANIVELA ; Ícone 1 MANIVELA ; Ícone 2 MANIVELA [END_OF_TREE] MCS Engenharia 6/4/2011 Página 75 de 75 Serviços do PLC Proteo ;----------------------------------------------------------------------------------; Estados da Linha de Softkeys Verticais ;----------------------------------------------------------------------------------[VERTICAL_SOFTKEY_TREE] [st_V_INIT] [SK1]\ EMPTY ; Softkey 1 Nível 1 ; Softkey tipo EMPTY (vazia) [st_VMAN] [SK1]\ NORMAL,\ NO_TEXT,\ icon_XMA ; Softkey 1 Nível 2 ; Softkey tipo NORMAL ; Softkey sem Texto ; Ícone X+ [SK2]\ NORMAL,\ NO_TEXT,\ icon_XME ; Softkey 2 Nível 2 ; Softkey tipo NORMAL ; Softkey sem Texto ; Ícone X- [SK4]\ TOGGLE,\ tx_START,\ tx_STOP,\ icon_START,\ icon_STOP,\ mem_TG0 ; Softkey 4 Nível 2 ; Softkey tipo TOGGLE ; Texto 1 START ; Texto 1 STOP ; Ícone 1 START ; Ícone 2 STOP ; Memória TOGGLE [SK6]\ ONOFF,\ tx_START,\ tx_STOP,\ icon_START,\ icon_STOP,\ mem_ON0 ; Softkey 6 Nível 2 ; Softkey tipo ON/OFF ; Texto 1 START ; Texto 1 STOP ; Ícone 1 START ; Ícone 2 STOP ; Memória ON/OFF [END_OF_TREE] MCS Engenharia 6/4/2011 Página 76 de 76 Serviços do PLC 8 8.1 Proteo Serviço de Teclado PROTEO MINI Descrição geral O serviço de teclado disponibiliza ao PLC o acesso ao hardware de teclado, através de um buffer de memória e um mapa de transição de estados. Através desse recurso é possível ao programa de PLC o reconhecimento tanto dos códigos de varredura das teclas quanto dos códigos de caractere associados as mesmas. O mapa de transição por sua vez, disponibiliza o código correspondente a varredura de uma tecla durante o ciclo de PLC em que esta é pressionada. Os dados acessíveis são: Tecla pressionada: Código da Tecla (*) Tecla pressionada: Código de Varredura Mapa de Estados de Transição (*) De acordo com a implementação 8.2 Tipos de dados Bits16 Int16 Int32 8.3 = Estrutura de bits (B15 a B00 - 2 bytes) = Inteiro de 16 bits (B15 a B00 - 2 bytes) = Inteiro de 32 bits sem sinal (B31 a B00 - 4 bytes) Parâmetros de Configuração Utilizados Não há. 8.4 Parâmetros de PLC Utilizados (P900 – P999) Não há. MCS Engenharia 6/4/2011 Página 77 de 77 Serviços do PLC 8.5 Proteo Estrutura de Dados (PLC -> CNC) Para se utilizar este serviço é necessária uma estrutura de dados onde se atribuem as variáveis de memória comum ou área de transferência valores que possibilitam o acesso ao estado das teclas. Ponteiro base da estrutura (endereço do início da estrutura na área I). = 378 (ver tabela de endereços) Tamanho da estrutura = 22 bytes Endereço Base Tipo Int16 Nome CODE_EXT Base+4 Base+6 B00 B01 B02 B03 B04 B05 CODE B06 B07 Bits16 B08 B09 B10 B11 B12 SHIFT B13 CTRL B14 PRESS/RELEASE B15 PC Int16 Código de tecla PLC -> CNC Int16 Base+8 Int16 Base+10 Int16 Base+12 Int16 Base+14 Int16 Base+16 Int16 Base+18 Int16 Base+20 Int16 Base+2 MCS Engenharia Mapa de Estados Mapa de Estados de Transição 6/4/2011 Descrição Código QxRL Remoto Caractere Correspondente a Tecla Estado Shift Acionado Estado Ctrl Acionado Tecla Pressionada Flag de Leitura do PLC Não Implementado Intersecção de Q0 com as Linhas RL[0..7] Intersecção de Q1 com as Linhas RL[0..7] Intersecção de Q2 com as Linhas RL[0..7] Intersecção de Q3 com as Linhas RL[0..7] Intersecção de Q4 com as Linhas RL[0..7] Intersecção de Q5 com as Linhas RL[0..7] Intersecção de Q6 com as Linhas RL[0..7] Intersecção de Q7 com as Linhas RL[0..7] Intersecção de Q0 com as Linhas RL[0..7] Intersecção de Q1 com as Linhas RL[0..7] Intersecção de Q2 com as Linhas RL[0..7] Intersecção de Q3 com as Linhas RL[0..7] Intersecção de Q4 com as Linhas RL[0..7] Intersecção de Q5 com as Linhas RL[0..7] Intersecção de Q6 com as Linhas RL[0..7] Intersecção de Q7 com as Linhas RL[0..7] Página 78 de 78 Serviços do PLC Proteo 8.5.1 Código QxRL Remoto (CODE_EXT) Código correspondente a intersecção de uma Coluna Qn com uma linha RLm. Pode ser gerado por um terminal externo (quando houver) ou por um teclado local. 8.5.2 Caractere Correspondente a Tecla (CODE) Quando disponível, retorna o código correspondente a tecla pressionada. Os códigos retornados são correspondentes aos das teclas na tabela ASCII padrão, ou aos códigos de tecla ou função da MCS. (conforme implementação) 8.5.3 Estado “Shift” Acionado (SHIFT) Quando ativado, este bit indica o estado “Shift” do teclado. 8.5.4 Estado “Control” Acionado (CTRL) Quando ativado, este bit indica o estado “Control” do teclado. 8.5.5 Tecla Pressionada (PRESS/RELEASE) Havendo um código de tecla presente em CODE, caso o valor neste campo seja 0, indica que a tecla correspondente está sendo pressionada, caso o valor seja 1, indica que a tecla foi liberada. 8.5.6 Flag de Leitura do PLC (PC) Utilizado pelo programa de PLC para sinalizar a leitura do valor da tecla. 8.5.7 Mapa de Estados Região de memória correspondente ao mapa de estado da(s) última(s) tecla(s) pressionada(s). Endereço Base+n Tipo Byte B00 B01 B02 B03 B04 B05 B06 B07 Nome RL0 RL1 RL2 RL3 RL4 RL5 RL6 RL7 Descrição Linha de Retorno RL0 Linha de Retorno RL1 Linha de Retorno RL2 Linha de Retorno RL3 Linha de Retorno RL4 Linha de Retorno RL5 Linha de Retorno RL6 Linha de Retorno RL7 A linha de retorno RLn apresenta valor 1 quando a tecla estiver pressionada e 0 quando estiver solta. A intersecção entre a linha de varredura do teclado e a linha de retorno, é retornada no endereço Base+4 acrescido da coluna Qn, que correspondente a linha de varredura. Obs.: A existência ou não de algumas colunas Qn ou linhas de retorno RLn pode ou não variar de acordo com a implementação da membrana do teclado. (ver a documentação de hardware) MCS Engenharia 6/4/2011 Página 79 de 79 Serviços do PLC Proteo 8.5.8 Mapa de Estados de Transição Região de memória correspondente ao mapa de estados de transição das teclas, tem uma estrutura análoga ao Mapa de Estados, exceto pelo fato de representar apenas uma tecla pressionada e manter o valor da tecla presente na memória apenas pelo tempo de um ciclo de PLC, preenchendo este valor com zero no ciclo seguinte. Funciona tanto com o teclado local quanto com o teclado remoto. MCS Engenharia 6/4/2011 Página 80 de 80 Serviços do PLC 9 9.1 Proteo Serviço Geral S (SPINDLE) Descrição geral O serviço Geral S disponibiliza ao programa de PLC o controle do eixo central da máquina também chamado de Eixo Árvore, definindo o sentido de rotação, velocidades de JOG e as rotações adequadas utilizadas durante o processo de usinagem das peças. 9.2 Tipos de dados Bits16 = Estrutura de bits (B15 a B0 - 2 bytes) = Inteiro de 16 bits (2 bytes) Int16 Int16u = Inteiro de 16 bits sem sinal (2 bytes) 9.3 Parâmetros de Configuração Utilizados Parâmetros Gerais: P052: Valor Máximo Pot S (em %) P053: Potenciômetro S (controlado através do CNC) Parâmetros Referentes aos Eixos: Pn00: Tipo do Eixo Pn03: Tipo de Motor Pn13: Fator de Acoplamento Pn14: Canal Analógico Pn15: Saída Analógica do PLC Pn16: Tipo de Saída Analógica Pn18: Limite Superior % Saída Analógica Pn21: Canal de Entrada do Contador (Encoder) Pn22: Inversão do Sentido de Contagem Pn29: Velocidade no Modo Manual Pn68: Tempo de Aceleração Pn69: Máximo RPM Pn70: Pulsos entre Marcas de Referência Pn71: Pulsos por Volta Pn72: Distância por Volta Pn19: Limite Superior Saída Analógica (somente para Eixo CAN) Pn73: Tipo de Acionamento CAN (somente para Eixo CAN) Onde n é o número do Eixo associado. 9.4 Parâmetros de PLC Utilizados (P900 – P999) Não há. MCS Engenharia 6/4/2011 Página 81 de 81 Serviços do PLC 9.5 Proteo Estrutura de Dados e Comandos (PLC -> CNC) Para se utilizar este serviço é necessária uma estrutura de dados onde se atribuem as variáveis de memória comum ou área de transferência valores que definem as condições gerais para controle do eixo árvore. Ponteiro base da estrutura (endereço do início da estrutura na área I). = 736 (Ver tabela de endereços) Tamanho da estrutura = 14 bytes Endereço Base Base+2 Base+4 Base+6 Tipo Int16 Int16 Int16 Int16 Base+8 Bits16 Nome AXIS JOG_RPM SMAX_GAMA PROG B00 M3 B01 M4 B02 M5 B03 M19 B04 JOG_M3 B05 JOG_M4 B06 Scode B07 AngM19 B08 Smax B09 Vcc B10 EixoVcc B11 Vcc_ON B12 Vcc_OFF B13 Ref B14 B15 Descrição Eixo Associado Velocidade de JOG M3 e M4 Rotação Máxima na Gama Selecionada Valor a ser Programado nas Variáveis de Programa M3 M4 M5 Desliga M3 ou M4 Parada Indexada JOG M3 JOG M4 Programa Scode para M3 e M4 Programa Ângulo para M19 Programa Smax para Corte Constante Programa Velocidade de Corte Constante Programa Eixo do Corte Constante Liga modo de Velocidade de Corte Constante Desliga Modo de Velocidade de Corte Constante Busca Referência Novamente ao Pedir Movimento 9.5.1 Eixo Associado (AXIS) Define o eixo que está associado ao serviço Geral S. 9.5.2 Velocidade de JOG M3 e M4 (JOG_RPM) Define o valor em RPM para os movimentos de JOG M3 e M4. Caso este valor esteja em 0 o valor que será utilizado para o movimento de JOG será o do parâmetro Pn29 (Velocidade no Modo Manual). MCS Engenharia 6/4/2011 Página 82 de 82 Serviços do PLC Proteo 9.5.3 Rotação Máxima na Gama Selecionada (SMAX_GAMA) Define o valor máximo em RPM para a gama selecionada. Caso este valor esteja em 0 o valor que será utilizado é o do parâmetro Pn69 (Máximo RPM). 9.5.4 Valor a ser programado nas variáveis de programa (PROG) De acordo com os bits de comando a seguir essa variável recebe um valor diferente para cada função selecionada. 9.5.5 Bit M3 Liga o movimento do Eixo Árvore no sentido horário. 9.5.6 Bit M4 Liga o movimento do Eixo Árvore no sentido anti-horário. 9.5.7 Bit M5 Desliga o movimento do Eixo Árvore referente aos bits M3 ou M4. 9.5.8 Bit M19 (Parada Indexada) Fecha a malha de controle do Eixo Árvore e pára no ângulo programado através do valor definido em PROG. 9.5.9 JOG_M3 Liga o movimento de JOG M3 e permanece ligado enquanto esse bit estiver em nível lógico 1. 9.5.10 JOG_M4 Liga o movimento de JOG M4 e permanece ligado enquanto esse bit estiver em nível lógico 1. 9.5.11 Programa Scode Define o valor em RPM do Eixo Árvore para as funções M3 e M4 através do valor definido em PROG. 9.5.12 Programa Ângulo (AngM19) Define o ângulo em Graus para a função M19 através do valor definido em PROG. 9.5.13 Programa Smax (Smax) Programa o valor máximo de velocidade em RPM do Eixo Árvore através do valor definido em PROG. MCS Engenharia 6/4/2011 Página 83 de 83 Serviços do PLC Proteo 9.5.14 Programa Velocidade de Corte Constante (Vcc) Programa o valor máximo de velocidade em RPM do Eixo Árvore para Corte Constante através do valor definido em PROG. 9.5.15 Programa Eixo do Corte Constante (EixoVcc) Programa o Eixo Associado ao Corte Constante através do valor definido em PROG. 9.5.16 Liga modo de Velocidade de Corte Constante (Vcc_ON) Liga o Modo de Velocidade de Corte Constante com o valor em RPM definido em PROG. 9.5.17 Desliga modo de Velocidade de Corte Constante (Vcc_OFF) Desliga o Modo de Velocidade de Corte Constante. 9.5.18 Busca de Referência Novamente ao Pedir Movimento (Ref) Ao se pedir o 1º movimento (M3, M4 ou JOG), busca a referência do Eixo automaticamente. Se esse bit estiver em 1 quando um movimento for pedido o Eixo será referenciado novamente. MCS Engenharia 6/4/2011 Página 84 de 84 Serviços do PLC 9.6 Proteo Estrutura de Dados e Comandos (CNC -> PLC) Sua função é a de informar situações que estão relacionadas ao serviço de controle do Eixo Árvore. Ponteiro base da estrutura (endereço do início da estrutura na área I) = 736 (Ver tabela de endereços) Tamanho da estrutura = 14 bytes Endereço Tipo Base+10 Bits16 Base+12 Int16u Nome INIT OPEN REF_ERROR S_ERROR FAIL EMG IN_MOVE IN_WINDOW M19 MOD_VCC B00 B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 S_REAL Descrição Geral S Iniciado Geral S Aberto Erro de Referência no M19 Geral S Inválido ou Igual a 0 Falha no Geral S Emergência no Geral S Geral S em Movimento Geral S Dentro da Janela (no M19) Geral S em M19 Modo de Velocidade Velocidade do Eixo Árvore (Spindle, em RPM) 9.6.1 Geral S Iniciado (INIT) Indica que o serviço Geral S foi inicializado. 9.6.2 Geral S Aberto (OPEN) Indica que o serviço Geral S está em execução. 9.6.3 Erro de Referência no M19 (REF_ERROR) Indica Erro de Referência da Parada Indexada (M19). 9.6.4 Geral S inválido ou igual a 0 (S_ERROR) Indica que o Geral S é inválido ou que seu valor está igual a zero. MCS Engenharia 6/4/2011 Página 85 de 85 Serviços do PLC Proteo 9.6.5 Falha no Geral S (FAIL) Indica que houve Falha no Serviço Geral S. 9.6.6 Emergência no Geral S (EMG) Indica estado de Emergência no Serviço Geral S. 9.6.7 Geral S em movimento (IN_MOVE) Indica que o Eixo está em movimento caso o valor da Saída Analógica seja diferente de 0. 9.6.8 Geral S dentro da Janela (IN_WINDOW) Indica que o Eixo Árvore está dentro da Janela de Posicionamento. 9.6.9 Geral S em M19 (M19) Indica que o Eixo está executando uma parada indexada. 9.6.10 Modo de Velocidade de Corte Constante (MOD_VCC) Indica o modo de Velocidade do Eixo. Se estiver em 0 indica modo de Velocidade Normal, se estiver em 1 indica modo de Velocidade de Corte Constante. 9.6.11 Velocidade do Eixo Árvore (S_REAL) Informa o valor da Velocidade Real do Eixo Árvore. Caso o Eixo possua Encoder o valor da leitura será a própria Velocidade do Eixo. Caso o Eixo não possua Encoder o valor da Velocidade será dado pela fórmula -> Sreal = Sprog * PotS (Considerando-se a Aceleração) MCS Engenharia 6/4/2011 Página 86 de 86 Serviços do PLC 9.7 Proteo Descrição de Funcionamento O objetivo deste serviço é permitir que se controle e obtenha informações dos movimentos de rotação M3 e M4, JOG e Velocidade de Corte Constante do Eixo Árvore através do Programa de PLC. Esses movimentos podem ser executados através de instruções dentro do próprio programa de PLC, Chaves ou Botões Externos ou ainda Softkeys, para isso é necessário definir no arquivo de definições os endereços de memória nos quais estarão armazenados os dados referentes ao Serviço S, solicitar ao CNC através do programa de PLC a habilitação do Serviço Geral S atribuindo-se ao bit 13.6 (HGESPR) da palavra de controle de serviços (I 15) o valor 1, em seguida passar o controle do Potenciômetro de Avanço para o PLC, definir o valor da Velocidade em RPM, o sentido de rotação (horário e anti-horário) e por último liberar o Eixo para o movimento. MCS Engenharia 6/4/2011 Página 87 de 87 Serviços do PLC 9.8 Proteo Exemplo Deseja-se acionar o Eixo Árvore através do Serviço Geral S, para isso precisamos definir no arquivo de definições os endereços de memória nos quais estarão armazenados os dados da Função Geral S, em seguida devemos escrever o programa de PLC que solicitará a habilitação do mesmo e se encarregará de executá-lo. Arquivo de definições - GERALS.H ;================================================= ; ARQUIVO DE DEFINIÇÕES SERVIÇO GERAL S ;================================================= ;----------------------------------------------------------------------------------; Início da Estrutura de Definições do Serviço Geral S #DEFINE EIXSAS 1620 ; Eixo Associado ao Serviço Geral S #DEFINE ROTJOG 1622 ; Rotação de JOG do Eixo #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE SOLM03 SOLM04 SOLM05 SOLM19 JOGM03 JOGM04 1626.0 ; Solicita Movimento no Sentido de Giro M3 1626.1 ; Solicita Movimento no Sentido de Giro M4 1626.2 ; Solicita a Parada do Eixo 1626.3 ; Solicita a Parada Indexada do Eixo 1626.4 ; Solicita JOG no Sentido de Giro M3 1626.5 ; Solicita JOG no Sentido de Giro M4 ; Fim da Estrutura de Definições do Serviço Geral S ;----------------------------------------------------------------------------------Feito isso vamos escrever o programa de PLC que fará com que o Serviço Geral S seja iniciado e executado. Para que este serviço funcione devemos no programa de PLC solicitar ao CNC a habilitação do Serviço Geral S atribuindo-se ao bit 13.6 (HGESPR) da palavra de controle de serviços (I 15) o valor 1. Arquivo de Programa - GERALS.S ;================================================= ; PROGRAMA PARA GERAL S ;================================================= #INCLUDE '_MEMPROTE.100' #INCLUDE '_MACROMIN.100' #INCLUDE '_BASDPROT.100' ; Arquivo de Inclusão ; Arquivo de Inclusão ; Arquivo de Inclusão ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 88 de 88 Serviços do PLC Proteo LN M MINICN CALL RPRICI ; Memória do Modo de Inicialização ; Chama a Rotina de Primeiro Ciclo ;----------------------------------------------------------------------------------; EIXO ÁRVORE ;----------------------------------------------------------------------------------DCALL EIXOAR END ; Chama a Rotina do Eixo Árvore ; Fim da Rotina ;================================================= ; ROTINA DE PRIMEIRO CICLO ;================================================= RPRICI: ;----------------------------------------------------------------------------------; PASSA POTENCIÔMETRO S PARA PLC ;----------------------------------------------------------------------------------SF M POSPLC ; Passa o Controle do Potenciômetro S para o PLC L = KW MW 100 POTS ; Carrega o Acumulador com o valor 100 ; Atribui o valor de 100% ao Potenciômetro de Controle S L = KW MW 1620 BDGERS ; Carrega o Acumulador com o valor 1620 ; Atribui o Endereço da Base de Dados do Serviço Geral S L == KW MW 1 EIXSAS ; Carrega o Acumulador com o valor 1620 ; Associa o Eixo 1 ao Serviço Geral S SF M HGESPR ; Habilita Geral S para Canal Principal SF M MINICN ; Encerra primeiro ciclo RET ; Retorno da Rotina ;================================================= ; ROTINA DO EIXO ÁRVORE ;================================================= EIXOAR: L I 0.0 AN M 0.7 CALL RJOGPL MCS Engenharia 6/4/2011 ; Botão de Função JOG ; Botão de Parada Indexada ; Chama de Rotina de JOG Página 89 de 89 Serviços do PLC Proteo LN I 0.0 AN M 0.7 CALL ROTARV ; Botao de Função JOG ; Botão de Parada Indexada ; Chama a Rotina de Rotação Eixo Árvore L I 0.7 CALL PAINDE ; Botão de Parada Indexada ; Chama a Rotina de Parada Indexada RET ; Retorno da Rotina ;================================================= ; ROTINA DE JOG POR PLC ;================================================= RJOGPL: L = KW MW 300 ROTJOG ; Carrega o Acumulador com o valor 300 ; Valor da Rotação em JOG L == I M 0.1 JOGM03 ; Botão de JOG Sentido M3 ; Botão JOG Sentido M3 pressionado L == I M 0.2 JOGM04 ; Botão de JOG Sentido M4 ; Botão JOG Sentido M4 pressionado L O == M M M JOGM03 JOGM04 LIBX1 ; JOG Sentido M4 ; JOG Sentido M4 ; Liberação do Eixo Árvore em JOG RET ; Retorno da Rotina ;================================================= ; ROTINA DO EIXO ÁRVORE FUNÇÕES M ;================================================= ROTARV: L EU R S I 0.3 M M SOLM04 SOLM03 L EU R S I 0.4 M M SOLM03 SOLM04 MCS Engenharia 6/4/2011 ; Botão de Sentido de Giro M3 ; Detecta a Transição do Botão ; Reseta Sentido de Giro M4 ; Seta Sentido de Giro M3 ; Botão de Sentido de Giro M4 ; Detecta a Transição do Botão ; Reseta Sentido de Giro M3 ; Seta Sentido de Giro M4 Página 90 de 90 Serviços do PLC Proteo L R R == I M M M 0.5 SOLM03 SOLM04 SOLM05 ; Botão de Parada do Eixo S ; Reseta Sentido de Giro M3 ; Reseta Sentido de Giro M4 ; Solicita Parada do Eixo S L O == M M M SOLM03 SOLM04 LIBX1 ; Sentido de Giro M3 ; Sentido de Giro M4 ; Liberação do Eixo Árvore RET ; Retorno da Rotina ;================================================= ; ROTINA DE PARADA INDEXADA ;================================================= PAINDE: SF M LIBX1 ; Liberação do Eixo Árvore L == I M 0.6 SOLM19 ; Botão de Parada Indexada ; Solicita Parada Indexada do Eixo S RET ; Retorno da Rotina ;----------------------------------------------------------------------------------ENDC ; Fim do Programa ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 91 de 91 Serviços do PLC Proteo 10 Serviços de Funções MST 10.1 Descrição geral O serviço de Funções MST permite o controle das Funções auxiliares (M), Funções Spindle (S) e Funções de Troca de Ferramentas (T). Com esta função define-se o número da ferramenta com suas respectivas dimensões em relação a X e Z. 10.2 Tipos de dados Bits16 Int16 = Estrutura de bits (B15 a B0 - 2 bytes) = Inteiro de 16 bits (2 bytes) 10.3 Parâmetros de Configuração Utilizados Não há. 10.4 Parâmetros de PLC Utilizados (P900 – P999) Não há. MCS Engenharia 6/4/2011 Página 92 de 92 Serviços do PLC Proteo 10.5 Estrutura de Dados e Comandos (PLC -> CNC) Ponteiro base da estrutura (endereço do início da estrutura na área I). = 730 (ver tabela de endereços) Tamanho da estrutura = 22 bytes Endereço Base Tipo Bits16 B00 B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 Nome MCODE_OK SPINDLE_OK TOOL_OK Descrição Funções M requisitadas quitadas pelo PLC Função S requisitada quitada pelo PLC Função T requisitada quitada pelo PLC - 10.5.1 Funções M requisitadas já quitadas pelo PLC (MCODE_OK) Indica que o PLC terminou a execução das funções M requisitadas. 10.5.2 Função S requisitada quitada pelo PLC (SPINDLE_OK) Indica que o PLC terminou a execução da função S (Spindle) requisitada. 10.5.3 Função T requisitada quitada pelo PLC (TOOL_OK) Indica que o PLC terminou a execução da função T (Troca de Ferramenta) requisitada. MCS Engenharia 6/4/2011 Página 93 de 93 Serviços do PLC Proteo 10.6 Estrutura de Status (CNC -> PLC) Ponteiro base da estrutura (endereço do início da estrutura na área I) = 730 (ver tabela de endereços) Tamanho da estrutura = 22 bytes Endereço Tipo Base+2 Bits16 Base+4 Base+6 Base+8 Base+10 Base+12 Int16 Int16 Int16 Int16 Int16 Base+14 Int16 Base+16 Base+18 Int16 Int16 B00 B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 Nome ENABLE FAIL MCODE_REQ SPIND_REQ TOOL_REQ MCODE_0 MCODE_1 MCODE_2 MCODE_3 MCODE_BITS_0 MCODE_BITS_1 SCODE TCODE Descrição Serviço Habilitado Falha no Serviço Requisição de Funções M para o PLC Requisição de Função S para o PLC Requisição de Função T para o PLC Matriz para Funções - Miscelânea Auxiliares (M-Functions) Bits decodificados do código M (M_bit_0 a M_bit_15) Bits decodificados do código M (M_bit_16 a M_bit_31) Código S Código T da Ferramenta (posição no trocador) 10.6.1 Serviço Habilitado (ENABLE) Informa que o serviço de Funções MST está habilitado. 10.6.2 Falha no Serviço (FAIL) Informa que houve falha no Serviço de Funções MST. 10.6.3 Requisição de Funções M para o PLC (MCODE_REQ) Requisita ao programa de PLC a execução de uma Função M (Miscelânea). MCS Engenharia 6/4/2011 Página 94 de 94 Serviços do PLC Proteo 10.6.4 Requisição de Função S para o PLC (SPIND_REQ) Requisita ao programa de PLC a execução da Função S (Spindle). 10.6.5 Requisição de Função T para o PLC (TOOL_REQ) Requisita ao programa de PLC a execução da Função T (Troca de Ferramenta). 10.6.6 Matriz para Funções - Miscelânea Auxiliares (MCODE_n) Matriz utilizada para informar o código das Funções Auxiliares M. 10.6.7 Bits decodificados do código M (MCODE_BITS_0 e MCODE_BITS_1) Bits relacionados com o código das Funções Auxiliares M. 10.6.8 Código S (SCODE) Código da Função S (Spindle) passada para o programa de PLC. 10.6.9 Código T (TCODE) Recebe o código da ferramenta (posição no trocador) utilizada na Função T de Troca de Ferramentas. MCS Engenharia 6/4/2011 Página 95 de 95 Serviços do PLC Proteo 10.7 Fluxograma de Funcionamento Função T MCS Engenharia 6/4/2011 Página 96 de 96 Serviços do PLC Proteo 10.8 Descrição de Funcionamento O objetivo deste serviço é permitir que se controle as Funções Auxiliares (M), Funções Spindle (S) e Funções de Troca de Ferramentas (T) através dos bits de requisição de funções MST passados pelo CNC para o Programa de PLC. Quando uma dessas funções for solicitada o Programa de PLC analisa a requisição e decide através da programação feita se aceita ou não a execução da mesma desviando o programa para as rotinas correspondentes. Feito isso o CNC fica no aguardo do sinal de quitação da função através das variáveis de quitação que podem ser atualizadas pelo próprio programa de PLC ou por entradas digitais do CNC onde estão ligados sensores que informam por exemplo o posicionamento da Torre de Ferramentas. MCS Engenharia 6/4/2011 Página 97 de 97 Serviços do PLC Proteo 10.9 Exemplo Deseja-se acionar as funções de troca de ferramentas através do Serviço MST, para isso precisamos definir no arquivo de definições os endereços de memória nos quais estarão armazenados os dados das Funções MST, em seguida devemos escrever o programa de PLC que solicitará a habilitação do Serviço MST e se encarregará de executar o mesmo. Arquivo de definições - MST.H ;================================================= ; ARQUIVO DE DEFINIÇÕES SERVIÇO MST ;================================================= ;----------------------------------------------------------------------------------; Início da Estrutura de definições do serviço de funções auxiliares MST #DEFINE SM4041 2.0 ; Saída Função M40/M41 #DEFINE #DEFINE #DEFINE LIBFM LIBFS LIBFT 1150.1 ; Libera Função M 1150.2 ; Libera Função S 1150.3 ; Libera Função T #DEFINE #DEFINE #DEFINE QUITFM QUITFS QUITFT 1600.0 ; Libera Função M 1600.1 ; Quita Função S 1600.2 ; Quita Função T #DEFINE #DEFINE #DEFINE REQFAM REQFAS REQFAT 1602.2 ; Requisição De Função M 1602.3 ; Requisição De Função S 1602.4 ; Requisição De Função T #DEFINE #DEFINE #DEFINE #DEFINE BCODM0 BCODM1 BCODM2 BCODM3 1604 1606 1608 1610 ; Código Função M ; Código Função M ; Código Função M ; Código Função M ;----------------------------------------------------------------------------------; Fim da Estrutura de definições do serviço de funções auxiliares MST ;================================================= ; PROGRAMA PARA FUNÇÕES MST ;================================================= #INCLUDE '_MEMPROTE.100' #INCLUDE '_MACROMIN.100' #INCLUDE '_BASDPROT.100' ; Arquivo de Inclusão ; Arquivo de Inclusão ; Arquivo de Inclusão ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 98 de 98 Serviços do PLC Proteo LN M MINICN CALL RPRICI ; Memória do Modo de Inicialização ; Chama a Rotina de Primeiro Ciclo ;----------------------------------------------------------------------------------;--- FUNÇÕES M AUXILIARES ;----------------------------------------------------------------------------------L M REQFAM CALL RFMAUX ; Requisição da Função M ; Chama a Rotina de Funções M Auxiliares ;----------------------------------------------------------------------------------;--- QUITA FUNÇÃO M ;----------------------------------------------------------------------------------L == M M LIBFM QUITFM ; Carrega Liberação da Função M ; Quita Função M ;----------------------------------------------------------------------------------;--- QUITA FUNÇÃO S ;----------------------------------------------------------------------------------L O == M M M LIBFS REQFAS QUITFS ; Carrega Liberação da Função S ; Requisição de Função S ; Quita Função S ;----------------------------------------------------------------------------------;--- QUITA FUNÇÃO T ;----------------------------------------------------------------------------------L == M M LIBFT QUITFT END ; Carrega Liberação da Função T ; Quita Função T ; Fim da Rotina ;================================================= ; --- PRIMEIRO CICLO ;================================================= RPRICI: ;----------------------------------------------------------------------------------; Inicio de tabela de funções MST L = KW MW MCS Engenharia 1600 BDSMST 6/4/2011 ; Carrega o Acumulador com o valor 1600 ; Atribui o valor a Base de Dados Funções MST Página 99 de 99 Serviços do PLC Proteo ;----------------------------------------------------------------------------------; Habilita serviço de funções MST SF M HFAUPR ; Habilita Funções Auxiliares Canal Principal ;----------------------------------------------------------------------------------; Encerra primeiro ciclo SF M MINICN RET ; Encerra primeiro ciclo ; Retorno da Rotina ;================================================= ;--- FUNCOES M AUXILIARES SAÍDA M40/M41 ;================================================= RFMAUX: L LZ L OZ L OZ L OZ O L ANZ L ANZ L ANZ L ANZ == MW KW MW KW MW KW MW KW Q MW KW MW KW MW KW MW KW Q L Q EDG S M BCODM0 40 BCODM1 40 BCODM2 40 BCODM3 40 SM4041 BCODM0 41 BCODM1 41 BCODM2 41 BCODM3 41 SM4041 ; Código da Função M0 ; Compara se é igual a 40 ; Código da Função M1 ; Compara se é igual a 40 ; Código da Função M2 ; Compara se é igual a 40 ; Código da Função M3 ; Compara se é igual a 40 ; Compara com a Saída M40/M41 ; Código da Função M0 ; Compara se é igual a 41 ; Código da Função M1 ; Compara se é igual a 41 ; Código da Função M2 ; Compara se é igual a 41 ; Código da Função M3 ; Compara se é igual a 41 ; Energiza a Saída M40/M41 SM4041 ; Carrega o valor da Saída M40/M41 ; Detecta a transição ; Libera função M LIBFM RET ; Retorno da Rotina ;----------------------------------------------------------------------------------ENDC ; Fim do Programa ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 100 de 100 Serviços do PLC Proteo 11 Serviço de Termopar 11.1 Descrição geral O serviço de termopar permite que o programa de PLC faça o controle e obtenha informações a respeito dos módulos de controle de temperatura. Utilizando um sistema de malha fechada PID permitem um controle mais estável e preciso do processo de temperatura. Com este serviço é possível obter informações dos valores de temperatura, porcentagem de potência nas saídas, avisos de termopares abertos, programar os set points, programar os fatores Kp, Ki e Kd da malha de regulação, programar as faixas de temperatura e as potências de desumidificação, além de se obter informações a respeito de quantos canais estão disponíveis por módulo, módulos esses que estão disponíveis nas versões com 3, 5 e 10 canais. 11.2 Tipos de dados Bits16 = Estrutura de bits (B15 a B0 - 2 bytes) Bits48 = Estrutura de bits (B48 a B0 - 6 bytes) Int16u = Inteiro de 16 bits sem sinal (2 bytes) 11.3 Parâmetros de Configuração Utilizados Os endereços dos módulos de controle de temperatura são selecionados através de chaves digitais que definem suas posições tanto nos Slots do RACK quanto numa rede CAN. Através dos parâmetros P006, P007 ... P020 e P021 o Proteo passa a conhecer quais módulos estão definidos com determinado endereço. Para um sistema controlado através de um sistema CAN o código correspondente ao módulo de termopar é 91 (MOD_TEMPERATURA_CAN). 11.4 Parâmetros de PLC Utilizados (P900 – P999) Parâmetros a definir. MCS Engenharia 6/4/2011 Página 101 de 101 Serviços do PLC Proteo 11.5 Estrutura de Dados e Comandos (PLC -> CNC) Ponteiro base da estrutura (endereço do início da estrutura na área I). = 732 (ver tabela de endereços) Tamanho da estrutura = 78 bytes Endereço Base Base+2 Base+4 Base+10 Base+12 Base+14 Base+16 Base+18 Base+20 Base+22 Base+24 Base+26 Base+28 Tipo Int16u Int16u Bits48 Int16u Int16u Int16u Int16u Int16u Int16u Int16u Int16u Int16u Int16u Base+30 Bits16 Nome CUR_CHANN LAST_CHANN EN_OUT OFFSET_USER TEMP_ZONE DESUM_PWR FATOR_KP FATOR_KI FATOR_KD SETPOINT K1 K2 K3 B00 PROG B01 RANGE B02 REFRESH B03 STORE B04 LOAD B05 HABILITA B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 Descrição Canal Atual Endereço do Último Canal (modo range) Habilitações das Saídas Offset de Temperatura do Usuário Zona de Controle de Temperatura Potência de Desumidificação para Canal n Fator Kp para Canal n Fator Ki para Canal n Fator Kd para Canal n Set Point para Canal n Constante K1 de Conversão para Graus Celsius Constante K2 de Conversão para Graus Celsius Constante K3 de Conversão para Graus Celsius Transfere os Dados para o Módulo (WR) Modo Range Atualiza Dados de Status (RD) Salva os Parâmetros no Módulo Carrega os Parâmetros no Módulo Habilita ou Desabilita as Saídas do Módulo 11.5.1 Canal Atual (CUR_CHANN) Define o endereço do canal atual do módulo de controle de temperatura. 11.5.2 Endereço do Último Canal (LAST_CHANN) Define o endereço do último canal (modo range) do módulo de controle de temperatura. MCS Engenharia 6/4/2011 Página 102 de 102 Serviços do PLC Proteo 11.5.3 Habilitações das Saídas (EN_OUT) Definem quais são as saídas dos módulos que serão habilitadas. Corresponde a um bit por saída, onde Out 1 corresponde ao Bit 0, Out 2 corresponde ao Bit 1, ... Out 15 corresponde ao Bit 14, ... e Out 48 corresponde ao Bit 47. A habilitação da saída é definida em nível lógico 1. 11.5.4 Offset de Temperatura do Usuário (OFFSET_USER) Define um valor de Offset de temperatura de acordo com a aplicação do usuário. 11.5.5 Zona de Controle de Temperatura (TEMP_ZONE) Define uma faixa de valor de temperatura de controle próxima ao valor do set point, exemplo: Para um SETPOINT=100 e TEMP_ZONE=20, os valore de controle estarão entre 80 e 120. 11.5.6 Potência de Desumidificação para Canal n (DESUM_PWR) Define o valor da potência de desumidificação para cada Canal. Esse valor é definido em porcentagem de 0 a 100%. 11.5.7 Fatores Kp, Ki e Kd para Canal n (FATOR_Kx) Definem os valores dos fatores Proporcionais, Integrais e Derivativos das malhas de regulação PID. Podem ser definidos fatores independentes, um para cada canal ou fatores para uma determinada faixa de canais. 11.5.8 Set Point para Canal n (SETPOINT) Define o valor do set point de temperatura de cada canal de forma independente. 11.5.9 Constantes Kn de Conversão para Graus Celsius (Kn) Definem os valores das constantes de proporcionalidade utilizadas para a conversão dos valores de tensão medidos nos conversores analógicos digitais para os valores de temperatura utilizados no programa de PLC. Os valores convertidos são dados em Graus Celsius. 11.5.10Transfere os Dados para o Módulo (PROG) Quando seu valor estiver definido em nível lógico 1, transfere os dados referentes ao canal atual para o módulo de controle de temperatura. 11.5.11Modo Range (RANGE) Quando seu valor estiver definido em nível lógico 1, juntamente com PROG, transfere os dados referentes ao canal atual para o módulo de controle, com ordem para copiar estes valores para todos os canais até o último canal (LAST_CHANN). MCS Engenharia 6/4/2011 Página 103 de 103 Serviços do PLC Proteo 11.5.12Atualiza Dados de Status (REFRESH) Quando seu valor estiver definido em nível lógico 1, recolhe dados do módulo referente ao canal atual e os coloca na estrutura de status. Essa função não opera em modo range. 11.5.13Salva os Parâmetros no Módulo (STORE) Quando seu valor estiver definido em nível lógico 1, salva os dados referentes ao canal atual no módulo de controle de temperatura. 11.5.14Carrega os Parâmetros no Módulo (LOAD) Quando seu valor estiver definido em nível lógico 1, carrega os dados referentes ao canal atual no módulo de controle de temperatura. 11.5.15Habilita ou Desabilita as Saídas do Módulo (HABILITA) Quando seu valor estiver definido em nível lógico 1, habilita as saídas do módulo de controle de temperatura, quando seu valor estiver definido em nível lógico 0 desabilita. MCS Engenharia 6/4/2011 Página 104 de 104 Serviços do PLC Proteo 11.6 Estrutura de Status (CNC -> PLC) Ponteiro base da estrutura (endereço do início da estrutura na área I) = 732 (ver tabela de endereços) Tamanho da estrutura = 78 bytes Endereço Base+32 Base+34 Base+40 Base+46 Base+48 Base+50 Base+52 Base+54 Base+56 Base+58 Base+60 Base+62 Base+64 Base+66 Base+68 Base+70 Base+72 Base+74 Tipo Int16u Bits48 Bits48 Int16u Int16u Int16u Int16u Int16u Int16u Int16u Int16u Int16u Int16u Int16u Int32u Int16u Int16u Int16u Base+76 Bits16 Nome CHAN_CNT OPEN_TERM EN_CHANNEL CHANN_N CHANN_N+1 CHANN_N+2 CHANN_N+3 CHANN_N+4 CURR_CHAN PORP_PWR1 PORP_PWR2 PORP_PWR3 PORP_PWR4 PORP_PWR5 DEV_TYPE DEV_NAME HW_VERSION SW_VERSION B00 INIT B01 OPEN B02 FAIL B03 EMERGENCY B04 WAIT B05 READY B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 Descrição Total de Canais Disponíveis Termopar Aberto Habilitações dos Canais 1º. Canal da Faixa de Leitura de Temperaturas 2º. Canal da Faixa de Leitura de Temperaturas 3º. Canal da Faixa de Leitura de Temperaturas 4º. Canal da Faixa de Leitura de Temperaturas 5º. Canal da Faixa de Leitura de Temperaturas Canal Selecionado Atual Porcentagem de Potência de Saída do Canal 1 Porcentagem de Potência de Saída do Canal 2 Porcentagem de Potência de Saída do Canal 3 Porcentagem de Potência de Saída do Canal 4 Porcentagem de Potência de Saída do Canal 5 Tipo de Dispositivo e Descrição de Entradas Nome do Dispositivo Versão do Hardware Versão do Software Serviço Iniciado Serviço Habilitado Falha Estado de Emergência Dados Sendo Atualizados Dados Prontos para Leitura 11.6.1 Total de Canais Disponíveis (CHAN_CNT) Indica a quantidade total de canais que estão disponíveis para o controle de temperatura. MCS Engenharia 6/4/2011 Página 105 de 105 Serviços do PLC Proteo 11.6.2 Termopar Aberto (OPEN_TERM) Indicam quais termopares encontram-se abertos. Corresponde a um bit por canal, onde Bit 0 corresponde ao Termopar do Canal 1, Bit 1 corresponde ao Termopar do Canal 2, ... Bit 14 corresponde ao Termopar do Canal 15, ... e Bit 47 corresponde ao Termopar do Canal 48. A indicação é definida em nível lógico 1. 11.6.3 Habilitações dos Canais (EN_CHANNEL) Informam quais são os canais dos módulos que estão habilitados. Corresponde a um bit por canal, onde Bit 0 corresponde ao Canal 1, Bit 1 corresponde ao Canal 2, ... Bit 14 corresponde ao Canal 15 e Bit 47 corresponde ao Canal 48. A indicação é definida em nível lógico 1. 11.6.4 Canal da Faixa de Leitura de Temperaturas (CHANN_N e CHANN_N+m) Informação retornada pelo módulo de controle de temperatura correspondente ao canal n, e se disponíveis, adicionado dos canais m subseqüentes (ver hardware). 11.6.5 Canal Selecionado Atual (CURR_CHAN) Informa o número do canal selecionado atualmente no controle de temperatura. 11.6.6 Porcentagem de Potência de Saída do Canal n (PORP_PWRn) Informam a porcentagem da potência de controle na saída do canal n. 11.6.7 Tipo de Dispositivo e Descrição de Entradas (DEV_TYPE) Informa qual o tipo de dispositivo selecionado e a descrição de suas entradas. 11.6.8 Nome do Dispositivo (DEV_NAME) Informa o nome do dispositivo selecionado. 11.6.9 Versão do Hardware (HW_VERSION) Informa a versão do hardware do dispositivo selecionado. 11.6.10Versão do Software (SW_VERSION) Informa a versão do software do dispositivo selecionado. 11.6.11Serviço Iniciado (INIT) Informa que o Serviço de Termopar foi iniciado. MCS Engenharia 6/4/2011 Página 106 de 106 Serviços do PLC Proteo 11.6.12Serviço Habilitado (OPEN) Informa que o Serviço de Termopar está habilitado. 11.6.13Falha (FAIL) Informa que houve falha no Serviço de Termopar. 11.6.14Estado de Emergência (EMERGENCY) Informa estado de emergência no Serviço de Termopar. 11.6.15Dados Sendo Atualizados (WAIT) Informa que os dados estão sendo alterados ou que está ocorrendo uma leitura do módulo. 11.6.16Dados prontos para Leitura (READY) Informa que os dados disponíveis na estrutura são válidos e estão prontos para leitura. MCS Engenharia 6/4/2011 Página 107 de 107 Serviços do PLC Proteo 11.7 Descrição de Funcionamento O objetivo deste serviço é permitir que se controle e se obtenha informações a respeito dos módulos de Controle de Temperatura. Para isso é necessário que se defina o endereço do módulo, e que se saiba onde esse módulo está conectado se é ao Slot do Rack do CNC ou através de uma rede de comunicação CAN. Seu controle é feito através das variáveis de setpoints, fatores Kp, Ki e Kd, faixas de temperatura, potências de desumidificação, porcentagem de potência nas saídas e avisos de termopares abertos. MCS Engenharia 6/4/2011 Página 108 de 108 Serviços do PLC Proteo 11.8 Exemplo Deseja-se controlar a temperatura de uma resistência de aquecimento que está conectada ao canal 1 de um módulo de controle de temperatura e que se encontra em uma rede de comunicação CAN, para isso precisamos definir no arquivo de definições os endereços de memória nos quais estarão armazenados as variáveis da estrutura de dados e comandos, as variáveis da estrutura de status e as variáveis e memórias utilizadas pelo programa de PLC. Arquivo de definições - TEMPERATURA.H ;================================================= ; ARQUIVO DE DEFINIÇÕES SERVIÇO DE CONTROLE DE TEMPERATURA ;================================================= ;----------------------------------------------------------------------------------; Início da Estrutura de definições do serviço de Controle de Temperatura #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE ENBATP LASTCH HABSAI OFFSET ZNTEMP POTDES FATPRO FATINT FATDER SETPOI CONSK1 CONSK2 CONSK3 PROGRA RANGE ATUALI STORE LOAD HABILI CHNCNT OPENTE ENCHAN LTEMPE LTEMP2 LTEMP3 LTEMP4 LTEMP5 CURCHN POPWR1 POPWR2 POPWR3 MCS Engenharia 6/4/2011 1600 ; Endereço Base da Estrutura de Temperatura 1602 ; Endereço do Ultimo Canal 1604 ; Habilitação das Saídas 1610 ; Offset de Temperatura 1612 ; Zona de Controle de Temperatura 1614 ; Potência de Desumidificação 1616 ; Fator Proporcional 1618 ; Fator Integral 1620 ; Fator Derivativo 1622 ; Set Point de Temperatura 1624 ; Constante K1 de Conversão 1626 ; Constante K2 de Conversão 1628 ; Constante K3 de Conversão 1630.0 ; Transfere os Dados para o Modulo 1630.1 ; Modo Range 1630.2 ; Atualiza os Dados que vem do Modulo 1630.3 ; Salva os Parâmetros no Modulo 1630.4 ; Carrega os Parâmetros no Modulo 1630.5 ; Habilita Saídas do Modulo 1632 ; Total de Canais Disponíveis 1634 ; Termopar Aberto 1640 ; Habilitações dos Canais 1646 ; Leitura da Temperatura Canal 1 1648 ; Leitura da Temperatura Canal 2 1650 ; Leitura da Temperatura Canal 3 1652 ; Leitura da Temperatura Canal 4 1654 ; Leitura da Temperatura Canal 5 1656 ; Canal Selecionado Atual 1658 ; Porcentagem de Potência Canal 1 1660 ; Porcentagem de Potência Canal 2 1662 ; Porcentagem de Potência Canal 3 Página 109 de 109 Serviços do PLC #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE Proteo POPWR4 POPWR5 DETYPE DENAME VERSHA VERSSO INIT OPEN FAIL EMERG WAIT READY MDISPL TEMPER CNTLOG MATUAL MLIGSA MMODIN MFASTP CNTCOM MEMLOG MESPEC CNTPRG PONLOG 1664 ; Porcentagem de Potência Canal 4 1666 ; Porcentagem de Potência Canal 5 1668 ; Tipo do Dispositivo 1670 ; Nome do Dispositivo 1672 ; Versão do Hardware 1674 ; Versão do Software 1676.0 ; Serviço Iniciado 1676.1 ; Serviço Habilitado 1676.2 ; Falha 1676.3 ; Sinaliza Emergência 1676.4 ; Dados Sendo Atualizados 1676.5 ; Dados Prontos para a Leitura 1900 ; Memória do Display 2500 ; Valor da Temperatura 2600 ; Contador de Log 2610.0 ; Memória da Atualização de Temperatura 2612.0 ; Memória liga saída 2614.0 ; Memória Modo Inicialização 2700 ; Memória das Fases da Rotina de Temperatura 2800 ; Contador de Espera Comunicação 2810.0 ; Memória da Rotina de Log 2810.2 ; Memória de Espera Comunicação 2802 ; Contador de Programação 2900 ; Ponteiro da Tabela de Log ;----------------------------------------------------------------------------------; Fim da Estrutura de definições do serviço de Controle de Temperatura MCS Engenharia 6/4/2011 Página 110 de 110 Serviços do PLC Proteo Agora devemos escrever o programa de PLC que solicitará a habilitação do Serviço de Controle de Temperatura, atribuirá os valores que serão utilizados durante o processo e se encarregará de executar o mesmo. ;================================================= ; PROGRAMA PARA CONTROLE DE TEMPERATURA ;================================================= #INCLUDE '_MACROMIN.100' #INCLUDE '_BASDPLCD.101' #INCLUDE '_TORNOTDC.TCL' ;================================================= ;--- CONTROLE DE TEMPERATURA ;================================================= DCALL BASIPLCD ; Chama a Rotina Básica do PLC ;----------------------------------------------------------------------------------LN M MINICN CALL RPRICI ; Memória do Modo de Inicialização ; Chama a Rotina de Primeiro Ciclo ;----------------------------------------------------------------------------------;--- ENVIA ESTRUTURA E EFETUA A MEDICAO DE TEMPERATURA ;----------------------------------------------------------------------------------DCALL RTEMPE ; Chama a Rotina de Temperatura ;----------------------------------------------------------------------------------;--- ROTINA DE LOG DE TEMPERATURA ;----------------------------------------------------------------------------------LN M MEMLOG CALL RLOG ; Memória da Rotina de Log ; Chama a Rotina de Log de Temperatura L == ; Carrega Temperatura Real ; Memória do display MW MW TEMPER MDISPL ;----------------------------------------------------------------------------------; Textos display temperatura L KW 0 = MW LINHA ADR TXTSET DCALL IMPTXN MCS Engenharia 6/4/2011 ; Carrega o acumulador com o valor 0 ; Atribui o valor a memória LINHA PARA IMPRESSÃO ; Transfere o Texto para Linha 1 ; Chama a Rotina que Imprime Texto Associado Página 111 de 111 Serviços do PLC Proteo L KW 1 = MW LINHA ADR TXTTEM DCALL IMPTXN ; Carrega o acumulador com o valor 1 ; Atribui o valor a memória LINHA PARA IMPRESSÃO ; Transfere o Texto para Linha 2 ; Chama a Rotina que Imprime Texto Associado L KW 2 = MW LINHA ADR TXTPOR DCALL IMPTXN ; Carrega o acumulador com o valor 2 ; Atribui o valor a memória LINHA PARA IMPRESSÃO ; Transfere o Texto para Linha 3 ; Chama a Rotina que Imprime Texto Associado L KW 3 = MW LINHA ADR TXTPOT DCALL IMPTXN ; Carrega o acumulador com o valor 3 ; Atribui o valor a memória LINHA PARA IMPRESSÃO ; Transfere o Texto para Linha 3 ; Chama a Rotina que Imprime Texto Associado ;----------------------------------------------------------------------------------; Imprime valor do set point RF L = M KB MB APRZE5 0 LINHA ; Apresenta Zeros a Esquerda ; Linha 1 ; Número da Linha do Display L = KB MB 15 COLUNA ; Coluna 15 ; Número da Coluna do display L MW = MW L KW = MW L KW DCALL SETPOI NUMER0 0 NUMER2 0300H IMPVAR ; Valor do Set Point ; Número para Conversão ; Valor da Temperatura - HIGH ; Número para Conversão ; Define 3 Inteiros ; Chama a Rotina que Imprime o Valor ;----------------------------------------------------------------------------------; Imprime valor da temperatura RF L = M KB MB APRZE5 1 LINHA ; Apresenta Zeros a Esquerda ; Linha 2 ; Número da Linha do Display L = KB MB 15 COLUNA ; Coluna 15 ; Número da Coluna do Display L MW = MW L KW = MW L KW DCALL TEMPER NUMER0 0 NUMER2 0301H IMPVAR ; Valor da Temperatura ; Número para Conversão ; Valor da Temperatura - HIGH ; Número para Conversão ; Define 3 Inteiros e 1 Fracionário ; Chama a Rotina que Imprime o Valor MCS Engenharia 6/4/2011 Página 112 de 112 Serviços do PLC Proteo ;----------------------------------------------------------------------------------DCALL BASFPLCD ; Chama a Rotina Básica Final do CNC END ; Fim da Rotina ;================================================= ; SUBROTINAS UTILIZADAS NO PROGRAMA ;================================================= ;================================================= ; ROTINA DE PRIMEIRO CICLO ;================================================= RPRICI: L == KW MW ENBATP BDSCTE ; Endereço Base de Temperatura ; Base de Dados Serviço Controle de Temperatura L == KW MW 3750 CNTLOG ; Valor Aproximado de 1 Minuto ; Memória do Contador de 1 Minuto L == KW MW 3000 PONLOG ; Inicio da Tabela ; Grava no Ponteiro da Tabela de Log a Posição de Inicio L == MW MW PONLOG SETPOI ; Mostra o Valor do Set Point ; Display Set Point L = KB MB 0 MFASTP ; Carrega o Acumulador com o valor 0 ; Atribui o valor 0 as Fases da Temperatura L = KW MW 500 CNTCOM ; Carrega o Acumulador com o valor 500 ; Atribui o valor 500 ao contador Comunicacao L = KW MW 100 CNTPR1 ; Carrega o Acumulador com o valor 100 ; Atribui o valor 100 ao contador Programacao L = KW MW 100 CNTPR2 ; Carrega o Acumulador com o valor 100 ; Atribui o valor 100 ao contador Programacao L = KW MW 100 CNTPR3 ; Carrega o Acumulador com o valor 100 ; Atribui o valor 100 ao contador Programacao L = KW MW 100 CNTPR4 ; Carrega o Acumulador com o valor 100 ; Atribui o valor 100 ao contador Programacao MCS Engenharia 6/4/2011 Página 113 de 113 Serviços do PLC Proteo L = KW MW ENBATP BDSCTE ; Endereco Base de Temperatura ; Base de Dados Servico Controle de Temperatura L = KW MW 1 HABSAI ; Habilita canal 1 L = KW MW 200 ZNTEMP ; Zona de Controle L = KW MW 100 POTDES ; Potencia de Desumidificacao L = KW MW 1000 FATPRO ; KP L = KW MW 0 FATINT ; KI L = KW MW 0 FATDER ; KD L = KW MW 250 SETPOI ; Set point L = KW MW 219 CONSK2 ; Constante K2 L = MW MW LTEMPE MDISPL ; Carrega o Acumulador com o Valor Lido ; Atribui a Memória do Display SF M MINICN ; Encerra a Rotina de Primeiro Ciclo RET ; Retorno da Rotina ;================================================= ;--- MODO DE INICIALIZACAO ;================================================= RMODIN: RET ; Retorno da Rotina ;================================================= MCS Engenharia 6/4/2011 Página 114 de 114 Serviços do PLC Proteo ;================================================= ;--- ROTINA DE TEMPERATURA ;================================================= RTEMPE: ;================================================= ; MÁQUINA DE ESTADOS ;================================================= L CP JM JZ MB MFASTP KB 1 JTEMP0 JTEMP1 ; Memória das Fases da Rotina de Temperatura ; Verifica em qual fase da Rotina se encontra ; Chama a Fase 0 se a comparação for menor que 1 ; Chama a Rotina da Fase 1 se a comparação for igual CP JM JZ KB 3 JTEMP2 JTEMP3 ; Verifica em qual fase da Rotina se encontra ; Chama a Fase 2 se a comparação for menor que 3 ; Chama a Rotina da Fase 3 se a comparação for igual CP JM JZ KB 5 JTEMP4 JTEMP5 ; Verifica em qual fase da Rotina se encontra ; Chama a Fase 4 se a comparação for menor que 5 ; Chama a Rotina da Fase 5 se a comparação for igual ;----------------------------------------------------------------------------------; FASE 0 - ESPERA ESTABELECER COMUNICACAO ;----------------------------------------------------------------------------------JTEMP0: L MW CP KW DNZ MW CNTCOM 0 CNTCOM ; Carrega o valor do contador de espera ; Compara se igual a 0 ; Decrementa o valor do contador de espera L LZ MW KW CNTCOM 0 ; Carrega o valor do contador de espera ; Compara se igual a 0 S M HSCTEM ; Habilita servico de controle de temperatura INZ MW MFASTP ; Incrementa a fase de controle de temperatura RET ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 115 de 115 Serviços do PLC Proteo ;----------------------------------------------------------------------------------; FASE 1 - ENVIA ESTRUTURA PARA O MODULO ;----------------------------------------------------------------------------------- JTEMP1: L MW CP KW DNZ MW CNTPR1 0 CNTPR1 ; Carrega o valor do contador de programacao ; Compara se igual a 0 ; Decrementa o valor do contador de programacao L LZ MW KW CNTPR1 0 ; Carrega o valor do contador de programacao ; Compara se igual a 0 S M PROGRA ; Transfere os Dados para o Modulo INZ MW MFASTP ; Incrementa a fase de controle de temperatura RET ;----------------------------------------------------------------------------------; FASE 2 - ENVIA ESTRUTURA PARA O MODULO ;----------------------------------------------------------------------------------- JTEMP2: L MW CP KW DNZ MW CNTPR2 0 CNTPR2 ; Carrega o valor do contador de programacao ; Compara se igual a 0 ; Decrementa o valor do contador de programacao L LZ MW KW CNTPR2 0 ; Carrega o valor do contador de programacao ; Compara se igual a 0 R M PROGRA ; Transfere os Dados para o Modulo INZ MW MFASTP ; Incrementa a fase de controle de temperatura RET ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 116 de 116 Serviços do PLC Proteo ;----------------------------------------------------------------------------------; FASE 3 - HABILITA AS SAIDAS DO MODULO ;----------------------------------------------------------------------------------JTEMP3: L MW CP KW DNZ MW CNTPR3 0 CNTPR3 ; Carrega o valor do contador de programacao ; Compara se igual a 0 ; Decrementa o valor do contador de programacao L LZ MW KW CNTPR3 0 ; Carrega o valor do contador de programacao ; Compara se igual a 0 S M HABILI ; Habilita Bit das Saidas do Modulo INZ MW MFASTP ; Incrementa a fase de controle de temperatura RET ;----------------------------------------------------------------------------------; FASE 4 - HABILITA AS SAIDAS DO MODULO ;----------------------------------------------------------------------------------- JTEMP4: L MW CP KW DNZ MW CNTPR4 0 CNTPR4 ; Carrega o valor do contador de programacao ; Compara se igual a 0 ; Decrementa o valor do contador de programacao L LZ MW KW CNTPR4 0 ; Carrega o valor do contador de programacao ; Compara se igual a 0 R M HABILI ; Desabilita Bit das Saidas do Modulo INZ MW MFASTP ; Incrementa a fase de controle de temperatura RET ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 117 de 117 Serviços do PLC Proteo ;----------------------------------------------------------------------------------; FASE 5 - ATUALIZA A LEITURA DE TEMPERATURA ;----------------------------------------------------------------------------------- JTEMP5: LN == M M MATUAL MATUAL ; Carrega o Complemento da Memória de Atualização ; Atribui o Valor da Memória de Atualização L EU S M MATUAL M ATUALI ; Carrega o Valor da Memória de Atualização ; Detecta Transição da Borda de Subida de MATUAL ; Seta o Bit que Atualiza os Dados que vem do Modulo L ED R M MATUAL M ATUALI ; Carrega o Valor da Memória de Atualização ; Detecta Transição da Borda de Descida de MATUAL ; Reseta o Bit que Atualiza os Dados que vem do Modulo L == MW MW LTEMPE TEMPER ; Carrega o Valor da Memória de Leitura da Temperatura ; Atribui o Valor Lido a Memória da Temperatura RET ; Retorno da Rotina ;----------------------------------------------------------------------------------#INCLUDE #INCLUDE '_BASIPLCD.101' '_BASFPLCD.101' ENDC ; Fim do Programa ;----------------------------------------------------------------------------------; Estrutura da Tabela de Parâmetros ;----------------------------------------------------------------------------------#DEFINE NBYTPA 20 ; Número de Bytes por Parâmetro ;----------------------------------------------------------------------------------; Texto de Controle de Temperatura TXTTEM: #DB 'Temp. Medida' #DB 0 TXTSET: #DB 'Temp. Desejada' #DB 0 MCS Engenharia 6/4/2011 Página 118 de 118 Serviços do PLC Proteo ;================================================= ; TABELA DE ALARMES ;================================================= ; Maximo: 20 caracteres ; ATENCAO: É obrigatório colocar as 20 posições em todos os textos, inclusive os que não estão ; sendo utilizados, pois a rotina que escreve os alarmes calcula o endereço dos textos contando ; que cada texto contém 20 caracteres TABALA: AL1: #DB 1, 'A01:',0 AL2: #DB 2, 'A02:',0 AL3: #DB 3, 'A03:',0 AL4: #DB 4, 'A04:',0 AL5: #DB 5, 'A05:',0 AL6: #DB 6, 'A06:',0 AL7: #DB 7, 'A07:',0 AL8: #DB 8, 'A08:',0 AL9: #DB 9, 'A09:',0 AL10: #DB 10, 'A10:',0 AL11: #DB 11, 'A11:',0 AL12: #DB 12, 'A12:',0 AL13: #DB 13, 'A13:',0 AL14: #DB 14, 'A14:',0 AL15: #DB 15, 'A15:',0 AL16: #DB 16, 'A16:',0 AL17: #DB 17, 'A17:',0 AL18: #DB 18, 'A18:',0 AL19: #DB 19, 'A19:',0 MCS Engenharia 6/4/2011 Página 119 de 119 Serviços do PLC Proteo AL20: #DB 20, 'A20:',0 AL21: #DB 21, 'A21:',0 AL22: #DB 22, 'A22:',0 AL23: #DB 23, 'A23:',0 AL24: #DB 24, 'A24:',0 AL25: #DB 25, 'A25:',0 AL26: #DB 26, 'A26:',0 AL27: #DB 27, 'A27:',0 AL28: #DB 28, 'A28:',0 AL29: #DB 29, 'A29:',0 AL30: #DB 30, 'A30:',0 AL31: #DB 31, 'A31:',0 AL32: #DB 32, 'A32:',0 AL33: #DB 33, 'A33:',0 AL34: #DB 34, 'A34:',0 AL35: #DB 35, 'A35:',0 AL36: #DB 36, 'A36:',0 AL37: #DB 37, 'A37:',0 AL38: #DB 38, 'A38:',0 AL39: #DB 39, 'A39:',0 AL40: #DB 40, 'A40:',0 AL41: #DB 41, 'A41:',0 AL42: #DB 42, 'A42:',0 MCS Engenharia 6/4/2011 Página 120 de 120 Serviços do PLC Proteo AL43: #DB 43, 'A43:',0 AL44: #DB 44, 'A44:',0 AL45: #DB 45, 'A45:',0 AL46: #DB 46, 'A46:',0 AL47: #DB 47, 'A47:',0 #DB 0FFH ;----------------------------------------------------------------------------------; Endereços dos Alarmes ;----------------------------------------------------------------------------------TENALA: #DW AL1 #DW AL2 #DW AL3 #DW AL4 #DW AL5 #DW AL6 #DW AL7 #DW AL8 #DW AL9 #DW AL10 #DW AL11 #DW AL12 #DW AL13 #DW AL14 #DW AL15 #DW AL16 #DW AL17 #DW AL18 #DW AL19 #DW AL20 #DW AL21 #DW AL22 #DW AL23 #DW AL24 #DW AL25 #DW AL26 #DW AL27 #DW AL28 #DW AL29 #DW AL30 MCS Engenharia 6/4/2011 Página 121 de 121 Serviços do PLC #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW Proteo AL31 AL32 AL33 AL34 AL35 AL36 AL37 AL38 AL39 AL40 AL41 AL42 AL43 AL44 AL45 AL46 AL47 ;================================================= ; TABELA DE MENSAGENS ;================================================= ; Maximo: 20 caracteres TABMEN: ;----------------------------------------------------------------------------------; Mensagens 2 a 5 reservadas para rotinas básicas MS1: #DB 1, '',0 MS2: #DB 2, '',0 MS3: #DB 3, '',0 MS4: #DB 4, '',0 MS5: #DB 5, '',0 MS6: #DB 6, '',0 MS7: #DB 7, '',0 MS8: #DB 8, '',0 MS9: #DB 9, '',0 MS10: #DB 10,'',0 MCS Engenharia 6/4/2011 Página 122 de 122 Serviços do PLC Proteo MS11: #DB 11,'',0 MS12: #DB 12,'',0 MS13: #DB 13, '',0 MS14: #DB 14,'',0 MS15: #DB 15,'',0 MS16: #DB 16,'',0 MS17: #DB 17,'',0 MS18: #DB 18,'',0 MS19: #DB 19,'',0 MS20: #DB 20,'',0 MS21: #DB 21,'',0 MS22: #DB 22,'',0 MS23: #DB 23,'',0 MS24: #DB 24,'',0 MS25: #DB 25,'',0 MS26: #DB 26,'',0 MS27: #DB 27, '',0 MS28: #DB 28,'',0 MS29: #DB 29,'',0 MS30: #DB 30,'',0 MS31: #DB 31,'',0 MS32: #DB 32,'',0 MS33: #DB 33,'',0 MCS Engenharia 6/4/2011 Página 123 de 123 Serviços do PLC Proteo MS34: #DB 34,'',0 MS35: #DB 35,'',0 MS36: #DB 36,'',0 MS37: #DB 37,'',0 MS38: #DB 38,'',0 MS39: #DB 39,'',0 MS40: #DB 40,'',0 MS41: #DB 41,'',0 MS42: #DB 42,'',0 MS43: #DB 43,'',0 MS44: #DB 44,'',0 MS45: #DB 45,'',0 MS46: #DB 46,'',0 MS47: #DB 47,'',0 MS48: #DB 48,'',0 MS49: #DB 49,'',0 MS50: #DB 50,'',0 MS51: #DB 51,'',0 MS52: #DB 52,'',0 MS53: #DB 53,'',0 MS54: #DB 54,'',0 MS55: #DB 55,'',0 MS56: #DB 56,'',0 MCS Engenharia 6/4/2011 Página 124 de 124 Serviços do PLC Proteo MS57: #DB 57,'',0 MS58: #DB 58,'',0 MS59: #DB 59,'',0 MS60: #DB 60,'',0 MS61: #DB 61,'',0 MS62: #DB 62,'',0 MS63: #DB 63,'',0 MS64: #DB 64,'',0 #DB 0FFH ;----------------------------------------------------------------------------------; Endereços das Mensagens ;----------------------------------------------------------------------------------TABAVI: #DW MS1 #DW MS2 #DW MS3 #DW MS4 #DW MS5 #DW MS6 #DW MS7 #DW MS8 #DW MS9 #DW MS10 #DW MS11 #DW MS12 #DW MS13 #DW MS14 #DW MS15 #DW MS16 #DW MS17 #DW MS18 #DW MS19 #DW MS20 #DW MS21 #DW MS22 #DW MS23 #DW MS24 #DW MS25 MCS Engenharia 6/4/2011 Página 125 de 125 Serviços do PLC #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW #DW Proteo MS26 MS27 MS28 MS29 MS30 MS31 MS32 MS33 MS34 MS35 MS36 MS37 MS38 MS39 MS40 MS41 MS42 MS43 MS44 MS45 MS46 MS47 MS48 MS49 MS50 MS51 MS52 MS53 MS54 MS55 MS56 MS57 MS58 MS59 MS60 MS61 MS62 MS63 MS64 ;----------------------------------------------------------------------------------; Display Alarmes ;----------------------------------------------------------------------------------TXAL0: #DB ' " ALARMES " ',0 TXAL1: #DB ' " MENSAGENS " ',0 #DW 0 ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 126 de 126 Serviços do PLC Proteo 12 Serviço de Leds do Painel 12.1 Descrição geral O serviço de Leds do Painel permite que o programa de PLC faça o controle dos Leds que estão presentes na membrana do teclado. Quando seu valor estiver definido em nível lógico 1 o Led associado estará ligado e quando seu valor estiver definido em nível lógico 0 o Led associado estará desligado. O número de Leds pode variar de acordo com a implementação da membrana do teclado. 12.2 Tipos de dados Bits16 = Estrutura de bits (B15 a B0 - 2 bytes) 12.3 Parâmetros de Configuração Utilizados Não há. 12.4 Parâmetros de PLC Utilizados (P900 – P999) Não há. MCS Engenharia 6/4/2011 Página 127 de 127 Serviços do PLC Proteo 12.5 Estrutura de Dados e Comandos (PLC -> CNC) Ponteiro base da estrutura (endereço do início da estrutura na área I). = 250 Proteo e 150 Proteo Mini (ver tabela de endereços) Tamanho da estrutura = 2 bytes 12.5.1 Estrutura utilizada no Proteo - Memória I=250 Endereço Base Tipo Bits16 B00 B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 Nome LEDF1 LEDF2 LEDF3 LEDF4 LEDESC Descrição Led da Tecla F1 Led da Tecla F2 Led da Tecla F3 Led da Tecla F4 Led da Tecla Exclamação - 12.5.2 Led da Tecla F1 (LEDF1) Bit correspondente ao Led da Tecla F1. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. 12.5.3 Led da Tecla F2 (LEDF2) Bit correspondente ao Led da Tecla F2. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. 12.5.4 Led da Tecla F3 (LEDF3) Bit correspondente ao Led da Tecla F3. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. 12.5.5 Led da Tecla F4 (LEDF4) Bit correspondente ao Led da Tecla F4. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. MCS Engenharia 6/4/2011 Página 128 de 128 Serviços do PLC Proteo 12.5.6 Led da Tecla de Exclamação (LEDESC) Bit correspondente ao Led da Tecla de Exclamação. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. MCS Engenharia 6/4/2011 Página 129 de 129 Serviços do PLC Proteo 12.5.7 Estrutura utilizada no Proteo Mini - Memória I=150 Endereço Base Tipo Bits16 B00 B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 Nome LEDREL LEDTEO LEDDN LEDPAR LEDPAS LEDPRG LEDEXC LEDMAN LEDSTA LEDY LEDX Descrição Led do Campo de Display Real Led do Campo de Display Teórico Led do Campo de Display N Led Parâmetros Led Passo a Passo Led Programação Led Execução Contínua Led Manual Led da Tecla Start Led da Tecla Y Led da Tecla X - 12.5.8 Led do Campo de Display Real (LEDREL) Bit correspondente ao Led do Campo de Display Real. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. 12.5.9 Led do Campo de Display Teórico (LEDTEO) Bit correspondente ao Led do Campo de Display Teórico. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. 12.5.10Led do Campo de Display N (LEDDN) Bit correspondente ao Led do Campo de Display N. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. 12.5.11Led Parâmetros (LEDPAR) Bit correspondente ao Led de Parâmetros. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. 12.5.12Led Passo a Passo (LEDPAS) Bit correspondente ao Led de Passo a Passo. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. MCS Engenharia 6/4/2011 Página 130 de 130 Serviços do PLC Proteo 12.5.13Led Programação (LEDPRG) Bit correspondente ao Led de Programação. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. 12.5.14Led Execução Contínua (LEDEXC) Bit correspondente ao Led de Execução Contínua. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. 12.5.15Led Manual (LEDMAN) Bit correspondente ao Led de Execução Manual. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. 12.5.16Led da Tecla Start (LEDSTA) Bit correspondente ao Led da Tecla Start. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. 12.5.17Led da Tecla Y (LEDY) Bit correspondente ao Led da Tecla Y. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. 12.5.18Led da Tecla X (LEDX) Bit correspondente ao Led da Tecla X. Quando seu valor estiver definido em nível lógico 1 o Led estará ligado e quando seu valor estiver definido em nível lógico 0 o Led estará desligado. MCS Engenharia 6/4/2011 Página 131 de 131 Serviços do PLC Proteo 12.6 Descrição de Funcionamento O objetivo deste serviço é permitir que se controlem os Leds associados as teclas que estão presentes na membrana do teclado, através de bits de controle. Atribuindo-se a esses bits níveis lógicos 1 e 0 é possível acender ou apagar qualquer um dos Leds da membrana do teclado, exemplo: Para acender os leds de Execução Contínua e Manual da membrana do teclado do Proteo Mini, é preciso atribuir a variável base da estrutura de dados e comandos os seguintes valores binários. Bits Nome Descrição B00 LEDREL Led do Campo de Display Real B01 LEDTEO Led do Campo de Display Teórico B02 LEDDN Led do Campo de Display N B03 LEDPAR Led Parâmetros B04 LEDPAS Led Passo a Passo B05 LEDPRG Led Programação B06 LEDEXC Led Execução Contínua B07 LEDMAN Led Manual B08 LEDSTA Led da Tecla Start B09 LEDY Led da Tecla Y B10 LEDX Led da Tecla X B11 (Led não Montado) B12 (Led não Montado) B13 (Led não Montado) B14 (Led não Montado) B15 (Led não Montado) MCS Engenharia 6/4/2011 Valor do Bit Estado do Led 0 Apagado 0 Apagado 0 Apagado 0 Apagado 0 Apagado 0 Apagado 1 Aceso 1 Aceso 0 Apagado 0 Apagado 0 Apagado 0 0 0 0 0 - Página 132 de 132 Serviços do PLC Proteo 12.7 Exemplo Deseja-se acender os leds 02 e 04 da membrana do teclado do Proteo Mini, para isso precisamos definir no arquivo de definições a estrutura do serviço de leds do painel, em seguida devemos escrever o programa de PLC que executará a rotina responsável pelo controle dos leds. Arquivo de definições – LEDS.H ;================================================= ; ARQUIVO DE DEFINIÇÕES PARA LEDS DO TECLADO ;================================================= #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE LEDREL LEDTEO LEDDN LEDPAR LEDPAS LEDPRG LEDEXC LEDMAN LEDSTA LEDY LEDX 150.0 150.1 150.2 150.3 150.4 150.5 150.6 150.7 151.0 151.1 151.2 ; Led do Campo de Display Real ; Led do Campo de Display Teórico ; Led do Campo de Display N ; Led Parâmetros ; Led Passo a Passo ; Led Programação ; Led Execução Continua ; Led Manual ; Led da Tecla Start ; Led da Tecla Y ; Led da Tecla X Feito isso vamos escrever o programa de PLC que executará a rotina responsável pelo controle dos leds. Em nosso exemplo vamos utilizar entradas digitais onde estarão conectadas chaves que serão utilizadas somente para ilustrar a atribuição do nível lógico 1 ao bit da memória correspondente ao leds de Execução Contínua e Manual. Arquivo de Programa – LEDS.S ;================================================= ; PROGRAMA PARA CONTROLE DOS LEDS DO TECLADO ;================================================= #INCLUDE '_MEMMINI.102' #INCLUDE '_MACROMIN.100' #INCLUDE '_BASDMINI.102' ; Arquivo de Inclusão ; Arquivo de Inclusão ; Arquivo de Inclusão ;----------------------------------------------------------------------------------L == I M 0.0 LEDMAN ; Entrada Digital 0 ; Led Manual L == I M 0.1 LEDEXC ; Entrada Digital 1 ; Led de Execução Contínua END MCS Engenharia ; Fim da Rotina 6/4/2011 Página 133 de 133 Serviços do PLC Proteo ;----------------------------------------------------------------------------------ENDC ; Fim do Programa ;----------------------------------------------------------------------------------- MCS Engenharia 6/4/2011 Página 134 de 134 Serviços do PLC Proteo 13 Serviço do Came dos Eixos – Vínculos Complexos 13.1 Descrição geral O Serviço do Came dos Eixos – Vínculos Complexos define a tabela de vínculos de posição com o Came Real ou o Came Virtual. Através deste serviço, o PLC pode associar até 4 vínculos para cada um dos 8 eixos possíveis. Os dados configuráveis são: Número do Vínculo Complexo Número de Segmentos do Vínculo Comprimento do Segmento do Vínculo 13.2 Tipos de dados Bits16 = Estrutura de bits (B15 a B0 - 2 bytes) Int16 = Inteiro de 16 bits (2 bytes) 13.3 Parâmetros de Configuração Utilizados Não há. Resolução em mm: 1/1000mm, salvo menção em contrário. 13.4 Parâmetros de PLC Utilizados (P900 – P999) Não há. MCS Engenharia 6/4/2011 Página 135 de 135 Serviços do PLC Proteo 13.5 Estrutura de Dados e Comandos (PLC -> CNC) Ponteiro base da estrutura (endereço do início da estrutura na área I). = 766 (ver tabela de endereços) Tamanho da estrutura = 264 bytes Endereço Base Base+2 Base+4 Base+6 ... Base+256 Base+258 Tipo Int16 Int16 Int16 Int16 Int16 Int16 Int16 Base+260 Bits16 Nome NUMCPLX NUNSEGCPX LENSEG_1 LENSEG_2 ... LENSEG_127 LENSEG_128 B00 PROG_VINC B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 Descrição Número de Vínculos Complexos Número de Segmentos de Cada Vínculo Comprimento do Segmento 1 Comprimento do Segmento 2 ... Comprimento do Segmento 127 Comprimento do Segmento 128 Programar Tabela Auxiliar de Vínculos - 13.5.1 Número de Vínculos Complexos (NUMCPLX) Define o Número de Vínculos Complexos. 13.5.2 Número de Segmentos de Cada Vínculo (NUMSEGCPX) Define o Número de Segmentos dos Vínculos Complexos. 13.5.3 Comprimento do Segmento n (LENSEG_n) Comprimento correspondente a distância percorrida pelo eixo para cada segmento de vínculo. 13.5.4 Programar Tabela Auxiliar de Vínculos (PROG_VINC) Programa a Tabela dos Vínculos de Movimento Complexos. MCS Engenharia 6/4/2011 Página 136 de 136 Serviços do PLC Proteo 13.6 Estrutura de Status (CNC -> PLC) Ponteiro base da estrutura (endereço do início da estrutura na área I) = 766 (ver tabela de endereços) Tamanho da estrutura = 264 bytes Endereço Base+262 Tipo B00 B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 Bits16 Nome INIT OPEN FAIL EMG VINC_PROG Descrição Serviço Iniciado Serviço Habilitado Falha Estado de Emergência Vínculo do Eixo Programado - 13.6.1 Serviço Iniciado (INIT) Informa que o serviço do Came dos Eixos – Vínculos Complexos foi iniciado. 13.6.2 Serviço Habilitado (OPEN) Informa que o serviço do Came dos Eixos – Vínculos Complexos está habilitado. 13.6.3 Falha (FAIL) Indica que houve falha no serviço do Came dos Eixos – Vínculos Complexos. 13.6.4 Estado de Emergência (EMG) Indica estado de emergência durante serviço do Came dos Eixos – Vínculos Complexos. 13.6.5 Vínculo do Eixo programado (VINC_PROG) Indica que o vínculo de movimento correspondente ao eixo foi programado. MCS Engenharia 6/4/2011 Página 137 de 137 Serviços do PLC Proteo 13.7 Descrição de Funcionamento O objetivo deste serviço é permitir que se controle o Serviço do Came dos Eixos – Vínculos Complexos definindo-se as tabelas de vínculos de posição com o Came Real ou o Came Virtual. MCS Engenharia 6/4/2011 Página 138 de 138 Serviços do PLC Proteo 13.8 Exemplo MCS Engenharia 6/4/2011 Página 139 de 139 Serviços do PLC Proteo 14 Serviço do Came dos Eixos – Vínculos Normais e Controle 14.1 Descrição geral O serviço do Came dos Eixos – Vínculos Normais e Controle, define a tabela de vínculos de posição com o Came Real ou com o Came Virtual. Através deste serviço, o PLC pode associar até 4 vínculos para cada um dos 8 eixos possíveis, assim como habilitar o acoplamento e desacoplamento do Came dos Eixos ao MCScame (Real ou Virtual). Os dados configuráveis são: Eixo Associado Número de Vínculos do Eixo Sendo que para cada vínculo podem ser definidos: Ângulo Inicial e Final Comprimento do Vínculo Zona de Transição 14.2 Tipos de dados Bits16 = Estrutura de bits (B15 a B0 - 2 bytes) Int16 = Inteiro de 16 bits (2 bytes) Int32 = Inteiro de 32 bits sem sinal (4 bytes) 14.3 Parâmetros de Configuração Utilizados Não há. Resolução dos valores em graus: 1/100 graus, salvo menção em contrário. Resolução em mm: 1/1000mm, salvo menção em contrário. 14.4 Parâmetros de PLC Utilizados (P900 – P999) Não há. 14.5 Endereços dos Eixos Número do eixo Eixo 1 Eixo 2 Eixo 3 Eixo 4 Eixo 5 Eixo 6 Eixo 7 Eixo 8 MCS Engenharia Endereço (I) 768 770 772 774 776 778 780 782 6/4/2011 Página 140 de 140 Serviços do PLC Proteo 14.6 Estrutura de Dados e Comandos (PLC -> CNC) Ponteiro base da estrutura (endereço do início da estrutura na área I). = 768 ... 782 (ver tabela de endereços) Tamanho da estrutura = 80 bytes Endereço Base Base+2 Base+4 Base+6 Base+8 Base+10 Base+12 Base+14 Base+16 Base+18 Base+20 Base+22 Base+24 Base+26 Base+28 Base+30 Base+32 Base+36 Base+38 Base+40 Base+42 Base+44 Base+48 Base+50 Base+52 Base+54 Base+56 Base+60 Base+62 Base+64 Base+66 Base+68 Tipo Int16 Int16 Int16 Int16 Int16 Int16 Int16 Int16 Int16 Int16 Int16 Int16 Int16 Int16 Int16 Int16 Int32 Int16 Int16 Int16 Int16 Int32 Int16 Int16 Int16 Int16 Int32 Int16 Int16 Int16 Int16 Int32 Nome EIXOASS TPMCSCAME OFFSET POSACOP POSDESACOP POSTABAUX_OK NUMFOTO NUMVINC SENTVINC RECUO DELTA_REC SKIP VINCPLX_1 ANG_INI_1 ANG_FIM_1 ZONA_TRANS_1 COMPR_VINC_1 VINCPLX_2 ANG_INI_2 ANG_FIM_2 ZONA_TRANS_2 COMPR_VINC_2 VINCPLX_3 ANG_INI_3 ANG_FIM_3 ZONA_TRANS_3 COMPR_VINC_3 VINCPLX_4 ANG_INI_4 ANG_FIM_4 ZONA_TRANS_4 COMPR_VINC_4 Descrição Eixo Associado Tipo do MCScame Deslocamento entre Came Eixo e MCScame Posição para Acoplar ao MCScame Posição para Desacoplar ao MCScame Posição para Validar Tabela Auxiliar Vínculos Número da Fotocélula Número de Vínculos do Eixo Sentido dos Vínculos (1bit por vínculo) Valor do Recuo (1/10mm) Faixa de Recuo (delta) (1/100 graus) Modo Skip (0=Normal) Vínculo Complexo Associado 1 Ângulo Inicial 1 Ângulo Final 1 Zona de Transição 1 Comprimento do Vínculo 1 (1/1000 mm) Vínculo Complexo Associado 2 Ângulo Inicial 2 Ângulo Final 2 Zona de Transição 2 Comprimento do Vínculo 2 (1/1000 mm) Vínculo Complexo Associado 3 Ângulo Inicial 3 Ângulo Final 3 Zona de Transição 3 Comprimento do Vínculo 3 (1/1000 mm) Vínculo Complexo Associado 4 Ângulo Inicial 4 Ângulo Final 4 Zona de Transição 4 Comprimento do Vínculo 4 (1/1000 mm) Continuação na página seguinte. MCS Engenharia 6/4/2011 Página 141 de 141 Serviços do PLC Base+72 Base+74 Proteo B00 ACOPIME B01 ACOPPOS B02 DESACOPIME B03 DESACOPPOS B04 HABVINC_1 B05 HABVINC_2 B06 HABVINC_3 B07 HABVINC_4 Bits16 B08 VALTAB_VINC1 B09 VALTAB_PVINC B10 VALTAB_POS B11 VALTAB_IME B12 PROGVINC B13 VALTAB_VINC1AUX B14 RECUAR B15 COMP_VINC Int16 RESERVADO Acoplamento Imediato Acoplamento após Posição Desacoplamento Imediato Desacoplamento após Posição Habilita Vínculo 1 Habilita Vínculo 2 Habilita Vínculo 3 Habilita Vínculo 4 Validar Tabela Auxiliar no 1º Vínculo Principal Validar Tabela Auxiliar no Próximo Vínculo Validar Tabela Auxiliar após Posição Validar Tabela Auxiliar Imediatamente Programar Tabelas Auxiliares Validar Tabela Auxiliar no 1º Vínculo Auxiliar Habilita Recuo (1=Recuo; 0=Normal) Programa Vínculo usando Compensação Reservado 14.6.1 Eixo Associado (EIXOASS) Define qual eixo está associado ao Serviço do Came dos Eixos – Vínculos Normais e Controle, este parâmetro pode variar de 1 a 8. 14.6.2 Tipo do MCScame (TPMCSCAME) Seleciona o tipo do MCScame ao qual o Came dos Eixos será referenciado. Came Real definido pelo valor 0 e Came Virtual definido pelo valor 1. 14.6.3 Deslocamento entre Came Eixo e MCScame (OFFSET) Deslocamento entre os ângulos dos eixos do MCScame e Came Eixo. 14.6.4 Posição para Acoplar ao MCScame (POSACOP) Posição do eixo do MCScame onde ocorrerá o acoplamento. 14.6.5 Posição para Desacoplar do MCScame (POSDESACOP) Posição do eixo do MCScame onde ocorrerá o desacoplamento. 14.6.6 Posição para Validar a Tabela Auxiliar de Vínculos (POSTABAUX_OK) Posição do MCScame onde ocorrerá a validação da tabela auxiliar de vínculos. 14.6.7 Número da Fotocélula (NUMFOTO) Determina o número da fotocélula associada ao Came. Quando em 0, configura modo liso. MCS Engenharia 6/4/2011 Página 142 de 142 Serviços do PLC Proteo 14.6.8 Número de Vínculos do Eixo (NUMVINC) Número de vínculos de movimentos associados ao eixo, seu valor pode variar de 1 a 4. 14.6.9 Sentido dos Vínculos (SENTVINC) Determina o sentido do comprimento dos vínculos, sendo um bit para cada vínculo. Se definido o valor 0 o sentido será positivo e se definido o valor 1 o sentido será negativo. 14.6.10Valor do Recuo (RECUO) Valor positivo do recuo programável em 1/10 mm. Quando usado como compensação do vínculo pode assumir valores negativos e positivos. 14.6.11Faixa de Recuo (DELTA_REC) Valor em graus referente ao ângulo da faixa de recuo. 14.6.12Modo Skip (SKIP) Determina o uso do modo Skip se definido o valor 0, se definido o valor 1 determina o uso do modo normal. 14.6.13Vínculo Complexo Associado n (VINCPLX_n) Vínculo de movimento do tipo complexo associado ao eixo. 14.6.14Ângulo Inicial n (ANG_INI_n) Ângulo inicial do vínculo de movimento n, onde n pode variar de 1 a 4. 14.6.15Ângulo Final n (ANG_FIM_n) Ângulo final do vínculo de movimento n, onde n pode variar de 1 a 4. 14.6.16Zona de Transição n (ZONATRANS_n) Zona de transição de velocidades. Valor de 0 a 50% que define a faixa de aceleração e desaceleração para os movimentos vinculados. 14.6.17Comprimento do Vínculo n (COMPR_VINC_n) Distância a ser percorrida pelo eixo durante o movimento vinculado, sua resolução é de 1/1000mm. 14.6.18Acoplamento Imediato (ACOPIME) Determina a captura imediata do ponto de referência para o acoplamento. MCS Engenharia 6/4/2011 Página 143 de 143 Serviços do PLC Proteo 14.6.19Acoplamento após Posição (ACOPPOS) Determina que o acoplamento acontecerá apenas após a detecção da posição informada. 14.6.20Desacoplamento Imediato (DESACOPIME) Determina o desacoplamento imediato do Came. 14.6.21Desacoplamento após Posição (DESACOPPOS) Determina que o desacoplamento somente acontecerá após a detecção da posição de desacoplamento informada. 14.6.22Habilita Vínculo n (HABVINC_n) Habilitação individual dos vínculos. Quando seu valor lógico for definido em nível 1 habilita o vínculo e quando definido em 0 desabilita. 14.6.23Validar Tabela Auxiliar no 1º. Vínculo Principal (VALTAB_VINC1) Validação da tabela de vínculos auxiliares quando o eixo entrar no primeiro vínculo principal. 14.6.24Validar Tabela Auxiliar no Próximo Vínculo (VALTAB_PVINC) Validação da tabela de vínculos auxiliares quando o eixo entrar no próximo vínculo. 14.6.25Validar Tabela Auxiliar após Posição (VALTAB_POS) Validação da tabela auxiliar de vínculos após a detecção da posição informada. 14.6.26Validar Tabela Auxiliar Imediatamente (VALTAB_IME) Validação imediata da tabela auxiliar de vínculos. 14.6.27Programar Tabelas Auxiliares (PROGVINC) Programa tabelas auxiliares de vínculos. 14.6.28Validar Tabela Auxiliar no 1° Vínculo Auxiliar (VALTAB_VINC1AUX) Validação da tabela de vínculos auxiliares quando o eixo entrar no primeiro vínculo auxiliar. 14.6.29Habilita Recuo (RECUAR) Habilitação do recuo. Quando seu valor lógico for definido em nível lógico 1 habilita o recuo e quando definido em 0 desabilita. O valor referente ao recuo é definido na estrutura em Valor do Recuo (RECUO). MCS Engenharia 6/4/2011 Página 144 de 144 Serviços do PLC Proteo 14.6.30Programa Vínculo usando Compensação (COMP_VINC) Executa a programação do vínculo usando a compensação. 14.6.31Reservado (RESERVADO) Bytes reservados para futuras implementações. MCS Engenharia 6/4/2011 Página 145 de 145 Serviços do PLC Proteo 14.7 Estrutura de Status (CNC -> PLC) Ponteiro base da estrutura (endereço do início da estrutura na área I) = 768 ... 782 (ver tabela de endereços) Tamanho da estrutura = 80 bytes Endereço Base+76 Base+78 Tipo Nome Descrição B00 INIT Serviço Iniciado B01 OPEN Serviço Habilitado B02 FAIL Falha B03 EMG Estado de Emergência B04 ACOPLANDO Came do Eixo esperando Posição para Acoplar B05 ACOPLADO Came do Eixo Acoplado B06 DESACOPLANDO Came do Eixo esperando Posição para Desacoplar B07 DESACOPLADO Came do Eixo Desacoplado Bits16 B08 TAB_AUX_OK Tabela Auxiliar Programada B09 TAB_PRI_OK Tabela Principal Programada B10 VINC_1_IN Came dentro do Vínculo 1 B11 VINC_2_IN Came dentro do Vínculo 2 B12 VINC_3_IN Came dentro do Vínculo 3 B13 VINC_4_IN Came dentro do Vínculo 4 B14 RESERVADO Reservado B15 RESERVADO Reservado B00 WAIT_R Aguardando Recuo B01 RECUANDO Recuando B02 RECUOU Recuado B03 WT_COMP_REC Aguardando para compensar Recuo B04 COMP_REC Compensando Recuo B05 B06 B07 Bits16 B08 B09 B10 B11 B12 B13 B14 B15 - 14.7.1 Serviço Iniciado (INIT) Informa que o serviço do Came dos Eixos – Vínculos Normais e Controle foi iniciado. MCS Engenharia 6/4/2011 Página 146 de 146