Buscar

Apostila de Treinamento SENAI

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 248 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 248 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 248 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Conjunto Didático 
de 
Automação Industrial 
 
 
 
 
 
 
 
 
Apostila de Treinamento 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
1 
Apostila de Treinamento 
Sumário 
 
1. Características do S7-300 .......................... ..................................................... 3 
1.1. Visão geral ........................................................................................... 3 
1.2. Step 7 SIMATIC Manager .................................................................... 4 
1.3. Configuração de hardware ................................................................. 10 
1.4. Endereçamento .................................................................................. 12 
2. Estrutura do programa do usuário................... ............................................ 16 
2.1. Tipos de blocos .................................................................................. 16 
2.2. Hierarquia de chamada dos blocos .................................................... 19 
3. Técnicas de programação............................ ................................................. 21 
3.1. Linguagem Ladder (LAD) ................................................................... 22 
3.2. Linguagem de Blocos (FBD) .............................................................. 23 
3.3. Linguagem STL .................................................................................. 24 
4. Funções Lógicas básicas ............................ ................................................. 25 
4.1. Operações binárias básicas ............................................................... 25 
4.2. Operações digitais básicas................................................................. 32 
5. Funções Avançadas .................................. .................................................... 45 
5.1. Comparadores e Conversores............................................................ 45 
5.2. Instruções de Controle de Lógica....................................................... 61 
5.3. Instruções de Controle de Programa.................................................. 66 
5.4. Instruções matemáticas...................................................................... 70 
5.5. Instruções de movimentação e deslocamento ................................... 75 
5.6. Instruções Lógicas com Palavra......................................................... 86 
5.7. Controle PID....................................................................................... 92 
6. Processamento de valores analógicos................ ...................................... 103 
6.1. Resolução dos módulos de entrada e saída .................................... 103 
6.2. Escalonamento de valores de entrada e saída ................................ 105 
7. Download, Upload e monitoração ..................... ......................................... 110 
7.1. Download do PG/PC para o Controlador Programável .................... 110 
7.2. Upload do Controlador Programável para o PG/PC......................... 112 
7.3. Monitoração de variáveis e programas............................................. 114 
7.4. Diagnóstico....................................................................................... 119 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
2 
Apostila de Treinamento 
8. Exercícios práticos ................................ ...................................................... 122 
8.1. Experiência 1.................................................................................... 122 
8.2. Experiência 2.................................................................................... 128 
8.3. Experiência 3.................................................................................... 133 
8.4. Experiência 4.................................................................................... 139 
8.5. Experiência 5.................................................................................... 145 
8.6. Experiência 6.................................................................................... 150 
8.7. Experiência 7.................................................................................... 155 
8.8. Experiência 8.................................................................................... 162 
8.9. Experiência 9.................................................................................... 169 
8.10. Experiência 10.................................................................................. 174 
8.11. Experiência 11.................................................................................. 181 
8.12. Experiência 12.................................................................................. 188 
8.13. Experiência 13.................................................................................. 194 
8.14. Experiência 14.................................................................................. 200 
8.15. Experiência 15.................................................................................. 209 
8.16. Experiência 16.................................................................................. 218 
8.17. Experiência 17.................................................................................. 224 
9. Instalação / Desinstalação do Programa ............. ...................................... 234 
9.1. Gerenciamento de Licenças............................................................. 234 
9.2. Instalando o STEP 7......................................................................... 236 
9.3. Definindo a interface PG / PC .......................................................... 242 
9.4. Desinstalando o STEP 7 .................................................................. 245 
10. Referências Bibliográficas......................... ................................................. 246 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
3 
Apostila de Treinamento 
1. Características do S7-300 
1.1. Visão geral 
 
Um sistema SIMATIC S7-300 poderá apresentar, entre outras, a seguinte 
configuração: 
 
 
 Rack 
 
Componente Descrição 
Rack (Trilho) Suporte para montagem do sistema SIMATIC S7-300 podendo ser 
da unidade central (contém a CPU) ou da unidade de expansão 
PS Fonte de alimentação da CPU e módulos montados ao rack. 
Transforma a tensão da linha de alimentação do circuito (120/230 
Vca) em tensão de operação 24Vcc. 
CPU Unidade central de processamento que armazena e executa o 
programa de usuário, alimenta com 5V o bus do S7-300 e a 
comunicação com outro nó MPI via interface de rede MPI. 
Funções adicionais para CPU´s específicas: 
• Mestre ou escravo da rede Profibus DP; 
• Funções tecnológicas; 
• Conexão ponto-a-ponto; 
• Comunicação Ethernet via interface Profinet. 
IM É o módulo de interface responsável pela conexão de barramento 
entre os racks. 
CP Processador de comunicação. Exemplo: CP342-5 DP para conexão 
de Profibus DP. 
SM Módulos de sinais que podem ser de entrada/ saída analógica ou 
digital. 
 
Tabela 1.1 – Componentes básicos do sistema 
 
O termo "configuração" refere-se à organização de racks, módulos, I/O distribuídos, 
e submódulos de interface em uma janela da estação. Racks são representados por 
uma tabela de configuração que permite que um determinado número de módulos 
sejam inseridos assim como em um rack real. 
Na tabela de configuração, o STEP 7 atribui automaticamente um endereço para 
cada módulo. Você pode alterar os endereços dos módulos em uma estação se a 
CPU permitir endereçar livremente (ou seja, um endereço pode ser atribuído 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
4 
Apostila de Treinamento 
livremente para cada canal do módulo, independente do seu slot). 
 
1.2. Step 7 SIMATIC Manager 
 
O SIMATIC Manager é uma interface gráfica com o usuáriopara a edição 
online/offline de objetos S7 (projetos, arquivos de programa do usuário, blocos, 
estações de hardware e ferramentas). 
Com o SIMATIC Manager é possível: 
 • administrar projetos e bibliotecas; 
 • ativar as ferramentas STEP 7; 
 • acessar online o PLC; 
 • editar módulos de memória. 
Existe o ícone designado "SIMATIC Manager" na área de trabalho do Windows, e 
um item de programa "SIMATIC Manager" dentro do campo SIMATIC no menu 
Iniciar. O programa é ativado como qualquer aplicação do Windows, através de 
duplo-click no ícone ou através do menu Iniciar -> SIMATIC -> SIMATIC Manager. 
 
 
Figura 1.1 – Ícones de abertura do SIMATIC Manager 
 
Criando um projeto 
 
Selecione a opção de menu File -> New ou o símbolo na barra de ferramentas 
para abrir a caixa de diálogo "New Project“, que permite criar um novo projeto ou 
uma nova biblioteca. 
Introduza o nome do projeto no campo "Name" e confirme selecionando "OK“. 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
5 
Apostila de Treinamento 
 
Figura 1.2 – Criando um projeto a partir do menu File 
 
!Notas 
1.O campo “Storage location (path)” mostra o caminh o configurado no SIMATIC 
Manager na sequência de menus Options -> Customize. 
2.A partir do STEP 7 V3.2 existe um assistente (Wiz ard) para ajudar a criar 
um novo projeto. 
 
Inserindo um programa S7 
 
Selecione a sequência de menus Insert -> Program -> S7 Program para introduzir 
um novo programa no projeto atual. 
Ao introduzir um objeto, o sistema atribui-lhe automaticamente um nome, por ex., 
"S7 Program(1)". Posteriormente é possível alterar este nome. 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
6 
Apostila de Treinamento 
 
Figura 1.3 – Inserindo um S7 Program a partir do menu Insert 
 
!Notas 
1.Utilize o método acima descrito para criar um pro grama independente de um 
hardware. 
2.Programas relacionados a um hardware particular s ão tratados no capítulo 
sobre configuração de hardware. 
 
Um programa S7 contém os seguintes objetos: 
• Blocks, no qual são armazenados os blocos (OB’s, FC’s, FB’s e DB’s), e que 
podem ser enviados para a CPU; 
• Sources, no qual são armazenados os programas fonte que são criados 
através de editores de texto, por exemplo, para STL, S7-SCL ou S7-HiGraph; 
• Symbols, no qual são armazenados os simbólicos (nomes) para o 
endereçamento das variáveis globais do S7, tais como entradas, saídas, 
memórias, temporizadores e contadores. 
 
Salvando e arquivando um Projeto 
 
Você pode armazenar projetos individuais ou bibliotecas na forma comprimida em 
um arquivo. 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
7 
Apostila de Treinamento 
Este procedimento de armazenamento comprimido de arquivo é possível em um 
disco rígido ou num suporte de dados portátil (como um pendrive). 
 
