Você está na página 1de 116

Controladores Lgicos

Programveis
Mdulo avanado

Programao Avanada CLP Siemens S7-300


Sumrio
Item

Pgina

Controladores programveis

03

Estrutura bsica do CLP

06

Princpio de funcionamento de um CLP

14

Lgica digital

17

Microcontrolador programvel WEG CLIC02

21
27

Grupo de instrues bobina


Grupo de instrues contadores
Controlador programvel Altus Srie Ponto

34
44
55

MT4100 MasterTool Programming

58

Grupo de instrues rels


Grupo de instrues contadores
Grupo de instrues aritmticas
Controlador programvel Siemens Simatic S7-300
Conjunto de instrues do Step7 CLP Siemens S7-300

66
77
83
97
101

Grupo de instrues bobina


Grupo de instrues contadores
Grupo de instrues temporizadores

109
118
126

Exerccios complementares

Elaborao: Srgio Corregio

Programao Avanada CLP Siemens S7-300

Controlador Programvel SIEMENS Simatic S7-300


CONTROLADORES PROGRAMVEIS SIEMENS
A linha SIMATIC S7 consiste de trs tipos de controladores programveis classificados de acordo
com o desempenho de cada um deles.
SIMATIC S7-200
um micro PLC desenhado para aplicaes de baixo desempenho. controlado por seu pacote
de software especfico, os quais no esto inclusos na srie S5 e S7.
SIMATIC S7-300
um mini controlador modular desenhado para aplicaes de baixo desempenho.
SIMATIC S7-400
O S7-400 projetado para aplicaes de desempenho intermedirio a alto. Para referncias mais
fceis, os nomes dos mdulos S7-300 sempre iniciam com um 3 e os mdulos S7-400 iniciam com um
4.

ESTRUTURA DE HARDWARE DO S7-300

Elaborao: Srgio Corregio

Programao Avanada CLP Siemens S7-300


Com exceo de sistemas de pequeno porte, onde podemos utilizar apenas uma fonte e uma
CPU Compacta, um sistema de controle baseado no CLP SIMATIC S7-300 geralmente composto por:

Fonte (PS)
CPU
Mdulos de Expanso
Mdulos de I/O (SM)
Mdulos de Comunicao (CP)
Mdulos de Funo (FM)

RACKS DE EXPANSO
Chamamos de Rack Central (CR) o trilho que acomoda a CPU, no qual podemos acoplar at 8
mdulos de expanso. Caso haja a necessidade de mais mdulos de expanso, dependendo do modelo
de CPU, a configurao pode ser ampliada atravs de Mdulos de Interface (IM) num total de at 3
Racks de Expanso (ER) cada qual com mais 8 Mdulos de Expanso, totalizando 32 mdulos para uma
configurao centralizada.
Caso a aplicao exija um nmero maior de mdulos ou mesmo uma distncia maior entre o Rack
Central (CR) e os Racks de Expanso (ER) a configurao pode ser expandida atravs de uma rede
Profibus-DP e estaes de I/O remoto ET 200. Tal expanso pode ser implementada atravs da
interface Profibus-DP j integrada a algumas CPUs ou atravs de um Mdulo de Comunicao.

MDULOS DO CLP S7-300


RACK 1 - UNIDADE CENTRAL DE PROCESSAMENTO
A CPU utilizada no S7-300 de modelo 312IFM, a qual j inclui os mdulos de entradas e sadas
digitais incorporados (10 entradas e 6 sadas digitais).
O part number deste mdulo 312-5AC02-0AB0

Elaborao: Srgio Corregio

Programao Avanada CLP Siemens S7-300


RACK 2 - FONTE DE ALIMENTAO
A fonte utilizada neste CLP a de modelo PS 307 2A, com alimentao direta de 120 / 230V de
entrada e 24VDC 2A de sada.
O part number deste mdulo 1BA00-0AA0

RACK 4 - MDULO DE SINAL ANALGICO


Os mdulos de sinal do SIMATIC S7-300 so comparveis nas funes aos mdulos de entrada e
sada do S5. Contudo, em adio aos mdulos simples de sinal, o S7 tambm prov mdulos que
podem receber parmetros e que tm capacidade de diagnstico.
O mdulo analgico do CLP composto pelo modelo SM334, com 4 entradas e 2 sadas
analgicas de 8 bits de resoluo cada uma.

O part number deste mdulo 334-0CE01-0AA0


Instalao e Configurao
Com uma arquitetura modular o SIMATIC S7-300 prov economia de espao, flexibilidade de
configurao e rpida expans. O CLP S7-300 no necessita de racks com nmeros predefinidos de
slots para ser montado, o conjunto de mdulos encaixado e aparafusado sobre um trilho DIN padro,
os mdulos so interligados uns aos outros atravs de um bus modular que fica embutido no trilho.

Elaborao: Srgio Corregio

Programao Avanada CLP Siemens S7-300


CARACTERSTICAS FUNCIONAIS
Um amplo espectro de CPUs est disponvel para aplicaes simples ou aplicaes de grande
performance. As CPUs possibilitam curtos tempos de ciclo, at 1s. por instruo binria, atravs de
seus eficientes processadores. Para algumas tarefas especiais, existem CPUs Compactas com I/Os,
funes tecnolgicas e interfaces de comunicao j integradas.
A grande diversidade de mdulos de expanso permite a adaptao da configurao para
qualquer tipo de aplicao, esto disponveis:
Mdulos de I/O (SM)

Digitais (24Vdc, 48-130Vuc, 120/230VAC, Rel etc)


Analgicos (5V, 0-10V, 0/4 at 20mA, Hert etc)

Mdulos de Comunicao (CP)


Profibus DP / FMS
Ethernet
AS-interface
Serial Ponto-a-Ponto
Modbus
Mdulos de Funo (FM)

Contadores rpidos
Sadas de pulso rpida
Controle de posio
Controle de motor de passo
Controle em malha fechada (PID)

Um total de at 32 mdulos de expanso pode ser utilizado em uma configurao centralizada.


Os mdulos de expanso para S7-300 tambm so utilizados na estao de I/O distribudo ET
200M, possibilitando economia com peas de reposio em uma configurao distribuda com CLP S7300 e ET 200M.
Comunicao
Alem dos diversos mdulos de comunicao que podem ser agregados a configurao, toda CPU
da srie S7-300 traz integrada a si uma porta de comunicao MPI (interface multi-ponto). Atravs desta
porta a CPU programada e parametrizada. Com a porta MPI possvel ainda implementar uma rede
de pequeno porte com equipamentos SIEMENS, tais como:

CLPs SIMATIC S7-200/300/400


Controladores SIMATIC C7
Interfaces Homem Mquina SIMATIC HMI
Computadores Industriais SIMATIC PC

Alm da interface MPI, alguns modelos de CPU possuem uma segunda interface de comunicao
integrada Profibus ou Serial Ponto-a-Ponto.

Elaborao: Srgio Corregio

Programao Avanada CLP Siemens S7-300


Programao e Parametrizao
A programao do CLP SIMATIC S7-300 suplementada atravs do software STEP7 disponvel
em trs verses STEP7 Lite, STEP7 e STEP7 Professional, desenvolvidas para melhor atender as suas
necessidades.
Aplicaes
O SIMATIC S7-300 oferece solues para as mais diversas tarefas de automao, nas seguintes
reas:

Engenharia de produo
Indstria automobilstica
Construo de mquinas especializadas
Construo de mquinas em srie (todos os tipos de mquinas de produo), OEM
Processamento de plstico
Indstria de embalagens
Indstria alimentcia e de cigarros
Engenharia de processos (p. e. saneamento, automao predial)

Para aplicaes especiais, esto disponveis produtos adicionais dedicados que complementam a
linha SIMATIC S7-300:

Aplicaes prova de falhas, com a nova CPU 315F desenvolvida de acordo com as
diretrizes TUV, assim como com os respectivos I/Os, agora possvel programar o conceito de
falha segura em aplicaes centralizadas ou distribudas.

Componentes especiais para instalao em locais agressivos suportam condies


ambientais rigorosas, p.e. nveis de temperatura maiores.

SIMATIC C7, CPUs da srie SIMATIC S7-300 com interface homem-mquina (IHM)
integrada, ideal para aplicaes em que o espao para instalao extremamente restrito.

COMBINANDO HARDWARE E SOFTWARE


Usando o software STEP7, voc pode criar seu programa S7 dentro de um projeto. O controlador
programvel S7 monitora e controla o processo com este programa.

Elaborao: Srgio Corregio

Programao Avanada CLP Siemens S7-300

Esquema bsico de controle via CLP

O GERENCIADOR SIMATIC
Iniciando o SIMATIC Manager e criando um projeto
O ponto inicial de acesso do gerenciador Simatic o cone dele, chamado de STEP7. Este cone
abre a janela deste gerenciador na qual podemos configurar todo o hardware do CLP, bem como abrir
um novo projeto de programao.
Todo programa criado deve ser feito sobre um projeto que possui diversos objetos, sendo este
objeto chamado de OB1.
Deste gerenciador podem-se acessar todas as funes instaladas no sistema (sistema padro e
todos os softwares).
Desta janela podemos fazer o seguinte:

Montar os projetos

Configurar e fornecer parmetros de hardware

Configurar as configuraes de comunicao

Criar os programas
Elaborao: Srgio Corregio

Programao Avanada CLP Siemens S7-300

Testar os programas e iniciar sua execuo

ESTRUTURA DE UM PROJETO S7
Definio de um projeto
Os projetos contm todos os dados e programas para uma soluo de automao. O propsito
deles prover um armazenamento organizado de dados e programas criados para cada aplicao.
Projetos no STEP7
No S7 um projeto contm todos os arquivos criados para um programa usurio no arquivo de
projeto. Este arquivo de projeto contm informao necessria para edio e manuteno do programa
do usurio, tais como ajustes de parmetros, bem como os catlogos e nomes de arquivos.

Elaborao: Srgio Corregio

Programao Avanada CLP Siemens S7-300


PROCEDIMENTO BSICO DE USO DO STEP7
Antes de voc criar um projeto, voc deve saber que os projetos no STEP7 podem ser criados em
diferentes ordens.

Se voc criar programas com muitas entradas e sadas, recomendamos que voc configure o
hardware do CLP em primeiro lugar. A vantagem disto que o S7 mostra os endereos possveis no
editor de configurao de hardware (Hardware Configuration Editor).
Se voc escolher a segunda opo, voc ter que determinar cada endereo e, dependendo dos
componentes selecionados voc no poder chamar esses endereos via STEP7.
Na configurao de hardware, voc pode no somente definir endereos, mas tambm alterar os
parmetros e propriedades dos mdulos.

Estrutura de projeto no Simatic Manager

Projeto
A estrutura de um projeto de automao se inicia pelo cone de projeto, localizado no primeiro nvel,
o qual identificado pelo nome do projeto.
Simatic 300 Station (Estao de Hardware)
Para definir e parametrizar o hardware deve-se criar a estao de HW (S7-300). A estao criada
(S7-312IFM) pode ter seu nome alterado pelo usurio e seus mdulos so definidos pela ferramenta
Station Configuration. Ao se definir os mdulos, o sistema automaticamente cria os subdiretrios
respectivos (CPU, Programa, Blocks, etc.).
Elaborao: Srgio Corregio

