Buscar

173221268-CLP-Apostila-Siemes-S7-300

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CLP 
 
Controlador Lógico Programável 
Nível 01 
Fênix Automação Industrial – Barra Mansa – RJ 
Email: fenixautomacaoindustrial@gmail.com 
Av Joaquim Leite, Ed Benedictus 01, Sala 203, Centro 
S7-200 
FAMILIA DE CONTROLADORES 
SIEMENS SIMATIC S7 
O S7-200 é o micro-CLP da família 
SIMATIC S7. 
O S7-200 tem as seguintes 
características e funções: 
- baixo preço 
- “Totalmente compacto” com fonte de 
alimentação, CPU e entradas/saídas 
integradas em um único dispositivo. 
- "Micro PLC" com funções integradas 
- Pode ser expandido em até sete 
módulos 
- Software baseado em DOS ou 
Windows (STEP 7 MICRO/DOS ou 
STEP 7 MICRO/WIN) 
 
 
 
S7-300 S7-400 
Pagina 02 
Modelos de CLP´s SIMATIC S7 
O S7-300 é o pequeno e totalmente modular CLP 
da família SIMATIC S7. 
- 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 software 
STEP 7. 
 
O controlador lógico programável S7-400 abrange 
aplicações de médio e grande porte. A família da CPU 
S7-400 tem um set de instruções poderoso (igual ao 
do S7-300) e esquema de endereçamento simples. 
Memória de Trabalho A partir de 48 KB até 2 Mega. 
Sinais Digitais A partir de 64K até 256K. 
Sinais Analógicos A partir de 4K até 16K. 
Memory Markers Flags - A partir de 4K até 16K. 
Tempo de Ciclo A partir de 0,08 µs até 0,2 µs por 
instrução binária. 
Multiprocessamento Até quatro CPUs podem ser 
usadas no rack central. 
Comunicação Via MPI, ponto-a-ponto, PROFIBUS e 
Industrial Ethernet . 
Multi-point Interface (MPI) 
Características da Interface MPI 
MPI 
A Multi-Point Interface, MPI tem como objetivo 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, tais com FM‟s. 
Possibilidades de Conexão: Vários dispositivos podem 
estabelecer simultaneamente conexão de dados com a CPU. 
Isto significa que o terminal de programação e o painel de 
operação podem ser operados simultaneamente, e ainda outros 
PLC‟s adicionais podem ser conectados. As quantidades de 
conexões que podem ser operadas simultaneamente dependem 
da CPU. 
Exemplo: são possíveis quatro conexões de comunicação ativa 
por nó para a CPU 314. 
 
 
Pagina 03 
Multi-point Interface (MPI) 
Características da Interface MPI 
 
Características da MPI: A interface MPI suporta displays, painéis de operação e terminais de programação Siemens. 
A MPI oferece as seguintes possibilidades: 
- Programação de CPU‟s e módulos inteligente 
- 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 
 
-Dados Técnicos da MPI: As mais importantes características da interface MPI são: 
- Padrão RS 485 e taxa de transmissão de 187.5 Kbaud 
- Distâncias até 50 m ou até 9100 m com repetidores 
- Componentes padrões do PROFIBUS DP (cabo , conector, e repetidor) 
 
 
 
Pagina 04 
Terminais de Programação 
Terminais de Programação PG720740 
PG720PII A PG 720PII (Pentium II) tem as seguintes características: 
- Pouco Peso (aproximadamente 4.5 kg) 
- Dimensões pequenas 
- Interface Integrada (MPI, EPROM, MEMORY CARD, e PLC) 
- Boa resolução 
- Expansão para Teleservice (MODEM) via PCMCIA, tipo 3 
- Teclado removível, conexão possível para monitor externo Multisync. 
- Expansível para redes (Novell, etc.), transmissão de dados, FAX 
(modem) via PCMCIA - 
tipo 3 
 
