113
Manual de PLC – Proteo Mini V1.00 15/04/2005 1 Í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

Os PLCs ou CLPs (Programamble Logic Controlers ou …cncmcs.com.br/.../Proteo_Mini/Manuais/CNCProteo_Mini_Manual_PL… · Manual de PLC – Proteo Mini V1.00 15/04/2005 5 1. Introdução

Embed Size (px)

Citation preview

Manual de PLC – Proteo Mini V1.00

15/04/2005 1

Í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

Manual de PLC – Proteo Mini V1.00

2 15/04/2005

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

Manual de PLC – Proteo Mini V1.00

15/04/2005 3

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

Manual de PLC – Proteo Mini V1.00

4 15/04/2005

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

Manual de PLC – Proteo Mini V1.00

15/04/2005 5

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.

Manual de PLC – Proteo Mini V1.00

6 15/04/2005

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 :

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 permitindo a programação, operação e

visualização dos dados do processo.

Manual de PLC – Proteo Mini V1.00

15/04/2005 7

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.

Manual de PLC – Proteo Mini V1.00

8 15/04/2005

4. Funções Básicas do MCSplc Integrado

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.

MCS

CNC Básico

CANAIS DE CONTAGEM

SAÍDAS LIBERAÇÕES

SAÍDAS ANALÓGICAS

ENTRADAS ANALÓGICAS

SAÍDAS LÓGICAS

ENTRADAS LÓGICAS

AREA DE TRANSFERÊNCIA ( Memória Comum )

MCSplc PLC 1

FIG. 1

E0 E1 .. E127

S0 S1 .. S127

L0 L1 .. L7

AN 0 AN 1 .. AN 7

LB0 LB1 .. LB7

C1 C2 .. C7

Manual de PLC – Proteo Mini V1.00

15/04/2005 9

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.

Manual de PLC – Proteo Mini V1.00

10 15/04/2005

Display utilizado para indicar a cota

real

Display utilizado para indicar a cota teórica

Display utilizado para indicar

parâmetro ou número de repetições

Leds que indicam em

que modo está

Teclas utilizadas para os movimentos em

modo Manual

Tecla utilizada para alternar

entre os modos

Leds que indicam por exemplo o eixo que está selecionado ou a

espera de Start

5 - Apresentação das funções e conexões dos painéis

5.1 - Painel Frontal (teclas)

Manual de PLC – Proteo Mini V1.00

15/04/2005 11

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

Manual de PLC – Proteo Mini V1.00

12 15/04/2005

5.2 - Painel Traseiro (conexões)

2 entradas para Encoders

Alimentação

Comunicação RS232

Entrada para comunicação

CAN bus

Grupo de entradas

Grupo de saídas Potenciômetros

Liberações e saídas analógicas

Aplique 24V

Aplique 0V

Manual de PLC – Proteo Mini V1.00

15/04/2005 13

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 : 0.5 A (CONSUMO EXCLUSIVO DO CNC, SEM CARGA)

Veja o esquema do conector da alimentação:

24 V 0 V

Manual de PLC – Proteo Mini V1.00

14 15/04/2005

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 10mA (@ 24Volt)

tensão máx. 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

Manual de PLC – Proteo Mini V1.00

15/04/2005 15

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

Manual de PLC – Proteo Mini V1.00

16 15/04/2005

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 :

Manual de PLC – Proteo Mini V1.00

15/04/2005 17

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 servo-acionamentos 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:

Manual de PLC – Proteo Mini V1.00

18 15/04/2005

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:

Manual de PLC – Proteo Mini V1.00

15/04/2005 19

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.

Manual de PLC – Proteo Mini V1.00

20 15/04/2005

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.. 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.

PLC

Inicio do ciclo

Fim do ciclo

I 0000 I 0001 . . . . . . I 2000

Memória Comum Área de transferência

CNC

Memória Comum Área de transferência

CNC

Manual de PLC – Proteo Mini V1.00

15/04/2005 21

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 : 2000 bytes Memórias word : 1000 words Memórias bit : 2000x8 bits Temporizadores : 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 LIB1:

RET ;retorno de sub-rotina

Manual de PLC – Proteo Mini V1.00

22 15/04/2005

8.4 – Tipos de Operação L Carrega acumulador LN Carrega acumulador com o complemento A Lógica E (and) NA Lógica E negada (nand) O Lógica OU (or) ON Lógica OU negada (nor) XO OU exclusivo (xor) XON OU exclusivo negado (xnor) SL Set lógico, liga bit indicado e energiza acumulador RL Reset lógico, desliga bit indicado e energiza acumulador S Set lógico, liga bit indicado caso logica positiva (NZ) R Reset lógico, desliga bit indicado caso lógica positiva (NZ) SN Set bit indicado se lógica Negativa (zero) RN Reset bit indicado se lógica Negativa (zero) SF Set bit incondicional RF Reset bit incondicional = Atribui e energiza acumulador caso instrução de bit == Atribuição de bit (incondicional) e de byte/word (caso NZ) =N Atribuição negada condicional (byte/word), não altera ACC e flags =N Atribuição negada de bit (incondicional) A( Inicio de expressão com lógica E (and) O( Inicio de expressão com lógica OU (or) ) Final de expressão CP Compara com o conteúdo do acumulador ADD Soma com o conteúdo do acumulador SUB Subtrai do conteúdo do acumulador SHL Shift para a esquerda com carry SHR Shift para a direita com carry TELA Instruções especiais para construção de telas J Desvio incondicional JZ Desvio caso resultado for zero (igual) JNZ Desvio caso resultado nao zero (diferente) JP Desvio caso resultado positivo (maior ou igual) JM Desvio caso resultado negativo (menor) JT JUMP Indexado via tabela de endereços, índice no acumulador EN Energiza acumulador, zera carry ADR Carrega endereço do rótulo CALL Chama sub-rotina caso lógica anterior diferente de zero (NZ) CALLZ Chama sub-rotina caso lógica anterior for zero (Z) DCALL Chamada incondicional de sub-rotina CALLT CALL indexado via tabela de endereços, índice no acumulador RET Final de sub-rotina MULT Multiplica com o conteúdo do acumulador DIV Divide conteúdo da memória indicada pelo conteúdo do acumulador INC Incrementa posição de memória (byte ou word) DEC Decrementa memória (byte ou word) END Encerra PLC

Manual de PLC – Proteo Mini V1.00

15/04/2005 23

ENDC Indica fim de código para o compilador; início de tabelas de dados e textos EU Detecta transição borda de subida (Edge Up) de resultado anterior ED Detecta transição borda de descida (Edge Down) de resultado anterior EDG Detecta transição borda (EDGe up/down) de resultado anterior AZ And Zero (testa se o acumulador e o parâmetro indicado são iguais) ANZ And Não Zero (testa se o acumulador e o parâmetro indicado são diferentes) AP And Positivo (testa se acumulador é maior ou igual ao parâmetro indicado) AM And Menor (verifica se acumulador é menor que o parâmetro indicado) OZ Or Zero (verifica se o acumulador e o parâmetro indicado são iguais) ONZ Or Não Zero (verifica se o acumulador e o parâmetro indicado são diferentes) OP Or Positivo (verifica se acumulador é maior que o parâmetro indicado) OM Or Menor (verifica se acumulador é menor que o parâmetro indicado) LZ Testa igualdade entre o acumulador e o parâmetro indicado; se iguais carrega

lógica “1” no acumulador LNZ Testa desigualdade entre o acumulador e o parâmetro indicado; se diferentes

carrega lógica “1” no acumulador LP Testa se acumulador é maior que o parâmetro indicado; se maior ou igual carrega

lógica “1” no acumulador LM Testa se acumulador é menor que o parâmetro indicado; se menor carrega lógica

“1” no acumulador Operação com ponto flutuante

FFLUSH Limpa toda a pilha FPUSH Copia o conteúdo do acumulador para a primeira posição da pilha FPOP Descarta o conteúdo do acumulador e assume o que esta na pilha FADD Soma FSUB Subtração FMULT Multiplicação FDIV Divisão FABS Número Absoluto FNEG Inverte sinal FSQRT Raiz quadrada FDIST Pitágoras FSIN Seno FCOS Coseno FTAN Tangente FATAN Arco Tangente FPOW Primeira posição da pilha elevado ao valor do acumulador FINV 1 / acumulador FINT Copia apenas a parte inteira do acumulador FFRAC Copia apenas a parte fracionária do acumulador FPI Constante PI LF Carrega um valor de ponto flutuante no acumulador =F Atribui um valor de ponto flutuante

Manual de PLC – Proteo Mini V1.00

24 15/04/2005

8.5 – Tipos de Operandos

1. I ENTRADA 2. Q SAÍDA 3. M MEMÓRIA (bit) 4. T TEMPORIZADOR 5. IB GRUPO DE 8 ENTRADAS (byte de entradas) 6. QB GRUPO DE 8 SAÍDAS (byte de saídas) 7. MB MEMÓRIA (byte) 8. MW MEMÓRIA (word) 9. ML MEMÓRIA LONGA (Double Word) 10. KB CONSTANTE (byte) 11. KW CONSTANTE (word) 12. KF CONSTANTE FLOAT (ponto flutuante) 13. IMB MEMÓRIA INDEXADA (byte) 14. IMW MEMÓRIA INDEXADA (word)

8.6 - Endereços ou Parâmetros

1. 12345 NÚMERO DECIMAL (0 - 65535) 2. 1234H NÚMERO HEXADECIMAL (0 - 0FFFFH) 3. 01010B PADRÃO BINÁRIO (1 - 16 BITS) 4. 1.2 ENDEREÇO GRUPO.BIT (0.0 - 1999.7) 5. 12345 ENDEREÇO BYTE (0 - 1999) 6. 12345 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.

Manual de PLC – Proteo Mini V1.00

15/04/20

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 B7 B6 B5 B4 B3 B2 B1 B0

8.7.1 DEFI É um rresulta Cada bpor exzero. A prinonde o TABE

FLAZER

CAR

SINA

BYTE MENOS SIGNIFICATIVOUTILIZADO PARA OPERAÇÕES DEBYTE, WORD E PARA LÓGICA DE

BYTE MAIS SIGNIFICATIVO UTILIZADO PARA OPERAÇÕES DE WORD

05 25

– Flags

NIÇÃO

egistrador que completa a função do Acumulador indicando as condições e estados do do da última operação lógica ou aritmética.

it do registrador de Flags indica uma condição ou evento ocorrido na operação, como emplo, em uma subtração se o resultado final é um número positivo ou negativo ou

cipal função dos Flags está em instruções de decisão e desvio de fluxo do programa, resultado da operação determina decisões, ações e eventos na programação.

LA DO ESTADO DOS FLAGS

G ESTADOS DESCRIÇÃO OPERAÇÕES O Z = Zero

NZ = Não Zero Indica se o resultado da última operação é

nulo Lógica de bit e

operações aritméticas RY C = Carry

NC = Não Carry Indica transbordo na última operação Operações aritméticas

L P = Positivo M = negativo

(Menor)

Indica sinal (valor do bit mais significativo do resultado da última

operação)

Operações aritméticas

BITS

Manual de PLC – Proteo Mini V1.00

26 15/04/2005

R8 R7R6 R5 R4 R3 R2R1

ACC

Y

Acumulador ! Constante Y

X

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: Exemplo: Carregamos o Acumulador com uma constante de ponto flutuante. Carregamos um outro valor de ponto flutuante no acumulador.

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.

X

Acumulador ! Constante X

Manual de PLC – Proteo Mini V1.00

15/04/2005 27

10 - Descrição das Instruções do PLC

10.1 – Operações com BIT

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA OPERAÇÃO:

L Operando 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.

10.1.1 - Carrega acumulador – Load L

Manual de PLC – Proteo Mini V1.00

28 15/04/2005

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA OPERAÇÃO:

LN Operando 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.

10.1.2 - Carrega acumulador com status negado – Load Not LN

Manual de PLC – Proteo Mini V1.00

15/04/2005 29

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA

OPERAÇÃO: A Operando 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

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 I 0.1 ;Acc = I 0.1 A I 1.5 ;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.

10.1.3 - Operação lógica E – And A

Valores de Entrada da Operação

Valores de Saída

Flag Zero

Oper.bit Acc (valor anterior)

Acc (valor atual)

Estado

0 0 000H Z 0 1 000H Z 1 0 000H Z 1 1 0FFH NZ

Manual de PLC – Proteo Mini V1.00

30 15/04/2005

Acc

Oper.bit

Acc&1

Acc

Oper.bit

Acc

Acc

Oper.bit

Acc&1

Acc

Oper.bit

Acc&11

Acc

Oper.bit

AccAcc

Oper.bit

Acc

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA

OPERAÇÃO: AN Operando 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 ASA

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 I 1.7 ;Acc = I 1.7 ( prepara a operação) AN I 1.6 ;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.

10.1.4 - Operação lógica E NEGADO – And Not AN

Valores de Entrada da Operação

(Operando e Complemento)

Valores de Saída

Flag Zero

Oper.bit Complemento

Acc (valor anterior)

Acc (valor atual)

Estado

0 1 0 000H Z 0 1 1 0FFH NZ 1 0 0 000H Z 1 0 1 000H Z

Manual de PLC – Proteo Mini V1.00

15/04/2005 31

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA

OPERAÇÃO: O Operando 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

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 I 5.4 ;Acc = I 5.4 ( prepara a operação) O I 0.2 ;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.

10.1.5 - Operação lógica OU – Or O

Valores de Entrada da Operação

Valores de Saída

Flag Zero

Acc (valor

anterior)

Operando.bit

Acc (valor atual)

Estado

0 0 000H Z 0 1 0FFH NZ 1 0 0FFH NZ 1 1 0FFH NZ

Manual de PLC – Proteo Mini V1.00

32 15/04/2005

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA

OPERAÇÃO: ON Operando 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

Operação (Operando e Complemento)

Valores de Saída

Flag Zero

Oper.bit Complem. Acc (valor anterior)

Acc (valor atual)

Estado

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 Q 0.2 ;Acc = Q 0.2 ( prepara a operação) ON M 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.

10.1.6 - Operação lógica OU NEGADO – Or Not ON

Manual de PLC – Proteo Mini V1.00

15/04/2005 33

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA OPERAÇÃO:

XO Operando 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 Entrada da Operação

Valores de Saída

Flag Zero

Oper.bit Acc ( valor

anterior )

Acc ( valor atual )

Estado

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 Q 1.4 ;Acc = Q 1.4 ( prepara a operação)

XO Q 1.5 ;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.

10.1.7 - Operação lógica OU EXCLUSIVO – eXclusive Or XO

Manual de PLC – Proteo Mini V1.00

34 15/04/2005

OPERANDOS: I - ENTRADA Q - SAÍDA M - 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

Operação Valores de Saída

Flag Zero

Oper.bit Compl. Acc (valor atual)

Acc (valor

anterior)

Estado

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 Operação ⇒ L I 0.0 ;Acc = I 0.0 ( prepara a operação)

XON I 0.1 ;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.

10.1.8 - Operação lógica OU EXCLUSIVO NEGADO – eXclusive Or Not

XON

Manual de PLC – Proteo Mini V1.00

15/04/2005 35

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA OPERAÇÃO:

= Operando 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 Valores de Saída

Acc (valor atual) Estado Operando.bit XXXX Z 0 XXXX NZ 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 I 0.5 ;Acc = I 0.5 ( prepara a operação)

= Q 0.1 ;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.

10.1.9 - Atribuição de resultado energizando o acumulador =

Manual de PLC – Proteo Mini V1.00

36 15/04/2005

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA OPERAÇÃO:

== Operando 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 Valores de Saída

Acc (valor atual) Estado Operando.bit XXXX Z 0 XXXX NZ 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 I 0.4 ;Acc = I 0.4 ( prepara a operação)

== Q 0.1 ;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.

10.1.10 - Atribuição de resultado mantendo status do ACC ==

Manual de PLC – Proteo Mini V1.00

15/04/2005 37

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA OPERAÇÃO:

=N Operando 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 Valores de Saída

Acc (valor atual) Estado Operando.bit XXXX Z 1 XXXX NZ 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 ⇒ L I 0.4 ;Acc = I 0.4 ( prepara a operação)

=N Q 0.1 ;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.

10.1.11 - Atribuição negada mantendo status do acumulador =N

Manual de PLC – Proteo Mini V1.00

38 15/04/2005

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA OPERAÇÃO:

SL 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 é 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 Valores de Saída

Acc (valor atual) Estado Operando.bit XXXX Z X XXXX NZ 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 I 0.3 ;Acc = I 0.3 XO I 0.4 ;Função OU EXCLUSIVO entre Acc e I 0.4

SL Q 2.5 ;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.

10.1.12 - SET energizando o acumulador – Set SL

Manual de PLC – Proteo Mini V1.00

15/04/2005 39

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA

OPERAÇÃO: S 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 Valores de Saída

Acc (valor atual) Estado Operando.bit XXXX Z X XXXX NZ 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 I 0.3 ;Acc = I 0.3 O I 0.4 ;Função OU entre Acc e I 0.4

S Q 2.5 ;liga a saída Q 2.5 A I 0.7 ;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.

10.1.13 - SET sem influência no acumulador – Set S

Manual de PLC – Proteo Mini V1.00

40 15/04/2005

OPERANDOS: I - ENTRADAS Q - SAÍDAS M - MEMÓRIAS

OPERAÇÃO: SN Operando 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 Valores de Saída

Acc (valor atual) Estado Operando.bit XXXX Z 1 XXXX NZ 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 I 0.3 ;Acc = I 0.3 O I 0.4 ;Função OU entre Acc e I 0.4

SN Q 2.5 ;liga a saída Q 2.5 se Acc = 0 A I 0.7 ;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⇒ LN I 0.3 ;Acc = inverso do estado de I 0.3 AN I 0.4 ;Função E negada entre Acc e I 0.4

S Q 2.5 ;liga a saída Q 2.5 se Acc = 0 A I 0.7 ;Função E com o resultado da associação AN anterior

10.1.14 - SET se lógica negativa – Set Not SN

Manual de PLC – Proteo Mini V1.00

15/04/2005 41

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA OPERAÇÃO:

SF Operando 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 Valores de Saída

Acc (valor atual) Estado Operando.bit XXXX X 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.

10.1.15 - SET FORÇADO sem influência no Acc – Set Forced SF

Manual de PLC – Proteo Mini V1.00

42 15/04/2005

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA OPERAÇÃO:

RL Operando 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 Valores de Saída

Acc (valor atual) Estado Operando.bit XXXX Z X XXXX NZ 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 ⇒ L I 1.4 ;Acc = I 0.4 A I 2.4 ;Função E entre Acc e I 2.4

RL Q 1.0 ;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.

10.1.16 - RESET energizando o acumulador – Reset RL

Manual de PLC – Proteo Mini V1.00

15/04/2005 43

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA OPERAÇÃO:

R Operando 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 Valores de Saída

Acc (valor atual) Estado Operando.bit XXXX Z X XXXX NZ 0

EXEMPLO: 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 I 1.4 ;Acc = I 0.4 A I 2.4 ;Função E entre Acc e I 2.4

R Q 1.0 ;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.

10.1.17 - RESET sem influência no acumulador – Reset R

Manual de PLC – Proteo Mini V1.00

44 15/04/2005

OPERANDOS: I - ENTRADAS Q - SAÍDAS M - MEMÓRIAS OPERAÇÃO:

RN Operando 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 Valores de Saída

Acc (valor atual) Estado Operando.bit XXXX Z 0 XXXX NZ 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 I 0.3 ;Acc = I 0.3 O I 0.4 ;Função OU entre Acc e I 0.4

RN Q 2.5 ;Desliga a saída Q 2.5 A I 0.7 ;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.

10.1.18 - RESET se lógica negativa – Reset Not RN

Manual de PLC – Proteo Mini V1.00

15/04/2005 45

OPERANDOS: I - ENTRADA Q - SAÍDA M - MEMÓRIA OPERAÇÃO:

RF Operando 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 Valores de Saída

Acc (valor atual) Estado Operando.bit XXXX X 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.

10.1.19 - RESET FORÇADO s/ influência no Acc–Reset Forced RF

Manual de PLC – Proteo Mini V1.00

46 15/04/2005

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 Valores de Saída Flag Zero Resultado da operação

lógica Acc (valor anterior)

Acc (valor atual) Estado

0 0 000H Z 0 1 000H Z 1 0 000H Z 1 1 0FFH 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 2.º Operando: entrada I 0.1 3.º Operando: entrada I 0.3 4.º Operando: entrada I 0.4 5.º Operando: entrada I 0.7 6.º Operando: saída Q 2.5

Operações⇒ L I 0.0 ;Carrega o estado de I 0.0 A I 0.1 ;Função E com o estado de I 0.1 A( ;Inicia uma seqüência lógica E com estado do Acc L I 0.3 ;Carrega o estado de I 0.3 O 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

AN 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.

10.1.20 - Operação lógica E – Abre parêntesis – And( A(

Manual de PLC – Proteo Mini V1.00

15/04/2005 47

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:

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 2.º Operando: entrada I 0.0 3.º Operando: entrada I 0.1 4.º Operando: saída Q 1.5

Operações⇒ L I 0.3 ;Carrega o estado de I 0.3 O( ;Inicia uma seqüência lógica OU com estado do Acc L I 0.3 ;Carrega o estado de I 0.3 A I 0.4 ;Função E com o o estado de I 0.4 ) ;Encerra a seqüência lógica e fecha associação E == Q 1.5 ;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.

10.1.21 - Operação lógica OU – Abre parêntesis – Or( O(

Valores de Entrada da Operação Valores de Saída Flag Zero Oper.bit Acc (valor

anterior) Acc (valor atual) Estado

0 0 000H Z 0 1 0FFH NZ 1 0 0FFH NZ 1 1 0FFH NZ

Manual de PLC – Proteo Mini V1.00

48 15/04/2005

OPERANDOS: 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.

OPERANDOS: 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

Estado final do Acumulador

0 permanece em 0 Z 1 para 0 Z 0 para 1 NZ

1 permanece em 1 Z

OPERANDOS: NÃO POSSUI OPERAÇÃO:

ED

10.1.22 - Operação Fecha parêntesis )

10.1.23 - Transição da borda de subida – Edge Up EU

10.1.24 - Transição da borda de descida – Edge Down ED

Manual de PLC – Proteo Mini V1.00

15/04/2005 49

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 Estado do final do Acumulador 0 permanece em 0 Z

1 para 0 NZ 0 para 1 Z

1 permanece em 1 Z

OPERANDOS: 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 Estado do final do Acumulador 0 permanece em 0 Z

1 para 0 NZ 0 para 1 NZ

1 permanece em 1 Z

10.1.25 - Transição de borda – EDGe EDG

Manual de PLC – Proteo Mini V1.00

50 15/04/2005

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 Estado do contato0 Aberto 1 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 Conteúdo do Operando da

Instrução Estado do

contato Estado do bit para

lógica 055H 023H Aberto 0 055H 055H Fechado 1

Manual de PLC – Proteo Mini V1.00

15/04/2005 51

Comparação se diferente (caso NZ): Estado do ACC Conteúdo do Operando da

Instrução Estado do

contato Estado do bit para

lógica 055H 023H Fechado 0 055H 055H Aberto 1

Comparação se positivo ou maior ou igual (caso P): Estado do ACC Conteúdo do Operando da

Instrução Estado do

contato Estado do bit para

lógica 055H 023H Fechado 1 055H 055H Fechado 1 055H 056H Aberto 0

Comparação se menor ou negativo (caso M): Estado do ACC Conteúdo do Operando da

Instrução Estado do

contato Estado do bit para

lógica 055H 023H Aberto 0 055H 055H Aberto 0 055H 056H Fechado 1

As tabelas acima serão usadas para explicar a ação das instruções a seguir.

Manual de PLC – Proteo Mini V1.00

52 15/04/2005

OPERANDOS: MB - MEMÓRIAS BYTE KB - CONSTANTES BYTE MW - MEMÓRIAS WORD KW - CONSTANTES WORD OPERAÇÃO:

LZ Operando 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)

Resultado da Operação no ACC Estado do contato

Flag

Acc = Operando 0FFH ou 0FFFFH Fechado NZ Acc ≠ Operando 00H ou 0000H Aberto 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 ⇒ Número da função auxiliar em execução 2.º Operando: constante byte 03H ⇒ Código da função auxiliar M03

3.º Operando: memoria bit M 211.0 ⇒ Memória indicativa de sentido M03 4.º Operando: memoria 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 se MB 72 = 03H

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 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.

10.2.1 – Energiza Acumulador se comparação resultar IGUAL LZ

Manual de PLC – Proteo Mini V1.00

15/04/2005 53

OPERANDOS: MB - MEMÓRIAS BYTE KB - CONSTANTES BYTE MW - MEMÓRIAS WORD KW - CONSTANTES WORD OPERAÇÃO:

LNZ Operando 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)

Resultado da Operação no ACC

Estado do contato

Flag

Acc = Operando 0FFH ou 0FFFFH Aberto NZ Acc ≠ Operando 00H ou 0000H Fechado 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 ⇒ Estado de emergência no CNC 2.º Operando: constante byte 000H ⇒ Código do estado normal (não emergência)

3.º Operando: memoria bit M 211.0 ⇒ Memória indicativa de sentido M03 4.º Operando: memoria bit M 211.1 ⇒ Memória indicativa de sentido M04

Operação⇒ L MB 384 ;Carrega conteúdo de MB 384 no Acumulador. LNZ KB 000H ;Testa se diferente de 000H 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 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.

10.2.2 - Energiza Acc se comparação resultar DIFERENTE LNZ

Manual de PLC – Proteo Mini V1.00

54 15/04/2005

OPERANDOS: MB - MEMÓRIAS BYTE KB - CONSTANTES BYTE MW - MEMÓRIAS WORD KW - CONSTANTES WORD

OPERAÇÃO: LM Operando 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)

Resultado da Operação no ACC

Estado do contato

Flag

Acc < Operando 0FFH ou 0FFFFH Fechado NZ Acc >= Operando 00H ou 0000H Aberto 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 MB 373 ;Carrega conteúdo de MB 373 no Acc. LM KB 5 ;Testa se menor do que 5 == M 210.0 ;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.

10.2.3 - Energiza Acc se comparação resultar MENOR LM

Manual de PLC – Proteo Mini V1.00

15/04/2005 55

OPERANDOS: MB - MEMÓRIAS BYTE KB - CONSTANTES BYTE MW - MEMÓRIAS WORD KW - CONSTANTES WORD OPERAÇÃO:

LP Operando 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)

Resultado da Operação no ACC

Estado do contato

Flag

Acc < Operando 00H ou 0000H Aberto Z Acc >= Operando 0FFH ou 0FFFFH Fechado 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.

10.2.4 - Energiza Acc se comparação resultar MAIOR OU IGUAL LP

Manual de PLC – Proteo Mini V1.00

56 15/04/2005

OPERANDOS: MB - MEMÓRIAS BYTE KB - CONSTANTES BYTE MW - MEMÓRIAS WORD KW - CONSTANTES WORD OPERAÇÃO:

AZ Operando 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

Comparação se lgual (AZ)

Resultado da Operação no ACC

Flag resultante

Z Acc = Operando 000H Z Z Acc ≠ Operando 000H Z

NZ Acc = Operando 0FFH NZ NZ Acc ≠ Operando 000H 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 ⇒ Acionamento do eixo árvore ok 2.º Operando: memória byte 72 ⇒ Número da função auxiliar em execução 3.º Operando: constante byte 03H ⇒ Código da função auxiliar M03 4.º Operando: memória bit M 211.0 ⇒ Memória indicativa de sentido M03 5.º Operando: memória bit M 211.1 ⇒ 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.

10.2.5 – Operação E (AND) – Compara se IGUAL AZ

Manual de PLC – Proteo Mini V1.00

15/04/2005 57

OPERANDOS: MB - MEMÓRIAS BYTE KB - CONSTANTES BYTE MW - MEMÓRIAS WORD KW - CONSTANTES WORD OPERAÇÃO:

ANZ 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 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

Comparação se ≠ (ANZ) Resultado da Operação no ACC

Flag

Z Acc = Operando 000H Z Z Acc ≠ Operando 000H Z

NZ Acc = Operando 000H Z NZ Acc ≠ Operando 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 ⇒ Memória indicativa de modos automáticos 2.º Operando: memória byte 74 ⇒ Código T passado pelo CNC 3.º Operando: memória byte 220 ⇒ Número da ferramenta selecionada na máquina 4.º Operando: saída Q 2.0 ⇒ Saída indicativa de troca manual de ferramenta

Operação⇒ L M 210.1 ;CNC em modo automático L MB 74 ;Carrega conteúdo de MB 74 no Acumulador.

ANZ MB 220 ;Testa se diferente de MB 220 == Q 2.0 ;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.

10.2.6 - Operação E (AND) – Compara se DIFERENTE ANZ

Manual de PLC – Proteo Mini V1.00

58 15/04/2005

OPERANDOS: MB - MEMÓRIAS BYTE KB - CONSTANTES BYTE MW - MEMÓRIAS WORD KW - 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 Comparação se Menor (AM)

Resultado da Operação no ACC

Flag

Z Acc < Operando 000H Z Z Acc >= Operando 000H Z

NZ Acc < Operando 0FFH NZ NZ Acc >= Operando 000H 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 ⇒ Memória indicativa de sentido M03 2.º Operando: memória bit M 211.1 ⇒ Memória indicativa de sentido M04

3.º Operando: memória word 85 ⇒ Rotação real do eixo árvore 4.º Operando: constante word 10 ⇒ Limite para desligar saídas de sentido de giro

5.º Operando: saída Q 1.0 ⇒ Saída indicativa de sentido M03 6.º Operando: saída Q 1.1 ⇒ 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.

10.2.7 - Operação E (AND) – Compara se MENOR AM

Manual de PLC – Proteo Mini V1.00

15/04/2005 59

OPERANDOS: MB - MEMÓRIAS BYTE KB - CONSTANTES BYTE MW - MEMÓRIAS WORD KW - CONSTANTES WORD OPERAÇÃO:

AP 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 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 FlagZ Acc < Operando 000H Z Z Acc >= Operando 000H Z

NZ Acc < Operando 000H Z NZ Acc >= Operando 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.

10.2.8 - Operação E (AND) – Compara se MAIOR OU IGUAL AP

Manual de PLC – Proteo Mini V1.00

60 15/04/2005

OPERANDOS: MB - MEMÓRIAS BYTE KB - CONSTANTES BYTE MW - MEMÓRIAS WORD KW - CONSTANTES WORD OPERAÇÃO:

OZ Operando 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 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 ACC

Comparação se Igual (OZ)

Resultado da Operação no ACC

Flag

Z Acc = Operando 0FFH NZ Z Acc ≠ Operando 000H Z

NZ Acc = Operando 0FFH NZ NZ Acc ≠ Operando 0FFH NZ

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.

10.2.9 - Operação OU (OR) – Compara se IGUAL OZ

Manual de PLC – Proteo Mini V1.00

15/04/2005 61

OPERANDOS: MB - MEMÓRIAS BYTE KB - CONSTANTES BYTE MW - MEMÓRIAS WORD KW - CONSTANTES WORD OPERAÇÃO:

ONZ Operando 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

Comparação se Menor (ONZ)

Resultado da Operação no ACC

Flag

Z Acc = Operando 000H Z Z Acc ≠ Operando 0FFH NZ

NZ Acc = Operando 0FFH NZ NZ Acc ≠ Operando 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 ⇒ Entrada de emergência 2.º Operando: memória byte 384 ⇒ Estado de emergência no CNC 3.º Operando: constante byte 000H ⇒ Código do estado normal (não emergência) 4.º Operando: memória bit M 211.0 ⇒ Memória indicativa de sentido M03 5.º Operando: memória bit M 211.1 ⇒ 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.

10.2.10 - Operação OU (OR) – Compara se DIFERENTE ONZ

Manual de PLC – Proteo Mini V1.00

62 15/04/2005

OPERANDOS: MB - MEMÓRIAS BYTE KB - CONSTANTES BYTE MW - MEMÓRIAS WORD KW - CONSTANTES WORD

OPERAÇÃO: OM Operando 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

Comparação se Menor (OM)

Resultado da Operação no ACC

Flag

Z Acc < Operando 0FFH NZ Z Acc >= Operando 000H Z

NZ Acc < Operando 0FFH NZ NZ Acc >= Operando 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 ⇒ 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 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.

10.2.11 - Operação OU (OR) – Compara se MENOR OM

Manual de PLC – Proteo Mini V1.00

15/04/2005 63

OPERANDOS: MB - MEMÓRIAS BYTE KB - CONSTANTES BYTE MW - MEMÓRIAS WORD KW - CONSTANTES WORD OPERAÇÃO: OP Operando 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

Comparação se >= (OP) Resultado da Operação no ACC

Flag

Z Acc < Operando 000H Z Z Acc >= Operando 0FFH NZ

NZ Acc < Operando 0FFH NZ NZ Acc >= Operando 0FFH NZ

10.2.12 - Operação OU (OR) – Compara se MAIOR OU IGUAL OP

Manual de PLC – Proteo Mini V1.00

64 15/04/2005

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 MB 450 ;Carrega conteúdo de MB 450 no Acc. LM KB 25 ;Testa se menor que 25

L MB 450 ;Carrega conteúdo de MB 450 no Acc. OP 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

== M 222.0 ;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.

Manual de PLC – Proteo Mini V1.00

15/04/2005 65

10.3 – Operações com BYTES e WORDS

OPERANDOS: IB - GRUPO DE 8 ENTRADAS QB - GRUPO DE 8 SAÍDAS MB - MEMÓRIA BYTE KB - CONSTANTE (0 - 255) IMB - MEMÓRIA BYTE INDEXADA MW - MEMÓRIA WORD KW - CONSTANTE (0 - 65535) IM - MEMÓRIA WORD INDEXADA OPERAÇÃO:

L 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

Conteúdo do Operando

Resultado da Operação no Acumulador

Flag

XXXX 55 55 X XXXX 05A02H 05A02H 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 ⇒ Ferramenta selecionada Operação ⇒ L MB 800 Após a Operação o Acumulador passa a ter o conteúdo da memória M800.

10.3.1 – Carrega Acumulador – Load L

Manual de PLC – Proteo Mini V1.00

66 15/04/2005

OPERANDOS: IB - GRUPO DE 8 ENTRADAS QB - GRUPO DE 8 SAÍDAS MB - MEMÓRIA BYTE KB - CONSTANTE (0 - 255) IMB - MEMÓRIA BYTE INDEXADA MW - MEMÓRIA WORD KW - CONSTANTE (0 - 65535) IM - MEMÓRIA WORD INDEXADA OPERAÇÃO:

LN 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

Conteúdo do Operando

Resultado da Operação no Acumulador

Flag

XXXX 55 55 X XXXX 05A02H 05A02H 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.

10.3.2 - Carrega Acc com complemento do conteúdo – Load Not LN

Manual de PLC – Proteo Mini V1.00

15/04/2005 67

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:

A 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:

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:

10.3.3 - Operação lógica E – And A

Valores de Entrada da Operação

Valores de Saída

Acc.bit (valor anterior)

Operando.bit

Acc.bit (valor atual)

0 0 0 0 1 0 1 0 0 1 1 1

Manual de PLC – Proteo Mini V1.00

68 15/04/2005

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 Bit 7 6 5 4 3 2 1 0 Valor em

Hexadecimal Flag

Acumulador 0 1 0 1 0 0 1 1 053H X Operando 0 0 0 0 0 1 1 1 007H X Resultado 0 0 0 0 0 0 1 1 003H 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.

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:

AN 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!

10.3.4 - Operação lógica E NEGADO – And Not AN

Manual de PLC – Proteo Mini V1.00

15/04/2005 69

Acc

Oper.bit

Acc&1

Acc

Oper.bit

Acc

Acc

Oper.bit

Acc&1

Acc

Oper.bit

Acc&11

Acc

Oper.bit

AccAcc

Oper.bit

Acc

TABELA DA VERDADE: 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 ou LN.

EXEMPLO:

1.º Operando: memória MB 230 2.º Operando: memória MB 231

Operação⇒ L MB 230 ;Carrega memória MB 230 no Acc AN MB 231 ;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

Bit 7 6 5 4 3 2 1 0 Valor em Hexadecimal Flag Acumulador 1 0 0 1 0 1 0 1 095H X

Operando 0 0 1 0 1 0 1 0 02AH X Resultado 0 0 0 0 0 0 0 0 000H 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.

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: O 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.

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 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0

10.3.5 - Operação lógica OU – Or O

Manual de PLC – Proteo Mini V1.00

70 15/04/2005

ATENÇÃO: Esta instrução opera apenas com operandos byte! TABELA DA VERDADE:

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 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 IB 1 ;Carrega Acc com estado do grupo 1 O IB 2 ;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 Bit 7 6 5 4 3 2 1 0 Valor em Hexadecimal Flag

Grupo 1 0 0 0 1 0 0 0 1 011H X Grupo 2 0 1 1 0 0 0 1 0 062H X

Resultado 0 1 1 1 0 0 1 1 073H 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.

Valores de Entrada da Operação

Valores de Saída

Acc.bit (valor anterior)

Operando.bit Acc.bit (valor atual)

0 0 0 0 1 1 1 0 1 1 1 1

Manual de PLC – Proteo Mini V1.00

15/04/2005 71

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

(Operando e Complemento) Valores de

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 MB 230 ;Carrega memória MB 230 no Acc ON MB 231 ;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 Bit 7 6 5 4 3 2 1 0 Valor em Hexadecimal Flag

MB 230 0 0 0 1 1 1 0 1 01DH X MB 231 0 0 1 0 1 0 1 0 02AH X

Resultado 1 1 0 1 1 1 0 1 0DDH 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.6 - Operação lógica OU NEGADA – Or Not ON

Manual de PLC – Proteo Mini V1.00

72 15/04/2005

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

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 MB 230 ;Carrega memória MB 230 no Acc XO MB 231 ;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 Bit 7 6 5 4 3 2 1 0 Valor em Hexadecimal Flag

MB 230 0 0 1 1 1 1 0 1 03DH X MB 231 0 0 1 0 1 0 1 0 02AH X

Resultado 0 0 0 1 0 1 1 1 017H 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.7 - Operação lógica OU EXCLUSIVO – eXclusive OR XO

Valores de Entrada da Operação Valores de Saída Oper.bit Acc.bit (valor anterior) Acc.bit (valor atual)

0 0 0 0 1 1 1 0 1 1 1 0

Manual de PLC – Proteo Mini V1.00

15/04/2005 73

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:

XON 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 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

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 230 ;Carrega memória MB 230 no Acc XON MB 231 ; OU EXCLUSIVO entre Acc e o inverso de 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 Bit 7 6 5 4 3 2 1 0 Valor em Hexadecimal Flag

MB 230 0 0 1 1 1 1 0 1 03DH X MB 231 0 0 1 0 1 0 1 0 02AH X

Resultado 1 1 1 0 1 0 0 0 0E8H 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.8 - Operação lógica OU EXCLUSIVO NEGADO XON

Valores de Entrada da Operação Valores de Saída

Oper.bit Complemento Acc.bit (valor anterior)

Acc.bit (valor atual)

0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1

Manual de PLC – Proteo Mini V1.00

74 15/04/2005

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 ⇒Entradas dos sensores de posição 2.º Operando: constante 00000111B ⇒Máscara para separar os sensores ( = 007H) 3.º 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 os 3 bits a serem usados). = MB 650 ;Posição da ferramenta

O estado da memória após a operação será (exemplo):

Operação bit a bit da Função = do exemplo descrito Bit 7 6 5 4 3 2 1 0 Valor em Hexadecimal Flag

Acumulador 0 1 0 1 0 0 1 1 053H X Operando 0 0 0 0 0 1 1 1 007H X

Acumulador 0 0 0 0 0 0 1 1 003H NZ MB 650 0 0 0 0 0 0 1 1 003H

OBSERVAÇÃO A instrução não afeta o conteúdo do Acumulador e dos Flags.

10.3.9 - Atribuição incondicional de conteúdo =

Manual de PLC – Proteo Mini V1.00

15/04/2005 75

OPERANDOS: MB - MEMÓRIAS BYTE IMB - MEM. BYTE INDEXADA MW - MEMÓRIA WORD IM - MEM. WORD INDEXADA OPERAÇÃO:

== Operando 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):

