Você está na página 1de 31

Apostila CLP Step 5

Engenharia Elétrica
Universidade Tuiuti do Paraná (UTP)
30 pag.

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

Programação em STEP-5

Controladores Programáveis
O Conrolador programável (PLC) é destinado ao controle de processos industriais sendo que a sua função
básica é a de substituir uma lógica feita por relês, módulos temporizadores, pirômetros, etc, por uma lógica
armazenada em sua memória de programa.
Os vários modelos existentes no mercado se diferenciam pela sua capacidade de pontos de entrada e
saídas ( Input/Output ou I/O ), pela capacidade de memória, recursos de programação, etc.

Estrutura Básica
Fonte de alimentação
Memória do programa
CPU (unidade central de processamento)
Módulos de interface (entradas e saídas)
Bus de comunicação

Bus
BUS é o elemento de interligação entre a CPU, memória e módulos de interface que nada mais é do que
um sistema de condutores.

Entradas / Saídas
Para que as CPU's dos PLC's possam realizar as suas funções de controle, elas precisam receber
informações do campo. Para que estas informações cheguem até a CPU, existem módulos de entrada e saída, ou
seja, módulos que servirão de interface entre a CPU e os sinais provenientes do processo a ser controlado.
Estes módulos servem para tornar compatíveis os níveis de sinais de tensão e corrente que são
provenientes dos sensores de campo, com o nível de sinal com o qual a CPU pode receber suas informações.

Tipos de sinais
As informações e dados são representados e transmitidos ao PLC por meio de sinais. O sinal é uma parte
ou o todo de uma informação.

Sinais analógicos
Um sinal analógico é a representação de uma grandeza que pode assumir no decorrer do tempo, qualquer
valor entre dois limites determinados.
Por exemplo:
A tensão proporcional a temperatura, entregue por um termoelemento.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

Sinais binários
As grandezas físicas, as quais são atribuídos unicamente dois valores ou níveis chamamos de grandezas
binárias.

Por exemplo:
Contato aberto-contato fechado / nível baixo-nível alto.

Nível lógico de sinal


Nível lógico "0" corresponde a inexistência de tensão - desernegizado.

Nível lógico "1" corresponde a existência de tensão - energizado.

Flags
Nem sempre a utilização dos sinais provenientes dos módulos de entradas e saídas (digitais ou
analógicas), são suficientes para a elaboração de programas. Para estes casos, os PLC's da Siemens possuem
àreas de memória que podem ser utilizadas como elementos auxiliares, assim como os contatos auxiliares
comumente encontrados em contatores e relés. Estes elementos auxiliares foram denominados " FLAGS ".
Os flags podem ser utilizados na forma de bit, byte ou word.
Nos programas elaborados na linguagem " STEP-5 " serão utilizadas as seguintes denominações para
flag's:

Flag = F
Flag-byte = FY
Flag-word = FW

Podemos ainda dividir os "FLAG's" em duas categorias:

Flag's Remanentes
Os flag's remanentes são assim denominados pois os circuitos de memória onde os mesmos se encontram,
são alimentados por uma bateria. Em caso de queda de energia os flag's remanentes permanecem em seu estado
atual, ou seja, se estiverem em "1" assim continuarão.

Flag's não remanentes


Os circuitos de memória destes flag's não são alimentados por bateria. Isto faz com que um flag que se
encontre em nível lógico " 1 " vá para nível lógico "0" no caso de falta de energia elétrica.
______Téc. Robson N. Vilela__________________________________________________________________
___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

Exercícios:
1)Qual é a função básica de um PLC?

2) Qual a sua estrutura básica?

3) Que tipos de sinais podem ser transmitidos a um PLC?

4) O que é um FLAG? Explique a diferença entre um FLAG Não Remanente e um FLAG Remanente.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
Definição de endereço (CPU S5 95 U)

Numeração do slot
O PLC poderá ter no máximo quatro trilhos. Poderão ser utilizados 16 unidades de bus (32 slots). Os slots
são numerados em sequência. A numeração começa no "0", sendo este o slot ao lado da CPU. Se existe ou não
um módulo conectado a unidade de bus, não faz diferença, a numeração dos slots será a mesma.