No STEP 7, você pode usar o programa de arquivamento de sua escolha. Os 
programas de arquivamento ARJ e PKZIP 4.0 são incluídos como parte do pacote 
do STEP 7. Estes programas e suas descrições estão localizados no caminho de 
instalação na pasta ...\Step7\S7bin\. 
Será exigido as seguintes versões se utilizar um dos programas de arquivamento 
abaixo (ou uma versão mais recente): 
• PKZip Commandline (incluído com STEP 7) 
• WinZip versão 6.0 
• JAR versão 1.02 
• ARJ V2.4.1a (somente para desarquivar arquivos, incluído com STEP 7) 
• ARJ32 V3.x (somente para desarquivar arquivos) 
• LHArc versão 2.13 (somente para desarquivar arquivos). 
 
Você pode arquivar ou desarquivar projetos ou bibliotecas usando o comando de 
menu File -> Archive ou File -> Retrieve. 
 
 
Figura 1.4 – Arquivando e desarquivando projetos 
 
Para criar cópia de segurança de um projeto ou duplicar um projeto existente, você 
pode utilizar o recurso Save As. A estrutura de arquivo inteira do diretório do projeto 
abaixo é copiada sem uma verificação e salva com outro nome. 
Deve haver espaço suficiente na mídia de dados para armazenar a cópia de 
segurança. 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
8 
Apostila de Treinamento 
Salvando com reorganização leva mais tempo, mas uma mensagem é exibida se um 
objeto não pode ser copiado e salvo. As causas para estes erros geralmente são 
pacotes adicionais perdidos ou dados defeituosos de um objeto. 
 
Você pode salvar uma cópia usando o comando de menu File -> Save As. 
 
 
 
Figura 1.5 – Salvando projetos 
 
Abrindo um Projeto existente 
 
Para abrir um projeto já criado selecione a opção de menu File -> Open ou o símbolo 
na barra de ferramentas para abrir a caixa de diálogo “Open Project”, que permite 
selecionar um projeto ou biblioteca criada. 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
9 
Apostila de Treinamento 
 
Figura 1.6 – Abrindo um projeto existente 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
10 
Apostila de Treinamento 
1.3. Configuração de hardware 
 
Para inserir uma nova estação de hardware no projeto atual, selecione a seqüência 
de menus Insert -> Station -> SIMATIC 300 Station. 
O nome automaticamente dado à estação é “SIMATIC 300(1)”, e pode ser alterado 
posteriormente. 
 
 
Figura 1.7 – Inserindo uma estação S7 300 
 
 
 
Após esta etapa, selecione o objeto “Station” na janela de projeto para que o 
objeto “Hardware” fique visível. 
Para iniciar a ferramenta de configuração de hardware, escolha a seqüência de 
menus Edit -> Open Object ou um duplo-clique no objeto “Hardware” . 
 
Uma janela de estação e do catálogo de módulo (se ele ainda estava aberto quando 
foi fechada a aplicação) aparece na tela. Você pode posicionar racks e 
outros componentes, de acordo com a estrutura da estação selecionando os 
componentes necessários a partir do catálogo de hardware (Hardware Catalog). 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
11 
Apostila de Treinamento 
 
 
Figura 1.8 – Catálogo de Hardware no HW Config 
 
Independente de qual estrutura a estação tem - você pode configurar usando 
sempre os seguintes passos: 
 
1. Selecione um componente de hardware na janela do catálogo de hardware. 
2. Copie o componente selecionado para a janela de estação usando arraste & solte. 
A figura abaixo mostra a operação básica: 
 
 
Figura 1.9 – Configurando um rack S7 300 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
12 
Apostila de Treinamento 
Você pode copiar a sua configuração de outros projetos do STEP 7, modificá-la 
conforme necessário, e transferi-la para uma ou mais instalações existentes. 
Quando o controlador programável é iniciado, a CPU compara a configuração 
predefinida criada no STEP 7 com a configuração atual da planta. Os eventuais 
erros são, portanto, reconhecidos imediatamente e comunicados. 
 
1.4. Endereçamento 
 
No endereçamento de um slot específico (endereçamento padrão se a configuração 
de dados não foi carregada na CPU ainda), cada número de slot é associado a um 
endereço inicial do módulo. Este endereço digital ou analógico é baseado no tipo de 
módulo. 
A figura abaixo nos mostra os slots do S7300 e os endereços iniciais 
correspondentes aos módulos: 
 
 
! NOTA 
Na família de CPUs 31xC você não pode inserir nenhu m módulo no slot 11 do 
rack 3. Esta área de endereço é reservada I/O integ rado. 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
13 
Apostila de Treinamento 
 
 
Figura 1.10 – Endereçamento dos módulos 
 
 
Endereço é a referência de localização dos sinais de entrada e saída utilizada na 
execução do programa do STEP7 na CPU. Na programação do STEP7 cada 
endereço deve ser associado a um mnemônico. A tabela abaixo mostra a relação 
entre os mnemônicos, tipos de dados e área de endereçamento. 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
14 
Apostila de Treinamento 
IEC Descrição Tipo de Dado Área de endereço 
I Input bit (bitde entrada) BOOL 0.0 a 65535.7 
IB Input byte (byte de entrada) BYTE, CHAR 0 a 65535 
IW Input word (palavra de entrada) WORD, INT, S5TIME, DATE 0 a 65534 
ID Input double word (dupla palavra de entrada) DWORD, DINT, REAL, TOD, TIME 0 a 65532 
Q Output bit (bit de saída) BOOL 0.0 a 65535.7 
QB Output byte (byte de saída) BYTE, CHAR 0 a 65535 
QW Output word (palavra de saída) WORD, INT, S5TIME, DATE 0 a 65534 
QD Output double word (dupla palavra de saída) DWORD, DINT, REAL, TOD, TIME 0 a 65532 
M Memory bit (bit de memória) BOOL 0.0 a 65535.7 
MB Memory byte (byte de memória) BYTE, CHAR 0 a 65535 
MW Memory word (palavra de memória) WORD, INT, S5TIME, DATE 0 a 65534 
MD Memory double word (dupla palavra de memória) DWORD, DINT, REAL, TOD, TIME 0 a 65532 
PIB Peripheral input byte (byte de entrada de periferia) BYTE, CHAR 0 a 65535 
PQB Peripheral output byte (byte de saída de periferia) BYTE, CHAR 0 a 65535 
PIW Peripheral input word (palavra de entrada de 
periferia) 
WORD, INT, S5TIME, DATE 0 a 65534 
PQW Peripheral output word (palavra de saída de periferia) WORD, INT, S5TIME, DATE 0 a 65534 
PID Peripheral input double word (dupla palavra de entrada de periferia) DWORD, DINT, REAL, TOD, TIME 0 a 65532 
PQD Peripheral output double word (dupla palavra de 
saída de periferia) 
DWORD, DINT, REAL, TOD, TIME 0 a 65532 
T Timer (temporizador) TIMER 0 a 65535 
C Counter (contador) COUNTER 0 a 65535 
FB Function block (bloco de funções) FB 0 a 65535 
OB Organization block (bloco de organização) OB 1 a 65535 
DB Data block (bloco de dados) DB, FB, SFB, UDT 1 a 65535 
FC Function (funções) FC 0 a 65535 
SFB System function block (bloco de funções de sistema) SFB 0 a 65535 
SFC System function (funções de sistema) SFC 0 a 65535 
VAT Variable table (tabela de variáveis) 0 a 65535 
UDT User-defined data type (tipo de dado definido pelo usuário) UDT 0 a 65535 
 
Tabela 1.2 – Área de endereçamento e dados 
 
 
Endereçamento dos módulos digitais 
 
O endereçamento dos módulos digitais (de entrada ou saída) consiste em byte de 
endereço e bit de endereço. 
Exemplo: I 1.2 
Onde: 
• I = entrada 
• 1= byte de endereço (baseado no endereço onde o módulo inicia) 
• 2= bit de endereço (é o número impresso no módulo) 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
15 
Apostila de Treinamento 
Quando o primeiro módulo digital esta alocado no slot 4, é padrão ele iniciar com o 
byte de endereço 0. O endereço inicial para cada módulo subseqüente é acrescido 
de 4. 
 
Endereçamento dos módulos analógicos 
 
Os endereçamentos dos canais de entrada e saída analógica são sempre 
associados à palavra de endereço (word address). Quando o primeiro módulo esta 
alocado no slot 4, é padrão ele iniciar com o endereço 256. Para cada módulo 
subseqüente será acrescido de 16 no endereço. 
 
Endereçamento de entradas e saídas integradas da CP U 312C 
 
Entradas / saídas Endereço padrão Observação 
10 entradas digitais 124.0 à 125.1 
Sendo que 8 entradas são funções 
tecnológicas: 124.0 à 124.7 
6 saídas digitais 124.0 à 124.5 
Sendo que 2 saídas são funções 
tecnológicas: 124.0 à 124.1 
Todas as entradas podem ser 
associadas a função de interrupção. 
 
Funções tecnológicas opcionais: 
• Contador 
• Medição de freqüência 
• Modulação de largura de pulso 
 
Tabela 1.3 – Entradas e saídas integradas à CPU 312C 
 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