PG740PIII A PG 740PIII (Pentium III) tem as seguintes características: 
- Boa resolução gráfica para Windows 98 
- Excelente tela de exibição (TFT display, 13.3", 34 cm) 
- Teclado removível, possível conexões para monitores externos com 
alta resolução. 
- Interface integrada (MPI, EPROM, MEMORY CARD, SIMATIC S5, e 
impressora) 
- Expansível para redes (Novell, etc.), transmissão de dados, FAX e 
modem 
- Portátil (aproximadamente 7 kg) 
Pagina 05 
Hardware 
Introdução ao Hardware S7-300 
Pagina 06 
Hardware 
Introdução ao Hardware S7-300 
Pagina 07 
No S7-300 o endereçamento dos módulos de I/O, CP e FM são slot´s orientados, isto é, o seu endereço depende da posição do 
módulo no trilho. Alguns slot´s são reservados: PS, CPU e IM. 
Slot1: 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á estar localizada próxima a fonte de alimentação. Não é associado nenhum endereço para a CPU. 
 
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-11: Módulos de sinais (SM). Slot 4 é considerado o primeiro slot para módulos de entrada e saída ou CP ( Processadores 
de Comunicação) Profibus, Ethernet ou FM ( Modulos de Funções) contagem, Posicionamento. 
Hardware 
S7-300: Design da CPU 
Pagina 08 
Seletor de Modo: 
• MRES = Função de reset da CPU. 
• STOP = Estado Stop; o programa não é executado. 
• RUN = Execução do programa; possível o acesso read-only a partir do Terminal de Programação. 
• RUN-P = Execução do programa, possível o acesso read / write a partir do Terminal de Programação. 
Indicadores de estado (LEDs): 
• SF = Resumo de falhas; erro interno da CPU ou falha num módulo com capacidade de diagnóstico. 
• BATF = Falha de bateria; Bateria descarregada ou não existente. 
• DC5V = Indicador de tensão interna 5 V DC. 
• FRCE = FORCE; indica que pelo menos uma entrada ou saída está forçada. 
• RUN = Pisca quando a CPU está inicializando; Mantém-se acesa no estado Run. 
• STOP = Mantém-se acesa no estado Stop; Pisca devagar quando é solicitado um reset de memória; Pisca rapidamente quando 
está sendo feito um reset de memória; Pisca devagar quando é necessário um reset de memória, por ter sido inserido um módulo 
de memória. 
Hardware 
S7-300: Design da CPU 
Pagina 09 
• Módulo de memória: Existe na CPU um slot para o módulo de memória. O módulo de memória armazena o conteúdo do 
programa no caso de uma falha na alimentação, sem necessidade de bateria. 
 
• Compartimento da Bateria: Existe um receptáculo para bateria de lítio debaixo da tampa. A tensão da bateria permite 
armazenar o conteúdo da RAM se falhar a alimentação ao PLC. 
 
• Conexão MPI: Conexão a um terminal de programação ou outro dispositivo com interface MPI. 
 
• Interface DP: Interface para ligação direta de I/Os distribuídos à CPU. 
Endereçamento 
S7-300 - Endereçamento de I/O - Digital 
Pagina 10 
 
Endereçamento Digital: 
O endereçamento das entradas (I) e saídas (Q) 
digitais começa com o endereço 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 é exibida 
acima. Cada módulo digital ocupa 4 bytes de 
endereços independente do número de pontos. 
 
Pode-se acessar estas áreas (I e Q) em bits, bytes, 
words ou double words, como mostrado nos 
exemplos abaixo: 
 
 
- Q4.0 é um dado que é arquivado no primeiro bit (bit 0) do byte 4 na tabela imagem da periferia de saída (usando a numeração 
padrão das I/O do diagrama acima, isto corresponde ao primeiro ponto no módulo 2) 
 
- IB100 refere-se ao dado no byte 100 da tabela imagem da periferia de saída. 
 
- IW100 refere-se ao dado que é arquivado nos bytes 100 e 101 da tabelaimagem da periferia de entrada. 
 
Endereçamento 
S7-300 - Endereçamento de I/O – Analógico 
Pagina 11 
 
Endereçamento Analógico: 
 
O endereçamento das entradas e saídas analógicas 
começa no endereço 256 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. 
 
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 256, sendo portanto que o primeiro canal no primeiro módulo no 
primeiro rack irá então ser PIW256. O último endereço analógico é 766 (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 e PIW514. 
 
Programação 
O SIMATIC Manager é uma interface de gráfica com o usuário para a edição online/offline de objetos S7 (projetos, arquivos de 
programa do usuário, blocos, estações de hardware e ferramentas). 
Com o SIMATIC Manager é possível: 
 
administrar projetos e bibliotecas; 
ativar as ferramentas STEP 7; 
acessar online o PLC; 
editar módulos de memória. 
Pagina 12 
O SIMATIC Manager 
Programação 
Processo: Quando se olha de perto o processo a se automatizar, verifica-se que este é composto por uma série de pequenas 
áreas e sub-processos, que estão interligados e dependentes uns dos outros. 
A primeira tarefa é portanto desmembrar o processo de automatização como um todo em pequenas sub-tarefas separadas. 
 
Hardware e Software: Cada sub-tarefa define determinados requisitos tanto de hardware como de software que têm que ser 
cumpridos pelo processo de automatização: 
 
Hardware: 
- Número e tipo de entradas e saídas; 
- Número e tipo de módulos; 
- Número de bastidores; 
- Capacidade e tipo da CPU; 
- Sistemas HMI; 
- Sistemas de interligação em rede. 
Software: 
- Estrutura do programa; 
- Tratamento de dados para o processo de automatização; 
- Dados de configuração; 
- Dados de comunicação; 
- Documentação do programa e do projeto. 
 
Pagina 13 
O SIMATIC Manager 
Programação 
Estrutura do Projeto: Os dados são armazenados num projeto sob a forma de objetos. Os objetos são organizados no projeto 
numa estrutura de árvore (hierarquia do projeto). A estrutura em árvore mostrada na janela do projeto, é similar à do Windows 
Explorer. Somente os ícones dos objetos são diferentes. 
Pagina 14 
O SIMATIC Manager 
Hierarquia do Projeto: 
1º. Nível: O primeiro nível contém o ícone do projeto. Cada projeto 
representa a base de dados onde são armazenados todos os dados 
relevantes para o mesmo. 
 
2º. Nível: As estações (por ex. estação S7-300) mostram onde estão 
armazenadas as informações sobre a configuração do hardware e a 
atribuição de parâmetros aos módulos. 
As estações são o ponto de partida para configurar o hardware. 
As pastas “S7 Program” são o ponto de partida para a elaboração dos 
programas. Todo o software para um módulo parametrizável da gama S7 
é armazenado numa pasta “S7 Program”. 
Estas contêm outras pastas para os blocos e arquivos fonte do programa. 
Subredes (MPI,Profibus, Industrial Ethernet) são parte de uma rede 
completa. 
 
3º. e subseqüentes níveis : Dependem do tipo de objeto do próximo nível 
superior. 
Programação 
Existe o ícone designado "SIMATIC Manager" no desktop do Windows, e um item de programa "SIMATIC Manager" dentro do 
campo SIMATIC no menu Iniciar. O programa é ativado como qualquer aplicação do Windows, através de duplo-click no ícone 
ou através do menu Iniciar 
 
INICIAR > SIMATIC > 
Pagina 15 
Iniciando o SIMATIC Manager 
 
Barra de Título: A barra de título contém o título da janela e os 
botões para controlar essa mesma janela. 
 
Barra de Menu: Contém todos os menus disponíveis para essa 
janela. 
 
Barra de Ferramentas: Contém as tarefas que são utilizadas 
com maior freqüência sob a forma de símbolos. Estes símbolos 
são auto-explicativos. 
 
Barra de Status: Mostra o estado de uma determinada aplicação 
e outras informações. 
 
Barra de Tarefas: A barra de tarefas contém todas as aplicações 
que estão abertas e janelas como botões. 
A barra de tarefas pode ser posicionada em qualquer um dos 
lados da tela através da utilização do botão direito do mouse. 
Programação 
Pagina 16 
Barra de Ferramentas do SIMATIC Manager 
Programação 
Criando um Projeto: Selecione a opção de menu File > New ou o símbolo na barra de ferramentas para abrir a caixa de 
diálogo "New“, que permite criar um novo projeto ou uma nova biblioteca. Introduza o nome do projeto no campo "Name" e 
confirme selecionando "OK“. 
 
Pagina 17 
Criando um Projeto no STEP7 
Configuração do HW: Os módulos são fornecidos de fábrica com parâmetros pré-selecionados. Se estes parâmetros de fábrica 
estiverem OK não é necessário fazer a configuração do HW. 
 
É necessário fazer uma configuração: 
 
- se for necessário modificar os parâmetros pré-selecionados ou endereços de um módulo (por ex. ativar a interrupção de 
hardware de um módulo); 
- se for necessário configurar redes de comunicação; 
- se existem estações de periferia distribuída (PROFIBUS-DP); 
- se existem estações S7-400 com várias CPUs (multiprocessamento) ou bastidores de expansão; 
- se o controlador lógico programável for do tipo “fault-tolerant” (pacote opcional). 
 
Pagina 18 
Configuração do Hardware 
Programação 
Para inserir uma nova estação de hardware no projeto atual selecione a seqüência de menus Insert > Station > SIMATIC 300 
Station ou SIMATIC 400 Station. 
O nome automaticamente dado à estação é "SIMATIC 300 (1)“, e pode ser alterado posteriormente. 
 
Pagina 19 
Inserindo uma Estação 
Programação 
Para iniciar a ferramenta de configuração do HW: 
- selecione uma estação de hardware no SIMATIC Manager e escolha a seqüência de menus Edit > Open Object ou 
-duplo-clique no objeto Hardware. 
"Hardware Configuration" Janela da aplicação do "HW Config“, utilizada para inserir os componentes da janela "Hardware 
Catalog". A barra de título desta janela contém o nome do projeto e o nome da estação. 
 
Pagina 20 
Inciando o HW Config 
Programação 
"Hardware Catalog“ Para abrir o catálogo: 
- selecione a seqüência de menus View > Catalog ou clique no ícone da 
barra de ferramentas. 
Se estiver selecionado como perfil de catálogo a opção “Standard”, ficam 
disponíveis para seleção todos os bastidores, módulos e módulos de 
interface na janela "Hardware Catalog". 
É possível criar um catálogo personalizado com os elementos utilizados 
com maior freqüência, bastando para isso selecionar a seqüência de 
menus Options -> Edit Catalog Profiles. 
 
Os escravos Profibus que não existem no catálogo podem ser 
acrescentados. Para isso, deve-se utilizar os arquivos designados GSD, 
que são fornecidos pelo fabricante do elemento escravo. Os arquivos GSD 
contêm a descrição do dispositivo. Para incluir o escravo no catálogo de 
hardware, utiliza-se a seqüência de menus Options > Install New GSD 
Files e depois Options -> Update Catalog. A partir daí os novos elementos 
no catálogo podem ser encontrados dentro do campo de dispositivos 
adicionais Profibus. 
Gerar a configuração prevista significa especificar como os módulos devem ser montados no bastidor. No STEP 7 esta configuração 
é tratada por “setpoint configuration”. 
Pagina 21 
Gerando a Configuração de Hardware Prevista 
Programação 
Bastidor: Por exemplo, ao configurar uma estação SIMATIC 300: 
O catálogo "RACK-300" contém um ícone para um trilho DIN. É possível inseri-lo 
na janela "HardwareConfiguration” com um duplo-clique (ou arrastando-o com o 
mouse). 
Aparecem então duas listas de bastidores separadas: uma lista com o tipo de 
módulos em cima e uma lista detalhada com referências, endereços MPI e 
endereços de I/O embaixo. 
Fonte de Alimentação: Pode-se inserir uma fonte de alimentação com um 
duplo-clique, ou arrastando com o mouse o módulo "PS-300" do catálogo, para 
o slot nr.1 do bastidor. 
CPU: A CPU é inserida do catálogo "CPU-300“, no slot nr.2. 
 
Slot Nr. 3: O slot nr. 3 está reservado como endereço lógico para o módulo de 
interface (para configurações com vários bastidores). 
Se esta posição deve ser reservada na configuração atual para uma posterior 
instalação de uma IM, deve-se inserir um módulo DM370 (DUMMY). 
Módulos de Sinal: A partir do slot nr. 4 é possível inserir uma número máximo 
de até 8 módulos de sinal (SM), processadores de comunicação (CP) ou 
módulos de função (FM). 
Para inserir os módulos no bastidor selecione o slot e depois dê um duplo-clique 
no módulo desejado contido no catálogo. 
É possível inserir módulos em qualquer parte da lista arrastando com o mouse. 
Atribuindo Parâmetros: Os parâmetros são atribuídos aos módulos para os adaptá-los às necessidades do processo. 
 O que fazer: 
 1. Selecione um módulo na janela da estação. 
 2. Duplo-clique no módulo selecionado para abrir a janela "Properties". 
 3. Esta janela possui 9 campos nos quais é possível atribuir parâmetros para as diferentes características da CPU (ver 
próximas páginas). 
Pagina 22 
Propriedades da CPU 
Programação 
Opção "General“: A seção "General" fornece informação sobre o tipo do módulo, sua localização e, no caso dos módulos 
programáveis, o endereço MPI. 
 
Endereço MPI: Para conectar vários PLCs em rede através da interface MPI é necessário atribuir um endereço MPI diferente a 
cada CPU. 
Selecione o botão "Properties" para abrir a janela "Properties - MPI Node", que contém duas seções: "General" e "Parameters". 
Pagina 23 
Propriedades da CPU: Geral 
Programação 
Características de Startup: As CPUs do S7-300 e S7-400 têm diferentes características de startup. 
Por enquanto, vamos ver apenas as características de startup do S7-300. 
Pagina 24 
Propriedades da CPU: Startup 
Programação 
Restart Completo: O S7-300 apenas reconhece o "Complete restart". As CPUs mais novas 
também possuem a versão "Cold restart“. 
 
Tempos Monitorados: 
"Ready message from modules (x100ms):" 
Tempo máximo para que todos os módulos enviem uma mensagem de que estão OK após power 
ON. Se os módulos não enviarem a mensagem de que estão prontos para a CPU dentro deste 
intervalo de tempo, a configuração atual não é igual à configuração prevista. Por exemplo, numa 
configuração com vários bastidores, todas as fontes de alimentação podem ser ligadas dentro 
deste tempo sem se tomar atenção a uma seqüência particular. 
"Transfer of parameters to modules (x100ms):" 
Tempo máximo para “distribuir” os parâmetros aos módulos com atribuição de parâmetros (a 
contagem deste tempo começa quando é enviada a mensagem "Ready message from modules“ 
para a CPU). 
Se, decorrido o tempo de acesso, não tiverem sido atribuídos os parâmetros a todos os módulos, 
então a configuração atual não é igual à configuração prevista. 
 
Startup se as Configurações Prevista e Atual são diferentes: Apenas nas CPUs com interface 
DP integrada (e S7-400) pode ser utilizada a opção "Startup if preset configuration not equal to 
actual configuration“, para decidir se a CPU deverá executar o startup mesmo que a configuração 
prevista não seja igual á configuração atual (número e tipo de módulos instalados). 
As outros CPUs do S7-300 entram em RUN quando a configuração prevista não é a mesma que a 
configuração atual. 
Memória Retentiva: A seção "Retentive Memory" é utilizada para especificar as áreas de memória que devem ser mantidas após 
uma falha na alimentação ou numa transição de STOP para RUN. 
No S7-300 é executado, em ambos os casos, um "complete restart“. 
 
Pagina 25 
Propriedades da CPU: Retentividade 
Programação 
Restart Completo com Bateria de Backup: Num restart completo, 
os blocos armazenados na RAM retentiva (OB, FC, FB, DB), bem 
como os bits de memória, temporizadores e contadores definidos 
como retentivos são mantidos. Só os bits, temporizadores e 
contadores não-retentivos são resetados. 
 
Restart Completo sem Bateria de Backup: Se não existe bateria 
para manter a RAM sua informação é perdida. Só os bits de 
memória, temporizadores, contadores definidos como retentivos, 
além das áreas dos blocos de dados definidas como retentivas são 
armazenados em área não-volátil da RAM. 
Depois de um restart completo sem bateria de backup o programa 
tem que ser transferido novamente: 
 
- a partir do módulo de memória (se inserido); ou 
- a partir do PG (se não existir módulo de memória). 
 
Operação: A carga de ciclo para funções de teste é regulado com essa opção: Na opção Process, funções de teste como "Monitor" ou "Monitor/Modify 
Variable" são limitadas de forma que o aumento do tempo de ciclo permitido não seja excedido. Testes com breakpoints e passos individuais (execução do 
programa linha a linha) não podem ser executados. 
Na opção Test, todas as funções de teste possíveis com PG/PC podem ser utilizadas sem restrições, mesmo que provoquem um aumento significativo do 
tempo de ciclo. 
Opção Pré-Definida: Características pré-definidas (nível de proteção 1; não há password atribuído): A posição da chave na CPU determina a proteção: 
- Chave na posição RUN-P ou STOP: sem restrições 
- Chave na posição RUN: só é possível o acesso read-only (leitura)! 
 