Módulos Digitais
Os módulos digitais podem ser plugados em todos os slots (de 0 a 31). Somente dois estados de sinais (0
ou 1, ON ou OFF) podem ser transferidos por canal do módulo à CPU ou da CPU ao módulo. Cada canal do
módulo digital mostra apenas um bit. Por esta razão que devem ser numerados.

Módulos Analógicos
Os módulos analógicos deverão ser montados entre os slots de 0 a 7. Estes módulos transferem 65.536
informações diferentes por canal analógico. A memória requerida será de 16 bits = 2 bytes = 1 word ou palavra.
Os módulos são endereçados byte a byte ou word a word através das operações de carga (L) ou transferência (T).

Fundamentos de programação em STEP5

Introdução
Um programa especifica as operações que um controlador programável deverá executar para controlar
uma tarefa. Em geral utiliza-se uma linguagem específica para se criar o programa. Para a família Simatic S5 foi
criada a linguagem chamada STEP-5.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

Métodos de representação
STL (lista de instruções): se assemelha a instruções escritas em mnemônicos. Tem o seguinte formato:

002: A I 32.0

Onde:

002: é o endereço relativo (não é necessário sua digitação)


A Operação (é o comando lógico)
I é a identificação do operando (no caso uma entrada)
32.0 é o parâmetro do operando (endereço)

CFS (Diagrama de blocos de funções): se assemelha a blocos de funções digitais. (Atualmente utilizado
no LOGO!)

LAD (Diagrama de contatos): se assemelha a contatos de reles.

importante: As formas de representação poderão ser visualizadas de acordo com a unidade de


programação (PG) utilizada.

Cada método de representação apresenta suas próprias características. Um bloco de programa criado em
STL, não necessariamente poderá ser convertido em CFS ou LAD. Os três métodos de representação não são
compatíveis. Entretanto, programas em CFS ou LAD poderão sempre ser convertidos para STL.

Estrutura de programação
Para solucionar tarefas complexas se faz necessário dividi-la em pequenas partes. Estas partes serão
chamadas de blocos de programa. Cada bloco de programa irá executar uma parte da tarefa e estas partes serão
gerenciadas por um único bloco de organização.

A linguagem STEP-5 apresenta os seguintes tipos de blocos, para a formação de um programa


estruturado:

OB (Bloco de Organização): organiza os blocos de controle, pode ser considerado o Programa Principal
(OB1). Podem ser numerados de 0 a 255 - OB0 a OB255.

PB (Bloco de Programa): são blocos utilizados para a programação das partes da tarefa a ser executada.
Podem ser numerados de 0 a 255 - PB0 a PB255.

FB (Bloco de Função): são utilizados quando uma parte da tarefa exige operações avançadas ou
suplementares. Também utilizado onde uma determinada tarefa se torne repetitiva no programa. Podem ser
numerados de 0 a 255 - FB0 a FB255.
Existem FB's que são padronizados para determinadas tarefas. (PID, posicionamento, conversão
numérica, etc..)
DB (Bloco de Dados): são àreas de memória, onde podem ser armazenados dados. Dados estes que
poderão ser utilizados pelos FB's, temporizadores, contadores, comparadores, etc.
______Téc. Robson N. Vilela__________________________________________________________________
___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

Preparação para programação


S5 DOS
Instruções de operação STEP-5 versão 6.xx

Object Editor Test Management Documentation Change Help

Object
Este menu é utilizado para organizar as informações dos arquivos e projeto a serem executados.

Project: Sub-menu utilizado para a seleção dos parâmetros do projeto.

Settings: Sub-menu de seleção dos parâmetros de organização do projeto.


Save: Comando para salvar os dados inseridos nos campos.
Save as: Salva os parâmetros com outro nome escolhido.
Load: Carrega um arquivo PJ.INI armazenado na memória do próprio micro ou de unidade
externa.

Blocks
Este sub-menu é utilizado para gerenciar blocos e arquivos documentos tanto da PG como do PLC.

Directory: Mostra o diretório do equipamento selecionado no sub-menu Setting.


Transfer: Transfere os blocos e arquivos para o PLC e vice-versa.
Compare: Compara blocos simples com outro bloco e arquivos com arquivos.
Delete: É utilizado para apagar blocos no PG e no PLC e arquivos de documentos no PG.
______Téc. Robson N. Vilela__________________________________________________________________
___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

