Você está na página 1de 120

Controladores Lógicos Programáveis

SIEMENS - STEP 7
Controlador Lógico Programável

Programação Básica

SIMATIC S7

Curso Básico Step7


Controlador Lógico Programável

Nome: __________________________________________________________

Período do Curso: _________________________________________________

Instrutor: _________________________________________________________

Curso Básico Step7


Controlador Lógico Programável

ÍNDICE:

CAPÍTULO 1 A FAMÍLIA SIMATIC S7 ..................................................................... 5


1.1 Apresentação ..................................................................................... 5
1.2 Características do S7-300 .................................................................. 7
1.3 Comunicação MPI (Muti-Point Interface) ............................................ 8
CAPÍTULO 2 CONHECENDO O STEP 7 ................................................................. 9
2.1 Softwares para S7 / C7 / M7)))))))))))))))))) 9
2.2 A ferramenta de programação: STEP 7 )))))))))))).. 11
2.3 Como selecionar o idioma de programação ))))))))))... 12
CAPÍTULO 3 INTRODUÇÃO AO HARDWARE ....................................................... 13
3.1 Visão dos Módulos ))))))))))))))))))))).. 13
3.2 Endereçamento de Módulos e Slots para S7-300 )))))))..... 15
3.3 Endereçamento de I/O – Digital para S7-300 ))))))). 16
3.4 Endereçamento de I/O – Analógico para S7-300 )))))). 17
3.5 Dados Técnicos do S7-300 )))))))))))))))))) 18
3.6 Elementos da CPU do S7-300 )))))))))))))))).. 19
3.7 Faixa de Endereçamento Máximo no STEP 7 )))))))))) 20
3.8 Demonstração de como Monitorar e Modificar Variáveis ))))). 21
3.9 Resetando a Memória da CPU ))))))))).. 22
CAPÍTULO 4 O SOFTWARE STEP 7 ...................................................................... 23
4.1 Iniciando o STEP 7 ))))))))))))))))))))).. 23
4.2 Editor de Programas ))))))))))))))))))))... 24
4.3 Usando o Help do STEP 7 )))))))))))))))))). 25
4.4 Usando o SIMATIC Manager – Estrutura de um Projeto ))))).. 26
4.5 Objetos do STEP 7 ))))))))))))))))))))).. 27
4.6 Blocos do STEP 7 )))))))))))))))))))))) 28
4.7 Navegando no STEP 7 )))))))))))))))))))... 29
4.8 Wizard ))))))))))))))))))))))))))... 30
4.9 Criando um Projeto ))))))))))))))... 31
4.10 Criando um Programa )))))))))))).). 32
CAPÍTULO 5 CONFIGURANDO E PARAMETRIZANDO O S7 .............................. 33
5.1 Introdução ))))))))))))))))))))))))). 33
5.2 Menu de Configuração de Hardware )))))))))))))... 35
5.3 Configuração Real ))))))))))))))))))))).. 36
5.4 Configurando o Hardware )))))))))))))))))).. 37
5.5 Parâmetros e Propriedades da CPU ))))))))))))).... 38
5.6 Características do Start-Up da CPU )))))))))))))). 39
5.7 Área de Memória Retentiva da CPU ))))))))))))).... 40
5.8 Ciclo / Clock de Memória da CPU ))))))))))))))) 41

Curso Básico Step7


Controlador Lógico Programável

5.9 Proteção de Acesso ))))))))))))))))))))) 42


5.10 Interrupções )))))))))))))))))))))))).. 43
5.11 Interrupções Time-of-Day )))))))))))))))))).. 44
5.12 Interrupção Cíclica ))))))))))))))))))))).. 45
5.13 Diagnóstico / Clock da CPU ))))))))))))))))).. 46
5.14 Setando Parâmetros em Módulos de Sinais )))))))))).. 47
5.15 Parametrização de um Módulo Analógico )))))))))))... 48
5.16 Configurando uma Estação de Hardware ))))). 49
5.17 Parametrizando a CPU – Área de Memória Retentiva. 50
CAPÍTULO 6 PRINCÍPIOS BÁSICOS DE PROGRAMAÇÃO ................................. 51
6.1 Norma IEC 1131 )))))))))))))))))))))).. 51
6.2 Ciclo de Processamento da CPU ))))))))))))))). 52
6.3 Start-Up da CPU e Obs ))))))))))))))))))).. 53
6.4 Imagem do Processo )))))))))))))))))))).. 54
6.5 Tipos de Blocos de Programa ))))))))))))))))... 55
6.6 Blocos do Usuário )))))))))))))))))))))) 56
6.7 Blocos do Sistema ))))))))))))))))))))).. 57
6.8 Estrutura de Programa )))))))))))))))))))) 58
6.9 Programação Estruturada )))))))))))))))))).. 59
CAPÍTULO 7 O EDITOR DE PROGRAMAS ............................................................ 60
7.1 Selecionando um Bloco para Editar )))))))))))))). 60
7.2 Selecionando a Linguagem de Programação )))))))))). 62
7.3 Seções do Editor de Programas )))))))))))))))... 63
7.4 Editando em Diagrama de Contatos – LAD ))))))))))) 64
7.5 Editando em Blocos Funcionais – FBD 65
7.6 Demonstração: Editando e Depurando um Bloco de Programa )). 66
7.7 Editando o OB1 )))))))))))))))). 67
7.8 Selecionando o Método de Representação )))).. 68
7.9 Salvando um Bloco ))))))))))))))... 69
7.10 Transferindo um Bloco para a CPU )))))))... 70
7.11 Estabelecendo Conexão ONLINE )))))))).. 71
7.12 Exibindo o Status do Programa ))))))))).. 72
CAPÍTULO 8 OPERAÇÕES LÓGICAS BÁSICAS ................................................. 73
8.1 Instruções de BIT ))))))))))))))))))))).... 73
8.2 AND, OR e XOR )))))))))))))))))))))).. 74
8.3 Resultado das Operações Lógicas – First Check )))))))).. 75
8.4 Setting de Instruções – Resetando e Salvando ))))))))). 76
8.5 Instruções que Influenciam o RLO ))))))))))))))... 77
8.6 Avaliação do Flanco de Impulso )))))))))))))))... 78
8.7 Operações Básicas ))))))))))))))... 79
CAPÍTULO 9 TEMPORIZADORES, CONTADORES E COMPARADORES ........... 80
9.1 Temporizadores com Retardo ))))))))))))))))... 80
9.2 Temporizadores com Pulso )))))))))))))))))... 81
9.3 Contadores )))))))))))))))))))))))).. 82
9.4 Instruções de Temporização e Contagem para Bits ))))))).. 83
9.5 Carregando e Transferindo Dados ))))))))))))))... 84
9.6 Acumuladores ))))))))))))))))))))))).. 85

Curso Básico Step7


Controlador Lógico Programável

9.7 Funções de Comparação )))))))))))))))))).. 86


9.8 Instruções de Salto Incondicional ))))))))))))))). 87
9.9 Salto Condicional, Baseado em RLO )))))))))))))... 88
9.10 Função de Controle de Relé Mestre )))))))))))))). 89
CAPÍTULO 10 CONVERSÃO. OPERAÇÃO LÓGICA DIGITAL, MATEMÁTICA,
DESLOCAMENTO .............................................................................
90
10.1 Formato de Números )))))))))))))))))))).. 90
10.2 Instruções de Conversão de Tipos de Dados )))))))))). 91
10.3 Operações Lógicas Digitais )))))))))))))))))... 92
10.4 Funções Matemáticas Básicas )))))))))))))))).. 94
10.5 Funções Matemáticas Avançadas ))))))))))))))) 95
10.6 Funções de Deslocamento e Rotação ))))))))))))) 96
10.7 Operações de Palavra ))))))))))))... 98
CAPÍTULO 11 TESTES E DEPURAÇÃO .................................................................. 99
11.1 Usando o Status do Editor LAD/STL/FBD ))))))))))).. 99
11.2 Modo de Operação do Status do Bloco )))))))))))).. 100
11.3 VAT – Tabela de Monitoração / Modificação de Variáveis ))))... 101
11.4 Menus e Barra de Ferramentas de “Monitor/Modify Variable” ))). 102
CAPÍTULO 12 FUNÇÕES PARÂMETROS E DADOS LOCAIS ................................ 103
12.1 Chamando Blocos )))))))))))))))))))))... 103
12.2 Parâmetros EN/ENO )))))))))))))))))))).. 104
12.3 Variáveis Locais de um Bloco ))))))))))))))))) 105
12.4 Parâmetros de um Bloco )))))))))))))))))).... 106
12.5 Utilizando Variável Local em um Bloco ))))))))))))) 107
12.6 Chamando um FC com / sem Parâmetros )))). 108
CAPÍTULO 13 PROGRAMAÇÃO SIMBÓLICA ......................................................... 109
13.1 Endereço Simbólico e Absoluto )))))))))))))))) 109
13.2 Endereçamento Simbólico – Características )))))))))).. 110
13.3 Endereçamento Simbólico – Lista de Símbolos ))))))))). 111
13.4 Editor de Simbólicos – Iniciando )))))))))))))))... 112
13.5 Editor de Simbólicos – Editando )))))))))))))))... 113
13.6 Exibindo Simbólicos em Blocos ou Status ))))))))))).. 114
13.7 Decompilação de Programas ))))))))))))))))) 115
13.8 Importação e Exportação de Listas de Simbólicos 116

Curso Básico Step7


Controlador Lógico Programável

A Família Simatic S7
1.1 Apresentação

Grande Porte modular modular


Médio Porte

SIMATIC SIMATIC
S7-400 M7-400

Pequeno Porte modular modular completo

SIMATIC SIMATIC SIMATIC


S7-300 M7-30 C7-620

Micro - PLC compacto

SIMATIC
S7-200

Software

Terminal de Programação Redes de I/O distribuída Interface HomemMáquina
Comunicação

A família SIMATIC é uma linha completa de equipamentos de AUTOMAÇÃO TOTALMENTE


INTEGRADA. A linha de produtos SIMATIC é representada de 3 maneiras: SIMATIC S7,
SIMATIC M7 e SIMATIC C7.

SIMATIC S7 A família SIMATIC S7 é composta de controladores lógicos


programáveis, e são divididos em: Micro PLC (S7-200), pequeno/médio
porte (S7-300) e médio/grande porte (S7-400).

SIMATIC M7 O CLP M7 .e um computador PC-AT compatível, com o mesmo


desempenho, a mesma funcionalidade e o ambiente de programação de
um microcomputador.

SIMATIC C7 É a combinação do CLP (S7-300) e um painel de operação (HMI


Operator Interface) em uma única unidade, resultando em um sistema
completo.

SENAI 5
Controlador Lógico Programável

O SIMATIC Software é um projeto modular para programação dos equipamentos da linha


SIMATIC. Ele consiste do Software Básico STEP 7 e Pacotes Opcionais, instalados a parte.
Os pacotes Opcionais podem ser linguagens de programação adicionais tais como S7-
GRAPH, SCL, CFC, SFC e pacotes para diagnósticos, simulações, documentação e
Teleservice. Estes softwares podem ser instalados em PC’s AT com processadores 80486
ou superior, mínimo de 16 Mbytes (32 Mbytes é o recomendado) e monitor colorido, teclado
e mouse compatíveis com o Microsoft Windows 95/NT, ou em terminais de programação
Siemens (PG’s). As PG’s são PC’s AT compatíveis com todas as interfaces necessárias e
softwares básicos de programação pré-instalados. Disponíveis desde laptop até desktop.

Opções de Aplicação

Redes do Comunicação: As redes de comunicação AS-I, Profibus e Industrial Ethernet


estão disponíveis para a troca de dados entre sistemas de PLC’s.

I/O’s Distribuídos: Existe também a possibilidade de utilização de I/O’s remotos em um


projeto distribuído. Uma configuração distribuída, no que se refere à sua
parametrização/programação, não difere de uma configuração central, porém pode gerar
redução de custos referente às instalações elétricas/cabos.

Interface Homem-Máquina: Para comunicação Homem-Máquina, existe a interface de


Operação SIMATIC MMI. Estas interfaces são totalmente integráveis à toda família
SIMATIC.

6 SENAI
Controlador Lógico Programável

1.2 Características do S7-300

O S7-300 é o pequeno, totalmente modular CLP da família SIMATIC S7 e possui as


seguintes características:

• Diversas CPU’s com diferentes capacidades.


• Extensivo espectro de módulos.
• Pode ser expandido em até 32 módulos.
• Módulos integrados em barramento backplane
• Pode ser ligado em rede com interface multi-point (MPI), PROFIBUS
e Industrial Ethernet.
• Conexão central com PC acessa todos os módulos (FM e CP).
• Sem regras para alocação das placas.
• Configuração e parametrização via o software STEP 7.

SENAI 7
Controlador Lógico Programável

1.3 Comunicação MPI (Multi-Point Interface)

Multi-point Interface (MPI)

S7-300 S7-300

CPU 1 CP FM CPU2 CP FM

MPI como um K+Bus MPI como um K+Bus

conexão de CLP’s via MPI


conexão da PG via MPI

conexão do OP via MPI

A Multi-Point Interface, MPI é utilizada para conectar o CLP ao terminal de programação ou


à interface de operação, ou ainda a outros controladores lógicos programáveis (PLC’s). Na
unidade central de processamento (CPU), existe somente uma interface MPI, porém é
possível acessar através dela todos os outros módulos programáveis, como os FM’s.

Vários dispositivos podem estabelecer conexão de dados com a CPU simultaneamente,


possibilitando a operação do terminal de programação e do painel de operação
simultaneamente, e ainda outros PLC’s adicionais podem ser conectados. As quantidades
de conexão dependem da CPU. Existe um limite de conexão que varia de acordo com o
modelo da CPU, sendo que o máximo admitido é de até 32 estações sendo que 8 podem
ativas e as demais passivas.

A interface MPI pode ser utilizada para displays, painéis de operação e terminais de
programação Siemens. A MPI possui as seguintes características:

 Programação de CPU’s e módulos inteligentes


 Funções de monitoração do sistema e funções de informações
 Troca de dados entre controladores lógicos programáveis
 Troca de programas entre CPU e terminal de programação
 Padrão RS 485 e taxa de transmissão de 187.5 Kbaud

8 SENAI
Controlador Lógico Programável

Conhecendo o Step 7
2.1 Softwares para S7 / C7 / M7

CFC
I I
S7-SCL M7-DDE-SERVER
I I
S7-GRAPH M7-Pro-C/C
I I
S5-Hi Graph Borland C/C
STEP 7 MINI STEP 7 BASIC
SIMATIC Manager SIMATIC Manager

Symbol Editor Symbol Editor

STEP 7 MICRO Hardware Config. Hardware Configuration


Symbol Editor
(Synonyms) Communications Config. Communication Configuration

LAD/STL LAD/STL LAD/ST/FBD M7-SYS

S7-200 S7-300,CT S7-300/400,CT M7-300/400

Para cada segmento da família SIMATIC, existe uma ferramenta específica de programação.
Para o S7-200 há o STEP 7 Micro, este software é exclusivo para elaboração de programas
com o S7-200. Possui duas versões: MICRO/DOS e MICRO/Win que rodas nos sistemas
DOS e a partir do Windows 3.x respectivamente.

Para o S7-300/400 existe o STEP 7, ferramenta de programação da família SIMATIC S7


(exceção do S7-200). Através dela torna-se possível a configuração e parametrização do
hardware, edição do programa, teste, comissionamento e procura de defeitos, além de toda
a documentação necessária. Com o auxílio de pacotes opcionais pode-se ainda configurar
redes locais, utilizar linguagens de alto-nível ou orientada à tecnologia, utilizar Teleservice,
etc.

SENAI 9
Controlador Lógico Programável

O STEP 7 Mini é um sub-set do pacote STEP 7, ideal para se iniciar na automação com
aplicações exclusivas do S7-300, este pacote não permite a configuração do S7-400, de
global-data (troca de dados) e nem o uso de pacotes opcionais.

Além do STEP 7, existem pacotes opcionais para S7 e M7 para geração de programas em


outras linguagens, configuração de rede, etc. Estes pacotes permitem por exemplo a
escolha da linguagem de programação mais fácil ou apropriada a cada aplicação:

• SCL – Linguagem de alto nível, baseada em Pascal. Ideal para


organização e manutenção de grande quantidade de dados, cálculos
e algoritmos complexos. GRAPH – Linguagem para processos
seqüênciais, baseados em estado e transição. Em vez de se
programar um sistema, faz-se a descrição de seus passos.

• Hi-Graph – Linguagem para descrição de estados (não


necessariamente seqüênciais). A partir de um diagrama de estados
faz-se a descrição do processo.
• CFC – Programação orientada tecnologicamente, onde se
desenvolve graficamente todo o processo.

10 SENAI
Controlador Lógico Programável

2.2 A ferramenta de Programação: STEP 7

Para definir os parâmetros para a programação de cartoões de memória, utilize a opção de


menu “Memory Card Parameter Assignment”.

Para definir os parâmetros de interface de comunicação PG-PC (ex.: o tipo de interface,


cabo ou placa, a interrupção de comunicação ou endereço MPI), é necessário a utilização do
menu “Seting PG-PC Interface”.

O arquivo Readme fornece informações detalhadas sobre o STEP 7: versão, procedimento


de instalação, etc.

Com o auxílio do “Converting S5 Files”, pode-se converter programas elaborados em


STEP 5 para programas elaborados em STEP 7.

O Editor de Programas é acessado através do menu “Program S7 Blocks” e habilita ao


usuário a escrever o seu programa com uma das linguagens de programação STEP 7:
Ladder Diagram (LAD), Statement List (STL) ou Function Blocks (FBD).

Com a função de gerenciar o projeto do usuário, o SIMATIC Manager , inicia a execução do


projeto: configuração, edição, testes, etc.. Também aparece como um ícone no DESKTOP
do WINDOWS 95.

SENAI 11
Controlador Lógico Programável

2.3 Como selecionar o idioma de programação

Antes de iniciar a edição, os mnemônicos da linguagem para o Editor de programas devem


ser selecionados. Pode-se selecionar entre mnemônicos IEC (Internacional/Inglês) ou
SIMATIC (Alemão).

Passos para a 1. Ative o comando de menu Options  Customize


seleção: 2. Selecione a pasta de linguagem
3. Selecione a linguagem desejada: SIMATIC = alemão;
IEC = Internaciona (Inglês)

Importante Ainda existem duas seleções independentes além da escrita acima:


1. Linguagem do Editor  seleciona o idioma da ferramenta STEP 7
(inglês/alemão/espanhol/italiano/francês).
2. Língua dos Mnemônicos  seleciona o idioma em que o programa
do usuário será escrito (inglês/alemão).

12 SENAI
Controlador Lógico Programável

Introdução ao Hardware
3.1 Visão dos Módulos

PS: IM: SM: FM: CP:


Entrada - Send DI/DQ - Contadores Ponto a ponto
120/230V ~ - Receive - 24V - - Posicionadores - AS-I
Saída - Send/Receive - 120/230 V ~ - Controle em - PROFIBUS
24V - Relê malha fechada FMS/DP
- Industrial
Ethernet
AI / AQ
PS=Fonte de Tensão
- Tensão IM=Módulo de Interface
- Correte SM=Módulo de sinal
- Resistência FM=Módulo de função
- Termo elemento CP=Processador de comunicação

Existem quatro tipos de módulos utilizados no S7, são eles:

Módulo de Sinal SM  Este módulo de sinal recebe do campo os sinais elétricos e os


adapta aos vários níveis de sinais de módulo:
 Entrada / saída digital
 Entrada / saída analógica (tensão, corrente, resistência, termo-
elementos)
 Acessórios: conectores frontais

Mód. de Interface IM  O módulo de interface torna possível a configuração de


vários trilhos/bastidores/expansão. Estes módulos faz a conexão
entre os trilhos/bastidores:
 Módulo de Transmissão, conectado no Rack Central.
 Módulo de Recepção, conectado no Rack Expansão.
 O módulo combinado Send / Receive é uma solução econômica
para: configuração com dois trilhos; neste caso no trilho de expansão
são permitidos somente módulos de I/O (SM). Por ex. IM365 no S7-
300.

SENAI 13
Controlador Lógico Programável

Mód. de Funções FM  O módulo de função oferece “funções especiais”


 Contagem
 Posicionamento
 Regulação em malha fechada

Mód. de Comunicação CP  Módulos de comunicação oferem as seguintes possibilidades


de rede:
 Comunicação ponto a ponto
 PROFIBUS
 Industrial Ethernet

14 SENAI
Controlador Lógico Programável

3.2 Endereçamento de Módulos e Slots para S7-300

S7-300 - Endereçamento de Módulos/Slot


Fonte de
alimentação CPU IM SM SM SM SM SM SM SM SM

Slot 1 2 3 4 5 6 7 8 9 10 11

No S7-300 o endereçamento de módulos é slot-orientado, isto é, dependem da posição do


módulo no trilho.

No S7-300 o endereçamento dos módulos de I/O, CP e FM são slot-orientados, isto é, o seu


endereço depende da posição do módulo no trilho. Alguns slots são reservados: PS, CPU e
IM.

Slot 1: PS – Fonte de alimentação. Obrigatoriamente no primeiro slot. Não é associado


nenhum endereço para a fonte de alimentação.
Slot 2: CPU; deverá esta localizada próxima a fonte de alimentação. Não é associado
nenhum endereço para a CPU (veremos mais tarde endereços MPI).
Slot 3: Módulo de Interface (IM). Para conectar racks de expansão. Não é associado
nenhum endereço para a IM. Até mesmo se a IM não estiver presente, ela deverá ser
considerada no esquema de endereçamento do slot. O slot 3 é logicamente reservado pela
CPU para a IM.
Slot 4 - 1 1: Módulos de sinais. O slot 4 é considerado o primeiro slot para módulos de
entrada e saída (ou CP ou FM). Um exemplo de endereçamento é exibido abaixo para um
cartão de digital (entrada = I, saída = Q):
Exemplo de endereçamento do módulo (Slot 4):

0
1
2
3 Endereço 0.0
4
5 Endereço 0.7
6
7

0
1
2
3
4
5
6
Importante: A CPU 315-2DP permite que os endereços
7 sejam livremente definidos.

SENAI 15
Controlador Lógico Programável

3.3 Endereçamento de I/O – Digital para S7-300

S7-300 – Endereçamento de I/O – Digital

Slot # 3 4 5 6 7 8 9 10 11
Fonte IM
Rack de (Receive) 96.0 100.0 104.0 108.0 112.0 116.0 120.0 124.0
3 Tensão to to to to to to to to
99.7 103.7 107.7 111.7 115.7 119.7 123.7 127.7

Fonte IM
Rack de (Receive) 64.0 68.0 72.0 76.0 80.0 84.0 88.0 92.0
2 Tensão to to to to to to to to
67.7 70.7 75.7 79.7 83.7 87.7 91.7 95.7

Fonte IM
Rack de (Receive) 32.0 36.0 40.0 44.0 48.0 52.0 56.0 60.0
1 Tensão to to to to to to to to
35.7 39.7 43.7 47.7 51.7 55.7 59.7 63.7

CPU e IM
Rack Fonte (Send) 0.0 4.0 8.0 12.0 16.0 20.0 24.0 28.0
0 de to to to to to to to To
Tensão 3.7 7.7 11.7 15.7 19.7 23.7 27.7 31.7

O endereçamento das entradas (I) e saísas (Q) digitais tem início com o endereço Digital “0”
para o módulo de sinal localizado no slot 4 (1 slot para SM). A relação entre o slot físico e o
endereço do módulo é exibido na figura acima. Cada módulo digital ocupa 4 bytes de
endereços independente do número de pontos.

Os sinais digitais do CLP correspondem a uma área de memória na CPU que contém o
estado atual das entradas e saídas. Esta área, denominada Tabela Imagem da Periferia de
Entrada (PII) e de Saída (PIQ), são atualizadas automaticamente pela CPU a cada início e
fim de ciclo respectivamente. Pode-se acessar estas áreas (I e Q) em bits, bytes, words ou
double words, como mostrado nos exemplos abaixo:
 Q 7.1 é um dado que é arquivado nosegundo bit (bit 1) do byte 7 na
tabela imagem da periferia de saída (usando a numeração padrão
das I/O do diagrama acima, isto corresponde ao segundo ponto no
módulo2)
 IB100 refere-se ao dado no byte 100 da tabela imagem da periferia
de entrada.
 IW100 refere-se ao dado que é arquivado nos bytes 100 e 101 da
tabela imagem da periferia de entrada.
 QD24 refere-se ao dado que é arquivado nos bytes 24, 25, 26, 27 da
tabela imagem da periferia de saída.

O S7-400 permite a definição pelo usuário do endereçamento dos módulos. Caso não seja
definido pelo usuário, o CLP assume um endereçamento default para os módulos, cada
módulo ocupando 4 bytes (32 bits). O endereçamento digital segue o seguinte padrão:
Início Endereçamento Digital = (número do slot físico – 1) x 4
Exemplo: Endereço inicial do módulo digital no slot 4 é 0.0

16 SENAI
Controlador Lógico Programável

3.4 Endereçamento de I/O – Analógico para S7-300

O endereçamento das entradas e saídas analógicas tem início no endereço 304 para o
módulo de sinal localizado no slot 4 (1 slot para SM). A figura acima mostra o esquema de
endereçamento dos módulos analógicos. Cada módulo analógico ocupa 16 bytes de
endereços, independente do tipo de módulo, sendo que cada canal analógico ocupa dois
bytes de dados.
As entradas e saídas analógicas acessam uma área de memória denominada Periferia (PI e
PQ) da CPU. Os sinais analógicos, ao contrário dos sinais digitais, não possuem uma tabela
imagem (PII ou PIQ), atualizados a cada ciclo. Ao invés disto, você define quando os dados
serão atualizados (lidos/escritos) usando simplesmente o endereço analógico na seu
programa. O endereço identificador para uma entrada analógica é PIW e para saída
analógica é PQW.
No S7-300 o endereçamento para sinais analógicos começa com 304, sendo portanto que o
primeiro canal no primeiro módulo no primeiro rack irá então ser PIW304. O último endereço
analógico é 912 (para o S7-300).
Exemplo: Para acessar os dados do segundo canal no primeiro módulo no rack 2, o
endereço da entrada analógica é PIW 306.
O S7-400 também suporta opcionalmente endereçamento padrão para os módulos
analógicos. O endereçamento analógicos default segue o seguinte padrão:

Endereço Inicial Analógico = (número do slot físico – 1) x 64 + 304


Exemplo: Endereço Inicial de um módulo analógico no slot 4 é 304.

SENAI 17
Controlador Lógico Programável

3.5 Dados Técnicos do S7-300

CPU312IFM CPU313 CPU 314/314IFM CPU 315-1/2


Memória de Trabalho 6 kbyte 12 kbyte 24 kbyte/24 kbyte 48 kbyte
Memória de carga: 20 kbyte 20 kbyte 40 kbyte/40 kbyte 80 kbyte
(RAM integrada)
Memória de carga: ------ 512 kbyte 512 kbyte 512 kbyte
(Flash EPROM externa)
ED/SD 128 128 512/992 1024

EA/AS 32 32 64/248 128

I/O’s Intergradas – –
ED/SD 10/6 - / 20/16
EA/AS - /4/1
Memory Markers 1024 2048 2048/2048 2048
Contadores 32 64 64/64 64
Temporizadores 64 128 128/128 128
Número máx. de blocos:
FB 32 128 128/128 128
FC 32 128 128/128 128
DB 63 127 127/127 127
Tempo de Execução 0.6 ms 0.6 ms 0.3 ms/0.3 ms 0.3 ms
(por 1 k/intruções)
Número de Trilhos / 1/8 1/8 4/32 – 4/32 4/32
Módulos
Máximo de conexões 4 4 4/4 4
ativas por Interface MPI
Interface Integrada MPI MPI MPI/MPI MPI/MPI,DP
Funções Intergradas sim não não/sim não
Contadores/
Freqüência de medição

Há também diferenças relativas às quantidades de números de blocos (FB, FD, DB).


CPU 312 CPU 313 / 314 / 315
32 FB 128 FB
32 FC 128 FC
63 DB 127 DB

• FB Blocos de Funções
• FC Funções
• DB Blocos de Dados

Observações: As CPU’s são caracterizadas por possuírem entradas/saídas integradas na


CPU (on-board) e por possuírem funções especiais incorporadas.
As CPU’s 312 / 313, permitem somente a montagem em um trilho (sem expansão)
As CPU’s 314 / 315 permitem até quatro trilhos (3 trilhos de expansão).
O S7-315-DP possui uma interface adicional para PROFIBUS DP (Periferia Distribuída) e
permite a livre escolha do endereçamento dos módulos de I/O.

18 SENAI
Controlador Lógico Programável

3.6 Elementos da CPU do S7-300

Led’s de Status
da CPU
ST
BATF Slot para o Cartão de
SIEMENS DC5V Memória
PRGM
RUN
STOP
RUN P
Seleção do Modo RUN
STOP
de Operação M RT

SIMATIC
S7-300 Interface MPI
Battery MPI

Pode-se fazer a seleção manual do modo de operação da CPU através da chave “Modo de
Operação”, que possui as seguintes posições:

• MRES = Reset de memória (overall reset)


• STOP = O programa não é executado
• RUN = O programa é processado porém o programa não
pode ser alterado pelo Terminal de Programação (só lido)
• RUN-P = A CPU está processando o programa, e o Terminal
de programação pode acessar / alterar o programa e o modo
de operação (não existe trava).
Pode-se verificar o status da CPU através de LEDs no frontal da CPU, onde:
• SF = erro interno na CPU ou erro de diagnóstico nos
módulos.
• BATF = sem bateria ou carga baixa.
• DC5V = fonte + 5V
 acesa: indica tensão DC OK
 piscando: sobrecarga.
• FRCE = indica que pelo menos uma entrada ou saída está
forçada (consulte versão CPU)
• RUN = piscando durante a inicialização da CPU, acesa
quando a CPU está em modo RUN (processando o
programa).
• STOP = pisca se um reset da memória é necessário, acesa
indica que a CPU está no modo STOP (programa não está
sendo executado).

No frontal da CPU há também um slot para a inserção do módulo de memória (memory


card). O módulo é utilizado para arquivar o programa como segurança para o caso de falta
de alimentação e ausência de bateria.
Abaixo da tampa frontal da CPU existe um local para a bateria de lithium e um para a
interface MPI. A bateria salva o conteúdo da memória RAM no caso de uma falha na
alimentação da CPU.
O conector para a interface MPI é um conector de 9-pinos. Esta é a porta de programação
da CPU do S7-300, e pode ser utilizada para a conexão de OP’s, PC’s e outros CLP’s.

SENAI 19
Controlador Lógico Programável

3.7 Faixa de Endereçamento Máximo no STEP 7

Área de Endereço Tipo de Acesso Operando Endereçamento


Máximo
IMAGEM DO PROCESSO bit entrada/saída I/Q 0.0 à 65535.7
I/Q byte entrada/saída IB / QB 0 à 65535
word entrada/saída IW / QW 0 à 65534
double word entrada/saída ID / QD 0 à 65532
Memory Markers bit de memória M 0.0 à 255.7
byte de memória MB 0 à 255
word de memória MW 0 à 254
double word de memória MD 0 à 252
Entrada / Saída Analógica byte I/Q, periferia PIB / QIB 0 à 65535
(ou sem imagem do word I/Q, periferia PIW / PQW 0 à 65534
processo) double word I/Q, periferia PID / PQD 0 à 65532
Temporizadores Temporizadores (T) T 0 à 255
Contadores Contadores (C) C 0 à 255
Blocos de Dados Blocos de Dados (DB) DB 1 à 65532
Dados em Blocos de Aberto com OPN DB DBX, DBB, DBW, 0 à 65532
Dados bit, byte, word, double word DBD
Dados em Blocos de Aberto com OPN DI DIX, DIB, DIW, 0 à 65532
Dados bit, byte, word, double word DID

I  Entrada
Q  Saída
B  Byte (8 bits)
W  Word (16 bits)
D  Double word (32 bits)
M  Memória (flag)
P  Periferia (acesso direto – PIW / PQW)
T  Temporizadores
C  Contadores
DB  Data block
DI  Data block (usado em Bloco de Dados Instance)

Importante Verifique os dados técnicos da CPU utilizada para verificar sua


capacidade de endereçamento.

20 SENAI
Controlador Lógico Programável

3.8 Demonstração de como Monitorar e Modificar Variáveis

O objetivo desta demonstração é auxiliar o usuário a endereçar I/Q no S7-300. Através da


ferramenta SIMATIC Manager, o instrutor irá mostrar a relação entre endereçamento lógico
e endereçamento físico. A tabela de entradas e saídas no rack é criada com auxílio de
“Modify and Monitor Status Variables”. A tabela é então ativada.

SENAI 21
Controlador Lógico Programável

3.9 Resetando a Memória da CPU

Passos Procedimentos Resultados


1 Posicionar a chave de “Modo de Operação” A CPU irá para STOP.
na posição STOP
2 Gire a chave para a posição MRES, e O LED STOP (amarelo) irá
permaneça nesta posição até que o LED apagar e tornará a acender
STOP (amarelo) pisque duas vezes depois de aproximadamente 3
segundos.
3 Gire a chave para a posição STOP O LED amarelo irá piscar por
imediatamente depois que o LED STOP aproximadamente 3 segundos e
piscar 2 vez, torne a girar para a posição então ficará acesa
MRES. Retornar a chave para a posição constantemente.
STOP novamente
4 Inicie o STEP 7 e ative a função Acessible Todas as CPU’s conectadas ao
Nodes PG/PC são mostradas (MPI=...)
5 Selecione a CPU que foi resetada Os blocos da CPU serão
exibidos.
6 Baseado na lista de blocos, determine quais Não poderá aparecer OB’s,
blocos ainda estão presentes na CPU. DB’s, FB’s ou FC’s no diretório
Somente os blocos de sistema podem estar do SIMATIC Manager.
presentes (SDB, SFC e SFB)

Objetivo : Executar um reset geral, apagando todos os blocos da CPU.

Procedimentos: Siga todos os passos da figura acima.

Quando é executado um reset na CPU, ocorre o seguinte:


 Exclusão dos dados na memória de trabalho e memória de carga.
 Exclusão do back-up da memória (áreas retentivas).
 Teste de Hardware.
 Inicialização do hardware e transferência dos parâmetros básicos
para CPU.
 Cópia do programa do cartão de memória para memória interna da
CPU, se o cartão de memória estiver conectado.
 Se o cartão de memória não estiver conectado, os endereços MPI
setados serão retidos durante o reset da CPU. Se o cartão de
memória estiver conectado, os endereços arquivados no cartão serão
transferidos.
 Conteúdo do buffer de diagnóstico fica retido quando é feito um reset
na CPU.

É possível também resetar a CPU via o Terminal de Programação, através do seguinte


procedimento:
Gire a chave para a posição RUN/P, e proceda da seguinte forma:
• Inicie o SIMATIC Manager.
• Selecione a função Acessible Nodes.
• Selecione a CPU.
• Comando de menu PLC  Operating Mode. Use o símbolo STOP
para passar para STOP.
• Selecione no menu de comando PLC  Memory Reset.

22 SENAI
Controlador Lógico Programável

O Software Step 7
4.1 Iniciando o STEP 7


Para iniciar o programa,
...sobre o ícone do
clique duas vezes com o
Step 7.
mouse ...

Para iniciar o STEP 7, clique duas vezes no ícone SIMATIC Manager que aparece no
Windows 95 ou no menu Start (iniciar), acima do grupo “Programs” ou ainda via menu Start
 SIMATIC  STEP 7  SIMATIC Manager.

SENAI 23
Controlador Lógico Programável

4.2 Editor de Programas

Sistema de menu
(abrir/fechar, etc.)
Título da Janela Ativa

Barra de
Títulos

Barra de Menu

Barra de
Ferramentas

Área de
Trabalho

Barra de
Status

A janela de edição do STEP 7 é constituída dos seguintes itens:


• Barra de título: contém o título da aplicação e da ferramenta ativada na janela.
• Barra de menu: contém todos os menus disponíveis para a janela corrente.
• Barra de ferramentas: contém funções e ícones de uso freqüente do menu de
comandos.
• Área de trabalho: área no qual você digita ou seleciona programa / informações.
• Barra de status: Exibe o status e informações adicionais sobre os dados
selecionados.

Nas barras de ferramentas e de Menu, encontramos os seguintes sub-menus:


• File: abre, cria, salva e imprime arquivos ou blocos.
• Edit: corta, copia, apaga, cola, seleciona itens.
• View: muda a visualização da tela.
• Options: seta várias telas ou opções de aplicação.
• Window: seleciona e organiza as janelas; sobreponto, lado a lado, tamanho a
janela ou fechar janela.
• Help: acesso ao help on-line e Tutorial.

24 SENAI
Controlador Lógico Programável

4.3 Usando o Help do STEP 7

O STEP 7 possui um sistema de help (ajuda) completo, divididos em sub-menus para cada
tópico de utilização do STEP 7. O sistema consiste de:
• Help – Menu: O menu é uma tabela de conteúdos e dicionário de palavras que
conduz a vários tópicos de ajuda. O glossário fornece definições para os termos
usados.
• Help – Botões de Comando: Os botões de comando são localizados em vários
campos de diálogo. O conteúdo relacionado ao help é exibido em vários campos
de diálogo.

Algumas facilidades do help no STEP 7:

• Existem algumas palavras de comando que são especialmente marcadas no texto