Pagina 26 
Propriedades da CPU: Proteções 
Programação 
Password: Se foi atribuído um nível de proteção com password (apenas válido até um reset de 
memória), a pessoa que sabe a password tem acesso para leitura e escrita. A pessoa que não 
sabe a password tem as seguintes restrições: 
- proteção nível 1: corresponde às características pré-definidas 
-proteção nível 2: é apenas possível o acesso read-only, independentemente da posição da chave 
- proteção nível 3: não é possível nem o acesso para leitura nem o acesso para escrita, 
independentemente da posição da chave. 
Características de um Módulo em Operação com Proteção por Password 
Exemplo: para executar a função "Modify Variable" deve-se escrever a password para um módulo 
ao qual foi atribuído o parâmetro de nível de proteção 2. 
Direitos de Acesso: É possível também introduzir a password para um módulo protegido no 
SIMATIC Manager: 
1.Selecione o módulo protegido ou seu programa S7 
2.Introduza a password selecionando a seqüência de menus PLC -> Access Rights. Os direitos de 
acesso, depois da password ter sido introduzida, são apenas válidos até que a última aplicação S7 
seja completada. 
 
System Diagnostics: Se o campo "Record cause of CPU STOP" está desativado não é enviada nenhuma mensagem para o PG / 
OP quando a CPU entra em STOP ("CPU Messages"). 
De qualquer forma a causa que levou a CPU ao estado STOP é armazenada no buffer de diagnóstico. 
Pagina 27 
Propriedades da CPU: Diagnótico / Relógio 
Programação 
Clock: As possibilidades de sincronização dos relógios em rede são apresentadas no capítulo 
“Solução de Problemas”. 
É possível também ajustar automaticamente a hora no relógio de uma CPU independente 
através de um fator de correção. 
 
Correction Factor: O fator de correção é utilizado para corrigir uma inexatidão do relógio após 
decorridas 24 horas. 
O fator de correção tanto pode ser negativo como positivo. 
Exemplo: Se o relógio está 3 segundos adiantado após 24 horas, isto pode ser corrigido com 
um fator de "-3000ms". 
 
Nota: "Interrupts", "Time-Of-Day Interrupts" e "Cyclic Interrupt" são discutidos no capítulo 
“Blocos de Organização". 
 
Pagina28 
Propriedades da CPU: Comunicação 
Programação 
Comunicação: Toda conexão de comunicação ocupa um recurso de conexão 
(connection resource) na CPU do S7. Dependendo das especificações técnicas um 
número específico de recursos de conexão está disponível para cada CPU, os quais 
são ocupados por várias tarefas de comunicação (“PG/OP communication”, “S7 
communication” ou “S7 standard communication”). 
Quando as tarefas de comunicação efetuam “log on” os recursos de comunicação 
são distribuídos na seqüência do “log on”. 
A ocupação dos recursos de conexão não depende somente da seqüência de “log 
on” das várias tarefas de comunicação, pois é possível também reservar recursos 
para as seguintes tarefas: 
- “PG Communication”; 
- “OP Communication”; e 
- “S7 Standard Communication”. 
Ao menos um recurso de conexão para “PG/OP Communication” é reservado. 
Valores menores não são permitidos. 
Outras tarefas de comunicação como “S7 Communication” com funções PUT/GET 
não podem ocupar este recurso de conexão mesmo se elas realizarem sua conexão 
primeiro. Pelo contrário, os recursos de comunicação ainda disponíveis mas não 
reservados para uma tarefa são ocupados. 
Salvar: Para salvar a configuração atual no projeto atual selecione a seqüência de menus Station >Save (não são criados blocos de 
dados de sistema - SDBs). 
Pagina 29 
Salvando a Configuração de HW e Transferindo para o modulo 
Programação 
Transferência: Selecionando a seqüência de menus PLC > Download 
ou clicando no ícone da barra de ferramentas é possível transferir a 
configuração selecionada para o PLC. O PLC tem que estar no estado 
"STOP“! 
Blocos de Dados de Sistema: Os SDBs são gerados e modificados 
quando se configura o hardware. 
Os blocos de dados de sistema (SDBs) contêm os dados da configuração 
e os parâmetros do módulo, e são armazenados na memória de trabalho 
da CPU quando da sua transferência. Isso facilita a substituição de 
módulos, porque os dados de atribuição de parâmetros são transferidos 
para o novo módulo a partir dos blocos de dados de sistema no startup 
da CPU. 
No terminal de programação, os blocos de dados de sistema são 
armazenados no caminho: Project \ Station \ CPU \ S7_program \ Blocks \ 
System_data. 
Para abrir a lista de blocos de dados de sistema dê um duplo-clique no 
ícone 
 
 
 
Se estiver utilizando um módulo Flash EPROM, os SDBs também devem 
ser nele armazenados. Assim sendo, a configuração não se perde se 
estiver trabalhando sem bateria de back-up e ocorrer uma falha na 
alimentação da CPU. 
Pagina 30 
Tipos de Blocos de Programa 
Programação 
Blocos: O Controlador Lógico Programável oferece vários tipos de blocos nos quais o 
programa do usuário e seus dados podem ser armazenados. Dependendo das 
necessidades do processo este programa pode estar estruturado em diferentes blocos. 
 
Função FC, SFC: Uma função (FC) contém uma parte funcional do programa. É 
possível programar funções de modo que sejam parametrizáveis. Com isso as funções 
são ideais para serem reutilizadas no programa, e para realizarem tarefas complexas 
como cálculos. 
Funções de sistema (SFC) são funções parametrizáveis integradas ao sistema 
operacional da CPU. Seu número e funcionalidade são fixos. 
 
Bloco de Função FB, SFB: Basicamente os blocos de função oferecem as mesmas 
possibilidades que as funções. Adicionalmente, os blocos de função possuem sua 
própria área de memória, sob a forma de blocos de dados instance (instance data 
blocks). Com isso as funções são ideais para serem reutilizadas no programa, e para 
realizarem tarefas complexas como controle em malha fechada. 
Blocos de Funções de Sistema (SFB) são funções parametrizáveis integradas ao 
sistema operacional da CPU. Seu número e funcionalidade são fixos. 
 
Blocos de Dados: Blocos de Dados (DB) são áreas de dados do programa do usuário 
nas quais os dados relativos ao mesmo são gerenciados de maneira estruturada. 
 
Operações Permitidas: A utilização de todas as operações é possível em todos os 
blocos (FB, FC e OB). 
OB (Bloco de Organização): Os blocos tipo OB são em geral os responsáveis pela organização do programa do usuário. 
Tem-se blocos de organização para o processamento cíclico do programa, para o processamento comandado por tempo e por 
interrupções. 
Os procedimentos de partida da CPU e sua reação em caso de falhas podem ser também influenciados pela programação de 
OB´s especiais. 
Podemos dizer porém que o bloco de organização mais importante é o OB1. Este bloco é o responsável pelo processamento 
cíclico do programa. 
O bloco de organização OB1 é chamado pelo sistema operacional da CPU. Assim que a instrução JU (salto incondicional) ou JC 
(salto condicional) é encontrada, o programa linear é deixado e passa a ser executado o bloco chamado pelas instruções de salto. 
No término da execução deste bloco temos o retorno á instrução seguinte no OB1 que originou o salto. 
A OB será chamada ciclicamente pelo sistema operacional. Ou seja, os blocos de aplicação devem chamados dentro de uma OB 
(Organization Block) para serem executados. Uma FB ou FC não irá fazer nada se não for chamada por uma OB. 
 
A Tabela 03 seguinte lista os blocos de organização integrados no CLP SIMATIC S7-300. 
 
Pagina 31 
Blocos integrados e as suas funções 
Programação 
O tipo de OB é definido por seu numero. 
Executados continuamente (OB1 apenas): 
 
 
Executados Periodicamente: S7 provê até nove cíclico interrupção OB´s (OB30 para OB38) que interrompem seu programa em intervalos fixos. 
 
Pagina 32 
OB – Bloco de Organização 
OB1 
 
Programa de execução cíclico 
 
OB30 
 
Cíclico interrupção (falha intervalo: 5s) 
OB31 
 OB32 
 OB33 
OB34 
 
Tabela 01 – Avaliação de Blocos de Organização Integrados 
Programação 
OB35 
 OB36 
 OB37 
 OB38 