DOS files
Este sub-menu permite o uso de arquivos sem que os mesmos sejam carregados para o projeto.

Directory: Lista o conteúdo do diretório selecionado.


Copy: Copia arquivo ou grupo de arquivos.
Delete: Apaga arquivo ou grupos de arquivos.

PCPM files
Este sub-menu é utilizado para manuseio de arquivos em PCPM. Apresenta as mesmas operações do
menu DOS files.

EDITOR
Este menu é utilizado para a criação ou leitura de programas.

STEP5 block: Esta função ativa a criação ou leitura de blocos em STL, CFS ou LAD. Os campos
para parametrização são mostrados. Nestes campos é selecionado o tipo e número do bloco de programa. Este
programa será memorizado no diretório e arquivo pré selecionado no sub-menu Setting.

Data Blocks: Esta função permite a criação ou modificação dos parametros dos DB's.
DB sreen forms: Esta função permite a parametrização dos DB's de formato de tela.

Assignment list: Esta função permite a criação ou modificação de um arquivo de símbolos,


utilizados para a leitura do programa.

TEST
Este menu é utilizado para teste, verificação e funções de start-up com a PG em modo on-line. O modo é
selecionado no sub-menu setting.

Block status: Esta função permite o teste e a correção dos blocos de programa diretamente no
PLC. A seleção do tipo de bloco é feita através dos campos de seleção.

Status variables: Esta função permite a monitoração do estado de operandos, pré selecionados
durante o processamento do programa pelo PLC.

PLC Control: Esta função permite, através da PG em modo online, colocar o PLC no modo STOP
ou START, comprimir a memória de usuário.
______Téc. Robson N. Vilela__________________________________________________________________
___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

START PLC: Esta função permite o trigger do restart a frio ou do restart a quente do PLC.

STOP PLC: Esta função coloca o PLC em modo de operação STOP.

Compress memory: Esta função elimina blocos inválidos da memória e reorganiza a


memória ativa do PLC.

Force Variables: Esta função permite modificar e interfirir nas variáveis do processamento (I/O,
flags, etc..)

Force outputs: Esta função permite a ativação ou desativação das saídas. O PLC deverá estar no
modo de operação STOP.
Output PLC info: Esta função ativa informações sobre o status do PLC, conectado a PG.

ISTACK: Esta função ativa uma tabela onde são observados os bits de controle e o estado
dos mesmos. Com o PLC em estado de operação STOP, o ponto de interrupção é mostrado na tela, para análise
da causa da interrupção do ciclo de processamento.

BSTACK: Esta função informa o endereço inicial do bloco corrente, o endereço de retorno
relativo e absoluto onde houve a interrupção.

Output memory contents: Esta função mostra o conteúdo dos endereços absolutos do PLC.

Memory configuration: Esta função mostra a configuração da memória de usuário do PLC


e a quantidade de memória ocupada pelo programa.

System parameters: Esta função mostra parâmetros utilizados pelo PLC.

Program test ON: Permite que o bloco de programa seja processado passo a passo no PLC.

Program test OFF: Desliga o teste passo a passo do programa no PLC.

MANAGEMENT
Este menu é utilizado quando se está necessitando de utilitários para a complementação do trabalho com
o STEP5. Editando e testando programas.

Generate XRF: Cria a lista de referência cruzada do programa ativo.

EPROMs: Permite a transferência (blow) de programas em STEP5, selecionando o arquivo, para


submódulos de EPROM/EEPROM.

Rewire: Permite a troca de endereços dos operandos e os direciona para saídas diferentes.
Automatic: Os operandos são renomeados automaticamente, baseados em uma nova lista
de símbolos.

Manual: Os operandos são renomeados baseados em uma nova lista de símbolos.

Assignment list: Este sub-menu permite o processamento das listas de instruções solicitadas para
o endereçamento dos símbolos dos operandos do programa de usuário.
______Téc. Robson N. Vilela__________________________________________________________________
___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

Select drive: Permite a seleção da unidade de disco para a criação e gravação do programa de
usuário.

Bus Paths: Permite criar, armazenar e ativar conexões em redes ponto a ponto.