Operação da Função == do exemplo descrito MB 650 antes IB 3 MB 1550 I 2.3 Flag MB 650 depois

5 053H 003H 0 Z 5 5 053H 003H 1 NZ 3

OBSERVAÇÃO A instrução não afeta o conteúdo do Acumulador e dos Flags.

10.3.10 - Atribuição condicional de conteúdo – Caso Flag NZ ==

Manual de PLC – Proteo Mini V1.00

76 15/04/2005

OPERANDOS: MB - MEMÓRIAS BYTE IMB - MEM. BYTE INDEXADA MW - MEMÓRIA WORD IM - MEM. WORD INDEXADA OPERAÇÃO:

=N Operando 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.

10.3.11 - Atribuição condicional de conteúdo – Caso Flag Z =N

Manual de PLC – Proteo Mini V1.00

15/04/2005 77

OPERANDOS: IB - GRUPO DE 8 ENTRADAS QB - GRUPO DE 8 SAÍDAS MB - MEMÓRIA BYTE KB - CONSTANTE (0 - 255) MW - MEMÓRIA WORD KW - CONSTANTE (0 - 65535) OPERAÇÃO:

CP Operando 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.

10.3.12 - Comparação com memória ou constante – ComPare CP

Manual de PLC – Proteo Mini V1.00