10

Programao Avanada CLP Siemens S7-300


S7 PROGRAM (PROGRAMAS S7)
O programa do usurio referente a um CLP propriamente dito localizado sob o diretrio S7
Programs. Este diretrio pode estar associado ou no a uma estao especfica criada. Associada a um
HW, o diretrio se encontra subordinado CPU. Caso contrrio, fica subordinado diretamente ao projeto.
Nos subdiretrios Source e Blocks esto localizados os programas do usurio, em arquivos fonte
ou em blocos S7, respectivamente.

CONFIGURANDO E PARAMETRIZANDO O S7

Pr-requisito: Para configurar o hardware um projeto j dever ter sido criado.


Inserindo uma estao
Para criar uma nova estao no projeto, siga estes passos:
1. Selecione um projeto
2. Crie o objeto para o hardware solicitado selecionando o comando do menu (Insert
Station)
No sub-menu voc pode selecionar as seguintes opes:

Estao Simatic S300

Estao Simatic S400

Dispositivos de programao

Outras estaes

Elaborao: Srgio Corregio

11

Programao Avanada CLP Siemens S7-300

CONFIGURAO DE HARDWARE

Configurao de hardware
O termo configurao se refere ao arranjo de racks, mdulos, racks de I/O distribudos e
submdulos de interface na janela da estao. Os racks so representados por uma tabela de
configurao que permite um nmero especfico de mdulos serem inseridos, assim como em um rack
real.
Na tabela de configurao, o Step7 automaticamente aloca um endereo para cada mdulo. Voc
pode alterar esses endereos na estao se a CPU puder ser acessada livremente (um endereo pode
ser alocado livremente para cada canal do mdulo, independente do seu slot).
Voc pode copiar sua configurao to frequentemente quanto voc desejar para outros projetos
Step7, modifica-los se necessrio e fazer o download para uma ou mais plantas existentes. Quando o
CLP iniciar, a CPU compara a configurao criada com a atual configurao da planta. Quaisquer erros
sero ento reconhecidos imediatamente e reportados.
Com esta ferramenta possvel:

Definir os mdulos utilizados (CPU, I/O, FM) e a sua parametrizao. Por exemplo: tipo
de medio do mdulo analgico de entrada.

Ler a configurao da CPU. Por exemplo: designao dos mdulos no rack.

Ler diagnstico de dados referentes aos mdulos (system diagnostics)

Na janela online (diagnstico de HW) exibida a configurao da estao que est acessvel
online. Informaes de status ou estado de operao de cada mdulo mostrado no relatrio simblico
do mdulo (system diagnostics).
A tecla F5 atualiza a exibio. Para obter mais informaes, basta dar um duplo clique no smbolo.
A ferramenta iniciada, por exemplo, pela seleo de uma estao de hardware no Simatic
Manager ou via comando do menu Edit Open Object.
A pasta Simatic 300 Station, sub-pasta Hardware, contm toda a configurao de hardware do
CLP usado no projeto iniciado.

Elaborao: Srgio Corregio

12

Programao Avanada CLP Siemens S7-300

Configurando
O usurio especifica a posio dos mdulos no rack e os endereos so definidos
automaticamente (nas CPUs 315-2 e do S7-400 o usurio pode alterar os endereos). A esta
configurao denominaremos configurao parametrizada.
Durante o incio a CPU checa a distribuio dos mdulos existentes, que denominada de
configurao real.

CPU carregada no slot 2 do barramento

Elaborao: Srgio Corregio

13

Programao Avanada CLP Siemens S7-300


Fonte de alimentao carregada no slot 1 do barramento

Mdulo de E/S carregado no slot 4 do barramento

Elaborao: Srgio Corregio

14

Programao Avanada CLP Siemens S7-300


Layout da janela da estao
A parte inferior da janela da estao mostra uma viso detalhada do rack inserido / selecionado.
Os nmeros de pedido (order numbers) e endereos (addresses) dos mdulos so mostrados no
formulrio da tabela.
A tabela tem sua estrutura exibida abaixo para um rack central equipado com alguns mdulos.

Tabela de configurao como uma imagem de um rack


Para uma estrutura central voc arranja os mdulos ao lado da CPU em um rack e continua
atravs das expanses adicionais dos racks. O nmero de racks que podem ser configurados depende
da CPU que voc usa.
Como voc faz em uma planta real, voc arranja seus mdulos em racks com o Step7. A diferena
que os racks do Step7 so representados por tabelas de configurao que tem tantas linhas quantos
slots para mdulos.
A figura a seguir mostra um exemplo de como uma estrutura real convertida em uma tabela de
configurao. Essa tabela corresponde ao rack utilizado. O Step7 automaticamente coloca o nmero dos
racks em janelas em frente aos nomes.
Exemplo: UR (universal rack) corresponde ao rack central nmero 0.

Elaborao: Srgio Corregio

15

Programao Avanada CLP Siemens S7-300


Ajustando parmetros
Ao invs de setar chaves nos mdulos, todos os parmetros so definidos via software. Podem-se
definir parmetros para a CPU e para determinados mdulos de I/O, tais como mdulos analgicos.
Nos parmetros da CPU esto includos, entre outros, o tempo de superviso de durao de um
ciclo ou o intervalo de tempo para execuo de partes do programa.

Trocando mdulos
Durante um restart completo, a CPU distribui os parmetros para todos os mdulos existentes.
Assim, quando se substitui um mdulo defeituoso, a parametrizao para o novo mdulo ainda est
disponvel, armazenada na CPU.

Configurando o Hardware
D-se o nome de configurao parametrizada configurao de hardware criada pelo usurio,
determinando os mdulos existentes e sua localizao, bem como a parametrizao destes mdulos.
A configurao executada pela ferramenta Configurador de Hardware. A partir do catlogo,
selecionam-se os mdulos utilizados, posicionando-os no slot respectivo do trilho ou bastidor.
Naturalmente inicia-se a configurao pelo trilho / bastidor para ento se posicionar os outros mdulos.
Ao se posicionar um mdulo, o sistema automaticamente designa um endereo para ele.
A parametrizao dos mdulos realizada dando-se um duplo clique sobre o mdulo desejado.
Uma tela de configurao referente ao mdulo aparecer, permitindo a alterao dos parmetros.

Catlogo eletrnico
O catlogo eletrnico contm toda a lista de mdulos existentes no S7. Quando se clica na tecla +,
teremos disponveis todos os mdulos do grupo selecionado.

PARMETROS E PROPRIEDADES DA CPU

Setando parmetros da CPU


As propriedades das CPUs tem uma significncia especial para o comportamento do sistema. Nas
caixas de dilogo de uma CPU, voc pode ajustar o seguinte, por exemplo: caractersticas de
inicializao, reas de dados locais e prioridades para interrupo, reas de memria, comportamento
retentivo, memria de clock, nvel de proteo e senha.
Na guia GENERAL da CPU ou via propriedades da interface da CPU voc pode ajustar
parmetros para as interfaces (por exemplo, interfaces MPI (multipoint interfaces) ou interfaces
integradas PROFIBUS-DP). Via estas caixas de dilogo voc tambm pode acessar as caixas de dilogo
de propriedades para a subrede a qual a CPU est conectada.
Para os controladores programveis S7-300 voc tambm pode ajustar os parmetros para alguns
mdulos no programa do usurio (por exemplo, para mdulos analgicos). Voc necessita chamar as
funes de sistema (SFCs) WR_PARM, WR_DPARM e PARM_MOD no programa do usurio para
realizar esta operao. Estes ajustes so perdidos em um reincio a frio.
Entre outros, os seguintes parmetros podem ser setados na CPU:

Endereo da interface MPI;

Caractersticas de start-up / ciclo: tempo mximo de ciclo, ciclo de carga para


comunicao, auto teste cclico e auto teste depois da energizao;

Interrupo cclica (watchdog OB35);

Memria retentiva (flags de memria marcadores de posio do programa),


temporizadores, contadores e blocos de dados;

Clock de memria: reduzir a freqncia de byte da memria;


Elaborao: Srgio Corregio

16

Programao Avanada CLP Siemens S7-300

Diagnstico de sistema: enviar mensagens de diagnstico, detalhar registros no buffer de


diagnstico.

Se o usurio no definir nenhum parmetro, os parmetros default sero utilizados pela CPU.
Depois de setar os parmetros, deve-se transferi-los ao CLP, atravs do comando PLC
Download. A CPU dever estar no modo STOP.

Endereo MPI
Se for necessrio conectar vrios CLPs entre si via interface MPI, devero ser adotados endereos
diferentes para cada equipamento (CPU)

Elaborao: Srgio Corregio

17

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

18

Programao Avanada CLP Siemens S7-300


SETANDO PARMETROS EM MDULOS DE SINAIS
Parmetros nos mdulos de sinais so variveis que contem os ajustes da resposta dos nveis de
sinais dos mdulos (um ou mais por mdulo). Todos os mdulos tm ajustes default. Os ajustes para a
maioria dos mdulos S7 podem ser modificados usando o HW Configuration ou pro meio de SFCs no
programa do usurio.
Existem dois tipos de parmetros para estes mdulos:
Parmetros estticos ajustes dos mdulos podem ser modificados com o S7 HW
Configuration, mas no com SFCs no seu programa.
Parmetros dinmicos ajuste dos mdulos podem ser modificados no programa do
usurio, mesmo se elas forem feitas com o Step7.
Abaixo apresentada a tela de entrada para configurao do mdulo analgico.

Elaborao: Srgio Corregio

19

Programao Avanada CLP Siemens S7-300

Conjunto de instrues avanadas do STEP7


INSTRUES DE LGICA DE BIT
As instrues de lgica de bit trabalham com dois dgitos (1 e 0). Estes dois dgitos formam a base
do sistema numrico chamado binrio. Os dois dgitos so chamados de dgitos binrios ou bits. No
universo dos contatos e bobinas, um dgito 1 indica energizado ou ativado e o 0 indica no ativado /
energizado.
As instrues de lgica de bit interpretam os estados de sinal 1 e 0 e os combina de acordo com
as regras de uma lgica Booleana. As combinaes produzem um resultado 1 ou 0, conhecidos como
resultado da operao lgica (RLO).

Funes
As instrues de lgica de bit esto disponveis para as seguintes funes:
AND, OR e XOR estas instrues checam o estado do sinal e produzem um resultado
que pode tanto ser copiado para o bit RLO (resultado da operao lgica) ou combinado
com ele. Com operaes de lgica AND, o resultado do sinal de estado combinado de
acordo com a tabela verdade desta funo lgica. Com operaes lgicas OR, o resultado
combinado de acordo com a TV da funo OR.
As seguintes instrues reagem em funo de um RLO = 1 Set Output e Reset Output;
Set_Reset flip-flop e Reset_Set flip-flop.
Algumas instrues reagem durante a subida ou descida do pulso. Assim, voc pode
executar as seguintes instrues incrementar ou decrementar o valor de um contador;
inicializar um temporizador; produzir uma sada 1.

1) Instruo Set Reset Flip-flop