DOCUMENTATION
Este menu permite a criação de listagens em impressoras ou arquivos tanto do próprio PLC como dos
arquivos de programas.
Standart output: Permite a listagem básica dos componentes do programa tanto do PLC como dos
arquivos onde estão armazenados os programas de usuário.
Program structure: Esta função lista toda a estrutura do programa, indicando a sequência de
chamadas dos blocos.

STEP5 blocks: Permite a listagem dos blocos do programa em qualquer das formas de
representação do mesmo (STL, LAD e CSF).

Data blocks: Permite a listagem dos blocos de dados do programa.


DB screen forms: Lista os DB's que contém as informações do formato da tela.
Assignment list: Permite a listagem dos arquivos com os símbolos.

XRF list: Gera uma listagem de referência cruzada dos programas selecionados.
I/Q/F list: Esta função permite a listagem da lista de I/Q/F (entradas, saídas e flags)

Three-in-one: Permite a listagem da estrutura de programa, na sequência da lista de I/Q/F


e da lista de referência cruzada.

Enhanced Outputs: Este sub-menu ativa as funções para geração de documentos baseados em
comandos DOC. Se faz necessário um prévio conhecimento do software KOMDOK.
Settings: Este sub-menu permite a parametrização dos dados da impressora e do rodapé. É
necessário para a listagem correta dos arquivos de documentos e arquivos de programas.

Printers parameters: Permite a parametrização da impressora a ser utilizada no projeto. Os dados


são armazenados no arquivo pré selecionado no menu Setting.

Edit Footer: Permite a edição do rodapé das páginas a serem impressas. Este rodapé tem um
formato de etiqueta de identificação.

FURTHER
Este menu permite que outros programas do pacote STEP5 sejam utilizados.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

HELP
Menu das informações dos seguintes itens:
Key assignment list: indica as funções do teclado

Info-STEP5 version: Indica as informações sobre a versão do pacote STEP-5 utilizado.

Version of S5 packages: Indica o nome dos arquivos que fazem parte do pacote STEP-5.

Programação em STEP-5

A instrução

A instrução de comando é a menor parte autônoma do programa do usuário.

Instrução de comando: A I 32.0

onde:

A é a operação ( o que deve ser feito )


I 32.0 é o operando ( com o que deve ser feito )

Ao fim de uma sequência de instruções de comando utilizamos a instrução BE (block end), indicando o
fim do bloco de programação.

Chamada de blocos
Os blocos são chamados a partir do OB1 com a instrução JU (jump = salto)
Quando o processador encontra, durante o programa, uma instrução de chamada (JUMP) desse tipo, é
interrompido o bloco que está sendo processado e se inicia o processamento do bloco que foi chamado.
Uma vez atingida a última instrução desse bloco (BE), o procesamento do programa retorna ao bloco que
fez a chamada e prossegue na instrução seguinte.

Exemplo de uma chamada de bloco:


OB1

JU PB 100

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
A I 32.0
JC PB 150

BE

Onde:

JU é um salto incondicional (não depende de RLO=1)


JC é um salto condicional (depende de RLO=1)

Operações Básicas

AND
STL: representado pela letra A, indica uma operação em série.
CFS: representado pelo símbolo

LAD: representado pela associação série:

Exemplo da utilização da operação AND em STL:

A I 32.0
A I 32.1
= Q 32.0
BE
Na situação acima quando tivermos as entradas 32.0 E 32.1 a saída 32.0 é ligada, o sinal de “ = “ indica
que a saída não continuará ligada se uma das entradas vir a 0. Adiante estudaremos uma situação onde a saída
continuaria ligada mesmo que uma das entradas viesse a 0.

NAND

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
STL: representado pela letra AN, indica uma operação em série invertida.
CFS: representado pelo símbolo

LAD: representado pela associação série invertida:

Exemplo da utilização da operação NAND em STL:

AN I 32.0
AN I 32.1
= Q 32.0
BE
Na situação acima quando não tivermos as entradas 32.0 E 32.1 a saída 32.0 é ligada, e se qualquer das
entradas vir a um a saída 32.0 é desligada.

OR
STL: representado pela letra O, indica uma operação em paralelo.
CFS: representado pelo símbolo:

LAD: representado pela associação em paralelo.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

Exemplo da utilização da operação OR em STL:

O I 32.0
O I 32.1
= Q 32.0
BE