16 
Apostila de Treinamento 
2. Estrutura do programa do usuário 
2.1. Tipos de blocos 
 
O software de programação STEP 7 permite estruturar seu programa do usuário, em 
outras palavras para quebrar o programa em seções individuais. Isto tem as 
seguintes vantagens: 
• Diversos programas são mais fáceis de entender. 
• Programas individuais podem ser padronizados. 
• A organização do programa é simplificada. 
• É mais fácil fazer modificações no programa. 
• A depuração é simplificada, pois você pode testar seções separadas. 
• O comissionamento do sistema é muito mais fácil. 
 
Existem vários tipos de blocos que você pode usar dentro de um programa do 
usuário S7: 
 
Organization blocks (OB) 
 
Os blocos de organização (OB’s) representam a interface entre o sistema 
operacional e o programa do usuário. Chamado pelo sistema operacional, eles 
controlam o programa de forma cíclica e por interrupção, o comportamento de 
inicialização do CLP e manipulação de erro. 
Você pode programar os blocos de organização para determinar o comportamento 
da CPU. 
 
System function blocks (SFB) and system functions ( SFC) 
 
Um bloco de função do sistema (SFB) é uma função de bloco integrado na CPU. 
SFB’s fazem parte do sistema operacional e não são carregados como parte do 
programa. Assim como os FB’s, SFB’s são blocos com memória. Você também pode 
criar blocos de dados instanciados para SFB’s e transferi-los para a CPU como parte 
do programa. 
Uma função de sistema (SFC) é uma função pré-programada que é integrada na 
CPU S7. Você pode chamar o SFC em seu programa. SFC’s fazem parte do sistema 
operacional e não são carregados como parte do programa. Assim como FC’s, 
SFC’s são blocos sem memória. 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
17 
Apostila de Treinamento 
Function blocks (FB) 
 
Os blocos de função (FB’s) fazem parte dos blocos que são programáveis e são 
blocos com memória. Para os blocos instanciados é atribuído um bloco de dado 
(DB) em sua memória. Os parâmetros que são transferidos para o FB e as variáveis 
estáticas são salvos no DB instanciado. Variáveis temporárias são guardadas como 
dados locais. 
Um FB contém um programa que é sempre executado quando o FB é chamado por 
um bloco de lógica diferente. Dessa maneira, as funções se tornam muito mais 
fáceis para serem reutilizadas no programa, e para realizarem tarefas complexas 
como cálculos. 
 
Functions (FC) 
 
Uma função (FC) faz parte dos blocos que são programáveis e são blocos sem 
memória. As variáveis temporárias pertencentes ao FC são salvas como dados 
locais e são perdidas quando o FC é executado. Para guardar dados de forma 
permanente, as funções devem usar blocos de dados (DB) compartilhados. 
Um FC contém um programa que é sempre executado quando o FC é chamado por 
um bloco de lógica diferente. Você pode usar um FC, entre outras, para retornar um 
valor de função para o bloco de chamada (por exemplo: funções matemáticas) ou 
para executar uma função tecnológica (exemplo: função de controle único com uma 
operação lógica de bits). 
 
Data Block (DB) 
 
Em contraste com blocos lógicos, os blocos de dados não contém instruções no 
STEP 7. Eles são usados para armazenar dados do usuário que podem ser 
acessados por todos os outros blocos. 
O tamanho pode variar de DB’s. Consulte a descrição de sua CPU para verificar o 
tamanho máximo possível. 
Você pode estruturar um bloco de dados de forma a se adequar a sua necessidade. 
 
Inserindo Blocos 
 
Você programa os blocos FC ou FB em LAD/STL/FBD escolhendo a linguagem mais 
apropriada na janela de propriedades. 
Para criar um novo bloco selecione a opção de menu Insert -> S7 Block ou com o 
botão direito do mouse na pasta Blocks selecione Insert New Object. 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
18 
Apostila de Treinamento 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 2.1 – Inserindo blocos no S7 Program 
 
 
Na caixa de diálogo da janela Propriedades do bloco, insira um nome e selecione a 
linguagem de programação. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 2.2 – Propriedades de um bloco 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
19 
Apostila de Treinamento 
2.2. Hierarquia de chamada dos blocos 
 
A ordem e a seqüência das chamadas de bloco são conhecidas como a “hierarquia 
de chamadas”. O número de blocos que podem ser chamados na seqüência 
depende do modelo da CPU. 
A figura a seguirilustra a forma e a seqüência de chamada dos blocos dentro de um 
ciclo de scan. 
 
 
 
Figura 2.3 – Hierarquia de chamada dos blocos 
 
A figura abaixo mostra a seqüência de chamada de um bloco dentro do programa de 
usuário. O programa chama o segundo bloco após a execução completa das 
instruções. Uma vez que o segundo ou o bloco chamado tenha sido executado, a 
execução do bloco é interrompida até que a instrução de chamada do próximo bloco 
seja processada. 
 
 
 
Figura 2.4 – Chamada entre blocos 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
20 
Apostila de Treinamento 
 
Programação Linear x Programação estruturada 
 
Você pode escrever todo o seu programa de usuário no OB1 (programação linear). 
Isto é apenas aconselhável para programas simples escritos para CPU S7-300 e 
que requerem pouca memória. 
A automatização de tarefas mais complexas pode ser controlada mais facilmente 
dividindo-a em tarefas menores refletindo as funções tecnológicas do processo ou 
que podem ser utilizada mais de uma vez. Essas tarefas são representadas por 
programa correspondentes em seções, conhecidos como blocos (programação 
estruturada). 
 
 
Figura 2.5 – Programação Linear versus Programação Estruturada 
 
 
 
 
 
Programação Linear Programação Estruturada 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
21 
Apostila de Treinamento 
3. Técnicas de programação 
 
Antes de você gerar um determinado bloco ou um “source file” (arquivo fonte), 
selecionar a linguagem de programação, através do editor de propriedades do 
objeto. Esta seleção determina qual editor é iniciado quando o bloco ou arquivo fonte 
é aberto. 
Inicie o editor da linguagem adequada, quer em SIMATIC Manager com um duplo 
clique sobre o objeto correspondente (bloco, arquivo fonte, etc), selecionando o 
menu Edit -> Open Object ou clique no botão correspondente da barra de 
ferramentas. 
Para criar um programa S7, as linguagens de programação listadas na tabela estão 
disponíveis para você. As linguagens de programação LAD, FBD e STL são 
fornecidas com o pacote padrão do software STEP 7. Você pode comprar outras 
linguagens de programação como pacotes de software opcional. 
Você tem a escolha de diferentes filosofias de programação (Ladder Logic, Function 
Block Diagram, Statement List, Standard Language, Sequential Control, ou Status 
Graph) e se pretende utilizar baseada em texto ou linguagem gráfica. 
 
Linguagem de 
Programação 
Grupo de Usuários Aplicação 
Statement List – STL Usuários que preferem programar 
em uma linguagem similar a código 
de máquina 
Programas mais otimizados, são 
mais rápidos e necessitam de 
menor espaço de memória 
Ladder Logic – LAD Usuários acostumados a trabalhar 
com diagramas de circuitos 
Programação de controles 
lógicos 
Function Block Diagram - 
FBD 
Usuários familiarizados com portas 
lógicas e algebra booleana 
Programação de controles 
lógicos 
Structured Control Language 
– SCL 
(Pacote opcional) 
Usuários que programam com 
linguagens de alto nível como 
PASCAL ou C 
Programação de processamento 
de dados 
S7-GRAPH 
 
 
(Pacote opcional) 
Usuários que sem muita 
experiência em programar PLC, 
mas com experiência em trabalhar 
com funções orientadas à objeto 
Conveniente para descrição de 
processos sequênciais 
HiGraph 
 
 
(Pacote opcional) 
Usuários que sem muita 
experiência em programar PLC, 
mas com experiência em trabalhar 
com funções orientadas à objeto 
Conveniente para descrição de 
processos assíncronos e não-
sequenciais 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
22 
Apostila de Treinamento 
CFC 
 
 
(Pacote opcional) 
Usuários que sem muita 
experiência em programar PLC, 
mas com experiência em trabalhar 
com funções orientadas à objeto 
Descrição de processos 
contínuos 
 
Tabela 3.1 – Linguagens de Programação 
 
Se os blocos não contêm erros, você pode alternar entre Lógica Ladder, Diagrama 
de Blocos, ou STL. Partes de programas que não podem ser exibidas na 
linguagem-alvo são mostradas na linguagem STL. 
Na linguagem STL, você pode gerar blocos de arquivos fonte e vice-versa. 
 
3.1. Linguagem Ladder (LAD) 
 
A representação gráfica da linguagem Ladder é baseada em diagramas de circuitos 
elétricos. Os elementos de um diagrama de circuito, por exemplo, contatos abertos, 
contatos fechados e bobinas, são combinados para formar redes (Network). 
Os elementos mais utilizados aparecem na Figura 3.1. 
 
 
 