Cíclico interrupção (falha intervalo: 2s) 
Cíclico interrupção (falha intervalo: 1s) 
Cíclico interrupção (falha intervalo: 500ms) 
Cíclico interrupção (falha intervalo: 200ms) 
Cíclico interrupção (falha intervalo: 100ms) 
Cíclico interrupção (falha intervalo: 50ms) 
Cíclico interrupção (falha intervalo: 20ms) 
Cíclico interrupção (falha intervalo: 10ms) 
Exemplo de programa utilizando vários OB´s cíclico interrupção conforme suas prioridades de tempo. 
 
 
 
 
 
 
 
 
 
 
 
 
A definição de onde colocar uma determinada lógica depende da necessidade do programa, existem lógicas que são mais 
rápidas e precisam de um ciclo de execução mais veloz, assim como existem aquelas que podem ser executadas com 
menos freqüência. Por exemplo, OB33 pode sofrer um pequeno atraso que não irá interferir no processo, já OB36 ex: 
atualização das saídas exige uma resposta muito mais rápida. Desta forma vamos dividir os programas de acordo com sua 
função e com a sua velocidade de execução. 
Pagina 33 
OB – Bloco de Organização 
Programação 
Figura – Tipos de OB´s e suas chamadas 
O tipo de OB é definido por seu numero. 
OB´s de erros Assíncronos: 
Pagina 34 
OB – Bloco de Organização 
OB80 
 
Máx tempo de varredura excedido 
OB81 
 
Falha da bateria de backup 
 
OB82 
 
Quebra de fio na entrada de um módulo com capacidade de interrupção 
 
OB83 Removendo um módulo de sinal durante o modo RUN 
 OB84 
 
Nível de sinal de falha na interface MPI 
Programação 
OB85 
 
Erro na atualização da imagem de processo (módulo com defeito) 
OB86 
 
Defeito em fonte de alimentação de bastidor de expansão 
 
OB87 
 
Identificador de mensagem incorreta (Erro de comunicação) 
 
Exemplo de programa utilizando OB de Erros Assíncrono. 
Inserindo um Bloco: Selecione a seqüência de menus Insert > S7 Block > OB81 > linguagem STL 
 
 
 
 
 
 
 
 
 
 
 
Pagina 35 
OB – Bloco de Organização 
Programação 
Figura – Tipos de OB´s e suas chamadas 
Exemplo de programa utilizando OB de Erros Assíncrono. 
Tarefa: O defeito na bateria deve resultar na amostragem de um erro no console operacional.Depois de trocada a bateria a mensagem deve 
automaticamente desaparecer. 
 
Descrição: Em erros de fonte de alimentação p.ex. falha de bateria, OB 81 de erro é chamado uma vez pelo sistema operacional. Depois do erro ser 
eliminado o OB81 é chamado mais uma vez. 
No programa exemplo, a variável #OB81_FLT_ID é avaliada, de forma a determinar se existiu um defeito na bateria. Neste caso a variável contém o 
valor 22H. A comparação desta forma é preenchida e o bit de memória M81.1 é acionado. 
 
O erro mostrado será iniciado quando a bateria tiver falhado (entrando evento) e limpada depois que o erro tenha sido eliminado (saído evento). 
Os seguintes identificadores estão na variável #OB81_EV_class 
Ou seja: B#16#39 entrando evento 
 B#16#38 saindo evento. 
O “SET” e o “RESET” do FLAG de memória auxiliar M81.0 é o arquivado através da avaliação destas variáveis. 
 
No programa cíclico p.ex. OB1, o FLAG de memória auxiliar M81.0 pode ser lincado à uma memória geradora de pulso e ser atribuída a uma saída. 
A saída então piscará enquanto a bateria estiver esgotada ou removida. 
Pagina 36 
OB – Bloco de Organização 
Programação 
Exemplo de programa utilizando OB de Erros Assíncrono. 
Área de dados do OB 81: 
Pagina 37 
OB – Bloco de Organização 
Programação 
Exemplo de programa utilizando OB de Erros Assíncrono. 
Pagina 38 
OB – Bloco de Organização 
Programação 
O tipo de OB é definido por seu numero. 
OB´s STARTUP “partida”: Na Tabela seguinte, pode ser observado que é chamado OB pelo sistema operacional durante partida. 
 
 
 
 
OB 121 erro de programação: O sistema operacional do CPU chama OB121 sempre que um evento acontece isso é causado por um erro relacionado 
ao processo do programa. Por exemplo, se seu programa chama um bloco que não esteve carregado no CPU, OB121 é chamado. 
 
 
 
OB 122 erro de acesso as E/S: O sistema operacional do CPU chama OB122 sempre que um erro acontece enquanto dados esta sendo acessado em 
um módulo. Por exemplo, se o CPU descobre a leitura de erro quando dados esta sendo acessado em um módulo de E/S, o sistema operacional 
chama OB122. 
Pagina 39 
OB – Bloco de Organização 
OB100 
 
Procedimento de RESTART manual (STOP-RUN) 
 
OB102 
 
Procedimento de RESTART após recuperar energia 
 
OB121 Removendo um módulo de sinal durante o modo RUN 
 
OB122 
 
Nível de sinal de falha na interface MPI 
Programação 
Pagina 40 
Estrutura do Programa 
Programação 
Programa Linear: O programa completo se encontra em um bloco contínuo. 
Este modelo assemelha-se ao de um controle feito com relês, e que foi substituído por um controlador lógico programável. A CPU processa as instruções 
individuais uma após a outra. 
 
Programa Particionado: O programa está dividido em blocos, dentro dos quais cada bloco contém somente um programa destinado a solucionar uma 
tarefa parcial. Internamente também é possível particionar o bloco através de segmentos (networks). É possível gerar padrões para networks do mesmo 
tipo. 
O bloco de organização OB 1 contém instruções para a chamada de outros blocos numa seqüência definida. 
 
Programa Estruturado: Um programa estruturado contém blocos com parâmetros, ou parametrizáveis. 
Estes blocos são criados de forma a serem utilizados universalmente. 
Ao realizar a chamada de um bloco parametrizável são fornecidos parâmetros (os endereços exatos de entradas e saídas, e assim como de valores de 
parâmetros). 
Exemplo: 
• Um bloco “Bomba” possui instruções para o controle de uma bomba. 
• Os blocos de programa responsáveis pelo controle de bombas especiais chamam o bloco “Bomba” e transferem informações à respeito de qual bomba 
será controlada e com quais parâmetros. 
• Quando o bloco “Bomba” completa a execução de suas instruções o programa retorna para o bloco onde foi feita a chamada (por ex. OB 1), e o 
processamento das instruções continua. 
Pagina 41 
Estrutura do Programa 
Programação 
Pagina 42 
Inserindo um bloco S7 
Programação 
 
Inserindo um Bloco: Selecione a seqüência de menus Insert > S7 Block 
para visualizar uma lista com os diferentes tipos de blocos: 
• Os blocos de organização (OB) são chamados pelo sistema operacional. 
Eles compõem a interface entre o sistema operacional e o programa do 
usuário. 
 
• Funções (FC) e blocos de funções (FB) contêm o programa atual do 
usuário. Eles permitem que um programa complexo seja dividido em 
unidades pequenas e fáceis de compreender. 
 
• Os blocos de dados (DB) contêm os dados do usuário. 
 
Após escolhido o tipo de bloco a caixa de diálogo "Properties" se abre para 
que se possa especificar o número do bloco e a linguagem de 
programação a ser utilizada (LAD, STL ou FBD). 
 
Efetuando as escolhas e confirmando com o botão "OK” o novo bloco é 
inserido no programa atual. 
Pagina 43 
Iniciando o Editor 
Programação 
Inicia-se o Editor LAD/STL/FBD selecionando Start > Simatic > STEP7 > 
LAD,STL,FBD - Programming S7 Blocks. 
 
A forma mais rápida e recomendada para iniciar o Editor é: 
 
1.Selecione o objeto "Blocks" na janela do projeto do SIMATIC Manager. 
 
2.Faça um duplo-clique num bloco qualquer para abrir o Editor. 
 
Elementos do Programa: Utilizando as linguagens de programação LAD e 
FBD pode-se inserir elementos gráficos simples de programação diretamente a 
partir da barra de ferramentas. 
 
Clique no ícone "Program Elements" para abrir a outra janela contendo mais 
elementos de programa. O conteúdo desta janela depende da linguagem de 
programação selecionada (LAD/FBD/STL). 
Pagina 44 
Componentes do Editor LAD/STL/FBD 
Programação 
 
Componentes Iniciando o Editor LAD/STL/FBD aparecem 
automaticamente duas janelas: a tabela de declarações e a 
seção de programa. O usuário pode abrir também uma terceira 
janela, designada "Program Elements". 
 
Tabela de Declarações: A tabela de declarações pertence ao 
bloco. É utilizada para declarar variáveis e parâmetros para o 
bloco. 
 
Seção de Programa: A seção de programa contém o próprio 
programa, dividido em segmentos separados (networks) se 
necessário. 
Durante a edição as entradas são analisadas para que a 
sintaxe fique correta. 
 
Elementos de Programa: O conteúdo da janela "Program 
Elements" depende da linguagem de programação 
selecionada. 
Para que os elementos desta lista possam ser inseridos no 
programa selecione o elemento com o cursor e faça depois um 
duplo-clique no mesmo. 
Pode-se também inserir estes mesmos elementos arrastando-
os com o mouse. 
Pagina 45 
Componentes do Editor LAD/STL/FBD 
Programação 
Introdução: Existem várias linguagens de programação em 
STEP 7, que podem ser usadas dependendo da 
preferência e conhecimento. Aderindo a regras específicas, 
o programa pode ser criado em Lista de Instruções e 
depois convertido para outras linguagens de programação. 
 
LAD: A representação em Diagrama de Contatos é muito 
similar a um diagrama de circuito elétrico. São utilizados 
símbolos como contatos e bobinas. Essa linguagem de 
programação é preferida por aqueles que “cresceram” com 
os contatores. 
 
STL: A Lista de Instruções é composta por instruções 
STEP 7. Pode-se programar de uma forma praticamente 
livre em STL (algumas vezes ao ponto de já não conseguir 
seguir mais o programa). Esta linguagem de programação 
é preferida pelos programadores que já estão familiarizados 
com outras linguagens de programação. 
 
FBD: O Diagrama de Blocos de Funções utiliza “caixas” 
para as funções individuais. O caractere na caixa indica a 
função (por ex. Temporizasores). Essa linguagem de 
programação tem a vantagem de que até um “não 
programador” como por exemplo um engenheiro de 
processo pode trabalhar com ela. O Diagrama de Blocos de 
Funções está disponível desde a Versão 3.0 do Software 
STEP7. 
Pagina 46 
Operações Lógicas Básicas 
Programação 
Instruções de BIT: Asinstruçõ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 o 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) 
Pagina 47 
Operações Lógicas Básicas 
Programação 
Instruções para Setar, Resetar e Salvar: A função “flip-flop” consiste de operações 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. 
Pagina 48 
Operações Lógicas Básicas 
Programação 
 