Descrio
Esta instruo executa operaes de Set (S - liga) e de Reset (R desliga) somente quando
RLO=1. Um RLO=0 no tem efeito sobre esta operao. O endereo especificado na operao
permanece inalterado.
Um flip=flop Set_Reset ligado se o estado do sinal 1 na entrada S e 0 na entrada R. Caso
contrrio, se o estado do sinal 0 na entrada S e 1 na entrada R, o flip=flop resetado. Se RLO igual a
1 em ambas as entradas, o flip-flop tambm resetado.
Esta instruo afetada pela instruo Rel Mestre de Controle (MCR), que veremos adiante.

Parmetros da instruo Set Reset de flip-flop

Elaborao: Srgio Corregio

20

Programao Avanada CLP Siemens S7-300


Exemplo de programa com a instruo

Exemplo de utilizao da instruo em bloco de funes (FBD)

Exemplo de utilizao da instruo em lista de instrues (STL)

Elaborao: Srgio Corregio

21

Programao Avanada CLP Siemens S7-300


2) Instruo Reset Set Flip-flop
Descrio
Esta instruo executa operaes de Set e Reset somente quando RLO igual a 1. O flip flop
resetado se o estado do sinal 0 na entrada R e 1 na entrada S. Nas condies opostas (R=1 e S=0), o
flip flop setado. Se RLO igual a 1 em ambas as entradas, ele ser setado. Esta instruo tambm
influenciada pela instruo Rel Mestre.

Parmetros da instruo Reset Set de flip-flop

Exemplo de programa com a instruo

Exemplo de utilizao da instruo em bloco de funes (FBD)

Elaborao: Srgio Corregio

22

Programao Avanada CLP Siemens S7-300


Exemplo de utilizao da instruo em lista de instrues (STL)

EXERCCIO
Utilizando-se deste conjunto de instrues, montar um programa em linguagem FBD para
realizar o controle de inverso de rotao de um motor trifsico.
Convenes
Boto desliga S0 I124.0
Rel trmico F7 I124.1
Boto liga S1(sentido horrio) I124.2
Boto liga S2 (sentido anti-horrio) I124.3
Contator K1 Q124.0
Contator K2 Q124.1
Contato de intertravamento K1(31-32) I124.4
Contato de intertravamento K2 (31-32) I124.5

Elaborao: Srgio Corregio

23

Programao Avanada CLP Siemens S7-300


RESOLUO DO EXERCCIO
EM LINGUAGEM LADDER

EM LINGUAGEM DE BLOCOS DE FUNO (FBD)

Elaborao: Srgio Corregio

24

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

25

Programao Avanada CLP Siemens S7-300


Descrio das linhas de instruo do programa

Elaborao: Srgio Corregio

26

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

27

Programao Avanada CLP Siemens S7-300


INTERFACE ELTRICA DAS ENTRADAS E SADAS

Elaborao: Srgio Corregio

28

Programao Avanada CLP Siemens S7-300


INSTRUES DE TEMPORIZAO
Os temporizadores tm uma rea reservada para eles na memria da CPU. Esta rea de memria
reserva uma palavra de 16 bits para cada endereo de temporizador utilizado no programa. O set de
instrues em Ladder suporta at 256 instrues no mesmo programa.
As seguintes instrues tm acesso direto rea de memria de temporizao:
Instrues de temporizao;
Atualizao das palavras de temporizao durante o clock. Esta funo da CPU, em modo
RUN, decrementa um dado valor de tempo de uma unidade no intervalo designado por uma
base de tempo at que o valor de tempo seja igual a zero.

Valor de tempo
Os bits de 0 a 9 de uma palavra de temporizao contm o valor de tempo em modo binrio. Este
valor especifica o nmero de unidades a serem decrementadas. A atualizao de tempo decrementa o
valor de uma unidade no intervalo designado pela base de tempo e este continua at chegar a zero.
Voc pode carregar o valor de tempo em uma palavra baixa do acumulador 1 em binrio, hexadecimal
ou BCD (binary coded decimal). A escala de tempo vai de 0 a 9.990 segundos.
Voc pode pr-carregar o valor de tempo usando ambos os formatos a seguir:
W#16#wxyz, onde: W a base de tempo e wxyz o valor de temporizao
S5T#aH_bbM_ccS_ddMS, onde: a = horas, bb = minutos, cc = segundos e dd =
milisegundos. A base de tempo selecionada automaticamente.
O mximo valor que voc pode carregar 9.990 segundos, ou 2H_46M_30S.

Base de tempo
Os bits 12 e 13 de uma palavra de temporizao contm a base de tempo em cdigo binrio. Ela
define o intervalo no qual o valor de tempo decrementado de uma unidade. A menor base de tempo
10ms e a maior de 10s.

Pelo fato dos valores de tempo estar armazenados somente com um intervalo de tempo, valores
que no so exatamente mltiplos deste intervalo sero truncados. Valores com resoluo muito alta
para a faixa requerida so arredondados para encontrar a faixa desejada, mas no a resoluo
requerida. A tabela abaixo mostra as possveis resolues e suas faixas correspondentes.

Elaborao: Srgio Corregio

29

Programao Avanada CLP Siemens S7-300


Configurao de bits na clula de temporizao
Quando um temporizador inicializado, os contedos da clula de temporizao so usados como
valor de tempo. Os bits 0 at 11 da clula armazenam o valor de tempo em BCD. Os bits 12 e 13
armazenam a base de tempo tambm em BCD. A figura a seguir exibe estas informaes com uma
carga de valor de tempo em 127 e base de tempo em 1 segundo.

1) Extended Pulse S5 Timer (temporizador de pulso estendido)


Descrio
Esta instruo inicializa o temporizador se houver uma borda de pulso positiva (borda de subida
de 0 para 1) na entrada Start (S). Uma mudana de sinal sempre necessria para este procedimento.
O temporizador continua a rodar com o tempo especificado na entrada Time Value (TV valor de
tempo), mesmo se o estado do sinal na entrada S mudar para 0 antes do tempo ter terminado.
Um sinal de checagem de estado em 1 na sada Q produz um resultado de 1 enquanto o
temporizador estiver rodando. O temporizador reinicializado com o tempo especificado se o estado do
sinal na entrada S for de 0 para 1 enquanto ele estiver rodando.
Uma alterao de 0 para 1 na entrada Reset (R) enquanto o temporizador est rodando faz o
mesmo resetar. Essa alterao tambm reseta o tempo e a base de tempo dele.
O valor atual de tempo pode ser monitorado nas sadas BI e BCD. O valor de tempo em BI est em
formato BCD.

Elaborao: Srgio Corregio

30

Programao Avanada CLP Siemens S7-300


Exemplo de aplicao
A figura abaixo mostra a instruo S_PEXT e as caractersticas do temporizador de pulso.

Elaborao: Srgio Corregio

31

Programao Avanada CLP Siemens S7-300


Configurao da instruo para FBD

Configurao da instruo para STL

2) Retentive On-Delay S5 Timer (temporizador retentivo em atraso)


Descrio
Esta instruo inicia o temporizador se houver um pulso positivo (de 0 para 1) na entrada Start (S).
A mudana de sinal necessria para essa inicializao. O temporizador continua a rodar dentro do
valor de tempo especificado na entrada Time Value (TV), mesmo se o estado do sinal na entrada S
mudar para 0 antes do tempo ter expirado.
Um sinal de checagem de estado em 1 na sada Q produz um resultado de 1 quando o tempo tiver
terminado. O temporizador reinicializado com o tempo especificado se o sinal na entrada S mudar de 0
para 1 enquanto o mesmo estiver rodando.
Uma mudana de 0 para 1 na entrada R provoca o reset do temporizador sem levar em
considerao o valor de RLO na entrada S.

Elaborao: Srgio Corregio

32

Programao Avanada CLP Siemens S7-300


Exemplo de aplicao

Elaborao: Srgio Corregio

33

Programao Avanada CLP Siemens S7-300


Configurao da instruo para FBD

Configurao da instruo para STL

Elaborao: Srgio Corregio

34

Programao Avanada CLP Siemens S7-300


EXERCCIO
PARTIDA CONSECUTIVA DE MOTORES TRIFSICOS

Montar um programa em para controle de uma esteira transportadora de cereais que possui 4
motores trifsicos. A partida desses motores seqencial e temporizada (10s de intervalo entre a partida
de um motor e do outro). O sistema tambm possui dois sensores de nvel no tanque de armazenamento
(silo) e que controlam a condio dessas partidas. Se o silo estiver cheio (sensor 2 atuado), os motores
no podem ligar. Se o nvel estiver intermedirio ou baixo, a partida liberada.
Seqncia operacional
Observe a seguir o circuito composto por quatro motores que devem partir em seqncia.

O circuito de comando para o circuito acima mostrado a seguir (esteiras transportadoras).

Elaborao: Srgio Corregio

35

Programao Avanada CLP Siemens S7-300


Quando o boto Ch1 acionado, o contador C1 e o rel d1 so energizados (se o sensor de nvel
mnimo S1 der condies silo vazio). O motor M1 parte.
Decorrido o tempo ajustado para d1, este energiza C2 e d2. O motor M2 parte.
Decorrido o tempo ajustado para d2, este energiza C3 e d3. O motor M3 parte.
Aps o tempo ajustado para d3, este energiza C4, dando partida a M4, o ltimo motor da seqncia.
Quando o silo estiver cheio (sensor de nvel S2 atuado), os motores devem ser desligados
instantaneamente.
Aplicao
O sistema de partida consecutiva aplicado no acionamento de correias transportadoras.

Os quatro motores devem acionar as esteiras e seu sentido de conduo M4, M3, M2, M1. Assim,
as ligaes dos motores devem obedecer a seguinte ordem: M1, M2, M3 e M4, ou seja, no sentido inverso.
Se um dos motores desligado em razo de sobrecarga, por exemplo, todos os motores frente
dele no sentido da conduo sero desligados.
O fornecimento de carga s esteiras interrompido e os motores montados anteriormente
continuam a funcionar at o descarregamento das respectivas esteiras.
Veja o resumo seqencial na tabela a seguir.
Conseqncia

Defeito no circuito

Desliga

comandado por:

Continua ligado

Desliga
C4

M4

M1, M2 e M3

C3

M3

M4

M1 e M2

C2

M2

M3 e M4

M1

C1

M1

M2, M3 e M4

Elaborao: Srgio Corregio

36

Programao Avanada CLP Siemens S7-300


INSTRUES MATEMTICAS COM NMEROS INTEIROS

Antes de iniciarmos a abordagem deste grupo de instrues, veremos uma explanao sobre o
que denominamos de palavra de estado (ou STATUS WORD).
Status Word
Esta palavra binria contm bits que voc pode usar como referncia no endereamento de
instrues de lgica de bit ou ento em operaes matemticas, como o nosso caso neste momento.
Veremos a seguir o significado do conjunto de 8 bits menos significativos desta palavra.

Estrutura do Status Word

Convenes utilizadas no Status Word

Descries dos bits do Status Word

FC First Check Bit 0 do status word. No incio de uma rede lgica Ladder, o sinal de estado
do bit FC sempre 0, ao menos que uma rede prvia tenha terminado com a instruo ---(SAVE). A
barra sobre a funo indica que ela negada, ou seja, sempre em 0 no incio de uma lgica Ladder.
Cada instruo lgica checa o estado de sinal do bit FC assim como o estado de sinal do endereo
da instruo de contato. O estado do sinal de FC determina a seqncia da lgica. Se FC 0 (no incio
da lgica Ladder), a instruo armazena o resultado e ajusta o bit FC para 1. O processo de checagem
chamado first check (primeira checagem). O 1 ou 0 que armazenado em RLO depois da primeira
checagem ento referenciado como o resultado de FC.
Se o estado do bit de FC 1, uma operao ento liga o resultado deste sinal com RLO formado
pelo contato endereado desde a primeira checagem e armazena o resultado em RLO.