Figura 3.1 – Elementos da linguagem Ladder 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
23 
Apostila de Treinamento 
 
Exemplo de uma Network em LAD: 
 
Figura 3.2 – Network de exemplo em LAD 
 
3.2. Linguagem de Blocos (FBD) 
 
O Diagrama de Blocos de Funções é baseado em símbolos lógicos conhecidos na 
álgebra booleana. São utilizadas caixas para representação de funções simples e 
complexas combinadas de outras funções lógicas. 
Os elementos mais utilizados aparecem na Figura 3.3. 
 
 
 
Figura 3.3 – Elementos da linguagem de Blocos 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
24 
Apostila de Treinamento 
 
Exemplo de uma Network em FBD: 
 
Figura 3.4 – Network de exemplo em FBD 
 
3.3. Linguagem STL 
 
A linguagem de programação STL é baseada em texto e possui uma estrutura 
semelhante ao código de máquina. Cada declaração representa uma operação de 
processamento da CPU. 
A figura abaixo é a representação em STL do diagrama de blocos da Figura ?. 
 
 
 
Figura 3.5 – Network de exemplo em STL 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
25 
Apostila de Treinamento 
4. Funções Lógicas básicas 
4.1. Operações binárias básicas 
 
As instruções lógicas com bit trabalham com dois dígitos, 1 e 0. Estes dois dígitos 
formam a base do sistema numérico chamado sistema binário. 
As instruções lógicas binárias interpretam o estado do sinal 1 e 0 e combinam então 
de acordo com a lógica booleana. Esta combinação produz o resultado 1 ou 0 que é 
chamado de “Result of Logic Operation” (RLO). 
 
Operação Lógica AND (E) 
 Simbologia Expressão Tabela Verdade 
 
 
 
 S = A * B 
 
 
Com a instrução AND é possível verificar o estado de sinal de dois ou mais 
endereços de entrada da porta. 
Se o estado do sinal de todas as entradas é 1, a condição esta satisfeita e o 
resultado 1 é obtido na saída. Se o estado do sinal de uma entrada é 0, então a 
condição não esta satisfeita e o resultado obtido na saída é 0. 
 
Exemplo: 
 
Circuito Elétrico LAD FBD 
 
 
 
 
 
 
 
 
A B S 
0 0 0 
0 1 0 
1 0 0 
1 1 1 
 
 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
26 
Apostila de Treinamento 
Operação Lógica OR (OU) 
 Simbologia Expressão Tabela Verdade 
 
 
 
 S = A + B 
 
 
 
Com a instrução OR é possível verificar o estado de sinal de dois ou mais endereços 
de entrada da porta. 
Se o estado do sinal de uma entrada é 1, a condição esta satisfeita e o resultado 1 é 
obtido na saída. Se o estado do sinal de todas as entradas é 0, então a condição 
não esta satisfeita e o resultado obtido na saída é 0. 
 
Exemplo: 
 
Circuito Elétrico LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A B S 
0 0 0 
0 1 1 
1 0 1 
1 1 1CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
27 
Apostila de Treinamento 
Operação Lógica XOR (OU Exclusivo) 
 Simbologia Expressão Tabela Verdade 
 
 
 
 S = A + B 
 
 
 
Com a instrução XOR é possível verificar na saída os resultados de acordo com a 
tabela verdade da porta. 
Se o estado do sinal de uma entrada é 1 e da outra é 0, a condição esta satisfeita e 
o resultado 1 é obtido na saída. Ou seja, a saída terá nível lógico 1 quando o 
número de entradas ativadas for ímpar. 
 
Exemplo: 
 
Circuito Elétrico LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A B S 
0 0 0 
0 1 1 
1 0 1 
1 1 0 
 
 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
28 
Apostila de Treinamento 
Operação Lógica NOT (NÃO) 
 Simbologia Expressão Tabela Verdade 
 
 
 
 S = A 
 
 
Com a instrução NOT o estado do sinal de saída é invertido, ou seja, se a entrada 
estiver em 1 a saída resulta em 0 e se a entrada estiver em 0 o resultado obtido na 
saída é 1. 
 
Exemplo: 
 
 LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A S 
0 1 
1 0 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
29 
Apostila de Treinamento 
Instrução Set e Reset 
Simbologia 
 Set Reset 
 
 
 A instrução Set Output é somente executada se o RLO que precede a instrução é 
“1”. Se o RLO esta em nível lógico “1” o endereço determinado no elemento é 
setado. 
Quando o RLO = 0, nenhuma mudança ocorrerá e o estado do endereço 
especificado no elemento permanecerá inalterado. 
 
A instrução Reset Output também só será executada se o RLO que precede a 
instrução for “1”. Quando o RLO estiver em nível lógico “1” o endereço determinado 
no elemento será resetado. Para o RLO = 0, nenhuma mudança ocorrerá e o estado 
do endereço especificado no elemento permanecerá inalterado. 
O endereço também pode ser um temporizador (T) cujo valor do temporizador é 
resetado para "0" ou um contador (C) cujo valor do contador é resetado para "0". 
 
Exemplo: 
 LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
30 
Apostila de Treinamento 
Instrução com Flip Flop Set / Reset 
 
Reset Dominante Set Dominante 
 
 
 
 
 
O Flip Flop Set_Reset executa as instruções como Set (S) ou R (Reset) apenas 
quando o RLO na entrada é 1. 
Para a instrução Set, se o sinal de entrada é igual a 1, o endereço especificado no 
elemento é setado (vai a nível lógico “1”) e permanece até que seja feito um reset. 
Na instrução Reset, quando o sinal de entrada é igual a 1, o endereço especificado 
no elemento é resetado (vai a nível lógico “0”) e permanece até que seja feito um 
set. 
Se ambas as entradas possuirem simultaneamente nível lógico “1”, o estado da 
saída obedecerá a prioridade de quem for dominante. 
 
Exemplo: 
 LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
S R Q 
0 0 0 
0 1 0 
1 0 1 
1 1 0 
S R Q 
0 0 0 
0 1 0 
1 0 1 
1 1 1 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
31 
Apostila de Treinamento 
Instrução Detecção de borda de subida e descida 
Simbologia 
Borda de subida Borda de descida 
 
 
A instrução “Positive RLO Edge Detection ” detecta uma mudança de 0 a 1 (borda 
de subida) no endereço especificado e indica isto com RLO de nível lógico “1” após 
a instrução. O estado atual do sinal no RLO é comparado como estado do sinal do 
endereço (o bit de memória). Se o estado do sinal do endereço é “0” e o RLO é de 
nível lógico “1” antes da instrução, resulta em um pulso de nível lógico “1” após a 
instrução. O RLO antes da instrução é armazenado no endereço. 
A instrução “Negative RLO Edge Detection ” detecta uma mudança de 1 a 0 (borda 
de descida) no endereço especificado e indica isto com RLO de nível lógico “1” após 
a instrução. O estado atual do sinal no RLO é comparado como estado do sinal do 
endereço (o bit de memória). Se o estado do sinal do endereço é “1” e o RLO é de 
nível lógico “0” antes da instrução, resulta em um pulso de nível lógico “1” após a 
instrução. O RLO antes da instrução é armazenado no endereço. 
 
Diagrama de tempo: 
 
 
 
 
 
 
 
 
Exemplo: 
 LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
32 
Apostila de Treinamento 
4.2. Operações digitais básicas 
 
Temporizadores 
 
Os temporizadores possuem uma área reservada para eles na memória da CPU. 
Esta área de memória reserva uma palavra de 16-bits para cada endereço de 
temporizador. Quando você programa em LAD ou FBD, 256 temporizadores são 
suportados. Por favor, para sua CPU, consulte as informações técnicas para verificar 
o número de temporizadores disponíveis. 
 
Os bits de 0 a 9 da palavra do temporizador contêm o valor de tempo em código 
binário. O valor de tempo especifica um número de unidades. Quando o 
temporizador é atualizado, o valor de tempo é decrementado de uma unidade em 
intervalos determinados pela base de tempo. O valor de tempo é decrementado até 
que seja igual a zero. 
Você pode pré-carregar um valor de tempo usando uma das seguintes formas: 
• S5T#aH_bM_cS_dMS 
- Onde H = horas, M = minutos, S = segundos, e MS = milisegundos; 
a, b, c, d são definidos pelo usuário. 
- A base de tempo é selecionada automaticamente, e o valor é arredondado para 
o menor número seguinte, com essa base de tempo. 
O máximo valor de tempo que pode ser inserido é 9990 segundos, ou 2 horas 46 
minutos e 30 segundos. 
 
Exemplos: 
S5TIME#4S = 4 segundos 
s5t#2h_15m = 2 horas e 15 minutos 
S5T#1H_12M_18S = 1 hora 12 minutos e 18 segundos 
 
