Você está na página 1de 97

FACULDADE ASSIS GURGACZ

Coordenação de Engenharia de Controle e Automação

5. LINGUAGEM DE PROGRAMAÇÃO

Na execução de tarefas ou resolução de problemas com dispositivos


microprocessados, é necessária a utilização de uma linguagem de programação, através da
qual o usuário se comunica com a máquina. A linguagem de programação é uma ferramenta
necessária para gerar o programa, que vai coordenar e sequenciar as operações que o
microprocessador deve executar.

5.1 Classificação

Linguagem de baixo nível


Linguagem de alto nível

5.1.1 Linguagem De Baixo Nível

Linguagem de Máquina

É a linguagem corrente de um microprocessador ou microcontrolador, onde as instruções


são escritas em código binário (bits 0 e 1). Para minimizar as dificuldades de programação
usando este código, pode-se utilizar também o código hexadecimal.

Informática Industrial – Prof. Jeyson Berlanda 29


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Cada item do programa, chama-se linha ou passo, representa uma instrução ou dado a ser
operacionalizado.

Linguagem Assembler

Na linguagem assembler o programa é escrito com instruções abreviadas chamadas


mnemônicos.

Informática Industrial – Prof. Jeyson Berlanda 30


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Cada microprocessador ou microcontrolador possuem estruturas internas diferentes,


portanto seus conjuntos de registros e instruções também são diferentes.

5.1.2 Linguagem De Alto Nível

É uma linguagem próxima da linguagem corrente utilizada na comunicação de pessoas.

Compiladores e Interpretadores

Quando um microcomputador utiliza uma linguagem de alto nível, é necessário a utilização


de compiladores e interpretadores para traduzirem este programa para a linguagem de
máquina.

Vantagem

Elaboração de programa em tempo menor, não necessitando conhecimento da arquitetura


do microprocessador.

Desvantagem

Tempo de processamento maior do que em sistemas desenvolvidos em linguagens de baixo


nível.

Informática Industrial – Prof. Jeyson Berlanda 31


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

6. PROGRAMAÇÃO DE CONTROLADORES PROGRAMÁVEIS

Normalmente podemos programar um controlador através de um software que possibilita a


sua apresentação ao usuário em cinco formas diferentes, de acordo com a norma IEC
61131-3:

Alguns CLPs, possibilitam a apresentação do programa do usuário em uma ou mais formas


ou ainda em alguma linguagem dedicada, exclusiva do fabricante.

6.1 Diagrama de Contatos

Também conhecida como:


- Diagrama de relés;
- Diagrama escada;
- Diagrama “ladder”.

Esta forma gráfica de apresentação está muito próxima a normalmente usada em diagrama
elétricos.

Exemplo:

6.2 Diagrama de Blocos Funcionais

Usados para descrever o comportamento de Funções, Blocos de funções, e Programas.

Exemplo:

Informática Industrial – Prof. Jeyson Berlanda 32


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

6.3 Lista de Instrução

Linguagem textual de baixo nível semelhante ao assembly. Ideal para resolver


problemas simples e pequenos onde existem poucas quebras no fluxo de execução do
programa.
A linguagem é mais fácil de implementar que o texto estruturado e é a
linguagem preferida por pequenos implementadores de CLPs.
É considerada por muito implementadores como a linguagem para a qual todas as
demais linguagens devem ser traduzidas. Este não é entretanto um requerimento standard.
Outros a encaram como a linguagem preferencial de pequenos CLPs e
enxergam o Texto Estruturado como a linguagem base.
Na verdade é apenas uma linguagem adicional, menos amigável e flexível e que deve
ser usada para produzir código otimizado para trechos de performance crítica em um
programa.

Cada instrução ocupa uma linha

Instrução = Operador + Operandos

Cada instrução usa ou muda o valor de um único registrador denominado registro de


resultado ou acumulador.

Informática Industrial – Prof. Jeyson Berlanda 33


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

6.4 Texto estruturado

Linguagem textual semelhante a “C” e Pascal, usada para descrever o


comportamento de Funções, Blocos de funções, e Programas.

Informática Industrial – Prof. Jeyson Berlanda 34


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

6.5 Sequenciamento gráfico de funções

Universidades francesas desenvolveram uma linguagem de representação de


processos seqüenciais baseada nas Redes de Petri: o Grafcet (Graphe Fonctionnel de
Command Etape Trasition). Grafcet se tornou um padrão europeu. Em 1988 foi publicado o
padrão IEC 848: Preparation of function charts for control system, baseado na linguagem
Grafcet.
A norma IEC 61131-3 introduziu pequenas modificações no padrão IEC 848 visando
acoplar esta quinta linguagem às demais linguagens da suíte 1131-3.

É basicamente utilizada para:


- Descrever o comportamento seqüencial de um sistema
- Como linguagem de estruturação das ações de um programa segundo um
modelo top-down. Este particionamento do problema traz ganhos de performance porque
apenas o código relativo aos passos ativos é executado.
- Para descrever o comportamento baixo nível de um processo seqüencial.
- Para representar as fases de um processo de batelada.
- Para representar um processo de comunicação de dados, etc.

Informática Industrial – Prof. Jeyson Berlanda 35


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

7.5 Programação em Ladder

O diagrama ladder utiliza lógica de relé, com contatos (ou chaves) e bobinas, e por
isso é a linguagem de programação de CLP mais simples de ser assimilada por quem já
tenha conhecimento de circuitos de comando elétrico.
Compõe-se de vários circuitos dispostos horizontalmente, com a bobina na extremidade
direita, alimentada por duas barras verticais laterais. Por esse formato é que recebe o nome
de ladder que significa escada, em inglês.
Cada uma das linhas horizontais é uma sentença lógica onde os contatos são as entradas
das sentenças, as bobinas são as saídas e a associação dos contatos é a lógica.

São os seguintes os símbolos:

No ladder cada operando (nome genérico dos contatos e bobinas no ladder) é


identificado com um endereço da memória à qual se associa no CLP. Esse endereço
aparece no ladder com um nome simbólico, para facilitar a programação, arbitrariamente
escolhido pelo fabricante como os exemplos vistos a seguir.

Informática Industrial – Prof. Jeyson Berlanda 36


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Tabela de alguns CLPs X endereçamento

Outros tipos de endereçamento; 125/04 ( 1 = entrada, 2 = gaveta, 5 = número do cartão ou


módulo, 04 = número do ponto ), 013/01 ( 0 = saída, 1 = número da gaveta, 3 = número do
módulo, 01 = número do ponto ).

O estado de cada operando é representado em um bit correspondente na memória imagem:


este bit assume nível 1 se o operando estiver acionado e 0 quando desacionado.

* As bobinas acionam os seus endereços


Enquanto uma bobina com endereço de saída estiver acionada, o módulo de
saída será mantido em condição de condução elétrica.

* Os contatos se acionam pelo endereço que os identifica.


Os contatos endereçados como entrada se acionam enquanto seu respectivo
terminal no módulo de entrada é acionado: fecham-se se forem NA e abrem-se se forem NF.

Informática Industrial – Prof. Jeyson Berlanda 37


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

8. Operandos e Endereçamento

8.1 Operandos %E - Entradas

São operandos usados para referenciar pontos de módulos digitais de entrada. Sua
quantidade é determinada pelo número de módulos de E/S que estão dispostos nos
bastidores que compõem o sistema.
Os operandos %E são utilizados em instruções binárias (contatos, bobinas) e de
movimentação. Ocupam um byte de memória (8 bits), armazenando os valores dos pontos
diretamente em cada bit. Os valores dos operandos são armazenados na memória interna
do microprocessador, não utilizando o espaço disponível ao programa aplicativo.

Formatos:

Exemplos:
%E0018.6 ponto 6 do octeto de entrada 18
%E0021n0 nibble 0 do octeto de entrada 21
%E0025 octeto de entrada 25

8.2 Operandos %S - Saída

São operandos usados para referenciar pontos de módulos digitais de saída. Sua
quantidade é determinada pelo número de módulos de E/S que estão dispostos nos
bastidores que compõem o sistema. Os operandos %S são utilizados em instruções binárias
(contatos, bobinas) e de movimentação. Ocupam um byte de memória (8 bits), armazenando
os valores dos pontos diretamente em cada bit. Os valores dos operandos são armazenados
na memória interna do microprocessador, não utilizando o espaço disponível ao programa
aplicativo.

Formatos:

Exemplos:
%S0011.2 ponto 2 do octeto de saída 11
%S0010n1 nibble 1 do octeto de saída 10
%S0015 octeto de saída 15

Informática Industrial – Prof. Jeyson Berlanda 38


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

8.3 Operandos %A - Auxiliares

Os relés auxiliares são operandos usados para armazenamento e manipulação de


valores binários intermediários no processamento do programa aplicativo. Sua quantidade
nos controladores é fixa. Operandos %A são utilizados em instruções binárias (contatos,
bobinas) e de movimentação. Ocupam um byte de memória (8 bits), armazenando valores
diretamente em cada bit. Os valores dos operandos são armazenados na memória interna
do microprocessador, não utilizando o espaço disponível ao programa aplicativo.

Formatos:

Exemplos:
%A0032.7 ponto 7 do auxiliar de saída 32
%A0087n1 nibble 1 do auxiliar de saída 87
%A0024 octeto auxiliar 24

8.4 Operandos %R - Endereços no Barramento

São operandos usados para referenciar pontos ou octetos no barramento de módulos


de entrada e saída do controlador. Estes operandos representam apenas endereços do
barramento, não armazenando valores nem ocupando espaço de memória. São utilizados
em algumas instruções ou funções que realizam acessos a módulos.

Formatos:

Existem CP’s que cada posição no barramento corresponde a 8 octetos de operandos %R.
Desta forma, na posição 0, tem-se os operandos %R0000 a %R0007; na posição 1, %R0008
a %R0015, e assim por diante. Para se obter o primeiro operando de uma posição do
barramento, basta calcular:

ENDEREÇO DO OCTETO = POSIÇÃO NO BARRAMENTO X 8

Informática Industrial – Prof. Jeyson Berlanda 39


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Outros CP’s cada posição no barramento corresponde a 2 octetos de operandos %R. Desta
forma, na posição 0 tem-se os operandos %R0000 e %R0001 na posição 1, %R0002 e
%R0003, e assim por diante.

Para se obter o primeiro operando de determinada posição do barramento, basta calcular:

ENDEREÇO DO OCTETO = POSIÇÃO NO BARRAMENTO X 2

Os endereços para cada posição do barramento são automaticamente mostrados na janela


de declaração do barramento na coluna Endereços.

Exemplos:
%R0026 octeto 26 do barramento
%R0015.7 ponto 7 do octeto 15 do barramento

8.5 Operandos %M - Memórias

Os operandos %M são usados para processamento numérico, armazenando valores


em precisão simples, com sinal.

Formatos:

Faixa de valores armazenáveis: - 32.768 a +32.767

A quantidade de operandos memória é configurável na declaração do módulo C,