78 15/04/2005

OPERANDOS: 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.

Valores em bits (deslocamento para a direita ⇒⇒⇒⇒) Conteudo

CARRY

Acc C 7 6 5 4 3 2 1 0

Antes 0 076H 0 0 1 1 1 0 1 1 0 Depois 0 03BH 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.

10.3.13 - Rotação à direita do conteúdo do Acc – SHift Right SHR

Manual de PLC – Proteo Mini V1.00

15/04/2005 79

10.3.14 - Rotação à esquerda do conteúdo do Acc – Shift Left SHL

OPERANDOS: 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 IB 0 ;Carrega Acumulador com o conteúdo da entrada I 0 SHL ;Rotaciona o conteúdo do Acumulador. = QB 0 ;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.

Valores em bits (deslocamento para a esquerda ⇐⇐⇐⇐ ) Conteúdo

CARRY

Acc C 7 6 5 4 3 2 1 0

Antes 0 025H 0 0 1 0 0 0 1 0 1 Depois 0 04AH 0 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.

Manual de PLC – Proteo Mini V1.00

80 15/04/2005

OPERANDOS: IB - GRUPO DE 8 ENTRADAS QB - GRUPO DE 8 SAÍDAS MB - MEMÓRIAS BYTE KB - CONSTANTE (0 - 255)