Instrução Flanco de Impulso: 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. 
 
 
Flanco de Impulso Positivo: Quando a entrada I1.0 
muda seu estado de 0 para 1, como mostrado na 
figura ao lado, 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 
Q8.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 Negativo: Para um flanco de 
impulso negativo, o pulso de scan ocorre quando 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. 
Pagina 49 
Exercício: Chave selecionadora de bombas 
Programação 
 
Figura – Circuito de força de 
duas motor-bombas 
Dispositivo de entrada nível 
CPU S7-315 DP 
Botão A NA 
Endereço 
I0.1 0 
Dispositivo de saída 
Contatora C1 Q0.5 
tabela – Endereços e nível lógico dos dispositivos de E/S. 
Botão B NA I0.2 0 
Contato rele térmico2 NA 0 
 3 ~ 
R1 
C1 
 3 ~ 
R2 
C2 
Contato rele térmico1 NA 0 
Chave duas posições I0.0 0 ou 1 
Contatora C2 Q0.6 
Botão C NA I0.3 0 
Botão D NA I0.4 1 
Para aprender a programar o CLP S7-300 vamos desenvolver Lógica Ladder para acionar o circuito de força de duas motor-
bombas conforme figura abaixo e as duas devem ser selecionadas para ligar/desliga por uma chave de duas posições de sinal 
lógico (0 e 1) Obs Os Reles térmicos 1 e 2 quando acionados deverão desabilitar as instruções de saídas independente da 
posição da chave seletora. 
Solução: Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela. 
Pagina 49 
Exercício: Chave selecionadora de bombas 
Programação 
 
 
Solução: Passo 2 
Construção do Fluxograma Analítico. 
OB1 
Bloco Cíclico 
não 
SIM 
Posicionar chave para 
motorbomba 1 
Rele Térmico 1 
Normal? 
Posicionar chave para 
motorbomba 2 
Rele Térmico 2 
Normal? 
Aciona Contatora K1 
Partida ou 
Parada do 
motor-bomba 1? 
START STOP 
Aciona Botão A 
Desaciona Contatora 
K1 
Aciona Botão B ou 
Rele Térmico 1 
Aciona Contatora K2 
Partida ou 
Parada do 
motor-bomba 2? 
START STOP 
Aciona Botão C 
Desaciona Contatora 
K2 
Aciona Botão D ou 
Rele Térmico 2 
SIM 
não 
Pagina 49 
Exercício: Chave selecionadora de bombas 
Programação 
O Que Fazer 1. Configuração do Hardware 
 2. File new > chave selecionadora 
 3. Insert > STATION > 2.simatic 300 station 
 4.Selecione simatic 300 e com mouse clicar 2X e 2X sobre Hardware 
 5. Clicar sobre CPU-300 > CPU-313 > 6ES7 313-1AD03-0AB0 > V1.2 e arrastar com o mouse para slot 2 do rack na area de trabalho 
 6. Clicar sobre SM-300 > DI/DO-300 > SM323 DI16/DO16 x 24V/ 0,5ª e arrastar com o mouse para slot 4 do rack 
 7. Clicar sobre AI/A0-300 > SM334-AI4/A02 e arrastar para slot 5 do rack 
 8. Salve e feche HW config 
 
Pagina 50 
Exercício: Chave selecionadora de bombas 
Programação 
. Configuração do Hardware: 
Pagina 51 
Exercício: Chave selecionadora de bombas 
Programação 
O Que Fazer 1. No SIMATIC Manager, insira um bloco novo OB1 Clicar sobre Block com mouse direito > inset new object > organization block 
 2. Clicar 2 X sobre o bloco OB1 e mudar para linguagem Ladder (LAD) 
 3. Edite o Network 1 do OB1 ( conforme a figura) 
 4. Adicione um novo Network usando e programe o Network2 (conforme a figura). 
 
 5. Salve o bloco offline usando 
 
 6. Configure a interface de comunicação conforme a figura. 
 
 
 
Pagina 52 
Exercício: Chave selecionadora de bombas 
Programação 
O Que Fazer 
 
 
 
 
 
 
 
 
 
 
 
7. Transfira o bloco para a CPU usando 
 
 
Pagina 53 
Exercício: Chave selecionadora de bombas 
Programação 
Programa OB1: 
Pagina 54 
Efetuando Download 
Programação 
Transferindo 
Pode-se transferir blocos para o CPU com o SIMATIC 
Manager: 
•clicando no ícone ou 
 
•selecionando a opção de menu PLC > Download. 
 
Antes de fazer isto deve-se selecionar os blocos a se 
transferir: 
 
• Todos os Blocos: Selecione o objeto "Blocks“ na parte 
esquerda da janela do projeto. 
 
• Alguns Blocos: Pressionando a tecla CTRL e selecionando os 
blocos. 
 
• Um Bloco: Selecionando o Bloco. 
Pagina 55 
Teste simples de Programa 
Programação 
Ativação / Desativação: Existem duas maneiras de ativar / 
desativar a função de teste “Monitor": 
 
• clique no ícone 
 
• selecione a opção de menu Debug > Monitor. 
 
Visualização: O status do programa é mostrado de maneira 
diferente dependendo da linguagem de programação 
selecionada (LAD/STL/FBD). 
Quando a função de teste é ativada não é possível mudar a 
linguagem de programação do bloco que está sendo analisado 
(LAD/FBD/STL). 
 
Pagina 56 
Temporizadores 
Programação 
 
Temporizadores: O S7 oferece três opções de temporizadores com atraso (delay timer): 
. 
On-Delay Timer S_ODT: Retardo na 
Energização 
 
Off-Delay Timer S_OFFDT: Retardo na 
Desenergização 
 
Retentive On-Delay S_ODTS: Retardo na 
Energização com Retenção 
 
Pagina 57 
Temporizadores 
Programação 
 
Temporizadores: O S7 oferece duas opções de temporizadores de pulso: 
. 
Pulse S_PULSE: Pulso 
 
Extended Pulse S_PEXT: Pulso Extendido 
 
 
Pagina 58 
Exercício: Sinalizador oscilante para falta de bateria CPU 
Programação 
Objetivo: O objetivo desse exercício é o desenvolvimento com 2 temporizadores no bloco OB1 um oscilador para sinalizar a falta de bateria (OB81) na 
CPU. Ver o bit de saida M81.0 do bloco OB81 pagina 38. 
 
Pagina 59 
Contadores 
Programação 
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 Crescente S_CU: Com um “flanco de 
impulso” positivo na entrada S, o contador é setado 
com o valor da entrada SC. Iniciando com 0 ou SC, 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 de 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 Decrescente S_CD: Com um “flanco de 
impulso” positivo na entrada S, o contador é setado 
com o valor da entrada SC. Iniciando com 0 ou SC, o 
contador conta decrescentemente a cada vez que 
existir um flanco de impulsopositivo 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 positivo na 
entrada R o contador é resetado, isto é, o contador é 
setado com o valor 0. 
 
Up / Down Counter S_CUD: Combinação de 
contadores crescente e decrescente. 
Pagina 60 
Comparadores 
Programação 
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 comparam 
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 lógica é 1. 
Pagina 61 
Instruções para Bits 
Programação 
Temp. Off-Delay SF: Se o RLO muda 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 até que o 
RLO mude de 1 para 0. 
 
Temp. de Pulso SP: Se o RLO muda de 0 para 1, o 
temporizador SP recebe o valor do tempo. O 
temporizador funciona com tempo específico, contanto 
que RLO = 1. Se o RLO mudar de 1 para 0 com o 
temporizador funcionando, o temporizador para. 
 
Temp. Pulso Extendido SE: Se o RLO muda de 0 
para 1, o temporizador SE recebe o valor do 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 muda 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. 
Pagina 62 
Instruções para Bits 
Programação 
Temp. On-Delay Retentivo SS: Se o RLO muda de 0 
para 1, o temporizador SS recebe o valor de 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 Crescente CU: A bobina CU incrementa de 
1 o valor de um contador específico, se o RLO mudar 
de 0 para 1. 
 
Contador Decrescente CD: A bobina CD 
decrementa de 1 o valor de um contador específico, 
se o RLO mudar de 0 para 1. 
Pagina 63 
Exercício: Esteira Transportadora 
Programação 
 
Dispositivo de entrada nível 
CPU S7-315 DP 
Botão A NA 
Endereço 
I0.1 0 
Dispositivo de saída 
Contatora C1 Q0.5 
tabela – Endereços e nível lógico dos dispositivos de E/S. 
Emergência NF I0.2 1 
Sensor S1 NA I0.0 0 
I0.3 0 
C1 
contatora 
Figura – Circuito de força 
de um motor da esteira 
 3 ~ 
R1 
Rele termico 
S1 
Sensor 
Desejamos construir a Lógica LADDER para o acionamento; através do botão (I0.1); de uma esteira transportadora de peças 
conforme figura;e a mesma deverá contar 10 peças através do sensor S1 (I0.0) e após a contagem deverá desligar o motor da 
esteira (Q0.5) e resetar o contador. Obs independente do sensor contar 10 peças o motor deverá ser desligado caso seja 
acionado o rele térmico R1 (I0.3) ou parada de emergência (I0.2) Solução: 
Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela. 
Contato rele térmico1 NA 
Pagina 64 
Exercício: Esteira Transportadora 
Programação 
 
OB1 
Bloco Cíclico 
não 
SIM 
Rele térmico 1 
ou botão de 
emergência 
normal ? 
Aciona Botão A 
Desabilita motor e RESET 
contador 
Aciona motor Contador = 10 
peças ? 
SIM 
não 
Habilita Sensor 
Solução: Passo 2 
Construção do Fluxograma Analítico. 
 