do help. Quando você clicar nestas palavras, um help adicional com uma
definição detalhada do tempo é exibido.
• Sistema de help pode ser chamado a qualquer momento com a tecla F1 (help
sensível ao contexto).
• É possível realizar uma pesquisa específica sobre um termo usando a função
Pesquisa (Search).
• Pode-se imprimir (Print) uma cópia do tópico selecionado.
• Usuário pode inserir seus próprios comentários no help. Estes comentários são
identificados no texto de help pelo “paper tips” (dicas) (Edit  Comments).
• Uma vez encontrado o texto específico do help, você pode marcar a localização
setando como uma marca. Para definir uma marca para futura referência,
selecione Bookmark  Define.
• Botões de controle << e >> facilitam o avanço ou o retorno para outros tópicos do
help.

SENAI 25
Controlador Lógico Programável

4.4 Usando o SIMATIC Manager – Estrutura de um Projeto

Estação de Hardware
Programação da CPU do S7-300
Programa S7/M7 (associado a um Hardware)
Programa do usuário em arquivos fontes (STL)
Programa do usuário com blocos S7:
OBs, FBs, FCs, DBs, etc.
Programa S7/M7 (não associado a um Hardware)
Programa do usuário em arquivos fontes
Programa do usuário em blocos S7
Obs, FBs, FCs, DBs, etc.

O primeiro passo da criação de um projeto de automação se inicia pelo ícone de projeto,


localizado no primeiro nível. O ícone é identificado pelo nome do projeto.

O segundo passo é definir e paramentrizar o hardware, para isso é necessário a criação de


uma estação de hardware (S7-300 / S7-400). A estação criada (S7-x00 Station) pode Ter o
nome alterado pelo usuário, e seus módulos são definidos através da ferramenta Station
Configuration. Ao se definir os módulos, o sistema automaticamente cria os sub-diretórios
respectivos (CPU, Programa, Blocks, etc.).

Depois de criar o projeto e definir o hardware a ser utilizado, o usuário poderá editar o
programa referente à um CLP propriamente dito, o mesmo é localizado sob o diretório S7-
Programs. Este diretório pode estar ou não associado à uma estação específica criada.
Associada à um HW, o diretório se encontra subordinado à CPU. Caso contrário fica
subordinado diretamente ao Projeto.

Nos sub-diretórios Source e Blocks estão localizados os programas do usuário, em arquivos


fontes ou em blocos S7 respectivamente.

26 SENAI
Controlador Lógico Programável

4.5 Objetos do STEP 7

OBJETO DESCRIÇÃO SUBORDINADO A


Projeto Representa o ícone Principal Arquivo
Projeto de Automação
Estação Representa um Hardware configurado Projeto
ao qual está subordinado o programa
Módulo Programável Representa módulo que contém Estação
(CPU, CP ou FM) Programa ou Parametrização
Programa S7 Contém todos os elementos Módulo Programável ou
(offline) referentes a programação, blocos, Projeto
arq., fontes, simbólicos
Blocos de Programa Representa o diretório que contém os Programa S7
(Blocks) blocos de programa Obs, FBs, DBs (online ou offline)
Programa S7 Contém os elementos referentes ao Módulo Programável ou
On-line programa on-line Projeto
Bloco Representa o bloco de programa Blocos de Programa
OB1, FB10, FC34 (online ou offline)
Tabela de Simbólicos Representa o editor dos simbólicos Programa S7
(offline)
Conexão Representa o Editor de Conexões de Programa S7
Comunicação (offline)

O STEP 7 utiliza objetos para tornar o uso do software intuitivo e user-friendly. Assim uma
série de objetos representam as diferentes ferramentas, arquivos e funções disponíveis.
Todo o projeto é hierarquizado, tendo-se acesso aos diferentes objetos conforme se avança
na estrutura (subordinado a .....).
As pastas de programa de usuário (S7-Programs) diferem entre si nos modos online e
offline. No modo online, o usuário acessa diretamente o programa na CPU, portanto
somente são encontrados em modo online os blocos realmente relevantes para o
funcionamente do CLP. Assim, objetos como Tabela de Simbólicos e Arquivos Fontes só
são encontrados no modo offline.

Outros Objetos Existem ainda outras funções representadas por objetos. Alguns destes
objetos são encontrados somente se os pacotes opcionais forem
instalados.

Arquivos Fontes: Subordinado a Source Files.

Parametrização da Rede (MPI, Profibus, etc.) – Subordinado ao Projeto.

Estações externas para configuração de comunicação – Subordinado ao


Projeto.

Tela de OP – Subordinado ao Projeto – Opcional PROTOOL

Pasta de Diagramas CFC – Subordinado a Programa S7 – Opcional


CFC

SENAI 27
Controlador Lógico Programável

4.6 Blocos do STEP 7

Blocos Blocos são partes funcionais do programa do usuário. Eles diferem em


função, uso e estruturas. Blocos representam o código executável do
programa.

O ambiente STEP 7 suporta os seguintes tipos de blocos:

Blocos lógicos: OBs – Blocos de organização


FCs – funções
FBs – blocos de funções
SFCs – Funções de sistema
SFBs – blocos de funções de sistema

Blocos de dados: DBs – Blocos de dados


SDBs – Blocos de dados de sistema

Tipos de dados
definido pelo usuário: UDTs

VAT VAT (Tabela para monitoração / modificação de variáveis) não são


blocos, mas são arquivadas no programa do usuário.

28 SENAI
Controlador Lógico Programável

4.7 Navegando no STEP 7

A navegação dentro do STEP 7 é muito parecida com a navegação do Windows Explorer. É


possível inclusive abrir vários projetos, ou visualizar offline e online ao mesmo tempo, como
mostrado na figura acima. Para obter isto utilize Window  Arrange.

Na Janela Direta A janela exibe um projeto no modo offline, com toda a estrutura já vista
anteriormente.

Na Janela Esquerda Esta janela exibe o conteúdo da CPU, acessada pela função
Acessible Nodes. Na janela estão listados todos os blocos contidos na
CPU (FC, OB, SFC, etc.).

SENAI 29
Controlador Lógico Programável

4.8 Wizard

Wizard Wizard é um assistente que auxilia a criação do projeto. Para iniciá-lo


utilize a opção File  New Project Wizard.

Passos O Wizard vai auxiliando nos passos necessários para a criação do


projeto. Tipo de CPU, blocos OB’s a serem criados e nome do projeto. O
usuário tem ainda a opção de criar os blocos OB’s no modo texto. Como
se nota, o Wizard cria sempre um projeto com estação de hardware e
programa.

Programa do Ao usuário cabe apenas a criação do seu programa. O Hardware


Usuário criado contém somente a CPU, devendo-se complementar o hardware e
parametrizá-lo se necessário.

30 SENAI
Controlador Lógico Programável

4.9 Criando um Projeto

O projeto contém todos os programas e dados para as tarefas do controlador lógico


programável. Este projeto pode conter um ou vários programas que são usados em uma ou
várias CPU’s. Um projeto é uma estrutura localizado no diretório raiz de seu dispositivo de
programação.

Metas Apagando e criando um projeto.


Procedimentos 1. Inicie o SIMATIC Manager.
2. Selecione no menu de comando File  Delete  Project.
3. Selecione “ PR01” 1 ) na lista de projetos e confirme com “OK”.
4. Depois do projeto apagado, selecione no menu de comando:
File  New  Project.
5. Digite o nome do projeto “PR01” no campo indicado.
6. Confirme com “OK”.

Resultado Quando você selecionar o projeto no SIMATIC Manager, o nome do seu


projeto será exibido próximo ao símbolo do projeto. Projetos no SIMATIC
Manager tem o seguinte símbolo:

1) Apagar o programa “PRO1” somente existente.

SENAI 31
Controlador Lógico Programável

4.10 Criando um Programa

Um programa S7 é uma combinação de blocos de programas, blocos de dados, comentários


e símbolos que são ligados a uma aplicação. Criando este programa, está-se criando uma
estrutura no qual todos estes componentes de programa são combinados.

Metas Criar um novo programa S7.

Procedimentos 1. Inicie o SIMATIC Manager.


2. Clique no projeto PROL.
3. Selecione no menu de comando Insert  Program  S7 Program
(ou use o botão da direita do mouse como descrito acima).
4. Um novo program S7 com o nome “S7 Program 1” é criado.
5. Selecionar o programa com o botão da esquerda do mouse e então
com o botão da esquerda clique em “S7 Program 1” novamente.
6. Especifique o nome como PROGA.
7. Nesta pasta você pode encontrar o programa atual com o nome dos
blocos (programa do usuário), Source (programas fonte) e a pasta de
sombólicos com a lista de símbolos.
8. Confirme com “OK”.

Resultado Um novo programa S7 é criado com o projeto PRO1. O programa S7,


programa do usuário, é automaticamente nesta pasta.
Usando o SIMATIC Manager você pode ver o sub-diretório PROG1. Um
bloco 0B1 vazio é automaticamente criado no programa do usuário.

32 SENAI
Controlador Lógico Programável

Configurando e
Parametrizando o S7
5.1 Introdução

Configuração de Com esta ferramenta, é possível:


H/W - definir os módulos utilizados (CPU, I/O, FM) e a sua paramentrização.
Ex.: tipo de medição do módulo analógico de entrada.
- ler a configuração da CPU. Ex.: designação dos módulos no rack
- ler diagnóstico de dados referentes a módulos (system diagnostics)

Na janela on-line (diagnóstico de hardware) mostra a configuração da


estação que está acessível on-line. Informações de status ou estado de
operação de cada módulo é mostrado no relatório simbólico do módulo
(=system diagnostics).

A tecla F5 atualiza a exibição. Para obter mais informações, dar um


double-click no símbolo.
A ferramenta é iniciada, por exemplo, pela seleção de uma estação de
hardware no SIMATIC Manager ou via comando de menu Edit  Open
Object

Configurando O usuário especifica a posição dos módulos no rack e os endereços são


definidos automaticamente (nas CPU’s 315-2 e S7-400 o usuário pode
alterar os endereços). A esta configuração denominaremos configuração
existente, que é denominada configuração real.

SENAI 33
Controlador Lógico Programável

No caso do S7-400, é possível comparar a configuração real com a


configuração parametrizada. Existindo divergências, o start-up pode ser
abordado, se desejado pelo usuário.

Setando Ao invés de setar chaves nos módulos, todos os parâmetros são


definidos
Parâmetros via software. Pode-se definir parâmetros para a CPU para determinados
módulos de I/O, tais como módulos analógicos.
Nos parâmetros da CPU estão incluídos, entre outros, o tempo de
supervisão de duração de ciclo ou o intervalo de tempo para execução
de partes de programa.

Trocando Módulos Durante um restart completo, a CPU distribui os parâmetros para todos
os módulos existentes. Assim, quando se substitui um módulo
defeituoso, a parametrização para o novo módulo ainda estará
disponível, armazenada na CPU.

34 SENAI
Controlador Lógico Programável

5.2 Menu de Configuração de Hardware

Station O menu Station serve para selecionar o CLP a ser editado,


salvar a configuração, imprimir, etc. É comparável ao menu de edição
de um Processador de Texto como por ex.: O Microsoft Word. É possível
entre outras funções New  criar uma nova estação.

Open e Open Online  editar uma configuração existente no PG/PC ou


na CPU. Save  salvar a configuração corrente. Ao se salvar uma
configuração pela 1ª vez, o STEP 7 criará na estrutura automaticamente
um Módulo Programável (por ex.: a CPU) e a pasta S7-Programs
subordinada à este Consistency Check  verifica se a configuração de
hardware está correta, porém não gera o bloco de configuração (SDB)
nem as pastas de CPU e programa.
Compile  é o mesmo que save. Checa a consistência, gravando ao
bloco de configuração de hardware na respectiva pasta CPU/Programs
já criada.

View O menu View é utilizado para selecionar a maneira que se quer


visualizar a configuração, simplificada ou em detalhes (com MLFB,
endereços, etc.), além de tornar ativo ou não a barra de ferramentas e a
linha de status.
A linha de status serve como um pequeno help on-line, mostrando
sempre um pequeno texto sobre a função selecionada, além de modo de
operação ativo Offline ou Online.

PLC O menu PLC é utilizado para ler ou transferir a configuração editada


do/para o CLP (também possível pelo ícone da barra de ferramentas). A
transferência só pode ser feita se a CPU estiver conectada ao Terminal
de Programação. No modo online estão ainda disponíveis funções de
informação e de diagnóstico, além de se poder alterar o modo de
operação da CPU.

SENAI 35
Controlador Lógico Programável

5.3 Configuração Real

Configuração
Real A CPU gera uma configuração interna real durante a energização. Isto
é, a CPU verifica a disposição dos módulos existentes, e caso não exista
o bloco de parametrização, distribui os endereços de acordo com um
algoritmo fixo.
Se não existir parametrização, os parâmetros default são utilizados.
A CPU arquiva esta configuração real no bloco de dados do sistema.
Na PG/PC, você pode Ter esta configuração real para servir como base
(template) para adicionar e/ou re-parametrizar os módulos usando o HW
Configuration.

Procedimento
A configuração real é gerada usando o ícone Upload.

36 SENAI
Controlador Lógico Programável

5.4 Configurando o Hardware

Dá-se o nome de Configuração Parametrizada à configuração de hardware criada pelo


usuário, determinando os módulos existentes e a sua localização, bem como a
parametrização destes módulos.

Configurando A configuração executada pela ferramenta Configurador de Hardware. A


partir do catálogo, seleciona-se os módulos utilizados, posicionando-os
no slot respectivo do trilho/bastidor. Naturalmente inicia-se a
configuração com o trilho/bastidor para então se posicionar os outros
módulos. Ao se posicionar um módulo, o sistema automaticamente
designa um endereço para o módulo. A CPU 315-2 e toda a família S7-
400 permitem que este endereço seja alterado pelo usuário.
A parametrização dos módulos é realizada dando-se um double-click
sobre o módulo desejado. Uma tela de configuração referente ao módulo
aparecerá, permitindo a alteração dos parâmetros.
Durante o start-up do controlador lógico programável S7-400, pode
haver um check para verificar se a configuração real (existente) e a
configuração parametrizada estão de acordo.

Catálogo O catálogo eletrônico contém toda a lista de módulos existentes no


Eletrônico S7.
Quando você clica na tela “+”, você terá disponível os módulos do grupo
selecionado. Atualizações deste catálogo (novas placas) estarão sempre
disponíveisvia Internet ou via o Distribuidor local.

SENAI 37
Controlador Lógico Programável

5.5 Parâmetros e Propriedades da CPU

Setando Parâmetros Entre outros, os seguintes parâmetros podem ser setados na CPU:
da CPU
• Endereço da interface MPI
• Características de Star-up/ciclo: tempo máximo de ciclo, ciclo de
carga para comunicação, auto teste ciclico e auto teste depois da
energização.
• Interrupção ciclica (watchdog): OB 35
• Memória retentiva: markers de memória (flags), temporizadores,
contadores e blocos de dados.
• Clock de memória: reduzir a freqüência de byte de memória
• Diagnóstico de sistema: enviar mensagens de diagnóstico, detalhar
registros no buffer de diagnóstico.
• Se o usuário não definir nenhum parâmetro, os parâmetros default
serão utilizados na CPU.
• Depois de setar os parâmetros, deve-se transferir os novos
parâmetros com o comando de menu PLC  Download. A CPU
deverá estar no modo STOP.

Endereços MPI Se você desejar conectar vários controladores lógicos programáveis via
interface MPI, você deverá setar diferentes endereços MPI para cada
CPU.

38 SENAI
Controlador Lógico Programável

5.6 Características do Start-Up da CPU

Setpoint and Para o S7-300 com a CPU 315-2 e o S7-400, quando você desativa
Actual este campo, você pode fazer com que a CPU vá para STOP se a
Configuration configuração real (existente) não for igual a configuração parametrizada.

Delete PIQ No restart a imagem de entradas / saídas do processo é


on Restart novamente deletada. Se você não deseja que isto aconteça, você pode
desativar este ítem (válido para o S7-400).

Hardware Test Quando esta função é ativada, a RAM interna da CPU é testada durante
o Start-Up.

Automatic Para o S7-400, você pode escolher entre:


Start-Up after • Restart completo (deletando as áreas não retentivas e o programa
“Network On” com a primeira instruçãono bloco OB1)
• Restart (todas as áreas de memória são retidas, e o programa
continua no local da interrupção).
• Watchdog Time Os seguintes tempos podem ser especificados:
• Tempo máximo para passar parâmetros para os módulos
parametrizáveis.
• Tempo máximo para o sinal completo do módulo.
• Para o S7-400, o tempo máximo de interrupção (falta de energia ou
chave do modo de operação) após o qual um restart (warm) ainda é
possível.
Após este tempo será executado um completo restart.

SENAI 39
Controlador Lógico Programável

5.7 Área de memória Retentiva da CPU

Áreas Retentivas As áreas de memória retentivas permanecem inalteradas mesmo depois


da falta de energia ou de um restart completo.
Os seguintes ítens podem ser retentivos:
• Memory markers
• Temporizadores
• Contadores
• Bloco de Dados

As áreas que você especifica nesta tela são retidas no caso de falha de
energia mesmo não existindo bateria de backup. Para ser utilizado sem
bateria, o programa deverá ser arquivado no módulo de memória
(memory card).

DB’s Retentivos Este parâmetro só tem sentido no caso da não existência de bateria.
Quando a bateria é usada, todos os blocos de dados são retentivos.
Outros blocos de dados que devem permanecer retidos devem também
ser salvos no módulo de memória.
Depois da falta de energia sem bateria, os blocos de dados
parametrizados como retentivos são retidos, e os outros blocos recebem
os valores arquivados no módulo de memória.

40 SENAI
Controlador Lógico Programável

5.8 Ciclo / Clock de Memória da CPU

Cycle Opções:
• Tempo de monitoração do tempo de ciclo, quando este tempo é
ultrapassado, a CPU vai para STOP, se o 0B80 de erro não foi
programado.
• Tempo mínimo de ciclo para o S7-400 para implementar tempo de
ciclo constante.
• Porcentagem do tempo de ciclo de programa que será reservado (no
máx.) para tarefas de comunicação ou para auto teste ciclico.

Clock Memory Caso seja utilizado no programa algum tipo de pisca-pisca, pode-se
deixar o sistema gerá-lo automaticamente. Ative o campo e especifique
qual o byte de memória a ser usado para este fim.
O byte de memória especificado piscará nas seguintes freqüências, cada
uma associada à um bit deste byte:

Bit 7 6 5 4 3 2 1 0
Período / 2 1,6 1 0,8 0,5 0,4 0,2 0,1
Freqüência 0,5 0,625 1 1,25 2 2,5 5 10
(Hz)

SENAI 41
Controlador Lógico Programável

5.9 Proteção de Acesso

Protection Levels O programa na CPU pode ser protegido contra um acesso não
autorizado por meio de designação de uma senha. As correções de
programas ou modificaçõesde dados só podem ser executados se a
senha correta for digitada.
Os níveis de proteção têm os seguintes significados:
• 1: Sem proteção
• 2: Proteção contra a escrita (somente leitura ou status de blocos)
• 3: Proteção contra leitura / escrita

42 SENAI
Controlador Lógico Programável

5.10 Interrupções

Hardware interrupts São geradas por módulos que tenham capacidade de


. (int. de hardware) diagnóstico parametrização default, todas as interrupções de
hardware são processadas pelo 0B40.