Os bits 12 e 13 da palavra do temporizador contêm a base de tempo do código 
binário. A base de tempo define o intervalo em que o valor do tempo deve ser 
decrementado de uma unidade. A menor base de tempo é 10ms e a maior é 10s. 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
33 
Apostila de Treinamento 
 
 
Base de tempo Código Binário para base de tempo 
10 ms 00 
100 ms 01 
1 s 10 
10 s 11 
 
 
 
Quandoum temporizador é iniciado, os conteúdos da célula do temporizador são 
usados como o valor de tempo. 
A seguir a figura mostra o conteúdo da célula do temporizador carregado com o 
valor 127, com uma base de tempo de 1 segundo. 
 
 
 
Figura 4.1 – Base de tempo dos temporizadores 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
34 
Apostila de Treinamento 
S_PULSE: Pulse (Temporizador de Pulso) 
 
Simbologia 
 
 
 
 
A instrução S_PULSE inicia o temporizador especificado se houver uma borda de 
subida (uma mudança no estado do sinal de “0” a “1”) na entrada (S). A mudança de 
sinal é sempre necessária para iniciar um temporizador. 
O temporizador é executado para o intervalo de tempo pré-determinado no valor de 
entrada (TV) até que seja decorrido o tempo programado. Enquanto o temporizador 
estiver funcionando, o estado de sinal da saída (Q) é “1”. Se houver uma alteração 
de “1” a “0” na entrada de S antes do tempo decorrido, o cronômetro é parado e a 
saída (Q) vai a “0”. 
Se ocorrer uma mudança de estado de “0” para “1” no Reset (R) do temporizador, a 
instrução é resetada e a base de tempo vai para zero. Um estado de sinal “1” na 
entrada R do temporizador não tem nenhum efeito se ele não está funcionando. 
O valor do tempo atual pode ser lido nas saídas de BI e BCD. O valor de tempo em 
BI está no formato binário; em BCD é em formato de código binário decimal. 
 
Diagrama de tempo: 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
35 
Apostila de Treinamento 
Exemplo: 
 LAD FBD 
 
 
 
 
 
 
 
 
S_PEXT: Extended Pulse (Temporizador de Pulso extendido) 
 
Simbologia 
 
 
 
 
A instrução S_PEXT inicia o temporizador especificado, se houver uma borda de 
subida (alteração no estado de sinal de “0” a “1”) na entrada (S). A mudança de sinal 
é sempre necessária para iniciar um temporizador. 
O temporizador continua a ser executado durante o período especificado no valor de 
entrada de tempo (TV), mesmo se o estado do sinal da entrada (S) muda para “0” 
antes do tempo decorrido. Enquanto o temporizador estiver funcionando, o estado 
de sinal da saída (Q) é “1”. Se ocorrer uma nova mudança de estado de “0” para “1” 
na entrada (S) do temporizador, a instrução é reiniciada com o valor de tempo pré-
determinado. 
Se ocorrer uma mudança de estado de “0” para “1” no Reset (R) do temporizador, a 
instrução é resetada e a base de tempo vai para zero. Um estado de sinal “1” na 
entrada R do temporizador não tem nenhum efeito se ele não está funcionando. 
O valor do tempo atual pode ser lido nas saídas de BI e BCD. O valor de tempo em 
BI está no formato binário; em BCD é em formato de código binário decimal. 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
36 
Apostila de Treinamento 
 
Diagrama de tempo: 
 
 
Exemplo: 
 LAD FBD 
 
 
 
 
 
 
 
 
S_ODT: On-Delay (Temporizador de atraso na energização) 
 
Simbologia 
 
 
 
 
A instrução S_ODT inicia o temporizador especificado, se houver uma borda de 
subida (alteração no estado de sinal de “0” a “1”) na entrada (S). A mudança de sinal 
é sempre necessária para iniciar um temporizador. 
O temporizador é executado para o intervalo de tempo pré-determinado no valor de 
entrada (TV), desde que a entrada (S) permaneça em “1”. O estado do sinal na 
saída (Q) é “1” quando o tempo já tiver decorrido sem erros e a entrada (S) ainda for 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
37 
Apostila de Treinamento 
“1”. Se houver uma alteração de “1” a “0” na entrada de S antes do tempo decorrido, 
o cronômetro é parado e a saída (Q) vai a “0”. 
Se ocorrer uma mudança de estado de “0” para “1” no Reset (R) do temporizador, a 
instrução é resetada e a base de tempo vai para zero. O temporizador também é 
resetado se o estado de sinal é “1” na entrada R enquanto o temporizador não esta 
funcionando e a entrada (S) é “1”. 
O valor do tempo atual pode ser lido nas saídas de BI e BCD. O valor de tempo em 
BI está no formato binário; em BCD é em formato de código binário decimal. 
 
Diagrama de tempo: 
 
 
 
Exemplo: 
 
 LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
38 
Apostila de Treinamento 
S_ODTS: Retentive On-Delay (Temporizador retentivo de 
atraso na energização) 
 
Simbologia 
 
 
 
 
A instrução S_ODTS inicia o temporizador especificado, se houver uma borda de 
subida (alteração no estado de sinal de “0” a “1”) na entrada (S). A mudança de sinal 
é sempre necessária para iniciar um temporizador. 
O temporizador é executado para o intervalo de tempo pré-determinado no valor de 
entrada (TV), mesmo se o estado do sinal da entrada (S) muda para “0” antes do 
tempo decorrido. O estado do sinal na saída (Q) é “1” quando o tempo já tiver 
decorrido sem levar em conta o estado da entrada (S). Se ocorrer uma nova 
mudança de estado de “0” para “1” na entrada (S) do temporizador, a instrução é 
reiniciada com o valor de tempo pré-determinado. 
Se ocorrer uma mudança de estado de “0” para “1” no Reset (R) do temporizador, a 
instrução é resetada e a base de tempo vai para zero independente do estado de 
sinal de S. O sinal da saída (Q) vai a “0’. 
O valor do tempo atual pode ser lido nas saídas de BI e BCD. O valor de tempo em 
BI está no formato binário; em BCD é em formato de código binário decimal. 
 
Diagrama de tempo: 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
39 
Apostila de Treinamento 
Exemplo: 
 
 LAD FBD 
 
 
 
 
 
 
 
S_OFFDT: Off-Delay (Temporizador de atraso na 
desenergização) 
 
Simbologia 
 
 
 
 
A instrução S_OFFDT inicia o temporizador especificado, se houver uma borda de 
descida (alteração no estado de sinal de “1” a “0”) na entrada (S). A mudança de 
sinal é sempre necessária para iniciar um temporizador. 
A saída (Q) vai para “1” enquanto a entrada (S) for “1” ou o temporizador estiver 
funcionando. O temporizador é resetado quando o estado do sinal em S vai de “0” 
para “1” enquanto o temporizador estiver funcionando e só reinicia a contagem 
novamente quando a entrada S for de ‘1” para “0”. 
Se ocorrer uma mudança de estado de “0” para “1” no Reset (R) do temporizador 
enquanto estiver funcionando, a instrução é resetada e a base de tempo vai para 
zero. 
O valor do tempo atual pode ser lido nas saídas de BI e BCD. O valor de tempo em 
BI está no formato binário; em BCD é em formato de código binário decimal. 
 
 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
40 
Apostilade Treinamento 
Diagrama de tempo: 
 
 
Exemplo: 
 
 LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
41 
Apostila de Treinamento 
Contadores 
 
Os contadores possuem uma área reservada para eles na memória da CPU. Esta 
área de memória reserva uma palavra de 16-bits para cada endereço de contador. 
Quando você programa em LAD ou FBD, 256 contadores são suportados. Por favor, 
para sua CPU, consulte as informações técnicas para verificar o número de 
temporizadores disponíveis. 
 
Os bits de 0 a 9 da palavra do temporizador contêm o valor de tempo em código 
binário. O valor de contagem é movido para a palavra do contador quando ele é 
energizado. O intervalo do valor de contagem é de 0 a 999. 
Você pode pré-carregar um valor de contagem, digitando um número de 0 a 999, por 
exemplo, 127, no seguinte formato: C# 127. O C# é o formato de código binário 
decimal. 
Os bits de 0 a 11 do contador contêm o valor de contagem em formato de código 
binário decimal. 
 
A seguir a figura mostra o conteúdo da célula do contador carregado com o valor 
127. 
 
 
 
Figura 4.2 – Exemplo para contador carregado com o valor 127 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
42 
Apostila de Treinamento 
S_CUD: Up-Down (Contador crescente e decrescente) 
 
