Manual de PLC – Proteo Mini V1.00 ÍNDICE 1. Introdução........................................................................................................ 5 2. O que é o MCSplc ?......................................................................................... 5 3. Arquitetura Básica do MCSplc........................................................................ 6 3.1 – Estrutura física......................................................................................... 6 4. Funções Básicas do MCSplc Integrado........................................................... 8 5 - Apresentação das funções e conexões dos painéis ...................................... 10 5.1 - Painel Frontal (teclas)............................................................................. 10 5.2 - Painel Traseiro (conexões)..................................................................... 12 6 - Características Elétricas: .............................................................................. 13 6.1 - Fonte de Alimentação: ........................................................................... 13 6.2 - Entradas Digitais : .................................................................................. 14 6.3 - Saídas Digitais e por Relé : .................................................................... 15 6.4 - Entradas Analógicas............................................................................... 16 6.5 - Saídas Analógicas .................................................................................. 17 6.6 - Saídas de Liberação................................................................................ 17 6.7 - Entradas de Leituras de Contagem (Encoders)...................................... 18 6.8 - Porta de Comunicação Serial ................................................................. 19 7 - Outras características ................................................................................... 19 8. Como funciona o MCSplc ? .......................................................................... 20 8.1 – Qual é a linguagem de programação do MCSplc ? ............................... 21 8.2 Memória de trabalho................................................................................. 21 8.3 - Formato geral das instruções.................................................................. 21 8.3.1 - Operações lógicas............................................................................ 21 8.3.2 - Desvios de execução ....................................................................... 21 8.3.3 - Operações diretas ............................................................................ 21 8.4 – Tipos de Operação ................................................................................. 22 Operação com ponto flutuante.................................................................... 23 8.5 – Tipos de Operandos ............................................................................... 24 8.6 - Endereços ou Parâmetros ....................................................................... 24 8.7 – Acumulador (Acc) ................................................................................. 25 8.7.1 – Flags................................................................................................ 25 9. Ponto Flutuante.............................................................................................. 26 10 - Descrição das Instruções do PLC............................................................... 27 10.1 – Operações com BIT ............................................................................. 27 10.1.1 - Carrega acumulador ...................................................................... 27 10.1.2 - Carrega acumulador com status negado........................................ 28 10.1.3 - Operação lógica E ......................................................................... 29 10.1.4 - Operação lógica E NEGADO ....................................................... 30 10.1.5 - Operação lógica OU...................................................................... 31 10.1.6 - Operação lógica OU NEGADO .................................................... 32 10.1.7 - Operação lógica OU EXCLUSIVO .............................................. 33 15/04/2005 1 Manual de PLC – Proteo Mini V1.00 10.1.8 - Operação lógica OU EXCLUSIVO NEGADO ............................ 34 10.1.9 - Atribuição de resultado energizando o acumulador...................... 35 10.1.10 - Atribuição de resultado mantendo status do ACC...................... 36 10.1.11 - Atribuição negada mantendo status do acumulador ................... 37 10.1.12 - SET energizando o acumulador .................................................. 38 10.1.13 - SET sem influência no acumulador ............................................ 39 10.1.14 - SET se lógica negativa ................................................................ 40 10.1.15 - SET FORÇADO sem influência no Acc..................................... 41 10.1.16 - RESET energizando o acumulador ............................................. 42 10.1.17 - RESET sem influência no acumulador ....................................... 43 10.1.18 - RESET se lógica negativa........................................................... 44 10.1.19 - RESET FORÇADO s/ influência no Acc ................................... 45 10.1.20 - Operação lógica E – Abre parêntesis .......................................... 46 10.1.21 - Operação lógica OU – Abre parêntesis....................................... 47 10.1.22 - Operação Fecha parêntesis.......................................................... 48 10.1.23 - Transição da borda de subida...................................................... 48 10.1.24 - Transição da borda de descida .................................................... 48 10.1.25 - Transição de borda ...................................................................... 49 10.2 – Operações com BYTE ou WORD e resultado BIT............................. 50 10.2.1 - Energiza Acumulador se comparação resultar IGUAL ................ 52 10.2.2 - Energiza Acc se comparação resultar DIFERENTE..................... 53 10.2.3 - Energiza Acc se comparação resultar MENOR............................ 54 10.2.4 - Energiza Acc se comparação resultar MAIOR OU IGUAL......... 55 10.2.5 - Operação E (AND) – Compara se IGUAL ................................... 56 10.2.6 - Operação E (AND) – Compara se DIFERENTE.......................... 57 10.2.7 - Operação E (AND) – Compara se MENOR ................................. 58 10.2.8 - Operação E (AND) – Compara se MAIOR OU IGUAL.............. 59 10.2.9 - Operação OU (OR) – Compara se IGUAL................................... 60 10.2.10 - Operação OU (OR) – Compara se DIFERENTE ....................... 61 10.2.11 - Operação OU (OR) – Compara se MENOR............................... 62 10.2.12 - Operação OU (OR) – Compara se MAIOR OU IGUAL............ 63 10.3 – Operações com BYTES e WORDS .................................................... 65 10.3.1 – Carrega Acumulador..................................................................... 65 10.3.2 - Carrega Acc com complemento do conteúdo ............................... 66 10.3.3 - Operação lógica E ......................................................................... 67 10.3.4 - Operação lógica E NEGADO ....................................................... 68 10.3.5 - Operação lógica OU ...................................................................... 69 10.3.6 - Operação lógica OU NEGADA .................................................... 71 10.3.7 - Operação lógica OU EXCLUSIVO .............................................. 72 10.3.8 - Operação lógica OU EXCLUSIVO NEGADO ............................ 73 10.3.9 - Atribuição incondicional de conteúdo .......................................... 74 10.3.10 - Atribuição condicional de conteúdo............................................ 75 10.3.11 - Atribuição condicional de conteúdo............................................ 76 2 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.3.12 - Comparação com memória ou constante .................................... 77 10.3.13 - Rotação à direita do conteúdo do Acc ........................................ 78 10.3.14 - Rotação à esquerda do conteúdo do Acc .................................... 79 10.3.15 - Soma com memória ou constante ............................................... 80 10.3.16 - Subtração com memória ou constante ........................................ 81 10.3.17 - Incremento................................................................................... 82 10.3.18 – Decremento................................................................................. 83 10.3.19 – Multiplicação com memória....................................................... 84 10.3.20 - Divisão com memória ................................................................. 85 10.4 - Operações de Desvio de Execução ...................................................... 86 10.4.1 - Salto incondicional........................................................................ 86 10.4.2 - Salto se operação lógica resultar IGUAL ..................................... 86 10.4.3 - Salto se operação lógica resultar DIFERENTE ............................ 87 10.4.4 - Salto se operação lógica resultar MAIOR OU IGUAL ................ 88 10.4.5 - Salto se operação lógica resultar MENOR ................................... 89 10.4.6 - Salto incondicional para endereço dado em tabela ....................... 90 10.4.7 - Chamada condicional de sub-rotina – NÃO ZERO...................... 90 10.4.8 - Chamada condicional indireta de sub-rotina – NÃO ZERO ........ 90 10.4.9 - Chamada condicional de sub-rotina – ZERO ............................... 91 10.4.10 - Chamada condicional indireta de sub-rotina – ZERO ................ 91 10.4.11 - Chamada incondicional de sub-rotina apontada por tabela ........ 91 10.4.12 - Chamada incondicional indireta apontada por tabela ................. 92 10.4.13 - Chamada incondicional de sub-rotina......................................... 92 10.4.14 - Chamada incondicional indireta de sub-rotina ........................... 92 10.4.15 - Retorno de sub-rotina.................................................................. 93 10.5 Operações com Ponto Flutuante............................................................. 94 10.5.1- Limpa as posições da memória ...................................................... 94 10.5.2 - Copia o conteúdo do Acc para a 1ª posição da pilha .................... 94 10.5.3 - Descarta o conteúdo do Acc e assume o da pilha ......................... 94 10.5.4 - Operação de soma ......................................................................... 94 10.5.5 - Operação de subtração .................................................................. 95 10.5.6 - Operação de multiplicação............................................................ 95 10.5.7 - Operação de divisão ...................................................................... 95 10.5.8 - Número absoluto ........................................................................... 95 10.5.9 - Número negado – inversão de sinal .............................................. 96 10.5.10 - Operação de raiz quadrada.......................................................... 96 10.5.11 - Fórmula de Pitágoras................................................................... 96 10.5.12 - Cálculo do seno ........................................................................... 96 10.5.13 - Cálculo do co-seno...................................................................... 96 10.5.14 - Cálculo da tangente ..................................................................... 97 10.5.15 - Cálculo do arco tangente............................................................. 97 10.5.16 - Potenciação – R1Acc ..................................................................... 97 15/04/2005 3 Manual de PLC – Proteo Mini V1.00 10.5.17 - Inversão – 1/Acc.......................................................................... 97 10.5.18 - Elimina a parte fracionária do Acc.............................................. 97 10.5.19 - Elimina a parte inteira do Acc..................................................... 98 10.5.20 - Constante PI ( à) ......................................................................... 98 10.5.21 - Carrega o Acc com um valor de ponto flutuante ........................ 98 10.5.22 - Atribuição de valor de ponto flutuante ....................................... 98 10.6 - Operações com TIMER........................................................................ 99 10.6.1 - Introdução e definições ................................................................. 99 10.6.2 - Carrega acumulador .................................................................... 102 10.6.3 - Carrega acumulador com status negado...................................... 102 10.6.4 - Operação lógica E – .................................................................... 102 10.6.5 - Operação lógica E NEGADO ..................................................... 102 10.6.6 - Operação lógica OU .................................................................... 103 10.6.7 - Operação lógica OU NEGADO .................................................. 103 10.6.8 – Operação lógica OU EXCLUSIVO............................................ 103 10.6.9 - Operação lógica OU EXCLUSIVO NEGADO .......................... 103 10.6.10 - Atribuição de constante de tempo ao timer............................... 104 10.6.11 - SET timer energizando o acumulador....................................... 104 10.6.12 - SET sem influência no acumulador .......................................... 104 10.6.13 – SET FORÇADO sem influência no acumulador ..................... 104 10.6.14 - RESET energizando o acumulador ........................................... 105 10.6.15 - RESET sem influência no acumulador ..................................... 105 10.6.16 - RESET FORÇADO sem influência no acumulador................. 105 10.7 – Demais Operações ............................................................................. 106 10.7.1 – Energiza o acumulador ............................................................... 106 10.7.2 - Carrega endereço – load ADRESS ............................................. 106 10.6.3 - Instrução TELA........................................................................... 106 10.6.4 - FINAL da execução do PLC ....................................................... 107 11 - Modos....................................................................................................... 108 11.1 - Modo de Inicialização ........................................................................ 108 11.2 - Modo Manual ..................................................................................... 110 11.3 - Modo Automático .............................................................................. 111 11.3.1 – Contagem.................................................................................... 112 11.4 - Modo de Parâmetros........................................................................... 113 4 15/04/2005 Manual de PLC – Proteo Mini V1.00 1. Introdução Os PLCs ou CLPs (Programamble Logic Controlers ou Controle Lógico Programável) têm sido amplamente utilizados na Industria para supervisão e controle de máquinas em processos industriais. Paralelamente aos PLCs, equipamentos de controle de movimento, como o CNC (Comando Numérico Computadorizado) , evoluíram e também foram otimizados para melhorar sua relação custo/beneficio, incorporando funções dos PLCs e até concorrendo com eles em certas aplicações. Nas primeiras automações com CNC era comum a utilização também de um PLC para adaptar o CNC para funções específicas de cada máquina. O CNC estava projetado para uma máquina genérica, por exemplo para executar funções de torno ou para executar funções de um centro de usinagem, enquanto que o PLC cuidava de funções auxiliares como a lubrificação, a troca de ferramenta , o controle de rotação e a refrigeração. Os equipamentos eram interligados via entradas e saídas, utilizando muitos pontos de entrada/saída apenas para esta comunicação. A complexidade das interfaces bem como o custo quase que duplicado dos equipamentos , forçaram o desenvolvimento e a integração de funções de interface em um único equipamento. 2. O que é o MCSplc ? O MCSplc é o PLC integrado da MCS, capaz de executar funções de interface entre o CNC genérico e a máquina em particular cuidando também dos intertravamentos necessários à sua aplicação. O PLC integrado pode obter informações precisas de todo o sistema diretamente do CNC e promover as ações necessárias de forma muito eficaz, minimizando ligações externas e supervisionando todos os procedimentos de comando da máquina. De estrutura modular, permite executar de forma integrada as funções de um controle de movimentos (CNC), de um controlador lógico programável (PLC) . Possui módulos de comando de eixos para servo-motores AC/DC, motores lineares, motores de passo e inversores de freqüência variável. O terminal de operação (IHM = Interface Homem Máquina) permite programar e monitorar o sistema e está disponível nas versões CRT, cristal líquido monocromático ou TFT colorido, com teclado integrado ou destacável. 15/04/2005 5 Manual de PLC – Proteo Mini V1.00 3. Arquitetura Básica do MCSplc 3.1 – Estrutura física O Proteo Mini possui em sua estrutura entradas, saídas, teclas e três linhas de displays além de leds de indicação. O Proteo mini aloja os módulos necessários para controlar a máquina. O conector de entrada permite a conexão aos diversos elementos do processo (sensores , limites de fim de curso, botões de entrada, fotocélula...), de acordo com as necessidades específicas de cada máquina. Existe o conector de saídas de controle de eixos para diversos tipos de motores, atuadores de saída (relês, eletro-válvulas, dispositivos pneumáticos...), o conector de entrada digital permite a leitura de sensores (temperatura, pressão, células de carga....). O Proteo Mini permite, através da comunicação digital CAN, expandir as entradas, saídas, controle de eixos, etc. No Proteo Mini está o “software”, responsável pelas ações de controle, decisões e instruções enviadas aos diversos elementos do “hardware” do CNC. O software comanda o microprocessador e pode ser divido em 3 partes fundamentais : 6 1. O software básico do controle de movimentos (CNC). O CNC executa as funções de comando programadas, dentro dos limites definidos pelo fabricante nos parâmetros de máquina. 2. O software de PLC Integrado ( MCSplc ). O MCSplc é responsável pela interface com a Máquina e pelas regras de operação e supervisão de todo o processo. Aplica as regras de operação e impõe os limites para as ações de comando. O PLC integrado tem acesso à Máquina via um completo mapa de memória, com variáveis atualizadas pelo CNC. 3. A interface Homem–Máquina visualização dos dados do processo. permitindo a programação, operação 15/04/2005 e Manual de PLC – Proteo Mini V1.00 MCSplc integrado (Controlador Lógico Programável) • • • • • • • Controle geral do processo Inicialização dos componentes do sistema Transferência de dados via IHM Comunicação com dispositivos externos (RS232) Configuração e ajuste dos parâmetros do processo Supervisão das operações Intertravamento geral do sistema Software básico ( CNC ) • • • • • • • Comando geral dos dispositivos de entrada / saída do sistema Comando dos Servo-Acionamentos Realimentação de posição : encoder Execução das tarefas de comunicação com IHM e PLC Execução das tarefas de comunicação serial com dispositivos externos Supervisão geral de erros Supervisão geral da execução das tarefas IHM ( Interface Homem – Máquina ) • • • • Displays que se comunicam com o CNC. Apresenta nos displays informações de estado (“status”), dados do processo ,erros e o programa do usuário. Recebe do operador os dados necessários à operação do sistema. Possui um teclado para entrada de dados. Utiliza potenciômetros analógicos para leitura de porcentagem de avanço e rotação. 15/04/2005 7 Manual de PLC – Proteo Mini V1.00 4. Funções Básicas do MCSplc Integrado MCS CNC Básico ENTRADAS LÓGICAS E0 E1 .. E127 SAÍDAS LÓGICAS S0 S1 .. S127 ENTRADAS ANALÓGICAS L0 L1 .. L7 SAÍDAS ANALÓGICAS AN 0 AN 1 .. AN 7 SAÍDAS LIBERAÇÕES LB0 LB1 .. LB7 CANAIS DE CONTAGEM C1 C2 .. C7 AREA DE TRANSFERÊNCIA ( Memória Comum ) MCSplc PLC 1 FIG. 1 O diagrama apresentado na fig. 1 representa a estrutura básica do CNC e do PLC integrado, destacando seus principais blocos funcionais. O bloco principal que leva o nome CNC básico, representa o comando geral do sistema, responsável pelo comando de todos os eixos, atualização dos sinais de entrada e saída nos diversos módulos.. O PLC recebe todas as informações necessárias do CNC básico via área de transferência. Sinais de entrada e de saída são convertidos em bits, bytes e words , sendo tratados virtualmente pelo PLC como imagem na memória comum e efetivados apenas pelo CNC através de sua interface física. 8 15/04/2005 Manual de PLC – Proteo Mini V1.00 O MCSplc é programado pelo integrador do sistema ou pelo fabricante da máquina, que utiliza uma linguagem de lista de instruções lógicas para implementar uma interface entre o CNC genérico e a máquina específica. Podem ser comandados até 2 eixos ou 8 via CAN e processados 8 pontos de entradas e 8 de saídas podendo expandir para 16 pontos de entrada e 16 pontos de saída. O PLC integrado pode acessar e modificar o display , interceptar e tratar teclas, tomar dados do usuário, ler parâmetros de máquina e solicitar ações ao CNC como por exemplo o movimento de eixos. No programa do MCSplc ficam definidas as mensagens de erros, bem como os procedimentos necessários para operação geral do sistema. 15/04/2005 9 Manual de PLC – Proteo Mini V1.00 5 - Apresentação das funções e conexões dos painéis 5.1 - Painel Frontal (teclas) Display utilizado para indicar a cota teórica Display utilizado para indicar a cota real Leds que indicam em que modo está Display utilizado para indicar parâmetro ou número de repetições Tecla utilizada para alternar entre os modos Teclas utilizadas para os movimentos em modo Manual Leds que indicam por exemplo o eixo que está selecionado ou a espera de Start 10 15/04/2005 Manual de PLC – Proteo Mini V1.00 Tabela de teclas: Tecla Modos Utilizada para alternar entre os modos Tecla Clear Utilizada para corrigir uma entrada incorreta de dados Teclas númericas Utilizada na entrada de dados Tecla X Utilizada para selecionar e presetar o eixo X Tecla Enter Utilizada para iniciar e finalizar a entrada de dados Tecla Y Utilizada para selecionar e presetar o eixo Y Tecla No Enter Utilizada para cancelar uma entrada de dados Tecla Start Utilizada para iniciar o processo Tecla Stop Utilizada para pausar ou abortar o processo à 15/04/2005 11 Manual de PLC – Proteo Mini V1.00 5.2 - Painel Traseiro (conexões) Comunicação RS232 2 entradas para Encoders Entrada para comunicação CAN bus Grupo de entradas Alimentação Aplique 24V Liberações e saídas analógicas Aplique 0V Grupo de saídas 12 Potenciômetros 15/04/2005 Manual de PLC – Proteo Mini V1.00 6 - Características Elétricas: 6.1 - Fonte de Alimentação: O Proteo Mini é alimentado com 24Vcc nominais permite uma faixa de variação da tensão de alimentação de +10% -15% (correspondentes ao valor máximo de 26,4V e mínimo de 20,4V) Os equipamentos fornecidos pela MCS têm funcionamento garantido dentro desta faixa podendo ainda a tensão de alimentação baixar instantaneamente a 19,5V ou subir até 30 V sem prejuízo para o funcionamento. Recomenda-se a utilização da mesma fonte de 24Vcc para alimentação do CNC e das entradas auxiliares de modo a garantir que, caso ocorra flutuação da tensão de alimentação e a tensão baixe, o CNC consiga detectar essa tensão baixa com RESET (condição de segurança) não com desligamento de entradas (condição insegura). TENSÃO DE SAÍDA NOMINAL + 24VCC TENSÃO MÁXIMA NOMINAL (+ 10%) = 26,4VCC TENSÃO MÍNIMA NOMINAL (-15%) = 20,4VCC LIMITE INSTANTÂNEO MÁXIMO 30VCC LIMITE INSTANTÂNEO MÍNIMO 19,4VCC CONSUMO MAXIMO DO PROTEO MINI : EXCLUSIVO DO CNC, SEM CARGA) 0.5 A (CONSUMO Veja o esquema do conector da alimentação: 24 V 0V 15/04/2005 13 Manual de PLC – Proteo Mini V1.00 6.2 - Entradas Digitais : Entradas auxiliares com tensão superior a 18V são reconhecidas como ligadas e com tensão inferior a 10V são reconhecidas como desligadas. O consumo de uma entrada auxiliar é inferior a 10mA à tensão nominal. No Proteo Mini as entradas digitais são isoladas opticamente , o que garante uma maior imunidade a ruído ao sistema de controle . As entradas digitais têm as seguintes características elétricas : 0 → 10V “ZERO” = DESABILITADO = OFF 10V → 18V NÃO DEFINIDO 18V → 24V até 30V “UM” = HABILITADO = ON I máx. por entrada tensão máx. 10mA (@ 24Volt) 30V Segue abaixo uma representação esquemática do circuito de uma entrada digital : Valores inferiores a 10V são interpretados como zero . Valores entre 10 e 18V podem ser interpretados como “zero” ou “um”. Valores superiores a 18V são interpretados como “um”. Veja o desenho com o esquema do conector das entradas: Polarizador 14 15/04/2005 Manual de PLC – Proteo Mini V1.00 6.3 - Saídas Digitais e por Relé : As saídas auxiliares comandam cargas de 24Vcc nominais e tem capacidade de corrente até 500mA.Para a atuação de relés e solenóides é obrigatória a utilização de diodos de proteção ligados em antiparalelo com a bobina sempre próximos da bobina (diodos afastados da bobina permitem maior geração de EMI ). A fonte de alimentação das saídas auxiliares pode ser a mesma das entradas auxiliares e do CNC desde que a carga total das saídas seja inferior a 50% do consumo das entradas mais CNC e não sejam atuados relés e ou bobinas de grande indutância . Caso seja utilizado um número significativo de relés e/ou solenóides é preferível utilizar uma fonte de alimentação separada. As saídas são de corrente contínua e isoladas opticamente. O Proteo Mini tem 4 saídas ativas em 24Vcc. Segue abaixo uma representação esquemática do circuito de uma saída digital : O Proteo Mini também possui 4 saídas por relé. Veja o esquema abaixo: Obs.: O máximo que os contatos do relé suportam é 240Vac e 6A. Veja o esquema dos conectores de saídas: Polarizador 15/04/2005 15 Manual de PLC – Proteo Mini V1.00 6.4 - Entradas Analógicas As entradas analógicas não são isoladas. Estas entradas normalmente são utilizadas para leitura de sinais analógicos lentos como potenciômetros, sensores de pressão e temperatura, entre outros.. Exemplo de utilização de uma entrada analógica com um potenciômetro de 10K. Atenção : A conexão das entradas analógicas deve ser feita com cabos 0,75mm². Obrigatoriamente blindados com tranças metálicas aterrada na barra de aterramento. Veja o desenho com o esquema do conector das entradas analógicas : 16 15/04/2005 Manual de PLC – Proteo Mini V1.00 6.5 - Saídas Analógicas As saídas analógicas não são isoladas, tem uma excursão de -10V até +10V. tensão max. = ± 10V ± 1% Impedância de carga 5KΩ mínimo Resolução 12 Bit → 2,5mV Atenção: A conexão das saídas analógicas deve ser feita com cabos 0,75mm² obrigatoriamente blindados com tranças metálicas, aterrada na barra de aterramento do CNC e no variador de freqüência ou servo, como recomenda o fabricante. 6.6 - Saídas de Liberação As saídas de liberação são separadas e têm por objetivo habilitar ou não os servoacionamentos dos eixos. Estas saídas (+LIB 1 ou +LIB2) são isoladas opticamente. I max = 50mA tensão max. = 30V. Veja o desenho com o esquema do conector das saídas analógicas e liberação: 15/04/2005 17 Manual de PLC – Proteo Mini V1.00 6.7 - Entradas de Leituras de Contagem (Encoders) O Proteo Mini possui 2 canais de leitura de transdutor, por exemplo encoder, com dois sinais de contagem defasados de 90 graus e um pulso de referência . Os sinais de contagem e o pulso de referência têm o padrão RS422 : cada sinal possui o seu respectivo par complementar (0°, /0°, 90°, /90°, REF , /REF). Níveis de tensão 0V e 5V , não isolado. Freqüência máxima = 625 KHZ I max (@ 5 Volt) = 150mA. * A ligação correta dos sinais 0°, /0°, 90°, /90°, REF, /REF, deve ser sempre obedecida e verificada, porque internamente o CNC detecta a ocorrência simultânea de REF, /0°, /90°. Caso ocorra invasão de 0° com /0°, 90° com /90° ou qualquer outra, aquela a simultaneidade de REF, /0°e /90°, nunca ocorre, ou ocorre fora de referência. O cabo de ligação deve ser tipo par trançado (0°, /0°, 90°, /90°, REF, /REF). Blindagem externa do conjunto de pares e aterrado no aterramento do CNC. Os cabos dos encoders devem passar pela barra de aterramento Veja os sinais do conector de contagem: 18 15/04/2005 Manual de PLC – Proteo Mini V1.00 6.8 - Porta de Comunicação Serial A porta de comunicação serial tem sinais padrão RS232 (+15V, -15V) com sinais isolados opticamente. TAXA MÁX. 9.600 BAUD 7 - Outras características • 256 Kb de memória Flash para o software de aplicação (PLC), receitas, parâmetros de configuração e dados; • Entrada de valores de coordenadas em modo absoluto ou incremental; • Terminal de operação: Modulo autônomo com display e Leds + Mini-teclado; • Rede padrão CAN bus, velocidade de 1 Mbit/s; • PLC Integrado, programação : MCS step 5 ou C-standard; • Funções de “jump” condicional ou incondicional; • Correção de programa, correção de partes de programa e inserção de passos (EDIT); • Autodiagnóstico para erros de operação e falhas; • 100 parâmetros de máquina programáveis para adaptação do controle às condições da máquina; • Módulos de expansão (CAN) - Misto Entradas (16)/ Saídas (16), 24Vcc isoladas opticamente; - Módulo de controle de temperatura, entrada para 4 terminais tipo J; - Módulo duplo analógico para comando de variadores de freqüência ou servo-motores; - Módulo duplo para comando de motores de passo. 15/04/2005 19 Manual de PLC – Proteo Mini V1.00 8. Como funciona o MCSplc ? Periodicamente o programa do PLC integrado é executado pelo CNC. O CNC 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.. CNC Memória Comum Área de transferência I 0000 I 0001 . . . . . . I 2000 CNC Memória Comum Área de transferência Inicio do ciclo PLC Fim do ciclo 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 : A memória do PLC integrado, definida como área I . A área I contém todas as informações que precisa para fazer a interface entre o CNC genérico e a máquina. Entradas, saídas, dados e variáveis de estado ficam acessíveis ao PLC que pode utilizar estas informações em sua lógica de intertravamento. Veja o esquema de execução do CNC e o PLC: 1 – O CNC atualiza a área de transferência, copiando todas as informações relevantes para a memória do PLC ( área I ) 2 - O módulo do MCSplc : PLC é executado e deve terminar normalmente, loops infinitos não são permitidos. 3 - O CNC não altera a área I e não trata as informações de saída ou retorno antes do final da execução do PLC. 4 – Após o PLC ter sido executado , o CNC toma as informações relevantes bem como aceita os comandos do MCSplc , recebendo o resultado do processamento do programa do PLC. 5 - O CNC atualiza as suas saídas lógicas e executa as ordens do PLC, encerrando o ciclo de execução do PLC : também chamada de varredura do PLC, aguardando o intervalo programado para repetir todo o ciclo novamente. 20 15/04/2005 Manual de PLC – Proteo Mini V1.00 8.1 – Qual é a linguagem de programação do MCSplc ? A linguagem de programação utilizada é um super set da linguagem de lista STEP-5. Através de comandos lógicos é possível representar intertravamentos a partir de entradas lógicas, memórias de bit, byte e Word, atuar saídas lógicas e interagir com o CNC básico, controlando praticamente toda a interface entre o CNC e a máquina e também entre o Usuário e a máquina. 8.2 Memória de trabalho Memórias byte Memórias word Memórias bit Temporizadores : : : : 2000 bytes 1000 words 2000x8 bits 16 ou 80 bytes 8.3 - Formato geral das instruções 8.3.1 - Operações lógicas rótulo: operação operando endereço ;comentário LIB1: A Q 2.3 ;AND acumulador com saída grupo2 bit3 8.3.2 - Desvios de execução rótulo: operação endereço ;comentário LIB1: JZ RÓTULO ;salta para o rótulo se condição satisfeita ou LIB1: CALL MW INDROT ;executa sub-rotina se condição satisfeita 8.3.3 - Operações diretas rótulo: operação ;comentário RET ;retorno de sub-rotina LIB1: 15/04/2005 21 Manual de PLC – Proteo Mini V1.00 8.4 – Tipos de Operação L LN A NA O ON XO XON SL RL S R SN RN SF RF = == =N =N A( O( ) CP ADD SUB SHL SHR TELA J JZ JNZ JP JM JT EN ADR CALL CALLZ DCALL CALLT RET MULT DIV INC DEC END 22 Carrega acumulador Carrega acumulador com o complemento Lógica E (and) Lógica E negada (nand) Lógica OU (or) Lógica OU negada (nor) OU exclusivo (xor) OU exclusivo negado (xnor) Set lógico, liga bit indicado e energiza acumulador Reset lógico, desliga bit indicado e energiza acumulador Set lógico, liga bit indicado caso logica positiva (NZ) Reset lógico, desliga bit indicado caso lógica positiva (NZ) Set bit indicado se lógica Negativa (zero) Reset bit indicado se lógica Negativa (zero) Set bit incondicional Reset bit incondicional Atribui e energiza acumulador caso instrução de bit Atribuição de bit (incondicional) e de byte/word (caso NZ) Atribuição negada condicional (byte/word), não altera ACC e flags Atribuição negada de bit (incondicional) Inicio de expressão com lógica E (and) Inicio de expressão com lógica OU (or) Final de expressão Compara com o conteúdo do acumulador Soma com o conteúdo do acumulador Subtrai do conteúdo do acumulador Shift para a esquerda com carry Shift para a direita com carry Instruções especiais para construção de telas Desvio incondicional Desvio caso resultado for zero (igual) Desvio caso resultado nao zero (diferente) Desvio caso resultado positivo (maior ou igual) Desvio caso resultado negativo (menor) JUMP Indexado via tabela de endereços, índice no acumulador Energiza acumulador, zera carry Carrega endereço do rótulo Chama sub-rotina caso lógica anterior diferente de zero (NZ) Chama sub-rotina caso lógica anterior for zero (Z) Chamada incondicional de sub-rotina CALL indexado via tabela de endereços, índice no acumulador Final de sub-rotina Multiplica com o conteúdo do acumulador Divide conteúdo da memória indicada pelo conteúdo do acumulador Incrementa posição de memória (byte ou word) Decrementa memória (byte ou word) Encerra PLC 15/04/2005 Manual de PLC – Proteo Mini ENDC EU ED EDG AZ ANZ AP AM OZ ONZ OP OM LZ LNZ LP LM V1.00 Indica fim de código para o compilador; início de tabelas de dados e textos Detecta transição borda de subida (Edge Up) de resultado anterior Detecta transição borda de descida (Edge Down) de resultado anterior Detecta transição borda (EDGe up/down) de resultado anterior And Zero (testa se o acumulador e o parâmetro indicado são iguais) And Não Zero (testa se o acumulador e o parâmetro indicado são diferentes) And Positivo (testa se acumulador é maior ou igual ao parâmetro indicado) And Menor (verifica se acumulador é menor que o parâmetro indicado) Or Zero (verifica se o acumulador e o parâmetro indicado são iguais) Or Não Zero (verifica se o acumulador e o parâmetro indicado são diferentes) Or Positivo (verifica se acumulador é maior que o parâmetro indicado) Or Menor (verifica se acumulador é menor que o parâmetro indicado) Testa igualdade entre o acumulador e o parâmetro indicado; se iguais carrega lógica “1” no acumulador Testa desigualdade entre o acumulador e o parâmetro indicado; se diferentes carrega lógica “1” no acumulador Testa se acumulador é maior que o parâmetro indicado; se maior ou igual carrega lógica “1” no acumulador Testa se acumulador é menor que o parâmetro indicado; se menor carrega lógica “1” no acumulador Operação com ponto flutuante FFLUSH FPUSH FPOP FADD FSUB FMULT FDIV FABS FNEG FSQRT FDIST FSIN FCOS FTAN FATAN FPOW FINV FINT FFRAC FPI LF =F 15/04/2005 Limpa toda a pilha Copia o conteúdo do acumulador para a primeira posição da pilha Descarta o conteúdo do acumulador e assume o que esta na pilha Soma Subtração Multiplicação Divisão Número Absoluto Inverte sinal Raiz quadrada Pitágoras Seno Coseno Tangente Arco Tangente Primeira posição da pilha elevado ao valor do acumulador 1 / acumulador Copia apenas a parte inteira do acumulador Copia apenas a parte fracionária do acumulador Constante PI Carrega um valor de ponto flutuante no acumulador Atribui um valor de ponto flutuante 23 Manual de PLC – Proteo Mini V1.00 8.5 – Tipos de Operandos 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. I Q M T IB QB MB MW ML KB KW KF IMB IMW ENTRADA SAÍDA MEMÓRIA (bit) TEMPORIZADOR GRUPO DE 8 ENTRADAS (byte de entradas) GRUPO DE 8 SAÍDAS (byte de saídas) MEMÓRIA (byte) MEMÓRIA (word) MEMÓRIA LONGA (Double Word) CONSTANTE (byte) CONSTANTE (word) CONSTANTE FLOAT (ponto flutuante) MEMÓRIA INDEXADA (byte) MEMÓRIA INDEXADA (word) 8.6 - Endereços ou Parâmetros 1. 2. 3. 4. 5. 6. 12345 1234H 01010B 1.2 12345 12345 NÚMERO DECIMAL (0 - 65535) NÚMERO HEXADECIMAL (0 - 0FFFFH) PADRÃO BINÁRIO (1 - 16 BITS) ENDEREÇO GRUPO.BIT (0.0 - 1999.7) ENDEREÇO BYTE (0 - 1999) ENDEREÇO WORD (0 - 1998) OBSERVAÇÕES: No padrão hexadecimal é obrigatório que o primeiro algarismo do número seja um número decimal (0 a 9). Por exemplo, o número hexadecimal C5H deve ser representado na forma 0C5H. Rótulos podem ter no máximo 6 caracteres e não podem ser iniciados com algarismos. 24 15/04/2005 Manual de PLC – Proteo Mini V1.00 8.7 – Acumulador (Acc) DEFINIÇÃO: É um registrador de 16 bits (posição de memória) ligado diretamente à CPU do MCSplc. O Acumulador está envolvido em toda e qualquer operação lógica e aritmética. O resultado destas operações é armazenado diretamente no Acumulador. COMPOSIÇÃO DO ACUMULADOR MS BYTE BYTE MAIS SIGNIFICATIVO UTILIZADO PARA OPERAÇÕES DE WORD B7 B6 B5 B4 B3 B2 B1 B0 BYTE MENOS SIGNIFICATIVO UTILIZADO PARA OPERAÇÕES DE BYTE, WORD E PARA LÓGICA DE BITS 8.7.1 – Flags DEFINIÇÃO É um registrador que completa a função do Acumulador indicando as condições e estados do resultado da última operação lógica ou aritmética. Cada bit do registrador de Flags indica uma condição ou evento ocorrido na operação, como por exemplo, em uma subtração se o resultado final é um número positivo ou negativo ou zero. A principal função dos Flags está em instruções de decisão e desvio de fluxo do programa, onde o resultado da operação determina decisões, ações e eventos na programação. TABELA DO ESTADO DOS FLAGS FLAG ZERO ESTADOS DESCRIÇÃO OPERAÇÕES Z = Zero Indica se o resultado da última operação é Lógica de bit e NZ = Não Zero nulo operações aritméticas CARRY C = Carry Indica transbordo na última operação Operações aritméticas NC = Não Carry SINAL P = Positivo Indica sinal (valor do bit mais Operações aritméticas M = negativo significativo do resultado da última (Menor) operação) 15/04/2005 25 Manual de PLC – Proteo Mini V1.00 9. Ponto Flutuante Nas operações com ponto flutuante o Acumulador tem um tamanho diferente das demais operações. O acumulador tem um tamanho de uma Double Word (Dword – 4 bytes). As operações com ponto flutuante utilizam uma pilha de valores com oito posições: R1, R2, R3, R4, R5, R6, R7 e R8. Todas essas posições de memória utilizam o espaço de uma Double Word. Veja a representação dessa pilha de memória: R8 R7 R6 R5 R4 R3 R2 R1 ACC Exemplo: Carregamos o Acumulador com uma constante de ponto flutuante. Acumulador ! Constante X X Carregamos um outro valor de ponto flutuante no acumulador. Acumulador ! Constante Y X Y Quando sobrescrevemos o valor do acumulador, o antigo conteúdo é carregado na primeira posição da pilha, ou seja, R1. Se na posição R1 existisse algum valor, automaticamente seria transferido para a posição R2. 26 15/04/2005 Manual de PLC – Proteo Mini V1.00 10 - Descrição das Instruções do PLC 10.1 – Operações com BIT L 10.1.1 - Carrega acumulador – Load OPERANDOS: Q M I - ENTRADA - SAÍDA - MEMÓRIA L Operando OPERAÇÃO: Oper.bit DESCRIÇÃO: Transfere ao Acumulador o estado do bit do operando indicado na instrução e afeta o Flag Zero. Esta operação transfere para o Acumulador o estado do bit (0 ou 1) de um determinado Operando (I, Q e M). Se o estado for “1”, o Acumulador é carregado com o valor 0FFH. Se for “0”, o valor carregado é 0. O Flag Zero também é afetado pela operação. Notar que o estado do Flag Zero é o responsável pela operação lógica seguinte. EQUIVALÊNCIA COM LÓGICA DE LADDER: Esta operação equivale a um contato normal aberto no início do ramo de lógica em simbologia de ladder. TABELA DA VERDADE: Valores do Operando Valores de Saída Flag Zero Operando.bit Acc (valor atual) Estado 0 000H Z 1 0FFH NZ EXEMPLO: Em um programa de PLC preciso conhecer o conteúdo do bit 3 da Entrada 1 e posteriormente poderei usá-lo em uma operação. Para isso basta realizar a operação “L”, como a seguir: Operando: entrada I 1.3 Operação ⇒ L I 1.3 Após a operação o Acumulador passa a ter o conteúdo do bit 3 da Entrada I1. 15/04/2005 27 Manual de PLC – Proteo Mini V1.00 10.1.2 - Carrega acumulador com status negado – Load Not OPERANDOS: I Q M - ENTRADA - SAÍDA - MEMÓRIA LN Operando LN OPERAÇÃO: Oper.bit DESCRIÇÃO: Transfere ao acumulador o complemento do valor do bit do operando indicado na instrução. Esta operação transfere para o Acumulador o estado inverso do bit (0 ou 1) de um determinado Operando (I, Q e M). Se o estado for “1”, o Acumulador é carregado com o valor 0. Se for “0”, o valor carregado é 0FFH. O Flag Zero também é afetado pela operação. Notar que o estado do Flag “ZERO” é o responsável pela operação lógica seguinte. EQUIVALÊNCIA COM LÓGICA DE LADDER: Esta operação equivale a um contato normal fechado no início do ramo de lógica em simbologia de ladder. TABELA DA VERDADE: Valores do Operando Valores de Saída Flag Zero Operando.bit Acc (valor atual) Estado 0 0FFH NZ 1 000H Z EXEMPLO: Em um programa de PLC preciso conhecer o complemento do conteúdo do bit 4 da Entrada 2 para iniciar uma sequência lógica. Para isso basta realizar a operação “LN”, como a seguir: Operando: entrada I 2.4 Operação ⇒ LN I 2.4 Após a operação o Acumulador passa a ter o complemento do conteúdo do bit 4 da Entrada I2. 28 15/04/2005 Manual de PLC – Proteo Mini V1.00 A 10.1.3 - Operação lógica E – And OPERANDOS: I Q M - ENTRADA - SAÍDA - MEMÓRIA A Operando OPERAÇÃO: Oper.bit DESCRIÇÃO: Realiza a operação lógica E (AND) entre o conteúdo anterior do Acumulador e Flag Zero e o conteúdo do bit do Operando indicado na instrução. Caso o conteúdo anterior do Acumulador seja "0", o resultado da operação será sempre "0", qualquer que seja o conteúdo do bit do Operando indicado na instrução. Esta operação é uma função E do valor de bit (0 ou 1) de um determinado Operando (I, Q e M) com o Acumulador, sendo o resultado final armazenado no próprio Acumulador e no Flag Zero. EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a uma associação em série de um contato normal aberto numa linha de lógica de ladder. TABELA DA VERDADE: Simbologia pelas Normas ABNT e ASA Valores de Valores Flag Entrada da de Saída Zero Operação Oper.bit Acc (valor Acc (valor Estado anterior) atual) 0 0 000H Z 0 1 000H Z 1 0 000H Z 1 1 0FFH NZ OBSERVAÇÃO: Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L. EXEMPLO: Em um programa de PLC preciso realizar uma operação lógica entre duas entradas. A operaçào e entre as entradas é realizada a seguir: 1.º Operando: entrada I 0.1 2.º Operando: entrada I 1.5 Operação ⇒ L A I I 0.1 1.5 ;Acc = I 0.1 ;Função E (And) entre Acc e I 1.5 Após a operação o Acumulador passa a ter o conteúdo do resultado da associação lógica E entre seu conteúdo anterior à operação (estado de I 0.1) e o conteúdo do bit 5 da Entrada I 1. 15/04/2005 29 Manual de PLC – Proteo Mini V1.00 10.1.4 - Operação lógica E NEGADO – And Not OPERANDOS: I Q M - ENTRADA - SAÍDA - MEMÓRIA AN Operando AN OPERAÇÃO: Oper.bit DESCRIÇÃO: Realiza a operação lógica E (AND) entre o conteúdo anterior do acumulador e o complemento do conteúdo do bit do operando indicado na instrução. Caso o conteúdo anterior do acumulador seja "0", o resultado da operação será sempre "0", qualquer que seja o valor do conteúdo do operando indicado na instrução. Esta operação é uma função E do estado inverso do bit (0 ou 1) de um determinado Operando (I, Q e M) com o Acumulador, sendo o resultado final armazenado no próprio Acumulador e no Flag Zero. EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a uma associação em série de um contato normal fechado numa linha de lógica de ladder. TABELA DA VERDADE: Simbologia pelas Normas ABNT e Valores de Entrada da Valores Flag ASA Operação de Saída Zero Acc (Operando e Complemento) Acc & Oper.bit Complement Acc (valor Acc (valor Estado 1 o anterior) atual) Oper.bit 0 1 0 000H Z 0 1 1 0FFH NZ Acc Acc 1 0 0 000H Z 1 0 1 000H Z Oper.bit OBSERVAÇÃO: Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L ou LN. EXEMPLO: Em um programa de PLC preciso realizar uma operação lógica E entre duas entradas, porém com o estado inverso de uma delas: 1.º Operando: entrada I 1.7 2.º Operando: entrada I 1.6 Operação⇒ L AN I I 1.7 1.6 ;Acc = I 1.7 ( prepara a operação) ;Função E Negada entre Acc e o estado inverso de I 1.6 Após a operação o Acumulador passa a ter o conteúdo do resultado da associação lógica E entre seu conteúdo anterior à operação (estado de I 1.7) e o estado inverso do bit 6 da Entrada I 1. 30 15/04/2005 Manual de PLC – Proteo Mini V1.00 O 10.1.5 - Operação lógica OU – Or OPERANDOS: I Q M - ENTRADA - SAÍDA - MEMÓRIA O Operando OPERAÇÃO: Oper.bit DESCRIÇÃO: Realiza a operação lógica OU (OR) entre o conteúdo anterior do Acumulador e o conteúdo do bit do Operando indicado na instrução. Caso o conteúdo anterior do Acumulador seja "1", o resultado da operação será sempre "1", qualquer que seja o conteúdo do bit do Operando indicado na instrução. Esta operação é uma função OU de um valor de bit (0 ou 1) de um determinado Operando (I, Q e M) com o Acumulador, sendo o resultado final armazenado no próprio Acumulador e no Flag Zero. EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a uma associação em paralelo de um contato normal aberto numa linha de lógica de ladder. TABELA DA VERDADE: Simbologia pelas Normas ABNT e ASA Valores de Entrada Valores Flag Zero da Operação de Saída Acc Operando.bi Acc (valor Estado (valor t atual) anterior) 0 0 000H Z 0 1 0FFH NZ 1 0 0FFH NZ 1 1 0FFH NZ OBSERVAÇÃO: Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L. EXEMPLO: Em um programa de PLC preciso realizar uma operação lógica OU entre duas entradas. 1.º Operando: entrada I 5.4 2.º Operando: entrada I 0.2 Operação ⇒ L O I I 5.4 0.2 ;Acc = I 5.4 ( prepara a operação) ;Função OU entre Acc e o estado de I 0.2 Após a operação o Acumulador passa a ter o conteúdo do resultado da associação lógica OU entre seu conteúdo anterior à operação (estado de I 5.4) e o conteúdo do bit 2 da Entrada I 0. 15/04/2005 31 Manual de PLC – Proteo Mini V1.00 10.1.6 - Operação lógica OU NEGADO – Or Not OPERANDOS: I Q M - ENTRADA - SAÍDA - MEMÓRIA ON Operando ON OPERAÇÃO: Oper.bit DESCRIÇÃO: Realiza a operação lógica OU entre o conteúdo anterior do Acumulador e o complemento do conteúdo do bit do Operando indicado na instrução. Caso o conteúdo anterior do Acumulador seja "1", o resultado da operação será sempre "1", qualquer que seja o valor do conteúdo do Operando indicado na instrução. Esta operação é uma função OU do complemento, inversão do valor de bit (0 ou 1) de um determinado Operando (I, Q e M) com um bit do Acumulador, sendo o resultado final armazenado no próprio Acumulador. EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a uma associação em paralelo de um contato normal fechado numa linha de lógica de ladder. TABELA DA VERDADE: Simbologia pelas Normas ABNT e ASA Valores de Entrada da Valores Flag Operação de Saída Zero (Operando e Complemento) Oper.bit Complem. Acc (valor Acc (valor Estado anterior) atual) 0 1 0 0FFH NZ 0 1 1 0FFH NZ 1 0 0 000H Z 1 0 1 0FFH NZ OBSERVAÇÃO: Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L ou LN. EXEMPLO: Em um programa de PLC preciso realizar uma operação lógica OU entre uma saída e o estado inverso de uma memória: 1.º Operando: saída Q 0.2 2.º Operando: memória M 231.6 Operação⇒ L ON Q M 0.2 ;Acc = Q 0.2 ( prepara a operação) 231.6 ;Função OU Negado entre Acc e M 231.6 Após a operação o Acumulador passa a ter o conteúdo do resultado da associação lógica OU entre seu conteúdo anterior à operação (estado de Q 0.2) e o conteúdo do bit 6 da memória M231. 32 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.1.7 - Operação lógica OU EXCLUSIVO – eXclusive Or OPERANDOS: I Q M - ENTRADA - SAÍDA - MEMÓRIA XO Operando XO OPERAÇÃO: Oper.bit DESCRIÇÃO: Realiza a operação lógica OU EXCLUSIVO entre o conteúdo anterior do Acumulador e o conteúdo do bit do Operando indicado na instrução. Esta operação é uma função OU EXCLUSIVO do conteúdo ou valor de bit (0 ou 1) de um determinado Operando (I, Q e M) com um bit do Acumulador, sendo o resultado final armazenado no próprio Acumulador. TABELA DA VERDADE: Simbologia pelas Normas ABNT e ASA Valores de Flag Zero Valores de Entrada da Saída Operação Oper.bit Acc ( Acc Estado valor ( valor atual ) anterior ) 0 0 000H Z 0 1 0FFH NZ 1 0 0FFH NZ 1 1 000H Z OBSERVAÇÃO: Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L. EXEMPLO: Em um programa de PLC preciso realizar uma operação lógica OU EXCLUSIVO entre duas saídas 1.º Operando: saída Q 1.4 2.º Operando: saída Q 1.5 Operação ⇒ L XO Q Q 1.4 1.5 ;Acc = Q 1.4 ( prepara a operação) ;Função OU EXCLUSIVO entre Acc e Q 1.5 Após a operação o Acumulador passa a ter o conteúdo do resultado da associação lógica OU EXCLUSIVO entre seu conteúdo anterior à operação (estado de Q 1.4) e o conteúdo do bit 5 da saída Q 1. 15/04/2005 33 Manual de PLC – Proteo Mini V1.00 10.1.8 - Operação lógica OU EXCLUSIVO NEGADO – eXclusive Or Not OPERANDOS: I Q M XON - ENTRADA - SAÍDA - MEMÓRIA OPERAÇÃO: XON Operando Oper.bit DESCRIÇÃO: Realiza a operação lógica OU EXCLUSIVO entre o conteúdo anterior do acumulador e o complemento do conteúdo do bit do operando indicado na instrução. Esta operação é equivalente a uma função E COINCIDENTE do conteúdo ou valor de bit (0 ou 1) de um determinado Operando (I, Q e M) com um bit do Acumulador, sendo o resultado final armazenado no próprio Acumulador. A função OU EXCLUSIVO NEGADO tem por finalidade detectar eventos coincidentes, ou seja, os dois eventos devem ocorrer juntos simultaneamente. TABELA DA VERDADE: Simbologia pelas Normas ABNT e ASA Valores de Entrada da Valores Flag Operação de Saída Zero Oper.bit Compl. Acc Acc Estado (valor (valor atual) anterior) 0 1 1 |000H Z 0 1 0 0FFH NZ 1 0 0 000H Z 1 0 1 0FFH NZ OBSERVAÇÃO: Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L ou LN. EXEMPLO: Em um programa de PLC preciso realizar uma operação lógica OU EXCLUSIVO entre uma entrada e o inverso de outra entrada: 1.º Operando: entrada I 0.0 2.º Operando: entrada I 0.1 ⇒ L XON I Operação I 0.1 0.0 ;Acc = I 0.0 ( prepara a operação) ;Função OU EXCLUSIVO Negado entre Acc e I 0.1 Após a operação o Acumulador passa a ter o conteúdo do resultado da associação lógica OU EXCLUSIVO entre seu conteúdo anterior à operação (estado de I 0.0) e o conteúdo do bit 1 da entrada I 0. 34 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.1.9 - Atribuição de resultado energizando o acumulador OPERANDOS: Q M I - ENTRADA - SAÍDA - MEMÓRIA = Operando = OPERAÇÃO: Oper.bit DESCRIÇÃO: Atribui o conteúdo anterior do acumulador ao operando indicado na instrução. Após a operação, o conteúdo do Acumulador é energizado ("1") e o Flag Zero indica estado Não Zero. Esta operação transfere o estado do Acumulador para um determinado Operando (I, Q e M). Geralmente esta operação é realizada após uma operação lógica, para atribuir o resultado da operação a uma memória ou a uma saída. Pode-se também atribuir resultado a entradas (forçar o estado de uma entrada). EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde ao fechamento da lógica numa linha de lógica de ladder. TABELA DA VERDADE: Valores do Operando Flag Zero Acc (valor atual) XXXX XXXX Estado Z NZ Valores de Saída Operando.bit 0 1 EXEMPLO: Em um programa de PLC após realizar uma operação de leitura do estado de uma entrada, preciso atuar sobre uma saída: 1.º Operando: entrada I 0.5 2.º Operando: saída Q 0.1 Operação ⇒ = L Q I 0.1 0.5 ;Acc = I 0.5 ( prepara a operação) ;Atribuição do Acc para Q 0.1 Após a operação, a saída Q 0.1 terá o mesmo conteúdo do Acumulador, que por sua vez foi carregado com o estado da entrada I 0.5. Mesmo se o estado da entrada for 0 (zero) ao final da atribuição o acumulador é energizado (passa a conter “1”). Observação: prefira a instrução == para atribuir resultados em lógica de bits. 15/04/2005 35 Manual de PLC – Proteo Mini V1.00 10.1.10 - Atribuição de resultado mantendo status do ACC OPERANDOS: I Q M - ENTRADA - SAÍDA - MEMÓRIA == Operando == OPERAÇÃO: Oper.bit DESCRIÇÃO: Atribui o conteúdo anterior do Acumulador ao conteúdo de Operando indicado na instrução. Após a operação, o conteúdo do Acumulador é mantido. Esta operação transfere o estado do Acumulador para determinado Operando (I, Q e M). Esta instrução é similar à instrução “=”, porém além de realizar a operação de transferência do Acumulador para um Operando qualquer, mantém o estado do Acumulador após a conclusão da operação. Geralmente esta operação é realizada após uma operação lógica, para atribuir o resultado da operação a uma memória ou a uma saída. Pode-se também atribuir resultado a entradas (forçar o estado de uma entrada). EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde ao fechamento da lógica numa linha de lógica de ladder, porém permitindo que se continue com a lógica anterior a partir deste ponto. TABELA DA VERDADE: Valores do Operando Flag Zero Acc (valor atual) XXXX XXXX Estado Z NZ Valores de Saída Operando.bit 0 1 EXEMPLO: Em um programa de PLC após realizar uma operação de leitura do estado de uma entrada, preciso atuar sobre uma saída, mas preciso que o conteúdo do Acumulador seja mantido, pois continuarei a realizar novas operações: 1.º Operando: entrada I 0.4 2.º Operando: saída Q 0.1 Operação ⇒ == L Q I 0.1 0.4 ;Acc = I 0.4 ( prepara a operação) ;Atribuição do Acc para Q 0.1 Após a operação, a saída Q 0.1 terá o mesmo conteúdo do Acumulador, que por sua vez foi carregado com o estado da entrada I 0.4. Após a atribuição, o Acumulador mantém seu estado. 36 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.1.11 - Atribuição negada mantendo status do acumulador OPERANDOS: I Q M - ENTRADA - SAÍDA - MEMÓRIA =N Operando =N OPERAÇÃO: Oper.bit DESCRIÇÃO: Atribui o inverso do conteúdo do Acumulador ao conteúdo de Operando indicado na instrução. Após a operação, o conteúdo do Acumulador é mantido. Esta operação transfere o estado inverso do Acumulador para determinado Operando (I, Q e M). O estado do Acumulador é mantido após a conclusão da operação. Geralmente esta operação é realizada após uma operação lógica, para atribuir o resultado da operação a uma memória ou a uma saída. Pode-se também atribuir resultado a entradas (forçar o estado de uma entrada). EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde ao fechamento da lógica numa linha de lógica de ladder, porém permitindo que se continue com a lógica anterior a partir deste ponto. TABELA DA VERDADE: Valores do Operando Flag Zero Acc (valor atual) XXXX XXXX Estado Z NZ Valores de Saída Operando.bit 1 0 EXEMPLO: Em um programa de PLC após realizar uma operação de leitura preciso atuar sobre uma saída e esta deverá ser ligada ou desligada conforme resultado inverso da operação em questão, mas preciso que o conteúdo do Acumulador seja mantido, pois continuarei a realizar novas operações: 1.º Operando: entrada I 0.4 2.º Operando: saída Q 0.1 Operação ⇒ =N L Q I 0.1 0.4 ;Acc = I 0.4 ( prepara a operação) ;Transfere o estado do Acc para a saída Q 0.1 Após a operação, a saída Q 0.1 terá o conteúdo inverso do Acumulador, que por sua vez foi carregado com o estado da entrada I 0.4. Após a atribuição, o Acumulador mantém seu estado. 15/04/2005 37 Manual de PLC – Proteo Mini V1.00 10.1.12 - SET energizando o acumulador – Set OPERANDOS: I Q M - ENTRADA - SAÍDA - MEMÓRIA SL Operando SL OPERAÇÃO: Oper.bit DESCRIÇÃO: Se o conteúdo do Acumulador está em "1", o conteúdo do Operando indicado na instrução é energizado ("1"). Caso contrário, o conteúdo do Operando não será alterado. Após a operação, o conteúdo do Acumulador é energizado ("1"). Esta operação é uma função condicional, que atribui ao bit do Operando indicado na operação o conteúdo lógico “1” se o conteúdo do Acumulador for igual a “1’. Caso o conteúdo do Acumulador for “0”, o conteúdo do Operando indicado não será alterado. TABELA DA VERDADE: Valores do Operando Flag Zero Acc (valor atual) XXXX XXXX Estado Z NZ Valores de Saída Operando.bit X 1 EXEMPLO: Em um programa de PLC preciso ligar uma saída se duas entradas tiverem estados diferentes um do ourtro (função OU Exclusivo). Se os estados forem iguais não quero alterar o estado da saída: 1.º Operando: entrada I 0.3 2.º Operando: entrada I 0.4 3.º Operando: saída Q 2.5 Operação ⇒ L XO SL I I Q 0.3 0.4 2.5 ;Acc = I 0.3 ;Função OU EXCLUSIVO entre Acc e I 0.4 ;liga a saída Q 2.5 Após a operação, a saída Q 2.5 será energizada apenas se o resultado da lógica anterior for “1”. Caso contrário, o estado da saída não será alterado. Após a instrução, o Acumulador terá seu estado energizado. OBSERVAÇÃO: Prefira a instrução S para atribuir resultados em lógica de bits. 38 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.1.13 - SET sem influência no acumulador – Set OPERANDOS: OPERAÇÃO: S I Q M S - ENTRADA - SAÍDA - MEMÓRIA Operando Oper.bit DESCRIÇÃO: Se o conteúdo do Acumulador está em "1", o conteúdo do Operando indicado na instrução é energizado ("1"). Caso contrário, o conteúdo do operando não será alterado. Após a operação, o conteúdo do Acumulador permanece inalterado. Esta operação é uma função condicional, que atribui ao bit do Operando indicado na operação o estado lógico “1” se o estado do Acumulador for igual a “1’. Caso o conteúdo do Acumulador for igual a “0”, o conteúdo do Operando indicado não será alterado. A diferença desta operação em relação a anterior (SL) é que após a operação o conteúdo do Acumulador não será energizado. TABELA DA VERDADE: Valores do Operando Flag Zero Acc (valor atual) XXXX XXXX Estado Z NZ Valores de Saída Operando.bit X 1 EXEMPLO: Em um programa de PLC preciso ligar uma saída se uma de duas entradas estiverem energizadas (função OU). Se o estado das duas entradas for “0”, não quero alterar o estado da saída. Após a instrução Set quero prosseguir com a lógica fazendo uma associação E (And) com outra entrada: 1.º Operando: entrada I 0.3 2.º Operando: entrada I 0.4 3.º Operando: saída Q 2.5 4.º Operando: entrada I 0.7 Operação⇒ L O S A I I Q I 0.3 0.4 2.5 0.7 ;Acc = I 0.3 ;Função OU entre Acc e I 0.4 ;liga a saída Q 2.5 ;Função E com o resultado da associação OU anterior Após a operação Set, a saída Q 2.5 será energizada apenas se o resultado da lógica anterior for “1”. Caso contrário, o estado da saída não será alterado. Como o Acumulador mantém seu estado posso prosseguir numa seqüência lógica. 15/04/2005 39 Manual de PLC – Proteo Mini V1.00 10.1.14 - SET se lógica negativa – Set Not OPERANDOS: I Q M - ENTRADAS - SAÍDAS - MEMÓRIAS SN Operando SN OPERAÇÃO: Oper.bit DESCRIÇÃO: Se o conteúdo do Acumulador for "0" (zero), o conteúdo do Operando indicado na instrução é energizado ("1"). Caso contrário, o conteúdo do Operando não será alterado. Esta operação é uma função condicional, que atribui ao bit do Operando indicado na operação o estado lógico “1” se o estado do Acumulador for igual a “0’. Caso o conteúdo do Acumulador for igual a “1”, o conteúdo do Operando indicado não será alterado. TABELA DA VERDADE: Valores do Operando Flag Zero Acc (valor atual) XXXX XXXX Estado Z NZ Valores de Saída Operando.bit 1 X EXEMPLO: Em um programa de PLC preciso ligar uma saída se duas entradas estiverem desligadas (função OU). Se o estado de uma das duas entradas for “1”, não quero alterar o estado da saída. Após a instrução Set Not quero prosseguir com a lógica fazendo uma associação E (And) com outra entrada: 1.º Operando: entrada I 0.3 2.º Operando: entrada I 0.4 3.º Operando: saída Q 2.5 4.º Operando: entrada I 0.7 Operação⇒ L O SN A I I Q I 0.3 0.4 2.5 0.7 ;Acc = I 0.3 ;Função OU entre Acc e I 0.4 ;liga a saída Q 2.5 se Acc = 0 ;Função E com o resultado da associação OU anterior Após a operação Set Not, a saída Q 2.5 será energizada apenas se o resultado da lógica anterior for “0”. Caso contrário, o estado da saída não será alterado. Como o Acumulador mantém seu estado posso prosseguir numa seqüência lógica. OBSERVAÇÃO: A operação anterior é equivalente a: Operação⇒ 40 LN AN S A I I Q I 0.3 0.4 2.5 0.7 ;Acc = inverso do estado de I 0.3 ;Função E negada entre Acc e I 0.4 ;liga a saída Q 2.5 se Acc = 0 ;Função E com o resultado da associação AN anterior 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.1.15 - SET FORÇADO sem influência no Acc – Set Forced OPERANDOS: I Q M - ENTRADA - SAÍDA - MEMÓRIA SF Operando SF OPERAÇÃO: Oper.bit DESCRIÇÃO: O conteúdo do operando indicado na instrução é energizado ("1") independentemente do conteúdo do acumulador. O conteúdo do acumulador permanece inalterado. Esta operação força o estado energizado do operando, ou seja, o bit do operando indicado nesta instrução vai para nível lógico “1” independentemente do estado do Acumulador ou de qualquer outro resultado de operações anteriores. TABELA DA VERDADE: Valores do Operando Flag Zero Acc (valor atual) XXXX Estado X Valores de Saída Operando.bit 1 EXEMPLO: Em um programa de PLC quero forçar em “1” o estado de uma saída: Operação ⇒ SF Q 0.1 ;Força ligar a saída Q 0.1 Após a operação o Acumulador mantém seu estado anterior. 15/04/2005 41 Manual de PLC – Proteo Mini V1.00 10.1.16 - RESET energizando o acumulador – Reset OPERANDOS: I Q M - ENTRADA - SAÍDA - MEMÓRIA RL Operando RL OPERAÇÃO: Oper.bit DESCRIÇÃO: Se o conteúdo do Acumulador está em "1", o conteúdo do Operando indicado na instrução é zerado ("0"). Caso contrário, o conteúdo do Operando não será alterado. Após a operação, o conteúdo do Acumulador é energizado ("1"). Esta operação é uma função condicional, que atribui ao bit do Operando indicado na operação o conteúdo lógico “0” se o conteúdo do Acumulador for igual a “1”. Caso o conteúdo do Acumulador for “0”, o conteúdo do Operando indicado não será alterado. TABELA DA VERDADE: Valores do Operando Flag Zero Acc (valor atual) XXXX XXXX Estado Z NZ Valores de Saída Operando.bit X 0 EXEMPLO: Em um programa de PLC preciso desligar uma saída se duas entradas estiverem ligadas (função E - And). Se uma delas estiver desligada não quero alterar o estado da saída: 1.º Operando: entrada I 1.4 2.º Operando: entrada I 2.4 3.º Operando: saída Q 1.0 Operação ⇒ RL L A Q I I 1.0 1.4 ;Acc = I 0.4 2.4 ;Função E entre Acc e I 2.4 ;Desliga a saída Q 1.0 Após a operação, a saída Q 1.0 será ligada apenas se o resultado da lógica anterior for “1”. Caso contrário, o estado da saída não será alterado. Após a instrução, o Acumulador terá seu estado energizado. OBSERVAÇÃO: Prefira a instrução R para atribuir resultados em lógica de bits. 42 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.1.17 - RESET sem influência no acumulador – Reset OPERANDOS: I Q M - ENTRADA - SAÍDA - MEMÓRIA R Operando R OPERAÇÃO: Oper.bit DESCRIÇÃO: Se o conteúdo do Acumulador está em "1", o conteúdo do Operando indicado na instrução é zerado ("0"). Caso contrário, o conteúdo do operando não será alterado. Após a operação, o conteúdo do Acumulador permanece inalterado. Esta operação é uma função condicional, que atribui ao bit do Operando indicado na operação o estado lógico “0” se o estado do Acumulador for igual a “1’. Caso o conteúdo do Acumulador for igual a “0”, o conteúdo do Operando indicado não será alterado. A diferença desta operação em relação a RL é que após a operação o conteúdo do Acumulador não será energizado. TABELA DA VERDADE: Valores do Operando Flag Zero Acc (valor atual) XXXX XXXX EXEMPLO: Estado Z NZ Valores de Saída Operando.bit X 0 Utilizando-se do mesmo exemplo da instrução RL, preciso desligar uma saída se duas entradas estiverem ligadas (função E - And). Se uma delas estiver desligada não quero alterar o estado da saída: 1.º Operando: entrada I 1.4 2.º Operando: entrada I 2.4 3.º Operando: saída Q 1.0 Operação⇒ L A R I I Q 1.4 2.4 1.0 ;Acc = I 0.4 ;Função E entre Acc e I 2.4 ;Desliga a saída Q 1.0 Após a operação, a saída Q 1.0 será ligada apenas se o resultado da lógica anterior for “1”. Caso contrário, o estado da saída não será alterado. Após a instrução, o Acumulador mantém seu estado. 15/04/2005 43 Manual de PLC – Proteo Mini V1.00 RN 10.1.18 - RESET se lógica negativa – Reset Not OPERANDOS: I Q M - ENTRADAS - SAÍDAS - MEMÓRIAS RN Operando OPERAÇÃO: Oper.bit DESCRIÇÃO: Se o conteúdo do Acumulador for "0", o conteúdo do Operando indicado na instrução é zerado ("0"). Caso contrário, o conteúdo do Operando não será alterado. Esta operação é uma função condicional, que atribui ao bit do Operando indicado na operação o conteúdo lógico “0” se o estado do Acumulador for igual a “0’. Caso o conteúdo do Acumulador for igual a “1”, o conteúdo do Operando indicado não será alterado. TABELA DA VERDADE: Valores do Operando Flag Zero Acc (valor atual) XXXX XXXX Estado Z NZ Valores de Saída Operando.bit 0 X EXEMPLO: Em um programa de PLC preciso desligar uma saída se duas entradas estiverem desligadas (função OU). Se o estado de uma das entradas for “1”, não quero alterar o estado da saída. Após a instrução Reset quero prosseguir com a lógica fazendo uma associação E (And) com outra entrada: 1.º Operando: entrada I 0.3 2.º Operando: entrada I 0.4 3.º Operando: saída Q 2.5 4.º Operando: entrada I 0.7 Operação⇒ L O RN A I I Q I 0.3 0.4 2.5 0.7 ;Acc = I 0.3 ;Função OU entre Acc e I 0.4 ;Desliga a saída Q 2.5 ;Função E com o resultado da associação OU ;anterior Na execução da operação RN, a saída Q 2.5 será desligada apenas se o resultado da lógica anterior for “0”. Caso contrário, o estado da saída não será alterado. Como o Acumulador mantém seu estado, pode-se prosseguir uma seqüência lógica a partir do resultado da lógica anterior. 44 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.1.19 - RESET FORÇADO s/ influência no Acc–Reset Forced OPERANDOS: Q M I - ENTRADA - SAÍDA - MEMÓRIA RF Operando RF OPERAÇÃO: Oper.bit DESCRIÇÃO: O conteúdo do operando indicado na instrução é zerado ("0") independentemente do conteúdo do acumulador. O conteúdo do acumulador permanece inalterado. Esta operação força o estado desligado do operando, ou seja, o bit do operando indicado nesta instrução vai para nível lógico “0” independentemente do estado do Acumulador ou de qualquer outro resultado de operações anteriores. TABELA DA VERDADE: Valores do Operando Flag Zero Acc (valor atual) XXXX Estado X Valores de Saída Operando.bit 0 EXEMPLO: Em um programa de PLC quero forçar o desligamento de uma saída: Operação ⇒ RF Q 0.1 ;Força desligar a saída Q 0.1 Após a operação o Acumulador mantém seu estado anterior. 15/04/2005 45 Manual de PLC – Proteo Mini V1.00 A( 10.1.20 - Operação lógica E – Abre parêntesis – And( OPERANDOS: NÃO POSSUI OPERAÇÃO: A( DESCRIÇÃO: Realiza a operação lógica E (AND) entre o conteúdo anterior do Acumulador e o resultado da operação lógica iniciada nesta instrução e encerrada com a instrução fecha parêntesis do mesmo nível de encadeamento. Caso o conteúdo anterior do Acumulador seja "0", o resultado da operação será sempre "0", qualquer que seja o resultado da lógica contida entre parêntesis. O resultado final é armazenado no próprio Acumulador e no Flag Zero. TABELA DA VERDADE: Valores de Entrada da Operação Resultado da operação Acc (valor lógica anterior) 0 0 0 1 1 0 1 1 Valores de Saída Acc (valor atual) Flag Zero Estado 000H 000H 000H 0FFH Z Z Z NZ OBSERVAÇÕES: 1 - Pode-se programar até 8 níveis de encadeamento. 2 – Esta instrução não deve ser usada no inicio de uma seqüência lógica. EXEMPLO: Com esta instrução pode-se implementar um circuito lógico mais complexo. Por exemplo: 1.º Operando: entrada I 0.0 3.º Operando: entrada I 0.3 5.º Operando: entrada I 0.7 Operações⇒ L A A( L O ) AN ;Carrega o estado de I 0.0 ;Função E com o estado de I 0.1 ;Inicia uma seqüência lógica E com estado do Acc I 0.3 ;Carrega o estado de I 0.3 I 0.4 ;Função OU com o o estado de I 0.4 ;Encerra a seqüência lógica e fecha associação E I 0.7 ;Função E com o complemento de I 0.7 == Q 2.5 ;Atribui o resultado à saída Q 2.5 Após a operação o Acumulador passa a ter o conteúdo do resultado final da operação lógica. 46 I I 2.º Operando: entrada I 0.1 4.º Operando: entrada I 0.4 6.º Operando: saída Q 2.5 0.0 0.1 15/04/2005 Manual de PLC – Proteo Mini V1.00 O( 10.1.21 - Operação lógica OU – Abre parêntesis – Or( OPERANDOS: NÃO POSSUI OPERAÇÃO: O( DESCRIÇÃO: Realiza a operação lógica OU (OR) entre o estado do Acumulador e o resultado da operação lógica iniciada nesta instrução e encerrada com a instrução fecha parêntesis do mesmo nível de encadeamento. Caso o conteúdo anterior do Acumulador seja "1", o resultado da operação será sempre "1", qualquer que seja o resultado da lógica contida entre parêntesis. O resultado final é armazenado no próprio Acumulador e no Flag Zero. TABELA DA VERDADE: Valores de Entrada da Operação Oper.bit Acc (valor anterior) 0 0 0 1 1 0 1 1 Valores de Saída Acc (valor atual) Flag Zero Estado 000H 0FFH 0FFH 0FFH Z NZ NZ NZ OBSERVAÇÕES: 1 - Pode-se programar até 8 níveis de encadeamento. 2 - Não pode ser a instrução inicial de uma seqüência lógica. EXEMPLO: Com esta instrução pode-se implementar um circuito lógico mais complexo. Por exemplo: 1.º Operando: entrada I 0.3 3.º Operando: entrada I 0.1 Operações⇒ L O( L A ) == I 0.3 I I 0.3 0.4 Q 1.5 2.º Operando: entrada I 0.0 4.º Operando: saída Q 1.5 ;Carrega o estado de I 0.3 ;Inicia uma seqüência lógica OU com estado do Acc ;Carrega o estado de I 0.3 ;Função E com o o estado de I 0.4 ;Encerra a seqüência lógica e fecha associação E ;Atribui o resultado à saída Q 1.5 Após a operação o Acumulador passa a ter o conteúdo do resultado final da operação lógica. 15/04/2005 47 Manual de PLC – Proteo Mini 10.1.22 - Operação Fecha parêntesis OPERANDOS: V1.00 ) NÃO POSSUI OPERAÇÃO: ) DESCRIÇÃO: Encerra operação lógica iniciada com a instrução de abertura do mesmo nível de encadeamento que dá origem ao bloco lógico. Após esta operação o acumulador recebe o status resultante da operação entre o status do acumulador anterior à abertura do bloco e o resultado da operação lógica encerrada no bloco. 10.1.23 - Transição da borda de subida – Edge Up OPERANDOS: EU NÃO POSSUI OPERAÇÃO: EU DESCRIÇÃO: Detecta a transição de estado de “0” para “1” do estado do Acumulador no final da operação anterior (borda de subida). O resultado da instrução é 0 (zero) se não ocorreu a transição de borda de subida ou se o Acumulador permanecer em nível lógico constante (nível 1 ou nível 0). O resultado será “1” no ciclo de PLC em que ocorrer a transição em borda de subida. Esta instrução é utilizada para condições onde uma dada condição tem de variar para que seja interpretado como um novo comando. Sua principal aplicação está em circuitos contadores, segurança de acionamento e leitura de sinais digitais. TABELA DA VERDADE: Transições do Acumulador 0 permanece em 0 1 para 0 0 para 1 1 permanece em 1 Estado final do Acumulador Z Z NZ Z 10.1.24 - Transição da borda de descida – Edge Down OPERANDOS: ED NÃO POSSUI OPERAÇÃO: ED 48 15/04/2005 Manual de PLC – Proteo Mini V1.00 DESCRIÇÃO: Detecta a transição de estado “1” para “0” do Acumulador no final da operação anterior (borda de descida). O resultado é “0” se não ocorreu a transição de borda de descida ou se o Acumulador permanecer em nível lógico constante (nível 1 ou nível 0). O resultado será “1” no ciclo de PLC em que ocorrer a transição de borda de decida. Esta instrução é utilizada para condições onde o sinal de entrada tem de variar para que seja interpretado como um novo comando, sua principal aplicação está em circuitos contadores, segurança de acionamento e leitura de sinais digitais. TABELA DA VERDADE: Transições do Acumulador 0 permanece em 0 1 para 0 0 para 1 1 permanece em 1 Estado do final do Acumulador Z NZ Z Z 10.1.25 - Transição de borda – EDGe OPERANDOS: EDG NÃO POSSUI OPERAÇÃO: EDG DESCRIÇÃO: Detecta a transição de estado de “0” para “1” ou de ”1” para ”0” (transição de borda). O resultado é ”0” se o estado do Acumulador este permanecer em nível lógico constante (nível 1 ou nível 0) e o resultado será ”1” na ocorrência de transição de borda de subida ou de descida, por um por um ciclo de PLC. Esta instrução é utilizada para condições onde o sinal de entrada tem de variar para que seja interpretado como um novo comando, sua principal aplicação está em circuitos contadores, segurança de acionamento e leitura de sinais digitais. TABELA DA VERDADE: Transições do Acumulador 0 permanece em 0 1 para 0 0 para 1 1 permanece em 1 15/04/2005 Estado do final do Acumulador Z NZ NZ Z 49 Manual de PLC – Proteo Mini V1.00 10.2 – Operações com BYTE ou WORD e resultado BIT Ao desenvolver uma aplicação utiliza-se sinais de entrada e saída da máquina, memórias de comunicação entre o CNC e o PLC e memórias definidas para a aplicação. Frequentemente nos defrontamos com situações nas quais é necessário usar, numa associação lógica, não apenas elementos definidos como “bits”, mas também condições e estados de memórias “byte” e “word”, por exemplo se uma posição de memória contém um valor igual a outra posição de memória, ou diferente de uma dada constante, ou maior ou menor que outra. Para resolver esta situação, a MCS desenvolveu algumas novas instruções em seu PLC, que permitem a utilização de condições e estados de memórias byte e word em associação lógica de bits. Para visualizar melhor o significado disso é útil estabelecer a relação da lógica de bits com a lógica de contatos (ladder), associando o estado de um bit ao estado de um contato. O estado de um bit pode ser associado ao estado de um contato pela seguinte tabela: Estado do bit 0 1 Estado do contato Aberto Fechado No caso de memórias byte ou word, como fazer uma associação de seu estado com o estado de um bit ou um contato? Primeiramente deve-se estabelecer quais estados serão detectados. Na maioria da vezes, o que se deseja saber é se uma memória é igual a outra, se é diferente, se é maior ou menor que outra. Naturalmente, para se estabelecer uma das condições acima, deve-se comparar as duas memórias. Nada mais lógico do que se estabelecer que uma das memórias para comparação seja o próprio acumulador do MCSplc. A outra memória ou dado constante pode estar indicado diretamente na instrução (operando e endereço ou valor da constante) . Desta forma fica estabelecido que, para se utilizar estas novas instruções, deve-se antes de mais nada carregar o Acumulador com um dos dados de comparação. Como, numa seqüência lógica de bits, o Flag Zero estabelece o resultado da associação anterior, pode-se prosseguir numa seqüência lógica carregando-se o Acumulador com um dos valores para comparação sem que se perca o estado anterior da lógica, se Z ou NZ. As seguintes tabelas indicam o estado de contatos para comparações de valores iguais (Z), diferentes (NZ), maior ou igual (P) e menor ou negativo (M). Comparação se igual (caso Z): Estado do ACC 055H 055H 50 Conteúdo do Operando da Instrução 023H 055H Estado do contato Aberto Fechado Estado do bit para lógica 0 1 15/04/2005 Manual de PLC – Proteo Mini V1.00 Comparação se diferente (caso NZ): Estado do ACC 055H 055H Conteúdo do Operando da Instrução 023H 055H Estado do contato Fechado Aberto Estado do bit para lógica 0 1 Estado do contato Fechado Fechado Aberto Estado do bit para lógica 1 1 0 Estado do contato Aberto Aberto Fechado Estado do bit para lógica 0 0 1 Comparação se positivo ou maior ou igual (caso P): Estado do ACC 055H 055H 055H Conteúdo do Operando da Instrução 023H 055H 056H Comparação se menor ou negativo (caso M): Estado do ACC 055H 055H 055H Conteúdo do Operando da Instrução 023H 055H 056H As tabelas acima serão usadas para explicar a ação das instruções a seguir. 15/04/2005 51 Manual de PLC – Proteo Mini V1.00 LZ 10.2.1 – Energiza Acumulador se comparação resultar IGUAL OPERANDOS: MB MW - MEMÓRIAS BYTE - MEMÓRIAS WORD LZ Operando KB KW - CONSTANTES BYTE - CONSTANTES WORD OPERAÇÃO: Especificação do Operando DESCRIÇÃO: Se o conteúdo do Acumulador for igual ao conteúdo do Operando indicado na operação, energiza-se o Acumulador (Flag Zero no estado NZ). Caso contrário, se o conteúdo do Operando for diferente do conteúdo do Acumulador, o Acumulador é zerado (Flag Zero no estado Z). A instrução LZ é uma instrução de comparação de conteúdos de Byte com Byte entre Acumulador e o Operando indicado na instrução e o resultado em bit (zero ou um) ou Byte (00H ou 0FFH) ou uma comparação de conteúdos de Word com Word e o resultado em bit ou em Word (0000H ou 0FFFFH). Em qualquer um dos casos temos sempre a resposta digital, se os conteúdos forem iguais teremos o conteúdo do Acumulador em nível lógico “1” (Flag Zero no estado NZ) e se estes conteúdos forem diferentes teremos o conteúdo do Acumulador em nível lógico “0” (Flag Zero no estado Z). Como esta é uma instrução para carregar (Load) o estado do Acumulador, deve sempre ser usada no início de uma associação lógica, após carregar no Acumulador a variável ou constante para comparação. EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a um contato normal aberto no início de uma linha de lógica de ladder. Se as variáveis forem diferentes o contato permanece aberto. Se as variáveis forem iguais, o contato fecha. RESULTADOS: Comparação de igualdade (LZ) Acc = Operando Acc ≠ Operando Resultado da Operação no ACC 0FFH ou 0FFFFH 00H ou 0000H Estado do contato Fechado Aberto Flag NZ Z EXEMPLO: Em uma programação do MCSplc deseja-se detectar a execução da função auxiliar M03 pelo programa do CNC. 1.º Operando: memória byte 72 2.º Operando: constante byte 03H 3.º Operando: memoria bit M 211.0 4.º Operando: memoria bit M 211.1 Operação⇒ L LZ S R MB KB M M 72 03H 211.0 211.1 ⇒ Número da função auxiliar em execução ⇒ Código da função auxiliar M03 ⇒ Memória indicativa de sentido M03 ⇒ Memória indicativa de sentido M04 ;Carrega conteúdo de MB 72 no Acc. ;Testa se MB 72 = 03H ;Liga a memória de função M03 ;Desliga a memória de função M04 Após a Operação o Acumulador passa a ter o conteúdo do resultado da comparação entre a memória e a constante. Se a comparação der um resultado não igual, nada é feito. Se a comparação der um resultado igual, a memória M 211.0 será ligada e a memória M 211.1 será desligada. 52 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.2.2 - Energiza Acc se comparação resultar DIFERENTE OPERANDOS: MB MW - MEMÓRIAS BYTE - MEMÓRIAS WORD LNZ Operando KB KW LNZ - CONSTANTES BYTE - CONSTANTES WORD OPERAÇÃO: Especificação do Operando DESCRIÇÃO: Se o conteúdo do Acumulador for diferente do conteúdo do Operando indicado na operação, energiza-se o Acumulador (Flag Zero no estado NZ). Caso contrário, se o conteúdo do Operando for igual ao conteúdo do Acumulador, o Acumulador é zerado (Flag Zero no estado Z).A instrução LNZ é uma instrução de comparação de conteúdos de Byte com Byte entre Acumulador e o Operando indicado na instrução e o resultado em bit (zero ou um) ou Byte (00H ou 0FFH) ou uma comparação de conteúdos de Word com Word e o resultado em bit ou em Word (0000H ou 0FFFFH). Em qualquer um dos casos temos sempre a resposta digital, se os conteúdos forem diferentes teremos o conteúdo do Acumulador em nível lógico “1” (Flag Zero no estado NZ) e se estes conteúdos forem iguais teremos o conteúdo do Acumulador em nível lógico “0” (Flag Zero no estado Z). Como esta é uma instrução para carregar (Load) o estado do Acumulador, deve sempre ser usada no início de uma associação lógica, após carregar no Acumulador a variável ou constante para comparação. EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a um contato normal aberto no início de uma linha de lógica de ladder. Se as variáveis forem iguais o contato permanece aberto. Se as variáveis forem diferentes, o contato fecha. RESULTADOS: Comparação de diferenças (LNZ) Acc = Operando Acc ≠ Operando Resultado da Operação no ACC 0FFH ou 0FFFFH 00H ou 0000H Estado do contato Aberto Fechado Flag NZ Z EXEMPLO: Em uma programação do MCSplc deseja-se detectar o estado de emergência no CNC. Se a variável MB 383 estiver carregada com um valor diferente de 000H, o CNC indica ao PLC que irá entrar em emergência. 1.º Operando: memória byte 384 2.º Operando: constante byte 000H 3.º Operando: memoria bit M 211.0 4.º Operando: memoria bit M 211.1 Operação⇒ L LNZ R R MB KB M M ⇒ Estado de emergência no CNC ⇒ Código do estado normal (não emergência) ⇒ Memória indicativa de sentido M03 ⇒ Memória indicativa de sentido M04 384 ;Carrega conteúdo de MB 384 no Acumulador. 000H ;Testa se diferente de 000H 211.0 ;Desliga a memória de função M03 211.1 ;Desliga a memória de função M04 Após a Operação o Acumulador passa a ter o conteúdo do resultado da comparação entre a memória e a constante. Se a comparação der um resultado igual, nada é feito. Se a comparação der um resultado diferente, as memórias M 211.0 e M 211.1 serão desligadas. 15/04/2005 53 Manual de PLC – Proteo Mini 10.2.3 - Energiza Acc se comparação resultar MENOR OPERANDOS: MB MW - MEMÓRIAS BYTE - MEMÓRIAS WORD LM Operando KB KW V1.00 LM - CONSTANTES BYTE - CONSTANTES WORD OPERAÇÃO: Especificação do Operando DESCRIÇÃO: Se o conteúdo do Acumulador for menor do que o conteúdo do Operando indicado na operação, energiza-se o Acumulador (Flag Zero no estado NZ). Caso contrário, se o conteúdo do Operando for maior ou igual ao conteúdo do Acumulador, o Acumulador é zerado (Flag Zero no estado Z). A instrução LM é uma instrução de comparação de conteúdos de Byte com Byte entre Acumulador e o Operando indicado na instrução e o resultado em bit (zero ou um) ou Byte (00H ou 0FFH) ou uma comparação de conteúdos de Word com Word e o resultado em bit ou em Word (0000H ou 0FFFFH). Em qualquer um dos casos temos sempre a resposta digital. Se o conteúdo do Acumulador for menor que o Operando, o estado do Acumulador será “1” (Flag Zero no estado NZ). Se o conteúdo do Acumulador for maior ou igual ao Operando, o estado do Acumulador será “0” (Flag Zero no estado Z). Como esta é uma instrução para carregar (Load) o estado do Acumulador, deve sempre ser usada no início de uma associação lógica, após carregar no Acumulador a variável ou constante para comparação. EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a um contato normal aberto no início de uma linha de lógica de ladder. Se o conteúdo do Operando for maior ou igual ao do Acumulador, o contato permanece aberto. Se for menor, o contato fecha. RESULTADOS: Comparação se Menor (LM) Acc < Operando Acc >= Operando Resultado da Operação no ACC 0FFH ou 0FFFFH 00H ou 0000H Estado do contato Fechado Aberto Flag NZ Z EXEMPLO: Em uma programação do MCSplc deseja-se bloquear o avanço dos eixos se o potenciômetro de avanço estiver com um valor inferior a 5%. 1.º Operando: memória byte 373 ⇒ Porcentagem do pot de avanço no CNC 2.º Operando: constante byte 005H ⇒ Limite inferior para liberar avanço 3.º Operando: memória bit 210.0 ⇒ Bloqueio de avanço Operação⇒ L LM == MB KB M 373 5 210.0 ;Carrega conteúdo de MB 373 no Acc. ;Testa se menor do que 5 ;Bloqueia avanço Após a Operação o Acumulador passa a ter o conteúdo do resultado da comparação entre a memória e a constante. Se a comparação der um resultado maior ou igual, a memória M 210.0 será desligada. Se a comparação der um resultado menor, a memória M 210.0 será ligada. 54 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.2.4 - Energiza Acc se comparação resultar MAIOR OU IGUAL OPERANDOS: MB MW - MEMÓRIAS BYTE - MEMÓRIAS WORD LP Operando KB KW LP - CONSTANTES BYTE - CONSTANTES WORD OPERAÇÃO: Especificação do Operando DESCRIÇÃO: Se o conteúdo do Acumulador for maior ou igual ao conteúdo do Operando indicado na operação, energiza-se o Acumulador (Flag Zero no estado NZ). Caso contrário, se o conteúdo do Acumulador for menor que o conteúdo do Operando, o Acumulador é zerado (Flag Zero no estado Z). A instrução “LP” é uma instrução de comparação de conteúdos de Byte com Byte entre Acumulador e o Operando indicado na instrução e o resultado em bit (zero ou um) ou Byte (00H ou 0FFH) ou uma comparação de conteúdos de Word com Word e o resultado em bit ou em Word (0000H ou 0FFFFH). Em qualquer um dos casos temos sempre a resposta digital, se o conteúdo do Acumulador for maior ou igual ao Operando, o estado do Acumulador será “1” (Flag Zero no estado NZ). Se o conteúdo do Acumulador for menor que o conteúdo do Operando, o estado do Acumulador será “0” (Flag Zero no estado Z). Como esta é uma instrução para carregar (Load) o estado do Acumulador, deve sempre ser usada no início de uma associação lógica, após carregar no Acumulador a variável ou constante para comparação. EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a um contato normal aberto no início de uma linha de lógica de ladder. Se o conteúdo do Operando for menor que o do Acumulador, o contato permanece aberto. Se for maior ou igual, o contato fecha. RESULTADOS: Comparação se Maior ou igual (LP) Acc < Operando Acc >= Operando Resultado da Operação no ACC 00H ou 0000H 0FFH ou 0FFFFH Estado do contato Aberto Fechado Flag Z NZ EXEMPLO: Em uma programação do MCSplc deseja-se observar um limite de temperatura. Pode-se ler a temperatura através de entradas analógicas do CNC e fazer a conversão para graus. Se a temperatura exceder o limite, o PLC ativa uma mensagem. 1.º Operando: memória word 600 ⇒ Temperatura em graus 2.º Operando: memória word 1700 ⇒ Limite para temperatura 3.º Operando: memória bit 1574.0 ⇒ Mensagem 9 (rotinas básicas do MCSplc) Operação⇒ L MW 600 ;Carrega conteúdo de MW 600 no ACC LP MW 1700 ;Testa se maior do que o conteúdo de MW 1700 == M 1574.0 ;Mensagem 9 Após a Operação o Acumulador passa a ter o conteúdo do resultado da comparação entre a memória e a constante. Se a comparação der um resultado maior ou igual, a memória M 1574.0 será ligada. Se a comparação der um resultado menor, a memória M 15754.0 será desligada. 15/04/2005 55 Manual de PLC – Proteo Mini V1.00 AZ 10.2.5 – Operação E (AND) – Compara se IGUAL OPERANDOS: OPERAÇÃO: AZ MB MW - MEMÓRIAS BYTE - MEMÓRIAS WORD Operando KB KW - CONSTANTES BYTE - CONSTANTES WORD Endereço ou valor da constante DESCRIÇÃO: O PLC realiza a operação lógica E (AND) entre o estado anterior do Acumulador (estado do Flag Zero) e o resultado da comparação indicada na operação transformado no estado de um bit (“0” ou “1”). Caso o conteúdo anterior do Acumulador seja "0", o resultado da operação será sempre "0", qualquer que seja o resultado da comparação indicada na instrução. O bit que será usado na lógica será “1” se o conteúdo do Acumulador for igual ao conteúdo do Operando e será “0” se o conteúdo do Acumulador for diferente do conteúdo do Operando. A instrução AZ é uma instrução de comparação de conteúdos de Byte com Byte ou Word com Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em qualquer um dos casos temos sempre a reposta digital, se os conteúdos forem iguais teremos o conteúdo do bit em nível lógico “1” e se estes conteúdos forem diferentes teremos o conteúdo do bit em nível lógico “0”. EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a uma associação em série de um contato normal aberto numa linha de lógica de ladder. Este contato permanece aberto se a comparação resultar diferente e ficará fechado se a comparação resultar igual. RESULTADOS: Estado do Flag Zero no ACC Z Z NZ NZ Comparação se lgual (AZ) Acc = Operando Acc ≠ Operando Acc = Operando Acc ≠ Operando Resultado da Operação no ACC 000H 000H 0FFH 000H Flag resultante Z Z NZ Z EXEMPLO: Como no exemplo da instrução LZ, deseja-se detectar a execução da função auxiliar M03 pelo programa do CNC. Porém, a saída só poderá ser ligada se a entrada indicando que o acionamento do eixo árvore está ok estiver ligada. 1.º Operando: entrada I 3.0 2.º Operando: memória byte 72 3.º Operando: constante byte 03H 4.º Operando: memória bit M 211.0 5.º Operando: memória bit M 211.1 ⇒ Acionamento do eixo árvore ok ⇒ Número da função auxiliar em execução ⇒ Código da função auxiliar M03 ⇒ Memória indicativa de sentido M03 ⇒ Memória indicativa de sentido M04 Operação⇒ L I 3.0 ;Carrega Acc com estado de I 3.0 L MB 72 ;Carrega conteúdo de MB 72 no Acc. AZ KB 03H ;Testa MB 72 = 03H e faz lógica E com I 3.0 S M 211.0 ;Liga a memória de função M03 R M 211.1 ;Desliga a memória de função M04 Após a Operação o Acumulador passa a ter o conteúdo da associação lógica E (AND) entre a entrada I 3.0 e o resultado da comparação entre a memória e a constante. Se a entrada estiver ligada e a comparação der um resultado igual, a memória M 211.0 será ligada e a memória M 211.1 será desligada. 56 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.2.6 - Operação E (AND) – Compara se DIFERENTE OPERANDOS: MB MW - MEMÓRIAS BYTE - MEMÓRIAS WORD OPERAÇÃO: ANZ Operando DESCRIÇÃO: KB KW ANZ - CONSTANTES BYTE - CONSTANTES WORD Especificação do Operando O PLC realiza a operação lógica E (AND) entre o estado anterior do Acumulador (estado do Flag Zero) e o resultado da comparação indicada na operação transformado no estado de um bit (“0” ou “1”). Caso o conteúdo anterior do Acumulador seja "0", o resultado da operação será sempre "0", qualquer que seja o resultado da comparação indicada na instrução.O bit que será usado na lógica será “1“ se o conteúdo do Acumulador for diferente do conteúdo do Operando e será “0“ se o conteúdo do Acumulador for igual ao conteúdo do Operando. A instrução ANZ é uma instrução de comparação de conteúdos de Byte com Byte ou Word com Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em qualquer um dos casos temos sempre a reposta digital, se os conteúdos forem diferentes teremos o conteúdo do bit em nível lógico “1” e se estes conteúdos forem iguais teremos o conteúdo do bit em nível lógico “0”. EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a uma associação em série de um contato normal aberto numa linha de lógica de ladder. Este contato permanece aberto se a comparação resultar igual e ficará fechado se a comparação resultar diferente. RESULTADOS: Estado do Flag Zero no ACC Z Z NZ NZ Comparação se ≠ (ANZ) Acc = Operando Acc ≠ Operando Acc = Operando Acc ≠ Operando Resultado da Operação no Flag ACC 000H Z 000H Z 000H Z 0FFH NZ EXEMPLO: Em uma programação do MCSplc deseja-se detectar se é necessário efetuar a troca de uma ferramenta. A vairavel 72 indica ao PLC o número da ferramenta pedida pelo programa CNC. 1.º Operando: memória bit 210.1 2.º Operando: memória byte 74 3.º Operando: memória byte 220 4.º Operando: saída Q 2.0 Operação⇒ L L ANZ == M MB MB Q 210.1 74 220 2.0 ⇒ Memória indicativa de modos automáticos ⇒ Código T passado pelo CNC ⇒ Número da ferramenta selecionada na máquina ⇒ Saída indicativa de troca manual de ferramenta ;CNC em modo automático ;Carrega conteúdo de MB 74 no Acumulador. ;Testa se diferente de MB 220 ;Passa resultado para a saída Q 2.0 Após a Operação o Acumulador passa a ter o conteúdo da associação lógica E (AND) entre a memória M 210.1 e o resultado da comparação entre as memórias MB 74 e MB 220. Se a memória M 210.1 estiver ligada e a comparação der um resultado diferente, a saída Q 2.0 será ligada. 15/04/2005 57 Manual de PLC – Proteo Mini 10.2.7 - Operação E (AND) – Compara se MENOR OPERANDOS: MB MW - MEMÓRIAS BYTE - MEMÓRIAS WORD KB KW V1.00 AM - CONSTANTES BYTE - CONSTANTES WORD OPERAÇÃO: AM Operando Especificação do Operando DESCRIÇÃO: O PLC realiza a operação lógica E (AND) entre o estado anterior do Acumulador (estado do Flag Zero) e o resultado da comparação indicada na operação transformado no estado de um bit (“0“ ou “1“). Caso o conteúdo anterior do Acumulador seja "0", o resultado da operação será sempre "0", qualquer que seja o resultado da comparação indicada na instrução. O bit que será usado na lógica será “1“ se o conteúdo do Acumulador for menor (negativo) que o conteúdo do Operando e será “0“ se o conteúdo do Acumulador for maior ou igual (positivo) ao conteúdo do Operando. A instrução AM é uma instrução de comparação de conteúdos de Byte com Byte ou Word com Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em qualquer um dos casos temos sempre a reposta digital. Se o conteúdo do Acumulador for menor que o Operando, o estado do Acumulador será “1” (Flag Zero no estado NZ). Se o conteúdo do Acumulador for maior ou igual ao Operando, o estado do Acumulador será “0” (Flag Zero no estado Z). EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a uma associação em série de um contato normal aberto numa linha de lógica de ladder. Este contato permanece aberto se a comparação resultar maior ou igual e ficará fechado se a comparação resultar menor. RESULTADOS: Estado do Flag Z no ACC Z Z NZ NZ Comparação se Menor (AM) Acc < Operando Acc >= Operando Acc < Operando Acc >= Operando Resultado da Operação no ACC 000H 000H 0FFH 000H Flag Z Z NZ Z EXEMPLO: Em uma programação do MCSplc deseja-se desligar as saídas de indicação de giro do eixo árvore se não existe solicitação de giro e a rotação do eixo árvore estiver abaixo de 10 rpm. 1.º Operando: memória bit M 211.0 2.º Operando: memória bit M 211.1 3.º Operando: memória word 85 4.º Operando: constante word 10 5.º Operando: saída Q 1.0 6.º Operando: saída Q 1.1 ⇒ Memória indicativa de sentido M03 ⇒ Memória indicativa de sentido M04 ⇒ Rotação real do eixo árvore ⇒ Limite para desligar saídas de sentido de giro ⇒ Saída indicativa de sentido M03 ⇒ Saída indicativa de sentido M04 Operação⇒ LN M 211.0 ;Carrega estado inverso da memória M03 AN M 211.1 ;Lógica E com o estado inverso de M04 L MW 85 ;Carrega conteúdo de MW 85 no Acumulador. AM KW 10 ;Testa se MENOR QUE 10 R Q 1.0 ;Desliga a saída se função M03 R Q 1.1 ;Desliga a saída se função M03 Após a Operação o Acumulador passa a ter o conteúdo da associação E (AND) entre as memórias de sentido de giro e o resultado da comparação entre a memória MW 85 e a constante 10. Se a comparação der um resultado maior ou igual, nada é feito. Se a comparação der um resultado menor e as duas memórias de sentido de giro estiverem desligadas, as saídas Q 0.1 e Q1.1 serão desligadas. 58 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.2.8 - Operação E (AND) – Compara se MAIOR OU IGUAL OPERANDOS: OPERAÇÃO: AP DESCRIÇÃO: MB MW - MEMÓRIAS BYTE - MEMÓRIAS WORD Operando KB KW AP - CONSTANTES BYTE - CONSTANTES WORD Especificação do Operando O PLC realiza a operação lógica E (AND) entre o estado anterior do Acumulador (estado do Flag Zero) e o resultado da comparação indicada na operação transformado no estado de um bit ("0" ou "1"). Caso o conteúdo anterior do Acumulador seja "0", o resultado da operação será sempre "0", qualquer que seja o resultado da comparação indicada na instrução. O bit que será usado na lógica será "1" se o conteúdo do Acumulador for maior ou igual (positivo) que o conteúdo do Operando e será "0" se o conteúdo do Acumulador for menor que o conteúdo do Operando. A instrução AP é uma instrução de comparação de conteúdos de Byte com Byte ou Word com Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em qualquer um dos casos temos sempre a reposta digital Se o conteúdo do Acumulador for maior ou igual ao Operando, o estado do Acumulador será “1” (Flag Zero no estado NZ). Se o conteúdo do Acumulador for menor que o Operando, o estado do Acumulador será “0” (Flag Zero no estado Z). EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a uma associação em série de um contato normal aberto numa linha de lógica de ladder. Este contato permanece aberto se a comparação resultar menor e ficará fechado se a comparação resultar maior ou igual. RESULTADOS: Estado do Flag Z no Acc Comparação se >= (AP) Resultado da Oper. no Acc Flag Acc < Operando Z 000H Z Acc >= Operando Z 000H Z Acc < Operando NZ 000H Z Acc >= Operando NZ 0FFH NZ EXEMPLO: Em uma programação do MCSplc deseja-se indicar ao operador a necessidade de trocar a gama de velocidade do eixo árvore se a rotação programada for superior ao limite de rotação da gama selecionada. 1.º Operando: memoria bit M 220.0 ⇒ Memória indicativa de gama baixa 2.º Operando: memória word 66 ⇒ Rotação solicitada pelo programa CNC 3.º Operando: constante word 500 ⇒ Limite para rotação em gama baixa 4.º Operando: saída Q 2.1 ⇒ Saída indicativa de troca para gama alta Operação⇒ L M 220.0 ;Carrega estado da memória gama baixa L MW 66 ;Carrega conteúdo de MW 66 no Acumulador. AP KW 500 ;Testa se maior ou igual a 500 == Q 2.1 ;Saída indicativa de troca de gama Após a Operação o Acumulador passa a ter o conteúdo da associação E (AND) entre a memória de gama baixa e o resultado da comparação entre a memória MW 66 e a constante 500. Se a comparação der um resultado menor, a saída fica desligada. Se a comparação der um resultado maior ou igual e a memória de gama baixa estiver ligada, a saída Q 2.1 será ligada. 15/04/2005 59 Manual de PLC – Proteo Mini V1.00 10.2.9 - Operação OU (OR) – Compara se IGUAL OPERANDOS: OPERAÇÃO: OZ DESCRIÇÃO: MB MW - MEMÓRIAS BYTE - MEMÓRIAS WORD Operando KB KW OZ - CONSTANTES BYTE - CONSTANTES WORD Especificação do Operando O PLC realiza a operação lógica OU (OR) entre o estado anterior do Acumulador (estado do Flag Zero) e o resultado da comparação indicada na operação transformado no estado de um bit ("0" ou "1"). Caso o conteúdo anterior do Acumulador seja "1", o resultado da operação será sempre "1", qualquer que seja o resultado da comparação indicada na instrução. O bit que será usado na lógica será "1" se o conteúdo do Acumulador for igual ao conteúdo do Operando e será "0" se o conteúdo do Acumulador for diferente do conteúdo do Operando. A instrução OZ é uma instrução de comparação de conteúdos de Byte com Byte ou Word com Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em qualquer um dos casos temos sempre a reposta digital. Se os conteúdos forem iguais teremos o conteúdo do bit em nível lógico “1” e se estes conteúdos forem diferentes teremos o conteúdo do bit em nível lógico “0”. EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a uma associação em paralelo de um contato normal aberto numa linha de lógica de ladder. Este contato permanece aberto se a comparação resultar diferente e ficará fechado se a comparação resultar igual. RESULTADOS: Estado do Flag Zero no Comparação se Igual Resultado da Operação no Flag ACC (OZ) ACC Acc = Operando Z 0FFH NZ Z 000H Z Acc ≠ Operando Acc = Operando NZ 0FFH NZ NZ 0FFH NZ Acc ≠ Operando EXEMPLO: Como no exemplo da instrução LZ, deseja-se indicar giro do eixo árvore no sentido M03. Para isso detectar a execução das funções auxiliares M03 e M13 pelo programa do CNC. 1.º Operando: memória byte 72 ⇒ Número da função auxiliar em execução 2.º Operando: constante byte 003H ⇒ Código da função auxiliar M03 3.º Operando: memória byte 72 ⇒ Número da função auxiliar em execução 4.º Operando: constante byte 013H ⇒ Código da função auxiliar M03 5.º Operando: memória bit M 211.0 ⇒ Memória indicativa de sentido M03 6.º Operando: memória bit M 211.1 ⇒ Memória indicativa de sentido M04 Operação⇒ L MB 72 ;Carrega conteúdo de MB 72 no Acc. LZ KB 03H ;Testa MB 72 = 003H e energiza Acc se igual L MB 72 ;Carrega conteúdo de MB 72 no Acumulador. OZ KB 03H ;Testa MB 72 = 013H e faz lógica OU S M 211.0 ;Liga a memória de função M03 R M 211.1 ;Desliga a memória de função M04 Após a operação o Acumulador passa a ter o conteúdo da associação OU (OR) entre o estado do Acumulador após a instrução LZ e o resultado da comparação entre a memória MB 72 e a constante 013H. 60 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.2.10 - Operação OU (OR) – Compara se DIFERENTE OPERANDOS: MB MW - MEMÓRIAS BYTE - MEMÓRIAS WORD OPERAÇÃO: ONZ Operando KB KW ONZ - CONSTANTES BYTE - CONSTANTES WORD Especificação do Operando DESCRIÇÃO: O PLC realiza a operação lógica OU (OR) entre o estado anterior do Acumulador (estado do Flag Zero) e o resultado da comparação indicada na operação transformado no estado de um bit ("0" ou "1"). Caso o conteúdo anterior do Acumulador seja "1", o resultado da operação será sempre "1", qualquer que seja o resultado da comparação indicada na instrução. O bit que será usado na lógica será "1" se o conteúdo do Acumulador for diferente do conteúdo do Operando e será "0" se o conteúdo do Acumulador for igual ao conteúdo do Operando. A instrução ONZ é uma instrução de comparação de conteúdos de Byte com Byte ou Word com Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em qualquer um dos casos temos sempre a reposta digital. Se os conteúdos forem diferentes teremos o conteúdo do bit em nível lógico “1” e se forem iguais teremos o conteúdo do bit em nível lógico “0”. EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a uma associação em paralelo de um contato normal aberto numa linha de lógica de ladder. RESULTADOS: Estado do Flag Zero no ACC Z Z NZ NZ Comparação se Menor (ONZ) Acc = Operando Acc ≠ Operando Acc = Operando Acc ≠ Operando Resultado da Operação no Flag ACC 000H Z 0FFH NZ 0FFH NZ 0FFH NZ EXEMPLO: Em uma programação do MCSplc deseja-se detectar o estado de emergência no CNC. Se a entrada de emergência estiver desligada ou se a variável MB 383 estiver carregada com um valor diferente de 000H, o CNC indica ao PLC que irá entrar em emergência. 1.º Operando: entrada I 0.2 2.º Operando: memória byte 384 3.º Operando: constante byte 000H 4.º Operando: memória bit M 211.0 5.º Operando: memória bit M 211.1 ⇒ Entrada de emergência ⇒ Estado de emergência no CNC ⇒ Código do estado normal (não emergência) ⇒ Memória indicativa de sentido M03 ⇒ Memória indicativa de sentido M04 Operação⇒ LN I 0.2 ;Carrega estado inverso de I 0.2 L MB 384 ;Carrega conteúdo de MB 384 no Acumulador. ONZ KB 000H ;Testa se diferente de 000H e faz lógica OU R M 211.0 ;Desliga a memória de função M03 R M 211.1 ;Desliga a memória de função M04 Após a Operação o Acumulador passa a ter o conteúdo do estado inverso de I 0.2 associado em lógica OU ao resultado da comparação entre a memória e a constante. 15/04/2005 61 Manual de PLC – Proteo Mini 10.2.11 - Operação OU (OR) – Compara se MENOR OPERANDOS: MB MW - MEMÓRIAS BYTE - MEMÓRIAS WORD OM Operando KB KW V1.00 OM - CONSTANTES BYTE - CONSTANTES WORD OPERAÇÃO: Especificação do Operando DESCRIÇÃO: O PLC realiza a operação lógica OU (OR) entre o estado anterior do Acumulador (estado do Flag Zero) e o resultado da comparação indicada na operação transformado no estado de um bit ("0" ou "1"). Caso o conteúdo anterior do Acumulador seja "1", o resultado da operação será sempre "1", qualquer que seja o resultado da comparação indicada na instrução. O bit que será usado na lógica será "1" se o conteúdo do Acumulador for menor (negativo) que o conteúdo do Operando e será "0" se o conteúdo do Acumulador for maior ou igual (positivo) em relação ao conteúdo do Operando. A instrução OM é uma instrução de comparação de conteúdos de Byte com Byte ou Word com Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em qualquer um dos casos temos sempre a reposta digital. Se o conteúdo do Acumulador for menor que o Operando, o estado do Acumulador será “1” (Flag Zero no estado NZ). Se o conteúdo do Acumulador for maior ou igual ao Operando, o estado do Acumulador será “0” (Flag Zero no estado Z). EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a uma associação em paralelo de um contato normal aberto numa linha de lógica de ladder. RESULTADOS: Estado do Flag Zero no ACC Z Z NZ NZ Comparação se Menor (OM) Acc < Operando Acc >= Operando Acc < Operando Acc >= Operando Resultado da Operação no Flag ACC 0FFH NZ 000H Z 0FFH NZ 0FFH NZ EXEMPLO: Numa aplicação do MCSplc deseja-se determinar se uma variável está fora de uma faixa de valores predeterminada. 1.º Operando: memória byte 450 2.º Operando: constante byte 200 3.º Operando: memória byte 450 4.º Operando: constante byte 200 5.º Operando: memória byte 450 6.º Operando: constante byte 25 7.º Operando: memória bit M 222.0 ⇒ Variável a ser monitorada ⇒ Limite superior para a variável ⇒ Variável a ser monitorada ⇒ Limite superior para a variável ⇒ Variável a ser monitorada ⇒ Limite inferior para a variável ⇒ Memória indicativa de variável fora da faixa Operação⇒ L MB 450 ;Carrega conteúdo de MB 450 no Acc. LP KB 200 ;Testa se maior ou igual a 200 L MB 450 ;Carrega conteúdo de MB 450 no Acc ANZ KB 200 ;Testa se igual a 200 – exclui 200 da lógica L MB 450 ;Carrega conteúdo de MB 450 no Acumulador OM KB 25 ;Testa se menor que 25 == M 222.0 ;Indicação de variável fora da faixa Após a operação o estado do Acumulador passa a indicar se a variável é MAIOR que 200 E NÃO IGUAL a 200 OU menor que 25. 62 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.2.12 - Operação OU (OR) – Compara se MAIOR OU IGUAL OPERANDOS: MB KB MW KW - MEMÓRIAS BYTE - CONSTANTES BYTE - MEMÓRIAS WORD - CONSTANTES WORD OP Operando OP OPERAÇÃO: Especificação do Operando DESCRIÇÃO: O PLC realiza a operação lógica OU (OR) entre o estado anterior do Acumulador (estado do Flag Zero) e o resultado da comparação indicada na operação transformado no estado de um bit ("0" ou "1"). Caso o conteúdo anterior do Acumulador seja "1", o resultado da operação será sempre "1", qualquer que seja o resultado da comparação indicada na instrução. O bit que será usado na lógica será "1" se o conteúdo do Acumulador for maior ou igual (positivo) do que o conteúdo do Operando e será "0" se o conteúdo do Acumulador for menor (negativo) em relação ao conteúdo do Operando. A instrução OP é uma instrução de comparação de conteúdos de Byte com Byte ou Word com Word entre Acumulador e o Operando indicado na instrução e o resultado em bit (0 ou 1). Em qualquer um dos casos temos sempre a reposta digital Se o conteúdo do Acumulador for maior ou igual ao Operando, o estado do Acumulador será “1” (Flag Zero no estado NZ). Se o conteúdo do Acumulador for menor que o Operando, o estado do Acumulador será “0” (Flag Zero no estado Z). A comparação ”or" se maior ou igual ou positivo não ocorre somente se o valor ou resultado da operação anterior armazenado no Acumulador for igual a um (“0”), e o Acumulador tenha armazenado zero em seu conteúdo. EQUIVALÊNCIA COM LÓGICA DE LADDER: Corresponde a uma associação em paralelo de um contato normal aberto numa linha de lógica de ladder. RESULTADOS: Estado do Flag Zero no ACC Z Z NZ NZ 15/04/2005 Comparação se >= (OP) Resultado da Operação no Flag ACC Acc < Operando 000H Z Acc >= Operando 0FFH NZ Acc < Operando 0FFH NZ Acc >= Operando 0FFH NZ 63 Manual de PLC – Proteo Mini V1.00 EXEMPLO: Tomando o exemplo da instrução OM, numa aplicação do MCSplc deseja-se determinar se uma variável está fora de uma faixa de valores predeterminada. Agora faremos a lógica usando a instrução OP: 1.º Operando: memória byte 450 ⇒ Variável a ser monitorada 2.º Operando: constante byte 200 ⇒ Limite superior para a variável 3.º Operando: memória byte 450 ⇒ Variável a ser monitorada 4.º Operando: constante byte 200 ⇒ Limite superior para a variável 5.º Operando: memória byte 450 ⇒ Variável a ser monitorada 6.º Operando: constante byte 25 ⇒ Limite inferior para a variável 7.º Operando: memória bit M 222.0⇒ Memória indicativa de variável fora da faixa Operação⇒ L LM L OP L ANZ == MB KB MB KB MB KB M 450 25 450 200 450 200 222.0 ;Carrega conteúdo de MB 450 no Acc. ;Testa se menor que 25 ;Carrega conteúdo de MB 450 no Acc. ;Testa se maior ou igual a 200 ;Carrega conteúdo de MB 450 no Acc ;Testa se igual a 200 – exclui 200 da lógica ;Indicação de variável fora da faixa Após a operação, se o estado de M 222.0 for “1”, isso significa que a variável MB 450 possui um conteúdo que é MENOR que 25 OU MAIOR OU IGUAL a 200 E NÃO IGUAL a 200. Se o estado de M 222.0 for “0”, isso significa que a variável MB 450 possui um conteúdo que é MAIOR OU IGUAL a 25 E MENOR OU IGUAL a 200. OBSERVAÇÃO: As instruções OM e OP são opostas, ou seja, enquanto OM verifica a se o Acumulador é menor que o Operando, OP verifica se é maior ou igual. 64 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.3 – Operações com BYTES e WORDS L 10.3.1 – Carrega Acumulador – Load OPERANDOS: OPERAÇÃO: L IB QB MB KB IMB MW KW IM - GRUPO DE 8 ENTRADAS - GRUPO DE 8 SAÍDAS - MEMÓRIA BYTE - CONSTANTE (0 - 255) - MEMÓRIA BYTE INDEXADA - MEMÓRIA WORD - CONSTANTE (0 - 65535) - MEMÓRIA WORD INDEXADA Operando Endereço ou Constante DESCRIÇÃO: Transfere para o Acumulador o valor do Operando indicado na instrução. Os flags não são afetados pela instrução. Esta operação é uma função de transferência do conteúdo de um determinado Operando (IB, QB, MB, KB, IMB, MW, KW, IM) para o Acumulador. No caso dos operandos IMB e IM, o endereço dado na instrução contém o endereço da memória onde o programa irá buscar o dado desejado (memória indexada). RESULTADOS: Estado do Acumulador XXXX XXXX Conteúdo do Operando 55 05A02H Resultado da Operação no Acumulador 55 05A02H Flag X X EXEMPLO: Em um programa de PLC deve-se carregar no Acumulador o conteúdo de um byte onde está armazenado o número da ferramente selecionada na máquina. 1.º Operando: memória byte 800 Operação ⇒ L MB ⇒ Ferramenta selecionada 800 Após a Operação o Acumulador passa a ter o conteúdo da memória M800. 15/04/2005 65 Manual de PLC – Proteo Mini V1.00 10.3.2 - Carrega Acc com complemento do conteúdo – Load Not OPERANDOS: OPERAÇÃO: LN IB QB MB KB IMB MW KW IM LN - GRUPO DE 8 ENTRADAS - GRUPO DE 8 SAÍDAS - MEMÓRIA BYTE - CONSTANTE (0 - 255) - MEMÓRIA BYTE INDEXADA - MEMÓRIA WORD - CONSTANTE (0 - 65535) - MEMÓRIA WORD INDEXADA Operando Endereço ou Constante DESCRIÇÃO: Transfere para o Acumulador o conteúdo inverso do Operando indicado na instrução. Os flags não são afetados pela instrução. Esta operação é uma função de transferência do complemento do conteúdo de um determinado Operando (IB, QB, MB, KB, IMB, MW, KW, IM) para o Acumulador. No caso dos operandos IMB e IM, o endereço dado na instrução contém o endereço da memória onde o programa irá buscar o dado desejado (memória indexada). RESULTADOS: Estado do Acumulador XXXX XXXX Conteúdo do Operando 55 05A02H Resultado da Operação no Acumulador 55 05A02H Flag X X EXEMPLO: Deseja-se carregar no Acumulador o complemento do conteúdo de uma word: 1.º Operando: memória word 800 Operação ⇒ L MW 800 Após a Operação o Acumulador passa a ter o conteúdo da memória MW 800. 66 15/04/2005 Manual de PLC – Proteo Mini V1.00 A 10.3.3 - Operação lógica E – And OPERANDOS: OPERAÇÃO: A IB QB MB KB IMB - GRUPO DE 8 ENTRADAS - GRUPO DE 8 SAÍDAS - MEMÓRIAS BYTE - CONSTANTE (0 - 255) - MEMÓRIA BYTE INDEXADA Operando Endereço ou Constante DESCRIÇÃO: Realiza a operação lógica E (AND) entre o conteúdo do byte menos significativo do Acumulador e o conteúdo do Operando indicado na instrução (IB, QB, MB, KB e IMB). Caso o conteúdo anterior do Acumulador seja "0" (00H), o resultado da operação será sempre "0", qualquer que seja o conteúdo do byte do Operando indicado na instrução. No caso do operando IMB, o endereço dado na instrução contém o endereço da memória onde o programa irá buscar o dado desejado (memória indexada). O resultado final é armazenado no próprio Acumulador. A função E será realizada bit a bit entre os bits do Acumulador e os bits do Operando. ATENÇÃO: Esta instrução opera apenas com operandos byte! TABELA DA VERDADE: Valores de Entrada da Valores de Saída Operação Acc.bit (valor Operando.b Acc.bit (valor atual) anterior) it 0 0 0 0 1 0 1 0 0 1 1 1 Simbologia pelas Normas ABNT e ASA OBSERVAÇÃO: Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L. EXEMPLO: Em um programa de PLC deseja-se conhecer a posição de um trocador de ferramentas de 6 posições. Os sensores de posição (3 entradas) estão ligados às entradas I 3.2 (bit mais significativo), I 3.1 e I 3.0 (bit menos significativo). Para ler a posição pode-se fazer o seguinte: 15/04/2005 67 Manual de PLC – Proteo Mini V1.00 1.º Operando: grupo de entradas 3 ⇒ Entradas dos sensores de posição 2.º Operando: constante 00000111B ⇒ Máscara para separar os sensores ( = 007H) Operação⇒ L IB 3 ;Carrega grupo de entradas no Acc A KB 007H ;Função E entre Acc e IB 3 (seleciona apenas os 3 bits a serem usados). O estado do acumulador após a operação será (exemplo): Operação bit a bit da Função E do exemplo descrito 7 6 5 4 3 2 1 0 Valor em Bit Hexadecimal 053H Acumulador 0 1 0 1 0 0 1 1 007H Operando 0 0 0 0 0 1 1 1 Resultado 0 0 0 0 0 0 1 1 003H Flag X X NZ OBSERVAÇÃO O Flag Zero é afetado pela instrução. Se o conteúdo do Acumulador resultar 0, o Flag Zero ficará no estado Z. Caso contrário seu estado será NZ. 10.3.4 - Operação lógica E NEGADO – And Not OPERANDOS: OPERAÇÃO: AN IB QB MB KB IMB AN - GRUPO DE 8 ENTRADAS - GRUPO DE 8 SAÍDAS - MEMÓRIAS BYTE - CONSTANTE (0 - 255) - MEMÓRIA BYTE INDEXADA Operando Endereço ou Constante DESCRIÇÃO: Realiza a operação lógica E NEGADA (AND NOT) entre o conteúdo do byte menos significativo do Acumulador e o conteúdo invertido, bit a bit, do Operando indicado na instrução (IB, QB, MB, KB e IMB). Caso o conteúdo anterior do Acumulador seja "0" (00H), o resultado da operação será sempre "0", qualquer que seja o conteúdo do byte do Operando indicado na instrução. No caso do operando IMB, o endereço dado na instrução contém o endereço da memória onde o programa irá buscar o dado desejado (memória indexada). O resultado final é armazenado no próprio Acumulador. A função E será realizada bit a bit entre os bits do Acumulador e os bits do Operando. ATENÇÃO: Esta instrução opera apenas com operandos byte! 68 15/04/2005 Manual de PLC – Proteo Mini V1.00 TABELA DA VERDADE: Valores de Entrada da Operação (Operando e Complemento) Valores de Saída Oper.bit Complemento Acc.bit (valor anterior) Acc.bit (valor atual) 0 0 1 1 1 1 0 0 0 1 0 1 0 1 0 0 Simbologia pelas Normas ABNT e ASA Acc Acc & Oper.bit 1 Acc Acc Oper.bit OBSERVAÇÃO: Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L ou LN. EXEMPLO: 1.º Operando: memória MB 230 2.º Operando: memória MB 231 Operação⇒ L AN MB MB 230 231 ;Carrega memória MB 230 no Acc ;Função E NEGADA entre Acc e MB 231 O estado do acumulador após a operação será (exemplo): Operação bit a bit da Função E do exemplo descrito 7 6 5 4 3 2 1 0 Valor em Hexadecimal Bit 095H Acumulador 1 0 0 1 0 1 0 1 02AH Operando 0 0 1 0 1 0 1 0 Resultado 0 0 0 0 0 0 0 0 000H Flag X X Z OBSERVAÇÃO O Flag Zero é afetado pela instrução. Se o conteúdo do Acumulador resultar 0, o Flag Zero ficará no estado Z. Caso contrário seu estado será NZ. 10.3.5 - Operação lógica OU – Or OPERANDOS: OPERAÇÃO: O IB QB MB KB IMB O - GRUPO DE 8 ENTRADAS - GRUPO DE 8 SAÍDAS - MEMÓRIAS BYTE - CONSTANTE (0 - 255) - MEMÓRIA BYTE INDEXADA Operando Endereço ou Constante DESCRIÇÃO: Realiza a operação lógica OU (OR) entre o conteúdo do byte menos significativo do Acumulador e o conteúdo do Operando indicado na instrução (IB, QB, MB, KB e IMB). Caso o conteúdo anterior do Acumulador esteja energizado (0FFH), o resultado da operação será sempre "0FFH", qualquer que seja o conteúdo do Operando indicado na instrução. No caso do operando IMB, o endereço dado na instrução contém o endereço da memória onde o programa irá buscar o dado desejado (memória indexada). O resultado final é armazenado no próprio Acumulador. A função OU será realizada bit a bit entre os bits do Acumulador e os bits do Operando. 15/04/2005 69 Manual de PLC – Proteo Mini V1.00 ATENÇÃO: Esta instrução opera apenas com operandos byte! TABELA DA VERDADE: Simbologia pelas Normas ABNT e ASA Valores de Entrada da Operação Acc.bit Operando.bit (valor anterior) 0 0 0 1 1 0 1 1 Valores de Saída Acc.bit (valor atual) 0 1 1 1 OBSERVAÇÃO: Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L. EXEMPLO: Em um programa de PLC deve-se realizar um sistema de acionamento por dois grupos de entradas distintas para controle do mesmo processo, pois há dois painéis de comando. Uma forma simples de se solucionar este problema é através da operação O entre estes dois grupos de entradas: 1.º Operando: grupo de entradas IB 1 2.º Operando: grupo de entradas IB 2 Operação ⇒ L O IB IB 1 2 ;Carrega Acc com estado do grupo 1 ;Função OU do Acc com o grupo 2 O resultado da operação no Acumulador é a lógica OU, bit a bit, do conteúdo do grupo de entradas 1 com o conteúdo do grupo de entradas 2. Operação bit a bit da Função OU do exemplo descrito 7 6 5 4 3 2 1 0 Valor em Hexadecimal Bit 0 0 0 1 0 0 0 1 011H Grupo 1 0 1 1 0 0 0 1 0 062H Grupo 2 Resultado 0 1 1 1 0 0 1 1 073H Flag X X NZ OBSERVAÇÃO O Flag Zero é afetado pela instrução. Se o conteúdo do Acumulador resultar 0, o Flag Zero ficará no estado Z. Caso contrário seu estado será NZ. 70 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.3.6 - Operação lógica OU NEGADA – Or Not ON OPERANDOS: IB - GRUPO DE 8 ENTRADAS QB - GRUPO DE 8 SAÍDAS MB - MEMÓRIAS BYTE KB - CONSTANTE (0 - 255) IMB - MEMÓRIA BYTE INDEXADA OPERAÇÃO: ON Operando Endereço ou Constante DESCRIÇÃO: Realiza a operação lógica OU (OR) entre o conteúdo do byte menos significativo do Acumulador e o conteúdo inverso do Operando indicado na instrução (IB, QB, MB, KB e IMB). Caso o conteúdo anterior do Acumulador esteja energizado (0FFH), o resultado da operação será sempre "0FFH", qualquer que seja o conteúdo do Operando indicado na instrução. No caso do operando IMB, o endereço dado na instrução contém o endereço da memória onde o programa irá buscar o dado desejado (memória indexada). O resultado final é armazenado no próprio Acumulador. A função OU será realizada bit a bit entre os bits do Acumulador e os bits do Operando. ATENÇÃO: Esta instrução opera apenas com operandos byte! TABELA DA VERDADE: Simbologia pelas Normas ABNT e ASA Valores de Entrada da Operação Valores de (Operando e Complemento) Saída Oper.bit Complem. Acc valor anterior Acc (valor atual) 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 OBSERVAÇÃO: Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L ou LN. EXEMPLO: 1.º Operando: memória MB 230 2.º Operando: memória MB 231 Operação ⇒ L ON MB MB 230 231 ;Carrega memória MB 230 no Acc ;Função OU NEGADA entre Acc e MB 231 O estado do acumulador após a operação será (exemplo): Operação bit a bit da Função E do exemplo descrito 7 6 5 4 3 2 1 0 Valor em Hexadecimal Bit 0 0 0 1 1 1 0 1 01DH MB 230 0 0 1 0 1 0 1 0 02AH MB 231 Resultado 1 1 0 1 1 1 0 1 0DDH Flag X X NZ OBSERVAÇÃO O Flag Zero é afetado pela instrução. Se o conteúdo do Acumulador resultar 0, o Flag Zero ficará no estado Z. Caso contrário seu estado será NZ. 15/04/2005 71 Manual de PLC – Proteo Mini V1.00 XO 10.3.7 - Operação lógica OU EXCLUSIVO – eXclusive OR OPERANDOS: IB - GRUPO DE 8 ENTRADAS QB - GRUPO DE 8 SAÍDAS MB - MEMÓRIAS BYTE KB - CONSTANTE (0 - 255) IMB - MEMÓRIA BYTE INDEXADA OPERAÇÃO: XO Operando Endereço ou Constante DESCRIÇÃO: Realiza a operação lógica OU EXCLUSIVO entre o conteúdo do byte menos significativo do Acumulador e o conteúdo do Operando indicado na instrução (IB, QB, MB, KB e IMB). No caso do operando IMB, o endereço dado na instrução contém o endereço da memória onde o programa irá buscar o dado desejado (memória indexada). O resultado final é armazenado no próprio Acumulador. A função OU EXCLUSIVO será realizada bit a bit entre os bits do Acumulador e os bits do Operando. ATENÇÃO: Esta instrução opera apenas com operandos byte! TABELA DA VERDADE: Simbologia pelas Normas ABNT e ASA Valores de Entrada da Operação Oper.bit Acc.bit (valor anterior) 0 0 0 1 1 0 1 1 Valores de Saída Acc.bit (valor atual) 0 1 1 0 OBSERVAÇÃO: Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L. EXEMPLO: 1.º Operando: memória MB 230 2.º Operando: memória MB 231 Operação⇒ L XO MB MB 230 231 ;Carrega memória MB 230 no Acc ;Função OU EXCLUSIVO entre Acc e MB 231 O estado do acumulador após a operação será (exemplo): Operação bit a bit da Função OU exclusivo do exemplo descrito 7 6 5 4 3 2 1 0 Valor em Hexadecimal Bit 0 0 1 1 1 1 0 1 03DH MB 230 0 0 1 0 1 0 1 0 02AH MB 231 Resultado 0 0 0 1 0 1 1 1 017H Flag X X NZ OBSERVAÇÃO O Flag Zero é afetado pela instrução. Se o conteúdo do Acumulador resultar 0, o Flag Zero ficará no estado Z. Caso contrário seu estado será NZ. 72 15/04/2005 Manual de PLC – Proteo Mini V1.00 XON 10.3.8 - Operação lógica OU EXCLUSIVO NEGADO OPERANDOS: IB - GRUPO DE 8 ENTRADAS QB MB - MEMÓRIAS BYTE KB IMB - MEMÓRIA BYTE INDEXADA OPERAÇÃO: XON Operando Endereço ou Constante DESCRIÇÃO: - GRUPO DE 8 SAÍDAS - CONSTANTE (0 - 255) Realiza a operação lógica OU EXCLUSIVO entre o conteúdo do byte menos significativo do Acumulador e o conteúdo inverso do Operando indicado na instrução (IB, QB, MB, KB e IMB). No caso do operando IMB, o endereço dado na instrução contém o endereço da memória onde o programa irá buscar o dado desejado (memória indexada). O resultado final é armazenado no próprio Acumulador. A função OU EXCLUSIVO será realizada bit a bit entre os bits do Acumulador e o inverso dos bits do Operando. ATENÇÃO: Esta instrução opera apenas com operandos byte! TABELA DA VERDADE: Simbologia pelas Normas ABNT e ASA Valores de Entrada da Operação Acc.bit (valor Oper.bit Complemento anterior) 0 1 0 0 1 1 1 0 0 1 0 1 Valores de Saída Acc.bit (valor atual) 1 0 0 1 OBSERVAÇÃO: Não deve ser utilizada no início de uma operação lógica. Neste caso utilizar a instrução L ou LN. EXEMPLO: 1.º Operando: memória MB 230 2.º Operando: memória MB 231 Operação ⇒ L MB XON MB 230 ;Carrega memória MB 230 no Acc 231 ; OU EXCLUSIVO entre Acc e o inverso de MB 231 O estado do acumulador após a operação será (exemplo): Bit MB 230 MB 231 Resultado Operação bit a bit da Função E do exemplo descrito 7 6 5 4 3 2 1 0 Valor em Hexadecimal 0 0 1 1 1 1 0 1 03DH 0 0 1 0 1 0 1 0 02AH 1 1 1 0 1 0 0 0 0E8H Flag X X NZ OBSERVAÇÃO O Flag Zero é afetado pela instrução. Se o conteúdo do Acumulador resultar 0, o Flag Zero ficará no estado Z. Caso contrário seu estado será NZ. 15/04/2005 73 Manual de PLC – Proteo Mini V1.00 = 10.3.9 - Atribuição incondicional de conteúdo OPERANDOS: IB - GRUPO DE 8 ENTRADAS QB - GRUPO DE 8 SAÍDAS MB - MEMÓRIA BYTE IMB - MEM. BYTE INDEXADA MW - MEMÓRIA WORD IM - MEM. WORD INDEXADA OPERAÇÃO: = Operando Endereço DESCRIÇÃO: Atribui ao Operando indicado na instrução o conteúdo do byte menos significativo do Acumulador. O conteúdo do Acumulador não é alterado por esta instrução. Esta operação transfere para o Operando (IB, QB, MB, IMB, MW, IM) o conteúdo do Acumulador. No caso de operação com byte, é transferido o conteúdo do byte menos significativo do Acumulador. De forma geral esta operação é realizada após uma operação lógica, aritmética, comparação, leitura de dispositivos de I/O (entradas / saídas) com finalidade de se realizar uma ação ou mesmo armazenar um resultado para ser usado posteriormente no programa. EXEMPLO: Em um programa de PLC deseja-se conhecer a posição de um trocador de ferramentas de 6 posições e guardar o resultado numa memória byte. Os sensores de posição (3 entradas) estão ligados às entradas I 3.2 (bit mais significativo), I 3.1 e I 3.0 (bit menos significativo). Para ler a posição pode-se fazer o seguinte: 1.º Operando: grupo de entradas 3 2.º Operando: constante 00000111B 3.º Operando: memória MB 650 Operação⇒ L A = IB KB MB ⇒Entradas dos sensores de posição ⇒Máscara para separar os sensores ( = 007H) ⇒Memória de posição da ferramenta 3 ;Carrega grupo de entradas no Acumulador 007H ;Função E entre Acc e IB 3 (selec os 3 bits a serem usados). 650 ;Posição da ferramenta O estado da memória após a operação será (exemplo): Bit Acumulador Operando Acumulador MB 650 Operação bit a bit da Função = do exemplo descrito 7 6 5 4 3 2 1 0 Valor em Hexadecimal 0 1 0 1 0 0 1 1 053H 0 0 0 0 0 1 1 1 007H 0 0 0 0 0 0 1 1 003H 0 0 0 0 0 0 1 1 003H Flag X X NZ OBSERVAÇÃO A instrução não afeta o conteúdo do Acumulador e dos Flags. 74 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.3.10 - Atribuição condicional de conteúdo – Caso Flag NZ OPERANDOS: MB - MEMÓRIAS BYTE MW - MEMÓRIA WORD OPERAÇÃO: == Operando IMB IM == - MEM. BYTE INDEXADA - MEM. WORD INDEXADA Endereço DESCRIÇÃO: Atribui o conteúdo do Acumulador para o Operando (MB, IMB, MW, IM) indicado na operação se o resultado da operação lógica anterior for “1”. Caso contrário não realiza a atribuição. Esta instrução é uma função de atribuição condicional. O conteúdo do Acumulador só será transferido ao Operando se o Flag Zero estiver no estado NZ. Caso contrário, o Operando não é afetado. EXEMPLO: Em um programa de PLC deseja-se conhecer a posição de um trocador de ferramentas de 6 posições e guardar o resultado numa memória byte. Os sensores de posição (3 entradas) estão ligados às entradas I 3.2 (bit mais significativo), I 3.1 e I 3.0 (bit menos significativo). Porém, existe um outro sinal para indicar que a posição é válida (“strobe”). Para ler a posição pode-se fazer o seguinte: 1.º Operando: grupo de entradas 3 ⇒ Entradas dos sensores de posição 2.º Operando: constante 00000111B ⇒ Máscara para separar os sensores ( = 007H) 3.º Operando: memória MB 1550 ⇒ Memória de rascunho 4.º Operando: entrada I 2.3 ⇒ Habilitação de leitura de posição da ferramenta 5.º Operando: memória MB 650 ⇒ Memória de posição da ferramenta Operação ⇒ L IB 3 ;Carrega grupo de entradas no Acumulador A KB 007H ;Função E entre Acc e IB 3 (selec. apenas os 3 bits a serem usados) = MB 1550 ;Guarda a informação L I 2.3 ;Testa posição válida L MB 1550 ;Guarda a informação == MB 650 ;Posição da ferramenta O estado da memória após a operação será (exemplo): MB 650 antes 5 5 Operação da Função == do exemplo descrito IB 3 MB 1550 I 2.3 Flag MB 650 depois 053H 003H 0 Z 5 053H 003H 1 NZ 3 OBSERVAÇÃO A instrução não afeta o conteúdo do Acumulador e dos Flags. 15/04/2005 75 Manual de PLC – Proteo Mini V1.00 10.3.11 - Atribuição condicional de conteúdo – Caso Flag Z OPERANDOS: MB - MEMÓRIAS BYTE MW - MEMÓRIA WORD OPERAÇÃO: =N Operando IMB IM =N - MEM. BYTE INDEXADA - MEM. WORD INDEXADA Endereço DESCRIÇÃO: Atribui o conteúdo do Acumulador para o Operando (MB, IMB, MW, IM) indicado na operação se o resultado da operação lógica anterior for “0”. Caso contrário não realiza a atribuição. Esta instrução é uma função de atribuição condicional. O conteúdo do Acumulador só será transferido ao Operando se o Flag Zero estiver no estado Z. Caso contrário, o Operando não é afetado. EXEMPLO: Em um programa de PLC deseja-se conhecer a posição de um trocador de ferramentas de 6 posições e guardar o resultado numa memória byte. Os sensores de posição (3 entradas) estão ligados às entradas I 3.2 (bit mais significativo), I 3.1 e I 3.0 (bit menos significativo). Porém, existe um outro sinal para indicar que a posição é válida (“strobe”). Quando a posição não é válida, deseja-se carregar a constante 000H na memória indicativa de posição da torre. Para ler a posição pode-se fazer o seguinte: 1.º Operando: grupo de entradas 3 ⇒ Entradas dos sensores de posição 2.º Operando: constante 00000111B ⇒ Máscara para separar os sensores ( = 007H) 3.º Operando: memória MB 1550 ⇒ Memória de rascunho 4.º Operando: entrada I 2.3 ⇒ Habilitação de leitura de posição da ferramenta 5.º Operando: memória MB 650 ⇒ Memória de posiçao da ferramenta Operação ⇒ L IB 3 ;Carrega grupo de entradas no Acumulador A KB 007H ;Função E entre Acc e IB 3 (selec. apenas os 3 bits a serem usados) = MB 1550 ;Guarda temporariamente a informação L I 2.3 ;Testa posição válida L MB 1550 ;Guarda a informação == MB 650 ;Posição da ferramenta – caso posição válida L KB 0 =N MB 650 ;Posição da ferramenta – caso posição inválida O estado da memória após a operação será (exemplo): Operação das Funções == e =N do exemplo descrito MB 650 antes IB 3 MB 1550 I 2.3 Flag MB 650 depois 5 053H 003H 0 Z 0 5 053H 003H 1 NZ 3 OBSERVAÇÃO A instrução não afeta o conteúdo do Acumulador e dos Flags. 76 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.3.12 - Comparação com memória ou constante – ComPare OPERANDOS: IB - GRUPO DE 8 ENTRADAS MB - MEMÓRIA BYTE MW - MEMÓRIA WORD OPERAÇÃO: CP Operando CP QB - GRUPO DE 8 SAÍDAS KB - CONSTANTE (0 - 255) KW - CONSTANTE (0 - 65535) Endereço ou Constante DESCRIÇÃO: Compara o conteúdo do Acumulador com o conteúdo do Operando indicado na instrução. Esta operação prepara as condições de teste para salto condicional descritas adiante. Esta operação afeta apenas os Flags do PLC sem alterar o conteúdo do acumulador. Como a instrução afeta os Flags, pode-se, após sua execução, realizar saltos condicionais ou executar qualquer outra instrução (atribuição de bit, set, reset, uma atribuição condicional de byte ou word) que dependa da condição dos Flags. ATENÇÃO: Após esta instrução não se pode prosseguir com uma associação lógica de bits (A, AN, O, …) pois o conteúdo do Acumulador fica indefinido! EXEMPLO: Supondo-se que um dado momento de um programa do MCSplc temos o controle do número de ciclos de uma fresa, onde este valor é fixado em uma memória vinculada ao dado parâmetro do CNC e é feita a comparação com a memória que armazena o número de ciclos já executados. Uma forma de se fazer este controle é usando a instrução CP seguida de um salto condicional, como no exemplo a seguir: 1.º Operando: memória MB 216 ⇒ Número de ciclos de fresagem da máquina 2.º Operando: memória MB 032 ⇒ Limite de ciclos para a fresa Operação ⇒ L MB 216 ;Carrega o n.º de ciclos realizados. CP MB 032 ;Compara com o limite estipulado JP ENCERRA ;Se atingido o nº de ciclos desvia o programa para encerar a produção : : ENCERRA: RF Q 0.4 RF Q 1.7 J PRG0 : : OBSERVAÇÃO A instrução não afeta o conteúdo do Acumulador, apenas os Flags. 15/04/2005 77 Manual de PLC – Proteo Mini V1.00 10.3.13 - Rotação à direita do conteúdo do Acc – SHift Right OPERANDOS: SHR NÃO POSSUI OPERAÇÃO: SHR DESCRIÇÃO: Rotaciona (desloca) o conteúdo do Acumulador um bit à direita. O bit 0 do Acumulador é transferido para o flag “CARRY” e o valor do flag “CARRY” é transferido ao bit 7 do Acumulador. Esta instrução habilita condições de teste para salto condicional descritas adiante. Esta instrução realiza o deslocamento, bit a bit, do conteúdo do Acumulador com o flag de CARRY movimentando cada bit uma posição para a direita. Uma aplicação desta instrução é a de verificar e armazenar o flag de CARRY para uma futura decisão, ou para construção de dispositivos, cujo acionamento das saídas ocorre de forma seqüencial, realizar uma divisão por dois. ATENÇÃO: Esta instrução opera apenas com operandos byte! Após esta instrução não se pode prosseguir com uma associação lógica de bits (A, AN, O, …) pois o conteúdo do Acumulador fica indefinido! EXEMPLO: Supondo-se em um dado momento do programa temos o Acumulador com o valor de 076H (118 em decimal) o flag de CARRY em nível lógico zero(“0”) e é realizada a instrução SHR, teremos então os seguintes resultados: Operação ⇒ L IB 1 ;Carrega o acc com o valor da entrada I1 (I1 = 076H logo Acc = 076H). SHR ;Rotaciona o conteúdo do Acumulador. = QB 1 ;Atribui o valor rotacionado da entrada para a saída (QB = 03BH). Tabela com os valores do Acumulador e do flag de CARRY, antes e depois da instrução de Rotação para a Direita. Conteudo Antes Depois CARRY 0 0 Acc 076H 03BH C 0 0 Valores em bits (deslocamento para a direita ⇒) 7 6 5 4 3 2 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 0 1 1 O conteúdo do Acumulador antes da instrução era 076H que em decimal corresponde a 118 e após a rotação de seu conteúdo este valor passou para 03BH que corresponde em decimal ao número 59, ou seja, ao girar (rotacionar) um conteúdo para a direita estará realizando uma divisão de seu conteúdo por dois. 78 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.3.14 - Rotação à esquerda do conteúdo do Acc – Shift Left OPERANDOS: SHL NÃO POSSUI OPERAÇÃO: SHL DESCRIÇÃO: Rotaciona (desloca) o conteúdo do Acumulador um bit à esquerda. O bit 7 do Acumulador é transferido para o flag “CARRY” e o valor do flag “CARRY” é transferido ao bit 0 do Acumulador. Esta instrução habilita condições de teste para salto condicional descritas adiante. Esta instrução realiza o deslocamento, bit a bit, do conteúdo do Acumulador com o flag de CARRY movimentando cada bit uma posição para a esquerda. Uma aplicação desta instrução é a de verificar e armazenar o flag de CARRY para uma futura decisão, ou para construção de dispositivos, cujo acionamento das saídas ocorre de forma seqüencial, realizar uma multiplicação por dois. ATENÇÃO: Esta instrução opera apenas com operandos byte! Após esta instrução não se pode prosseguir com uma associação lógica de bits (A, AN, O, …) pois o conteúdo do Acumulador fica indefinido! EXEMPLO: Supondo-se em um dado momento do programa temos o Acumulador com o valor de 025H (37 em decimal) o flag de CARRY em nível lógico zero (“0”) e é realizada a instrução SHL, teremos então os seguintes resultados: Operação ⇒ L SHL = IB 0 QB 0 ;Carrega Acumulador com o conteúdo da entrada I 0 ;Rotaciona o conteúdo do Acumulador. ;Atribui o valor rotacionado da entrada para a saída Q0 Tabela com os valores do Acumulador e do flag de CARRY, antes e depois da instrução de Rotação para a Esquerda. Conteúdo Antes Depois CARRY 0 0 Acc 025H 04AH C 0 0 Valores em bits (deslocamento para a esquerda ⇐) 7 6 5 4 3 2 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 1 0 O conteúdo do Acumulador antes da instrução era 025H que em decimal corresponde a 37 e após a rotação de seu conteúdo este valor passou para 04AH que corresponde em decimal ao número 74, ou seja, ao girar (rotacionar) um conteúdo para a esquerda estará realizando uma multiplicação de seu conteúdo por dois. 15/04/2005 79 Manual de PLC – Proteo Mini V1.00 10.3.15 - Soma com memória ou constante – ADD OPERANDOS: IB - GRUPO DE 8 ENTRADAS MB - MEMÓRIAS BYTE MW - MEMÓRIA WORD ADD QB - GRUPO DE 8 SAÍDAS KB - CONSTANTE (0 - 255) KW - CONSTANTE (0 - 65535) OPERAÇÃO: ADD Operando Endereço ou Constante DESCRIÇÃO: Soma o conteúdo do Acumulador com o conteúdo do Operando indicado na instrução. No caso de instruções que operam com byte, o conteúdo do flag CARRY também é adicionado. O resultado é armazenado no próprio Acumulador. Esta instrução habilita condições de teste para salto condicional descritas adiante. ATENÇÃO: Após esta instrução não se pode prosseguir com uma associação lógica de bits (A, AN, O, …) pois o conteúdo do Acumulador fica indefinido! OBSERVAÇÃO: O status do flag CARRY, resultante de operações anteriores, afeta o resultado de operações realizadas com bytes. Caso não se deseje a influência deste flag, deve-se iniciar a seqüência lógica com a instrução EN. No caso de soma de words, o Flag CARRY não afeta o resultado. EXEMPLO: Supondo-se que um dado momento de um programa do MCSplc temos a execução de uma sub-rotina que controla o posicionamento do eixo X em relação a posição relativa adotada (zero máquina) durante o processo de usinagem, para o eixo efetuar avanços em relação a esta posição relativa, deve-se somar a posição relativa com a posição desejada, como no exemplo a seguir: 1.º Operando 2.º Operando 3.º Operando ⇒ ⇒ ⇒ M 239; valor da posição relativa do eixo X (zero máquina). M 240; posição desejada para o eixo X em relação ao zero máquina M 241; posição real do eixo X (M239 + M240). Valores das memórias antes da sub-rotina: Valor do flag de Carry = 0 (não houve transbordo de capacidade na operação anterior) 7 6 5 4 3 2 1 0 Valores em hexadecimal das posições Bit 1 0 0 0 1 0 1 0 08AH (resultado de uma operação anterior) Acumulador 1 0 1 0 1 0 0 0 0A8H (posição relativa - zero máquina) MB 239 0 0 1 1 0 1 1 0 036H (posição desejada) MB 240 1 0 1 1 0 0 0 0 0B0H (posição final) MB 241 Operação ⇒ L ADD = MB MB MB 239; carrega posição relativa. 240; realiza a adição entre as posições relativa e desejada. 241; armazena o resultado da posição final. Valores das memórias após realizado programa de sub-rotina: Valor do flag de Carry = 0 (não houve transbordo de capacidade na operação de soma) 7 6 5 4 3 2 1 0 valores em hexadecimal das posições Bit 1 1 0 1 1 1 1 0 0DEH (resultado da adição) Acumulador 1 0 1 0 1 0 0 0 0A8H (posição relativa - zero máquina) MB 239 0 0 1 1 0 1 1 0 036H (posição desejada) MB 240 1 1 0 1 1 1 1 0 0DEH (posição final) MB 241 Conforme resultado armazenado em memória o eixo poderá avançar para sua respectiva posição final, mas se o valor armazenado exceder o máximo deslocamento físico que o eixo pode realizar deve-se gerar uma mensagem de erro e não realizar tal deslocamento, pode-se constatar a ocorrência deste fato de duas formas, sendo a primeira ligada ao flag de Carry que toda vez estiver em nível lógico um (“1”) indicará que a soma excedeu a capacidade do registrador (transbordo) ou realizando uma comparação com o valor máximo. 80 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.3.16 - Subtração com memória ou constante – SUBtract OPERANDOS: IB MB MW - GRUPO DE 8 ENTRADAS - MEMÓRIA BYTE - MEMÓRIA WORD SUB QB - GRUPO DE 8 SAÍDAS KB - CONSTANTE (0 - 255) KW - CONSTANTE (0 - 65535) OPERAÇÃO: SUB Operando Endereço ou Constante DESCRIÇÃO: Subtrai do conteúdo do Acumulador o conteúdo do Operando indicado na instrução. No caso de instruções que operam com byte, o conteúdo do flag CARRY também é subtraído. O resultado é armazenado no próprio Acumulador. Esta instrução habilita condições de teste para salto condicional descritas adiante. ATENÇÃO: Após esta instrução não se pode prosseguir com uma associação lógica de bits (A, AN, O, …) pois o conteúdo do Acumulador fica indefinido! OBSERVAÇÃO: O status do flag CARRY, resultante de operações anteriores, afeta o resultado de operações realizadas com bytes. Caso não se deseje a influência deste flag, deve-se iniciar a seqüência lógica com a instrução EN. No caso de subtração de words, o Flag CARRY não afeta o resultado. EXEMPLO: Supondo-se que um dado momento de um programa do MCSplc temos a execução de uma sub-rotina que controla o posicionamento do eixo X em relação a posição relativa adotada (zero máquina) durante o processo de usinagem, mas agora o eixo deve efetuar recuos em relação a esta posição relativa, deve-se subtrair a posição relativa com a posição desejada, como no exemplo a seguir: 1.º Operando ⇒ M 239; valor da posição relativa do eixo X (zero máquina). 2.º Operando ⇒ M 240; posição desejada para o eixo X em relação ao zero máquina 3.º Operando ⇒ M 241; posição real do eixo X (M239 - M240). Valores das memórias antes da sub-rotina: Valor do flag de CARRY = 0 (não houve resultado negativo na operação anterior) bit 7 6 5 4 3 2 1 0 Valores em hexadecimal das posições 1 0 0 0 1 0 1 0 08AH (resultado de uma operação anterior) Acumulador 1 0 1 0 1 0 0 0 0A8H (posição relativa - zero máquina) MB 239 0 1 1 1 0 1 0 1 075H (posição desejada) MB 240 1 0 1 1 0 0 0 1 0B1H (posição final) MB 241 Operação ⇒ L MB SUB MB = MB 239; carrega posição relativa. 240; realiza a adição entre as posições relativa e desejada. 241; armazena o resultado da posição final. Valores das memórias após realizado programa de sub-rotina: Valor do flag de CARRY = 0 (não houve resultado negativo na operação de subtração) Bit 7 6 5 4 3 2 1 0 valores em hexadecimal das posições 0 0 1 1 0 0 1 1 033H (resultado da subtração) Acumulador 1 0 1 0 1 0 0 0 0A8H (posição relativa - zero máquina) MB 239 0 1 1 1 0 1 0 1 075H (posição desejada) MB 240 0 0 1 1 0 0 1 1 033H (posição final) MB 241 Conforme resultado armazenado em memória o eixo poderá recuar para sua respectiva posição final, mas se o valor armazenado exceder o máximo deslocamento físico que o eixo pode realizar deve-se gerar uma mensagem de erro e não realizar tal deslocamento, pode-se constatar a ocorrência deste fato realizando uma comparação com o valor máximo de recuo. 15/04/2005 81 Manual de PLC – Proteo Mini V1.00 INC 10.3.17 - Incremento OPERANDO: MB - MEMÓRIA (BYTE) OPERAÇÃO: INC Operando MW - MEMÓRIA WORD Endereço DESCRIÇÃO: Soma 1 no conteúdo do operando indicado na instrução. O conteúdo do acumulador não é afetado pela instrução. EXEMPLO: Supondo-se em um dado momento do programa temos a seguinte operação aritmética entre duas memórias e conforme o resultado deve-se desviar o programa para uma rotina que trata este fato, teremos então os seguintes resultados: 1.º Operando 2.º Operando 3.º Operando Operação⇒ I 0.5 L EDG JNZ PRODUZIR : : : PRODUZIR: INC MB 216 L LP JNZ ⇒ ⇒ ⇒ I 0.5; sensor de contagem de peças produzidas. M 216; registro de peças produzidas, M216 = 057H. M217; quantidade de peças para produzir, M217 = 080H. ; prepara a operação de contagem. ; detecta as transições de sinal no sensor. ; verifica se o sensor de peças detectou a produção de uma nova peça. ; incrementa memória de peças produzidas. ; controla número de peças produzidas. MB 216 ; carrega memória em Acc. MB 217 ; compara a produção. FINALIZAR ; completada a produção deve-se parar a máquina. : Instrução L JNZ INC L LP JNZ MB 216 057H 057H 057H 058H 058H 058H 058H MB 217 080H 080H 080H 080H 080H 080H 080H I 0.5 0 1 1 1 1 1 1 Operação armazena Desvia programa se o sensor foi acionado. Incrementa a memória (MB216 = M216 + 1) Carrega a memória no Acumulador Compara se igual Se resultado da comparação for ≠0, salta p/ FINALIZAR Na tabela acima pode-se verificar que antes da instrução de incremento a memória possuía o conteúdo de 057H e após a instrução ela passa a ter 058H, ou seja, foi somado um em seu conteúdo anterior. 82 15/04/2005 Manual de PLC – Proteo Mini V1.00 DEC 10.3.18 – Decremento OPERANDO: MB MW - MEMÓRIA BYTE - MEMÓRIA WORD OPERAÇÃO: DEC Operando Endereço DESCRIÇÃO: Subtrai 1 no conteúdo do operando indicado na instrução. O conteúdo do acumulador não é afetado pela instrução. EXEMPLO: Supondo-se em um dado momento do programa temos uma operação com memória e conforme o resultado deve-se desviar o programa para uma rotina que trata este fato, teremos então os seguintes resultados: 1.º Operando ⇒Q 0.7; saída de lubrificação. 2.º Operando ⇒M 216; controle de lubrificação da peça durante o ciclo de usinagem do CNC, M241 = 07H. Operação⇒ L Q 0.7 EU ; detecta acionamento da saída. JNZ CONTROLE ; caso a saída tenha sido ligada, vai para o controle de lubrif. de peças. : : CONTROLE: ; decrementa ciclo de lubrificação. DEC MB 241 ; decrementa número de vezes a ser lubrificada. L MB 241 ; carrega memória em Acc. JZ FINALIZAR ; completado ciclo de lubrificação, se zero. Instrução EU JNZ DEC L JZ MB 241 07H 07H 07H 06H 06H 06H Acc 10H 10H 10H 10H 10H 10H Q 0.7 0 1 1 1 1 1 Operação detecta acionamento da saída Q 0.7 desvia programa se a saída foi ligada. decrementa a memória (MB241 = M241 - 1) carrega a memória no Acumulador se resultado da comparação for =0, salta p/ FINALIZAR Na tabela acima pode-se verificar que antes da instrução de decremento a memória possuía o conteúdo de 07H e após a instrução ela passa a ter 06H, ou seja,B foi subtraído um do seu conteúdo anterior. 15/04/2005 83 Manual de PLC – Proteo Mini V1.00 MULT 10.3.19 – Multiplicação com memória OPERANDO: MW - MEMÓRIA WORD OPERAÇÃO: MULT Operando Endereço DESCRIÇÃO: Multiplica o conteúdo do Acumulador, em Word, pelo conteúdo do Operando (MW) indicado na instrução. O resultado é um número de 4 Bytes. A Word inferior é carregada no Acumulador e a Word superior no Operando. ATENÇÃO: O conteúdo original do Operando é destruído pela operação! EXEMPLO: Instrução Valores Iniciais MULT MW 84 390 Registradores envolvidos Operando Acumulador 7890H 0176H 00B0H 2260H Flag C=0 C=0 15/04/2005 Manual de PLC – Proteo Mini V1.00 DIV 10.3.20 - Divisão com memória OPERANDO: MW - MEMÓRIA DUPLA WORD (4 BYTES) OPERAÇÃO: DIV Operando Endereço DESCRIÇÃO: Divide o conteúdo do Operando indicado na instrução (4 Bytes - dividendo) pelo conteúdo do Acumulador (divisor). O quociente é carregado no Acumulador (2 Bytes). O resto é carregado no operando. O dividendo e o divisor devem ser positivos (bit 31 do operando = 0 e bit 15 do acumulador = 0). O dividendo e o divisor devem ser tais que a divisão resulte num valor não superior a 65535. Se a operação for correta o flag de SINAL estará setado (Flag no estado M). Se estiver errada, o Flag de SINAL estará zerado (Flag no estado P). ATENÇÃO: O conteúdo original do Operando é destruído pela operação! EXEMPLO: Instrução Valores Iniciais DIV 15/04/2005 MW 350 Registradores envolvidos Acumulador Operando 9C40H 0320H 0032H 0000H Flag M=1 M=1 85 Manual de PLC – Proteo Mini V1.00 10.4 - Operações de Desvio de Execução J 10.4.1 - Salto incondicional OPERANDO: ENDEREÇO DE DESTINO DO SALTO OPERAÇÃO: J “RÓTULO” DESCRIÇÃO: Salta a execução do PLC para o endereço indicado de forma incondicional. O conteúdo do acumulador não é afetado pela operação. 10.4.2 - Salto se operação lógica resultar IGUAL – Jump Zero OPERANDO: JZ ENDEREÇO DE DESTINO DO SALTO OPERAÇÃO: JZ “RÓTULO” DESCRIÇÃO: Salta a execução do PLC para o endereço indicado caso o resultado da operação lógica ou aritmética anterior seja zero (Flag Zero no estado Z). Caso contrário, não ocorre salto. O conteúdo do acumulador não é afetado por esta instrução. Esta operação está diretamente relacionada com o resultado final de uma operação lógica ou aritmética, o qual define se haverá desvio (resultado final igual a zero, Flag Zero no estado Z ) ou não (resultado final não zero, Flag Zero no estado NZ). TABELA DA VERDADE: Valores do Operando Acc (valor atual) XXXX XXXX Flag Zero Estado Z NZ SALTO Ação Ocorre salto Não ocorre salto EXEMPLO: Deve-se realizar um desvio no programa dependendo do estado de uma associação lógica: 1.º Operando: entrada I 1.1 2.º Operando: entrada I 2.0 3.º Operando: endereço do salto Operação ⇒ L O JZ I 1.1 ;Carrega o estado de I 1.1 I 2.0 ;Função OU com o o estado de I 2.0 PARADA ;Desvia para o endereço PARADA se Flag Zero = Z : PARADA: : Se as duas entradas estiverem desligadas, o programa desvia sua execução para o endereço do rótulo PARADA. O conteúdo do Acumulador se mantém após o salto. OBSERVAÇÃO: Deve-se evitar a utilização de desvios para endereços anteriores ao da lógica que origina o salto. De forma controlada pode-se realizar “loops” de programação. 86 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.4.3 - Salto se operação lógica resultar DIFERENTE – Jump Not Zero OPERANDO: JNZ ENDEREÇO DE DESTINO DO SALTO OPERAÇÃO: JNZ “RÓTULO” DESCRIÇÃO: Salta a execução do PLC para o endereço indicado caso o resultado da operação lógica ou aritmética anterior seja diferente de zero (Flag Zero no estado NZ). Caso contrário, não ocorre salto. O conteúdo do acumulador não é afetado por esta instrução. Esta operação está diretamente relacionada com o resultado final de uma operação lógica ou aritmética, o qual define se haverá desvio (resultado final diferente de zero, Flag Zero no estado NZ) ou não (resultado final igual a zero, Flag Zero no estado Z). TABELA DA VERDADE: Valores do Operando Flag Zero SALTO Acc (valor atual) Estado Ação XXXX Z Não ocorre salto XXXX NZ Ocorre salto EXEMPLO: Deve-se realizar um desvio no programa dependendo do estado de uma associação lógica: 1.º Operando: entrada I 1.3 2.º Operando: entrada I 1.5 3.º Operando: endereço do salto Operação⇒ L A JNZ I 1.3 I 1.5 PARADA : : PARADA: : ;Carrega o estado de I 1.3 ;Função OU com o o estado de I 1.5 ;Desvia para o endereço PARADA se Flag Zero = NZ Se as duas entradas estiverem ligadas, o programa desvia sua execução para o endereço do rótulo PARADA. O conteúdo do Acumulador se mantém após o salto. OBSERVAÇÃO: Deve-se evitar a utilização de desvios para endereços anteriores ao da lógica que origina o salto. De forma controlada pode-se realizar “loops” de programação. 15/04/2005 87 Manual de PLC – Proteo Mini V1.00 10.4.4 - Salto se operação lógica resultar MAIOR OU IGUAL – Jump Positive OPERANDO: JP ENDEREÇO DE DESTINO DO SALTO OPERAÇÃO: JP “RÓTULO” DESCRIÇÃO: Salta a execução do PLC para o endereço indicado pelo “LABEL” caso o resultado da operação aritmética realizada antes desta instrução, com Byte, seja positivo. Caso contrário, não ocorre salto. O conteúdo do acumulador não é afetado por esta instrução. Esta operação está diretamente relacionada com o resultado final de uma operação lógica ou aritmética anterior, cujo resultado final desta operação define se haverá desvio, caso o valor final da operação for igual ou maior que zero (flag de SINAL setado) ou se não haverá desvio, caso o valor final for menor do que zero (flag de SINAL resetado). EXEMPLO: Supondo-se em um dado momento do programa temos a seguinte operação aritmética entre duas memórias e conforme o resultado deve-se desviar o programa para uma rotina que trata este fato, teremos então os seguintes resultados: 1.º Operando ⇒ 2.º Operando ⇒ Operação ⇒ L MB 220 SUB MB 221 JP PRODUZIR M220; memória de peças a produzir, M220 = 0F2H. M221; memória de peças produzidas, M221 = 0C4H. ; prepara a operação. ; verifica se ainda não foi atingido a meta de produção. ; caso ainda não tenha sido produzido a quantidade especificada, ;desvia-se o programa para continuar a produção. : : PRODUZIR: L MB 221; produção. : Instrução L SINAL 0 1 Acc XX 0F2H MB 220 0F2H 0F2H MB 221 0C4H 0C4H SUB JP 1 1 02EH 02EH 0F2H 0F2H 0C4H 0C4H Operação armazena subtração, verifica se não foi atingido a meta de produção. desvia o programa Na tabela acima pode-se verificar que antes da instrução de subtração o Acumulador possuía um conteúdo e o flag de SINAL está setado, ou seja, o valor do Acumulador é um número positivo e ao se realizar a instrução de subtração tem-se como resultado da operação um valor positivo (Acumulador com um valor maior ou igual a zero e o flag de SINAL continua setado) logo continua-se a produção, feita através do desvio p/ PRODUZIR. OBSERVAÇÃO: Deve-se evitar a utilização de desvios para endereços anteriores ao da lógica que origina o salto. De forma controlada pode-se realizar “loops” de programação. 88 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.4.5 - Salto se operação lógica resultar MENOR – Jump Minus JM OPERANDO: ENDEREÇO DE DESTINO DO SALTO OPERAÇÃO: JM “RÓTULO” DESCRIÇÃO: Salta a execução do PLC para o endereço indicado pelo “LABEL” caso o resultado da operação aritmética realizada antes desta instrução, com Byte, seja negativo. Caso contrário, não ocorre salto. O conteúdo do acumulador não é afetado por esta instrução. Esta operação está diretamente relacionada com o resultado final de uma operação lógica ou aritmética anterior, cujo resultado final desta operação define se haverá desvio, caso o valor final da operação for menor do que zero (flag de SINAL resetado) não haverá desvio, caso o valor final for igual ou maior que zero (flag de SINAL setado) acontece o desvio e a operação é concluía. EXEMPLO: Supondo-se em um dado momento do programa temos a seguinte operação aritmética entre duas memórias e conforme o resultado deve-se desviar o programa para uma rotina que trata este fato, teremos então os seguintes resultados: 1.º Operando ⇒ 2.º Operando ⇒ Operação ⇒ L MB 223 SUB MB 225 JM RECUAR : RECUAR: L MB : 223 M223; memória de posição limite de deslocamento, M223 = 0A5H. M225; memória de posição do deslocamento, M225 = 0A9H. ; prepara a operação. ; verifica se não foi excedida a posição limite. ; caso constatado que foi ultrapassado a posição limite desvia-se o ;fluxo do ;programa para tratar do recuo do eixo em questão. ; tratar do recuo. Instrução L SINAL 1 1 Acc XX 0F2H MB 223 0A5H 0A5H MB 225 0A9H 0A9H SUB JM 0 0 057H 057H 0A5H 0A5H 0A9H 0A9H Operação armazena subtração, verifica se não ultrapassado a posição limite. desvia o programa Na tabela acima pode-se verificar que antes da instrução de subtração o Acumulador possuía um conteúdo e o flag de SINAL está setado, ou seja, o valor do Acumulador é um número positivo e ao se realizar a instrução de subtração tem-se como resultado da operação um valor negativo (Acumulador com um valor menor que zero e o flag de SINAL foi resetado) logo desvia-se o programa para realizar as devidas operações para corrigir o problema, através do desvio. OBSERVAÇÃO: Deve-se evitar a utilização de desvios para endereços anteriores ao da lógica que origina o salto. De forma controlada pode-se realizar “loops” de programação. 15/04/2005 89 Manual de PLC – Proteo Mini V1.00 10.4.6 - Salto incondicional para endereço dado em tabela OPERANDO: JT ENDEREÇO DO INÍCIO DA TABELA OPERAÇÃO: JT “RÓTULO” DESCRIÇÃO: Salta a execução do PLC para um endereço contido numa tabela de endereços. O conteúdo do Acumulador aponta qual endereço da lista será chamado. O endereço da tabela é dado diretamente no operando. O salto é realizado de forma incondicional. A tabela deve ser formada por uma sequência de instruções ADR na sequência desejada. O índice indica à instrução qual dos endereços será o destino do salto. O conteúdo do acumulador não é afetado pela operação. EXEMPLO: TABELA: ADR ADR ADR ADR SALTO0 SALTO1 SALTO2 SALTO3 L JT KB TABELA ;índice 0 ;índice 1 ;índice 2 ;índice 3 2 ;aponta SALTO2 Neste exemplo, a instrução JT irá saltar para o endereço SALTO2. 10.4.7 - Chamada condicional de sub-rotina – NÃO ZERO OPERANDO: CALL ENDEREÇO DA SUB-ROTINA OPERAÇÃO: CALL Operando DESCRIÇÃO: Salta para o endereço indicado na instrução caso o resultado da operação lógica anterior seja “1” (Flag Zero no estado NZ). Ao final da execução da sub-rotina, a execução retorna para a instrução seguinte àquela que originou o salto. 10.4.8 - Chamada condicional indireta de sub-rotina – NÃO ZERO OPERANDO: MW CALL - MEMÓRIA WORD OPERAÇÃO: CALL MW Endereço Indireto DESCRIÇÃO: Salta para o endereço contido na memória apontada pelo operando da instrução caso o resultado da operação lógica anterior seja “1” (Flag Zero no estado NZ). Ao final da execução da sub-rotina, a execução retorna para a instrução seguinte àquela que originou o salto. 90 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.4.9 - Chamada condicional de sub-rotina – ZERO OPERANDO: CALLZ ENDEREÇO DA SUB-ROTINA OPERAÇÃO: CALLZ Operando DESCRIÇÃO: Salta para o endereço indicado na instrução caso o acumulador esteja desenergizado ou o resultado de uma operação lógica seja zero. Ao final da execução da sub-rotina, retorna a execução para a instrução seguinte. 10.4.10 - Chamada condicional indireta de sub-rotina – ZERO OPERANDO: CALLZ MW – MEMÓRIA WORD OPERAÇÃO: CALLZ MW Endereço Indireto DESCRIÇÃO: Salta para o endereço contido na memória do operando da instrução caso o resultado da operação lógica anterior seja “0” (Flag Zero no estado Z). Ao final da execução da subrotina, a execução retorna para a instrução seguinte àquela que originou o salto. 10.4.11 - Chamada incondicional de sub-rotina apontada por tabela OPERANDO: CALLT ENDEREÇO DA TABELA OPERAÇÃO: CALLT Operando DESCRIÇÃO: Salta a execução do PLC para um endereço contido numa tabela de endereços. O conteúdo do Acumulador aponta qual endereço da lista será chamado. O endereço da tabela é dado diretamente no operando. O salto é realizado de forma incondicional. A tabela deve ser formada por uma sequência de instruções ADR na sequência desejada. O índice indica à instrução qual o endereço da subrotina que se deseja executar. O conteúdo do acumulador não é afetado pela operação. Ao final da execução da sub-rotina, a execução retorna para a instrução seguinte àquela que originou o salto. EXEMPLO: TABELA: ADR ADR ADR ADR ROT0 ROT1 ROT2 ROT3 L CALLT KB TABELA ;índice 0 ;índice 1 ;índice 2 ;índice 3 2 ;aponta ROT2 Neste exemplo, a instrução CALLT irá executar a sub-rotina ROT2 15/04/2005 91 Manual de PLC – Proteo Mini V1.00 10.4.12 - Chamada incondicional indireta apontada por tabela OPERANDO: MW CALLT - MEMÓRIA WORD OPERAÇÃO: CALLT MW Endereço Indireto DESCRIÇÃO: Salta a execução do PLC para um endereço contido numa tabela de endereços. O conteúdo do Acumulador aponta qual endereço da lista será chamado. O endereço da tabela é dado no operando. O salto é realizado de forma incondicional. A tabela deve ser formada por uma sequência de instruções ADR na sequência desejada. O índice indica à instrução qual o endereço da subrotina que se deseja executar. O conteúdo do acumulador não é afetado pela operação. Ao final da execução da sub-rotina, a execução retorna para a instrução seguinte àquela que originou o salto. EXEMPLO: TABELA: ADR ADR ADR ADR ROT0 ROT1 ROT2 ROT3 ;índice 0 ;índice 1 ;índice 2 ;índice 3 ADR = TABELA MW INDTAB L CALLT KB MW 2 INDTAB ;aponta ROT2 Neste exemplo, o conteúdo da memória INDTAB é o endereço do rótulo TABELA. A instrução CALLT irá executar a sub-rotina ROT2 10.4.13 - Chamada incondicional de sub-rotina OPERANDO: DCALL ENDEREÇO DA SUB-ROTINA OPERAÇÃO: DCALL “RÓTULO” DESCRIÇÃO: Salta para o endereço indicado na instrução. Ao final da execução da sub-rotina, a execução retorna para a instrução seguinte àquela que originou o salto. 10.4.14 - Chamada incondicional indireta de sub-rotina OPERANDO: DCALL ENDEREÇO DA SUB-ROTINA OPERAÇÃO: DCALL “RÓTULO” DESCRIÇÃO: Salta para o endereço indicado pelo conteúdo do operando da instrução. Ao final da execução da sub-rotina, a execução retorna para a instrução seguinte àquela que originou o salto. 92 15/04/2005 Manual de PLC – Proteo Mini 10.4.15 - Retorno de sub-rotina OPERANDO: V1.00 RET NÃO POSSUI OPERAÇÃO: RET DESCRIÇÃO: Colocado ao final de uma sub-rotina, faz a execução do PLC retornar para a instrução subseqüente à instrução de chamada que ativou a sub-rotina. O retorno é incondicional. 15/04/2005 93 Manual de PLC – Proteo Mini V1.00 10.5 Operações com Ponto Flutuante 10.5.1- Limpa as posições da memória OPERANDO: FFLUSH NÃO POSSUI OPERAÇÃO: FFLUSH DESCRIÇÃO: Limpa as posições da pilha da memória de ponto flutuante: R1, R2, R3, R4, R5, R6, R7 e R8. 10.5.2 - Copia o conteúdo do Acc para a 1ª posição da pilha OPERANDO: FPUSH NÃO POSSUI OPERAÇÃO: FPUSH DESCRIÇÃO: O conteúdo do acumulador é copiado para a primeira posição da pilha, que é R1. 10.5.3 - Descarta o conteúdo do Acc e assume o da pilha OPERANDO: FPOP NÃO POSSUI OPERAÇÃO: FPOP DESCRIÇÃO: O conteúdo da posição R1 é transferido para o Acumulador. 10.5.4 - Operação de soma OPERANDO: FADD NÃO POSSUI OPERAÇÃO: FADD DESCRIÇÃO: Faz uma soma entre a primeira posição da pilha e o acumulador . Depois da operação o resultado é guardado no próprio acumulador e as posições da pilha são realocadas, ou seja, o conteúdo que estava em R1 é substituído pelo conteúdo de R2 e assim sucessivamente. 94 15/04/2005 Manual de PLC – Proteo Mini 10.5.5 - Operação de subtração OPERANDO: V1.00 FSUB NÃO POSSUI OPERAÇÃO: FSUB DESCRIÇÃO: Faz uma subtração entre a primeira posição da pilha e o acumulador . Depois da operação o resultado é guardado no próprio acumulador e as posições da pilha são realocadas, ou seja, o conteúdo que estava em R1 é substituído pelo conteúdo de R2 e assim sucessivamente. 10.5.6 - Operação de multiplicação OPERANDO: FMULT NÃO POSSUI OPERAÇÃO: FMULT DESCRIÇÃO: Faz uma multiplicação entre a primeira posição da pilha e o acumulador . Depois da operação o resultado é guardado no próprio acumulador e as posições da pilha são realocadas, ou seja, o conteúdo que estava em R1 é substituído pelo conteúdo de R2 e assim sucessivamente. 10.5.7 - Operação de divisão OPERANDO: FDIV NÃO POSSUI OPERAÇÃO: FDIV DESCRIÇÃO: Faz uma divisão entre a primeira posição da pilha e o acumulador . Depois da operação o resultado é guardado no próprio acumulador e as posições da pilha são realocadas, ou seja, o conteúdo que estava em R1 é substituído pelo conteúdo de R2 e assim sucessivamente. 10.5.8 - Número absoluto OPERANDO: FABS NÃO POSSUI OPERAÇÃO: FABS DESCRIÇÃO: Faz o módulo do valor que está carregado no acumulador, ou seja, deixa o sinal sempre positivo. Guarda o valor no próprio acumulador. 15/04/2005 95 Manual de PLC – Proteo Mini 10.5.9 - Número negado – inversão de sinal OPERANDO: V1.00 FNEG NÃO POSSUI OPERAÇÃO: FNEG DESCRIÇÃO: Inverte o sinal do conteúdo do acumulador e guarda o valor no próprio acumulador. 10.5.10 - Operação de raiz quadrada OPERANDO: FSQRT NÃO POSSUI OPERAÇÃO: FSQRT DESCRIÇÃO: Calcula a raiz quadrada do valor que está no acumulador e guarda o resultado no próprio acumulador 10.5.11 - Fórmula de Pitágoras OPERANDO: FDIST NÃO POSSUI OPERAÇÃO: FDIST DESCRIÇÃO: Calcula a fórmula de Pitágoras. 10.5.12 - Cálculo do seno OPERANDO: FSIN NÃO POSSUI OPERAÇÃO: FSIN DESCRIÇÃO: Calcula o seno do valor guardado no acumulador. O resultado da operação é mantido no acumulador. 10.5.13 - Cálculo do co-seno OPERANDO: FCOS NÃO POSSUI OPERAÇÃO: FCOS DESCRIÇÃO: Calcula o co-seno do valor guardado no acumulador. O resultado da operação é mantido no acumulador. 96 15/04/2005 Manual de PLC – Proteo Mini 10.5.14 - Cálculo da tangente OPERANDO: V1.00 FTAN NÃO POSSUI OPERAÇÃO: FTAN DESCRIÇÃO: Calcula a tangente do valor guardado no acumulador. O resultado da operação é mantido no acumulador. 10.5.15 - Cálculo do arco tangente OPERANDO: FATAN NÃO POSSUI OPERAÇÃO: FATAN DESCRIÇÃO: Calcula o arco tangente do valor guardado no acumulador. O resultado da operação é mantido no acumulador. 10.5.16 - Potenciação – R1Acc OPERANDO: FPOW NÃO POSSUI OPERAÇÃO: FPOW DESCRIÇÃO: Calcula a potência do valor que está guardado na posição R1. O expoente é definido no acumulador. 10.5.17 - Inversão – 1/Acc OPERANDO: FINV NÃO POSSUI OPERAÇÃO: FINV DESCRIÇÃO: Divide o valor 1 pelo conteúdo do acumulador. O resultado é guardado no próprio acumulador. 10.5.18 - Elimina a parte fracionária do Acc OPERANDO: FINT NÃO POSSUI OPERAÇÃO: FINT DESCRIÇÃO: Copia apenas a parte inteira do acumulador e guarda no próprio acumulador. 15/04/2005 97 Manual de PLC – Proteo Mini 10.5.19 - Elimina a parte inteira do Acc OPERANDO: V1.00 FFRAC NÃO POSSUI OPERAÇÃO: FFRAC DESCRIÇÃO: Copia apenas a parte fracionária do acumulador e guarda no próprio acumulador. 10.5.20 - Constante PI ( à) OPERANDO: FPI NÃO POSSUI OPERAÇÃO: FPI DESCRIÇÃO: Coloca no Acumulador a constante numérica PI que corresponde ao valor de 3,14159265359. 10.5.21 - Carrega o Acc com um valor de ponto flutuante OPERANDO: LF ML KF OPERAÇÃO: LF DESCRIÇÃO: Coloca no acumulador um valor de ponto flutuante. Este valor pode ser uma constante (KF) ou o conteúdo de uma memória longa (ML). 10.5.22 - Atribuição de valor de ponto flutuante OPERANDO: =F ML OPERAÇÃO: =F DESCRIÇÃO: Atribui o valor do acumulador para uma memória longa (ML). 98 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.6 - Operações com TIMER 10.6.1 - Introdução e definições As operações com Timer (temporizador) são muito utilizadas em processos, onde os tempos de execução da operação ou atividade definem a conclusão ou não do processo. Para a utilização e o emprego do Timer nos programas do MCSplc, deve-se fazer alguns procedimentos padrões, descritos a seguir: " Nos arquivos de PLC temos um arquivo, cuja extensão é .def (arquivo de definições e declarações). Este arquivo possui uma região destinada à definição das variáveis dos temporizadores. Nesta região deve-se definir cada variável de tempo que será utilizada, sendo que os temporizadores de 0 até 4, estão reservados para rotinas básicas do PLC. EXEMPLO: Supondo que estamos fazendo uma programação no MCSplc para um torno, logo seu arquivo de definições é o “TORNO.DEF” e se procurarmos em sua estrutura, encontraremos a região dos temporizadores e nesta região iremos definir três temporizadores (TED = Temporizador para partida Υ-∆ do motor principal, TLP = Temporizador para Lubrificação de Peça e TAP = Temporizador para Abertura de Porta), como a seguir; ; TEMPORIZADORES #DEFINE #DEFINE #DEFINE ;;#DEFINE ;;#DEFINE : : ;;#DEFINE ;;#DEFINE ;;#DEFINE ;;#DEFINE TED TLP TAP 3 4 0; Tempo para partida Estrela-Triângulo. 1; Tempo para Lubrificação de Peça. 2; Tempo para Abertura de Porta. ; ; 12 13 14 15 ; ; ; ; OBSERVAÇÕES: O nome da variável do temporizador pode ser qualquer um, como por exemploT06 ou TX6 ou TEMPO06, etc. Para utilizar a variável não esqueça de remover da frente da palavra “#DEFINE” o sinal de ’;;’. Comentários devem vir após o sinal de ‘;’. " Nos arquivos de PLC temos um arquivo, cuja extensão é .1 (arquivo do PLC1), onde será feita a lógica da programação e neste mesmo arquivo deve-se definir o valor das constantes de tempo. O valor da constante de tempo tem de ser declarado como um valor de Word (valor numérico de 16 bits), mesmo que a constante não atinja esta magnitude (um valor numérico, cujo tamanho na memória é de uma Word, pode chegar até 65535, ou seja, em Hexadecimal 0FFFFH). Para cada temporizador deve-se declarar sua própria constante de tempo. EXEMPLO: 15/04/2005 99 Manual de PLC – Proteo Mini V1.00 Utilizando-se dos temporizadores definidos no “TORNO.DEF” que são: TED, TLP e TAP iremos definir, para cada temporizador, sua constante de tempo, no arquivo “TORNO.1”, onde se encontra a própria lógica de programação, como a seguir: L = L = L = L A == : : KW T KW T KW T I I Q 40 TED 60 TLP 100 TAP 1.0 1.1 0.0 ; valor da constante de tempo. ; atribuição da constante de tempo para o temporizador TED. ; valor da constante de tempo. ; atribuição da constante de tempo para o temporizador TLP. ; valor da constante de tempo. ; atribuição da constante de tempo para o temporizador TAP. ; programação do PLC1 ; programação do PLC1 ; programação do PLC1 " O valor de tempo deve ser calculado através da seguinte relação de transformação: 1 segundo = 20 unidades da constante de tempo Logo se desejarmos uma temporização de 13,55 segundos temos de ter uma constante de tempo de 271, ou seja, multiplicando-se o valor do tempo, em segundos, pelo valor 20, temos o valor da constante de tempo, como mostrado na equação a seguir: ct ct = 20 ⋅ t ou t = 20 Onde : t = tempo, em segundos. ct = constante de tempo, em unidades do PLC. " O acionamento da contagem de tempo (ligar o temporizador) é feito através da instrução SET no próprio arquivo do PLC1 (.1). Como a esta instrução possui vários tipos, deve-se analisar qual delas vai se adequar melhor ao tipo de lógica requerida na programação. A seguir temos alguns exemplos para o acionamento da contagem: EXEMPLO: Supondo que estamos desenvolvendo a lógica do programa dado no exemplo do 1.º procedimento e conseqüentemente estamos utilizando os temporizadores TED, TLP e TAP, vamos supor que acionado a entrada I 0.0 liga-se a saída Q 0.1 e esta deve-se manter ligada por um determinado tempo definido pelo temporizador TED e ao fim deste tempo liga-se a saída Q 0.2, ao ser ligado a saída Q 0.3 deve-se mantê-la ligada por um tempo definido pelo temporizador TLP e ao ser acionado a entrada I 0.1 deve-se ligar a saída Q 0.4 por um tempo definido pelo temporizador TAP. A seguir temos o programa com os acionamentos dos temporizadores: ;;=== Temporizador TED === L I 0.0 ; verificando acionamento do botão liga (I 0.0). O T TED ; ou se o temporizador está ligado (TED). == Q 0.1 ; liga a saída p/ partida em Estrela (Q 0.1). S M 216.0 ; memoriza partida Estrela , similar a um relé auxiliar. L S Q T 0.1 TED LN A T M TED ; verificando se decorrido o tempo de partida em Estrela, 216.0 ; e se o motor partiu em Estrela. 100 ; verifica se a partida em Estrela foi acionada. ; caso a partida em “Y” tenha sido ligada, aciona o temp. TED. 15/04/2005 Manual de PLC – Proteo Mini = Q 0.2 V1.00 ; liga a saída p/ partida em Triângulo. ;;=== Temporizador TLP === L EU S LN EU R Q 0.3 T TLP T TLP Q 0.3 ;;=== Temporizador TAP === L O == L I T Q I 0.1 TAP 0.4 0.1 ; verificando acionamento do botão de abertura de porta (I 0.1). ; ou se o temporizador de porta aberta está ligado (TAP). ; liga a saída p/ abertura de porta (Q 0.4). ; verificando acionamento do botão de abertura de porta (I 0.1). Realizado estes procedimentos, basta agora, utilizar o temporizador ao longo da lógica de programação no próprio PLC1, conforme o tipo de lógica desejada, como temos definidas a seguir: 15/04/2005 101 Manual de PLC – Proteo Mini V1.00 L 10.6.2 - Carrega acumulador – Load OPERANDO: T OPERAÇÃO: L T Número do Timer DESCRIÇÃO: Transfere ao Acumulador o estado do Timer indicado na instrução. O estado é "1" se o Timer estiver contando tempo. O estado é "0" se o Timer encerrou a contagem de tempo. 10.6.3 - Carrega acumulador com status negado – Load Not OPERANDO: LN T OPERAÇÃO: LN T Número do Timer DESCRIÇÃO: Transfere ao acumulador o status negado do timer indicado na instrução. O acumulador é carregado com "0" se o timer estiver contando tempo ou "1" se o tempo se encerrou. A 10.6.4 - Operação lógica E – And OPERANDO: T OPERAÇÃO: A T Número do Timer DESCRIÇÃO: Realiza a operação lógica E entre o status anterior do acumulador e o status do timer indicado na instrução. 10.6.5 - Operação lógica E NEGADO – And Not OPERANDO: AN T OPERAÇÃO: AN T Número do Timer DESCRIÇÃO: Realiza a operação lógica E entre o status do acumulador e o status negado do timer indicado na instrução. 102 15/04/2005 Manual de PLC – Proteo Mini V1.00 O 10.6.6 - Operação lógica OU – Or OPERANDO: T OPERAÇÃO: O T Número do Timer DESCRIÇÃO: Realiza a operação lógica OU entre o status anterior do acumulador e o status do timer indicado na instrução. 10.6.7 - Operação lógica OU NEGADO – Or Not OPERANDO: ON T OPERAÇÃO: ON T Número do Timer DESCRIÇÃO: Realiza a operação lógica OU entre o status anterior do acumulador e o status negado do timer indicado na instrução. 10.6.8 – Operação lógica OU EXCLUSIVO – eXclusive Or OPERANDO: XO T OPERAÇÃO: XO T Número do Timer DESCRIÇÃO: Realiza a operação lógica OU EXCLUSIVO entre o status anterior do acumulador e o status do timer indicado na instrução. 10.6.9 - Operação lógica OU EXCLUSIVO NEGADO – eXclusive Or Not OPERANDO: XON T OPERAÇÃO: XON T Número do Timer DESCRIÇÃO: Realiza a operação lógica OU EXCLUSIVO entre o status anterior do acumulador e o status negado do timer indicado na instrução. 15/04/2005 103 Manual de PLC – Proteo Mini V1.00 10.6.10 - Atribuição de constante de tempo ao timer OPERANDO: = T OPERAÇÃO: = T Número do Timer DESCRIÇÃO: Atribui o conteúdo do acumulador à constante de tempo do timer indicado na instrução. O acumulador deverá estar carregado com uma variável word (2 bytes). A constante de tempo somente será ativada ao ser setado o timer. 10.6.11 - SET timer energizando o acumulador OPERANDO: SL T OPERAÇÃO: SL T Número do Timer DESCRIÇÃO: O timer será ligado na transição de “0” para “1“ do estado do Acumulador imediatamente antes da execução da instrução. O byte de status do timer correspondente é setado com 0FFH. Caso contrário, o status do timer não será alterado. Após a operação, o status do acumulador é energizado ("1"). 10.6.12 - SET sem influência no acumulador OPERANDO: S T OPERAÇÃO: S T Número do Timer DESCRIÇÃO: O timer será ligado na transição de “0” para “1“ do estado do Acumulador imediatamente antes da execução da instrução. O byte de status do timer correspondente é setado com 0FFH. Caso contrário, o status do timer não será alterado. Após a operação, o status do acumulador permanece inalterado. 10.6.13 – SET FORÇADO sem influência no acumulador OPERANDO: SF T OPERAÇÃO: SF T Número do Timer DESCRIÇÃO: O timer será ligado independentemente do status do acumulador. O byte de status do timer correspondente é setado com 0FFH. Após a operação, o status do acumulador permanece inalterado. 104 15/04/2005 Manual de PLC – Proteo Mini V1.00 10.6.14 - RESET energizando o acumulador OPERANDO: RL T OPERAÇÃO: RL T Número do Timer DESCRIÇÃO: Se o status do acumulador está em "1", o timer será desligado (contagem de tempo vai a 0). Se o status do acumulador está em "0", o tempo decorrido não será afetado. O status do acumulador é energizado ("1"). 10.6.15 - RESET sem influência no acumulador OPERANDO: R T OPERAÇÃO: R T Número do Timer DESCRIÇÃO: Se o status do acumulador está em "1", o timer será desligado (contagem de tempo vai a 0). Se o status do acumulador está em "0", o tempo decorrido não será afetado. O status do acumulador permanece inalterado. 10.6.16 - RESET FORÇADO sem influência no acumulador OPERANDO: RF T OPERAÇÃO: RF T Número do Timer DESCRIÇÃO: O timer será desligado independentemente do status do acumulador. O byte de status do timer correspondente é zerado. O status do acumulador permanece inalterado. 15/04/2005 105 Manual de PLC – Proteo Mini V1.00 10.7 – Demais Operações 10.7.1 – Energiza o acumulador OPERANDOS: EN NÃO POSSUI OPERAÇÃO: EN DESCRIÇÃO: Após a execução desta instrução o conteúdo do acumulador estará energizado ("1"). Esta instrução além de mudar o conteúdo do acumulador, também muda o conteúdo dos flags. Após a execução da instrução o Acumulador e os Flags estarão nos estados definidos pela tabela abaixo: TABELA DA VERDADE: Estado do Acumulador Acc (valor atual) 0FFH Estado dos Flags Zero Carry Sinal NZ NC P 10.7.2 - Carrega endereço – load ADRESS OPERANDO: ADR RÓTULO CORRESPONDENTE AO ENDEREÇO DESEJADO OPERAÇÃO: ADR “RÓTULO” DESCRIÇÃO: Transfere para o acumulador o endereço do rótulo indicado na instrução. 10.6.3 - Instrução TELA OPERANDO: TELA NÃO POSSUI OPERAÇÃO: TELA DESCRIÇÃO: A instrução tela permite que o PLC execute funções especiais. Para executar essas funções especiais é necessário carregar o acumulador com o valor da função e chamar a sentença TELA. As funções são: Função 1: Leitura de parâmetros P; Função 2: Alteração de parâmetros P; Função 3: Salva parâmetros P na flash externa; Função 5: Conversão de binário para string; Função 6: Lê da flash externa receita especial do PLC; Função 7: Salva receita especial do PLC na flash; Função 8: Leitura de strings/constantes da memória de programa do PLC Função 14: Prepara formato para a captura de dados; Função 15: Informa se a entrada de dados encerrou e se foi finalizada com ENT ou NOENT 106 15/04/2005 Manual de PLC – Proteo Mini 10.6.4 - FINAL da execução do PLC OPERANDO: V1.00 END NÃO POSSUI OPERAÇÃO: END DESCRIÇÃO: Encerra a execução do PLC 15/04/2005 107 Manual de PLC – Proteo Mini V1.00 11 - Modos 11.1 - Modo de Inicialização Busca de Referência 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 e assim deslocar este eixo para a sua nova posição, ou seja, o CNC precisa ter informação precisa da medição da posição atual de cada eixo. 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 (nem a final). Os transdutores absolutos são complexos e caros. 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, de cada vez que ativamos o CNC, o CNC procura uma posição do eixo com precisão e coordenada conhecida a partir da qual todas as medições são realizadas. Este processo é chamado de “Busca de Referência”. O Proteo Mini quando ligado fica preparado para o referenciamento. Para iniciar a busca de referência aperte . Esse referenciamento é indicado através dos leds do modo manual e do modo automático que ficam piscando durante o processo. O eixo parte no sentido do micro de referencia e assim que o encontra reverte o sentido e pára quando encontrar a primeira marca de referência do transdutor.Esse processo é repetido para o segundo eixo. Encerrado o referenciamento o comando entra automaticamente no modo manual. Para entrar em modo automático deve-se pressionar a tecla 108 . 15/04/2005 Manual de PLC – Proteo Mini V1.00 Para entrar em modo de parâmetros deve-se manter pressionada a tecla segundos. por três Para cancelar o referenciamento da máquina deve-se apertar a seguinte seqüência de teclas: - - . Para retomar o processo de referenciamento aperte essa seqüência de teclas: , então no display aparecerá processo de referenciamento irá iniciar. rEF , basta apertar o eo Nota: - Na busca de referência se o carro estiver posicionado depois do micro de referência, então ele seguirá até o fim de curso, reverterá o sentido do movimento e depois de encontrar e sair do micro de referência a máquina estará referenciada. - Se o parâmetro P23 for igual a “1” então o comando saltará a busca de referência. - Quando o Proteo Mini é ligado ele apresenta no display a última cota memorizada. 15/04/2005 109 Manual de PLC – Proteo Mini V1.00 11.2 - Modo Manual Em modo manual é permitida a movimentação dos eixos através de teclas Veja a descrição das teclas de movimento manual na tabela abaixo: Tecla Função Movimenta o eixo X no sentido negativo – velocidade normal Movimenta o eixo X no sentido negativo – velocidade rápida Movimenta o eixo X no sentido positivo – velocidade rápida Movimenta o eixo X no sentido positivo – velocidade normal Também é permitido o preset do eixo que é feito da seguinte maneira: 110 • Aperte a tecla • O led de indicação teórico ficará aceso • Digite o valor de preset e pressione ; ; ; 15/04/2005 Manual de PLC – Proteo Mini V1.00 11.3 - Modo Automático O modo automático permite que o eixo X se desloque para a coordenada programada e habilite a saída S0.7.Quando a saída é ligada, o contador é atualizado de forma crescente ou decrescente. O processo automático é feito da seguinte forma: • • – led de indicação teórico aceso – ; Aperte Digite o valor numérico da coordenada. Por exemplo 200 ; • • Aparecerá pressione ; Agora no campo N aparecerá o valor 0 ou o último valor digitado 200 0 • ; Pressione 4 e digite outro número, por exemplo 4; pressione ; • Pressione • Para parar ou abortar o processo utilize a tecla para iniciar o processo Pressionando somente 1x : - para e o led “start” fica piscando Pressionando 2x - aborta o movimento. Por exemplo : Antes de Abortar Depois de Abortar 200 200 2 200 0 – – 4 – Obs.: No exemplo acima considere contador decrescente, então o contador volta para o número programado. Se fosse contador crescente voltaria para 0 (zero). Descrevendo o processo: O Proteo mini faz o eixo X deslocar até a medida programada no display Teórico, depois habilita a saída S0.7 e através da tecla Start ou por uma entrada ele atualiza o contador seguindo o valor que o operador digitou no campo N. 15/04/2005 111 Manual de PLC – Proteo Mini V1.00 11.3.1 – Contagem Contagem crescente: Se o parâmetro P5(parâmetros gerais) estiver com o valor 1 a contagem é feita em ordem crescente. • Incrementa o contador com entrada [E 0.5 = 1] Obs.: Se a contagem é crescente então não existe limite . Contagem decrescente: Se o parâmetro P5(parâmetros gerais) estiver com o valor 0 a contagem é feita em ordem decrescente. • Decrementa o contador com entrada [E 0.5 = 1] • Depois de entrar com o valor de deslocamento, siga os passos da tabela abaixo: TECLAS DISPLAY Será permitida a entrada do número de repetições Ex.2 1 2 2 3 2 4 5 112 OBSERVAÇÕES 2 Pulso E0.5 1 Digitado o número de repetições. Confirmado com a tecla Enter Eixo se desloca até valor programado eixo teórico e em seguida para eixo. Decrementa 1 no contador. 15/04/2005 Manual de PLC – Proteo Mini V1.00 11.4 - Modo de Parâmetros No campo aparecerá o número do parâmetro e o led ficará piscando. O processo de alteração é o descrito abaixo: • Digite a senha para a alteração dos valores dos parâmetros (ver procedimento no anexo B); • Selecione o parâmetro através das teclas • Pressione • Digite o novo valor no campo • Pressione , o led ficará piscando; ; novamente para atualizar o valor do parâmetro no campo parâmetro, caso contrário pressione ,que mostra o valor atual do e a operação será cancelada; • Para sair do modo de parâmetros pressione a tecla para o último modo acessado. 15/04/2005 ; e o comando retornará 113