Time-delay interrupts São geradas a partir do programa do usuário (SFC 32 


(int.tempo-decorrido) SRT_DINT)após decorrido o tempo programado quando a função
está habilitada.

Communication int. Para as CPU’s S7-300 e S7-400 as interrupções de


(int. de comunicação) comunicação geralmente não são disponíveis.

Priorities A prioridade de execução de um bloco só é considerada quando dois


(prioridade) blocos OB’s devam ser executados ao mesmo tempo. Assim será
executado o bloco de maior prioridade, sendo que o de menor prioridade
aguarda o fim da execução do outro para ser executado.
Então, pode-se especificar a seqüência de processamento para quando
duas ou mais interrupções estejam presentes simultaneamente.

No S7-300 não é possível mudar as prioridades default.

SENAI 43
Controlador Lógico Programável

5.11 Interrupções Time-of-Day

Time-of-day int. São blocos que serão executados exatamente na data e hora em que
foram parametrizados. Pode-se selecionar inclusive a freqüência com
que serão executados após esta data: uma única vez, a cada minuto, a
cada hora, mês, dia, ano.

44 SENAI
Controlador Lógico Programável

5.12 Interrupção Cíclica

Cyclic interrupt Caso se deseje que parte do programa da CPU seja executada a
intervalos regulares de tempo, pode-se utilizar o OB de interrupção
clínica. Este OB será então executado toda a vez que o intervalo de
tempo paramentrizado tenha sido decorrido. Isto habilita a
implementação de tarefas de controle de malha fechada, por exemplo,
que devem ser processados em intervalos de tempo programados.
O S7-300 possui para esta função somente o 0B35, o qual é processado
a cada 100ms como default. A base de tempo pode ser setada na faixa
de 1 a 60000ms.
O S7-400 possui vários OB’s de interrupções cíclicas com diferentes
intervalos de tempo. Para garantir que estes OB’s não sejam executados
ao mesmo tempo, no caso dos intervalos de tempo coincidirem, pode-se
usar um offset, que as interrupções ocorrem defasadas entre si.

Importante: OB1 O principal bloco do programa S7 é o OB1. Este OB é um OB cíclico,


porém diferente de um OB de interrupção cíclica. Ao atingir a sua última
instrução, o OB1 se reinicia imediatamente na 1ª instrução. Como a
chamada de blocos pode variar de um ciclo para outro, não se pode
garantir que o tempo de execução de cada ciclo do 0B1 seja constante.

SENAI 45
Controlador Lógico Programável

5.13 Diagnóstico / Clock da CPU

System diagnostics Uma poderosa ferramenta na depuração do programa e procura de


falhas é o Diagnóstico Buffer. Este é um buffer que registra todasas
ocorrências anormais do CLP, inclusive com data e hora. Esta função,
que deve sempre ser deixada ativa, além de registrar as ocorrências que
levaram a CPU para STOP (Dysplay cause of STOP), pode ainda ser
incrementada com outras ocorrências (Extended Functional Scope).
Com a opção “Extended Functional Scope” ativa todas as chamadas de
OB’s de interrupção são registradas no buffer de diagnóstico. Isto é útil
por exemplo na hora de depurar o SW ou na procura de um defeito
específico do sistema. Não deve ser porém deixada ativa, poi o buffer de
diagnóstico será preenchido como uma série de registros dificultando
uma eventual análise do motivo de parada da CPU (mensagens
importantes podem ser sobrescritas).

Clock Se estão sendo utilizados vários módulos com clocks em um CLP, pode-
se definir quais módulos vão ser escravos e mestres. O mestre
sincroniza outros clocks de acordo com o intervalo de tempo setado.
O fator de correções corrige variações do relógio do mestre diariamente,
sendo expresso em ms.

46 SENAI
Controlador Lógico Programável

5.14 Setando Parâmetros em Módulos de Sinais

Parâmetros nos módulos de sinais são variáveis que contém ajustes da resposta dos níveis
de sinais dos módulos (um ou mais por módulos). Todos os módulos tem ajustes default. Os
ajustes para a maioria dos módulos S7 podem ser modificados usando o S7 Hardware
Configuration ou por meio de SFC’s no programa do usuário.
Existem dois tipos de parâmetros para estes módulos:
• Parâmetros estáticos – Ajuste dos módulos podem ser modificados com o S7 Hardware
Configuration, mas não com os SFC’s no seu programa.
• Parâmetros Dinâmicos – Ajuste dos módulos podem ser modificados no programa do
usuário, mesmo se elas forem feitas com o STEP 7.

Ajustes Default da O sistema S7 fornece facilidades para a configuração automática


Auto-Configuração do endereçamento do I/O e parametrização de blocos. Quando o
hardware e I/O’s são instaladas, o sistema S7 se auto-configura.

Modificando os A alteração das características funcionais default dos módulos é feita


Parâmentros com no configurador de hardware. O acesso à estes parâmetros é feito da
o S7 Hardware mesma maneira que o acesso aos parâmetros da CPU.
Configuration Selecionando-se o módulo e clicando-se o mouse duas vezes aparece a
tela de parâmetros do módulo (note que nem todos os módulos têm
parâmetros que podem ser alterados). Toda a parametrização feita, dos
módulos e da CPU, são armazenadas em um bloco denominado SDB,
que é transferido para a CPU ao se dar um Download (Transferência
para a CPU). Este bloco também é arquivado no PG/PC, na respectiva
para de programa S7, sob o nome de SDB, ao se salvar a configuração.
Este arquivamento da parametrização em um SDB, torna possível a
troca de qualquer módulo do CLP sem a necessidade de ajuste, já Qua
a parametrização do novo módulo é transferida automaticamente da
CPU para o novo módulo.

Modificando os É possível alterar a parametrização de um módulo dinamicamente.


Parâmetros com Isto é, pelo programa de usuário na CPU. Isto é feito com o auxílio das
o Programa do funções de sistema (SFC55-59). Estes SFC’s têm acesso de leitura
Usuário e escrita nos registros de dados dos módulos.

Ver manual do STEP 7 Standard and Systems Functions

SENAI 47
Controlador Lógico Programável

5.15 Parametrização de um Módulo Analógico

Setando Parâmetros Os seguintes parâmetros podem ser setados nos módulos


analógicos:
dos Módulos • tipo de medição, tais como tensão ou corrente
• Faixa de medição, tais como 0 a 10V
• Teste de fonte de tensão
• Supervisão de quebra-de-fio;
• Valores substitutos de saída (tomar último valor)
• Habilitar interrupção de diagnóstico (OB82) originada por falha.
• Interrupção fim do ciclo de leitura, depois que todos os valores de
medição tenham sido processados (processamento de canais
individuais ou um após o outro). Isto pode ser útil para assegurar que
o valor real de medição é o que está sendo considerado no
programa.

Importante 1) Verifique quais os parâmetros disponíveis para o módulo que está


sendo utilizado.
2) Para a faiza de medição, além da parametrização via SW é
necessário posicionar a caixa de medição na placa (pos. A, B, C ou
D).

48 SENAI
Controlador Lógico Programável

5.16 Configurando uma estação de Hardware

Objetivo Criar uma estação de HW


Configurar o Hardware

Procedimento 1. Destaque a pasta de projeto PRO1


2. Selecione no menu o comando Insert  Station  SIMATIC 300
Station (ou use o botão direito do mouse e o comando Insert New
Object  SIMATIC 300 Station.
3. Uma nova estação S7-300 é criada.
4. Destaque a pasta da estação recém criada (SIMATIC 300 Station (1))
e dê um clique duplo sobre o ícone Hardware.
5. O configurador de Hardware é aberto.
6. Selecione no catálogo todos os módulos existentes no seu rack de
treinamento (comece obrigatoriamente com o trilho (rack)).
7. Salve a configuração no harddisk.

Resultado Uma estrutura CPU, Programa, Blocos, etc. é criada subordinada à


pasta de estação.

SENAI 49
Controlador Lógico Programável

5.17 Parametrizando a CPU – Área de Memória Retentiva

Objetivo Parametrizar um módulo (CPU). Testar a Característica Retentive.

Procedimento 1. Inicie o Configurador de Hardware


2. Dê um clique duplo sobre a linha que contém a CPU (ou destaque a
linha da CPU e com o botão direito do mouse selecione a função Object
Proprieties).
3. Selecione a Pasta Retentive Memory.
4. Parametrize os Memory markes de 0 a 4 como retentivos (MB0 a
MB4)
5. Selecione a pasta Cicle 1 Clock Memory
6. Parametrize o clock memory com o memory marker 100 (MB 100)
7. Confirme a parametrização com o botão “OK”.
8. Salve a configuração.
9. Dê um Download da configuração para a CPU (lembre-se a CPU tem
que estar em Stop).
10. Escreva um programa no OB 1 tranferindo os dados do clock-
memory para MB4 e MB5:
L MB100
T MB4
T MB5
11. Coloque a CPU de STOP  Run e observe com a função Monitor
Variables os memory markes MB4 e MB5.
12. Delete as instruções do OB1 (ou o próprio OB1).
13. Repita o passo 11
Resultado O que aconteceu com o MB4 e o MB5 no 2º Start da CPU ? Por que não
possuem o mesmo conteúdo ?

50 SENAI
Controlador Lógico Programável

Princípios Básicos de
Programação
6.1 Norma IEC 1131

A norma IEC 1131 é um documento escrito por um consórcio de fabricantes de PLC’s, casas
de sistemas e instituições direcionadas a desenvolver plataformas para níveis de
padronizações na automação idustrial.

Informações Contém características de funções e definições de termos gerais


Gerais comuns para PLC’s. Por exemplo, processamento clínico, imagem de
processo, divisões de tarefas entre dispositivos de programação, PLC
interface Homem máquina.

Itens Exigidos Especifica funções elétricas e mecânicas e exigências funcionais dos


dispositivos e definições dos tipos de testes. As seguintes exigências
são definidas:
Temperatura, umidade, imunidade e interferências, faixa de tensão de
sinais binários, rigidez mecânica.

Linguagem de Especificações para linguagem de programação. As linguagens


Programação de programação foram harmonizadas e novos elementos foram
incluídos. Além de STL, LAD e FBD o “texto estruturado” foi incluído com
a quarta linguagem.

Diretrizes para Contém as diretrizes para os usuários de PLC. Informações para todos
Usuários os estágios do projeto estão disponíveis, tais como: iniciando análise de
sistema, fase de especificação, seleção de manutenção de dispositivos.

Comunicação Descreve a comunicação entre os PLC’s de vários fabricantes e entre


PLC’s e outros dispositivos. Baseado na norma MAP, os utilitários de
comunicação do PLC são definidos com normas suplementares para
ISSO/IE 9506-112. Blocos de comunicação são descritos em conjunto
com operações padronizadas de leitura e escrita.

SENAI 51
Controlador Lógico Programável

6.2 Ciclo de Processamento da CPU

Bloco de inicialização (OB 100 / OB 101), processa uma Módulo de Entrada


vez depois de energizada a CPU, por exemplo.

Inicialização de monitoração do tempo do ciclo

Lê o estado dos sinais dos módulos de entradas e salva


os dados na tabela imagem da entrada do processo
(PII).
OB1
Executa o programa OB1 (processamento cíclico) A I0.1
Eventos (interrupção de tempo, interrupção de A I0.2
hardware, etc.) =Q8.0
Chama outros OB’s, FB’s, FC’s, etc.

Transfere os dados da tabela imagem das saídas do Módulo de Saída


processo (PIQ) para os módulos de saída.

Ciclo de scan da CPU

Start-Up Quando você muda de STOP  RUN, a CPU executa um restart


simples ou completo (S7-300 só completo), também denominado com
Cold-restart ou Warm-restart. Para um completo restart, o sistema
operacional deleta os memory markers não retentivos, temporizadores e
contadores, deleta a pilha de interrupções e pilha de blocos, reseta as
interrupções de hardware salvas e interrupções de diagnóstico, e
inicializa a supervisão do tempo de ciclo.
O S7-400 tem um tipo de start-up adicional, Restart. No restart, todos os
dados são retidos e o processamento do programa continua depois do
ponto de interrupção.

Ciclo de Como mostrado na figura acima, a operação cíclica da CPU consiste


Programa de 3 componentes principais:
• A CPU atualiza o estado dos sinais de entrada na tabela imagem das
entradas (PII).
• A CPU executa o programa do usuário com as respectivas
operações.
• A CPU escreve os valores da tabela imagem das saídas (PIQ) no
módulo de saídas.

52 SENAI
Controlador Lógico Programável

6.3 Start-Up da CPU e OBs

Restart Completo Restart

Manual: STOP  RUN para S7-400 CRTS ativado Pré-requisitos: Seta parâmetros para restart
Automático: Power ON Manual: STOP  RUN e ativa WRST

Deleta as imagens do processo, Execução do OB 101


não retentiva
F.T.C.
Executando o ciclo residual

Executando o OB 100
Deletando PIQ (parametrizável)

Habilita saídas
Sim
PARA Falha tensão tempo
Lê em PII excedido?
Não
Executa OB 1 Habilita Saídas/L em PII

Saída PIQ Executa OB 1/ atualiza PIQ no


final

Restart Completo A CPU executa um completo restar quando vai do modo STOP para
RUN, processo este denominado START-UP (inicialização).
Durante o Start-Up são executadas as seguintes tarefas:
 Zera as tarefas retentivas de memória: markers, temporizadores e
contadores.
 Zera as pilhas de interrupção e bloco; deleta todas as interrupções e
diagnósticos de interrupção, zera a imagem do processo de I/O’s.
 Transfere os parâmetros para os módulos.
 Lê as configurações de I/O e compara o estado atual das I/O’s com o
estado esperado.
 OB executa o completo restart (OB100).
 Habilita saídas.

Restart As CPU’s do S7-400 tem a capacidade de executar um Restart warm


restart) quando ocorre um Start-Up. O modo do Restart, completo ou
warm, é selecionado nestas CPU’s por uma chave na CPU (sob certas
condições).
Quando um Restart ocorre, a CPU executa o seguinte:

 Executa o OB de warm restart (OB101)


 Executa o ciclo residual
 Deleta a PIQ a área de saída (parametrizável)
 Habilita saídas

SENAI 53
Controlador Lógico Programável

6.4 Imagem do Processo

I 0.0 I 0.1 I 0.2 Q 6.0

Q 6.0

SM
0
0
0 Entrada
0 Digital
0
0
0
0
PII PIQ
Byte 0 1 Byte 0
Byte 1 Byte 1
Byte 2 Byte 2

Programa
do Usuário
1

Bit 7 Bit 0 Bit 7 Bit 0

Definição Denomina-se imagem de Processo à uma área de CPU onde os estados


das entradas e saídas binárias são a cada ciclo armazenadas. Existem
áreas distintas para as entradas e para as saídas: PII e PIQ.
Normalmente o programa do usuário quando acessa uma entrada ou
saída digital está lendo na realidade esta área.

PII A tebela imgem das entradas do processo é o local onde o estado das
entradas digitais são arquivadas na CPU. Antes do início de cada ciclo
de programa, a CPU lê a periferia (módulos de entrada digital) e
transfere os estados dos sinais digitais para esta área.

PIQ A tabela imagem das saídas contém o valor das saídas resultantes do
processamento do programa. Somente no final do ciclo de programa,
estes valores de saídas são transferidos para os módulos de saídas (Q).

Programa do Quando você lê uma entrada no programa (com A I 2.0 por


Usuário exemplo), o último estado da PII é utilizado na lógica do programa. Isto
garante que um mesmo estado do sinal seja fornecido durante um ciclo
de scan.

54 SENAI
Controlador Lógico Programável

6.5 Tipos de Blocos de Programa

Ciclo OB
FB FC FB
Tempo Bloco de

Processo Organização

FB FB SFC
Erro

Modo de Operação do Sistema

OB = Bloco de Organização
FB = Bloco de Função Legenda:
FC = Função
SFB = Bloco de Função do Sistema
SFC = Função do Sistema Bloco de Dados
SDB = Bloco de Dados do Sistema Instance
DB = Bloco de Dados

Blocos de Sistema Blocos de sistema são funções pré-definidas ou blocos de


funçãointegradas ao sistema operacional da CPU. Estes blocos não
ocupam nenhum espaço adicional na memória do usuário. Os blocos de
sistema são chamados pelo programa do usuário. Estes blocos tem a
mesma interface, a mesma designação, e mesmo número em todo o
sistema (S7-300/400). Então, você pode facilmente portar o programa do
usuário entre várias CPU’s.

Blocos do Usuário Os blocos de usuário são áreas providas para administrar o código e
os dados para seu programa. Baseado nas necessidades do seu
processo, você pode estruturar seu programa com várias opções de
blocos de usuário. Alguns desses blocos podem ser executados
ciclicamente, enquanto outros blocos podem ser executados somente
quando necessitado. Blocos de usuário são também chamados de
blocos de programa.

SENAI 55
Controlador Lógico Programável

6.6 Blocos do Usuário

Tipo de Blocos Características


Bloco de Organização Interface do usuário entre sistema e o programa (OB)
Níveis de propriedades (1 a 26)
Informações especiais de inicialização na pilha de dados locais
Bloco de Função (FB) Parametrizável / retentivo
Não parametrizável / retentivo
Não parametrizável / não retentivo
Função (FC) Um valor de retorno será transferido
(parâmetros devem ser designados para a chamada)
Não retentivo
Parametrizável
Bloco de Dados (DB) Estruturado, arquiva dados locais (DB Instance)
Estruturado, arquiva dados globais (válido no programa inteiro)

Blocos de Forma a interface entre a CPU e o programa do usuário. Pode-se


Organização (OB) escrever um programa inteiro no OB1 e deixá-lo processando a cada
ciclo. Pode-se porém escrever um programa em diferentes blocos e usar
o OB 1 para chamar estes blocos quando necessário. Além do OB 1, o
sistema operacional pode chamar outros OB’s que reagem a certos
eventos, tais como:
• Interrupção Data Programada
• Interrupção de tempo de ciclo
• Interrupção de Diagnóstico
• Interrupção de Hardware
• Interrupção de Erros
• Start-Up do Hardware

Bloco de Função Um bloco de função é uma função ou uma seqüência de


(FB) comandos armazenadas em um bloco lógico, onde os parâmetros
podem ser arquivados em uma memória. O FB utiliza esta memória
adicional na forma de um “Bloco de Dados Instance”.
Parâmetros passados para o FB, e alguns dos dados locais são
arquivados neste bloco de dados associado (Instance DB). Outros dados
temporários são arquivados na pilha local (L stack). Dados arquivados
em Instance DB são retidos quando o bloco de fução é fechado. Dados
arquivados na pilha L stack não são retidos.

Funções (FC) A função é um bloco de operação lógica similar ao bloco de função para
o qual não é designado área de memória. Um FC não necessita de um
bloco de dados Instance. As variáveis locais são arquivadas na pilha
local (L stack) até que a função esteja concluída, sendo perdidos quando
o FC termina a execução.