Simbologia 
 
 
 
 
A instrução S_CUD inicia a contagem com o valor pré-definido na entrada PV, se 
houver uma borda de subida na entrada S. Se houver um estado de sinal “1” na 
entrada R, o contador é zerado e a contagem é definida como zero. O contador é 
incrementado de uma unidade se o estado do sinal de entrada CU muda de “0” para 
“1” e o valor do contador é inferior a “999”. O contador é decrementado de uma 
unidade se houver uma borda de subida na entrada CD e o valor do contador é 
maior que “0”. 
Se ocorrer uma borda de subida em ambas as entradas de contagem, ambas as 
instruções são executadas e o valor de contagem permanece o mesmo. 
O estado de sinal na saída Q é “1” se a contagem é maior que zero e “0” se a 
contagem é igual a zero. 
O valor da contagem atual pode ser lido nas saídas de CV e CV_BCD. O valor de 
contagem de CV está no formato binário; e em CV_BCD esta em formato de código 
binário decimal. 
 
Exemplo: 
 
 LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
43 
Apostila de Treinamento 
S_CU: Up (Contador crescente) 
 
Simbologia 
 
 
 
 
A instrução S_CU inicia a contagem com o valor pré-definido na entrada PV, se 
houver uma borda de subida na entrada S. O contador é incrementado de uma 
unidade se o estado do sinal de entrada CU muda de “0” para “1” e o valor de 
contagem é inferior a “999”. 
Se houver um estado de sinal “1” na entrada R, o contador é zerado e a contagem é 
definida como zero. 
O estado de sinal na saída Q é “1” se a contagem é maior que zero e “0” se a 
contagem é igual a zero. 
O valor da contagem atual pode ser lido nas saídas de CV e CV_BCD. O valor de 
contagem de CV está no formato binário; e em CV_BCD esta em formato de código 
binário decimal. 
 
Exemplo: 
 
 LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
44 
Apostila de Treinamento 
S_CD: Up (Contador decrescente) 
 
Simbologia 
 
 
 
 
A instrução S_CD inicia a contagem com o valor pré-definido na entrada PV, se 
houver uma borda de subida na entrada S. O contador é decrementado de uma 
unidade se o estado do sinal de entrada CD muda de “0” para “1” e o valor de 
contagem é superior a “0”. 
Se houver um estado de sinal “1” na entrada R, o contador é zerado e a contagem é 
definida como zero. 
O estado de sinal na saída Q é “1” se a contagem é maior que zero e “0” se a 
contagem é igual a zero. 
O valor da contagem atual pode ser lido nas saídas de CV e CV_BCD. O valor de 
contagem de CV está no formato binário; e em CV_BCD esta em formato de código 
binário decimal. 
 
Exemplo: 
 
 LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
45 
Apostila de Treinamento 
5. Funções Avançadas 
5.1. Comparadores e Conversores 
 
Comparadores 
 
Na instrução Comparador as entradas IN1 e IN2 são comparadas de acordo com o 
tipo escolhida: 
 
== IN1 é igual a IN2 
<> IN1 é diferente de IN2 
> IN1 é maior que IN2 
< IN1 é menor que IN2 
>= IN1 é maior ou igual a IN2 
<= IN1 é menor ou igual a IN2 
 
Se a comparação é verdadeira, a RLO da instrução é “1”, caso contrário é “0”. Você 
não pode negar o resultado da comparação, mas você pode obter o mesmo 
resultado de negação utilizando a função de comparação oposta. 
As seguintes instruções de comparação estão disponíveis: 
• CMP ? I : Comparação de Inteiro 
• CMP ? D: Comparação de Duplo Inteiro 
• CMP ? R: Comparação de Real 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
46 
Apostila de Treinamento 
CMP ? I: Comparador de número Inteiro 
 
Simbologia 
 
 
A instrução CMP ? I compara dois valores com base em 16-bits de números de 
ponto flutuante. 
 
Exemplos: 
 
 LAD 
 
 
 
 
 
 
 
 FBD 
 
 
 
 
 
 
 
 
A saída Q4.0 é setada se as seguintes 
condições existir: 
• as entradas I0.0 e I0.1 possuir nível 
lógico“1” 
• e MW0 for maior ou igual MW2 
 
 
A saída Q4.0 é setada se as seguintes 
condições existir: 
• MW0 é igual a MW2 
• e a entrada I0.0 possuir nível lógico “1” 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
47 
Apostila de Treinamento 
CMP ? D: Comparador de número Duplo Inteiro 
 
Simbologia 
 
 
A instrução CMP ? D compara dois valores com base em 32-bits de números de 
ponto flutuante. 
 
Exemplos: 
 
 LAD 
 
 
 
 
 
 
 
 FBD 
 
 
 
 
 
 
 
 
A saída Q4.0 é setada se as seguintes 
condições existir: 
• as entradas I0.0 e I0.1 possuir nível 
lógico “1” 
• MD0 for maior ou igual MD4 
• e a entrada I0.2 possuir nível 
lógico “1” 
 
 
A saída Q4.0 é setada se as seguintes 
condições existir: 
• MD0 for diferente de MD4 
• e a entrada I0.0 possuir nível lógico “1” 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃOINDUSTRIAL 
48 
Apostila de Treinamento 
CMP ? R: Comparador de número Real 
 
Simbologia 
 
 
A instrução CMP ? R compara dois valores com base em números reais. 
 
Exemplos: 
 
 LAD 
 
 
 
 
 
 
 
 FBD 
 
 
 
 
 
 
 
 
 
 
 
 
 
A saída Q4.0 é setada se as seguintes 
condições existir: 
• as entradas I0.0 e I0.1 possuir nível 
lógico “1” 
• MD0 for maior ou igual MD4 
• e a entrada I0.2 possuir nível 
lógico “1” 
 
 
A saída Q4.0 é setada se as seguintes 
condições existir: 
• MD0 for menor que MD4 
• e a entrada I0.0 possuir nível lógico “1” 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
49 
Apostila de Treinamento 
Conversores 
 
As instruções de conversão lêem o conteúdo do parâmetro IN e o converte ou 
complementa o sinal. O resultado pode ser obtido no parâmetro OUT. 
As seguintes instruções de conversão estão disponíveis: 
• BCD_I: BCD para Inteiro 
• I_BCD: Inteiro para BCD 
• BCD_DI: BCD para Duplo Inteiro 
• I_DI: Inteiro para Duplo Inteiro 
• DI_BCD: Duplo Inteiro para BCD 
• DI_REAL: Duplo Inteiro para Ponto-flutuante 
 
• INV_I: Inverte número Inteiro 
• INV_DI: Inverte número Duplo Inteiro 
• NEG_I: Nega número Inteiro 
• NEG_DI: Nega número Duplo Inteiro 
• NEG_R: Nega número real 
 
Outras quatro instruções convertem um valor de ponto-flutuante (32 bits) para um 
valor duplo inteiro (32 bits). Cada uma das instruções possui um método diferente de 
arredondamento. 
• ROUND: Arredonda para Duplo Inteiro 
• TRUNC: Arredonda Truncando para Duplo Inteiro 
• CEIL: Arredonda pelo Teto para Duplo Inteiro 
• FLOOR: Arredonda pelo Piso para Duplo Inteiro 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
50 
Apostila de Treinamento 
BCD_I: BCD para Inteiro 
 
Simbologia 
 
 
A instrução BCD_I lê o conteúdo do parâmetro IN como um número de três dígitos 
em formato BCD (999) e converte para um valor inteiro (16-bits). O resultado é 
obtido no parâmetro OUT. 
Se algum dos números individuais decimais do número BCD está no intervalo 
inválido entre 10 e 15, um erro BCD ocorre quando a conversão tenta ser feita, 
causando a seguinte reação: 
• A CPU muda para o modo STOP. O erro “BCD Conversion Error” fica escrito 
no buffer de diagnóstico com o evento de número 2521. 
• Se o OB121 está programado, ele é chamado. 
 
Exemplos: 
 
 LAD 
 
 
 
 
 
 
 
 FBD 
 
 
 
 
 
 
 
Se a entrada I0.0 está no nível lógico “1”, 
então o conteúdo de MW10 é lido como 
número de código BCD e convertido á um 
Inteiro. O resultado é armazenado em MW12. 
A saída Q4.0 é “1” se a conversão não foi 
executada. 
 
Se a entrada I0.0 está no nível lógico “1”, 
então o conteúdo de MW10 é lido como 
número de código BCD e convertido á um 
Inteiro. O resultado é armazenado em MW12. 
Se a conversão foi executada, a saída Q4.0 
vai ao nível lógico “1”. 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
51 
Apostila de Treinamento 
I_BCD: Inteiro para BCD 
 
Simbologia 
 
 
A instrução I_BCD lê o conteúdo do parâmetro IN como um valor inteiro (16-bits) e 
converte à um número de três dígitos em formato BCD (999). O resultado é obtido 
no parâmetro OUT. 
Se um “overflow” ocorrer, o parâmetro ENO é levado ao nível lógico “0”. 
 
Exemplos: 
 
 LAD 
 
 
 
 
 
 
 
 FBD 
 
 
 
 
 
 
 
 