MW - MEMÓRIA WORD 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 ⇒ 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 transbordo de capacidade na operação anterior)

Bit 7 6 5 4 3 2 1 0 Valores em hexadecimal das posições Acumulador 1 0 0 0 1 0 1 0 08AH (resultado de uma operação anterior)

MB 239 1 0 1 0 1 0 0 0 0A8H (posição relativa - zero máquina) MB 240 0 0 1 1 0 1 1 0 036H (posição desejada) MB 241 1 0 1 1 0 0 0 0 0B0H (posição final)

Operação ⇒ L MB 239; carrega posição relativa. ADD MB 240; realiza a adição entre as posições relativa e desejada.

= MB 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)

Bit 7 6 5 4 3 2 1 0 valores em hexadecimal das posições Acumulador 1 1 0 1 1 1 1 0 0DEH (resultado da adição)

MB 239 1 0 1 0 1 0 0 0 0A8H (posição relativa - zero máquina) MB 240 0 0 1 1 0 1 1 0 036H (posição desejada) MB 241 1 1 0 1 1 1 1 0 0DEH (posição final)

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.

10.3.15 - Soma com memória ou constante – ADD ADD

Manual de PLC – Proteo Mini V1.00

15/04/2005 81

OPERANDOS: IB - GRUPO DE 8 ENTRADAS QB - GRUPO DE 8 SAÍDAS MB - MEMÓRIA BYTE KB - CONSTANTE (0 - 255) MW - MEMÓRIA WORD 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