Pagina 65 
Programação 
Programa OB1: 
Exercício: Esteira Transportadora 
Pagina 66 
Instrução CALL 
Programação 
A instrução “Call” é utilizada para disparar a execução de um outro bloco lógico. Na figura abaixo 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 chamador e continua a sua execução logo após a 
instrução Call. 
Chamada em LAD 
sem parâmetros 
 
 
 
 
 
 
 
 
Chamada em LAD 
com parâmetros 
 
Pagina 67 
Instrução CALL 
Programação 
EN/ENO: Em Diagrama de Contatos (LAD) e em Blocos Funcionais (FBD) existe um sinal de habilitação do bloco (EN), isto é, o 
bloco é executado se e somente se o RLO=1 nesta entrada 
Possui também uma saída correspondente (ENO), que indica o se o bloco foi executado corretamente. 
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). 
Vista Geral: Funções (FC) representam parâmetros atribuíveis de blocos sem memória. No STEP 7 eles podem ter muitos 
parâmetros de entrada (input), parâmetros de saída (saída) e parâmetros de entrada/saída (in/out) conforme necessidade. 
Funções são primariamente usadas quando valores de funções são retornadas da chamada dos blocos (p.ex.: funções 
matemáticas, controle simples com operações lógicas binárias). 
 
Instrução Chamada: Em uma chamada de FC, uma informação direta de troca entre o bloco chamado e a função chamada 
somente é possível via chamada EN/ENO ou CALL (sem parâmetros) ou com parâmetros. 
Pagina 68 
FC – Função 
Programação 
Variáveis temporárias podem ser utilizadas em todos os blocos (OB, FC, FB). Elas são utilizadas para armazenar informações 
temporariamente enquanto o bloco está sendo executado. Os dados são perdidos quando é finalizada a execução do bloco. 
 
Pagina 68 
FC – Função – Variáveis Temporárias 
Programação 
Pagina 69 
Chamando um FC no OB1 
Programação 
Execução Cíclica: 
Para que um novo bloco criado seja parte integrante da execução cíclica do programa da CPU ele deve ser chamado no OB1. 
A forma mais fácil de inserir a chamada de um bloco graficamente em LAD e FBD é através da lista de instruções já conhecida (ver figura abaixo). Na 
linguagem de programação STL a instrução para a chamada de um bloco é a instrução CALL. 
Pagina 70 
Exercício: Partida Direta com Reversão 
Programação 
 
Dispositivo de entrada nível 
CPU S7-315 DP 
Botão A NF Direto 
Endereço 
I0.0 1 
Dispositivo de saída 
Contatora K1 Q0.5 
tabela – Endereços e nível lógico dos dispositivos de E/S. 
Botão B NF Reversão I0.1 1 
I0.5 0 
I0.3 1 
Desejamos construir a Lógica LADDER para o acionamento do motor M1; através do botão (I0.0) Partida direta e botão (I0.1) 
Reversão. 
Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela. 
Contatora K2 Q0.6 
Contato rele térmico1 NA 
Auxiliar K1 NF 
I0.4 1 Auxiliar K2 NF 
Pagina 71 
Exercício: Partida Direta com Reversão 
Programação 
 FC1 
Bloco Cíclico 
não 
SIM 
Rele térmico 1 
normal ? 
Habilita K1 
Solução: Passo 2 
Construção do Fluxograma Analítico. 
 
OB1 
CALL FC1 
Direto 
Direto ou 
Reverso ? 
Habilita K2 
Reverso 
Desabilita K1 ou K2 
Pagina 72 
Exercício: Partida Direta com Reversão 
Programação 
 
1º Passo – Criar a função exemplo FC1 – Insert New Objeto  Function  FC1 LAD 
2º Passo – Clicar sobre FC1 e criar a logica Ladder como na figura abaixo. 
Pagina 73 
Exercício: Partida Direta com Reversão 
Programação 
 
3º Passo – Clicar sobre OB1 e arrastar FC1 para Network1 conforme a figura. 
Pagina 74 
Exercício: Partida Seqüencial de3 motores c/ Direta com Reversão 
Programação 
 
Desejamos construir a Lógica LADDER para o acionamento de 3 motores (M1,M2,M3) em sequência após Partida do botão 
(I0.0). Usar Função Parametrizada para a logica de Partida Direta com Reversão. 
Após 2s libera 
motor 2 
Após 2s libera 
motor 3 
Após 2s libera 
motor 1 
Pagina 75 
Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão 
Programação 
 
1º Passo – Criar a função exemplo FC1 – Insert New Objeto  Function  FC1 LAD 
2º Passo – Clicar sobre FC1 e declarar as variaveis. 
Pagina 76 
Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão 
Programação 
 
3º Passo – Após declarar as variavéis criar a logica LAD Partida Direta com Reversão e Inserir Symbol (variaveis declaradas) 
sobre os endereços das Instruções conforme a figura. 
Pagina 77 
Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão 
Programação 
 
4º Passo – Clicar sobre OB1 inserir BIT i0.0, temporizador S_ODT ,arrastar FC1 parametrizado para Network1 e inserir saída 
m0.0 conforme a figura. 
Motor 1 
Pagina 78 
Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão 
Programação 
 
5º Passo – Inserir BIT m0.0, temporizador S_ODT ,arrastar FC1 parametrizado para Network2 e inserir saída m0.1 conforme a 
figura. 
Motor 2 
Parâmetros iguais, 
endereços diferentes. 
Pagina 79 
Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão 
Programação 
 
6º Passo – Inserir BIT m0.1, temporizador S_ODT e arrastar FC1 parametrizado para Network3 conforme a figura. 
Motor 3 
Parâmetros iguais, 
endereços diferentes. 
Pagina 80 
Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão 
Programação 
 
4º Passo – Clicar sobre OB1 inserir BIT i0.0, temporizador S_ODT e arrastar FC1 parametrizado para Network1 conforme a 
figura. 
Motor 1 
Vista Geral: Blocos de Funções (FB) são blocos do programa do usuário e representam, de acordo com a IEC Standard 1131-3, 
blocos lógicos com memória. Eles podem ser chamados por OBs, FBs e FCs. 
Diferentemente dos FCs, os FBs são inicializados, isto é, um FB é determinado por sua própria área de dados privada, por 
exemplo, pode “lembrar“ estados do processo de chamada para chamada. De forma simple, esta área de dados privados é seu 
próprio DB, o chamado DB instance. 
 
 
Memória: O programador tem a oportunidade para declarar variáveis estáticas na seção de declaração do FB. O FB pode 
„lembrar" informações de chamada para chamada nestas variáveis. 
A possibilidade para um FB "lembrar" informações sobre diversas chamadas é a diferença essencial dos FCs. 
 
 
Aplicações: Com a ajuda desta “memória“, um FB pode, por exemplo, implementar funções de contagem e temporização ou 
unidades de controle de processos, tal como estações de processamento, acionamentos, aquecedores, etc. 
Em particular, FBs são adequados para controle de todas unidades de processo cuja performance depende não somente de 
influências externas mas também em estados internos, tal como processamento passo-a-passo, velocidade, temperatura, etc. 
Quando controles como unidades, os dados de estado interno das unidades de processo são então copiadas para variáveis 
estáticas dos FBs. 
Pagina 39 
FB – Bloco de Função 
Programação 
Formação Instance dos Blocos de Funções
Drive_1
FBx
+
DBy
Dados de 
estados p/ 
Drive_1
Algorítmos
p/ controle
OB, FB or FC
chamada FBx, DBy
...
...
 Chamada de FB 
com DB Instance
chamada
#Motor_1
.
chamada
#Motor_2
DBx
...
stat Motor_1 FBx
stat Motor_2 FBx
Dados de 
estados p/ 
Drive_2
Dados de 
estados p/ 
Drive_3
FBx
FB Instance
Algorítmos
p/ controle
FB
Drive_2
Drive_3
 Declarações 
dentro de FBs
(Multi-instances)
O conceito de FB com instance tem grande importância e estabelece o critério essencial de distinção com os FCs. A definição das 
variáveis dentro de linguagens de alto nível como “C” sob declaração de nomes de variáveis e tipos de dados na declaração é 
chamado de “instance”. 
A mesma forma de variáveis são também criadas nos FBs. Somente através desta „própria‟ área de dados, na qual os valores dos 
parâmetros do bloco bem como variáveis estáticas são armazenadas, isto torna um FB a ser uma unidade executável (FB 
instance). 
Pagina 39 
FB – Bloco de Função 
Programação 
Pagina 46 
Chamando um bloco no OB1 
Programação 
Execução Cíclica: 
Para que um novo bloco criado seja parte integrante da execução cíclica do programa da CPU ele deve ser chamado no OB1. 
A forma mais fácil de inserir a chamada de um bloco graficamente em LAD e FBD é através da lista de instruções já conhecida (ver figura acima). Na 
linguagem de programação STL a instrução para a chamada de um bloco é a instrução CALL. 
Pagina 22 
STEP 7 – 
Programação 
Para solucionar tarefas complexas se faz necessário dividi-las em pequenas partes. Estas partes serão chamadas de blocos de 
programa. Cada bloco de programa irá executar uma parte da tarefa e estas partes serão gerenciadas por um único bloco de 
organização. 
Pagina 14 
Estrutura de Programação 
PB´s 
FB´s 
Programação 
A linguagem STEP-5 apresenta os seguintes tipos de blocos, para a formação de um programa estruturado: 
 
OB (Bloco de Organização): organiza os blocos de controle, pode ser considerado o Programa Principal (OB1). Podem ser 
numerados de 0 a 255 - OB0 a OB255. 
 
PB (Bloco de Programa): são blocos utilizados para a programação das partes da tarefa a ser executada. Podem ser numerados 
de 0 a 255 - PB0 a PB255. 
 
FB (Bloco de Função): são utilizados quando uma parte da tarefa exige operações avançadas ou suplementares. Também 
utilizado onde uma determinada tarefa se torne repetitiva no programa. Podem ser numerados de 0 a 255 - FB0 a FB255. Existem 
FB's que são padronizados para determinadas tarefas. (PID, posicionamento, conversão numérica, etc..) 
 