Result of Logic Operation (RLO) Este o bit 1 da palavra de setado. Este bit armazena o
resultado de uma instruo lgica ou comparaes matemticas.
Por exemplo, a primeira instruo lgica em Ladder checa o estado do sinal de um contato e
produz 1 ou 0 como resultado. Ela armazena este resultado no bit RLO. Uma segunda instruo tambm
checa o estado de um contato e produz um resultado. Ento, a instruo combina este resultado com o
valor armazenado em RLO usando lgebra booleana. O resultado desta operao lgica armazenado
em RLO, alterando o valor anterior armazenado l.
Cada instruo subseqente na execuo realiza uma operao lgica em dois valores: o
resultado produzido quando a instruo checa o contato e o valor corrente de RLO.

Elaborao: Srgio Corregio

37

Programao Avanada CLP Siemens S7-300


Status Bit (STA) Bit 2 da palavra de estado, chamada de status bit. O bit de estado armazena o
valor de um bit que referenciado. O estado de uma instruo de bit que tenha lido uma memria
(contato normalmente aberto ou fechado) sempre o mesmo que o valor do bit que esta instruo
verifica.
O estado de uma instruo de bit que tenha escrito em uma memria (set coil, reset coil, output
coil) o mesmo que o valor do bit que a instruo escreve ou, se no houver escrita, o mesmo valor do
bit ao qual a instruo est referenciada.
OR Bit (OR) Bit 3 da palavra de estado chamado de bit OR. Este bit necessite que voc use
instrues de Contato para realizar operaes lgicas OR com uma funo AND. Este bit mostra
instrues que foram previamente executadas e que forneceram valor 1.
Overflow Bit (OV) Bit 5 da palavra de estado e indica a ocorrncia de um erro. Ele setado por
uma instruo matemtica ou uma instruo de compao em ponto flutuante depois da ocorrncia de
um destes erros: sobrecarga, operao ilegal, nmero ilegal.
Stored Overflow Bit (OS) Bit 4 que setado juntamente com o bit OV se um erro ocorrer. Pelo
fato do bit OS permanecer ligado depois do erro ter sido eliminado (diferentemente do bit OV), ele indica
se um erro ocorreu em uma das instrues executadas previamente.
Condition Code 1 and Condition Code 0 So os bits 6 e 7 da palavra de estado (CC1 e CC0)
e fornecem informao nos seguintes resultados ou bits:
Resultado de uma operao matemtica;
Resultado de uma comparao;
Resultado de uma operao digital;
Bits que tenham sido deslocados ou rotacionados por um comando.

A tabela abaixo lista o significado de CC1 e CC0 aps o programa do usurio executar certas
instrues.

CC1 e CC0 depois da execuo de Instrues Matemticas com nmeros inteiros, sem
Overflow
CC1

CC0

Explanao

Overflow de faixa negativa em uma adio com nmeros inteiros ou adio de


duplo nmero inteiro

Overflow de faixa negativa na multiplicao inteira e multiplicao de duplo


inteiro.
Overflow de faixa positiva em adio inteira, subtrao inteira, adio de duplo
inteiro, subtrao de duplo inteiro, complemento de dois inteiro e complemento
de dois de duplo inteiro.

Overflow positivo em multiplicao inteira e de duplo inteiro, diviso inteira e


de duplo inteiro.

Elaborao: Srgio Corregio

38

Programao Avanada CLP Siemens S7-300


Overflow negativo em soma inteira, subtrao inteira, soma de duplo inteiro e
subtrao de duplo inteiro.
1

Diviso por zero em diviso inteira, diviso de duplo inteiro e retorno de frao
de duplo inteiro.

CC1 e CC0 depois da execuo de Instrues Matemticas em ponto flutuante, com


Overflow

CC1

CC0

Explanao

Overflow gradual

Overflow de faixa negativa

Overflow de faixa positiva

Operao ilegal

CC1 e CC0 depois da execuo de Instrues de comparao

CC1

CC0

Explanao

IN2=IN1

IN2<IN1

IN2>IN1

IN1 ou IN2 so nmeros ilegais de ponto flutuante

CC1 e CC0 depois da execuo de Instrues de deslocamento e rotao

CC1

CC0

Explanao

ltimo bit deslocado igual a 0

ltimo bit deslocado igual a 1

CC1 e CC0 depois da execuo de Instrues de palavras lgicas

CC1

CC0

Explanao

Resultado = 0

Resultado <>0

Elaborao: Srgio Corregio

39

Programao Avanada CLP Siemens S7-300


Binary Result Bit (BR) Este bit forma uma conexo entre o processamento de bits e palavras.
Ele habilita o programa do usurio a interpretar o resultado de uma operao com palavra como um
resultado binrio e a interpretar este resultado em uma lgica binria.
Visto deste ngulo, o bit BR representa um marcador de memria interno no qual o bit RLO salvo
em funo de uma operao de alterao de palavra RLO.
Por exemplo: o bit BR torna possvel ao usurio escrever um bloco de funo (FB) ou uma funo
(FC) em uma lista de instruo (STL) e ento chamar o FB ou FC de uma lgica Ladder.

FORMATO DE DADOS DO TIPO INTEIRO


Um nmero inteiro tem um sinal que indica se ele positivo ou negativo. O espao que este tipo
de dado ocupa (de 16 bits) em uma memria chamado de UMA PALAVRA. A tabela a seguir mostra a
faixa de um inteiro de 16 bits.

Elaborao: Srgio Corregio

40

Programao Avanada CLP Siemens S7-300


1) Add Integer (soma de nmeros inteiros)

Descrio
Aplicando-se nvel 1 na entrada Enable (EN) a instruo ativada. Ela realiza a soma entre os
valores presentes nas entradas IN1 (input 1) e IN2 (input 2) e o resultado pode ser visualizado na sada
OUT. Se o resultado estiver fora da faixa permitida para um nmero inteiro, os bits OV e OS da palavra
de estado estaro em 1 e a sada ENO 0.
Exemplo de aplicao

Elaborao: Srgio Corregio

41

Programao Avanada CLP Siemens S7-300


Converso do programa para STL

Elaborao: Srgio Corregio

42

Programao Avanada CLP Siemens S7-300


2) Subtract Integer (subtrao de nmeros inteiros)

Descrio
Aplicando-se nvel 1 na entrada Enable (EN), a instruo de subtrao ativada, realizando esta
operao entre os valores das entradas IN1 e IN2 (IN1 IN2). O resultado pode ser visualizado na sada
OUT. Se o resultado de sada estiver fora da faixa permitida para um nmero inteiro, os bits OV e OS da
palavra de estado esto em 1 e a sada ENO (Enable Output) 0.
Exemplo de aplicao

Converso do programa para STL


A lgica 1 convertida para STL idntica ao programa anterior (ADD_I)

Elaborao: Srgio Corregio

43

Programao Avanada CLP Siemens S7-300


3) Multiply Integer (multiplicao de nmeros inteiros)

Descrio
Aplicando-se nvel 1 na entrada Enable (EN), a instruo de multiplicao ativada, realizando
esta operao entre os valores das entradas IN1 e IN2 (IN1 X IN2). O resultado pode ser visualizado na
sada OUT. Se o resultado de sada estiver fora da faixa permitida para um nmero inteiro de 16 bits, os
bits OV e OS da palavra de estado esto em 1 e a sada ENO (Enable Output) 0.
Exemplo de aplicao

Converso do programa para STL


A lgica 1 convertida para STL idntica ao programa anterior (ADD_I)

Elaborao: Srgio Corregio

44

Programao Avanada CLP Siemens S7-300


4) Divide Integer (diviso de nmeros inteiros)
Descrio
Aplicando-se nvel 1 na entrada Enable (EN), a instruo de diviso ativada, realizando esta
operao entre os valores das entradas IN1 e IN2 (IN1 / IN2). O quociente inteiro (resultado truncado)
pode ser monitorado na sada OUT. A sobra no pode ser escaneada. Se o quociente estiver fora da
faixa permitida para um nmero inteiro, os bits OV e OS da palavra de estado esto em nvel 1 e a sada
ENO desligada.
Exemplo de aplicao

Converso do programa para STL


A lgica 1 convertida para STL idntica ao programa anterior (ADD_I)

Elaborao: Srgio Corregio

45

Programao Avanada CLP Siemens S7-300


Avaliando os bits da Palavra de Estado aps a execuo de instrues matemticas
As instrues matemticas vistas at agora afetam os seguintes bits da palavra de estado aps
sua execuo:

CC1 e CC0

OV

OS

O sinal (-) nas tabelas a seguir significa que o bit no afetado pelo resultado da operao
matemtica.
Tabela para valores dentro da escala vlida
Escala vlida para o resultado com nmeros inteiros (16 e 32 bits)

0 (zero)
16 bits resultado entre 0 e o valor -32.768 (nmero negativo)
32 bits resultado entre 0 e -2.147.483.648 (nmero negativo)
16 bits resultado entre 0 e o valor 32.767 (nmero positivo)
32 bits resultado entre 0 e 2.147.483.647 (nmero positivo)

Bits da palavra de estado


CC1

CC0

OV

OS

Tabela para valores fora da escala vlida


Escala vlida para o resultado com nmeros inteiros (16 e 32 bits)

0 (zero)

Bits da palavra de estado


CC1

CC0

OV

OS

16 bits resultado maior do que o valor 32.767 (nmero positivo)


32 bits resultado maior do que o valor 2.147.483.647 (nmero
positivo)
16 bits resultado menor do que o valor -32.767 (nmero negativo)
32 bits resultado menor do que o valor -2.147.483.648 (nmero
negativo)

Elaborao: Srgio Corregio

46

Programao Avanada CLP Siemens S7-300


INSTRUES MATEMTICAS COM NMEROS EM PONTO FLUTUANTE
Introduo
As funes em ponto flutuante do Simatic podem ser usadas para a realizao das seguintes
instrues usando dois nmeros de 32 bits cada:

Adio

Subtrao

Multiplicao

Diviso

Estes nmeros de ponto flutuante em 32 bits so chamados de nmeros reais. Utilizando a


matemtica em ponto flutuante com um nmero de 32 bits possvel realizarmos operaes dos tipos:

Extrao de raiz (SQR) e raiz quadrada (SQRT) de um nmero;

Estabelecer o logaritmo natural (LN);

Estabelecer o valor exponencial (EXP) na base e (2,71828);

Estabelecer as seguintes funes trigonomtricas de um ngulo:

Seno (SIN) e Arcoseno (ASIN) de um nmero;

Cosseno (COS) e Arcocosseno (ACOS);

Tangente (TAN) e Arcotangente (ATAN).

Formato de dados do tipo REAL (nmeros de ponto flutuante)