Bloco de Dados Um bloco de dados é uma área de dados permanente no qual dados
(DB) ou informações que outras funções coletaram são armazenados. Bloco
de dados são área de leitura / escrita que podem ser carregadas na CPU
como parte de seu programa.

56 SENAI
Controlador Lógico Programável

6.7 Blocos de Sistema

Tipo de Bloco Características


Função de Sistema (SFC) Arquivados no sistema operacional das CPU’s
Usuário pode chamar esta função (sem memória)
Bloco de Função de Sistema (SFB) Arquivados no sitema operacional das CPU’s
Usuário pode chamar esta função (com memória)
Bloco de Dados de Sistema (SDB) Blocos de dados para configuração de dados e
parâmetros

Função de Sistema Função de sistema é uma função pré-programada e testada


(SFC) que é integrada na CPU. Algumas das tarefas suportadas por
estas funções são setar parâmetros dos módulos, comunicação
de dados, funções de cópia, etc. Uma SFC pode ser chamada
pelo programa, porém sem fazer parte dele (não ocupa memória
de trabalho).

Blocos de Função Um bloco de função de sistema é parte integral da CPU. Você


de Sistema (SFB) pode utilizar um SFB em seu programa, sem carregar como parte
de seu programa porque os SFB’s são parte do sistema
operacional. SFB’s devem ser associados a um DB, o qual deverá
ser transferido para a CPU como parte do seu programa.

Bloco de Dados Um bloco de dados de sistema é uma área de memória que a


de Sistema (SDB) ferramenta STEP 7 gera para arquivar dados necessários para o
controle de operações. Informações, tais como dados de
configuração, conexões de comunicação e parâmetros são salvos
em SDB’s.

SENAI 57
Controlador Lógico Programável

6.8 Estrutura de Programa

O STEP 7 fornece 3 possibilidades para o desenvolvimento de seus programas. Baseado


nesta diretriz, você pode decidir qual é a estrutura de programa mais apropriada para a sua
aplicação.

Linear Particionando Estrutura

Recipiente A
Exaustor
Recipiente B
OB 1 OB 1 OB 1
Bomba
Misturador

Exaustor
Programa Estruturado:
Programa Linear: Todas Programa Particionado: Códigos reutilizáveis estão
As instruções estão Instruções para cada dispositivo em blocos individuais. O
Contidas em um bloco estão contidos em blocos OB1 (ou outro bloco)
(novamente no OB1) idividuais. OB1 chama cada chama esses blocos e
bloco em seqüência. passa os dados relevantes.

Programa Linear O programa inteiro reside em um único bloco de instruções contínuo.


Esta estrutura é semelhante a um circuito de relés substituídos por um
controlador lógico programável. O sistema processa instruções
individuais sucessivamente.
Programa O programa é dividido em blocos, cada bloco contém uma lógica
Patrocinado específica para dispositivos ou tarefas. As informações residentes no
bloco de organização (OB1) determinam a ordem de execução dos
blocos a serem processados. Um programa patrocinado pode, por
exemplo, conter blocos de instruções com os quais os modos de
operações individuais de um processo industrial são controlados.
Programa Um programa estruturado contém blocos de instruções com
Estruturado parâmetros definidos pelo usuário (blocos parametrizados). Estes blocos
são projetados de forma que possam ser usados universalmente. Os
parâmetros atuais (os endereços de entradas e saídas) são
especificados durante a chamada do bloco. Exemplos de blocos
parametrizáveis:
• Bloco “BOMBA” contém instruções para uma bomba, com um set de
entradas e saídas exigidas para qualquer bomba usada no processo.
• Bloco lógico responsável pelo controle específico de bombas, chama
(abre) o bloco “BOMBA” e fornece informações para identificar qual
bomba irá ser controlada.
• Quando o bloco completa a execução das instruções, o programa
retorna ao bloco de chamada (por exemplo: OB1), no qual conclui as
instruções.

58 SENAI
Controlador Lógico Programável

6.9 Programação Estruturada

OB1 FC1

Motor 1

FC1

Motor 2

FC1

Motor 3

O que é A programação estruturada identifica tipos similares ou repetitivos


Programação de funções solicitadas pelo processo e fornece soluções genéricas que
Estruturada podem ser usadas por várias outras tarefas. Fornecendo informações
específicas (em forma de parâmetros) para os blocos de instruções, o
programa estruturado é capaz de usar de novo estes blocos genéricos.
Pode considerar-se como exemplo destes blocos:

 Blocos que contenham lógicas comuns para todos os motores AC no


sistema do transportador.
 Blocos que contenham lógicas comuns a todas as solenóides na
máquina.
 Blocos que contenham lógicas comuns a todos os acionamentos da
máquina.

Como é O programa dentro do OB1 (ou outro bloco) chama estes blocos
executado? Genéricos para a execução. Assim dados e códigos considerados
comuns podem ser compartilhados.

Quais vantagens Ao invés de repetir estas instruções e então substituir os


e Desvantagens? diferentes endereços para os específicos equipamentos, você pode
escrever as instruções no bloco e ter um programa para passar os
parâmetros (tais como endereços específicos de equipamentos ou
dados) para o bloco. Isto permite a você escrever blocos genéricos que
mais que um dispositivo ou processo possa usar. Quando usar uma
programação estruturada você tem que gerenciar os dados que são
arquivados e utilizados pelo programa.

SENAI 59
Controlador Lógico Programável

O Editor de Programas
7.1 Selecionando um Bloco para Editar

Editando um bloco
Existente:
- selecione a pasta
que contém o bloco;
- clique duas vezes
sobre o bloco.

Editando um novo
bloco:
- selecione a pasta
que deverá conter o
bloco;
- Pressione o botão
direito do mouse;
- Selecione “Insert
New Object” e o tipo
de bloco desejado;
- Clique duas vezes
sobre o bloco criado

60 SENAI
Controlador Lógico Programável

Para editar um bloco, siga os passos abaixo:

• Selecione a pasta que contém o bloco existente ou a pasta na qual o novo bloco será
armazenado.
• Os blocos existentes são listados na janela à direita.
• Selecione o bloco a ser editado, clicando duas vezes sobre ele. Alternativamente pode-
se editá-lo selecionando-o então com o botão direito do mouse ativando-se a função
“Open Object”.
• Para se criar um bloco, seleciona-se a pasta na qual o bloco será armazenado, e com o
auxílio do botão direito do mouse selecionando-se a função “Insert New Object” e o tipo
de bloco desejado.
• Clica-se duas vezes sobre o ícone do novo bloco criado que o editor de programa será
aberto.

SENAI 61
Controlador Lógico Programável

7.2 Selecionando a Linguagem de Programação

Pode-se editar o programa STEP 7 em 3 linguagens diferentes: Diagrama de Contratos


(LAD), Diagrama de Blocos Funcionais (FBD) ou Lista de Instruções (STL).

Seleção Usando a opção “VIEW” na barra de menu, pode-se selecionar a


linguagem de edição entre diagrama de contados (LAD), blocos
funcionais (FBD) ou lista de instruções (STL). Esta opção está disponível
desde que um bloco esteja aberto.

LAD  STL Blocos originalmente criados em diagrama de contatos podem ser


convertidos sempre para lista de instruções. Note que a conversão não
necessariamente resulta em código de programa eficiente em lista de
instrução.

STL, LAD ou FBD Blocos criados originalmente em lista de instruções nem sempre são
convertidos totalmente em diagrama de contatos ou blocos funcionais.
Ao se fazer esta opção de conversão, através da opção “view”, o Editor
de Programa converterá todos os segmentos de programas que podem
ser convertidos. Segmentos de programa não “conversíveis” se mantém
na linguagem lista de instruções. Esta “não conversão” não significa que
haverão problemas de execução do programa, sendo somente
conseqüência da sintaxe de visualização de cada linguagem. Para
garantir que a conversão seja sempre realizada, o usuário deverá tomar
certos cuidados durante a edição (ex.: escrever uma única lógica por
segmento).

62 SENAI
Controlador Lógico Programável

7.3 Seções do Editor de Programa

Tabela de Declarações

Título do Bloco
Segmento

Seção de Instruções

O Editor de Programas possui duas áreas com funções bem definidas: tabela de
declarações e a seção de instruções.

Tabela de Esta tabela serve para declarar variáveis e parâmetros para o bloco.
Declarações As variáveis locais (temporárias) são definidas para uso no bloco nesta
tabela. A parametrização torna possível passar variáveis entre blocos
para que sejam usados universalmente.

Seção de Nesta área é especificada a seqüência e a lógica do programa


Instruções (instruções).Durante a edição dos operandos, a sintaxe é verificada,
destacando imediatamente qualquer erro.Cada pequena lógica do
programa é definida dentro de um segmento (Network). Entende-se com
lógica, a combinação de blocos que resultará numa saída / flag sendo ou
não acionado.Nas linguagens LAD/FBD o próprio editor não permite que
seja realizado mais que uma lógica por segmento. No modo STL é
possível ter várias lógicas por segmento, porém se compromete a
capacidade de se visualizar em outras linguagens (LAD/FBD).

Comentários O editor permite ainda o acréscimo de comentários: título e comentário


do bloco e título e comentário para cada segmento. Através da função
View  Comments pode-se visualizar ou não estes comentários.

SENAI 63
Controlador Lógico Programável

7.4 Editando em Diagrama de Contatos – LAD

A edição do programa em diagrama de contatos é feita basicamente com o auxílio do


mouse. Basta posicionar o ponto e selecionar o elemento que deve ser inserido no
programa. Após isto, digita-se o endereço dos operandos (por ex.: I 0.0, M 43.5). Os
elementos lógicos são encontrados ou na barra de ferramentas na forma de ícone ou
através de um catálogo de instruções, como mostrado na figura acima.

Elementos Comuns F2 - Scan para sinal “1” (contato aberto)


com seus ícones F3 - Scan para sinal “0” (contato fechado)
F7 - Output coil (saída)
F8 - Ramificação para baixo (abrindo)
F9 - Ramificação para cima (fechando)
F12 - Conexão

F2 F3 F7 F8 F9

Catálogo de Outros elementos (instruções) são acessados pelo catálogo de


Instruções instruções,acessado pelo ícone ao lado ou pela combinação das teclas
Ctrl + K.

64 SENAI
Controlador Lógico Programável

7.5 Editando em Blocos Funcionais-FDB

Semelhante ao modo LADDER, a edição em blocos funcionais é feita com o auxílio do


mouse. Selecione o ponto em que deve ser inserido o elemento e a partir do catálogo de
instruções ou da barra de ferramentas selecione o elemento desjado. Para endereçar os
operandos, selecione o campo apropriado e digite o operando (ex.: Q 2.6, M 4.5).

Este ícone dá acesso ao catálogo com todas as instruções FBD.

Comentários Os comentários são editados como no modo diagrama de contatos.

Correções Posicione o cursor do mouse sobre o elemento e pressione a tecla DEL.

Regras • Blocos padrões (flip-flops, contadores, temporizadores,


operações matemáticas, etc.) podem também Ter outro bloco com
operações lógicas binárias (&, >=1, XOR) associado. As exceções
para esta regra são os blocos de comparação.
• Em um único segmento, não é possível programar operações que
são separadas por saídas. É possível, entretanto, com o auxílio do T-
branch, que à uma única lógica estejam associadas diversas saídas.
• Deletando um bloco, todas as ramificações que são conectadas com
a entrada booleana, com exceção da ramificação proncipal, são
deletadas.
• Modo de sobrescrever é disponível para troca simples de elementos
do mesmo tipo.

SENAI 65
Controlador Lógico Programável

7.6 Demonstração: Editando e Depurando um Bloco de Programa

Esta demonstração auxilia a familiarizar-se com os ítens de menu para a edição e


depuração do seu bloco. Estas ferramentas são necessárias quando você for escrever o seu
programa no próximo exercício. Será demonstrado o seguinte:

• Edição de um bloco pré-existente


• Seleção de uma linguagem de programação – LAD/FBD/STL
• Criar segmentos (networks)
• Usar os elementos da barra de ferramentas
• Usar os elementos do catálogo de instruções
• Salvar um bloco de programa
• Transferir um bloco de programa para o PLC
• Selecionar o modo on-line
• Exibir o status do programa

66 SENAI
Controlador Lógico Programável

7.7 Editando o OB1

Modo Offline

Clique duas
vezes sobre o
ícone do bloco

Selecione a pasta
Blocks

Objetivo Editar o OB1 (criado automaticamente sem instruções)

Procedimento 1. Destaque a pasta Blocks do S7 Program, subordinado à estação de


Hardware.
2. Selecione no campo de diálogo View  Off-Line.
3. Selecione 0B1 (double click).
4. Com ajuda dos símbolos na barra de ferramentas, digite o seguinte
programa em ladder.

Resultado

Notas Para posicionar o promeiro elemento, aponte o cursor para a linha da


network. Use ossímbolos de programa da barra de ferramentas.
Posicione o cursor em cima do símbolo (tecla TAB ou mouse) para
digitar o endereço. Use a tecla TAB para saltar entre os elementos.

SENAI 67
Controlador Lógico Programável

7.8 Selecionando o método de Representação

Depois de você Ter aberto o bloco, selecione o método de representação que você quer
utilizar...

Depois do bloco aberto, pode-se escolher entre os métodos de representação LAD


(Diagrama Ladder), FBD (Blocos de Função) e STL (Lista de Instruções). Todas as
instruções são sempre convertidas para STL, porém a conversão para LAD/FBD nem
sempre ocorre em todos os segmentos.

Objetivo Selecionar a linguagem de programação para edição do bloco.

Procedimento 1. Abrir um bloco para edição (por ex.: o 0B1 do exercício anterior)
2. Selecionar o modo de edição / visualização:
• LAD, selecionar no menu de comando View  LAD.
• STL, selecionar no menu de comando View  STL.
• FBD, selecionar no menu de comando View  FBD.

Resultado Seu programa é representado em um dos seguintes tipos de


representação:

Diagrama Ladder

Lista de Instruções

Bloco de Funções

68 SENAI
Controlador Lógico Programável

7.9 Salvando um Bloco

Para salvar, sem mudar o nome do bloco do arquivo, usar: File  Save ou clique no ícone...

Para salvar um bloco com um nome diferente ou uma localização diferente: File  Save as

Como qualquer editor de programas/textos, é necessário salvar seu trabalho após a edição.
Isto é como um “Save” normal do Windows, o qual pode ser usado com os dois
procedimentos exibidos acima.
Quando usado o comando de menu File  Save As, deve-se especificar o projeto,
programa e nome do bloco para este arquivo. Depois de salvo, este bloco se encontra com
um ícone na pasta Blocks do projeto/programa em que foi salvo. Pode-se utilizar o SIMATIC
Manager como o “Explorer” para copiar ou mover o bloco para outros projetos, CPU’s, etc.

Objetivo Salvar um bloco de programa.

Procedimento 1. Selecionar no menu de comando File  Save ou clique no ícone


Save.
2. Ou selecione no menu de comando File  Save As e especifique o
arquivo de destino.

Resultado 1. Salva o bloco de programa com o nome especifico quando o bloco


está aberto.
2. Com “Save As” o bloco de programa é salvo com o nome que você
digitar.

SENAI 69
Controlador Lógico Programável

Nota O programa não é copiado para a CPU através do procedimento “Save”.


7.10 Transferindo um Bloco para a CPU

Para transferir um bloco para a CPU...

Entre no menu PLC  Download ou no ícone Download.

Depois de editado o programa, o próximo passo é transferir o bloco para a CPU. Usando o
editor LAD/STL/FBD pode-se transferir um bloco individualmente enquanto ele estiver
aberto, ou pode-se usar alternativamente o SIMATIC Manager para transferir o bloco. O
procedimento para usar o SIMATIC Manager é descrito nos próximos exercícios
(transferindo o programa).

Objetivo Transferir um bloco (OB1) para a CPU com o editor LAD/STL/FBD.

Procedimento Quando o editor LAD/STL/FBD estiver aberto, selecione o menu de


comando PLC  Download (um clique no ícone Download exibido
acima). Responda as questões no menu de exibição.
Quando você responde com “Yes”, o bloco presenta na CPU é sobre
escrito.
Quando você responde com “No”, o bloco original permanece na CPU, e
seu bloco não é tranferido. Para este exercício selecione “Yes”, porque
você deseja usar um novo bloco por você editado, e não o bloco antigo.

Resultado Seu novo programa é escrito na CPU.

70 SENAI
Controlador Lógico Programável

7.11 Estabelecendo Conexão ONLINE

On-line significa que os objetos exibidos são os blocos residentes na CPU. Esta conexão
não depende da CPU estar em modo RUN ou modo STOP. Com o STEP 7 você pode
estabelecer conexão de dois métodos:

Objetivo Usar o Editor LAD/STL/FBD para estabelecer conexão com a CPU.

Procedimento Use o Editor S7 LAD/STL/FBD para abrir ou editar o bloco na CPU.


1. Selecione “Program S7 Blocks (LAD/STL/FBD)”
2. Selecione no menu de comando File  Open.
3. Selecione a opção View  On-line da linha drop-down.

Depois que foi selecionado “On-line”, o dispositivo de programação seta


a conexão. Os blocos localizados na CPU são exibidos no menu. Para
editar ou depurar um desses blocos, selecione o bloco pertinente na
lista. É possível ter mais que um bloco aberto simultaneamente. Quando
você executar este procedimento e selecionar a opção “Arrange” no ítem
Window do menu, você pode ver os dois blocos simultaneamente.

Objetivo Usar o SIMATIC Manager para estabelecer a conexão com a CPU.

Procedimento O SIMATIC Manager pode também ser usado para abrir ou editar
blocos na CPU (o Editor LAD/STL/FBD é iniciado automaticamente).
1. Inicie o SIMATIC Manager.
2. Selecione no menu de comando View  On-line.

Quando você selecionar o diretório da CPU, o SIMATIC Manager exibe


os nomes de todos os blocos localizados na CPU. Você também pode
usar este menu para abrir blocos para edição e depuração de
programas.

SENAI 71
Controlador Lógico Programável

7.12 Exibindo o Status de Programa

O bloco deve ser aberto on-line para que o processo seja monitorado. A seção de instrução
dos blocos exibe o estado de operação quando os valores mudam. Em LAD, um código de
cores exibe o fluxo de corrente, e contatos abertos ou elementos são representados por
linha pontilhada. Entre outras coisas, as cores e os tipos de linhas podem ser mudados via a
função do menu Options Customize  LAD/STL/FBD.

Objetivo Depurar o bloco enquanto ele está sendo processado pela CPU.

Procedimento 1. Use um dos procedimentos do exercício anterior para selecionar o


bloco que deseja testar (modo on-line).
2. Selecione o método de representação View  LAD/STL ou FBD.
3. Selecione no menu de comando Debug  Monitor.

Resultado Os elementos do programa e os símbolos são exibidos e ativados se


logicamente verdadeiros. Os valores que não são “Logicamente
Verdadeiros” não são destacados.

72 SENAI
Controlador Lógico Programável

Operações Lógicas Básicas


8.1 Instruções de BIT

Instrução LAD FBD STL