Acumulador 1 0 0 0 1 0 1 0 08AH (resultado de uma operação anterior) MB 239 1 0 1 0 1 0 0 0 0A8H (posição relativa - zero máquina) MB 240 0 1 1 1 0 1 0 1 075H (posição desejada) MB 241 1 0 1 1 0 0 0 1 0B1H (posição final)

Operação ⇒ L MB 239; carrega posição relativa. SUB MB 240; realiza a adição entre as posições relativa e desejada. = MB 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 Acumulador 0 0 1 1 0 0 1 1 033H (resultado da subtração)

MB 239 1 0 1 0 1 0 0 0 0A8H (posição relativa - zero máquina) MB 240 0 1 1 1 0 1 0 1 075H (posição desejada) MB 241 0 0 1 1 0 0 1 1 033H (posição final)

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.

10.3.16 - Subtração com memória ou constante – SUBtract SUB

Manual de PLC – Proteo Mini V1.00

82 15/04/2005

OPERANDO: MB - MEMÓRIA (BYTE) MW - MEMÓRIA WORD OPERAÇÃO:

INC Operando 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 ⇒ I 0.5; sensor de contagem de peças produzidas. 2.º Operando ⇒ M 216; registro de peças produzidas, M216 = 057H. 3.º Operando ⇒ M217; quantidade de peças para produzir, M217 = 080H. Operação⇒ L I 0.5 ; prepara a operação de contagem. EDG ; detecta as transições de sinal no sensor. JNZ PRODUZIR ; verifica se o sensor de peças detectou a produção de uma nova peça. : : : PRODUZIR: ; incrementa memória de peças produzidas. INC MB 216 ; controla número de peças produzidas. L MB 216 ; carrega memória em Acc. LP MB 217 ; compara a produção. JNZ FINALIZAR ; completada a produção deve-se parar a máquina. :