Na situação acima quando tivermos as entradas 32.0 OU 32.1 a saída 32.0 é ligada.

NOR
STL: representado pela letra ON, indica uma operação em paralelo invertida.
CFS: representado pelo símbolo:

LAD: representado pela associação em paralelo invertida.

Exemplo da utilização da operação OR em STL:

ON I 32.0
ON I 32.1
= Q 32.0
BE

Na situação acima, enquanto as duas entradas estiverem desligadas a saída 32.0 estará ligada. Para que a
saída 32.0 desligue deveremos ter as duas entradas ligadas.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
Exercícios:
1) Faça uma chamada de bloco, utilizando o OB1 para chamar o PB1 quando a entrada 32.5 for acionada.

2) Quando a entrada 32.5 e 32.6 forem ligadas, ligar a saída Q32.2.

3) Quando a entrada 32.3 ou a entrada 33.7 forem ligadas, ligar as saídas 32.7 e 33.5.

4) Enquanto a entradas entradas 32.6 e 32.7 estiverem desligadas, manter a saída 32.2 ligada. Quando ligar a
entrada 32.6 e 32.7, ligar a saída 32.2 e ligar a saída 33.0.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

Operação de SET / RESET


STL: representado pelas letras S (SET) , onde indica a memorização do estado "1" para flags e saídas; R
(RESET), indica que o estado memorizado pela função set esta desativado, ou seja coloca em zero o estado de
sinal das saídas e ou flags, utilizado também para zerar temporizadores e contadores.

Exemplo:
A I 32.0
S Q 32.0
A I 32.1
R Q32.0
BE
Nesta instrução quando a entrada 32.0 vai a 1 a saída 32.0 também vai a 1 mesmo que a entrada 32.0
volte a 0. Para que a saída 32.0 venha a zero é necessário que a entrada 32.1 vá a 1 resetando a saída 32.0.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
Exercícios:
1) Gerar um monopulso com a entrada 32.0, ou seja, toda vez que a entrada 32.0 for acionada, a saída 32.0 dará
um pulso (ligar e desligar) e quando a entrada 32.0 for desligada e novamente ligada, um novo pulso ocorreá na
saída 32.0.

1) Desenvolver um intertravamento com o seguinte funcionamento. Quando dermos um pulso em um botão, liga-
se um motor e quando este mesmo botão receber outro pulso o motor desligará.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
A instrução “LOAD” (carregar)
Utilizando a instrução “LOAD” podemos escrever um determinado dado no acumulador 1 ( ACCU1) para
que seja utilizado a seguir, porém se antes de utilizarmos o dado que foi carregado no acumulador1 utilizarmos a
instrução “ LOAD” para outro dado o valor antigo do acumulador 1 se perderá.

A instrução “LOAD” é representada pela letra “L”

Temporizadores
O programa poderá utilizar as funções de temporização para implementar e monitorar sequências
cronológicas. Os PLC’s da família SIMATIC S5 apresentam 5 tipos de temporizadores.

Na representação STL temos:

SP(pulse time): temporizador para pulso.

SE(extended pulse time): temporizador para prolongamento do sinal.


SD(on delay): temporizador para retardo na energização.

SS(stored on delay and reset): temporizador para retardo na ligação com retenção.

SF(off delay): temporizador para retardo no desligamento.

Base de tempo

0 = 0,01s
1 = 0,1s
2 = 1s
3 = 10s

veja abaixo:

L KT 5.2

L Instrução “LOAD” carregar


KT Constante de tempo
5 Valor do tempo: de 0 a 999
2 Base de tempo

Exemplo de utilização de um temporizador:

Quando a chave ligada a entrada 32.0 é acionada, liga-se a saída 32.0 após 5s. A saída 32.0 será desligada
quando for acionada a chave que está ligada na entrada 32.1

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
A I 32.0
L KT 5.2
SD T1
A T1
S Q 32.0
A I 32.1
R Q 32.1
BE

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

