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

Os PLCs ou CLPs (Programamble Logic Controlers ou Controle