Instrução

MB 216

MB 217

I 0.5

Operação

- 057H 080H 0 - L 057H 080H 1 armazena

JNZ 057H 080H 1 Desvia programa se o sensor foi acionado. INC 058H 080H 1 Incrementa a memória (MB216 = M216 + 1)

L 058H 080H 1 Carrega a memória no Acumulador LP 058H 080H 1 Compara se igual

JNZ 058H 080H 1 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.

10.3.17 - Incremento INC

Manual de PLC – Proteo Mini V1.00

15/04/2005 83

OPERANDO: MB - MEMÓRIA BYTE

MW - 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

MB 241

Acc

Q 0.7

Operação

- 07H 10H 0 - EU 07H 10H 1 detecta acionamento da saída Q 0.7 JNZ 07H 10H 1 desvia programa se a saída foi ligada. DEC 06H 10H 1 decrementa a memória (MB241 = M241 - 1)

L 06H 10H 1 carrega a memória no Acumulador JZ 06H 10H 1 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.

10.3.18 – Decremento DEC

Manual de PLC – Proteo Mini V1.00

84 15/04/2005

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:

Registradores envolvidos Instrução Operando Acumulador Flag Valores Iniciais 7890H 0176H C = 0 MULT MW 390 00B0H 2260H C = 0

10.3.19 – Multiplicação com memória MULT

Manual de PLC – Proteo Mini V1.00

15/04/2005 85

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:

Registradores envolvidos Instrução Acumulador Operando Flag Valores Iniciais 9C40H 0320H M = 1 DIV MW 350 0032H 0000H M = 1

10.3.20 - Divisão com memória DIV

Manual de PLC – Proteo Mini V1.00

86 15/04/2005

10.4 - Operações de Desvio de Execução

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.

OPERANDO: 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 Flag Zero SALTO Acc (valor atual) Estado Ação