I 1.0
I 1.0
Scan para sinal “1” A I 1.0
I 1.1
I 1.0
Scan para sina “0” AN I 1.1
Q 8.1 Q 9.0
Assign Output (saída) = Q8.0
Q 9.0 Q 9.0
Seta Saída S Q 9.0
SS S
Q 9.0
Q 9.0
Reseta Saída R R R Q 9.0

M 10.0 M 10.0
Seta/Reseta Flip Flop I 0.1 A I 0.1
SR_FF SR_FF
S Q
I 0.1
S Q
S M 10.0
I 0.2 I 0.2
R R A I 0.2
R M 10.0

As instruções de BIT trabalham com dois valores, 1 e 0. Com instrução na forma de um


contato ou de uma saída, 1 indica ativado ou energizado; 0 indica desativado ou
desenergizado. Instruções de BIT interpretam o estado do sinal 0 ou 1 e os combina de
acordo com a lógica booleana. O resultado destas combinações é 0 ou 1, denominado como
“Resultado da Operação Lógica” (RLO).
Instruções de bit:

• Scan para sinal “1”


• Scan para sinal “0”
• Saída
• Conector
• Setar Saída
• Resetar Saída
• Setar/Resetar Flip-Flop
• Resetar/Setar Flip-Flop
• RLO Negado
• Salvar RLO

SENAI 73
Controlador Lógico Programável

8.2 AND, OR e XOR

LAD FDB STL


AND AND AND

OR
OR
OR

XOR XOR
XOR

A descrição das instruções é baseada nos exemplos acima.

AND Se, e somente se, o estado do sinal I 0.0 = I 0.1 = 1, o resultado da


operação lógica (RLO) é 1, e a saída Q 8.0 torna-se 1. Se uma ou
ambas as entradas tem sinal 0, o RLO é 0 e a saída torna-se 0.

OR Se o estado do sinal I 0.2 = 1 ou I 0.3 = 1, o RLO é 1 e a saída Q 8.1


torna-se 1. Se nenhuma das entradas for 1, o RLO é 0 e a saída torna-
se 0.

XOR As instruções XOR torna o RLO 1 se e somente se uma das entradas


for 1. Se nenhuma das entradas for 1 ou se ambas forem 1, o RLO é 0 e
a saída torna-se 0.

74 SENAI
Controlador Lógico Programável

8.3 Resultado das Operações Lógicas – Firt Check

RLO As instruçõesvistas até agora tratam principalmente de checks e


designações. Isto significa: O scan pocessa o estado do sinal de
entrada, saída, memory markers (flag), e designa um estado de sinal
para saída ou memory markers (flag).
Dois ou mais bits que forem verificados em função de uma associação
qualquer geram uma operação lógica. O resultado desses checks é o
resultado da operação lógica (RLO). O resultado de uma operação
lógica de uma AND ou uma OR pode então ser designado a uma saída
ou a uma memória (flag).

First Check O tempo first check (primeira verificação) indica que está sendo
executada a primeira instrução de uma lógica. Isto significa que uma
nova operação lógica se iniciou, e que o resultado (RLO) da operação
lógica anterior não será considerado. Isto torna sem importância, qual
instrução (por ex.: AND ou OR) está sendo utilizada como primeira
instrução de uma lógica escrita em STL.
O “frst check” é gerado automaticamente pelo PLC sempre que uma
lógica foi encerrada (por ex. uma saída foi setada) ou um novo bloco foi
iniciado.

SENAI 75
Controlador Lógico Programável

8.4 Setting de Instruções – Resetando e Salvando

LAD FBD STL

Set

Reset

Reset/Set
O
Flip flop

Set/Reset
O
Flip flop

A função flip-flop consiste de operação de SET E RESET. As operações de Set e Reset


somente são executadas quando RLO=1. Quando o RLO=0, o estado atual permanece
inalterado. Se a condição para ambos, set e reset são verdadeiros simultaneamente, então
em STL, a instrução programada por último tem prioridade. Em LAD e FBD é possível
selecionar o bloco com prioridade na entrada setar ou na entrada resetar.

Set Quando o RLO=1, o endereço é setado e permanece inalterado até a


condição de reset ser executada. Se, neste exemplo, o estado do sinal
de I 1.0=1, mesmo por um único ciclo, a saída Q 9.0 torna-se e
permanece até que seja resetado por outra instrução.

Reset Quando o RLO=1, o endereço é resetado. Se, neste exemplo, o estado


do sinal de I 1.1=1, mesmo por um único ciclo, a saída Q 9.0 torna-se 0.

Flip-flop Set/Reset Se o estado do sinal de entrada S=1, e a entrada R=0, o endereço


(bloco acima) é setado.

Reset dominante: se o estado do sinal R torna-se “1”, o endereço setado


anteriormente é resetado para 0, independente do estado da entrada S
(reset dominante).

Flip-flop Reset/Set Com este tipo de bloco, o set é dominante.

76 SENAI
Controlador Lógico Programável

8.5 Instruções que Influenciam o RLO

LAD FBD STL

NOT NOT NOT


I 0.0
A I 0.0
I 0.0 I 0.1 Q 8.0 &
Q 8.0 A I 0.1
NOT
I 0.1 NOT
=
= Q8.0

CLR/SET CLR/SET CLR/SET

Não é exibido em LAD Não é exibido em FBD CLR

Não é exibido em LAD Não é exibido em FBD SET

SAVE SAVE SAVE


I 1.6
SAVE I 1.6 & SAVE A I1.6
SAVE
BR Q8.1 A BR
BR = = Q8.1

NOT NOT é uma instrução para inverter o RLO. Se o RLO precedente a


instrução NOT for 0, este é negado para 1. Reciprocamente, torna-se
zero se o RLO for 1.

CLR O RLO torna-se 0 com a instrução CLEAR, independente da condição


anterior.

SET A instrução SET faz com que o RLO se torne 1.


 LAD/FBD não suportam estas duas instruções (CLR/SET)

SAVE Com a instrução de memória SAVE, o conteúdo do RLO é arquivado no


bit BINARY RESULT (BR) da palavra de status.

A BR O RLO arquivado pode ser verificado novamente usando a instrução


A BR.

SENAI 77
Controlador Lógico Programável

8.6 Avaliação do Flanco de Impulso

Di ag ra m a d e St at u s d o Sin a l
Flanco Positivo Flanco Negativo
RLO
1

LAD FBD STL

I 1.0 M1.0 Q 8.0 A I 1.0


&
I1.0 M 1.0 Q 8.0 FP M 1.0
P = Q 8.0
P =

A avaliação do flanco de impulso é freqüentemente necessária em um programa, na


realidade, sempre quando no programa uma entrada muda para ON ou para OFF, ou
quando o endereço é setado ou resetado isto ocorre.

Flanco de Impulso Quando a entrada I 1.0 muda seu estado de 0 para 1, como mostrado na
Positivo figura acima, a instrução FP identifica esta mudança de estado,
denominada de flanco de impulso positivo, e resulta em um RLO = ”1”
por somente um ciclo, ocorrendo um pulso de largura de um ciclo na
saída Q 8.0.
Para uma instrução FP, uma memória auxiliar (flag) deve ser
especificada (pode também ser bit de dados) no qual o estado do RLO é
arquivado. Esta é a maneira pela qual uma mudança de sinal pode ser
identificada no próximo ciclo.

Flanco de Impulso Para um flanco de impulso negativo, o pulso de scan ocorre quando
Negativo o RLO muda de “1” para “0”.
O símbolo para isto em STL é o “FN”, e em LAD, existe a letra “N” no
símbolo de saída.

78 SENAI
Controlador Lógico Programável

8.7 Operações Básicas

Network 1 Network 6
I0.0 I0.1 AND Q8.0 I0.6 Reset Q8.4
R
Network 2 Network 7
I0.0 I0.1 AND negada Q8.1 I0.2 I0.4 Latch Solar Q8.5

Q8.5
Network 3
I0.2 OR Q8.2

I0.3 Network 8 Conector


I 0.5 I 0.6 M0.0 I 0.7 Q8.6
#
Network 4 Network 9
I0.2 I0.4 OR antes AND Q8.3 M0.0 Bit de memória Q8.7

Network 10
Network 5 I 1.0 I1.1 XOR Q9.0
I0.5 Set Q8.4
S I1.0 I1.1

Objetivo Entender os elementos lógicos comuns e combinações de operações


lógicas binárias, e começar a familiarizar-se com o Editor S7
LAD/STL/FBD digitando operações lógicas.

Procedimento 1. Editar um 0B1 (se existente, deletar o seu conteúdo).


2. Digitar as operações lógicas mostradas. Usar uma network para cada
função.
3. Salvar, carregar e depurar os blocos na CPU. (Quando carregando,
especificar se o 0B1 irá sobrescrever o da CPU).

Resultado No modo Debug, pode-se visualizar o resultado das operações lógicas.

SENAI 79
Controlador Lógico Programável

Temporizadores, Contadores e
Comparadores
9.1 Temporizadores com Retardo

LAD FBD STL

Exemplo:
Entrada com
atraso
S_OFFDT

O S7 oferece três opções de temporizadores com atraso (delay timer):

On-Delay Timer
RLO em S
S-ODT
RLO em R
Retardo na Energização Tempo
Diparado
Estado
Temporiz.

Off-Delay Timer RLO em S


S-OFFDIT RLO em R
Retardo na Desernegização Tempo
Diparado
Estado
Temporiz.

Retentive On-Delay RLO em S


S-ODTS RLO em R
Retardo na Energização Tempo
com Retenção Diparado
Estado
Temporiz.

80 SENAI
Controlador Lógico Programável

9.2 Temporizadores com Pulso

LAD FDB STL

S_PULSE

O S7 oferece duas opções de temporizadores de pulso:

Pulse
RLO em S
S_PULSE
RLO em R
Pulse
Tempo
Diparado
Estado
Temporiz.

Extended RLO em S
Pulse RLO em R
S_PEXT Tempo
Pulso Extendido Diparado
Estado
Temporiz.

SENAI 81
Controlador Lógico Programável

9.3 Contadores

LAD FDB STL

EXEMPLO:
CONTADORES

As três opções de contadores existentes são descritos a seguir. Uma área de memória é
reservada para os contadores. Esta área de memória reserva uma palavra de 16 bits para
cada endereço de contador até 256 (dependendo da capacidade da CPU). O valor máximo
presetado é 999 (BCD).

Contador Com um “flanco de impulso” positivo na entrada S, o contador é


Crescente S-CU setado com o valor da entrada PV. Iniciando com 0 ou PV, o contador
conta crescentemente a cada vez que existe um flanco de impulso
positivo na entrada CU. A saída Q é sempre 1, enquanto o valor da CV
não for igual a 0. Se houver um flanco de impulso positivo na entrada R
o contador é resetado, isto é, o contador é setado com o valor 0.

Contador Com um “flanco de impulso” positivo na entrada S, o contador é


Descrescente S-CD setado com o valor da entrada PV. Iniciando com 0 ou PV, o contador
conta decrescentemente a cada vez que existir um flanco de impulso
positivo na entrada CD. A saída Q é sempre 1, enquanto o valor CV não
for igual a 0. Se houver um flanco de impulso poitivo na entrada R o
contador é resetado, isto é, o contador é setado com o valor 0.

Up/Down Counter Combinação de controladores crescente e decrescente.


S-CUD

82 SENAI
Controlador Lógico Programável

9.4 Instruções de Temporização e Contagem para Bits

LAD FBD STL


I0.0 T5 T5 SD A I0.0
I0.0 & L S5T#25s
SD SD
SD T5
S5T#25s S5T#25s
I0.1 T9 T9 SF A I0.1
I0.1 & L S5T#15600MS
SF SF
SF T9
S5T#15600ms S5T#15600ms
I0.2 T2 T2 ST A I0.2
I0.2 & L S5T#12s
SP SP
S5T#12s S5T#12s
SP T2
I0.3 T6 T6 SE A I0.3
I0.3 & L S5T#500ms
SE SE
SE T6
S5T#500ms S5T#500ms
I0.4 T10 T10 SS A I0.4
I0.4 & L S5T#20ms
SS SS
SS T10
S5T#20ms S5T#20ms
I0.5 C14 C14
I0.5 & CU A I0.5
CU CU CU C14

I0.6 C17 C17 CD A I0.6


I0.6 & CD C17
CD CD

On-Delay SD Se o RLO mudar de 0 para 1, o temporizador SD é inicializado.


Se o temporizador estiver funcionando, e o RLO mudar de 1 para
0, o temporizador para.
Off-Delay SF Se o RLO mudar de 1 para 0, o temporizador SF é inicializado. Se o
RLO mudar de 0 para 1, o temporizador é resetado. O temporizador
não é completamente reinicializado até que o RLO mude de 1 para 0.
Tempo Pulso SP Se o RLO mudar de 0 para 1, o temporizador SP recebe o valor
dotempo.O temporizador funciona com o tempo específico, contanto
que RLO =1. Se o RLO mudar de 1 para 0 com o temporizador
funcionando o temporizador para.
Tempo Pulso Se o RLO muda de 0 para 1, o temporizador SE recebe o valor do
Extendido SE tempo. O temporizador funciona por um período específico, até mesmo
se o RLO mudar para 0 antes que o temporizador pare. Se o RLO mudar
de 0 para 1, o temporizador é setado novamente. O estado do sinal do
tempo de scan resulta em RLO = 1, contanto que o temporizador esteja
funcionando.
Temp. On-Delay Se o RLO muda de 0 para 1, o temporizador SS recebe o valor de
Retentivo tempo.O temporizador funciona com o tempo especificado, até mesmo
se o RLO mudar novamente para 0 antes que o temporizador pare de
funcionar. Se o RLO mudar de 0 para 1, o temporizador é setado
novamente. O estado do sinal do tempo de scan resulta em RLO = 1,
contanto que o temporizador esteja funcionando.
Contador A bobina CU incrementa de 1 o valor de um contador específico, se
Crescente CU o RLO mudar de 0 para 1.

Contador A bobina CD decrementa de 1 o valor de um contador específico, se


Decrescente CD o RLO mudar de 0 para 1.

SENAI 83
Controlador Lógico Programável

9.5 Carregando e Transferindo Dados

Instrução para Carga no Conteúdo do Accu 1


31 24 23 16 15 8 7 0
0000 0000 0000 IB 0 L IB 0
31 24 23 16 15 8 7 0
0000 0000 IB 0 IB 1 L IW 0
31 24 23 16 15 8 7 0
MB 0 MB 1 MB 2 MB 3 L MD 0

Instrução de Transferência
31 24 23 16 15 8 7 0
MB 0 MB 1 MB 2 MB 3 L MD 0

T QD 4 T QW 4 T QB 4

Acumuladores são memórias auxiliares na CPU para troca de dados entre vários endereços,
para comparação e operações matemáticas. O S7-300 tem dois ACCU’s (acumuladores)
com 32 bits cada, e o S7-400 tem quatro acumuladores com 32 bits cada.

Operação de carga As operações de carga sempre usam o ACCU1. Quando o valor


LOAD é carregado no ACCU1, o valor é arquivado posicionado à direita e as
posições não utilizadas são deletadas. O valor anterior do ACCU1 é
deslocado para o ACCU2 durante a carga.

Operações de Durante a transferência, o conteúdo do ACCU1 é copiado para a área


Transferência de memória de destino (o conteúdo permanece no ACCU1). Se somente
de um Transfer byte é transferido, os oito bits da direita são usados (ver figura).
RLO As instruções de load e transfer são independentes do RLO e são
portanto sempre executadas. Em LAD e FBD, é possível carregar e
transferir condicionalmente utilizando-se a entrada EN do bloco MOVE.
Em STL, você pode implementar isto com jump condicionais.

84 SENAI
Controlador Lógico Programável

9.6 Acumuladores

LAD / FBD STL

MOVE L – Load T – Transfer


EN ENO (Todos os tipos de dados com 8, 16, 32 bits)

IN O Exemplos:
5 MB5 L+5 // Carrega uma constante 16-bit
L L#523123 // Carrega uma constante 32-bit
L B#16#EF // Carrega byte em hexadecimal
EN - Habilita Entrada L 2#0001_0110_1110_0011
ENO - Habilita Saída // Carrega velor binário 16-bit
IN - Valor de Entrada L TOD#1:10:3.3 // Carrega tempo com 32-bit
(Tamanho de todos os tipos T MBO // Transfere valor para byte de
de dados 8,16,32 bit) memória 0
O - Target Adress T QD256 // Transfere valor para double
(Tamanho de todos os tipos word 256
de dados 8,16,32 bit)

MOVE (LAD/FBD) A instrução MOVE torna possível designar valores a variáveis. Se a


entrada EN é ativada, o valor presente na entrada IN é copiado para o
endereço especificado para saída 0. ENO tem o mesmo estado de sinal
que EN.

L and T (STL) As instruções Load e Transfer permitem programar troca de dados


entre áreas de memória. Load e Transfer é executado
incondicionalmente e independentemente do RLO. A troca de dados é
feita via acumulador.
A instrução Load transfere o conteúdo de endereço para o acumulador
1. Quando isto acontece o conteúdo do acumulador 1 é transferido para
o acumulador 2.
A instrução Transfer copia o conteúdo do acumulador 1 para o endereço
destino.

SENAI 85
Controlador Lógico Programável

9.7 Funções de Comparação

LAD FBD STL


M0.0 Q8.7
CMP M0.0 ==I CMP ==I
==I
A M0.0
IW0 INI1 IW0 INI1 A (
IW2 INI2 IW2 INI2 L IW0
Q8.7
L IW2
==I
)
OPÇÕES DE COMPARAÇÃO: = Q8.7
== IGUAL A
<> NÃO IGUAL A
> MAIOR QUE
< MENOR QUE
>= MAIOR QUE OU IGUAL A
<= MENOR QUE OU IGUAL A

Comparação Com as instruções de comparação, você pode comparar os seguintes


pares de valores numéricos.
 Dois inteiros (cada um com 16 bits)
 Dois inteiros duplos (cada um com 32 bits)
 Dois números reais (IEEE número de ponto flutuante, cada um com
32 bits)

Relação Todas as instruções de comparação compara os valores IN1 e IN2


baseados nas seguintes relações:
 IN1 é igual a (==) IN2
 IN1 é diferente de (<>) IN2
 IN1 é maior que (>) IN2
 IN1 é menor que (<) IN2
 IN1 é maior que ou igual a (>=) IN2
 IN1 é menor que ou igual a (<=) IN2.

RLO Se a comparação é satisfeita, o resultado da operação é 1.

86 SENAI
Controlador Lógico Programável

9.8 Instruções de Salto Incondicional

LAD FBD STL

RLO “1” Memory marker


Network 1 NEW1 NEW1 Network 1
M0.1 &
JMP JMP JU NEW1
Network 2 Network 2

Network X
Network X
Network X
NEW1 NEW1. AN M5.5
NEW1 AN I4.7
I0.2 &
= M69.0
M5.5 I4.7 M69.0 Q8.1
I0.3 =

A instrução Jump Incondicional interrompe o fluxo normal da lógica de controle e provoca o