Exercícios
1) Faça uma partida automática estrela-triângulo, utilizando-se dos conhecimentos adquiridos até o momento.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
Comparadores
Estas operações de comparação, comparam o conteúdo do acumulador 1 com o conteúdo do acumulador
2. Os valores a serem comparados portanto devem ser introduzidos primeiramente nos acumuladores, por
exemplo com operações de carga ( LOAD )
Após uma operação de comparação, o acumulador permanece inalterado até uma nova instrução de carga.
Nestas comparações podemos ter comparados bytes ou palavras de entrada, saídas, flags, valores de contagem,
valores de tempo, constantes de tempo, constantes ou conteúdos de data words.

Tipos de comparações

Operação Função

!= F Comparação de igual
F 0F 0
3 E3 C
F Comparação de diferente
F0
3E
F Comparação de maior
F0
3C F Comparação de menor
F 0F 0
3 E3 D F Comparação de maior ou igual
F 0F 0
3 C3 D
F Comparação de menor ou igual

Veja um exemplo abaixo:

Vamos comparar dois bytes de entrada do PLC


Se IB 32 for maior que IB 33 ligar a saída 32.0

L IB32
L IB33
>F
= Q 32.0
BE

Contadores
Na representação em STL temos:

CU - contador crescente ( a cada pulso de um sinal o contador incrementa 1 no seu registrador)


CD - contador decrescente ( a cada pulso de um sinal o contador diminui 1 no seu registrador)

Set - ativa o contador com um valor determinado em CV


CV - valor de contagem

R - zera o contador
BI - palavra de saída no formato binário

DE - palavra de saída em formato BCD

Agora vamos ver o exemplo abaixo, utilizando um contador crescente


______Téc. Robson N. Vilela__________________________________________________________________
___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

A I 32.0
CU C 1
L KF +5
!=F
S Q 32.0
RC1
A I 32.1
R Q 32.0
BE
Neste exemplo, cada pulso da entrada 32.0 incrementa o contador C1. No acumulador carregamos o número 5
que é comparado com C1. Quando o valor do contador é igual ao valor do acumulador a saída 32.0 é ligada.
Neste exemplo, para desligarmos a saída 32.0 precisamos de um pulso na entrada 32.1.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
Exercícios:
1) Faça um intertravamento com a seguinte sequência:
Um sensor conta até 5 peças e liga a saída 32.0
Conta até 10 peças e desliga a saída 32.0 e liga a saída 32.1
Conta até 15 peças e desliga a saída 32.1 e fica pronto para um novo início de contagem.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
Blocos de Dados
Os blocos de dados (DB’s) não contém instruções STEP-5 como os outros blocos, mas áreas de memória
de 16 bits para armazenamento de dados.
Os DB’s são usados para armazenar dados necessários para o programa do usuário. Estes dados podem
consistir de:

Um padrão de bits qualquer desejado;

Números (decimal, binário, hexadecimal, etc...);

Caracteres alfanuméricos.

À estas áreas de memórias dos DB’s damos o nome de Data World (DW).

Formato dos dados

KM Representação Binária
00000000 00000000
à
11111111 11111111

KF Representação em ponto fixo com sinal


+ 32767 à - 32768

KH Representação Hexadecimal
0000 à FFFF

KY Representação em 2 bytes (direita e esquerda)


0,0 à 255,255

KT Constante do temporizador
000.0 à 999.3

KC Constante do Contador
000 à 999

KS ou S Constante de texto

Saltos para marcas

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
Você pode fazer com que um salto fique condicionado à uma determinada ação e que este salto seja para
uma posição específica do programa. O salto para marcas é uma operação avançada e só pode ser empregado em
FB’s / FX’s.
Já conhecemos os saltos JU e JC agora veremos mais dois casos:
BEU: é um salto incondicional para o fim do bloco (não depende de RLO)

BEC: é um salto condicional para o fim do bloco (depende de RLO)

A instrução de marca é simplesmente (M). Apenas nomeando cada marca.


Acompanhe o exemplo a seguir:

Name: Teste
Decl:
: A I 32.0
: JC = M001
: A I 32.1
: = Q 32.0
: BEU
M001 : A I 32.2
: = Q 32.1
: BE

Vamos descrever a instrução:

Se a entrada 32.0 liga saltamos para a marca 001, pois JC é um salto condicional, ou seja, depende de
uma ação anterior igual a 1 (RLO=1). Na marca um executamos a instrução que seria ligar a saída 32.1 se a
entrada 32.2 for ligada. Agora se a entrada 32.0 não for ligada executamos a próxima instrução. Quando a entrada
32.1 estiver ligada, liga-se a saída 32.0. A próxima instrução é o salto BEU, qualquer que seja a ação sempre
iremos ao fim do bloco.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________