DB (Bloco de Dados): são áreas de memória, onde podem ser armazenados dados. Dados estes que poderão ser utilizados 
pelos FB's, temporizadores, contadores, comparadores, etc. 
 
 
Pagina 15 
Estrutura de Programação 
Programação 
OB (Bloco de Organização): Os blocos tipo OB são em geral os responsáveis pela organização do programa do usuário. 
Tem-se blocos de organização para o processamento cíclico do programa, para o processamento comandado por tempo e por 
interrupções. 
Os procedimentos de partida da CPU e sua reação em caso de falhas podem ser também influenciados pela programação de 
OB´s especiais. 
Podemos dizer porém que o bloco de organização mais importante é o OB1. Este bloco é o responsável pelo processamento 
cíclico do programa. 
O bloco de organização OB1 é chamado pelo sistema operacional da CPU. Assim que a instrução JU (salto incondicional) ou JC 
(salto condicional) é encontrada, o programa linear é deixado e passa a ser executado o bloco chamado pelas instruções de salto. 
No término da execução deste bloco temos o retorno á instrução seguinte no OB1 que originou o salto. 
 
A Tabela 03 seguinte lista os blocos de organização integrados no CLP SIMATIC S5-95U. 
 
Pagina 16 
Blocos integrados e as suas funções 
Programação 
OB (Bloco de Organização) 
Pagina 17 
OB – Bloco de Organização 
OB1 
 
Programa de execução cíclico 
 
OB3 
 
Execução de programa driver-interrupção 
OB13 
 
Execução de programa controlada-tempo 
 
OB21 
 
Procedimento de RESTART manual (STOP-RUN) 
 
OB22 Procedimento de RESTART após recuperar energia 
 OB34 
 
Procedimento depois de falha de bateria 
OB já é programado; OB deve ser chamado através de programa de usuário 
 
OB31 Disparo por tempo de scanneamento 
 OB251 
OB 
 
Função 
 OB deve ser programado pelo usuário; chamado por sistema operacional 
 
Algoritmo PID 
 
Tabela 03 – Avaliação de Blocos de Organização Integrados 
Programação 
Numeração dos SLOT´s 
O CLP poderá ter no máximo quatro trilhos. Poderão ser utilizados16 unidades de bus (32 slots). Os slots são numerados em 
sequência. A numeração começa no "0", sendo este o slot ao lado da CPU. Se existe ou não um módulo conectado a unidade de 
bus, não faz diferença, a numeração dos slot´s será a mesma. 
 
Módulos Digitais 
Os módulos digitais podem ser plugados em todos os slot´s (de 0 a 31). Somente dois estados de sinais (0 ou 1, ON ou OFF) 
podem ser transferidos por canal do módulo à CPU ou da CPU ao módulo. Cada canal do módulo digital mostra apenas um bit. 
Por esta razão que devem ser numerados. 
 
Módulos Analógicos 
Os módulos analógicos deverão ser montados entre os slot´s de 0 a 7. A memória requerida será de 16 bits = 2 bytes = 1 WORD 
ou palavra. Os módulos são endereçados byte a byte ou WORD a WORD através das operações de carga (L) ou transferência 
(T). 
 
 
Pagina 18 
Definição de endereço CPU S5 95U 
Endereçamento 
Os elementos que constituem E/S diferem por meio de um endereço sem igual associado a cada um deles 
Endereçamento dos Periféricos E/S Integrados 
 
Pagina 19 
Endereçamento e acesso aos Periféricos E/S 
Endereçamento 
Função Entradas Saídas 
Periféricos Digital Integrados 
I 32.0 – I 32.7 
I 33.0 – I 33.7 
Q 32.0 – Q 32.7 
Q 33.0 – Q 33.7 
Periféricos Analógicos Integrados 
IW 40,IW 42, IW 44, IW46, 
IW48, IW 50, IW54 
QW 40 
Interrupçôes (alarmes) I 34.0 – I 34.3 -------------------- 
Contadores 
Contador A IW 36 
Contador B IW 38 
-------------------- 
O controlador programável pode ter um máximo de quatro trilhos.O S5-95U tem um máximo de 16 unidades de BUS (32SLOT´s). 
Os SLOT´s são numerados consecutivamente. A numeração começa com " 0 " e é o slot ao lado do controlador programável 
(CPU). Se um módulo é plugado ou não isso não tem nenhum efeito na numeração. 
Há dois tipos de módulos digitais com ranges de endereços diferentes: 
• módulos Digitais com quatro ou oito canais podem ser plugados em SLOT´s 0 a 31 
• módulos Digitais com mais de oito canais podem ser plugados em SLOT´s 0 a 7 
Pagina 20 
Numerando SLOT´s 
Endereçamento 
Figura 13 – Endereçando Módulos Digitais com Quatro ou Oito Canais 
Cada canal de um módulo digital é representado por um BIT. Esta é a razão que todos BIT´s deve ser nomeado seu próprio 
número. Use a forma seguinte para um endereço digital: 
 
 
 
 
 
Exemplo: Um modulo de saída de 8 bit´s é plugado no slot 3 é utiliza se o bits 1 para lâmpada, então o endereço será Q 3.1. 
Pagina 21 
Numerando SLOT´s 
Endereçamento 
BIT endereço (número de canal) 
Byte endereço (número do SLOT) 
Módulos digitais com mais de Oito Canais 
 
 
 
 
 
 
 
Cada canal de um módulo digital é representado através um BIT. Cada BIT deve ser nomeado então um número separado. Um 
canal é enviado assim da maneira seguinte: 
Pagina 22 
Numerando SLOT´s 
Endereçamento 
Figura 15 – Endereçando Módulos Digitais com mais de 8 Canais 
BIT endereço (número de canal) 
Byte endereço (número do SLOT) 
Módulos analógicos 
65536 diferentes tipos de informação ou seja (16 BITS) pode ser trocado em cada canal entre dois módulos analógicos. 
Devem ser enviados os canais de um módulo analógico conforme um certo formato de dados 
Os módulos analógicos são endereçados canal por canal que usa operações WORD. 
 
• Quatro WORD são reservados por SLOT. 
• O espaço de endereço analógicos permissível se estende byte 64 (slot 0, canal 0) para byte 127 (slot 7, 
canal 3). 
 
 
 
 
 
 
 
Pagina 23 
Numerando SLOT´s 
Endereçamento 
Figura 17 – Endereçando Módulos E/S Analógicos 
 
Representação LAD: associação AND em Diagrama de contatos 
conforme figura 18 
Representação CSF: associação AND em Diagrama de blocos 
conforme figura 19 
Representação STL: associação AND em lista de instruções 
conforme figura 20 
Pagina 24 
Sintaxe 
Programação 
Figura 18 
 
Figura 20 
 
Figura 19 
 
 
Representação LAD: Associação OR em Diagrama de contatos 
conforme figura 21 
Representação CSF: Associação OR em Diagrama de blocos 
conforme figura 22 
Representação STL: Associação OR em Lista de instruções 
conforme figura 23 
Pagina 25 
Sintaxe 
Programação 
Figura 21 
 
Figura 23 
 
Figura 22 
 
 
Representação LAD: Associação AND + OR em Diagrama de 
contatos conforme figura 24 
Representação CSF: Associação AND + OR em Diagrama de blocos 
conforme figura 25 
Representação STL: Associação AND + OR em Lista de instruções 
conforme figura 26 
Pagina 26 
Sintaxe 
Programação 
Figura 24 
 
Figura 26 
 