salto de programa para a posição marcada pelo rótulo (label). O label é representado em
LAD/FBD de maneira parecida ao elemento de saída, porém com as letras JMP e o nome do
rótulo destino associado; em STL o label é localizado atrás da instrução JU.

LAD “label”
--( JMP)

Rótulos (labels) O label marca o ponto onde o programa irá continuar a execução, após o
salto. Instruções ou segmentos localizadas entre o jump e o label não
serão executadas.
O label obrigatoriamente deve estar localizado no mesmo bloco (OB, FB,
FC) que a instrução jump a que está associada.

SENAI 87
Controlador Lógico Programável

9.9 Salto Condicional, Baseado em RLO

Saltos condicionais ocorrem sempre em função do estado do RLO.

Salto Condicional O jump condicional JC é executado se e somente se o RLO for 1.


RLO = 1 (JC) Estando o RLO=1 a instrução se comporta da mesma maneira que um
jump incondicional. Porém se o RLO=0 a instrução jump é ignorada e a
execução do programa continua a partir da instrução seguinte.

Salto Condicional O jump condicional JC é executado se e somente se o RLO=0.


RLO = 0 (JCN) Estando o RLO=0 a instrução se comprta da mesma
maneira que um jump incondicional. Porém se o RLO=1 a instrução
jump é ignorada e a execução do programa continua a partir da
instrução seguinte.

JCB / JNB Além das instruções acima, existem duas outras opções em STL que
são a combinação do RLO e o bit BR.
• Jump se RLO = 1 com RLO armazenado em BR (JCB)
• Jump se RLO = 0 com RLO armazenado em BR (JNB)

Ambas as instruções trabalham da maneira que JC e JCN trabalham; o


jump é executado baseado no RLO. As instruções jump JCB e JNB
salvam adicionalmente o RLO no bit BR da palavra status.

Nota: Se o jump condicional não é satisfeito, o programa continua a processar


as instruções seguintes ao jump e o RLO é setado para “1”.

88 SENAI
Controlador Lógico Programável

9.10 Função de Controle de Relé Mestre

Função Master Control Relay

LAD FBD STL

MCRA MCRA MCRA // Ativar


I0.0
& MCR < A I0.0 // Habitar MCR
MCR< I0.0
MCR( // Abrir MCR
I0.7 Q8.5 * Q8.5 *
I0.7 & =
A I0.7 // Contato NA
M0.6 * M0.6 * = Q8.5 // Saída
= M0.6 //Saída
=

I0.4 Q16.0 Q16.0 A I0.4 // Contato NA


S & S Q16.0 // Setar Saída
I0.0 S

MCR> MCR > )MCR // Fechar MCR

M69.0
M5.5 I4.7 M69.0 M5.5 AN M5.5 // Contato emer.
& =
AN 14.7 // Contato emer.
I4.7
= M69.0 //Saída
MCRD
MCRD
>
* Influenciado pelo MCR MCRD // Desativar

O Master Control Relay é uma chave lógica mestre para energizar ou desenergizar o fluxo
de tensão. Quando desenergizado “ toda a seqüência lógica seguinte será zerada (RLO=0)
ao invés de ser executada. Se a lógica Master Control Relay estiver ativa (RLO=1)
considera-se que o sistema está energizado. Por sua vez, se a lógica estiver inativa (RLO=0)
considera-se que o sistema está desenergizado. OBS.: As instruções SET e RESET dentro
de uma MCR inativo (desenergizado) não alteram o valor da saída/flag. A instrução de
transferência (=) zera a saída/flag quando o MCR está inativo.

MCRA A instrução MCR Active ativa a função Master Control Relay. As


instruções Master Control Relay On e Master Control Relay Off MCA< e
a MCR> devem seguir a instrução MCRA.

MCR< A instrução Master Control Relay On marca o início da zona de controle


lógico. MCR< abre a área MCR e trigga instruções que armazenam o
RLO na pilha MCR. A pilha pode ter até oito entradas. Isso significa que
até oito níveis de cotrole individuais podem ser incluídas entre os
comandos MCRA e MCRD.

MCR> A instrução Master Control Relay Off marca o fim da área de controle
lógico. O MCR< é combinado com o mais próximo MCR<.

MCRD A instrução MCR Desactivate desativa a função MCR. Você não pode
programar nenhuma área MCR depois do MCRD. Esta instrução é uma
exigência para a associação lógica com MCRA.

SENAI 89
Controlador Lógico Programável

Conversão, Operação Lógica


Digital, Matemática, Deslocamento
10.1 Formato de Números

Código BCD O digito de número decimal pode ser codificado com quatro números
binários. Esta representação deriva do fato que o maior número decimal
de 1 digito, que é o número 9, necessita de pelo menos quatro posições
para a representação em binário.
Para representar os dez digitos decimais 0 até 9 em código BCD você
usa a mesma representação como você usaria para números binários de
0 até 9. De 16 combinações possíveis de quatro digitos binários, seis
não são utilizadas. Estas combinações “proibidas” são chamadas de
pseudo tetrad.

INTEGER O tipo de dados INT é um inteiro (16 bits). O bit de sinal (bit nº 15) indica
(INTEIRO) se você está tratando com números positivos ou negativos (“0” =
positivo, “1” = negativo). A faixa de um inteiro (16 bits) está entre –32768
e + 32767.
Um inteiro ocupa uma palavrade memória. Em formato binário, um
inteiro negativo é representado com o complemento de dois de um
número inteiro positivo. Você chega ao complemento de dois de um
inteiro positivo quando inverte o estado do sinal de todos os bits e
adiciona “1” ao resultado.

NÚMERO REAL Um número real (também chamado de número de ponto flutuante) é um


número positivo ou negativo que abrange valores tais como 0,339 ou –
11,32. Você pode também trocar o número real com um expoente como
potência inteira de 10, com que o número real tem que ser multiplicado,
de forma a atingir o valor desejado. Como resultado, o número 1024
pode ser expresso como 1.024E3. O número real ocupa duas palavras
de memória e o sinal do número é difinido pelo bit mais significativo. Os
bits restantes representam o expoente e a mantissa. A faixa no qual o
número real está compreendido é:
-3.402823 x 1038 a 3.402823 x 1038

90 SENAI
Controlador Lógico Programável

10.2 Instruções de Conversão de Tipos de Dados

LAD / FBD STL

BCD_1 BCD_1
EN ENO L IW4
BTI
IW4 IN OUT MW20 T MW20
DI_REAL
BCD_1
EN ENO L MD10
DTR
MD10 IN OUT MD30 T MD30
ROUND
BCD_1
L MD33
EN ENO
RND
MD33 MD69 T MD69
IN OUT

Existem várias possibilidades de coversão. Todas as instruções tem o seguinte formato:

EN = Enable input A conversão é executada somente se o RLO é verdadeiro (=1)

ENO = Enable A saída enable output tem o mesmo estado de sinal que EN (EN=
Output ENO) a menos que tenha havido um erro durante a conversão.
Por exemplo, a instrução Round fornece o ENO=0 para uma
violação de faixa válida.
IN = Valor de entrada Valor a ser convertido

OUT = Valor de saída Valor convertido

(LAD / FBD) STL Descrição

BCD-I / BCD-DI BTI/BTD Converte Código Binário em formato


Decimal (BCD, Binay Code for Decimal
digits) em formato inteiro.
TRUNC TRUNC Converte ponto flutuante (real 32 bit IEEE)
em inteiro duplo.
DI-REAL DTR Converte inteiro duplo em nímero real.
I-DI ITD Converte inteiro em inteiro duplo.
CEIL RND + Converte um número real em inteiro duplo
e arredonda o resultado para o próximo
número.
ROUND RND Converte um número real em inteiro duplo
e arredonda o resultado para o mais
próximo inteiro menor ou o mesmo
número.

SENAI 91
Controlador Lógico Programável

10.3 Operações Lógicas Digitais

LAD / FBD STL

WAND_W WAND_W
EN ENO L IW4
IN1
L W#16#OFFF
IW4
AW
W#16#OFFF IN2 OUT MW30 T MW30
WAND_W WOR_W
EN ENO L MW32
IN1 L W#16#0001
MW32
IN2 OUT OW
W#16#0001 MW32 T MW32
WAND_W WXOR_W
EN ENO L IW0
IN1 L MW28
IW0
IN2 OUT XOW
MW28 MW24 T MW24

WAND-W A instrução “Word AND” combina dois valores digitais especificados na


entrada IN1 e IN2 bit a bit, baseado na tabela verdade AND. O resultado
da operação é salvo no endereço OUT. A instrução é executada se o
sinal de entrada de EN=1. ENO tem o mesmo estado do sinal de EN.

Tabela Verdade AND:

MW10 =0100 0100 1100 0100


W#16#OFFF =0000 1111 1111 1111
______________________________________
MW30 =0000 0100 1100 0100

WOR-W A instrução “Word OR” combina dosi valores digitais baseados na tabela
verdade OR bit a bit, para valores de entrada IN1 e IN2. O resultado da
operação OR é salvo no endereço OUT. A instrução é executada, se o
estado da entrada EN=1. ENO tem o mesmo estado de sinal de EN.

Tabela Verdade OR:

MW32 =0100 0010 0110 1010


W#16#0001 =0000 0000 0000 0001
______________________________________
MW32 =0100 0010 0110 1011

92 SENAI
Controlador Lógico Programável

VVXOR-W A instrução “Word Exclusive OR” combina dois valores binários das
entradas EN1 e EN2 bit a bit e de acordo com a tabela verdade OR
Exclusive. O resultado da operação WXOR é salvo no endereço OUT. A
instrução é ativada, se a entrada EN=1 tem o mesmo estado do sinal de
EN.

Tabela Verdade XOR:

IW0 =0100 0100 1100 1010


MW28 =0110 0010 1011 1001
______________________________________
MW24 =0010 0110 0111 0011

SENAI 93
Controlador Lógico Programável

10.4 Funções Matemáticas Básicas

LAD/FDB STL
ADD_I

SUB_I

MUL_DI

DIV_R

Existem várias funções aritméticas, como exibidas abaixo. As instruções tem o seguinte
formato:

EN = Habilita entrada A instrução será executada se e somente se o RLO é verdadeiro


(RLO=1).
ENO = Habilita saída A saída Enable output tem o mesmo estado de sinal que EN
(EN=ENO), a menos que tenha havido um erro durante a conversão.
Por exemplo, a instrução DIV_I fornece ENO=0 quando se faz uma
divisão por zero.

IN1 = Entrada 1 1. Valor aritmético da instrução.

IN2 = Entrada 2 2. Valor aritmético da instrução.

O = Saída Resultado da operação aritmética.

Adição ADD_I Soma inteiros


ADD_DI Soma inteiros duplos
ADD_R Soma números reais

Subtração SUB_I Subtrai inteiros


SUB_DI Subtrai inteiros duplos
SUB_R Subtrai números reais

Multiplicação MUL_I Multiplica inteiros


MUL_DI Multiplica inteiros duplos
MUL_R Multiplica números reais

Divisão DIV_I Divide inteiros


DIV_DI Divide inteiros duplos
DIV_R Divide números reais

94 SENAI
Controlador Lógico Programável

10.5 Funções Matemáticas Avançadas

LAD/FDB STL
SQRT

SIN

SQR

TAN

Existem várias funções matemáticas e trigonométricas com pontos flutuantes, como


mostrado abaixo.
Estas instruções tem o seguinte formato:

EN = Habilita entrada A instrução será executada se e somente se o RLO é


verdadeiro (RLO=1).

ENO = Habilita saída A saída Enable output tem o mesmo estado de sinal que EN
(EN=ENO), a menos que tenha havido um erro durante a conversão.
Por exemplo, quando há um overflow.

IN Valor de Entrada 1. Operando da instrução (número real)


O Valor de Saída Resultado da operação (número real)

ABS Valor Absoluto de um número real


ACOS Arco Coseno para um número real (resultado em radianos)
ASIN Arco Seno para um número real (resultado em radianos)
ATAN Arco Tangente para um número real (resultado em radianos)
COS Coseno para um número real (resultado em radianos)
EXP Expoente para um número real
LN Logaritmo Natural (Neperiano) para um número real
SQR Raíz de um número real
SQRT Raíz Quadrada de um número real
SIN Seno de um número real (resultado em radiano)
TAN Tangente de um número real (resultado em radiano)

SENAI 95
Controlador Lógico Programável

10.6 Funções de Deslocamento e Rotação

LAD/FDB STL

SHL_W

ROR_DW

ENO-ESTADO DO SINAL DO ULTIMO DESLOCAMENTO DE BIT

Com as instruções Shift e Rotate, você pode deslocar o conteúdo da mais baixa word do
Acumulador 1 ou o conteúdo do acumulador para a direita ou para a esquerda, bit a bit. A
instrução (por ex., SLW=desloca palavra para a esquerda) determina a direção da operação
de deslocamento. O parâmetro N especifica o número de bits a serem deslocados. Na
operação de deslocamento de palavra, os bits vazios são preenchidos com o bit (MSB) de
sinal (0=positivo e 1=negativo). Na operação de rotação, os bits vazios são preenchidos com
o conteúdo que foi rotacionado.

Instruções de Deslocamento:

SHL-W Deslocamento de uma Word para a esquerda. Os bits de 0 até 15 do


acumulador são deslocados para esquerda de N bits (posições). Bits
vazios são preenchidos com zero.

SHL-DW Deslocamento de uma Word dupla para a eaquerda. O conteúdo do


acumulador 1 é deslocado bit a bit, N bits (posições) para esquerda. Bits
vazios são preenchidos com zero.

SHR-W Deslocamento de uma Word para a direita. Os bits de 0 até 15 do


acumulador são deslocados para a direita de N bits (posições). Bits
vazios são preenchidos com zero.

SHR-DW Deslocamento de uma Word dupla para a direita. O conteúdo do


Acumulador 1 é deslocado bit a bit, N bits (posições) para a direita. Bits
vazios são preenchidos com zero.

SHR-I Deslocamento de um Inteiro para a Direita. Os bits de 0 a 15 do


acumulador são deslocados para a direita de N bits. Bits vazios são
preenchidos com o valor do bit de sinal (bit 15).

SHR-DI Deslocamento de um Inteiro Duplo para a Direita. O conteúdo do


Acumulador 1 é deslocado para a direita bit a bit de N bits. Bits vazios
são preenchidos com o valor do bit de sinal (bit 31).

96 SENAI
Controlador Lógico Programável

Instruções de Rotação:

ROL-DW Rotaciona uma Word dupla para a esquerda. O conteúdo do Acumulador


1 é rotacionado bit a bit N bits para esquerda.

ROR-DW Rotaciona uma Word dupla para direita. O conteúdo do Acumulador 1 é


rotacionado bit a bit N bits para direita.

SENAI 97
Controlador Lógico Programável

10.7 Operações de Palavra


NETWORK 1

NETWORK 2

NETWORK 3

Este exercício contém exemplos com as seguintes funções:

Network 1: Um contador crescente que dispara quando a entrada I 0.0 mudar de 0 para 1.
O valor corrente é salvo na MW4 em BCD.

Network 2: O valor é convertido para duplo inteiro e então para REAL. (Um valor BCD não
pode ser diretamente convertido para número REAL). O resultado da Segunda conversão é
dividido pelo valor 6.0. O número em ponto flutuante, que é, o resultado da divisão, é salvo
na MD20.

Network 3: A MD20 é arredondada para o inteiro imediatamente superior e então


convertido de duplo inteiro para valor BCD. O valor BCD é transferido para o display na
saída BCD que é conectado com o endereço de saída QW8.

Objetivos 1. Familiarizar-se com as instruções.


2. Manusear o browser (catálogo) de instruções e o help de funções.

Procedimento 1. Criar um programa com o nome “MATEMAT” no projeto PRO1.


2. Editar, salvar, transferir e depurar as operações lógicas exibidas
acima, usando o Editor de Programas. (Você pode trabalhar em LAD,
FBD ou STL)

Resultado Quando acionado (contador crescente) I 0.0, pode-se ver como o display
é incrementado de um para cada múltiplo de seis (por exemplo, para o
status iguala 7 contador, deve ser exibido 1).

98 SENAI
Controlador Lógico Programável

Testes e Depuração
11.1 Usando o Status do Editor LAD/STL/FBD

Status de Programa Com o Editor LAD/STL/FBD, você pode exibir o programa e o fluxo do
sinal na linguagem de programação desejada.

LAD/FBD: Mostra o fluxo de corrente entre os elementos e os valores de entrada e


saída dos blocos.

STL: Mostra os endereços, o RLO e os registros importantes para a


depuração do programa.

Monitor./Modificando As variáveis definidas pelo usuário podem ser exibidas ou mudadas


Variáveis on-line com a CPU usando a opção PLC  Monitor/Modify.

Inicializando o 1. Abrir o bloco de programa on-line pelo editor (LAD/STL/FBD).


Status 2. Selecionar Debug  Monitor (no menu do editor LAD/STL/FBD).
3. Resultado: O status da network selecionada e das seguintes são
atualizados.

NOTA Para mudar a forma de visualização (ex.: entre LAD e STL), o status
deve estar desligado. Selecionando novamente Debug  Monitor, a
marca antes de “Monitor” desaparece. Para mudar a linguagem de
programação selecione View  LAD, FBD ou STL no menu do Editor de
Programas. Então o status do programa pode ser selecionado
novamente, depois que a forma de visualização foi mudada.

SENAI 99
Controlador Lógico Programável

11.2 Modo de Operação do Status do Bloco

Há dois modos de operação para a função de Status do Bloco. Isto torna possível
selecionar o modo processo ou laboratório para o bloco aberto on-line.

Modo Process O status dos operandos do programa é avaliado somente no primeiro


scan. Este modo causa uma menor carga no tempo de ciclo.

Modo Laboratory O status dos operandos é avaliado todo scan. O tempo de ciclo pode ser
aumentado significamente neste modo.

Seleção do Modo 1. Use o editor LAD/STL/FBD para abrir o bloco on-line.


2. Selecione a linguagem que você deseja (LAD, STL ou FBD).
3. Selecione Debug  Test Environment.
4. Selecione Process ou Laboratory (Process é setado como padrão).

Resultado Quando você selecionar a opção “Monitor” o status é operado no modo


selecionado.

100 SENAI
Controlador Lógico Programável

11.3 VAT – Tabela de Monitoração / Modificação de Variáveis

VAT – Tabela de A ferramenta Monitor/Modify Variable é uma ferramenta com a qual


Monitoração / pode-se exibir os estados dos operandos do programa. Pode-se
Modificação criar tabelas de variáveis em vários formatos que necessariamente não
de Variáveis necessitam ser uma parte do programa.

Criando e Editando 1. Abrir o projeto on-line e selecionar o programa.