Se a entrada I0.0 está no nível lógico “1”, 
então o conteúdo de MW10 é lido como 
número Inteiro e convertido á um número de 
código BCD. O resultado é armazenado em 
MW12. A saída Q4.0 é “1” se a conversão não 
foi executada (por exemplo, overflow na 
conversão). 
 
Se a entrada I0.0 está no nível lógico “1”, 
então o conteúdo de MW10 é lido como 
número Inteiro e convertido á um número de 
código BCD. O resultado é armazenado em 
MW12. Se a conversão foi executada, a saída 
Q4.0 vai ao nível lógico “1”. 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
52 
Apostila de Treinamento 
BCD_DI: BCD para Duplo Inteiro 
 
Simbologia 
 
 
A instrução BCD_DI lê o conteúdo do parâmetro IN como um número de sete dígitos 
em formato BCD (9 999 999) e converte para um valor duplo inteiro (32-bits). O 
resultado é obtido no parâmetro OUT. 
O parâmetro ENO sempre terá o mesmo estado de sinal do parâmetro EN. 
Se algum dos números individuais decimais do número BCD está no intervalo 
inválido entre 10 e 15, um erro BCD ocorre quando a conversão tenta ser feita, 
causando a seguinte reação: 
• A CPU muda para o modo STOP. O erro “BCD Conversion Error” fica escrito 
no buffer de diagnóstico com o evento de número 2521. 
• Se o OB121 está programado, ele é chamado. 
 
Exemplos: 
 
 LAD 
 
 
 
 
 
 
 FBD 
 
 
 
 
 
 
Se a entrada I0.0 está no nível lógico “1”, 
então o conteúdo de MD8 é lido como número 
de código BCD e convertido á um Duplo 
Inteiro. O resultado é armazenado em MD12. 
A saída Q4.0 é “1” se a conversão não foi 
executada (ENO = EM = 0). 
 
 
Se a entrada I0.0 está no nível lógico “1”, 
então o conteúdo de MD8 é lido como número 
de código BCD e convertido á um Duplo 
Inteiro. O resultado é armazenado em MD12. 
Se a conversão foi executada, a saída Q4.0 
vai ao nível lógico “1” (ENO = EN). 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
53 
Apostila de Treinamento 
I_DI: Inteiro para Duplo Inteiro 
 
Simbologia 
 
 
A instrução I_DI lê o conteúdo do parâmetro IN como um valor inteiro (16-bits) e 
converte para um valor duplo inteiro (32-bits). O resultado é obtido no parâmetro 
OUT. 
O parâmetro ENO sempre terá o mesmo estado de sinal do parâmetro EN. 
 
Exemplos: 
 
 LAD 
 
 
 
 
 
 
 
 FBD 
 
 
 
 
 
 
 
 
Se a entrada I0.0 está no nível lógico “1”, 
então o conteúdo de MW10 é lido como 
número Inteiro e convertido á um número 
Duplo Inteiro. O resultado é armazenado em 
MD12. A saída Q4.0 é “1” se a conversão não 
foi executada (ENO = EN = 0). 
 
Se a entrada I0.0 está no nível lógico “1”, 
então o conteúdo de MW10 é lido como 
número Inteiro e convertido á um número 
Duplo Inteiro. O resultado é armazenado em 
MD12. Se a conversão foi executada, a saída 
Q4.0 vai ao nível lógico “1” (ENO = EN). 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
54 
Apostila de Treinamento 
DI_BCD: Duplo Inteiro para BCD 
 
Simbologia 
 
 
A instrução DI_BCD lê o conteúdo do parâmetro IN como um valor Duplo inteiro (32-
bits) e converte à um número de sete dígitos em formato BCD (9 999 999). O 
resultado é obtido no parâmetro OUT. 
Se um “overflow” ocorrer, o parâmetro ENO é levado ao nível lógico “0”. 
 
Exemplos:LAD 
 
 
 
 
 
 
 
 FBD 
 
 
 
 
 
 
 
Se a entrada I0.0 está no nível lógico “1”, 
então o conteúdo de MD8 é lido como número 
Duplo Inteiro e convertido á um número de 
código BCD. O resultado é armazenado em 
MD12. A saída Q4.0 é “1” se a conversão não 
foi executada (por exemplo, overflow na 
conversão). 
 
Se a entrada I0.0 está no nível lógico “1”, 
então o conteúdo de MD8 é lido como número 
Duplo Inteiro e convertido á um número de 
código BCD. O resultado é armazenado em 
MD12. Se a conversão foi executada, a saída 
Q4.0 vai ao nível lógico “1”. 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
55 
Apostila de Treinamento 
DI_REAL: Duplo Inteiro para Ponto-flutuante 
 
Simbologia 
 
 
A instrução DI_REAL lê o conteúdo do parâmetro IN como um valor Duplo inteiro 
(32-bits) e converte à um número de ponto-flutuante. O resultado é obtido no 
parâmetro OUT. 
O parâmetro ENO sempre terá o mesmo estado de sinal do parâmetro EN. 
 
Exemplos: 
 
 LAD 
 
 
 
 
 
 
 
 FBD 
 
 
 
 
 
 
 
Se a entrada I0.0 está no nível lógico “1”, 
então o conteúdo de MD8 é lido como número 
Duplo Inteiro e convertido á um número de 
Ponto-flutuante. O resultado é armazenado 
em MD12. A saída Q4.0 é “1” se a conversão 
não foi executada. 
 
Se a entrada I0.0 está no nível lógico “1”, 
então o conteúdo de MD8 é lido como número 
Duplo Inteiro e convertido á um número de 
Ponto-flutuante. O resultado é armazenado 
em MD12. Se a conversão foi executada, a 
saída Q4.0 vai ao nível lógico “1”. 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
56 
Apostila de Treinamento 
INV_I: Inverte número Inteiro 
 
Simbologia 
 
 
A instrução INV_I lê o conteúdo do parâmetro IN e executa uma função booleana 
XOR com a máscara hexadecimal W#16#FFFF. Deste modo, o valor de cada bit é 
invertido. O resultado é obtido no parâmetro OUT. 
O parâmetro ENO sempre terá o mesmo estado de sinal do parâmetro EN. 
 
Exemplos: 
 
 LAD 
 
 
 
 
 
 
 
 FBD 
 
 
 
 
 
 
 
A conversão é executada se o estado de sinal 
da entrada I0.0 é “1”. O valor para todos os 
bits de MW8 é invertido: 
 
MW8 = 01000001 10000001 resulta em 
-> MW10 = 10111110 01111110. 
 
A conversão é executada se o estado de sinal 
da entrada I0.0 é “1”. O valor para todos os 
bits de MW8 é invertido: 
 
MW8 = 01000001 10000001 resulta em 
-> MW10 = 10111110 01111110. 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
57 
Apostila de Treinamento 
INV_DI: Inverte número Duplo Inteiro 
 
Simbologia 
 
 
A instrução INV_DI lê o conteúdo do parâmetro IN e executa uma função booleana 
XOR com a máscara hexadecimal W#16#FFFF FFFF. Deste modo, o valor de cada 
bit é invertido. O resultado é obtido no parâmetro OUT. 
O parâmetro ENO sempre terá o mesmo estado de sinal do parâmetro EN. 
 
Exemplos: 
 
 LAD 
 
 
 
 
 
 
 
 FBD 
 
 
 
 
 
 
 
 
A conversão é executada se o estado de sinal 
da entrada I0.0 é “1”. O valor para todos os 
bits de MD8 é invertido: 
 
MD8 = F0FF FFF0 resulta em 
-> MD12 = 0F00 000F. 
 
A conversão é executada se o estado de sinal 
da entrada I0.0 é “1”. O valor para todos os 
bits de MD8 é invertido: 
 
MD8 = F0FF FFF0 resulta em 
-> MD12 = 0F00 000F. 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
58 
Apostila de Treinamento 
NEG_I: Nega número Inteiro 
 
Simbologia 
 
 
A instrução NEG_I lê o conteúdo do parâmetro IN e executa a instrução de dois 
complementos. A instrução de dois complementos é equivalente à multiplicação por 
(-1) e muda o sinal (por exemplo: a partir de um valor positivo para um negativo). O 
resultado é obtido no parâmetro OUT. 
O parâmetro ENO sempre terá o mesmo estado de sinal do parâmetro EN com a 
seguinte exceção: se o estado de sinal de EN = 1 e ocorrer um “overflow”, o estado 
de sinal de ENO será = 0. 
 
Exemplos: 
 
 LAD 
 
 
 
 
 
 
 
 FBD 
 
 
 
 
 
 
 
A conversão é executada se o estado de sinal 
da entrada I0.0 é “1”. O valor da memória 
MW8 é enviado á saída em MW10 com o sinal 
contrário: 
 
MW8 = +10 resulta em MW10 = -10. 
 