XXXX Z Ocorre salto XXXX NZ 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 I 1.1 ;Carrega o estado de I 1.1 O I 2.0 ;Função OU com o o estado de I 2.0 JZ 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.

10.4.1 - Salto incondicional J

10.4.2 - Salto se operação lógica resultar IGUAL – Jump Zero JZ

Manual de PLC – Proteo Mini V1.00

15/04/2005 87

OPERANDO: 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 saltoXXXX 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 I 1.3 ;Carrega o estado de I 1.3 A I 1.5 ;Função OU com o o estado de I 1.5 JNZ PARADA ;Desvia para o endereço PARADA se Flag Zero = NZ

: : PARADA: : 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.

10.4.3 - Salto se operação lógica resultar DIFERENTE – Jump Not Zero

JNZ

Manual de PLC – Proteo Mini V1.00

88 15/04/2005

OPERANDO: 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 ⇒ M220; memória de peças a produzir, M220 = 0F2H. 2.º Operando ⇒ M221; memória de peças produzidas, M221 = 0C4H. Operação ⇒ L MB 220 ; prepara a operação. SUB MB 221 ; verifica se ainda não foi atingido a meta de produção. JP PRODUZIR ; 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

SINAL

Acc

MB 220

MB 221

Operação

- 0 XX 0F2H 0C4H - L 1 0F2H 0F2H 0C4H armazena

SUB

1

02EH

0F2H

0C4H subtração, verifica se não foi atingido

a meta de produção. JP 1 02EH 0F2H 0C4H 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.

10.4.4 - Salto se operação lógica resultar MAIOR OU IGUAL – Jump Positive

JP

Manual de PLC – Proteo Mini V1.00

15/04/2005 89

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 ⇒ M223; memória de posição limite de deslocamento, M223 = 0A5H. 2.º Operando ⇒ M225; memória de posição do deslocamento, M225 = 0A9H.

Operação ⇒ L MB 223 ; prepara a operação. SUB MB 225 ; verifica se não foi excedida a posição limite. JM RECUAR ; caso constatado que foi ultrapassado a posição limite desvia-se o

;fluxo do ;programa para tratar do recuo do eixo em questão. : RECUAR: L MB 223 ; tratar do recuo. :

Instrução

SINAL

Acc

MB 223

MB 225

Operação

- 1 XX 0A5H 0A9H - L 1 0F2H 0A5H 0A9H armazena

SUB

0

057H

0A5H

0A9H subtração, verifica se não

ultrapassado a posição limite. JM 0 057H 0A5H 0A9H 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.

10.4.5 - Salto se operação lógica resultar MENOR – Jump Minus JM

Manual de PLC – Proteo Mini V1.00

90 15/04/2005

OPERANDO: 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 SALTO0 ;índice 0 ADR SALTO1 ;índice 1 ADR SALTO2 ;índice 2 ADR SALTO3 ;índice 3

L KB 2 ;aponta SALTO2 JT TABELA

Neste exemplo, a instrução JT irá saltar para o endereço SALTO2.

OPERANDO: 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.

OPERANDO: MW - 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.

10.4.6 - Salto incondicional para endereço dado em tabela JT

10.4.7 - Chamada condicional de sub-rotina – NÃO ZERO CALL

10.4.8 - Chamada condicional indireta de sub-rotina – NÃO ZERO

CALL

Manual de PLC – Proteo Mini V1.00

15/04/2005 91

OPERANDO: 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.

OPERANDO: 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 sub-rotina, a execução retorna para a instrução seguinte àquela que originou o salto.

OPERANDO: 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 sub-rotina 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 ROT0 ;índice 0 ADR ROT1 ;índice 1 ADR ROT2 ;índice 2 ADR ROT3 ;índice 3 L KB 2 ;aponta ROT2 CALLT TABELA Neste exemplo, a instrução CALLT irá executar a sub-rotina ROT2

10.4.9 - Chamada condicional de sub-rotina – ZERO CALLZ

10.4.10 - Chamada condicional indireta de sub-rotina – ZERO CALLZ

10.4.11 - Chamada incondicional de sub-rotina apontada por tabela

CALLT

Manual de PLC – Proteo Mini V1.00

92 15/04/2005

OPERANDO: MW - 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 sub-rotina 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 ROT0 ;índice 0 ADR ROT1 ;índice 1 ADR ROT2 ;índice 2 ADR ROT3 ;índice 3

ADR TABELA = MW INDTAB

L KB 2 ;aponta ROT2 CALLT MW INDTAB 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

OPERANDO: 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.

OPERANDO: 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.

10.4.12 - Chamada incondicional indireta apontada por tabela CALLT

10.4.13 - Chamada incondicional de sub-rotina DCALL

10.4.14 - Chamada incondicional indireta de sub-rotina DCALL

Manual de PLC – Proteo Mini V1.00

15/04/2005 93

OPERANDO: 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.

10.4.15 - Retorno de sub-rotina RET

Manual de PLC – Proteo Mini V1.00

94 15/04/2005

10.5 Operações com Ponto Flutuante

OPERANDO: 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.

OPERANDO: NÃO POSSUI OPERAÇÃO: FPUSH DESCRIÇÃO: O conteúdo do acumulador é copiado para a primeira posição da pilha, que é R1.

OPERANDO: NÃO POSSUI OPERAÇÃO: FPOP DESCRIÇÃO: O conteúdo da posição R1 é transferido para o Acumulador.

OPERANDO: 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 re-alocadas, ou seja, o conteúdo que estava em R1 é substituído pelo conteúdo de R2 e assim sucessivamente.

10.5.1- Limpa as posições da memória FFLUSH

10.5.2 - Copia o conteúdo do Acc para a 1ª posição da pilha FPUSH

10.5.3 - Descarta o conteúdo do Acc e assume o da pilha FPOP

10.5.4 - Operação de soma FADD

Manual de PLC – Proteo Mini V1.00

15/04/2005 95

OPERANDO: 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 re-alocadas, ou seja, o conteúdo que estava em R1 é substituído pelo conteúdo de R2 e assim sucessivamente.

OPERANDO: 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 re-alocadas, ou seja, o conteúdo que estava em R1 é substituído pelo conteúdo de R2 e assim sucessivamente.

OPERANDO: 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 re-alocadas, ou seja, o conteúdo que estava em R1 é substituído pelo conteúdo de R2 e assim sucessivamente.

OPERANDO: 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.

10.5.5 - Operação de subtração FSUB

10.5.6 - Operação de multiplicação FMULT

10.5.7 - Operação de divisão FDIV

10.5.8 - Número absoluto FABS

Manual de PLC – Proteo Mini V1.00

96 15/04/2005

OPERANDO: NÃO POSSUI OPERAÇÃO: FNEG DESCRIÇÃO: Inverte o sinal do conteúdo do acumulador e guarda o valor no próprio acumulador.

OPERANDO: 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

OPERANDO: NÃO POSSUI OPERAÇÃO: FDIST DESCRIÇÃO: Calcula a fórmula de Pitágoras.

OPERANDO: NÃO POSSUI OPERAÇÃO: FSIN DESCRIÇÃO: Calcula o seno do valor guardado no acumulador. O resultado da operação é mantido no acumulador.

OPERANDO: 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.

10.5.9 - Número negado – inversão de sinal FNEG

10.5.10 - Operação de raiz quadrada FSQRT

10.5.11 - Fórmula de Pitágoras FDIST

10.5.12 - Cálculo do seno FSIN

10.5.13 - Cálculo do co-seno FCOS

Manual de PLC – Proteo Mini V1.00

15/04/2005 97

OPERANDO: NÃO POSSUI OPERAÇÃO: FTAN DESCRIÇÃO: Calcula a tangente do valor guardado no acumulador. O resultado da operação é mantido no acumulador.

OPERANDO: 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.

OPERANDO: 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.

OPERANDO: NÃO POSSUI OPERAÇÃO: FINV DESCRIÇÃO: Divide o valor 1 pelo conteúdo do acumulador. O resultado é guardado no próprio acumulador.

OPERANDO: NÃO POSSUI OPERAÇÃO: FINT DESCRIÇÃO: Copia apenas a parte inteira do acumulador e guarda no próprio acumulador.

10.5.14 - Cálculo da tangente FTAN