Figura 25 
 
 
Representação LAD: conector ( # ) em Diagrama de contatos 
conforme figura 27 
Representação CSF: conector ( # ) em Diagrama de blocos 
conforme figura 28 
Representação STL: conector ( # ) em Lista de instruções conforme 
figura 29 
Pagina 27 
Sintaxe 
Programação 
Figura 27 
 
Figura 29 
 
Figura 28 
 
Representação LAD: Associação OR (complexo) contida em 
associação AND acionando diversas saídas simultaneamente em 
Diagrama de contatos conforme figura 30 
Representação CSF: Associação OR (complexo) contida em 
associação AND acionando diversas saídas simultaneamente em 
Diagrama de Blocos conforme figura 31 
Representação STL: Associação OR (complexo) contida em 
associação AND acionando diversas saídas simultaneamente em 
Lista de instruções conforme figura 32 
Pagina 28 
Sintaxe 
Programação 
Figura 30 
 
Figura 32 
 
Figura 31 
 
 
Os controladores programáveis da linha “ SIMATIC “ possuem duas áreas de memória chamada de acumuladores, e que por 
diante chamaremos acumuladores 1 (ACCU1) e acumuladores 2 ( ACCU2 ). 
No texto nosso objetivo é demonstrar de que maneira podemos “ escrever “ e “ler” dados desta s área de memória. 
 
 1 - escrevendo dados na memória 1 
 Utilizando a instrução “LOAD” podemos escrever um determinado dado no acumulador 1 ( ACCU1 ). 
Pagina 29 
Acumuladores 
L IW 0 - 
ACCU2 
125 
ACCU1 
Programação 
2 - Escrevendo um dado no acumulador 2 
Como foi explicado no parágrafo acima, toda vez que utilizamos a instrução “LOAD”, um novo dado será escrito no acumulador 1 
( ACCU1 ), mas para que os dados que exista no acumulador 1 não seja perdido, este dado será transferido para o acumulador 2 
antes do novo dado ser escrito no acumulador 1. 
 
 
 
 
A primeira instrução ( L IW 0 ) faz com que o conteúdo da palavra de entrada “0” (IW0 = 125) seja carregado no acumulador 1. 
Quando a Segunda instrução do tipo “LOAD” é processada ( LIW 2 ), o conteúdo da palavra de entrada “2” ( 147) será carregado 
no acumulador 1 ( 125 ) Ter sido copiado no acumulador 2. 
OBS : sempre serão utilizados dois acumuladores quando a “CPU” do controlador tiver que processar a instruções onde 
dois elementos sejam necessário para a sua realização (soma, subtração, comparação, etc. ). 
Além das funções acima citadas o acumulador 1 tem a função de ser o elemento do qual a CPU consegue efetuar a transferência 
de dados. 
 
Pagina 30 
Acumuladores 
L IW 0 - 
ACCU2 
125 
ACCU1 
L IW 2 125 147 
Programação 
 
No exemplo abaixo o dado contido na palavra de entrada 4 ( “IW 4 “ ) é carregado no acumulador através da instrução “ L IW 4 “, 
este é o mesmo dado transferido para a palavra de saída 8 ( “QW 8” ) através da instrução “T QW 8”. 
Pagina 31 
Acumuladores 
Programação 
 
Nem sempre a utilização dos sinais provenientes dos módulos de entradas e saídas (digitais ou analógicas), são suficiente para a 
elaboração de programas. Para estes casos, os controladores programáveis da linha “SIMATIC” possuem áreas de memória que 
podem ser utilizadas como elementos auxiliares. Estes elementos auxiliares foram denominados de “FLAGS”. 
Os flags podem ser utilizado na forma de bit, byte ou WORD ( em algumas CPU‟s podem ser utilizados na forma de dupla palavra 
(32 bits). 
 
OBS: nos programas elaborados na linguagem “STEP-5” serão utilizados a seguinte denominação deflag‟s 
Flag = F 
Flag-byte = FY 
Flag-word = FW 
 
Podemos dividir os “FLAG‟s” em duas categorias: 
 Flag’s remanentes 
 Flag’s não remanente 
Pagina 32 
FLAGS ( Área de memória) 
Programação 
 
1-Flag’s remanentes 
Flag‟s remanentes são assim denominados pois o circuito de memória onde os mesmos se encontram, são alimentados por uma 
bateria. Esta ligação ( circuito – bateria ) faz com que um flag que se encontre em nível lógico “1” permaneça neste estado, 
mesmo no caso de falta de energia elétrica. 
 
EX: Os flags remanente são utilizados em programas de máquinas que armazenem informações do seu estado de 
funcionamento, e no caso de uma parada por falta de energia elétrica, mantenha estas informações, para que após o 
restabelecimento da energia, a mesma possa continuar processando um determinado produto, exatamente no mesmo ponto que 
se encontrava no momento da deserginação . ( máquinas de empacotamento, paletizadores, etc.). 
 
2-Flag’s não remanente 
Os flags são chamados de não remanente quando os circuitos de memória onde o mesmo se encontram não são alimentados por 
baterias de back-up. Isto faz com que um flag que se encontre em nível lógico “1” vá para o nível lógico “0” no caso de falta de 
energia elétrica. 
 
Pagina 33 
FLAGS ( Área de memória) 
Programação 
 
EX: Ao contrario do exemplo anterior estes flags serão utilizados em programa de equipamento onde após falha de energia 
elétrica o equipamento começará a funcionar sempre pelo passo inicial, e não no passo em que o programa no momento da 
queda de energia. 
 
OBS: o usuário deverá consultar a documentação da CPU que tiver sendo utilizada pois, a qualidade de flag’s varia de 
um modelo de CPU para outra. A quantidade de flag’s remanentes bem como a maneira de sua habilitação também 
deverá ser verificada. 
 
EX: Existem CPU’s que possuem 2048 bits de flag’s ( 256 bytes – byte 0 até o byte 255) 
Destes 2048 bits a primeira metade ( 128 bytes – byte 0 até byte 127 ) é constituída por flag’s do tipo remanente e 
Segunda metade constituída por flag’s do tipo não remanente ( 128 bytes – bytes 128 até o byte 255 ), e esta 
configuração não pode ser alterada, já em outro tipo de CPU a quantidade de flag’s remanente e não remanente é 
exatamente igual aqui exposto com a diferença de que os flags da faixa remanente podem ser utilizados como não 
remanentes pela através da mudança de posição de uma chave que encontrada no painel frontal da CPU. 
Pagina 34 
FLAGS ( Área de memória) 
Programação 
 
Na tabela a seguir temos os endereço dos Flags ( F 0.0 a F 63.7 remanecentes ) e os Flags ( F 63.7 a F 255.7 ñ remanecentes ) 
para a CPU 095U. 
 
Pagina 35 
Ñ Remanecentes 
64.0 a 255.7 
Remanecentes 
0.0 a 63.7 
Numero de Flags 
2048 
CPU 
095 
FLAGS ( Área de memória) 
Programação 
 
Neste capitulo vamos estudar o STEP5 que operam no sistema MS-DOS . 
 
Este software deve ser instalado em um microcomputador. Após a instalação, quando você rodar este software, o seu 
microcomputador poderá ser usado como um terminal de programação e/ou manutenção do CLP. 
 
A versão Step-5 utilizada neste curso é a 6.64 . Sendo assim temos que saber a linha de comando a ser digitada para acessar o 
programa conforme segue abaixo: 
No win98 reiniciar em MS-DOS 
C:\WIN\ cd c:\ enter 
C:\cd step5 enter 
C:\step5\cd s5_st enter 
C:\step5\s5_st\s5 enter 
STEP5 
Pagina 36 
Software STEP5 
 Exemplo de Aplicativo 01 
 
Para aprender a programar o CLP Simatic 95U vamos utilizar o exemplo aplicativo 01 criando Lógica Ladder para acionar o 
circuito de força liga/desliga de uma motor bomba conforme figura 34. O Rele térmico 1 quando acionado devera desabilitar a 
motor bomba e acionar uma lâmpada de sinalização. 
Solução: Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela 6. 
Figura 34 – Circuito de força de 
1motor-bomba 
Dispositivo de entrada nível 
CPU 095U 
Botão A NA 
Endereço 
I32.6 0 
Dispositivo de saída 
Contatora C1 Q33.1 
tabela 6 – Endereços e nível lógico dos dispositivos de E/S. 
Botão B NF I32.5 1 
 3 ~ 
R1 
C1 
Contato rele térmico1 NA I1.0 0 
Lâmpada amarela Q32.2 
Pagina 37 
Construção de Lógica para Aplicativo 
Lâmpada liga Q32.1 
 Exemplo de Aplicativo 01 
 
 
Solução: 
Passo 2 – Construção do Fluxograma Analítico. 
 
Inicio 
Aciona 
botão A 
Aciona 
contator C1 
Fim 
Botão B e rele 
térmico normal 
? 
sim 
Desaciona 
contator C1 
não 
Pagina 38 
 3 ~ 
C1 
Figura 34 – Circuito de força de 
1motor-bomba 
Construção de Lógica para Aplicativo 
Etapas para a Programação de um CLP 
STEP5 
Figura 35 
 
Pagina 39 
Software STEP5 
Criando um arquivo de programa novo 
Quando vamos iniciar um novo programa, devemos criar um 
arquivo e nomeá-lo conforme nossa necessidade. Devemos seguir 
o seguinte caminho para a criação de um novo arquivo: 
object  project  settings  page 1 
Na opção Program File selecione a tecla F3, no campo que se abre 
digite o nome desejado para o seu arquivo, obedecendo o número 
máximo de caracteres permitido e ENTER conforme figura 35. 
 
 
 
Criando um Bloco de Programa 
Conforme o grau de complexidade do nosso programa devemos saber onde escrever as instruções. No caso de operações 
básicas utilizamos os Blocos de Programa ( OB ou PB ). Devemos seguir a seguinte sequência para criarmos um OB ou PB: 
editor  step5 block  in the program file conforme figura 36 
Em block nomear o bloco de programa Exemplo: (OB, PB, FB) em seguida ENTER conforme figura 37. 
STEP5 
Figura 36 
 
Pagina 40 
Figura 37 
 
Software STEP5 
 
Escolhendo o tipo de representação 
 
Podemos escrever as instruções nos modos LAD, STL ou CSF conforme nossa necessidade ou conhecimentos. Para fazermos 
esta opção devemos seguir os seguintes passos: 
 
A tela irá se abrir no modo Edit. Este modo não permite a troca do tipo de representação, por isso devemos passar para o modo 
Output.( descrito no canto superior direito da tela). 
 
Ao visualizar a tela no modo Edit, clicar Uma Vez a tecla Enter e depois a tecla Esc. 
Já no modo Output pressionamos simultaneamente as teclas Shift e F5, assim escolhendo tipo de representação. 
Para voltarmos para o modo Edit pressionamos a tecla F6. 
STEP5 
Pagina 41 
Software STEP5 
Criando um Bloco de Programa 
Estando no modo de edição utilize as teclas “F1 a F8” e “SHIFT+F1 a SHIFT+F8” para edição do programa e substitua as 
“?????” acima de cada instrução com suas respectivas entradas, saídas ou flags. 
As linhas de programação RUNG são separadas por segmentos conforme a figura 38. 
Após terminar de digitar o segmento 1 acionar F6 “compl seg” para ter acesso ao próximo segmento. 
STEP5 
Figura 38 
 
Pagina 42 
Software STEP5 
Após o termino do programa “segmento 2 figura 39 digitar F7 (Enter) e depois SHIFT+F7 para salvar. 
Para verificar todos os segmentos do projeto acionar F5 “seg fct” e acionar “-1” para voltar ao segmento anterior e “+1” para o 
próximo seguimento. 
Dicas: 
Quando desejamos inserir uma nova linha de comando entre duas linhas de comando já editadas colocamos o cursor em cima 
do sinal : e pressionamos a tecla End. 
Se desejamos apagar uma única linha de comando, colocamos o cursor em cima do sinal : e pressionamos a tecla Delete. 
STEP5 
Figura 39 
 
Pagina 43 
Software STEP5 
Transferindo o programa editado no PC para o CLP 
Para fazer a transferência do programa editado no PC para o CLP devemos primeiramente verificar se ambos estão conectados 
com o cabo de comunicação apropriado. O 1º passo é comunicar o PC com o CLP da seguinte maneira: 
object  project  settings  page 2 
Selecione a opção Mode e pressione a tecla F3, concretizando a comunicação a janela passará de off line para on line 
conforme figura 40. 
Retorne para a tela anterior pressionando a tecla F8. 
STEP5

Outros materiais