Em computao, o ponto flutuante descreve um sistema de representao numrica na qual uma
string de dgitos (ou bits) representa um nmero real.
O termo ponto flutuante refere-se ao fato de que o ponto decimal (ou ponto binrio em
computao) pode flutuar, isto , pode ser colocado relativo ao nmero de dgitos significativos. Esta
posio indicada separadamente na representao interna e a representao do ponto flutuante pode
ento ser pensada como a representao de um nmero em notao cientfica.
Atravs dos anos vrias formas de representao foram adotadas, mas nos ltimos anos a que foi
aceita pelos fabricantes de CLPs foi a normalizao definida pela IEEE754-1985 (ou pela IEC
60559:1989). IEEE Institute of Eletrical and Electronics Engineers

O formato de um nmero em ponto flutuante no STEP7


O formato segue a norma ANSI/IEEE 754-1985 e que consiste dos seguintes elementos:

O sinal S

O expoente e = E + bias, acrescido de uma constante (bias = 127)

A parte fracionria da mantissa m. Toda a parte da mantissa de um nmero no


armazenado com o resto, porque ele sempre igual a 1 se o nmero est dentro a faixa
vlida.
Os trs componentes juntos ocupam uma palavra dupla de 32 bits.

Elaborao: Srgio Corregio

47

Programao Avanada CLP Siemens S7-300


Usando os trs componentes S, e e m, o valor de um nmero representado neste formato
definido por uma frmula:

NMERO = (s) 1,m X 2e-127

Onde:
e: expoente (=-127). Em outras palavras, o expoente armazenado com o -127
adicionado a ele
m (mantissa (23 bits)), ou seja, a parte inteira (que pode ser 1 ou 0) seguida pela parte
fracionria

s: para um nmero positivo, S = 0 e para um nmero negativo, S = 1

Exemplo:

Converter o nmero binrio acima para um nmero real em ponto flutuante

1) s = 0 o valor inteiro +1
2) 0 expoente = 124. Ento e = 124 127 = -3
7

0=

01111100 (2) = 0X2 + 1X2 + 1X2 + 1X2 + 1X2 + 1X2 + 0X2 + 0X2
= 124

0 + 64 + 32 + 16 + 8 + 4

3) m = 1.01 (em binrio). Em decimal, um nmero binrio fracionrio convertido assim para
decimal:

Elaborao: Srgio Corregio

48

Programao Avanada CLP Siemens S7-300


Valor da faixa para nmeros em ponto flutuante
Usando o formato em ponto flutuante mostrado abaixo, os resultados so os seguintes:

O menor nmero 1,175495E-38 e

O maior nmero 3,402823E+38

O nmero zero representado com e=m=0; e=255 e m=0 so usados para infinito.

A tabela a seguir mostra os bits de sinal de estado da palavra de estado para os resultados das
instrues com nmeros em ponto flutuante que no esto dentro da faixa permitida.

Exemplos de formatos de nmeros em ponto flutuante


As informaes abaixo mostram o formato em ponto flutuante para os valores decimais a seguir:

10.0

Pi = 3.141593

Raiz quadrada de 2 = 1.414214

Outro exemplo mais complexo:

Elaborao: Srgio Corregio

49

Programao Avanada CLP Siemens S7-300


Exemplos de nmeros reais de 32 bits

Elaborao: Srgio Corregio

50

Programao Avanada CLP Siemens S7-300


1) Add Floating-point Numbers (soma de nmeros em ponto flutuante nmeros REAIS)
Descrio
Um sinal de nvel 1 na entrada Enable (EN) ativa a instruo e realiza a soma dos valores
presentes nas entradas IN1 e IN2 (IN1 + IN2). O resultado pode ser monitorado na sada OUT. Se o
resultado est fora da faixa permitida (acima ou abaixo dos valores limites), os bits OV e OS da palavra
de estado esto em 1 e a sada ENO desativada.

Elaborao: Srgio Corregio

51

Programao Avanada CLP Siemens S7-300


Monitorao da instruo ADD_R

Elaborao: Srgio Corregio

52

Programao Avanada CLP Siemens S7-300


2) Subtract Floating-point Numbers (subtrao de nmeros em ponto flutuante nmeros
REAIS)
Descrio
Um sinal de nvel lgico 1 na entrada Enable (EN) ativa esta instruo e realiza a subtrao entre
dois nmeros reais em ponto flutuante (subtrai o valor da entrada IN1 da entrada IN2). O resultado pode
ser monitorado na sada OUT. Resultados fora da faixa permissvel (acima ou abaixo dos limites)
resultam em nvel lgico 1 nos bits OV e OS, alm de desabilitar a sada ENO.

Elaborao: Srgio Corregio

53

Programao Avanada CLP Siemens S7-300


Na monitorao:

Elaborao: Srgio Corregio

54

Programao Avanada CLP Siemens S7-300


3) Multiply Floating-point Numbers (multiplicao de nmeros em ponto flutuante
nmeros REAIS)
Descrio
Um sinal de nvel lgico 1 na entrada Enable (EN) ativa esta instruo e realiza a multiplicao
entre dois nmeros reais em ponto flutuante (multiplica o valor da entrada IN1 com o da entrada IN2). O
resultado pode ser monitorado na sada OUT. Resultados fora da faixa permissvel (acima ou abaixo dos
limites) resultam em nvel lgico 1 nos bits OV e OS, alm de desabilitar a sada ENO.

Elaborao: Srgio Corregio

55

Programao Avanada CLP Siemens S7-300


Monitorao da instruo

Elaborao: Srgio Corregio

56

Programao Avanada CLP Siemens S7-300


4) Divide Floating-point Numbers (diviso de nmeros em ponto flutuante nmeros
REAIS)
Descrio
Um sinal de nvel lgico 1 na entrada Enable (EN) ativa esta instruo e realiza a diviso entre dois
nmeros reais em ponto flutuante (divide o valor da entrada IN1 pelo da entrada IN2). O resultado pode
ser monitorado na sada OUT. Resultados fora da faixa permissvel (acima ou abaixo dos limites)
resultam em nvel lgico 1 nos bits OV e OS, alm de desabilitar a sada ENO.

Elaborao: Srgio Corregio

57

Programao Avanada CLP Siemens S7-300


Monitorao da instruo

Elaborao: Srgio Corregio

58

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

59

Programao Avanada CLP Siemens S7-300


5) Estabelecendo o valor absoluto (ABS) de um nmero em ponto flutuante
Descrio
Na matemtica, o valor absoluto (ou mdulo) de um nmero Real o seu valor numrico sem o
seu sinal. Por exemplo, 3 o valor absoluto de -3. Em programao de computadores, a funo
matemtica usada para realizar este clculo chamada de ABS.
Com esta instruo podemos estabelecer o valor absoluto deste tipo de nmero (em ponto
flutuante.

Elaborao: Srgio Corregio

60

Programao Avanada CLP Siemens S7-300


Monitorao da instruo

Elaborao: Srgio Corregio

61

Programao Avanada CLP Siemens S7-300


6) Estabelecendo a raiz quadrada de um nmero em ponto flutuante
Descrio
Esta instruo extrai a raiz quadrada de um nmero e produz um resultado positivo quando o
endereo maior do que zero (nica exceo: raiz quadrada de -0 -0).
A instruo ativada quando a entrada Enable (EN) igual a 1. O resultado SQRT (sada OUT)
armazenado em uma memria de palavra dupla (MD30). Se MD30 for menor do que 0 ou se o resultado
est fora da faixa permissvel para nmeros em ponto flutuante, a sada ENO ligada e o valor de MD
igual a zero.

Elaborao: Srgio Corregio

62

Programao Avanada CLP Siemens S7-300


Monitorao da instruo

7) Estabelecendo o logaritmo natural (LN) de um nmero em ponto flutuante


Descrio
Esta instruo extrai o logaritmo natural de um nmero atravs da ativao da instruo, pela
aplicao de um sinal em nvel 1 na entrada Enable (EN). O nmero a ser calculado inserido na
entrada IN e o resultado armazenado na memria de palavra dupla indicada na sada OUT.
Se o valor da entrada IN for menor que zero ou estiver fora da faixa permissvel, a sada ENO
desabilitada.
O logaritmo natural o logaritmo de base e, onde e um nmero irracional aproximadamente
igual a 2,71828... (chamado Nmero de Euler). , portanto, a funo inversa da funo exponencial.
Em termos simples, o logaritmo natural uma funo que o expoente de uma potncia de e, e
aparece freqentemente nos processos naturais (o que explica o nome "logaritmo natural"). Esta funo
torna possvel o estudo de fenmenos que evoluem de maneira exponencial.
Ele tambm chamado de logaritmo neperiano, do nome de seu inventor , o matemtico
escocs John Napier (ou John Naper).

Elaborao: Srgio Corregio

63

Programao Avanada CLP Siemens S7-300

Monitorao da instruo

Elaborao: Srgio Corregio

64

Programao Avanada CLP Siemens S7-300


INSTRUES DE COMPARAO
Introduo
As instrues de comparao do Simatic so realizadas entre dois nmeros que podem ser dos
tipos Inteiro, Duplo Inteiro e Real (ponto flutuante).
Instrues com nmeros inteiros:
1. EQ_I igual a (equal to);
2. NE_I diferente de (not equal to);
3. GT_I maior que (greater than);
4. LT_I menor que (less than);
5. LE_I maior ou igual a (less equal to);
Instrues com nmeros duplos inteiros:
6. EQ_D igual a (equal to);
7. NE_D diferente de (not equal to);
8. GT_D maior que (greater than);
9. LT_D menor que (less than);
10. LE_D maior ou igual a (less equal to);

Elaborao: Srgio Corregio

65

Programao Avanada CLP Siemens S7-300


Instrues de comparao com nmeros inteiros

Elaborao: Srgio Corregio

66

Programao Avanada CLP Siemens S7-300


Monitorao das instrues de comparao com nmeros inteiros

Elaborao: Srgio Corregio

67

Programao Avanada CLP Siemens S7-300


EXERCCIO DE APLICAO
CENTRIFUGADORA DE AUCAR
Desejamos desenvolver um programa para automatizar uma centrifugadora de acar. Este
equipamento utilizado nas usinas de acar para converter o melao (caldo de cana concentrado) em
acar cristal.
Processo

Dispositivos de controle
LSH (level sensor high): sensor de nvel alto
SV (solenoid valve): vlvula solenide
VS (vibration sensor): sensor de vibrao
TT (temperature transmitter): transmissor de temperatura
SS (speed sensor): sensor de movimento (rotao)

Condies iniciais para o carregamento

SV-1 e SV-2 fechadas

Esteira transportadora em movimento

Temperatura em 60C (TT)

Motor parado

Elaborao: Srgio Corregio

68

Programao Avanada CLP Siemens S7-300

Operao
1. Abrir SV-1 para a entrada do melao
2. Quando o melao atingir o nvel desejado, o sensor de nvel LSH enviar um sinal
para o fechamento de SV-1
3. O motor da centrfuga dever ser acionado por um tempo pr-ajustado (trs
minutos)
4. Decorrido o tempo de centrifugao, o motor dever ser desligado
5. Aps 15 segundos (tempo necessrio para a parada do conjunto aps o
desligamento do motor), a Sv-2 ser acionada para o incio da descarga, que
deve durar 30 segundos
6. Reincio de um novo carregamento

Condies de segurana
O processo dever ser interrompido (parada do motor que aciona a centrfuga) caso ocorra pelo
menos uma das situaes abaixo:

Alta temperatura (TT atuado)

Excesso de vibrao (VS atuado)

Motor da esteira parado (SS sem sinal)

O equipamento somente entrar em funcionamento novamente se um boto de rearme for


acionado.

Convenes
Vlvulas solenides acionadas = nvel 1
Motor em funcionamento = nvel 1
Temperatura normal = nvel 1

Elaborao: Srgio Corregio

69

Programao Avanada CLP Siemens S7-300


Instrues de comparao com nmeros duplos inteiros
Descrio
As instrues de comparao de nmeros duplos inteiros realizam comparaes entre dois
nmeros de ponto flutuante de 32 bits cada.
Se a comparao verdadeira, o resultado lgico da operao (RLO) igual a 1. Caso contrrio,
igual a 0.

Formato de dados do tipo duplo inteiro (DINT)

Exemplos de formato:
Mnimo L# -2147483648
Mximo L# +2147483647
Nota: no formato binrio, um nmero inteiro negativo representado pelo complemento de 2 deste
mesmo nmero positivo.
O programa exemplo a seguir realiza comparaes entre o valor 10 (inteiro simples) e o valor
indicado pela memria de palavra MW0, que, quando convertida para palavra duplo inteiro, exibe os 16
bits mais significativos desta palavra.

Elaborao: Srgio Corregio

70

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

71

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

72

Programao Avanada CLP Siemens S7-300


INSTRUES DE CONVERSO DE DADOS
Formato de nmeros
Cdigo BCD
O dgito de um nmero decimal pode ser codificado com quatro dgitos binrios. Esta
representao deriva do fato que o maior nmero decimal de um dgito, que o nmero 9, necessita de
pelo menos quatro posies para a representao binria.
Para representar os dez dgitos decimais (de 0 a 9) em cdigo BCD, ser usada a mesma
representao que seria utilizada para nmeros binrios de 0 at 9.
De 16 combinaes possveis de quatro dgitos binrios, seis no so utilizadas.
Exemplo de um nmero em formato BCD:

Nmeros inteiros (integer)


O tipo de dados INT um nmero inteiro (de 16 bits). O bit de sinal (bit 15) indica se este um
nmero positivo ou negativo (0 positivo e 1 negativo). A faixa de um inteiro, como j foi visto, est
entre -32768 e +32767.
Um inteiro ocupa uma palavra de memria. Em formato binrio, um inteiro negativo representado
como o complemento de dois de um nmero positivo quando inverte o estado do sinal de todos os bits e
adiciona 1 ao resultado.
Exemplo de complemento de dois de um nmero inteiro:

Nmeros reais
Um nmero Real (tambm chamado de nmero de ponto flutuante) um nmero positivo ou
negativo que abrange valores tais como 0,339 ou -11,32. Tambm pode ser expresso em forma de
nmero em potncia de 10. Por exemplo, o nmero 1024 pode ser escrito desta forma 1,024E3
Este nmero ocupa duas palavras de memria e o sinal definido pelo bit mais significativo (MSB).
Os bits restantes representam o expoente e a mantissa.
A faixa deste tipo de nmero est entre -3,402823E38 a 3,402823E38.

Elaborao: Srgio Corregio

73

Programao Avanada CLP Siemens S7-300


1) Converso de um nmero inteiro para BCD (I_BCD)
Descrio
Esta instruo l o contedo da entrada IN como um nmero inteiro e o converte para um nmero
de 3 dgitos codificado em BCD (compreendido entre -999 e +999). O resultado pode ser visto na sada
OUT. Se uma sobrecarga (valor acima da faixa) ocorrer, a sada ENO ser igual a zero.
2) Converso de um nmero BCD para inteiro (BCD_I)
Descrio
Esta instruo l o contedo da entrada IN como um nmero de 3 dgitos codificado em BCD (+/999) e o converte para um valor inteiro (16 bits). O resultado inteiro exibido na sada OUT. ENO
sempre tem o mesmo estado de sinal de EN (enable).

Elaborao: Srgio Corregio

74

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

75

Programao Avanada CLP Siemens S7-300


3) Converso de um nmero duplo inteiro para BCD (DI_BCD)
Descrio
Esta instruo l o contedo da entrada IN como um nmero duplo inteiro de 32 bits e o converte
para BCD de sete dgitos (+/- 9999999). O resultado exibido na sada OUT e se ocorrer uma
sobrecarga, a sada ENO desligada.
4) Converso de um nmero BCD para duplo inteiro (BCD_DI)
Descrio
Esta instruo realiza a operao inversa da instruo anterior. A sada ENO tem sempre o mesmo
estado da entrada EN.

Elaborao: Srgio Corregio

76

Programao Avanada CLP Siemens S7-300

5) Converso de um nmero inteiro para duplo inteiro (I_DI)


Descrio
A instruo l o contedo do parmetro IN como um nmero inteiro (16 bits) e o converte para
duplo inteiro (32 bits). O resultado pode ser visto na sada OUT. A sada ENO sempre cpia da entrada
EN.

Elaborao: Srgio Corregio

77

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

78

Programao Avanada CLP Siemens S7-300


6) Complemento de um de um nmero inteiro (INV_I)
Descrio
Esta instruo realiza a funo Booleana XOR de um nmero inteiro, ou seja, o complemento de
um deste nmero (inverte bit a bit toda a palavra binria 16 bits).
7) Complemento de um de um nmero inteiro duplo (INV_DI)
Descrio
Esta instruo realiza a funo Booleana XOR de um nmero inteiro duplo, ou seja, o
complemento de um deste nmero (inverte bit a bit toda a palavra binria 32 bits).

Elaborao: Srgio Corregio

79

Programao Avanada CLP Siemens S7-300

8) Complemento de dois de um nmero inteiro (NEG_I)


Descrio
A instruo que realiza o complemento de dois de um nmero realiza a operao equivalente a
multiplicar este mesmo nmero por (-1), trocando o seu sinal. Por exemplo, de um nmero positivo para
um nmero negativo (em 16 bits). o mesmo que escrever este nmero com seu sinal trocado ser for
um nmero positivo, o complemento de dois torna-o negativo e vice-versa.
9) Complemento de dois de um nmero inteiro duplo (NEG_DI)
Descrio
A instruo que realiza o complemento de dois de um nmero realiza a operao equivalente a
multiplicar este mesmo nmero por (-1), trocando o seu sinal. Por exemplo, de um nmero positivo para
um nmero negativo (em 32 bits).

Elaborao: Srgio Corregio

80

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

81

Programao Avanada CLP Siemens S7-300


INSTRUES DE DESLOCAMENTO E ROTAO DE DADOS
1) Deslocamento de nmero inteiro direita (SHR_I)
Descrio
Esta instruo usada para deslocar um nmero inteiro para a direita bit a bit (os bits 16 a 31 no
so afetados por ela). A entrada N especifica quantos bits sero deslocados. Se N for maior do que 16, o
comando age como se N fosse igual a 16. As posies dos bits deslocados da esquerda e que ficariam
vagos, so preenchidos com o estado lgico do bit 15 (sinal do nmero - + ou negativo 0 ou 1). O
resultado do deslocamento pode ser monitorado na sada OUT.
A instruo ativada pela entrada EN, atravs da aplicao de um nvel lgico 1. A sada ENO tem
o mesmo nvel de sinal desta entrada.

Elaborao: Srgio Corregio

82

Programao Avanada CLP Siemens S7-300

Alterando o valor da entrada N.

Elaborao: Srgio Corregio

83

Programao Avanada CLP Siemens S7-300


2) Deslocamento de nmero duplo inteiro direita (SHR_DI)
Descrio
Esta instruo usada para deslocar um nmero duplo inteiro para a direita bit a bit. A entrada N
especifica quantos bits sero deslocados. Se N for maior do que 32, o comando age como se N fosse
igual a 32. As posies dos bits deslocados da esquerda e que ficariam vagos, so preenchidos com o
estado lgico do bit 31 (sinal do nmero - + ou negativo 0 ou 1). O resultado do deslocamento pode ser
monitorado na sada OUT.
A instruo ativada pela entrada EN, atravs da aplicao de um nvel lgico 1. A sada ENO tem
o mesmo nvel de sinal desta entrada.

Elaborao: Srgio Corregio

84

Programao Avanada CLP Siemens S7-300


3) Rotao de palavra dupla direita (ROR_DW)
Descrio
Esta instruo usada para rotacionar o contedo inteiro da entrada IN bit a bit para a direita. A
entrada N especifica a quantidade de bits que devem se rotacionados. Se N maior do que 32, a palavra
dupla em N rotacionada por N-1 posies. As posies de bits rotacionados a partir da esquerda so
preenchidas pelos estados lgicos dos bits que foram rotacionados para fora do lado direito. O resultado
desta rotao pode ser monitorado na sada OUT.
Exemplo: rotao de uma palavra dupla binria em 3 bits para a direita.

Elaborao: Srgio Corregio

85

Programao Avanada CLP Siemens S7-300

4) Rotao de palavra dupla esquerda (ROL_DW)


Descrio
Esta instruo usada para rotacionar o contedo inteiro da entrada IN bit a bit para a esquerda. A
entrada N especifica a quantidade de bits que devem se rotacionados. Se N maior do que 32, a palavra
dupla em N rotacionada por N-1 posies. As posies de bits rotacionados a partir da direita so
preenchidas pelos estados lgicos dos bits que foram rotacionados para fora do lado esquerdo. O
resultado desta rotao pode ser monitorado na sada OUT.
Exemplo: rotao de uma palavra dupla binria em 3 bits para a esquerda.

Elaborao: Srgio Corregio

86

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

87

Programao Avanada CLP Siemens S7-300


INSTRUES DE SALTO
Introduo
Label (rtulo) como endereamento
O endereamento de uma instruo de Jump chamado de Label. Um label consiste de um
mximo de 4 caracteres, sendo que o primeiro sempre deve ser uma letra do alfabeto. Os outros
caracteres podem ser letras ou nmeros. Por exemplo, SEG3. Um Label de salto indica o destino para o
qual voc deseja que a execuo do programa salte. Este label pode ser informado acima de uma
instruo bobina.
Label como destino
O label de destino deve estar no incio de uma lgica. Selecionando a instruo LABEL, uma caixa
vazia aparece e digitamos o nome deste. Ele marca o ponto onde o programa ir continuar a execuo
aps o salto. Instrues ou segmentos localizados entre o jump e o label no so executados.
O label obrigatoriamente deve estar localizado no mesmo bloco (OB, FB, FC) que a instruo jump
a que est associada.

1) Jump incondicional (salto incondicional)


Esta instruo interrompe o fluxo normal da lgica de controle e provoca o salto do programa para
a posio marcada pelo rtulo (label). Ela representada de maneira parecida ao elemento de sada,
porm com as letras JMP e o nome do rtulo destino associado.

Quando a instruo JMP ativada atravs de I124.4, toda a seqncia at o LABEL NET5
desabilitada, retomando o funcionamento normal aps este label, presente na lgica Network5. A
instruo contida nesta mesma lgica no sofre influncia do salto realizado e executada
independentemente da situao da instruo JMP.

Elaborao: Srgio Corregio

88

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

89

Programao Avanada CLP Siemens S7-300