10.5.15 - Cálculo do arco tangente FATAN

10.5.16 - Potenciação – R1Acc FPOW

10.5.17 - Inversão – 1/Acc FINV

10.5.18 - Elimina a parte fracionária do Acc FINT

Manual de PLC – Proteo Mini V1.00

98 15/04/2005

OPERANDO: NÃO POSSUI OPERAÇÃO: FFRAC DESCRIÇÃO: Copia apenas a parte fracionária do acumulador e guarda no próprio acumulador.

OPERANDO: NÃO POSSUI OPERAÇÃO: FPI DESCRIÇÃO: Coloca no Acumulador a constante numérica PI que corresponde ao valor de 3,14159265359.

OPERANDO: 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).

OPERANDO: ML OPERAÇÃO: =F DESCRIÇÃO: Atribui o valor do acumulador para uma memória longa (ML).

10.5.19 - Elimina a parte inteira do Acc FFRAC

10.5.20 - Constante PI ( àààà) FPI

10.5.21 - Carrega o Acc com um valor de ponto flutuante LF

10.5.22 - Atribuição de valor de ponto flutuante =F

Manual de PLC – Proteo Mini V1.00

15/04/2005 99

10.6 - Operações com TIMER

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 TED 0; Tempo para partida Estrela-Triângulo. #DEFINE TLP 1; Tempo para Lubrificação de Peça. #DEFINE TAP 2; Tempo para Abertura de Porta. ;;#DEFINE 3 ; ;;#DEFINE 4 ; : : ;;#DEFINE 12 ; ;;#DEFINE 13 ; ;;#DEFINE 14 ; ;;#DEFINE 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:

10.6.1 - Introdução e definições

Manual de PLC – Proteo Mini V1.00

100 15/04/2005

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 KW 40 ; valor da constante de tempo. = T TED ; atribuição da constante de tempo para o temporizador TED. L KW 60 ; valor da constante de tempo. = T TLP ; atribuição da constante de tempo para o temporizador TLP. L KW 100 ; valor da constante de tempo. = T TAP ; atribuição da constante de tempo para o temporizador TAP. L I 1.0 ; programação do PLC1 A I 1.1 ; programação do PLC1 == Q 0.0 ; 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:

20ctt ou t20ct =⋅=

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 Q 0.1 ; verifica se a partida em Estrela foi acionada. S T TED ; caso a partida em “Y” tenha sido ligada, aciona o temp. TED. LN T TED ; verificando se decorrido o tempo de partida em Estrela, A M 216.0 ; e se o motor partiu em Estrela.

Manual de PLC – Proteo Mini V1.00

15/04/2005 101

= Q 0.2 ; liga a saída p/ partida em Triângulo. ;;=== Temporizador TLP === L Q 0.3 EU S T TLP LN T TLP EU R Q 0.3 ;;=== Temporizador TAP === L I 0.1 ; verificando acionamento do botão de abertura de porta (I 0.1). O T TAP ; ou se o temporizador de porta aberta está ligado (TAP). == Q 0.4 ; liga a saída p/ abertura de porta (Q 0.4). L I 0.1 ; 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:

Manual de PLC – Proteo Mini V1.00

102 15/04/2005

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.

OPERANDO: 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.

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.

OPERANDO: 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.

10.6.2 - Carrega acumulador – Load L

10.6.3 - Carrega acumulador com status negado – Load Not LN

10.6.4 - Operação lógica E – And A

10.6.5 - Operação lógica E NEGADO – And Not AN

Manual de PLC – Proteo Mini V1.00

15/04/2005 103

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.

OPERANDO: 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.

OPERANDO: 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.

OPERANDO: 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.

10.6.6 - Operação lógica OU – Or O

10.6.7 - Operação lógica OU NEGADO – Or Not ON

10.6.8 – Operação lógica OU EXCLUSIVO – eXclusive Or XO

10.6.9 - Operação lógica OU EXCLUSIVO NEGADO – eXclusive Or Not

XON

Manual de PLC – Proteo Mini V1.00

104 15/04/2005

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.

OPERANDO: 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").

OPERANDO: 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.

OPERANDO: 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.

10.6.10 - Atribuição de constante de tempo ao timer =

10.6.11 - SET timer energizando o acumulador SL

10.6.12 - SET sem influência no acumulador S

10.6.13 – SET FORÇADO sem influência no acumulador SF

Manual de PLC – Proteo Mini V1.00

15/04/2005 105

OPERANDO: 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").

OPERANDO: 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.

OPERANDO: 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.

10.6.14 - RESET energizando o acumulador RL

10.6.15 - RESET sem influência no acumulador R

10.6.16 - RESET FORÇADO sem influência no acumulador RF

Manual de PLC – Proteo Mini V1.00

106 15/04/2005

10.7 – Demais Operações

OPERANDOS: 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 Estado dos Flags Acc (valor atual) Zero Carry Sinal

0FFH NZ NC P

10.7.2 - Carrega endereço – load ADRESS ADR

OPERANDO: 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.

OPERANDO: 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

10.7.1 – Energiza o acumulador EN

10.6.3 - Instrução TELA TELA

Manual de PLC – Proteo Mini V1.00

15/04/2005 107

OPERANDO: NÃO POSSUI OPERAÇÃO: END DESCRIÇÃO: Encerra a execução do PLC

10.6.4 - FINAL da execução do PLC END

Manual de PLC – Proteo Mini V1.00

108 15/04/2005

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 .

Manual de PLC – Proteo Mini V1.00

15/04/2005

Para entrar em modo de parâmetros deve-se manter pressionada a tecla por três segundos. 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á , basta apertar o e o processo de referenciamento irá iniciar. Nota: - Na busca de referência se o carro estiver po

então ele seguirá até o fim de curso, revertencontrar e sair do micro de referência a m

- Se o parâmetro P23 for igual a “1” então o- Quando o Proteo Mini é ligado ele apresen

rEF

109

sicionado depois do micro de referência, erá o sentido do movimento e depois de áquina estará referenciada. comando saltará a busca de referência. ta no display a última cota memorizada.

Manual de PLC – Proteo Mini V1.00

110 15/04/2005

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:

• Aperte a tecla ;

• O led de indicação teórico ficará aceso ;

• Digite o valor de preset e pressione ;

Manual de PLC – Proteo Mini V1.00

15/04/2005

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:

• Aperte – led de indicação teórico aceso – ; • Digite o valor numérico da coordenada. Por exemplo 200 ;

• Aparecerá pressione ; • Ag ra no campo N aparec

;

• P ssione e digite ou

pressione ;

• Pressione para inici

• Para parar ou abortar o pr

Pressionando somente 1x

Pressionando 2x - a Antes de Abortar

Obs.: No exemplo acima

volta para o número programa(zero). Descrevendo o processo:

O Proteo mini faz o eixo XTeórico, depois habilita a saída Satualiza o contador seguindo o va

200

erá o valor 0 ou o último valor digitado o

0

tro número, por exemplo 4; re

4

ar o processo

ocesso utilize a tecla :

- para e o led “start” fica piscando

borta o movimento. Por exemplo : Depois de Abortar

200 – 200

2

considere contador decrescentedo. Se fosse contador crescente

deslocar até a medida programa0.7 e através da tecla Start ou porlor que o operador digitou no cam

200

, entãvoltar

da no uma epo N

0

4

111

o o contador ia para 0

display ntrada ele

.

Manual de PLC – Proteo Mini V1.00

112 15/04/2005

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 OBSERVAÇÕES

1

Será permitida a entrada do número de repetições

Ex.2

2

2

Digitado o número de repetições.

3

2

Confirmado com a tecla Enter

4

2

Eixo se desloca até valor programado eixo teórico e em seguida

para eixo.

5 Pulso E0.5 1 Decrementa 1 no contador.

Manual de PLC – Proteo Mini V1.00

15/04/2005 113

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 , o led ficará piscando;

• Digite o novo valor no campo ;

• Pressione novamente para atualizar o valor do parâmetro no

campo ,que mostra o valor atual do

parâmetro, caso contrário pressione e a operação será cancelada;

• Para sair do modo de parâmetros pressione a tecla e o comando retornará para o último modo acessado.