A conversão é executada se o estado de sinal 
da entrada I0.0 é “1”. O valor da memória 
MW8 é enviado á saída em MW10 com o sinal 
contrário: 
 
MW8 = +10 resulta em MW10 = -10. 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
59 
Apostila de Treinamento 
NEG_DI: Nega número Duplo Inteiro 
 
Simbologia 
 
 
A instrução NEG_DI lê o conteúdo do parâmetro IN e executa a instrução de dois 
complementos. A instrução de dois complementos é equivalente à multiplicação por 
(-1) e muda o sinal (por exemplo: a partir de um valor positivo para um negativo). O 
resultado é obtido no parâmetro OUT. 
O parâmetro ENO sempre terá o mesmo estado de sinal do parâmetro EN com a 
seguinte exceção: se o estado de sinal de EN = 1 e ocorrer um “overflow”, o estado 
de sinal de ENO será = 0. 
 
Exemplos: 
 
 LAD 
 
 
 
 
 
 
 
 FBD 
 
 
 
 
 
 
 
A conversão é executada se o estado de sinal 
da entrada I0.0 é “1”. O valor da memória 
MD8 é enviado á saída em MD12 com o sinal 
contrário: 
 
MD8 = +1000 resulta em MD12 = -1000. 
 
A conversão é executada se o estado de sinal 
da entrada I0.0 é “1”. O valor da memória 
MD8 é enviado á saída em MD12 com o sinal 
contrário: 
 
MD8 = +1000 resulta em MD12 = -1000. 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
60 
Apostila de Treinamento 
NEG_R: Nega número Real 
 
Simbologia 
 
 
A instrução NEG_R lê o conteúdo do parâmetro IN e muda o sinal. A instrução é 
equivalente à multiplicação por (-1), (por exemplo: a partir de um valor positivo para 
um negativo). O resultado é obtido no parâmetro OUT. 
O parâmetro ENO sempre terá o mesmo estado de sinal do parâmetro EN com a 
seguinte exceção: se o estado de sinal de EN = 1 e ocorrer um “overflow”, o estado 
de sinal de ENO será = 0. 
 
Exemplos: 
 
 LAD 
 
 
 
 
 
 
 
 FBD 
 
 
 
 
 
 
 
 
A conversão é executada se o estado de sinal 
da entrada I0.0 é “1”. O valor da memória 
MD8 é enviado á saída em MD12 com o sinal 
contrário: 
 
MD8 = +6.234 resulta em MD12 = -6.234.A conversão é executada se o estado de sinal 
da entrada I0.0 é “1”. O valor da memória 
MD8 é enviado á saída em MD12 com o sinal 
contrário: 
 
MD8 = +6.234 resulta em MD12 = -6.234. 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
61 
Apostila de Treinamento 
5.2. Instruções de Controle de Lógica 
 
Instruções de salto 
 
Você pode usar esta instrução em todos os blocos lógicos, por exemplo, em blocos 
de organização (OB’s), blocos de função (FB’s) e função (FC’s). 
As seguintes instruções de salto estão disponíveis: 
• JMP Salto Incondicional em um bloco 
• JMP Salto Condicional em um bloco 
• JMPN Salto-se-não 
 
O endereço de uma instrução de salto é um label. O label indica o destino para o 
qual você deseja que o programa salte. 
Você entra com o label acima da caixa JMP. Um label é composto por um máximo 
de quatro caracteres. O primeiro caractere deve ser uma letra; os outros caracteres 
podem ser letras ou números (por exmplo, SEG3). 
 
O label de destino deve ser no início de uma network. Quando inserido, uma caixa 
vazia aparece. Na caixa, digite o nome do label. 
 
 
 
Figura 5.1 – Exemplo de JMP e Label 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
62 
Apostila de Treinamento 
JMP: Salto incondicional em um bloco 
 
Simbologia 
 
 
A instrução salto incondicional de um bloco corresponde a uma instrução “Vai para 
[...]”. Nenhuma das instruções de operação entre o salto e o label é executada. 
Não deve haver qualquer operação lógica antes do salto incondicional. 
 
Exemplos: 
 
 LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
O salto é sempre executado. Nenhuma das instruções entre a instrução de salto e o 
label é executada. 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
63 
Apostila de Treinamento 
JMP: Salto condicional em um bloco 
 
Simbologia 
 
 
A instrução salto condicional de um bloco corresponde a uma instrução “Vai para 
[...]” se a RLO possui nível lógico “1”. O elemento “Salto Incondicional” também é 
usado para esta operação, no entanto, é condicionado pela operação lógica anterior. 
O salto condicional só é executado quando o resultado da operação lógica é “1”. 
Nenhuma das instruções de operação entre o salto e o label é executada. 
 
Exemplos: 
 
 LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
Se o estado de sinal da entrada I0.0 é “1”, o salto para o label CAS1 é executado. A 
instrução para resetar a saída Q4.0 não é executada, mesmo se o estado de sinal 
da entrada I0.3 é “1”. 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
64 
Apostila de Treinamento 
JMP: Salto condicional em um bloco 
 
Simbologia 
 
 
A instrução salto condicional de um bloco corresponde a uma instrução “Vai para 
[...]” se a RLO possui nível lógico “1”. O elemento “Salto Incondicional” também é 
usado para esta operação, no entanto, é condicionado pela operação lógica anterior. 
O salto condicional só é executado quando o resultado da operação lógica é “1”. 
Nenhuma das instruções de operação entre o salto e o label é executada. 
 
Exemplos: 
 
 LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
Se o estado de sinal da entrada I0.0 é “1”, o salto para o label CAS1 é executado. A 
instrução para resetar a saída Q4.0 não é executada, mesmo se o estado de sinal 
da entrada I0.3 é “1”. 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
65 
Apostila de Treinamento 
JMPN: Salto-se-não 
 
Simbologia 
 
 
A instrução Salto-se-não corresponde a uma instrução “Vai para [...]” se a RLO 
possui nível lógico “0”. Nenhuma das instruções de operação entre o salto e o label 
é executada. 
 
 
Exemplos: 
 
 LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
Se o estado de sinal da entrada I0.0 é “0”, o salto para o label CAS1 é executado. A 
instrução para resetar a saída Q4.0 não é executada, mesmo se o estado de sinal 
da entrada I0.3 é “1”. 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
66 
Apostila de Treinamento 
5.3. Instruções de Controle de Programa 
 
As seguintes instruções de controle de programa estão disponíveis: 
• CALL: Chama um FC/SFC sem parâmetros 
• CALL_FB: Chama FB como bloco 
• CALL_FC: Chama FC como bloco 
• CALL_SFB: Chama FB de sistema como bloco 
• CALL_SFC Chama FC de sistema como bloco 
 
 
 
CALL: Chama um FC/SFC sem parâmetros 
 
Simbologia 
 
 
 
A instrução CALL é usada para chamar uma função (FC) ou função de sistema 
(SFC) que não tem parâmetros passados. Uma chamada só é executada se a RLO 
é “1”. 
 
Exemplos: 
 
 LAD FBD 
 
 
 
 
 
 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
67 
Apostila de Treinamento 
CALL_FB: Chama FB como bloco 
 
Simbologia 
 
 
A instrução CALL_FB é executada quando o estado de sinal em EN é “1”. Se a 
instrução CALL_FB é executada: 
• O endereço de retorno do bloco de chamada é armazenado, 
• Os dados selecionados para os dois blocos de dados atuais (DB e DB 
instanciado) são armazenados, 
• A área de dados local anterior passa a ter o valor da área de dados local 
atual, 
• O bit MA (bit MCR ativo) é deslocado para a pilha B, 
• Uma nova área de dados local para o bloco de função chamado é criada. 
 
Exemplos: 
 
 LAD FBD 
 
 
 
 
 
 
CALL_FC: Chama FC como bloco 
 
Simbologia 
 
 
 
 
 
 
 
CONJUNTO DIDÁTICO DE AUTOMAÇÃO INDUSTRIAL 
68 
Apostila de Treinamento 
A instrução CALL_FC é executada quando o estado de sinal em EN é “1”. Se a 
instrução CALL_FC é executada: 
• O endereço de retorno do bloco de chamada é salvo, 
• Uma nova área de dados local para a função chamada é criada, 
• O bit MA (bit MCR ativo) é movido para a pilha B, 
 
Exemplos: 
 
 LAD FBD 
 
 
 
 
 
 
 
 
CALL_SFB: Chama FB de sistema como bloco 
 
Simbologia 
 
 
A instrução CALL_SFB é executada quando o estado de sinal em EN é “1”. Se a 
instrução CALL_FB é executada: 
• O endereço de retorno do bloco de chamada é armazenado, 
• Os dados selecionados para os dois blocos de dados atuais (DB e DB 
instanciado) são armazenados, 
• Uma nova área de dados local para o bloco de função de sistema chamado é 
criada, 
• O bit MA (bit MCR ativo) é deslocado para a pilha B.

Continue navegando