Exercícios:
1) Se a entrada 33.7 estiver ligada e se a entrada 32.1 estiver ligada, liga a saída 32.0 após 5s. Agora se a entrada
33.7 estiver desligada e a chave 32.4 ligada, liga a saída 32.0 após 10s.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
FB’s Parametrizáveis

A parametrização se mostra necessária quando trechos complexos do programa devem ser repetidos com
diferentes operandos.
Os parâmetros do bloco de programa devem ser definidos quanto a sua espécie e tipo, logo após a
colocação do nome do FB.
O nome do parâmetro é de livre escolha dvendo porém conter no máximo 4 caracteres, sendo que o
primeiro deles deve ser uma letra.
Cada bloco pode ter no máximo 40 parâmetros.
As seguintes espécies de parâmetros são permitidas.

I- Parâmetro de entrada do FB
Q- Parâmetro de saída do FB
D- Dado
B- Bloco
T- Temporizador
C- Contador

Os FLAG’s podem ser considerados como I ou Q dependendo da função dentro do bloco. Se o mesmo foi
criado dentro do FB o chamaremos de Q, se foi gerado em outro bloco denominaremos de I.

São permitidos os seguintes tipos de parâmetros:

BI Para operandos binários


BY Para operandos em byte
BW Para operandos em palavra (word)
D Para operandos em palavra dupla (da CPU 135 em diante)

Abaixo temos um exemplo de um FB parametrizado:

Name : ITAP
Decl : LIGA I BI
Decl : DESL I BI
______Téc. Robson N. Vilela__________________________________________________________________
___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
Decl : MOTO Q BI
Decl : AUX Q BI

: A = LIGA
: S = MOTO
: S = AUX
: A = DESL
: RB = MOTO
: BE

OB1

: JU FB 100
NAME : ITAP
LIGA : I 32.0
DESL : I 32.1
MOTO : Q 32.0
AUX : Q 0.0
: JU FB 100
NAME : ITAP
LIGA : I 32.2
DESL : I 32.3
MOTO : Q 32.1
AUX : Q 0.1
: BE

Utilizamos o FB parametrizado FB100 para executar duas funções lógicas idênticas, porém com endereços
diferentes. Imagine dez partidas estrela-triângulo tendo sua lógica de funcionamento digitada uma a uma. Assim
apenas preenchemos os campos com os devidos endereços de entradas e saídas.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
Exercícios:
1) Utilizando FB's parametrizados monte uma partida automática estrela-triângulo.

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)
________________________________________________________Programação em STEP-5_____________
Causas de interrupção da CPU
No menu Test, temos o sub menu ISTACK, que é a causa da interrupção (PLC em STOP) do controlador.
Vários podem ser os motivos desta interrupção. Podemos ter um problema de hardware ou mesmo software, veja
abaixo o significado das siglas que correspondem as causas de interrupção.

Sigla Causa da interrupção

Stops Requisição de parada externa (chave do PLC)


NB Não usa este campo
SUF Erro de substituição (envolve FB parametrizado)
TRAF Transferências envolvendo Bloco de Dados
NNN Erro com instruções não pertinentes à CPU
STS Comando de Stop pelo programa ou pelo PG
Stueb Falha de encadeamento de blocos ou parênteses muito longos
NAU Falha de alimentação, tensão abaixo do permitido
QVZ Quando o PLC é energizado a CPU faz uma verificação do seu hardware. A cada
ciclo ela compara a 1ª verificação com a atual, se alguma placa ou fonte não
responder ela entra em stop.
ZYK Estouro do tempo de supervisão. Ocorre quando o programa é muito longo, mau
estruturado.
PEU Falha na periferia (quando usa expansão) Parecido com QVZ
BAU Problema de bateria (esta opção não é usada nas CPU’s 95 e 115)
ASPFA Tudo que envolve sub módulo EPROM ou EEPROM

______Téc. Robson N. Vilela__________________________________________________________________


___________________________________________________________________________________________

Document shared on www.docsity.com


Downloaded by: jeferson-tadeu-4 (jeferson_tadeu@hotmail.com)