INSTRUES PARA CONTROLE DE PROGRAMAS
1) Funo Master Control Relay (rel de controle mestre)

Rel de controle mestre


O Mster Control Relay uma chave lgica mestre para energizar ou desenergizar o fluxo de
tenso no barramento esquerdo da Network. Quando desenergizado toda a seqncia lgica seguinte
zerada (RLO=0) ao invs de ser executada.
Se a instruo Mster Control Relay estiver ativa (RLO=1), considera-se que o sistema a partir
dela est energizado. Por sua vez, se a lgica estiver inativa (RLO=0), considera-se que o sistema est
desenergizado.
Obs: as instrues SET e RESET dentro de uma MCR (Mster Control Relay) inativo
(desenergizado) no alteram o valor de sada / flag. A instruo de transferncia (=) zera a sada / flag
quando MCR est inativo.

A) Master Control Relay Activate (MCRA)


A instruo MCRA ativa a funo MCR, sendo que todas as outras abaixo devem seguir aps esta.

B) Master Control Relay On (MCR<)


Esta instruo marca o incio da zona de controle lgico. MCR< abre a rea MCR e marca a pilha
deste tipo de instruo, ou seja, conta quantas instrues do tipo MCR so executadas no programa. A
pilha pode ter at 8 entradas, o que significa que at oito nveis de controles individuais podem ser
includos entre os comandos MCRA e MCRD.

C) Master Control Relay Off (MCR>)


Esta instruo marca o fim da rea de controle lgico. O MCR> combinado com a instruo
MCR< mais prxima.

D) Master Control Relay Deactivate (MCRD)


Esta instruo desativa a funo MCR. Voc no pode programar nenhuma rea MCR depois de
MCRD. Esta instruo uma exigncia para a associao lgica com MCRA.

Elaborao: Srgio Corregio

90

Programao Avanada CLP Siemens S7-300

Sem alimentao, a instruo


desabilita a seqncia aps ela.
O contador continua
funcionando, mas sem a
transferncia do contedo de
MW5

Elaborao: Srgio Corregio

91

Programao Avanada CLP Siemens S7-300

Como MW5 est sem contedo


(zerado), as instrues ADD-I e
MUL_I so executadas, mas
com resultado diferente do que
deveria ocorrer.

Exerccios: converta o programa anterior para FBD e STL e analise seu comportamento.

Elaborao: Srgio Corregio

92

Programao Avanada CLP Siemens S7-300


Converso do programa para STL

Elaborao: Srgio Corregio

93

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

94

Programao Avanada CLP Siemens S7-300


EXERCCIO DE APLICAO
CALDEIRA A VAPOR
Deseja-se desenvolver um programa para CLP para supervisionar o funcionamento de uma
caldeira a vapor do tipo fogotubular, conforme ilustraes abaixo.
Ilustraes

Elaborao: Srgio Corregio

95

Programao Avanada CLP Siemens S7-300

Dispositivos de controle
PSL: sensor de baixa presso
SV: vlvula solenide
BS: fotoclula (detector de chama)
I: ignitor
B: ventilador (blower)
CH: contato NA
FCV: vlvula controladora de vazo

Descrio
Uma caldeira de vapor tem por funo gerar vapor superaquecido que ser utilizado para
movimentar bombas e turbinas a vapor.
O sistema de segurana atuar somente na partida e na parada do equipamento. Durante a
operao normal, este apenas supervisionar as variveis envolvidas, as quais sero controladas pelas
FCVs.

Seqncia operacional de partida


Descrio
Pr-requisitos para a partida

Presso de gua de alimentao (PSL-1)

Presso de combustvel (PSL-2)

FCV-2 aberta (CH-2 atuado). Para tanto SV-3 dever aplicar 20PSI no atuador

SV-1 e SV-2 fechadas

Processo
1. Satisfeitos os pr-requisitos, ao acionarmos o boto de partida, o ventilador
(blower) entrar em operao. O sensor CH-1 confirmar esta condio
2. A SV-3 dever fazer com que a FCV-2 abra totalmente (20PSI no atuador),
iniciando-se a purga da cmara de combusto

Elaborao: Srgio Corregio

96

Programao Avanada CLP Siemens S7-300


3. O sensor CH-2 confirmar que FCV-2 abriu-se totalmente
4. Decorrido o tempo de purga (10s), o ignitor ser energizado ao mesmo tempo em
que SV-2 permitir a entrada de gs piloto. Com isto, teremos a presena da
chama piloto
5. Uma vez detectada a presena da chama piloto atravs do sensor BS, teremos a
abertura de SV-1 dando incio ao processo de combusto
6. Decorridos 5s aps o incio da combusto, teremos:

SV-2 fechada e o ignitor desenergizado

SV-3 permitindo a passagem do sinal de controle

Seqncia operacional de parada


Descrio
A parada da caldeira dever ocorrer quando for acionado o boto de parada ou quando houver
alguma anormalidade
Condies anormais

Baixa presso de combustvel (PSL-2)

Baixa presso de gua de alimentao (PSL-1)

Alta presso de vapor superaquecido (PSL-3)

Falta de chama (BS)

Parada do ventilador (CH-1)

FCV-2 fechada (CH-2)

Processo
1. SV-1 fechada
2. FCV-2 totalmente aberta, via SV-3
3. Ventilador continuando a operar
4. SV-2 fechada
5. Ignitor desenergizado

Convenes
Baixa presso de combustvel (PSL-2): nvel 0
Baixa presso de gua de alimentao (PSL-1): nvel 0
Alta presso de vapor superaquecido (PSL-3): nvel 1
CH-1 e CH-2 atuados: nvel 1
Presena de chama (BS): nvel 1
SV-1 e SV-2 energizadas (abertas): nvel 1
SV-3 energizada (20PSI): nvel 1
SV-3 desenergizada (SC): nvel 0

Elaborao: Srgio Corregio

97

Programao Avanada CLP Siemens S7-300


2) Chamada de funes (FCs) e funes de sistema (SFCs) CALL (sem parmetros)

Descrio
Tipos de blocos de programa
Blocos de sistema
Os blocos de sistema so funes pr-definidas ou blocos de funo integrados ao sistema
operacional da CPU. Estes blocos no ocupam nenhum espao adicional na memria do usurio. Os
blocos de sistema so chamados pelo programa do usurio e tm a mesma interface, mesma
designao e mesmo nmero em todo o sistema S7 (300 ou 400). Ento, voc pode facilmente utilizar o
programa do usurio em vrias CPUs.
Blocos do usurio
So reas providas para administrar o cdigo e os dados de seu programa. Baseado nas
necessidades do seu processo, voc pode estruturar seu programa com vrias opes de blocos de
usurio. Alguns desses blocos podem ser executados ciclicamente, enquanto outros blocos podem ser
executados somente quando necessitados. Blocos de usurio so tambm chamados de blocos de
programa.

BLOCOS DE USURIO
Blocos de organizao (OB)
Forma a interface entre a CPU e o programa do usurio. Pode-se escrever um programa inteiro no
OB1 e deixa-lo processando a cada ciclo. Pode-se, porm escrever um programa em diferentes blocos e
usar o OB1 para chamar estes blocos quando necessrio. Alm do OB1, o sistema operacional pode
chamar outros OBs que reagem a certos eventos, tais como:
Interrupo data programada;
Interrupo de diagnstico;
Interrupo de erros;

Elaborao: Srgio Corregio

98

Programao Avanada CLP Siemens S7-300


Interrupo de tempo de ciclo;
Interrupo de hardware;
Start-up de hardware.

Bloco de funo (FB)


Um bloco de funo uma funo ou uma seqncia de comandos armazenados em um bloco
lgico, onde os parmetros podem ser arquivados em uma memria. O FB utiliza esta memria adicional
na forma de um Bloco de Dados Instance. Parmetros passados para o FB e alguns dos dados locais
so arquivados neste bloco de dados associado (Instance FB). Outros dados temporrios so
arquivados na pilha local (L Stack). Dados arquivados em Instance DB so retidos quando o bloco de
funo fechado. Dados arquivados na pilha L Stack no so retidos.
Funes (FC)
A funo um bloco de operao lgica similar ao bloco de funo para o qual no designado
rea de memria. Um FC no necessita de um bloco de dados instance. As variveis locais so
arquivadas na pilha local (L Stack) at que a funo esteja concluda, sendo perdidos quando o FC
termina a execuo.
Bloco de dados (DB)
Os blocos de dados so blocos usados pelos blocos lgicos no programa do usurio para
armazenar valores. Em contraste com o local de dados temporrios, os dados nestes blocos no so
apagados quando o processamento dos blocos lgicos finalizado ou o bloco de dados encerrado.
O tamanho mximo possvel para um bloco de dados depende do tipo de CPU utilizada. Por
exemplo, para a CPU 314 pode ser de at 8KB.
Dependendo de sua relao com os blocos lgicos, existem dois tipos de blocos de dados:
Shared Data Blocks (Blocos de dados compartilhados)
So blocos que podem ser acessados por todos os blocos lgicos no programa do usurio.
Cada bloco de funo (FB), funo (FC) ou bloco de organizao (OB) pode ler ou escrever nos
dados compartilhados contidos nestes blocos de dados. Voc pode criar estes tipos de blocos
atravs da:

Especificao da estrutura do prprio bloco de dados, ou seja, definir e


editar a ordem das variveis, seus smbolos e os tipos de dados
individualmente;

Criao de um bloco de dados com um dado de tipo user-defined (definido


pelo usurio UDT). Neste caso, a estrutura do bloco UDT define a
estrutura do bloco de dados.

Instance Data Block (Bloco de dados Instance)


So blocos de dados relacionados a um bloco de funo (FB) em particular. Eles contm os
dados locais deste bloco relacionado. Se outros blocos de funo so chamados sem que as
variveis estticas (instncias mltiplas) tenham sido declaradas, o bloco de dados instance da
funo chamada tambm contm os dados locais do blocos de funo chamados.
Dependendo do tipo de bloco que voc deseja criar ou editar, voc pode usar diferentes
mtodos.

BLOCOS DE SISTEMA
Funo de sistema (SFC)
Funo de sistema uma funo pr-programada e testada que integrada na CPU. Algumas das
tarefas suportadas por estas funes so a de setar parmetros dos mdulos, comunicao de dados,
funes de cpia, etc. Uma SFC pode ser chamada pelo programa, porm sem fazer parte dele (no
ocupa memria de trabalho).

Elaborao: Srgio Corregio

99

Programao Avanada CLP Siemens S7-300


Blocos de funo de sistema (SFB)
Um bloco de funo de sistema parte integral da CPU. Voc pode utilizar um SFB em seu
programa sem carregar como parte de seu programa, pois os SFBs so parte do sistema operacional.
SFBs devem ser associados a um DB, o qual dever ser transferido para a CPU como parte de seu
programa.
Bloco de dados de sistema (SDB)
Um bloco de dados de sistema uma rea da memria que a ferramenta Step7 gera para arquivar
dados necessrios para o controle de operaes. Informaes tais como dados de configurao,
conexes de comunicao e parmetros so salvos em SDBs.
TIPOS DE BLOCOS

CARACTERSTICAS
- Arquivados no sistema operacional das CPUs

Funo de sistema (SFC)

- Usurio pode chamar esta funo (sem memria)