sendo o limite máximo dependente do modelo de CP em uso. Os operandos %M são
utilizados em instruções de movimentação, comparação, aritméticas, contagem,
temporização e de conversão. Podem ser utilizados em contatos, da mesma forma que os
operandos %E, %S e %A. Estes operandos ocupam dois bytes de memória (16 bits),
armazenando o valor no formato complemento de dois (2'), conforme a figura.

Exemplos:

%M0032 memória 32
%M0064b0 octeto 0 da memória 64
%M0072n1 nibble 1 da memória 72
%M0084.F ponto 15 da memória 84

Informática Industrial – Prof. Jeyson Berlanda 40


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

8.6 Operandos %D - Decimais

Os operandos %D são usados para processamento numérico, armazenando valores


em formato BCD com até 7 dígitos e sinal.

Formatos:

Faixa de valores armazenáveis: - 9.999.999 a + 9.999.999

A quantidade de operandos decimal é configurável na declaração do módulo C, sendo


o limite máximo dependente do modelo de CP em uso. Os operandos %D são utilizados em
instruções de movimentação, comparação, aritméticas, e conversão. Podem ser utilizados
em contatos, da mesma forma que os operandos %E, %S e %A. Estes operandos ocupam
quatro bytes de memória (32 bits), armazenando o valor no formato BCD (cada dígito ocupa
4 bits), com sinal, conforme a figura.

Exemplos:

%D0041 decimal 41
%D0023b2 octeto 2 do decimal 23
%D0059n6 nibble 6 da memória 59
%D0172hA ponto 10 da palavra 1 da memória 172
8.7 Operandos %KM, %KD, %KF e %KI - Constantes

São operandos usados para a definição de valores fixos na elaboração do programa


aplicativo. Existem quatro tipos de constante, %KM, %KD, %KF e %KI, cada um seguindo
um formato diferente de representação de valores, sendo idênticos aos operandos %M, %D,
%F e %I, respectivamente.

Formatos:

Informática Industrial – Prof. Jeyson Berlanda 41


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Faixa de valores representáveis:

%KM-32768 a %KM+32767
%KD-9999999 a %KD+9999999
%KF-3,4028234663852886E+38 a %KF3,4028234663852886E+38
%KI-2147483648 a %KI+2147483647

Estes operandos são utilizados em instruções de movimentação, comparação,


aritméticas, contagem e de temporização.

Exemplos:

%KM+00241 constante memória + 241


%KD-0019372 constante decimal - 19.372
%KF+0125.78 constante real + 125.78
%KF+3.1415E23 constante real 3.1415 x 1023
%KI+00345 constante inteiro 345

As constantes reais podem conter até 8 dígitos significativos

8.8 Operandos %TM , %TD, %TF e %TI - Tabelas

Tabelas de operandos são conjuntos de operandos simples, constituindo arranjos


unidimensionais com a finalidade de armazenar valores numéricos. Cada tabela possui uma
quantidade de posições configurável, onde cada posição pode conter exatamente os
mesmos valores de um operando %M ou %D ou %F ou %I se a tabela for do tipo %TM ou
%TD ou %TF ou %TI, respectivamente.

Formatos:

Informática Industrial – Prof. Jeyson Berlanda 42


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

A quantidade de tabelas e o número de posições de cada uma é configurável na


declaração do módulo C. Podem ser definidas até 255 tabelas totais e até o máximo de 255
posições em cada tabela, respeitando-se o limite da memória de operandos do CP. As
tabelas são utilizadas em instruções de movimentação.

9. Seqüência de operações para transferir um programa para o CP

Figura -A Seqüência de operações para envio de programa para o CP

Caso o CP esteja em estado de erro, antes de transmitir o programa, deve-se passar o CP


para o modo programação, enviar os módulos E-.001 e C-.000 após passar o CP para o
modo execução .

Informática Industrial – Prof. Jeyson Berlanda 43


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Instruções Contato RNA e RNF, Ligações Horizontal, Vertical e Negada e Bobina.

Exemplo 2: Intertravamento básico de um motor

Figura -A Representação elétrica exemplo 2

Equivalência no diagrama de relés do CP


Botão liga = E0000.0
Nível OK = E0000.1
Pressão OK = E0000.2
Botão desliga = E0000.3
Motor M1 = S0002.0

Seqüência de operações para solução de exercícios

Informática Industrial – Prof. Jeyson Berlanda 44


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Figura -B Seqüência de operações para solução de exercícios

Exercício 1: Transportador de peças com expulsão automática

Informática Industrial – Prof. Jeyson Berlanda 45


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Figura -C Transportador de peças com expulsão automática

Ao apertar o botão de Start o motor é energizado e o pistão deve ser recuado (energiza
SW1).
A peça será transportada até encostar no fim de curso 1 (FC1). Ao encostar no FC1 o
motor é desligado parando a esteira e o solenóide SW2 deve ser energizado para empurrar
a peça.
Quando a peça passar pelo fim de curso 2 (FC2) o pistão deve ser recuado energizando o
solenóide SW1. Nesse momento o motor deve ser ligado iniciando o transporte de uma nova
peça.
Em qualquer momento que for pressionado o botão de Stop, o motor deve ser desligado e o
pistão recuado (energizando SW1).

Informática Industrial – Prof. Jeyson Berlanda 46


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Figura -D Representação elétrica do exercício 1

Exercício complementar 1: Controle de nível de líquido

Figura-E Controle de nível de líquido no reservatório

Elaborar um software aplicativo que implemente o controle do processo de


enchimento de um reservatório. Sempre que o nível cair abaixo de um mínimo permitido
(chave de nível F1), liga válvula Y1 e desliga a válvula Y2. Por outro lado, quando o nível
atingir a chave de nível F2, a válvula alimentadora Y1 deve ser desligada, permitindo o
acionamento de Y2. Prever uma chave manual/automático CH1.

10. Instruções Bobina Liga e Bobina Desliga

As instruções bobinas modificam o estado lógico do operando na memória imagem do


controlador programável, conforme o estado da linha de acionamento das mesmas. A

Informática Industrial – Prof. Jeyson Berlanda 47


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

instrução bobina liga, liga o ponto do operando associado quando a linha está energizada
("set"). Esta instrução somente podem ser posicionada na coluna 7 da lógica.

Exemplo 3: Bobina Liga e Bobina Desliga

Figura -F Programa "ladder" exemplo 3

11. Instrução Relé de Pulso

Exemplo 4: Relé de Pulso

Figura -G Programa "ladder" exemplo 4

A instrução relé de pulso gera um pulso de uma varredura em sua saída, ou seja,
permanece energizada durante uma varredura do programa aplicativo quando o estado da
sua entrada passar de desenergizado para energizado.
O relé auxiliar declarado serve como memorizador, evitando limitações quanto ao número de
instruções de pulso presentes no programa aplicativo.

ATENÇÃO
O valor do relé auxiliar não deve ser modificado em nenhum outro ponto do programa
aplicativo.

Exercício 2: Ligar e desligar um motor com apenas um pulso

Informática Industrial – Prof. Jeyson Berlanda 48


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Figura -H Diagrama de sinais do exercício 2

Exercício complementar 2: Acionamento e reversão de um motor

Elaborar um software aplicativo que permita o acionamento e a reversão no sentido de


rotação de um motor através de um comando manual. As condições de desligamento ou não
acionamento do motor devem ser:

botão stop
pressão baixa no sistema
temperatura elevada

12. Instruções Relé Mestre e Fim de Relé Mestre

As instruções relé mestre e fim de relé mestre são utilizadas para delimitar trechos de
programas aplicativos, energizando ou não a barra lógica de alimentação nos mesmos,
conforme o estado da sua linha de acionamento.
Estas instruções não necessitam de operandos, podendo ser posicionadas somente na
coluna 7 da lógica. Quando a entrada da instrução RM estiver desenergizada, a barra lógica
de alimentação é desenergizada desde a lógica seguinte até a lógica que contém a instrução
FRM.
Como estas instruções atuam sempre na lógica seguinte a que estão contidas é
aconselhável o seu posicionamento sempre como últimas instruções da lógica em que
estiverem presentes. Assim sendo, o trecho de programa aplicativo delimitado
visualmente pelas instruções no diagrama corresponde exatamente ao controlado pelas
mesmas, evitando assim má interpretação de seu funcionamento.

ATENÇÃO:

As instruções CON, COB, TEE e TED contém saídas energizadas mesmo sem o
acionamento das suas entradas. Estas saídas permanecem energizadas mesmo dentro de
um trecho sob comando de um relé mestre desenergizado, podendo causar acionamentos
indesejáveis.

Exemplo 5: Relé Mestre e Fim de Relé Mestre

Informática Industrial – Prof. Jeyson Berlanda 49


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Figura-I Programa "ladder" exemplo 5

13. Instrução Bobina de Salto

A instrução bobina de salto serve para controlar a seqüência de execução de um


programa aplicativo, sendo usada para desviar o processamento do mesmo para uma
lógica determinada. Seu operando é uma constante que determina o número de lógicas a
serem saltadas a partir da energização da bobina. A determinação da lógica destino é
realizada pela soma da constante que acompanha a instrução com o número da lógica onde
a mesma se encontra. Quando a linha de acionamento da bobina de salto estiver
desenergizada, o salto não ocorre, e a instrução seguinte àquela em que esta bobina está
declarada é executada.

Exemplo 6: Instrução Bobina de Salto

Informática Industrial – Prof. Jeyson Berlanda 50


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Figura -J Programa "ladder" exemplo 6

14. Instrução Temporizador na Energização

Esta instrução realiza contagens de tempo com a energização das suas entradas de
acionamento. A instrução TEE possui dois operandos. O primeiro OPER1 especifica a
memória acumuladora da contagem de tempo. O segundo operando OPER2 indica o tempo
máximo a ser acumulado. A contagem de tempo é realizada em décimos de segundos, ou
seja, cada unidade incrementada em OPER1 corresponde a 0,1 segundo. Enquanto as
entradas libera e ativa estiverem simultaneamente energizadas, o operando OPER1 é
incrementado a cada décimo de segundo. Quando OPER1 for maior ou igual a OPER2, a
saída Q é energizada e -Q desenergizada, permanecendo OPER1 com o mesmo valor de
OPER2.
Desacionando-se a entrada libera, há a interrupção na contagem do tempo,
permanecendo OPER1 com o mesmo valor. Desacionando-se a entrada ativa, o valor em
OPER1 é zerado. Se OPER2 for negativo ou o acesso indireto for inválido, OPER1 é zerado
e a saída -Q é energizada. O estado lógico da saída Q é exatamente o oposto da saída -Q,
mesmo estando a instrução desativada.

ATENÇÃO:
Com a entrada ativa desativada, a saída -Q permanece sempre energizada, mesmo
quando a instrução estiver em um trecho comandado pela instrução RM (relé mestre). Deve-
se ter cuidado para não realizar acionamentos indesejáveis na lógica devido a este fato.
Exemplo 7: Temporizador na Energização ou "on delay"

Informática Industrial – Prof. Jeyson Berlanda 51


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Figura-A Programa "ladder" exemplo 7

Figura -B Diagrama de tempo exemplo 7

Exemplo 8: Temporizador na Desenergização ou "off delay"

Figura-C Programa "ladder" exemplo 8

Informática Industrial – Prof. Jeyson Berlanda 52


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Figura -D Diagrama de tempo exemplo 8

Esta instrução realiza contagens de tempo com a desenenergização da sua entrada


de acionamento. A instrução TED possui dois operandos. O primeiro OPER1 especifica a
memória acumuladora da contagem de tempo. O segundo operando OPER2 indica o tempo
máximo a ser acumulado. A contagem de tempo é realizada em décimos de segundos, ou
seja, cada unidade incrementada em OPER1 corresponde a 0,1 segundo. Enquanto a
entrada ativa estiver energizada e a entrada bloqueia desenergizada, o operando OPER1 é
incrementado a cada décimo de segundo. Quando OPER1 for maior ou igual a OPER2, a
saída Q é desenergizada e -Q energizada, permanecendo OPER1 com o mesmo valor de
OPER2.
A saída Q fica energizada sempre que a entrada ativa estiver energizada e OPER1 for
menor do que OPER2. Acionando-se a entrada bloqueia, há a interrupção na contagem do
tempo, enquanto que desacionando a entrada ativa, o tempo do acumulador é zerado e a
saída Q é desacionada.
Se OPER2 for negativo ou o acesso indireto for inválido, OPER1 é zerado e a saída Q é
energizada.
O estado lógico da saída -Q é exatamente o oposto da saída Q, mesmo estando a
instrução desativada.

ATENÇÃO:
Com a entrada ativa desativada, a saída -Q permanece sempre energizada, mesmo
quando a instrução estiver em um trecho comandado pela instrução RM (relé mestre). Deve-
se ter cuidado para não realizar acionamentos indesejáveis na lógica devido a este fato.

15. Temporizador Monoestável

Exemplo 9: Temporizador monoestável

Informática Industrial – Prof. Jeyson Berlanda 53


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Figura -E Programa "ladder" exemplo 9

Figura-F Diagrama de tempo exemplo 9

16. Temporizador Astável

Exemplo 10: Temporizador astável

Figura -G Programa "ladder" exemplo 10

Figura -H Diagrama de tempo exemplo 10

17. Temporizadores em Cascata

Exemplo 11: Temporizadores em cascata

Informática Industrial – Prof. Jeyson Berlanda 54


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Figura-I Programa "ladder" exemplo 11

Figura-J Diagrama de tempo exemplo 11

18. Instrução Contador

Esta instrução realiza contagens simples, com o incremento de uma unidade em cada
acionamento. A instrução contador simples possui dois operandos. OPER1, sempre do tipo
%M, especifica a memória que contabiliza os eventos. OPER2 estabelece o valor limite de
contagem para energização da saída da célula superior e pode ser do tipo %KM, %M ou
operando %M referenciado indiretamente. Se a entrada ativa esta desenergizada, a
memória em OPER1 é zerada, a saída não limite energizada e a saída limite desenergizada.
Quando a entrada ativa está energizada, cada transição de ligação na entrada
incrementa aumenta o valor do operando contador em OPER1 de uma unidade. Se o valor
de OPER1 igualar-se ao de OPER2, a saída limite é energizada. A variável contadora não é
incrementada com novas transições na entrada incrementa, permanecendo com o valor
limite. Se for menor, a saída limite é desenergizada. O estado lógico da saída não limite é
exatamente o oposto da saída limite, mesmo estando a instrução desativada.

Em caso de acesso indireto inválido para o segundo operando da instrução, a saída


não limite é energizada.

ATENÇÃO:
Com a entrada ativa desativada, a saída não limite permanece sempre energizada,
mesmo quando a instrução estiver em um trecho comandado pela instrução RM (relé
mestre). Deve-se ter cuidado para não realizar acionamentos indesejáveis na lógica devido a
este fato.

Informática Industrial – Prof. Jeyson Berlanda 55


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Exemplo 12: Contador

Figura -K Programa "ladder" exemplo 12

19. Multiplicação de Bases de Tempo

Exemplo 13: Multiplicação de Bases de Tempo

Figura -L Programa "ladder" exemplo 13

Exercício 3: Dispositivo de Separação e Contagem

Elaborar software aplicativo que faça a separação automática das caixas pequenas,
conforme figura abaixo:

Informática Industrial – Prof. Jeyson Berlanda 56


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Figura -M Dispositivo de Separação e Contagem

Considerar as seguintes condições:


Velocidade da esteira: 5 m/min;
Comprimento da caixa grande: 0,8 m;
Comprimento da caixa pequena: 0,2 m;
Tempo de acionamento do pistão: 0,5 s.

20. Instrução CES - Conversão de E/S

20.1 Instrução CES

Esta instrução é utilizada para a transferência de dados diretamente entre operandos


memória e octetos no barramento, convertendo os valores de binário para BCD, em caso de
escrita no barramento, ou BCD para binário, em caso de leitura. Caso se deseje converter
octetos do barramento para uma memória, deve-se programar em OPER1 o octeto inicial e
em OPER2 a memória a receber os valores convertidos.

Informática Industrial – Prof. Jeyson Berlanda 57


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

A instrução concatena o valor do octeto especificado com o octeto seguinte, converte


do formato BCD para binário e armazena o valor convertido na memória destino.
Caso se deseje converter valores de uma memória ou constante memória para o
barramento, deve-se especificar em OPER1 o valor a ser convertido em OPER2 o octeto
inicial a receber os valores. A instrução converte o valor para o formato BCD e escreve o
mesmo no octeto especificado e no seguinte. Se o valor movimentado para o barramento
possuir mais do que 4 dígitos, os dígitos mais significativos excedentes serão descartados.

Figura-A Programa "ladder" exemplo 15

21. Instruções Aritméticas

21.1 Soma

Esta instrução realiza a soma aritmética de operandos. Quando a entrada habilita é


energizada, os valores dos operandos especificados em OPER1 e OPER2 são somados e o
resultado armazenado em OPER3.
Se o resultado da operação for maior ou menor do que o armazenável, a saída estouro é
energizada e o máximo ou mínimo valor armazenável é atribuído a OPER3 como resultado.
Se a entrada habilita não está energizada, todas as saídas são desenergizadas e o
valor de OPER3 não é alterado.
Quando o operando destino da instrução é um inteiro (%M) e pelo menos um dos
demais operandos da instrução é um real (%F) o resultado armazenado será truncado, ou
seja, armazena-se no operando M apenas a parte inteira do resultado da operação,
desprezando-se a parte fracionária.

21.2 Multiplicação

Esta instrução realiza a multiplicação aritmética de operandos. Quando a entrada


habilita está energizada, ocorre a multiplicação do conteúdo do operando especificado em
OPER1 pelo especificado em OPER2.
O resultado é armazenado na memória especificada em OPER3. Caso este exceda o
valor máximo armazenável em uma memória, o resultado final é este valor e a saída estouro
é energizada. Se a entrada habilita é desenergizada, nenhuma saída é ligada e OPER3
permanecerá inalterado.

Informática Industrial – Prof. Jeyson Berlanda 58


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Quando o operando destino da instrução é um inteiro (%M) e pelo menos um dos


demais operandos da instrução é um real (%F) o resultado armazenado será truncado, ou
seja, armazena-se no operando M apenas a parte inteira do resultado da operação,
desprezando-se a parte fracionária.

Exs:
9.999999 (%F) * 1.000000(%F) = 9 (%M)
9.999999 (%F) * 1 (%M) = 9 (%M)

21.3 Instrução E

Esta instrução realiza a operação E binário entre os dois primeiros operandos,


armazenando o resultado no terceiro. A operação é realizada ponto a ponto entre os
operandos e seguem a seguinte tabela verdade.

21.4 Instrução OU

Informática Industrial – Prof. Jeyson Berlanda 59


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Esta instrução realiza a operação OU binário entre os valores de OPER1 e OPER2,


armazenando o resultado em OPER3. A operação é realizada ponto a ponto entre os
operandos e seguem a seguinte tabela verdade.

21.5 Instrução OU Exclusivo

Esta instrução realiza a operação OU EXCLUSIVO binário entre os valores de OPER1


e OPER2, armazenando o resultado em OPER3. A operação é realizada ponto a ponto entre
os operandos e seguem a seguinte tabela verdade.

Exemplo 17: Instrução “E, OU” Binário

Exemplo 17

Quatro cilindros alimentam quatro esteiras, a partir de quatro magazines. Eles devem
avançar manualmente OU através de quatro pedais independentes E se houver peças nos
magazines. No caso de inexistência de peças os cilindros não devem avançar gerando
quatro alarmes independentes. Prever quatro máquinas independentes mas com o mesmo
processo.

Informática Industrial – Prof. Jeyson Berlanda 60


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

CILINDRO
MANUAL
1 AND

OR
PEDAL
1 ALARME
AND

SENSOR
1 INV

Figura -B Representação elétrica exemplo 17

Equivalência no diagrama de relés do CP


Entradas de acionamento manual = E0.0 a E0.3
Entradas de acionamento por pedal = E0.5 a E1.0
Entradas do sensor de presença de peças = E1.2 a E1.5
Saídas de comando do avanço do cilindro = S0002
Saídas de indicação de alarme = S0003

Informática Industrial – Prof. Jeyson Berlanda 61


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Figura -C Programa “ladder” exemplo 17

Informática Industrial – Prof. Jeyson Berlanda 62


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

22. Instruções de Teste

22. 1 Instrução Carrega Operando

Esta Instrução carrega operando realiza a carga do valor do operando especificado


em registrador especial interno ao CP, para subseqüente uso das instruções de
comparação (maior, menor, igual). O operando permanece carregadp até a próxima
instrução de carga, podendo ser utilizado por várias lógicas, inclusive em ciclos de
varredura subseqëntes. A saída sucesso é acionada se a carga for realizada. Se algum
acesso indireto a operando não for possível (índice inválido), a saída sucesso não é
acionada. Não pode ser feita a comparação entre operandos decimais e operandos
flutuante.

22.2 Instrução Igual

A instrução igual realiza a comparação do operando especificado com o valor


previamente carregado no registrador interno com a instrução CAR (Carrega Operando),
fornecendo o resultado da comparação em suas saídas. Caso algum acesso indireto seja
inválido, a saída é desacionada. A instrução igual energiza a sua saída se o valor do seu
operando for igual ao valor do operando presente na última instrução CAR ativa. Se os
operandos a serem comparados são do mesmo tipo, são comparados conforme o seu
formato de armazenamento (considerando o seu sinal). Se não são do mesmo tipo, são
comparados ponto a ponto (como valores binários sem sinal). Se algum dos operandos

Informática Industrial – Prof. Jeyson Berlanda 63


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

diferentes for do tipo real, o operando de menor precisão é convertido para real e após é
efetuada a mesma comparação ponto a ponto. Não pode ser feita a comparação entre
operandos decimais e operandos flutuante.

22.3 Instrução Menor

A instrução menor realiza a comparação do operando especificado com o valor


previamente carregado no registrador interno com a instrução CAR (Carrega Operando),
fornecendo o resultado da comparação em suas saídas. Caso algum acesso indireto seja
inválido, a saída é desacionada. A instrução menor energiza a sua saída se o valor contido
no registrador interno previamente carregado com a instrução CAR for menor que o valor
contido no operando OPER fornecido nesta instrução. Se os operandos a serem
comparados são do mesmo tipo, são comparados conforme o seu formato de
armazenamento (considerando o seu sinal). Se não são do mesmo tipo, são comparados
ponto a ponto (como valores binários sem sinal). Se algum dos operandos diferentes for do
tipo real, o operando de menor precisão é convertido para real e após é efetuada a mesma
comparação ponto a ponto. Não pode ser feita a comparação entre operandos decimais e
operandos flutuante

22.4 Instrução Maior

A instrução maior realiza a comparação do operando especificado com o valor


previamente carregado no registrador interno com a instrução CAR (Carrega Operando),
fornecendo o resultado da comparação em suas saídas. Caso algum acesso indireto seja
inválido, a saída é desacionada. A instrução maior energiza a sua saída se o valor contido
no registrador interno previamente carregado com a instrução CAR for maior que o valor
contido no operando OPER fornecido nesta instrução Se os operandos a serem comparados
são do mesmo tipo, são comparados conforme o seu formato de armazenamento
(considerando o seu sinal). Se não são do mesmo tipo, são comparados ponto a ponto
(como valores binários sem sinal). Se algum dos operandos diferentes for do tipo real, o
operando de menor precisão é convertido para real e após é efetuada a mesma comparação
ponto a ponto.
Não pode ser feita a comparação entre operandos decimais e operandos flutuante.

Exemplo 18: Executar as Operações carregando os Conteúdos do Teclado e apresentar


resultado na IHM FOTON 3.

Informática Industrial – Prof. Jeyson Berlanda 64


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Figura -A Programa "ladder" exemplo 1

23. Instruções de Movimentação

23.1 Instrução MOV

Esta instrução move o conteúdo de operandos simples quando a entrada habilita é


acionada. O operando que ocupa a primeira célula da instrução OPER1 é o operando
origem, cujo valor é movimentado para o operando destino, especificado na segunda célula
OPER2.
Se o formato do operando destino for menor que o do origem, os octetos mais
significativos do valor origem são desprezados. Se o formato do destino for maior, seus
octetos mais significativos são zerados. Se a movimentação for realizada, a saída sucesso é
acionada. Se os índices indiretos excederem os limites de operandos declarados no módulo
de configuração, a movimentação não é efetuada e a saída sucesso não é ligada. Não é
permitida a movimentação de subdivisões de operandos. Para isto, deve ser usada a
instrução MOP. Quando o operando destino da instrução é um inteiro (%M) e o operando da
instrução é um real (%F) o resultado armazenado será truncado, ou seja, armazena-se no
operando M apenas a parte inteira do resultado da operação, desprezando-se a parte
fracionária.

Exs:
OPER1 (%F2) = 9.999999
OPER2 (%M2) = 9

Informática Industrial – Prof. Jeyson Berlanda 65


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

24. Instrução MOP

Esta instrução move conteúdos de partes de operandos simples (palavras, octetos,


"nibbles", pontos) quando a entrada habilita é energizada. Não é realizada a conversão
entre tipos de operandos, apenas a movimentação dos valores. O operando OPER1 é o
operando origem, cujo valor é movimentado para o operando destino especificado em
OPER2. O tipo de subdivisão utilizado em OPER1 deve ser o mesmo utilizado em OPER2.

ATENÇÃO:

Se a movimentação é realizada de uma constante para um operando, é considerada


sempre a subdivisão menos significativa da constante igual à declarada no operando
destino. Devido a esta característica, sugerese que sempre seja declarado na constante
origem o valor real a ser movimentado, para maior clareza do programa.

Exemplo 20: Atualização Imediata. de módulos de E/S

25. Instrução AES

Esta instrução executa uma atualização imediata na memória imagem para os


operandos especificados. Sua atuação é idêntica à varredura dos pontos de E/S realizada
pelo programa executivo ao final de cada varredura, porém com o número de operandos
limitados O primeiro operando OPER1 contém o primeiro octeto de operandos a ser
atualizado, enquanto que o segundo operando OPER2 indica o número total de octetos a
atualizar. Os operandos %E (entradas) são lidos do barramento para a memória imagem e

Informática Industrial – Prof. Jeyson Berlanda 66


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

os operandos %S (saídas) são escritos da memória imagem para o barramento quando a


instrução é executada.
Se o número de operandos a atualizar ultrapassar o número de operandos declarados, são
atualizados somente os possíveis dentro do tipo declarado.
Se nenhum octeto for atualizado pela instrução, a saída sucesso é desenergizada.
A instrução AES deve ser usada somente em processamentos especiais, nos quais um
tempo de resposta muito rápido ou constante é exigido do CP. Em programas aplicativos
relativamente pequenos, com baixo tempo de varredura e tarefas de controle comuns, a
mesma não necessita ser utilizada.

26.1 Exemplo 21: Instrução AES

Exercício 4: Dispositivo de Furação

Seqüência de funcionamento do dispositivo de furação

Para ligar a máquina, a broca deve estar recuada (SW3 ligada) e o fim de curso 1 ativado
(FC1).
Ao acionar o botão de partida (START), o motor que dá rotação à broca é ligado, é desligado
o recuo (SW3) e ligado o avanço rápido (SW1).
Quando é ativado o fim de curso 2 (FC2), é desligado o avanço rápido (SW1) e ligado o
avanço lento (SW2) para corte.
Quando é ativado o fim de curso 3 (FC3), é desligado o avanço lento (SW2) e ligado o recuo
(SW3).
No recuo, quando ativar o fim de curso 1 (FC1), desliga o motor e permanece ligado apenas
o recuo (SW3), deixando a maquina parada na condição de partida.

Obs.:
O Botão de STOP deve em qualquer passo da máquina:
Desligar o motor.
Desligar avanço rápido (SW1).
Desligar avanço lento (SW2)
Ligar Recuo (SW3)
O dispositivo poderá ter um display para visualização das peças já furadas, sendo que
quando contar 9999 poderá ser ressetado por um botão.

Informática Industrial – Prof. Jeyson Berlanda 67


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Figura -B Dispositivo de furação

Exercício complementar 4: Fresadora

Elaborar um software aplicativo da fresadora (figura 10-5) na qual a peça é colocada


manualmente. Acionando start e a peça estando na posição (sensor atuado), a válvula SW2
(cilindro A) fixa a peça na mesa, ligando a serra circular. Após 5s a válvula SW4 avança o
cilindro B até o ponto desejado para a fresagem. O tempo de fresagem é de 8s. Após, a
válvula SW1 é acionada retornando o cilindro B e desligando a serra. A válvula SW3 recua o
cilindro A para soltar a peça, que é retirada manualmente. Em qualquer momento que for
acionado o botão de emergência deve desligar a serra circular recuar cilindro A e B.

Informática Industrial – Prof. Jeyson Berlanda 68


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Informática Industrial – Prof. Jeyson Berlanda 69


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

27. Resolução de exercícios

Informática Industrial – Prof. Jeyson Berlanda 70


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Informática Industrial – Prof. Jeyson Berlanda 71


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Informática Industrial – Prof. Jeyson Berlanda 72


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Informática Industrial – Prof. Jeyson Berlanda 73


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

PROGRAMAÇAO AVANÇADA

Informática Industrial – Prof. Jeyson Berlanda 74


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

1. ACESSO INDIRETO

Esta forma de acesso é usada em conjunto com um operando memória (%M) para
referenciar indiretamente outros operandos do sistema. O sinal *, colocado na frente de um
tipo de operando, indica que este é referenciado pelo endereço contido na memória
especificada à esquerda do sinal.

Formatos:

O acesso indireto às tabelas é representado sem o asterisco. São utilizados em


instruções de movimentação, comparação, contagem e de temporização.

Exemplos:

%M0043*E octeto de entrada referenciada indiretamente pela memória 43


%M1824*A octeto auxiliar referenciado indiretamente pela memória 1824
%M0371TD tabela decimal referenciada indiretamente pela memória 371
%M0009*M operando memória referenciado indiretamente pela memória 9

Esta instrução movimenta o valor +431 para o operando memória cujo endereço é o
valor correntemente armazenado em %M0009. Se %M0009 conter o valor 32, então o valor
+431 será armazenado em %M0032. Se %M0009 contiver o valor 12 então o valor constante
será armazenado em %M0012.

ATENÇÃO:
É responsabilidade do programa aplicativo que o valor contido na memória de referência
(%M0009, no exemplo) represente endereços válidos, não contendo
valores negativos ou muito altos, acima dos endereços existentes para o tipo de operando
referenciado indiretamente. As instruções não realizam os acessos indiretos inválidos,
normalmente possuindo um sinal de saída para a indicação do erro.
Se no programa do exemplo anterior houvessem sido declarados 256 operandos %M, o
valor de %M0009 deveria estar entre 0 e 255 para que a instrução fosse corretamente
executada. Caso o valor não estivesse nesta faixa, o acesso não seria realizado.

Informática Industrial – Prof. Jeyson Berlanda 75


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

2. CAB (MC) Carrega Bloco de Constantes

Esta instrução permite a carga de até 255 valores constantes em um bloco de


operandos ou em tabelas. O operando inicial ou tabela a ser carregada é especificado em
OPER1, o número de operandos ou posições da tabela a serem carregados em OPER2 e o
valor das constantes em OPER3. O valor de OPER2 deve ser positivo, menor ou igual a
%KM+00255. O operando OPER3 é composto por uma tabela de valores constantes a
serem carregados. Estes valores são declarados selecionando o botão Bloco, sendo aberta
uma caixa de diálogo no MASTERTOOL. As constantes são do tipo %KM se o tipo do
primeiro operando for %E, %S, %A, %M, %TM ou são do tipo %KD se o primeiro operando
for %D ou %TD, ou são do tipo %KF se o primeiro operando for %F ou %TF. Caso o
primeiro operando seja um octeto (%E, %S ou %A), somente serão movimentados os
valores dos octetos menos significativos de cada constante declarada. Quando o botão
Bloco é selecionado é exibida a caixa de diálogo CAB Valores.

Para realizar a edição das constantes:

1- Posicionar o cursor no índice a ser editado. Caso seja necessário rolar as páginas podem
ser utilizadas as teclas Page Down e Page Up ou a barra de rolagem vertical.
2- Digitar o valor da constante.

Para realizar a edição em ASCII:

1- Selecionar o botão Edição ASCII. É exibida a caixa de diálogo CAB Edição em ASCII.
2- Digitar o texto que se deseja carregar nas constantes da CAB e selecionar o botão OK.

Para inicializar as constantes com um valor específico:

1- Selecionar o botão Inicializar. É exibida a janela CAB - Inicializa tabela.


2- No item Valor, digitar o valor a ser inicializado nas constantes.
3- No item Posição inicial, digitar o número da primeira posição a receber o valor de
inicialização.
4- No item Posição final, digitar o número da última posição a receber o valor de
inicialização.
5- Selecionar o botão OK.

A saída índice destino inválido é acionada quando algum operando não puder ser
acessado ou uma posição de tabela não existir. Quando a saída índice destino inválido é
acionada, nenhuma carga de constantes ocorreu.
A saída sucesso é acionada sempre que a instrução for executada corretamente. A
carga dos valores constantes é inteiramente realizada em uma só varredura do programa
aplicativo, podendo ocasionar um tempo de ciclo excessivo quando o mesmo for extenso.
Na maior parte dos programas aplicativos, a instrução CAB pode ser executada somente na
inicialização do mesmo (carga de tabelas cujos conteúdos serão somente lidos) ou em
alguns momentos especiais, não precisando ser chamada em todas as varreduras. Nestes
casos, recomenda-se a sua programação no módulo de programa aplicativo de inicialização
(E000) ou que seja acionada apenas nos momentos de carga necessários.

Exemplo 1: Funcionamento da Instrução CAB

Informática Industrial – Prof. Jeyson Berlanda 76


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Programa "ladder" exemplo 1

3. MOT (MT) - Movimentação de Tabelas

Esta instrução permite duas operações: transferir o valor de uma posição de tabela
para um operando simples ou de um operando simples para uma posição de tabela. O
operando OPER1 é o operando origem, cujo valor é movimentado para o operando destino
especificado em OPER3. OPER2 contém a posição da tabela declarada em OPER1 ou
OPER3.

Leitura de conteúdo de tabela:

Permite ler o conteúdo de uma posição de tabela e carregá-lo em um operando memória ou


decimal.

A instrução é programada da seguinte forma:

OPER1 - especifica o endereço da tabela a ser lida (%TM, %M*TM, %TD, %M*TD, %TF,
%M*TF)
OPER2 - especifica a posição (%KM) a ser lida ou a memória (%M) que contém esta
posição
OPER3 - especifica para onde o conteúdo da posição de tabela deve ser transferido (%M,
%M*M, %D, %M*D, %F, %M*F)

Se OPER1 referenciar indiretamente uma tabela não especificada, ou se o valor de


OPER2 for negativo ou maior que a última posição definida para a tabela, a transferência
não é realizada e a saída índice origem inválido é acionada. Se OPER3 referenciar
indiretamente um operando não declarado, a transferência não é realizada e a saída índice
destino inválido é acionada.
Escrita de valores em tabela:

Permite escrever um valor constante ou o conteúdo de um operando memória ou


decimal em uma posição de tabela. A instrução é programada da seguinte forma:

OPER1 - especifica o operando origem (%KM, %M, %M*M, %KD, %D, %M*D, %KF, %F,
%M*F)

Informática Industrial – Prof. Jeyson Berlanda 77


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

OPER2 - especifica a posição (%KM) a ser escrita na tabela ou a memória (%M) que
contém esta posição

OPER3 - especifica o endereço da tabela para onde é transferido o conteúdo (%TM,


%M*TM, %TD, %M*TD, %TF, %M*TF)

Se OPER1 referenciar indiretamente um operando não declarado, a transferência do


conteúdo não é realizada e a saída índice origem inválido é acionada. Se o valor de OPER2
for negativo ou maior que a última posição definida para a tabela, ou se OPER3 referenciar
indiretamente uma tabela não especificada, a transferência do conteúdo não é realizada e a
saída índice destino inválido é acionada. Esta instrução simplifica a programação de uma
série de algoritmos envolvendo decodificações, seqüenciamentos, geração de curvas,
armazenamento e comparação de valores, entre outros.

Exemplo 2: Funcionamento da Instrução MOT (Leitura de Conteúdo)

Funcionamento da Instrução MOT (Leitura de Conteúdo)

Exemplo 3: Funcionamento da Instrução MOT (Escrita de Conteúdo)

Funcionamento da Instrução MOT (Escrita de Conteúdo)

Informática Industrial – Prof. Jeyson Berlanda 78


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Exemplo 4: Seqüência Luminosa

Utilizando as instruções CAB e MOT, fazer com que em um módulo de saída sejam
realizadas duas seqüências luminosas diferentes selecionadas por uma chave.

Seqüência Luminosa

Informática Industrial – Prof. Jeyson Berlanda 79


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.000

Módulo E-.000 exemplo 4

Módulo E-.001

Informática Industrial – Prof. Jeyson Berlanda 80


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Exercício 1: Semáforo

Desenvolver um programa que simule o funcionamento de um semáforo

Informática Industrial – Prof. Jeyson Berlanda 81


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Semáforo

Seqüência semáforo

Informática Industrial – Prof. Jeyson Berlanda 82


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

4. MAQUINA DE ESTADOS

O Diagrama de Estados ou máquina de estados é basicamente uma forma


padronizada de representação das regras de controle de um processo. Utilizando uma
estrutura similar àquela adotada na eletrônica e na matemática, conhecida como "Diagrama
de Variáveis de Estado", é possível descrever operações combinacionais ou seqüenciais,
executadas dentro de um fluxo único ou em múltiplas ramificações paralelas e simultâneas.
A forma gráfica adotada permite uma fácil visualização do conjunto, recurso fundamental na
fase de projeto e especificação, oferecendo ao mesmo tempo uma forma exata para
descrição de cada operação, viabilizando a programação direta do controlador a partir do
diagrama.
É importante ressaltar que qualquer programa para controle de processos digitais ou
analógicos pode ser facilmente representado por um Diagrama de Estados. Além disso, a
utilização do Diagrama de Estados pode eliminar a necessidade de qualquer outro método
de descrição do processo.

4.1 ESTRUTURA DA LINGUAGEM

A estrutura da Linguagem é formada por três elementos básicos: os ESTADOS, as


TRANSIÇÕES e a MALHA DE CONTROLE:

O Estado é o conjunto de comandos que, quando ativado, provoca ações que


caracterizam uma etapa ou evento do processo. A ativação sucessiva dos estados
determina a seqüência de controle do processo. Nos diagramas, o estado é representado
por uma elipse. No canto esquerdo será colocado o número do estado. No espaço da direita
serão descritos as ações efetuadas ou os comandos ativos para esse estado.

Uma condição de Transição é a combinação de eventos que determinam uma


mudança de estado, isto é, a transferência da atividade de um estado para outro. No
diagrama, a transição é representada por uma seta orientada que liga o estado de origem
com o estado para a transferência. Sobre a seta são descritas as condições válidas para
essa transição.

Uma Malha de controle é um diagrama de estados parcial, que corresponde a um


ramo do processo, dentro do qual apenas um estado pode estar ativo a cada momento. O
diagrama de estados completo do processo pode ser composto por uma ou mais malhas.
Devido aos recursos de multiprocessamento do controlador, todas as malhas serão
atendidas simultaneamente quando da execução do programa em tempo real.

Informática Industrial – Prof. Jeyson Berlanda 83


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

O Diagrama de Estados apresenta de forma gráfica uma estrutura lógica completa


através de um conjunto de malhas de controle. Cada malha assume o controle de uma
parcela determinada do processo. O Controlador Programável oferece recursos para
atendimento simultâneo de diversas malhas. Este recurso de processamento multitarefas é
muito importante no desenvolvimento de soluções de controle para os sistemas reais e de
difícil representação pela maioria das outras formas de documentação.

4.2 REGRAS DE PROGRAMAÇÃO NA LINGUAGEM DIAGRAMA DE ESTADOS

A seguir serão apresentadas, de forma sistemática e mais detalhada, as regras


fundamentais para elaboração, análise e execução pelo controlador, adotadas na
programação através de diagramas de estado:

Regra 1
O estado é sempre representado por uma elipse, dividida em dois campos: No lado menor, a
esquerda, é colocado o número de referência do estado; no lado direito são incluídos todos
os comandos e ações ativos para esse estado.

Regra 2
Os estados no diagrama são referenciados por um número situado na faixa entre
0 e 255. Cada malha recebe uma seqüência de numeração independente.

Regra 3
A numeração adotada para os estados é usada apenas para referência. Não existe nenhum
sentido de seqüência ou prioridade de execução pelo CLP na numeração dos estados. A
única consideração especial é que o controlador ao ser ligado, inicia a execução do
programa sempre pelo estado 0 de cada malha.
Regra 4
Somente um estado pode estar ativo de cada vez num mesmo Diagrama de Estados.
Apenas os comandos e operações desse estado serão executadas nesse momento. Além
disso, apenas as condições de transição do estado ativo serão consideradas pelo
controlador.

Regra 5

Informática Industrial – Prof. Jeyson Berlanda 84


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Associado a cada estado são aceitas duas formas condicionais: As condições para transição
de estado especificam as relações que, quando cumpridas fazem que o controlador transfira
a atividade para o estado de destino; As condições para execução imediata fazem que as
ações especificadas sejam executadas dentro do estado ativo apenas se as relações lógicas
mencionadas forem válidas.

Regra 6
A transição é representada por uma seta reta ou curva, indicando o sentido da transferência
da atividade quando do cumprimento das condições de transição.

Regra 7
As operações e comandos associados à condição de execução imediata são representados
dentro de um retângulo, ligado por uma linha ao estado.

Regra 8
O programa ignora todos os estados e transições executados, somente considerando as
transições com origem no estado ativo. O programa só considera válidas as transições com
origem no estado ativo, ignorando todas as demais. Assim, podemos dispensar a
preocupação com o acionamento de saidas fora da seqüência desejada.

Regra 9
São aceitas múltiplas condições de transição de um estado para outro. Quando duas ou
mais expressões lógicas estão colocadas sobre uma mesma linha de transição, deve-se
considerar que a transição ocorrerá quando todas as expressões forem válidas (ligação "E").
Para que a transição ocorra com apenas uma das expressões válidas (ligação "OU"), é
necessário que a palavra "OU" apareça entre as expressões.

Regra 10
São aceitas duas ou mais linhas de transição entre um estado origem e um destino. Neste
caso a transição ocorrerá quando uma das expressões for válida (corresponde a ligação
"OU").

Informática Industrial – Prof. Jeyson Berlanda 85


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Regra 11
O número de transições com origem em cada estado é ilimitado. No entanto um número
muito grande de transições pode ocasionar uma falha por WATCH DOG. O programa pode
seguir diversos caminhos a partir de um estado; o caminho a seguir será decidido pela
última condição de transição aprovada.

Regra 12
No caso previsto pela regra anterior, é importante definir o que acontece se duas ou mais
condições estiverem simultaneamente válidas. Quando a caracterização da ordem de
prioridades for importante, será representada na forma a seguir:

- (1) para o mais prioritário; (2) para a segunda prioridade; e assim por diante.

Regra 13
Em determinadas situações dentro de um programa é necessário ou conveniente definir
transições entre estados sem condição especificada. No caso do exemplo, quando o estado
3 fica ativo, a saída 3 é ligada; Imediatamente a seguir, o estado ativo passa a ser o 5,
provocando a execução imediata da operação "W00=W00+1".

Informática Industrial – Prof. Jeyson Berlanda 86


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Regra 14
Outro tipo de condição de transição é a chamada "Condição Temporizada". Neste caso, ao
invés de combinações lógicas de entradas ou variáveis, a transição está condicionada a
passagem de um tempo. O tempo necessário para a transição aparece ao lado da linha no
diagrama.

Regra 15
Freqüentemente aparece a necessidade de combinar uma condição temporizada
com um ou mais testes de variáveis. O trecho do diagrama de estados abaixo mostra esse
caso. O programa vai para o estado 4 depois de passar 5 segundos e
se a entrada "INI" estiver acionada. Observar que:

- Os 5 segundos são contados a partir da entrada no estado 3, independentemente da


situação de "INI".

- Se a entrada "INI" for acionada 5 segundos ou mais após a entrada no estado 3, a


transição ocorrerá imediatamente.

Regra 16
Cada malha componente do sistema recebe um número de referência. A primeira malha
será a 0, a segunda será a 1 e assim por diante, até um número máximo suportado pelo
controlador.
Regra 17
Cada estado é sempre pertencente a uma e somente a uma malha. Além disso, um estado
ativo com uma condição de transição válida transfere a atividade para o estado indicado na
transição (estado de destino); Esse estado de destino pertencerá necessariamente a mesma
malha do estado anterior.

Regra 18
Do ponto de vista do diagrama de estados, cada malha é considerada um processo
independente. Não pode haver transições de um estado de uma malha para outro em outra
malha.

Informática Industrial – Prof. Jeyson Berlanda 87


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

4.3 COMPARAÇÃO ENTRE LINGUAGENS DE DADOS E EVENTOS

Diferentemente das linguagens de programação voltadas à manipulação de dados, a


linguagem do tipo máquina de estados é uma linguagem voltada a eventos, que é uma
abordagem mais natural para controle de processos.
A principal diferença no fluxo do programa consiste que na maioria das linguagens o
programa "avança sozinho" e numa linguagem voltada a eventos o programador informa
explicitamente, por um evento determinado.

Informática Industrial – Prof. Jeyson Berlanda 88


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Característica Linguagem para manipulação de dados Linguagem voltada a Eventos

Exemplos C+, Visual Basic, Java Maquina de Estados


Realizada uma única tarefa pelo programa, ou o
Múltiplas tarefas concorrente, realizadas
Tarefas programa deve revisar todas as tarefas
por máquinas virtuais independentes
continuamente

Unidade básica de programa Sub-rotinas Máquinas e Estados

Tempo de resposta de
indeterminado garantido
periféricos

Explicito para outro estado, somente por


Implícito, para próxima instrução, ou explicito
Fluxo/avanço do programa GOTO, STATE ou WAKEUP. Dentro do
por GOTO
estado há auto repetição do código.

Entrada e Saída de IHM, canais digitais,


Periféricos incorporados à
Somente entrada e saída de IHM e impressora canais analógicos, contadores, timers,
sintaxe padrão
interrupções

Entrada e Saída de IHM, canais digitais,


Periféricos incorporados à
Somente entrada e saída de IHM e impressora canais analógicos, contadores, Timers,
sintaxe padrão
interrupções

Proteção contra paralisação


do programa ou NÃO Watchdog
funcionamento incerto

Possibilidade de bloqueio do
Somente da máquina lógica que espera
programa por espera por SIM
pelo periférico
periférico

Código binário do programa Compilado em código do processador Compilado em máquina virtual

Recuperação de dados
Não SIM, por matrizes verificáveis
corrompidos
Variáveis e constantes
SIM Watchdog
estruturadas, matrizes
Sistema operacional
DOS, Windows, Linux Integrado no equipamento, Royalty Free
necessário

Pre-empção no acesso
simultâneo por mais de uma
Não SIM
máquina a dados
compartilhados e periféricos

Informática Industrial – Prof. Jeyson Berlanda 89


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

5. SEQ (IS) - Seqüenciador

Esta instrução permite a programação de seqüenciamentos complexos com


condições de evolução específicas para cada estado. Sua forma de programação é
semelhante a "máquinas de estado".

A instrução pode ser executada em dois modos:


Modo 1000
Modo 3000

Quando a entrada modo está desenergizada, a instrução é executada no modo 1000, e


quando ela está energizada, a instrução é executada no modo 3000.

No modo 3000 seqüenciamentos mais complexos podem ser programados.

5.1 Modo 1000

Neste modo ocorre uma seqüência de evolução fixa dos estados. A evolução sempre
ocorre do estado atual para o seguinte, e do último para o primeiro.
O operando OPER1 especifica uma tabela onde cada posição contém o endereço de
um ponto de operando auxiliar que é testado como condição de evolução para o próximo
estado.
O operando OPER2 especifica uma memória que armazena o estado atual e serve de
índice para a tabela especificada no primeiro operando.
O operando OPER3 é irrelevante, porém deve ser especificado um operando do tipo
memória ou auxiliar nesta célula, pois o MASTERTOOL realiza a consistência conforme o
modo 3000.
O operando OPER4 é irrelevante, porém deve ser especificado um operando do tipo
memória ou auxiliar nesta célula, pois o MASTERTOOL realiza a consistência conforme o
modo 3000.
Quando a entrada habilita está desenergizada, as saídas pulso e índice inválido ficam
desenergizadas, independente de qualquer outra condição. Quando a entrada habilita
estiver energizada, a saída de pulso fica normalmente energizada, e a saída de índice
inválido fica normalmente desenergizada.
Além disso, quando a entrada habilita está energizada, a posição da tabela OPER1
indexada pelo estado atual OPER2 é acessada e o ponto de operando auxiliar referenciado
nesta posição da tabela é examinado. Se este ponto estiver energizado, o conteúdo de
OPER2 é incrementado (ou zerado, se estiver apontando para a última posição da tabela
OPER1) e na saída pulso ocorre um pulso de desenergização com duração de um ciclo de
programa. Se o ponto examinado estiver desenergizado nada ocorre e o valor da memória
em OPER2 permanece inalterado.
A saída índice inválido é ativada se a memória OPER2 (estado atual) contiver um
valor que indexa uma posição não existente na tabela especificada em OPER1. Isto pode
ocorrer modificando-se a memória OPER2 em um ponto do programa aplicativo fora da
instrução SEQ (na inicialização de OPER2, por exemplo). Deve-se ter o cuidado de definir e
inicializar a tabela especificada em OPER1 com valores legais. Se a tabela for removida do
projeto esta saída também será acionada.

Informática Industrial – Prof. Jeyson Berlanda 90


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Na tabela especificada em OPER1 devem ser carregados valores em formato decimal


que especifiquem pontos de operandos auxiliares que devem ser testados como condições
de evolução. O cálculo destes valores é especificado pela equação:

VALOR = (endereço do operando * 8) + endereço da subdivisão

Exemplo Modo 1000

Se %A0030.2 é o ponto que se deseja usar como condição de evolução a partir do estado 4,
então:

Endereço do operando = 30
Endereço da subdivisão = 2
VALOR = (30 * 8) + 2 = 242

O valor a ser carregado na posição 4 da tabela OPER1 deve ser 242 para que o
ponto %A0030.2 cause a evolução para o próximo estado, que é o estado 5 (ou o estado 0,
se a tabela tiver 5 posições).

Módulo E-.000

Módulo E-.001

Informática Industrial – Prof. Jeyson Berlanda 91


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

5.2 Modo 3000

Neste modo é possível definir a seqüência de evolução e escolher um entre dois


caminhos a partir do estado atual. Portanto, 2 graus de liberdade a mais são oferecidos em
relação ao modo 1000, permitindo-se implementar máquinas de estado bem mais
complexas.
Existe, entretanto, menos liberdade para escolher as condições de evolução em
relação ao modo 1000, além de ser necessário o uso de mais memória (tabelas) no modo
3000.
O operando OPER1 especifica a primeira de duas tabelas subseqüentes que são
utilizadas pela instrução. As duas tabelas devem ter o mesmo tamanho. Cada posição da
primeira tabela contém o próximo estado caso a condição associada a OPER3 esteja
energizada. Cada posição da segunda tabela contém o próximo estado caso a condição
associada a OPER4 esteja energizada.
O operando OPER2 especifica uma memória que indica qual o estado atual e serve
de índice para as tabelas especificadas em OPER1.
O operando OPER3 especifica um operando que serve de base para determinar a
condição de evolução a partir do estado OPER2 para o estado indexado por OPER2 na
primeira tabela.
O operando OPER4 especifica um operando que serve de base para determinar a
condição de evolução a partir do estado OPER2 para o estado indexado por OPER2 na
segunda tabela.
Quando a entrada habilita está desenergizada, as saídas pulso e índice inválido ficam
desenergizadas, independente de qualquer outra condição. Quando a entrada habilita está
energizada, a saída de pulso fica normalmente energizada, e a saída de índice inválido fica
normalmente desenergizada.
Além disso, quando a entrada habilita está energizada, a instrução busca o valor da
memória OPER2 (estado atual) e testa a respectiva condição de evolução com base em

Informática Industrial – Prof. Jeyson Berlanda 92


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

OPER3. Se esta condição estiver energizada, o operando OPER2 é carregado com um novo
estado, indexado pelo próprio operando OPER2 na primeira tabela especificada por OPER1.
Caso a condição de evolução associada a OPER2 e com base em OPER3 estiver
desenergizada, testa-se a condição de evolução associada a OPER2 e com base em
OPER4. Se esta última condição estiver energizada, o operando OPER2 é carregado com
um novo estado, indexado pelo próprio operando OPER2 na segunda tabela especificada
por OPER1. Se pelo menos uma das 2 condições acima estiver energizada, uma transição
de estado ocorrerá, e um pulso de desenergização com duração de um ciclo de programa
aplicativo ocorrerá na saída pulso da instrução. Se nenhuma das 2 condições estiver
energizada, nada acontece, e o valor da memória OPER2 (estado atual) permanece
inalterado, bem como a saída pulso continua energizada.
A saída índice inválido é ativada se a memória OPER2 contiver um valor que indexa
uma posição não existente nas tabelas especificadas em OPER1. Isto pode ocorrer
modificando-se a memória OPER2 em um ponto do programa aplicativo fora da instrução
SEQ (na inicialização de OPER2, por exemplo) ou dentro da própria instrução SEQ, caso
algumas das posições das tabelas especificadas em OPER1 contenham valores inválidos
para serem o próximo estado. Deve-se ter o cuidado de definir as 2 tabelas especificadas
por OPER1 com o mesmo tamanho, e deve-se inicializá-las com valores legais (exemplo: se
as tabelas tiverem 10 posições, somente valores entre 0 e 9 devem ser carregados em
posições desta tabela, pois somente estes podem ser estados legais). Se a tabela for
removida do projeto esta saída também será acionada.
As condições de evolução associadas ao estado atual OPER2 são determinadas com
base em OPER3 (próximo estado é carregado a partir da primeira tabela) ou com base em
OPER4 (próximo estado é carregado a partir da segunda tabela). Sabendo-se que os
operandos OPER3 e OPER4 são do tipo memória (16 bits) ou do tipo auxiliar (8 bits),
suponha-se o seguinte:

EXEMPLO MODO 3000

ESTADO = conteúdo do operando OPER2 (estado atual)


END3 = endereço de OPER3
END4 = endereço de OPER4
END1 = endereço do ponto a ser testado, com base em OPER3
SUB1 = subdivisão do ponto a ser testado, com base em OPER3
END2 = endereço do ponto a ser testado, com base em OPER4
SUB2 = subdivisão do ponto a ser testado, com base em OPER4

Os pontos testados como condição de evolução associada a cada tabela serão:

%M<END1>.<SUB1> ou %A<END1>.<SUB1> (primeira tabela) e


%M<END2>.<SUB2> ou %A<END2>.<SUB2> (segunda tabela)

onde:
END1 = END3 + (ESTADO / 16) (se operando %M)
END1 = END3 + (ESTADO / 8) (se operando %A)
SUB1 = RESTO.16 (se operando %M)
SUB1 = RESTO. 8 (se operando %A)

Informática Industrial – Prof. Jeyson Berlanda 93


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

END2 = END4 + (ESTADO / 16) (se operando %M)


END2 = END4 + (ESTADO / 8) (se operando %A)
SUB2 = RESTO.16 (se operando %M)
SUB2 = RESTO.8 (se operando %A)

Sejam:
OPER2 = %M0015*M
%M0015 = 35
%M0035 = 43
OPER3 = %M0060
OPER4 = %A0070

Então:
ESTADO = 0
END3 = 60 END4 = 70
END1 = 60 + (0 / 16) = 60 END2 = 70 + (4 / 8) = 70
SUB1 = RESTO.16 = 0 SUB2 = RESTO.8 = 0

Condições de evolução a partir do estado 0 serão: %M0060.0 para a primeira tabela,


%A0070.0 para a tabela segunda

Então:
ESTADO = 1
END3 = 60 END4 = 70
END1 = 60 + (1 / 16) = 60 END2 = 70 + (4 / 8) = 70
SUB1 = RESTO.16 = 1 SUB2 = RESTO.8 = 1

Condições de evolução a partir do estado 1 serão: %M0060.1 para a primeira tabela,


%A0070.1 para a tabela segunda

Então:
ESTADO = 2
END3 = 60 END4 = 70
END1 = 60 + (4 / 16) = 60 END2 = 70 + (4 / 8) = 70
SUB1 = RESTO.16 = 2 SUB2 = RESTO.8 = 2

Condições de evolução a partir do estado 2 serão: %M0060.2 para a primeira tabela,


%A0070.2 para a tabela segunda

Então:
ESTADO = 43
END3 = 60 END4 = 70
END1 = 60 + (43 / 16) = 62 END2 = 70 + (43 / 8) = 75
SUB1 = RESTO.16 = 11 SUB2 = RESTO.8 = 3

Condições de evolução a partir do estado 43 serão: %M0062.B para a primeira tabela,


%A0075.3 para a tabela segunda

Então:
ESTADO = 44

Informática Industrial – Prof. Jeyson Berlanda 94


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

END3 = 60 END4 = 70
END1 = 60 + (44 / 16) = 62 END2 = 70 + (44 / 8) = 75
SUB1 = RESTO.16 = 12 SUB2 = RESTO.8 = 4

Condições de evolução a partir do estado 44 serão: %M0062.C para a primeira tabela,


%A0075.4 para a tabela segunda

MAQUINA DE ESTADOS:

%M0060.0 %A0070.0

1 43

%A0070.1 %A0075.3
%M0062.B
%M0060.1
44 2 %M0060.2 ou
%A0070.2
%M0062.C %A0075.4

TABELAS DE CONDICOES PARA TRANSICAO:

%TM00 %TM01
Posição Valor Posição Valor
0 1 0 43
1 44 1 44
2 0 2 0
... ... ... ...
43 44 43 2
44 1 44 0

Informática Industrial – Prof. Jeyson Berlanda 95


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Características de programação da instrução seqüenciador

Exemplo 5: Máquina de Estampo

Implementar um programa para a máquina de estampo mostrada na figura 3-12 usando a


instrução SEQ.
ENTRADAS SAÍDAS
START - E0.0 MOTOR - S2.0
FC1 - E0.1 Cilindro A - S2.1
FC2 - E0.2 Cilindro B - S2.2
STOP - E1.0

Passos do Seqüenciamento:

Quando acionamos o botão de START, liga o motor;


Quando a peça aciona o FC1, desliga motor e avança cilindro A;
Cilindro A fica acionado por 10 segundos e retorna;
A peça fica na esteira por mais 5 segundos e é expulsa pelo cilindro B;
Acionando o FC2, o cilindro B retorna e liga o motor novamente recomeçando o ciclo;
Visualizar as temporizações na M20;
Visualizar o passo do sequênciador na M21;
Quando STOP for acionado a máquina deve voltar ao passo 0.

Módulo E-.000

Informática Industrial – Prof. Jeyson Berlanda 96


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.000 exemplo 5

Módulo E-.001

Informática Industrial – Prof. Jeyson Berlanda 97


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.001 exemplo 5

Exercício 2: Furadeira Automática


Implementar um programa para controlar a furadeira automática mostrada na figura abaixo
usando a instrução SEQ e considerando o passo do seqüenciamento e as condições de
evolução a seguir:

Informática Industrial – Prof. Jeyson Berlanda 98


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Furadeira automática

Passos do Seqüenciamento

Para ligar a máquina, a broca deve estar recuada (SW3 ligada) e o fim de curso 1 atuado
(FC1);
Ao acionar o botão de partida (START) o motor que dá rotação à broca é ligado (MOTOR), é
desligado o recuo (SW3) e ligado o avanço rápido (SW1);
Quando é atuado o fim de curso 2 (FC2) é desligado o avanço rápido e ligado o avanço lento
(SW2), "avanço de corte";
Ao atuar o fim de curso 3 (FC3) deve desligar o avanço lento (SW2) e ligar o recuo (SW3)
para quebra de cavacos;
No recuo, quando atuar FC2 o recuo (SW3) deve ser desligado e ligado o avanço rápido
(SW1);
O avanço rápido deve ser desligado ao atuar o fim de curso 3 (FC3) quando é ligado o
avanço lento (SW2) para continuar o corte;
Ao atuar o fim de curso 4 (FC4) o avanço lento (SW2) deve ser desligado e o recuo ligado
(SW3);

Informática Industrial – Prof. Jeyson Berlanda 99


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

No recuo, quando atuar FC1, o motor deve ser desligado, permanecendo ligado apenas o
recuo (SW3), deixando a máquina na posição de partida.

Obs:
O botão de STOP deve em qualquer passo da máquina:
Desligar o motor;
Desligar o avanço lento (SW1);
Desligar o avanço rápido (SW2);
Ligar recuo (SW3).
A furadeira deverá ter um contador de peças prontas e um "reset" manual que o operador
acionará quando esgotar o limite do contador - 9999 peças.
A furadeira deverá possuir um recurso de diagnose através da identificação do passo da
máquina no display.

6. COB (CB) - Contador Bidirecional

Esta instrução realiza contagens com o valor de incremento ou decremento definido


por um operando. A instrução contador bidirecional permite contagens em ambos os
sentidos, isto é, incrementa ou decrementa o conteúdo de um operando do tipo memória.O
operando OPER1 contém a memória acumuladora do valor contado, enquanto que OPER2
especifica o valor do incremento ou decremento desejado. O operando OPER3 contém o
valor limite da contagem.
A contagem ocorre sempre que a entrada ativa está energizada e as entradas
incrementa ou decrementa sofrerem uma transição de desligadas para ligadas. Se ambas as
entradas sofrem a transição no mesmo ciclo de varredura do programa, não há incremento
nem decremento no valor da memória declarada em OPER1.Caso o valor do incremento
seja negativo, a entrada incrementa provoca decrementos e a entrada decremento provoca
incrementos no valor da contagem.
Se o valor de OPER1 tornar-se maior ou igual ao valor de OPER3, a saída limite
superior é energizada, não havendo incremento. Se o valor de OPER1 tornar-se igual ou
inferior a zero, a saída limite inferior é acionada, sendo armazenado zero em OPER1. Se o
valor de OPER1 está entre zero e o limite, a saída não limite é acionada. Se a entrada ativa
não está energizada, a saída limite inferior é energizada e o primeiro operando é zerado.
Em caso de acesso indireto inválido para qualquer um dos operandos da instrução, a saída
limite inferior é energizada.

ATENÇÃO:

Com a entrada ativa desativada, a saída limite inferior permanece sempre energizada,
mesmo quando a instrução estiver em um trecho comandado pela instrução RM (relé
mestre). Deve-se ter cuidado para não realizar acionamentos indesejáveis na lógica devido a
este fato.
Exemplo 6: Introdução de Valores Através de Pontos de Entrada
Introduzir valores através de pontos de entrada digitais. Deve haver uma chave para
incremento e outra para decremento. Se qualquer dessas chaves for acionada por um
período de tempo menor que 1 segundo, o incremento/decremento deve ser 1; se for
acionada por um período maior, o incremento/decremento deve ocorrer a cada 0,1 segundo.

Informática Industrial – Prof. Jeyson Berlanda 100


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.001 exemplo 6

Exercício 3: Onda Triangular

Implemente um programa que gere valores numéricos, em uma memória conforme a onda
triangular abaixo.

Onda triangular

Informática Industrial – Prof. Jeyson Berlanda 101


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

7. Conversão Analógico/Digital e Conversão Digital/Analógico

Esta instrução converte os valores lidos de um módulo de entrada analógica para


valores numéricos armazenados em operandos.É possível efetuar a leitura de 1 ou 8 canais
alterando-se apenas a especificação do primeiro operando, o qual indica o endereço no
barramento ocupado pelo módulo A/D. Este módulo deve estar especificado na declaração
do barramento. O endereço a ser programado em OPER1 pode ser obtido diretamente
através da coluna Endereço na Declaração dos Barramentos. Os valores convertidos são
colocados em operandos do tipo memória, definidos em OPER2.A conversão é realizada
apenas se a entrada habilita estiver energizada.Caso OPER1 seja especificado com
subdivisão do tipo ponto (%RXXXX.X), a conversão é realizada somente para o canal do
módulo relativo ao ponto. Os pontos .0 a .7 do operando correspondem aos canais 0 a 7 do
módulo, respectivamente. Neste formato, o tempo de execução da instrução é
significativamente menor do que a conversão dos 8 canais, sendo adequada, por exemplo,
para uso em módulos de programa E018, acionados por interrupção de tempo.Se OPER1
for especificado como %RXXXX (conversão de 8 canais), os valores convertidos são
colocados na memória declarada em OPER2 e nas 7 memórias subseqüentes.Se OPER1
for especificado como %RXXXX.X (conversão de 1 canal), o valor já convertido é colocado
na memória declarada em OPER2.
Os módulos disponíveis para realizar a conversão A/D são mostrados a seguir. Os valores
convertidos pela instrução pertencem a uma faixa relacionada com a característica de cada
módulo:

AL-1103 (10 bits) valores de 0000 a 1023


AL-1116 (12 bits) valores de 0000 a 4095 AL-1119 e QK1119 (12 bits) valores de 0000 a
4095
QK1136 (12 bits): valores de 0000 a 3999, com indicação de overflow (4000 a 4095)
AL-1139 e QK 1139 (12 bits): valores de 0000 a 3999, com indicação de overflow (4000 a
4095)
Série Grano 0 a 3000

Informática Industrial – Prof. Jeyson Berlanda 102


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.001

Módulo E-.001 do exemplo 7

8. CHP (HP) - Chama Módulo Procedimento

Esta instrução realiza o desvio do processamento do módulo corrente para módulo


Procedimento especificado nos seus operandos, se o mesmo estiver presente no CP.
Ao final da execução do módulo chamado, o processamento retorna para a instrução
seguinte à CHP. Não há passagem de parâmetros para o módulo chamado.
O conteúdo de OPER1 é documentacional e especifica o nome do módulo a ser
chamado. O conteúdo de OPER2 especifica o número deste módulo, sendo implícito o fato
do módulo chamado ser do tipo procedimento.
Caso o módulo chamado não exista, a saída sucesso é desenergizada e a execução
continua normalmente após a instrução. O nome do módulo não é considerado pelo CP para
a chamada mas apenas o seu número.
Caso exista um módulo P com o mesmo número do módulo chamado, porém com nome
diferente, este módulo mesmo assim é executado.

Exemplo 8: P-Foton3.022 Procedimento para Decodificação do Teclado do FOTON 3

Módulo E-.001

Informática Industrial – Prof. Jeyson Berlanda 103


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.001 exemplo 8

Módulo P-FOTON3.022

Informática Industrial – Prof. Jeyson Berlanda 104


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo P-Foton3.022 exemplo 8

Informática Industrial – Prof. Jeyson Berlanda 105


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

9. CHF (HF) - Chama Módulo Função

A instrução chama módulo função realiza o desvio do processamento do módulo


corrente para o módulo especificado na mesma, se este estiver presente no CP. Ao final da
execução do módulo chamado, o processamento retorna para a instrução seguinte à
CHF.Devem ser declarados o nome e o número do módulo como operandos OPER1 e
OPER4, respectivamente, sendo implícito o fato do módulo chamado ser do tipo função.
Caso o módulo chamado não exista no controlador, a execução continua normalmente após
a instrução de chamada, com a saída sucesso da mesma desligada. O nome do módulo não
é levado em consideração pelo CP, estando no programa aplicativo apenas como referência
documentacional, sendo considerados para a chamada apenas o seu tipo e número. Caso
exista o módulo F com o mesmo número do módulo chamado mas com nome diferente, este
módulo é executado É possível a passagem de valores de operandos (parâmetros) para o
módulo chamado e no sentido inverso, após a sua execução. Em OPER5 é especificada
uma lista de operandos a serem enviados para o módulo chamado. Antes da execução do
módulo, os valores destes operandos são copiados para os operandos especificados na lista
de parâmetros de entrada do módulo F, declarados na opção Editar Parâmetros quando o
mesmo foi programado.
Após a execução do módulo F chamado, os valores dos operandos declarados na sua
lista de parâmetros de saída declarados na opção Editar Parâmetros são copiados para os
operandos declarados na lista de operandos a retornar da instrução CHF em OPER6.
Finalizada a cópia de retorno, o processamento continua na instrução seguinte à de
chamada.

ATENÇÃO:

O MASTERTOOL não realiza nenhuma consistência em relação aos operandos


programados como parâmetros, tanto na instrução CHF como no módulo F.
A lista de operandos a serem enviados para o módulo F deve conter o mesmo
número de operandos com o mesmo tipo dos declarados como parâmetros de entrada do
módulo, para que a cópia dos seus valores seja realizada corretamente. A cópia dos
operandos é realizada na mesma ordem em que os mesmos estão dispostos nas listas.
Caso uma das duas listas possua menos operandos em relação à outra, os valores dos
operandos excedentes não serão copiados. Se os operandos possuírem tipos diferentes, a
cópia dos valores será realizada com as mesmas regras usadas na instrução MOV -
Movimentação de Operandos Simples. Este princípio é válido também para as listas de
parâmetros de retorno do módulo F.

Passagem de Parâmetros

A passagem de parâmetros é realizada com a cópia dos valores dos operandos


declarados (passagem de parâmetros por valor), embora esses operandos ainda continuem
de uso global, utilizáveis por qualquer módulo presente no CP. Os módulos F podem ser
programados de forma genérica, para serem reutilizados em diversos programas aplicativos
como novas instruções. É aconselhável que os mesmos empreguem operandos próprios,
não usados por nenhum outro módulo presente no programa aplicativo, evitando alterações
inadvertidas em operandos utilizados em outros módulos.É possível a passagem de
operandos simples e constantes para o módulo F. A passagem de tabelas como parâmetros
não é permitida, devido ao grande tempo que seria necessário para a cópia do conteúdo das

Informática Industrial – Prof. Jeyson Berlanda 106


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

mesmas. Entretanto, o endereço de uma tabela pode ser passado para o módulo F contido
em um operando memória e dentro deste módulo serem realizados acessos indiretos à
mesma.

Para realizar a edição de parâmetros:

1 Declarar o número de parâmetros a enviar e retornar em OPER2 e OPER3, limitados em


10 para cada um (%KM+00000 a %KM+00010).
2 Selecionar o botão Entrada. É exibida a janela CHF - Parâmetros de Entrada.
3 Posicionar o cursor no índice a ser editado e digitar o endereço ou TAG do operando
desejado para aquela posição.
4 Repetir o passo 3 até que todos os operandos utilizados como parâmetros de entrada
tenham sido editados.
5 Selecionar o botão Ok.
6 Para editar os parâmetros de saída da CHF, repetir o passo 2 selecionando o botão Saída,
e após repetir os passos 3, 4 e 5.
Caso o valor de OPER2 ou OPER3 seja maior do que 10, o MASTERTOOL considera tal
valor como igual a 10 (%KM+00010).

Exemplo 9: Implementação do Algoritmo Proporcional, Integral e Derivativo (PID)

DESCRIÇÃO SIMBOLOGI VALORES


A DESEJADOS
Ponto de ajuste PA 62
Ganho GP 5
proporcional
Ganho integral GI 100 seg/rep
Ganho GD 5 seg
derivativo
dt 1 seg
Deslocamento DES 50 %
Valor máximo MAX 80 %
Valor mínimo MIN 0%

Fluxograma básico do algoritmo PID

Informática Industrial – Prof. Jeyson Berlanda 107


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.000

Módulo E-.000 exemplo 9

Módulo E-.001

Módulo E-.001 exemplo 9

Informática Industrial – Prof. Jeyson Berlanda 108


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

10. MOV (MV) - Movimentação de Operandos Simples Utilizando Indexação

Esta instrução move o conteúdo de operandos simples quando a entrada habilita é


acionada.O operando que ocupa a primeira célula da instrução OPER1 é o operando
origem, cujo valor é movimentado para o operando destino, especificado na segunda célula
OPER2.
Se o formato do operando destino for menor que o do origem, os octetos mais
significativos do valor origem são desprezados. Se o formato do destino for maior, seus
octetos mais significativos são zerados. Se a movimentação for realizada, a saída sucesso é
acionada.Se os índices indiretos excederem os limites de operandos declarados no módulo
de configuração, a movimentação não é efetuada e a saída sucesso não é ligada.Não é
permitida a movimentação de subdivisões de operandos. Para isto, deve ser usada a
instrução MOP.Quando o operando destino da instrução é um inteiro (%M) e o operando da
instrução é um real (%F) o resultado armazenado será truncado, ou seja, armazena-se no
operando M apenas a parte inteira do resultado da operação, desprezando-se a parte
fracionária.

Exs:
OPER1 (%F2) = 9.999999
OPER2 (%M2) = 9
Exemplo 10 - Transferir Valores p/ Memórias Indicadas no FOTON 3
Digitar no teclado o endereço da memória e após a tecla F1 (indica que se trata do
endereço);
Digitar no teclado o valor e após a tecla F2 (indica que se trata do valor para transferência).

Obs:
O endereço da memória e o seu valor devem ser indicados no display
Usar P-FOTON3.022

Módulo E-.001

Informática Industrial – Prof. Jeyson Berlanda 109


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.001 exemplo 10

Exercício 4: Monitoração de Memórias

Alterar o programa do exemplo 10 incluindo a possibilidade de monitorar através do FOTON


3 o conteúdo de qualquer memória:

Digitar no teclado o endereço da memória e após a tecla F1 (indica que se trata do


endereço);
A tecla F2 indica que o conteúdo dessa memória deve ser mostrado no "display";

11. LDI (IL) - Liga/ Desliga Indexado e TEI (IT) - Teste de Estado Indexado

Exemplo 11: Testar, Ligar e Desligar Pontos de Saída Dentro de uma Faixa
Digitar no teclado o endereço do ponto e após a tecla F1 (indica que se trata do endereço);
Digitar a tecla F2 para ligar, F6 para desligar e Enter para testar o ponto;
Obs:
O endereço do ponto e o valor (quando for teste) deve ser indicado no display
Usar P-FOTON3.022

Informática Industrial – Prof. Jeyson Berlanda 110


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.001

Exercício 5: Acionamento Seqüencial

Utilizando os recursos da instrução LDI, fazer um acionameno seqüencial dos pontos de


saída S0002.0 até S0002.7, sendo que o intervalo de acionamento é de 0,5 segundos.
Obedecer a seqüência indicada na figura:

Informática Industrial – Prof. Jeyson Berlanda 111


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

12. Movimentação de Blocos de Operandos

Esta instrução realiza a cópia dos valores de um bloco de operandos origem para um
bloco destino.Especifica-se o primeiro operando do bloco origem em OPER1 e o primeiro
operando do bloco destino em OPER4. O número total de transferências a serem realizadas
é declarado no parâmetro OPER2, devendo também ser especificados o número de
transferências por varredura em OPER5 e uma memória acumuladora para a contagem do
número de transferências em OPER3.
Se o bloco origem ou destino for uma tabela, a transferência tem início na sua
primeira posição.
Se o formato do operando destino for menor do que o origem, os octetos mais significativos
do valor origem são desprezados. Caso contrário, os octetos mais significativos do destino
são zerados.O número de transferências por varredura é limitado em 255 operandos. Na
medida do possível deve-se evitar um número elevado de transferências na mesma
varredura, para diminuir o tempo de execução do programa.
Em cada instrução MOB é utilizada uma memória como operando de controle em OPER3,
que deve estar zerada antes da primeira execução.

ATENÇÃO:
O operando de controle não deve ter seu conteúdo alterado em nenhuma parte do
programa aplicativo, sob pena de prejudicar a execução correta da instrução.
Cada ocorrência desta instrução no programa deve possuir um operando de controle
exclusivo, diferente dos demais. Este operando não pode ser retentivo.
Quando ligadas, as saídas índice origem inválido e índice destino inválido indicam,
respectivamente, que pelo menos um dos operandos componentes do bloco origem ou
destino tem endereço superior ao número máximo declarado para o operando ou tabela
utilizado, não sendo realizada nenhuma movimentação. Caso o valor de OPER2 seja
negativo, a saída índice origem inválido é acionada.
A saída movimentação concluída é acionada na varredura em que a movimentação
for completada.

ATENÇÃO:

Informática Industrial – Prof. Jeyson Berlanda 112


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

A entrada habilita deve permanecer ativa até que a movimentação esteja concluída.
Como esta instrução é executada em múltiplos ciclos de execução, não deve ser saltada
enquanto não estiver terminada a movimentação.

Exemplo 12: Transferência de Dados


Transferir dados de duas tabelas para auxiliares e memórias e visualizar resultado
através de monitoração.

Módulo E-.001

Módulo E-.001 exemplo 12

13. Tratamento de Variáveis BCD

Variáveis BCD são valores lidos de chaves thumbwheel ou de outros módulos


(Contador Rápido, por exemplo) e são armazenados em operandos D ou TD no formato
BCD, isto é, cada dígito é representado por 4 bits. Exemplo:
0010 = 2 1000 = 8
Valor em BCD: 7 dígitos + sinal (-9 999 999 a +9 999 999)
Exemplo:
- 1 235 728 em D0000

Informática Industrial – Prof. Jeyson Berlanda 113


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

14. D/B (VD) - Conversão Decimal/Binário

Esta instrução converte valores armazenados em formato decimal, contidos em


operandos decimais (%D), para o formato binário, armazenando-os em operandos memórias
(%M).
O valor decimal contido em OPER1 é convertido para valor binário e armazenado em
OPER2.
A saída sucesso é acionada se a conversão for corretamente realizada. Se algum
acesso indireto inválido a operando ocorrer, a saída sucesso não é energizada. Caso o valor
convertido resultar em um valor maior do que os máximos armazenáveis em operandos %M,
a saída sucesso não é energizada, sendo armazenado o valor limite no operando destino.
Neste caso, a saída estouro é energizada.

15. B/D (VB) - Conversão Binário/Decimal

Esta instrução converte valores armazenados em formato binário, contidos em


operandos memória (%M), para o formato decimal (BCD), armazenando-os em operandos
decimais (%D).
O valor binário contido em OPER1 é convertido para valor decimal e armazenado em
OPER2.
A saída sucesso é acionada se a conversão for corretamente realizada.
Se algum acesso indireto inválido a operando ocorrer, a saída sucesso não é energizada.

Exemplo 13: Funcionamento das Instruções B/D e D/B

Executar conversões D/B e B/D visualizando o resultado através de monitoração com o


terminal de programação.

Módulo E-.001

Informática Industrial – Prof. Jeyson Berlanda 114


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.001 exemplo 13

Exercício 6: Utilização das Instruções Soma e Subtração Utilizando Operandos Decimais

Digitar no teclado a primeira parcela e após a tecla F5 (indica que se trata da primeira
parcela);
Digitar no teclado a segunda parcela e após a tecla F6 (indica que se trata da segunda
parcela);
Digitar no teclado a tecla indicadora da operação F7 ou F8 (soma ou subtração);

Informática Industrial – Prof. Jeyson Berlanda 115


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Obs:
O valor das parcelas e do resultado devem ser indicados no display
Usar P-FOTON3.022

16. Módulo de Programa E018

Exemplo 14: Módulo de Programa E18

Desenvolver um temporizador com precisão de centésimo de segundo (0,01 s).


Freqüência do módulo E18 = 5 ms;
Módulo E-018

Módulo E-.018

Módulo E-001

Módulo E-.001 exemplo 14

Informática Industrial – Prof. Jeyson Berlanda 116


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

17. Soluções dos Exercícios

Exercício 1: Semáforo

Equivalência no diagrama de relés do CP


Pontos de Entrada Pontos de Saída
Ativa = E0000.0 Verde 1 = S0002.0
Amarelo 1 = S0002.1
Vermelho 1 = S0002.2
Verde 2 = S0002.5
Amarelo 2 = S0002.6
Vermelho 2 = S0002.7
Módulo E-.000

Módulo E-.000 exercício 1

Informática Industrial – Prof. Jeyson Berlanda 117


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.001

Informática Industrial – Prof. Jeyson Berlanda 118


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.001 exercício 1

Exercício 2: Furadeira Automática


Equivalência no diagrama de relés do CP
Pontos de Entrada Pontos de Saída
Start = E0000.0 Motor = S0002.0
Stop = E0001.0 SW1 = S0002.1
FC1 = E0000.1 SW2 = S0002.2
FC2 = E0000.2 SW3 = S0002.3
FC3 = E0000.3 Display contagem = M0004
FC4 = E0000.4 Display passos da máquina=M005
Reset = E0001.7

Módulo E-.000

Informática Industrial – Prof. Jeyson Berlanda 119


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.000 exercício 2

Módulo E-.001

Informática Industrial – Prof. Jeyson Berlanda 120


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.001 exercício 2

Exercício 3: Onda Triangular


Equivalência no diagrama de relés do CP
Pontos de saída
Display com valor numérico = M0020.
Módulo E-.001

Informática Industrial – Prof. Jeyson Berlanda 121


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.001 exercício 3

Exercício 4: Monitoração de Memórias


Equivalência no diagrama de relés do CP
Pontos de Entrada Pontos de Saída
Teclado = M0127; Display endereço = M0021;
Display valor = M0022;

Módulo E-.001

Informática Industrial – Prof. Jeyson Berlanda 122


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.001 exercício 4

Exercício 5: Acionamento Seqüencial

Equivalência no diagrama de relés do CP


Pontos de saída
S0002.0 a S0002.7 = pontos para acionamento seqüencial;

Módulo E-.001

Informática Industrial – Prof. Jeyson Berlanda 123


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.001 exercício 5


Exercício 6: Utilização das Instruções Soma e Subtração Utilizando Operandos Decimais
Equivalência no diagrama de relés do CP
Pontos de Entrada Pontos de Saída
Teclado = M0127; Display parcelas e resultado = M0010,
M0011 e M0012;

Módulo E-.001

Informática Industrial – Prof. Jeyson Berlanda 124


FACULDADE ASSIS GURGACZ
Coordenação de Engenharia de Controle e Automação

Módulo E-.001 exercício 6

Informática Industrial – Prof. Jeyson Berlanda 125

Você também pode gostar