A Tabela 2. Na barra de ferramenta do SIMATIC Manager selecione PLC Monitor/
Modify Variables.
3. (Para criar) selecione Table  New;
(para editar uma tabela existente) selecione Table  Open.
4. Selecione o seu programa e digite o seu bloco “VAT xy”.
5. Digite as variáveis a serem monitoradas na coluna de endereços
(nomes simbólicos são permitidos).
6. Especifique o formato para cada variável na coluna de formatos
(Browsing dos tipos de formatos é possível clicando com o botão da
esquerda em cima desta coluna ou selecionando com o botão da direita
do mouse).
7. Se necessário, mascare certas colunas na tabela com o menu de
comando View.
8. Salve a nova tabela de variáveis através do menu de comando File 
Save ou com Save As...

SENAI 101
Controlador Lógico Programável

11.4 Menus de Barra de ferramentas de “Monitor / Modify Variable”

A ferramenta Monitor/Modify Variable é uma ferramenta com a qual pode-se exibir os


estados dos operandos do programa. Pode-se criar tabelas de variáveis em vários formatos
que necessariamente não tem que ser uma parte do programa. Assim, a depuração do
programa ou hardware do PLC é facilitada.

View Com o ítem “View”, pode-se selecionar opções de formato para a tabela
de variáveis. As opções de exibição podem ser selecionadas com o
comando menu Variable Monitor/modify (View) ou no ícone mencionado
acima na barra de ferramentas.

Monitor A função Monitor ativa a monitoração (leitura) das variáveis listadas na


tabela. A função monitoração pode ser selecionada no comando do
menu Monitor/Modify Variables ou com o ícone da barra de ferramentas
acima mencionados. Note que existem duas possibilidades:
 Monitoração uma única vez;
 Monitoração cíclica (em função do trigger)

Modify A função Modify altera os valores da tabela de acordo com o valor


digitado na coluna respectiva da tabela (coluna Modify Value).
Da mesma maneira que a função Monitor, existem duas possibilidades:
 Alteração uma única vez;
 Alteração cíclica (em função do trigger).

102 SENAI
Controlador Lógico Programável

Funções, Parâmetros e
Dados Locais
12.1 Chamando Blocos

Chamando Bloco Bloco Chamado


(OB, FB, FC, SFB, SFC) (FB, FC, SFB, SFC)
Execução
do Programa

Instrução que chama Execução


outro bloco do Programa

(FB, FC, SFB, SFC)

Execução
do Programa

Instrução que chama Execução


outro bloco do Programa

(FB, FC, SFB, SFC)

A instrução “Call” é usada para disparar a execução de um outro bloco lógico. Na figura
acima quando o 1º bloco encontra a instrução Call, o programa interrompe a execução deste
bloco e passa a executar a 1ª instrução do bloco chamado. Após ser executada a última
instrução do bloco chamado, o programa retorna ao bloco chamado e continua a sua
execução logo após a instrução Call.

Chamada em STL Call FC100


sem parâmetros UC FC100
CC FC100

Chamada em STL Call FC20 CallFB30, DB10


com parâmetros Runtime = MW20 Runtime = MW20
Press = PIW352 Press = PIW352
Total = QW20 Total = QW20

SENAI 103
Controlador Lógico Programável

12.2 Parâmetros

EN = Habilita Entrada ENO = Habilita Saída

EN ENO

Se ativa (1), executa a Se ativa (1), a instrução foi


instrução do bloco. executada sem erro.
Bloco de instruções
Se não ativa (0), não LAD (FC, FB, Move, Add, etc.) Se não ativa (0), a instrução
executa a instrução do não foi chamada ou um erro
bloco. ocorreu na execução das
instruções.

STL não suporta os parâmetros EN/ENO. ENO=BR bit em STL.

EN / ENO Em Diagrama de Contatos (LAD) e em Blocos Funcionais (FBD) existe


um sinal de habilitação do bloco (EN), isto é, o bloco é exectado se e
somente seo RLO=1 nesta entrada.

Funcionamento • Se EN não é ativado (0), o bloco não é executado, e o ENO não


é
ativado (0).
• Se EN é ativado (1), o bloco é executado; se o bloco é executado
sem erro, ENO é ativada (1).
• Se EN é ativada (1), o bloco é executado, se ocorre um erro na
execução do bloco, o ENO não é ativado (0).

EN/ENO em STL Em STL, o EN e ENO tem que ser emulado com instruções de jump
salvando o RLO no resultado binário BR. Isto é necessário se desejamos
programar a condição ENO em um bloco de usuário (caso de erro de
execução).

A I 11.0
JNB SALT
CALL FC1
SALT: A BR
= Q 9.0

104 SENAI
Controlador Lógico Programável

12.3 Variáveis Locais de um Bloco

Variáveis Internas Na tabela de Declarações são definidas as variáveis que serão utilizadas
de um Bloco internamente em um bloco. Cada tipo de variável tem uma finalidade
específica.

Parâmetros Parâmetros servem como interface entre um bloco a ser executado e um


bloco que chama este bloco. Quando um bloco é chamado pode-se
fornecer valores e/ou endereços a este bloco. Dentro dele, estes
parâmetros assumem a posição nos operandos em que foi programado.

Variáveis estáticas As variáveis estáticas são variáveis auxiliares a seremutilizadas ou


como rascunho ou como flags auxiliares dentro do bloco.
Este tipo de variável é encontrado exclusivamente nos blocos tipo FB,
pois são armazenadas em blocos de dados do tipo Instance, que só
estes blocos possuem.

Variáveis
Temporárias As variáveis temporárias, também denominadas locais, são variáveis
de rascunho válidas exclusivamente no bloco em que foram definidas.
Ao contrário das variáveis estáticas, estas variáveis não possuem
endereço fixo (são armazenadas temporariamente na “L stack”), estando
disponíveis somente enquanto o bloco estiver sendo executado. Assim
estas variáveis obrigatoriamente tem que ser iniciadas a cada ciclo do
bloco, não servindo para armazenar dados de um ciclo para o outro.

Coluna da Tabela End. Local: É um endereço relativo da memória local, criado


automaticamente pelo sistema. Pode-se eventualmente acessar a
variável por este endereço porém se possível sempre usar o nome
simbólico.
Nome: é o nome simbólico para a variável que será usado com a seção
de código do programa.
Tipo de dado: tipo de dado variável. Ex.: BOOL (Booleana), INT (Inteira).
Valor Inicial: campo opcional onde pode-se definir o valor inicial ou de
start-up.

Comentário Campo opcional que contém o comentário descritivo sobre a variável.

SENAI 105
Controlador Lógico Programável

12.4 Parâmetros de um Bloco

Parâmetros de um Bloco

STL CALL FB7, DB45


Liga: = I1.0 Chama FB7 (usando o bloco
Desliga: = I 1.1 de dados instance DB45) a
Parâmetros “Formais”
Motor: = Q 8.0 passagem de parâmetros.
do FB.

Endereço “Atual” onde os dados


residem ou irão ser arquivados.

LAD DB45
FB7 Chama FB7 (usando o bloco de
EN ENO dados Instance DB45) e
Endereço “Atual” passagem de parâmetros.
onde os dados I 1.0 Liga Motor M 2.1
residem ou irão ser I 1.1 Desl.
arquivados.

Parâmetros “Formais”
do FB.

Como já mencionado a utilização de parâmetros facilita a programação e permite que um


bloco seja utilizado diversas vezes dentro de um programa, diminuindo o tempo de
desenvolvimento e a memória ocupada na CPU.

Chamada do Bloco Como se vê na figura acima, a passagem de parâmetros é feita se


preenchendo os campos de parâmetros com os operandos
correspondentes.
Em FBD/LAD os parâmetros localizados à esquerda são do tipo entrada
(ou entrada/saída) e do lado direito são do tipo saída.

Programação A programação utilizando os parâmetros é feita praticamente da mesma


forma que uma programação normal. Difere somente quanto aos
operandos. Ao invés de se utilizar o endereço absoluto do operando
utiliza-se o nome simbólico do parâmetro conforme dedinido na tabela
de declarações do bloco.

106 SENAI
Controlador Lógico Programável

12.5 Utilizando Variável Local de um Bloco

Pilha Local (L stack) Todo o bloco quando está sendo executado possui uma
área de memória reservada na chamda pilha local (L stack). Esta
memória temporária é uma eficiente forma de usar o sistema para
arquivar valores intermediários que não são necessários depois que o
bloco é fechado. Estas variáveis (temp) são acessadas internamente no
bloco pelo nome simbólico. O tipo de dado declarado da variável deve
ser respeitado (BOOL, INT, etc.)

Programação A utilização desta variável é semelhante ao uso de um parâmetro. Após


a declaração de seu nome e tipo na tabela de declaração do bloco,
basta digitar o seu nome simbólico como um operando normal. Estas
variáveis são identificadas pelo símbolo # antes do seu nome simbólico.

Inicialização Esta variável não existe fisicamente, sendo utilizado a pilha local para
alocá-la durante a execução do bloco. Sendo assim a cada chamada do
bloco esta variável tem que ser inicializada, isto é, o valor que esta
variável continha do ciclo anterior não podeser re-aproveitada.

Exemplo No exemplo acima a variável #res - inter, recebe o resultado de cálculo


(12 *X), e é utilizado no segmento seguinte para complementar o cálculo
(12X + 50). Em uma técnica convencional de programação teria sido
necessário utilizar uma memória (flag), ocupando-a
desnecessariamente.

Variáveis Estáticas Os blocos do tipo FB possuem adicionalmente variáveis do tipo


estática (start). Quanto à edição o uso desta variável é igual a variável
temporária. A variável estática porém existe fisicamente (é armazenada
no DB Instance), sendo portanto possível utilizar o valor armazenado no
ciclo anterior.

Limites Sendo uma área de memória da CPU, existem limites para a criação e
uso destas variáveis. Estes limites dependem do tipo de CPU e da
organização do programa. Detalhes podem ser vistos no capítulo sobre
Documentação.

Nota Pode ocorrer de que um nome simbólico de variável local tenha o


mesmo nome simbólico de uma variável global. Para diferenciar isto as
variáveis globais são identificadas por aspas (”nome symbol”).

SENAI 107
Controlador Lógico Programável

12.6 Chamando um FC com/sem parâmetros

Exercício 12.1: Chamando FC Sem/Com Parâmetros

OB1 FC1
sem parâmetros
Chama FC1
incondicionalmente e
não passa valores.

Chama FC2 FC2


condicionalmente e com diferentes
passa diferentes sets parâmetros
de valores baseados
na condição de I 1.7.

Objetivo Programar um bloco FC com e sem parâmetros.


Notar a diferença entre a chamada de um bloco com parâmetros e de
um bloco sem parâmetros.

Procedimento 1. Crie uma nova pasta de programa, denominada FUNÇÕES, no


projeto PRO1.
2. Crie um FC1 sem parâmetros:
• Carregar o valor da chave digital IB2, adicionar a constante 2 e
transferir o resultado para QB6.
3. Crie um FC2 com parâmetros.
• Defina duas variáveis de entrada booleanas (star-1 star-2) e uma
variável de saída booleana (buzina).
• Programe para que quando as entradas start-1 e start-2 forem
ativadas, a saída buzina toque durante 3 segundos.
4. Programe no 0B1 a chamada dos blocos:
• FC1 sem parâmetrosuma única vez incondicionalmente.
• FC2 será chamado 2 vezes condicionalmente em função de entrada I
1.7, com os seguintes parâmetros:

Programar em LAD/STL/FBD e depurar o bloco. Na programação STL a


chamada condicional deve ser feita por meio de jumps.

Resultado Verifique as diferenças entre as chamadas.


Verifique as diferenças entre as linguagens.

108 SENAI
Controlador Lógico Programável

Programação Simbólica
13.1 Endereço Simbólico e Absoluto

Absoluto Um endereço absoluto é um endereço específico na CPU (operandos


formais), por exemplo, entrada I 1.0. Neste caso, não é necessário editar
uma lista de simbólicos, porém o programa é mais difícil de entender.

Simbólico O endereçamento torna possível trabalhar com símbolos tais como


MOTOR-LIGA, ao invés do endereçamento absoluto. Os símbolos para
entradas, saídas, temporizadores, contadores, memory markers e blocos
são arquivados na lista de simbólicos. Neste caso, os símbolos são
também chamados de símbolos globais porque o acesso é possível por
todos os blocos. Em oposição aos símbolos globais, existe também os
simbólicos de bloco (locais), os quais são válidos somente no próprio
bloco. Os simbólicos de bloco são definidos na parte de declaração de
bloco.

Symbol Editor A lista de simbólicos para os Símbolos Globais é criada com a


ferramenta Symbol Editor. As outras ferramentas do STEP 7, tais como
Editor de Programas ou S7 Status, também têm condição de acessar a
lista de simbólicos para exibir os endereços simbólicos.

SENAI 109
Controlador Lógico Programável

13.2 Endereçamento Simbólico – Características

Características O endereçamento simbólico torna possível uma leitura clara e fácil do


programa. Todas as variáveis, blocos, tipos de dados, etc., podem ser
nomeados simbolicamente. O nome simbólico pode ter até 24
caracteres, e até 80 caracteres de comentário.
A seção de simbólicos e comentários são arquivadas no terminal de
programação. A lista de simbólicos é localizada como o objeto “Symbol
table” na pasta de programa S7 pertinente.

110 SENAI
Controlador Lógico Programável

13.3 Endereçamento Simbólico – Lista de Simbólicos

Symbol List A lista de simbólicos é uma base de dados comuns na qual as realções
entre nomes simbólicos e nomes absolutos são definidas.
Todas as ferramentas S7 podem acessar a lista de simbólicos (Editor
LAD/STL/FBD, Tabela de Variáveis, etc.).

Simbólicos Globais A declaração de simbólicos globais pode ser acessada por todos os
componentes do programa. Os simbólicos têm que ser criados na lista
de simbólicos antes de serem acessados por sua aplicação. É possível
porém durante a edição do programa, no editor de programas, criar
nomes simbólicos diretamente.

Simbólicos Locais Os simbólicos locais são declarados na parte de declaração do bloco.


Estes nomes simbólicos são somente válidos no próprio bloco onde
foram gerados, sendo parte da memória local. O mesmo nome simbólico
pode ser usado várias vezes em diferentes blocos, porque são válidos
somente nos blocos pertinentes. Simbólicos locais são podem ser
definidos para parâmetros de blocos, variáveis, locais e labels de saltos
(jumps). Este método não necessita de uma lista de simbólicos.

Notação Nome simbólico global - #nome-simbólico


Nome simbólico local - “nome-simbólico” (quando usado em variáveis
locais).

SENAI 111
Controlador Lógico Programável

13.4 Editor de Simbólicos – Iniciando

Quando você criar um novo programa S7, o ícone da lista de simbólicos é automaticamente
criado.

Iniciando o Editor O Editor de Simbólicos é iniciado no SIMATIC Manager usando


de Simbólicos um double-click no objeto da lista de simbólicos, ou do Editor de
Programas usando o comando de menu Options  Symbol Table.

Digitando uma Lista Comece com o campo Symbol e com a tecla TAB salte para o próximo
de Simbólicos campo. Você pode deixar o campo Data Type em branco, o tipo de
dados é automaticamente preenchido.

112 SENAI
Controlador Lógico Programável

13.5 Editor de Simbólicos – Editando

Na figura acima a ferramenta Symbol Editor com uma lista de simbólicos de transportador.

Unique / Os símbolos usados no programa devem ser únicos, isto é, o endereço


Non-Unique simbólico ou absoluto pode estar presenta na lista de simbólicos uma
única vez. Se vários endereços simbólicos ou absolutos iguais estão
presentes na lista de simbólicos, eles são exibidos em View  All
destacadamente (Ver linhas 3 e 4 na figura).

Import/Export É possível também importar/exportar de/para arquivos texto a lista de


simbólicos em diferentes formatos DIF, SDF, ASC e SEQ. Isso
possibilita transferir lista de designações ou lista de simbólicos já
gerados de outros aplicativos. Uma vez gerados, você pode então usar a
lista de simbólicos em outro editor.

Atributos Os atributos são designados, na ordem reversa dos dados, por exemplo,
para uma interface do sistema operação. Os atributos têm os seguintes
significados:

O: Controle de operação e monitoração com WinCC


M: Propriedades de mensagens
C: Propriedades de comunicação

SENAI 113
Controlador Lógico Programável

13.6 Exibindo Simbólicos em Blocos ou Status

Program Editor Pode-se selecionar quais informações deseja-se visualizar no Editor de


Programas. A representação simbólica ou endereço absoluto pode ser
selecionada. Para escolher entre estes dois, selecione no menu do
Editor de Programa View Symbolic Representation.
Para ver o endereçamento absoluto e as informações dos símbolos ao
mesmo tempo, ativar no comando de menu View  Symbol Information.
Como se vê na figura acima, use janela adicional com a informação dos
símbolos é inserida abaixo do segmento na linguagem LAD/FBD. No
modo STL, as designações estão a direita das instruções.
Para adicionar novos nomes simbólicos durante a edição de um
programa, coloque o cursor no endereço e selecione no menu de
comando de menu Options Edit Symbols  Object Properties e
complete os nomes dos símbolos.

Status Como no Editor de Programa, símbolos e comentários dos símbolos


podem ser exibidos com a ferramenta Monitor/Modify Variable. (veja a
parte inferior da figura acima).

114 SENAI
Controlador Lógico Programável

13.7 Descompilação de Programas

Descompilação Se a lista de simbólicos é perdida, o programa não pode


do Programa ser completamente descompilado. Similar ao STEP 5, os endereços
então são representados com seus valores absolutos. Isso é verdade
para entradas, saídas, memory markers, temporizadores e contadores
bem como para componentes de DB (ex.: palavra de dados). Existem
também símbolos substitutos para labels de laços, ex.: M001.
Existem simbólicos substitutos também para variáveis locais, por ex.:
LB 17.
Parâmetros de blocos também utilizam simbólicos substitutos, tais como
Par 1, Par 2, etc.

Simbólicos Os simbólicos e comentários são arquivados no harddisk do terminal de


programação.

Nota Em desenvolvimentos futuros, será possível arquivar os símbolos e os


comentários na memória de carga das CPU’s.

SENAI 115
Controlador Lógico Programável

13.8 Importação e Exportação da Lista de Simbólicos

As listas de símbolos podem ser transferidas para outro projeto com o Export e Import do
Editor de Símbolos. Também podem ser exportadas para outro aplicativo, como por exemplo
um sistema CAD.

Exportando O procedimento de exportação é descrito abaixo.

Passos Procedimento
1 Abrir a lista de símbolos que você deseja exportar. Ativar o comando de
menu Symbol Table  Export.
2 Setar o formato para o qual você deseja exportar os dados (DIF, ASCII,
SDF, SEQ).
3 Na janela de seleção de arquivo, selecionar o diretório de destino e
digitar o nome, tal como EXPORTZO.SEQ.

Importando Lista de simbólicos geradas com outra ferramenta, tais como editor de
texto, EXCEL ou STEP 5 podem ser lidas e processadas com a finção
de importação.

Formato de Os seguintes formatos podem ser usados para exportação e


Arquivos importação:

• Formato DIF
• Formato ASCII
• Formato SDF
• Formado SEQ (lista de designação do STEP 5).

Uma descrição dos vários formatos de arquivos encontram-se no HELP online.

116 SENAI

Você também pode gostar