- Arquivados no sistema operacional das CPUs

Bloco de funo de sistema (SFB)

- Usurio pode chamar esta funo (com memria)


- Blocos de dados para configurao de dados e
parmetros

Bloco de dados de sistema (SDB)

ESTRUTURA DE PROGRAMA
Programa linear
O programa inteiro reside em um nico bloco de instruo contnuo. Esta estrutura semelhante a
um circuito de rels substitudo por um CLP. O sistema processa instrues individuais sucessivamente.
Toda a programao e parametrizao feita no Organization Block 1 (OB1)
Programa particionado
O programa dividido em blocos, onde cada bloco contm uma lgica especfica para dispositivos
ou tarefas. As informaes residentes no bloco de organizao (OB1) determinam a ordem de execuo
dos blocos a serem processados. Um programa particionado pode, por exemplo, conter blocos de
instrues com os quais os modos de operaes individuais de um processo industrial so controlados.
Programa estruturado
Um programa estruturado contm blocos de instrues com parmetros definidos pelo usurio
(blocos parametrizados). Estes blocos so projetados de forma que possam ser usados universalmente.
Os parmetros atuais (os endereos de entradas e sadas) so especificados durante a chamada do
bloco.
Exemplo de blocos parametrizveis:
- O bloco BOMBA contm instrues para uma bomba, com um set de entradas e sadas
exigidas para qualquer bomba usada no processo.
- O bloco lgico responsvel pelo controle especfico das bombas chama (abre) o bloco BOMBA
e fornece informaes para identificar qual bomba ir ser controlada.
- Quando o bloco completa a execuo das instrues, o programa retorna ao bloco de chamada
(por exemplo, o OB1), o qual conclui as instrues.

Elaborao: Srgio Corregio

100

Programao Avanada CLP Siemens S7-300

PROGRAMAO ESTRUTURADA

O que programao estruturada?


A programao estruturada identifica tipos similares ou repetitivos de funes solicitadas pelo
processo e fornece solues genricas que podem ser usadas por vrias outras tarefas. Fornecendo
informaes especficas (em forma de parmetros) para os blocos de instrues, o programa estruturado
capaz de usar de novo estes blocos genricos.
Podem considerar-se como exemplos destes blocos:
- Blocos que contenham lgicas comuns para todos os motores AC no sistema do transportador;
- Blocos que contenham lgicas comuns a todas as solenides na mquina;
- Blocos que contenham lgicas comuns a todos os acionamentos da mquina.

Como executado?
O programa dentro do OB1 (ou outro bloco) chama estes blocos genricos para a execuo.
Assim, dados e cdigos considerados comuns podem ser compartilhados.

Quais as vantagens e desvantagens?


Ao invs de repetir estas instrues e ento substituir os diferentes endereos para os especficos
equipamentos, voc pode escrever as instrues no bloco e ter um programa para passar os parmetros
(tais como endereos especficos de equipamentos ou dados) para o bloco. Isto permite a voc escrever
blocos genricos que mais que um dispositivo ou processo possa usar.
Quando usar uma programao estruturada, voc tem que gerenciar os dados que so arquivados
e utilizados pelo programa.

Elaborao: Srgio Corregio

101

Programao Avanada CLP Siemens S7-300

EXEMPLO DE UTILIZAO DA INSTRUO CALL CHAMADA DE FUNES (Programao


particionada)

Elaborao: Srgio Corregio

102

Programao Avanada CLP Siemens S7-300


PROGRAMA EXEMPLO CHAMADA DE FUNES (CALL)

Elaborao: Srgio Corregio

103

Programao Avanada CLP Siemens S7-300


FUNES CHAMADAS
FUNO FC1

Elaborao: Srgio Corregio

104

Programao Avanada CLP Siemens S7-300


FUNES CHAMADAS
FUNO FC2

Elaborao: Srgio Corregio

105

Programao Avanada CLP Siemens S7-300


FUNES CHAMADAS
FUNO FC3

FUNES CHAMADAS
FUNO FC4

Elaborao: Srgio Corregio

106

Programao Avanada CLP Siemens S7-300


EXERCCIO DE APLICAO
PARQUE DE ESTACIONAMENTO
Desenvolver uma aplicao para CLP Siemens para automao de um parque de estacionamento
com capacidade para 20 veculos, conforme esquema a seguir. UTILIZAR A INSTRUO CALL PARA
CHAMADAS DE FUNES.

O parque possui uma via de entrada e outra de sada, ambas com barreiras automticas,
funcionando o sistema de acordo com as seguintes condies:

Depois de ligado o interruptor de comando (I1) geral deste sistema, pressionando-se o


boto S1 da mquina de entrada (Min), esta fornece um bilhete e a barreira de entrada
(barreira 1) abre;

A abertura da barreira de sada (barreira 2) ocorre quando um bilhete, com pagamento


previamente feito, for aceito (S3=1) pela mquina de sada (Mout), colocada antes desta
barreira;

O fechamento das barreiras s possvel aps os carros ultrapassarem detectores (S2 e


S4) colocados no solo, logo a seguir s mesmas. Essa disposio garante que os carros
no sejam atingidos pelas barreiras no seu movimento de descida;

Quando a lotao do parque for atingida, acende um placar com a indicao


ESGOTADO e acionada uma lmpada vermelha (SV), colocada junto barreira de
entrada. A mquina de entrada no fornece mais bilhetes e a barreira no abre. Aps sair
um veculo, essa lmpada desligada e apagada a indicao ESGOTADO. Se S1 for
pressionado, a mquina Min fornece o bilhete e a barreira abre;

As barreiras possuem um fim de curso de fechamento e de abertura e so acionadas por


motores eltricos.

Elaborao: Srgio Corregio

107

Programao Avanada CLP Siemens S7-300


CRIANDO BLOCOS DE DADOS (DB)
Introduo
A criao de um bloco DB obedece as mesmas regras para a criao de um bloco de programa,
sendo que utilizado o mesmo editor de programas (LAD/STL/FBD) para a edio.
Criando um novo DB
Utilize o mesmo mtodo para criar o DB que foi utilizado para criar um bloco de programa (por
exemplo, boto direito do mouse Insert New Object DB Block)

Elaborao: Srgio Corregio

108

Programao Avanada CLP Siemens S7-300


Ao se iniciar a edio de um novo DB, o sistema, atravs de uma caixa de dilogo, solicitar a
escolha do tipo de DB a ser criado (veja figura anterior). O tipo indicado (shared DB) significa que este
bloco de dados compartilhado, ou seja, pode ser acessado por todo e qualquer bloco do programa.
Abrindo um DB existente
Se o DB j foi editado anteriormente, utilize para acessa-lo o mesmo mtodo que usou para
acessar qualquer bloco de programa (por exemplo, um clique duplo sobre seu cone). Para DBs
existentes no aparece a caixa de seleo do tipo de DB, pois seu tipo j foi definido anteriormente.
Editando um bloco de dados (DB)
Utilizando o procedimento anterior, abra o DB criado pouco.

O bloco de dados (DB) uma rea da memria da CPU, orientada a Byte, disponvel para
armazenamento de dados. Apesar de orientada a bytes, esta rea pode e deve ser definida pelo usurio
livremente, j que no existe formato de dados pr-definidos para ela.
A definio desta rea visa facilitar a manipulao de dados no programa do usurio. Assim, se ele
precisa definir bits (variveis booleanas) para utilizar na sua lgica, declara a varivel com BOOL. Se por
outro lado, necessita de variveis para clculos, pode definir a varivel como REAL.
Endereo
As variveis contidas no DB so acessadas preferencialmente pelo seu nome simblico.
Apesar disto, todas possuem um endereo de sua localizao dentro do bloco e permitem, caso
necessrio, que sejam acessadas por este endereo. Os endereos so do tipo BYTE.BIT, mesmo
para as variveis definidas como byte, word, dword, etc.
Estes endereos so definidos automaticamente pelo sistema logo aps a edio da varivel
(nome e tipo da varivel).
Nome
o nome simblico alfanumrico da varivel. Na maioria dos caso ela ser acessada no
programa por este nome simblico.
Tipo de dado
o tipo de dados da varivel (individual). A definio do tipo deve levar em considerao a
sua utilizao dentro do programa. Exemplo: BOOL (booleana ou bit).
Valor inicial
Campo opcional onde se especifica o valor inicial da varivel. O valor padro para todos os
tipos de variveis zero.
Comentrio
Campo opcional para comentrios / descrio das variveis.

Tipos de dados elementares para o Simatic S7


Formato
Cada varivel tem seu prprio formato, indicando o modo com o qual o programa ir acess-lo. A
estrutura dos bits e seu comprimento so definidos pela designao dos tipos de dados. importante
conhecer os vrios tipos de dados, porque algumas instrues requerem tipos de dados especficos. Isto

Elaborao: Srgio Corregio

109

Programao Avanada CLP Siemens S7-300


particularmente importante para instrues LAD/FBD, porque o editor confere os tipos de dados
quando voc enderea individualmente os elementos.
Tipos de dados
Os tipos de dados pertencem a uma das seguintes categorias:

Dados bsicos ou elementares: estruturas de dados menores que 32 bits, que tm


definies de acordo com a norma IEC 61131-3;

Dados complexos: estruturas ou campos que so maiores do que 32 bits;

Parmetros: blocos de parmetros usados para FBs ou FCs

TIPO

TAMANHO (EM BIT)

EXEMPLO

BOOL

1 ou 0

BYTE

16#A9

WORD

16

16#12AF

DWORD

32

16#ADAC1EF5

CHAR

STRING*

>=16, 8* (N de caracteres)

ISTO UMA STRING

S5TIME

16

S5T#5s_200ms

INT

16

123

DINT

32

65539

REAL

32

1.2 ou 34.5E-12

TIME

32

T#2D_1H_3M_45S_12_MS

DATE

16

D#2008-04-30

TIME_OF_DAY

32

TOD#12:23:45.12

DATE_AND_TIME*

64

DT#2008-04-30:12.29.13

Acesso aos elementos de blocos de dados


Abrir DB
Antes que os dados de um bloco possam ser acessados necessrio que o DB seja aberto. Isto
feito atravs da instruo OPN DB (Open DB). Se outro bloco de dados global j estiver aberto, este ser
automaticamente fechado.
O bloco de dados Instance, associado a um FB, automaticamente aberto pelo sistema.
Acesso ao DB
A figura a seguir mostra como acessar os dados de um DB. As instrues utilizadas so as
mesmas utilizadas com qualquer outro operando. Por exemplo:
L

DBB3

Ler o byte 3 do DB

DBW12

Transferir o contedo do acumulador para a palavra 12 do DB

DBX4.5

Fazer a lgica AND com o bit 5 do byte 4 do DB

Pode-se tambm acessar os dados dentro de um DB atravs do chamado caminho completo. O


caminho completo :
nome-do-db.dado

Elaborao: Srgio Corregio

110

Programao Avanada CLP Siemens S7-300


Desse modo, na prpria instruo feita a abertura do DB e o acesso ao dado. Esta maneira de
acesso prpria para evitar erros de programao e facilita a documentao.

Elaborao: Srgio Corregio

111

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

112

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

113

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

114

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

115

Programao Avanada CLP Siemens S7-300

Elaborao: Srgio Corregio

116