Anda di halaman 1dari 178

Escola SENAI Prof. Dr.

Euryclides de Jesus Zerbini


Campinas - SP

Controladores Lgicos Programveis Mdulo avanado

Programao Avanada CLP Siemens S7-300

Sumrio
Item

Pgina

Controladores programveis Siemens

04

Mdulos do CLP S7-300

05

Instalao e configurao

06

Caractersticas funcionais

07

O Gerenciador Simatic

09

Configurando e parametrizando

12

Conjunto de instrues avanadas do Step7


Instrues de lgica de bit
1) Set / Reset de flip-flop

21

2) Reset / Set de flip-flop

23
30

Instrues de temporizao
1) Extended pulse S5 timer (S_PEXT)

31

2) Retentive on-delay timer (S_ODT)

33

Instrues matemticas com nmeros inteiros

37

Formato de dados do tipo inteiro

41

1) Add integer (ADD_I)

42

2) Subtract integer (SUB_I)

44

3) Multiply integer (MUL_I)

45

4) Divide integer (DIV_I)

46

Instrues matemticas com nmeros em ponto flutuante (reais)

48

1) Add floating-point numbers (ADD_R)

52

2) Subtract floating-point numbers (SUB_R)

54

3) Multiply floating-point numbers (MUL_R)

56

4) Divide floating-point numbers (DIV_R)

58

5) Valor absoluto de um nmero real (ABS_R)

61

6) Raiz quadrada de um nmero real (SQRT_R)

63

7) Logaritmo natural de um nmero real (LN_R)

64

Instrues de comparao com nmeros inteiros

70

Instrues de converso de dados

74

1) Converso I_BDC

75

2) Converso BCD_I

75

3) Converso DI_BCD

77

4) Converso BCD_DI

77

5) Converso I_DI

78

6) Complemento de 1 de um nmero inteiro (INV_I)

80

7) Complemento de 1 de um nmero duplo inteiro (INV_DI)

80

SENAI

Programao Avanada CLP Siemens S7-300


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

81

9) Complemento de 2 de um nmero duplo inteiro (NEG_DI)

81

Instrues de deslocamento e rotao de dados


1) Deslocamento de um nmero inteiro direita (SHR_I)

81

2) Deslocamento de nmero duplo inteiro direita (SHR_DI)

85

3) Rotao de palavra dupla direita (ROR_DW)

86

4) Rotao de palavra dupla esquerda (ROL_DW)

87

Instrues de salto
89

1) Jump incondicional
Instrues para controle de programas

91

1) Funo Master Control Relay (MCR)


A) Master Control Relay Activate (MCRA)
B) Master Control Relay ON (MCR<)
C) Master Control Relay OFF (MCR>)
D) Master Control Relay Deactivate (MCRD)

98

2) Chamada de funes (FC)


Criando blocos de dados (DB)

109

Criando um programa com blocos de funes (FBs) e blocos de dados (DBS)

113

Instrues para converso A/D e D/A

123

O mdulo analgico SM334

128

Instrues de converso

130

Controle PID no CLP Siemens Simatic S7-315 2DP

144

Proporcional

144

Derivada

145

Integral

146
148

O Controle PID no CLP


Procedimento para criao de um projeto com controle PID

150

Controles PID com blocos de funo

158

Parmetros de configurao de entrada do PID CONT_C FB41

161

Parmetros de configurao de sada do PID CONT_C

164

Conjunto de instrues em STL

166

Exerccios complementares

171

SENAI

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

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:
SENAI

Programao Avanada CLP Siemens S7-300

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

SENAI

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.

SENAI

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.

SENAI

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 SET7, voc pode criar seu programa S7 dentro de um projeto. O controlador
programvel S7 monitora e controla o processo com este programa.

SENAI

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

Testar os programas e iniciar sua execuo


SENAI

Programao Avanada CLP Siemens S7-300

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 SETP7
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.

SENAI

10

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.).
SENAI

11

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

SENAI

12

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.

SENAI

13

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

SENAI

14

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

SENAI

15

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.

SENAI

16

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;


SENAI

17

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)

SENAI

18

Programao Avanada CLP Siemens S7-300

SENAI

19

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.

SENAI

20

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

SENAI

21

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)

SENAI

22

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)

SENAI

23

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

SENAI

24

Programao Avanada CLP Siemens S7-300


RESOLUO DO EXERCCIO
EM LINGUAGEM LADDER

EM LINGUAGEM DE BLOCOS DE FUNO (FBD)

SENAI

25

Programao Avanada CLP Siemens S7-300

SENAI

26

Programao Avanada CLP Siemens S7-300


Descrio das linhas de instruo do programa

SENAI

27

Programao Avanada CLP Siemens S7-300

SENAI

28

Programao Avanada CLP Siemens S7-300


INTERFACE ELTRICA DAS ENTRADAS E SADAS

SENAI

29

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.

SENAI

30

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.

SENAI

31

Programao Avanada CLP Siemens S7-300


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

SENAI

32

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.

SENAI

33

Programao Avanada CLP Siemens S7-300


Exemplo de aplicao

SENAI

34

Programao Avanada CLP Siemens S7-300


Configurao da instruo para FBD

Configurao da instruo para STL

SENAI

35

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).

SENAI

36

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
comandado por:

Desliga

Continua ligado

Desliga
C4

M4

C3

M3

M4

M1 e M2

C2

M2

M3 e M4

M1

C1

M1

M2, M3 e M4

M1, M2 e M3

SENAI

37

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.

SENAI

38

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.

SENAI

39

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

SENAI

40

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.

SENAI

41

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

SENAI

42

Programao Avanada CLP Siemens S7-300


Converso do programa para STL

SENAI

43

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)

SENAI

44

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)

SENAI

45

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)

SENAI

46

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)

SENAI

47

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.

SENAI

48

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
01111100 (2) = 0X27 + 1X26 + 1X25 + 1X24 + 1X23 + 1X22 + 0X21 + 0X20 = 0 + 64 + 32 + 16 + 8 + 4
= 124
3) m = 1.01 (em binrio). Em decimal, um nmero binrio fracionrio convertido assim para
decimal:

SENAI

49

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:

SENAI

50

Programao Avanada CLP Siemens S7-300


Exemplos de nmeros reais de 32 bits

SENAI

51

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.

SENAI

52

Programao Avanada CLP Siemens S7-300


Monitorao da instruo ADD_R

SENAI

53

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.

SENAI

54

Programao Avanada CLP Siemens S7-300


Na monitorao:

SENAI

55

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.

SENAI

56

Programao Avanada CLP Siemens S7-300


Monitorao da instruo

SENAI

57

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.

SENAI

58

Programao Avanada CLP Siemens S7-300


Monitorao da instruo

SENAI

59

Programao Avanada CLP Siemens S7-300

SENAI

60

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.

SENAI

61

Programao Avanada CLP Siemens S7-300


Monitorao da instruo

SENAI

62

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.

SENAI

63

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).

SENAI

64

Programao Avanada CLP Siemens S7-300

Monitorao da instruo

SENAI

65

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);

SENAI

66

Programao Avanada CLP Siemens S7-300


Instrues de comparao com nmeros inteiros

SENAI

67

Programao Avanada CLP Siemens S7-300


Monitorao das instrues de comparao com nmeros inteiros

SENAI

68

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

SENAI

69

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

SENAI

70

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.

SENAI

71

Programao Avanada CLP Siemens S7-300

SENAI

72

Programao Avanada CLP Siemens S7-300

EXERCCIO
Converter os nmeros decimais abaixo para duplo inteiro (DINT) e realizar as comparaes com a
instruo EQ_D.
15 =

23 =

44 =

95 =

127 =

256 =

410 =

525 =

2 16 = 65536

2 17 = 131072

2 18 = 262144

2 19 = 524288

2 20 = 1048576

2 21 = 2097152

2 22 = 4194304

2 23 = 8388608

2 24 = 16777216

2 25 = 33544432

SENAI

73

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.

SENAI

74

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).

SENAI

75

Programao Avanada CLP Siemens S7-300

SENAI

76

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.

SENAI

77

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.

SENAI

78

Programao Avanada CLP Siemens S7-300

SENAI

79

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).

SENAI

80

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).

SENAI

81

Programao Avanada CLP Siemens S7-300

SENAI

82

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.

SENAI

83

Programao Avanada CLP Siemens S7-300

Alterando o valor da entrada N.

SENAI

84

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.

SENAI

85

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.

SENAI

86

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.

SENAI

87

Programao Avanada CLP Siemens S7-300

SENAI

88

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.

SENAI

89

Programao Avanada CLP Siemens S7-300

SENAI

90

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.

SENAI

91

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

SENAI

92

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.

SENAI

93

Programao Avanada CLP Siemens S7-300


Converso do programa para STL

SENAI

94

Programao Avanada CLP Siemens S7-300

SENAI

95

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.
Caldeira um recipiente metlico cuja funo , entre muitas, a produo de vapor atravs do
aquecimento da gua. As caldeiras em geral so empregadas para alimentar mquinas trmicas,
autoclaves para esterilizao de materiais diversos, cozimento de alimentos atravs do vapor, ou
calefao ambiental.
Ilustraes

SENAI

96

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

SENAI

97

Programao Avanada CLP Siemens S7-300

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
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

SENAI

98

Programao Avanada CLP Siemens S7-300


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

SENAI

99

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;

SENAI

100

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).

SENAI

101

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
Funo de sistema (SFC)

Bloco de funo de sistema (SFB)

Bloco de dados de sistema (SDB)

CARACTERSTICAS
- Arquivados no sistema operacional das CPUs
- Usurio pode chamar esta funo (sem memria)
- Arquivados no sistema operacional das CPUs
- Usurio pode chamar esta funo (com memria)
- Blocos de dados para configurao de dados e
parmetros

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.

SENAI

102

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.

SENAI

103

Programao Avanada CLP Siemens S7-300

EXEMPLO DE UTILIZAO DA INSTRUO CALL CHAMADA DE FUNES (Programao


particionada)

SENAI

104

Programao Avanada CLP Siemens S7-300


PROGRAMA EXEMPLO CHAMADA DE FUNES (CALL)

SENAI

105

Programao Avanada CLP Siemens S7-300


FUNES CHAMADAS
FUNO FC1

SENAI

106

Programao Avanada CLP Siemens S7-300


FUNES CHAMADAS
FUNO FC2

SENAI

107

Programao Avanada CLP Siemens S7-300


FUNES CHAMADAS
FUNO FC3

FUNES CHAMADAS
FUNO FC4

SENAI

108

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.
SENAI

109

Programao Avanada CLP Siemens S7-300

O FLUXOGRAMA DE PROCESSO
Representa uma seqncia de trabalho qualquer, de forma detalhada (pode ser tambm
sinttica), onde as operaes ou os responsveis e os departamentos envolvidos so visualizados nos
processo.
conhecido tambm com os nomes de Flow-chart, carta de fluxo do processo, grfico de
seqncia, grfico de processamento dentre outros.
Principais objetivos:

Uma padronizao na representao dos mtodos e os procedimentos administrativos;


Podem-se descrever com maior rapidez os mtodos administrativos;
Pode facilitar a leitura e o entendimento das rotinas administrativas;
Podem-se identificar os pontos mais importantes das atividades visualizadas;
Permite uma maior flexibilizao e um melhor grau de anlise.

O fluxograma visa o melhor entendimento de determinadas rotinas administrativas, atravs da


demonstrao grfica. (Existem estudos que comprovam que o ser humano consegue gravar melhor
uma mensagem, quando esta acompanhada de imagens.)
importante ressaltar que os fluxogramas procuram mostrar o modo pelo qual as coisas so
feitas, e no o modo pelo qual o chefe diz aos funcionrios que a faam; no a maneira segundo o qual o
chefe pensa que so feitas, mas a forma pela qual o Manual de normas e procedimentos manda que
sejam feitas. Eles so, portanto, uma fotografia real de uma situao estudada.

Etapas para criao de um fluxograma:


Escolher a rotina a ser trabalhada

Coletar os dados

Desenhar a rotina

Todo fluxo deve ter incio e fim. Nenhuma simbologia pode ficar solta, sem indicao da
continuidade do processo ou com a simbologia de fim.

Nunca esquecer das setas no fluxograma e do processo.

Sempre que se for enviar um documento, utilizar a simbologia de "documento".

Antes do "arquivo", obrigatoriamente tem que haver a simbologia de "documento", j que s se


arquivam documentos.

SENAI

110

Programao Avanada CLP Siemens S7-300


Exemplo

Exerccio
Leia o texto abaixo e desenhe um fluxograma fazendo uso dos seguintes smbolos:

A empresa no tinha um estoque informatizado e o os pedidos ao estoque ocorriam da seguinte


forma: O estoquista ao receber uma solicitao de pea, verifica na listagem do estoque a
disponibilidade da mesma. Caso esteja disponvel, a pea entregue ao solicitante e em seguida,
efetuada a baixa no estoque. Caso a pea no esteja disponvel, verifica-se junto aos fornecedores de
peas*, o tempo de entrega. Informa-se o tempo necessrio ao solicitante. Caso este (solicitante) ainda
deseje a pea, o pedido ao fornecedor efetuado imediatamente. Aguarda-se a chegada da pea e a
sua entrada no estoque. Em seguida ela entregue ao solicitante e efetuada a baixa no estoque.
Considere que o fornecedor sempre tem a pea solicitada disponvel para entrega.

SENAI

111

Programao Avanada CLP Siemens S7-300

Parque de estacionamento para 20 veculos


Passos para resoluo
1. Liga interruptor geral;
2. Se S1 pressionado Min fornece bilhete barreira 1 abre se S2 acionado
barreira 1 fecha incrementa 1 carro na contagem;
3. Mout recebe bilhete se S3 acionado barreira 2 abre se S4 acionado barreira 2
fecha decrementa 1 carro na contagem
4. Se lotao atingida (=20) lmpada SV acionada Min no fornece mais bilhetes
barreira 1 no abre mais.
Convenes
Entradas
I1 liga interruptor geral I124.0
S1 solicita ticket I124.1
S2 sensor de carro da barreira 1 I124.2
S3 recebe ticket I124.3
S4 sensor de carro da barreira 2 I124.4
Sadas
Barreira 1 Q124.0
Min (motor que traciona o ticket) Q124.1
Barreira 2 Q124.2
Mout (motor que traciona o ticket) Q124.3
Lmpada SV Q124.4
Fluxograma de processo

SENAI

112

Programao Avanada CLP Siemens S7-300

Liga interruptor
geral

S1
pressionado

FC1

FC2

INCIO

S2
acionado

NO

SIM

NO

SIM

Min fornece
bilhete

Mout recebe
bilhete

Barreira 1
abre

Barreira 2
abre

NO

S2
acionado

NO

S4
acionado

SIM

SIM

Barreira 1
fecha

Barreira 2
fecha

Incrementa 1
carro

Decrementa 1
carro

NO

Novo
carro

NO

Novo
carro

SIM

SIM

SENAI

113

Programao Avanada CLP Siemens S7-300

Liga interruptor
geral

Lotao
atingida
(=20)

FC3

NO

SIM
Lmpada SV
acionada

Min no fornece
bilhete

Barreira 1 no
abre

FIM

SENAI

114

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)

SENAI

115

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

SENAI

116

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
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.

SENAI

117

Programao Avanada CLP Siemens S7-300


CRIANDO UM PROGRAMA COM BLOCOS DE FUNO (FB) E BLOCOS DE DADOS (DB)
1) Criando e abrindo um bloco de funo (FB)
O bloco de funo (FB) est abaixo do bloco de organizao (OB) na hierarquia do programa. Ele
contm uma parte do programa que pode ser chamada muitas vezes pelo OB1.
Todos os parmetros formais e dados estticos do FB so salvos em um bloco de dados (DB)
separado, o qual relacionado ao FB correspondente.
Para criar um bloco de funo, siga os passos abaixo:

SENAI

118

Programao Avanada CLP Siemens S7-300

Um duplo clique em FB1 abre a tela de programao deste bloco, a qual se parece com a tela do
OB1, mas identificada no topo desta como sendo o FB1.
Esta programao ser feita utilizando-se smbolos e, para tal, devemos declar-los na Tabela de
Declarao de Variveis. Para abri-la basta seguir os passos:
1) Abrir a tabela de declarao de variveis (logo acima da tela de lgicas)

2) Inserir os dados conforme descrito dados de entrada, de sada, etc.


Parmetros de entrada (IN): so usados somente com funes (FCs) ou blocos de funes (FBs)
para passar dados ao bloco chamado para processamento.

SENAI

119

Programao Avanada CLP Siemens S7-300

Parmetros de sada (OUT): so usados no programa do usurio do Step7 para passar resultados
ao bloco chamado.

Parmetros IN/OUT: so usados em FCs e FBs para passar dados para o bloco chamado,
processar dados l e armazenar os resultados enviados de um bloco chamado.
Parmetros de dados estticos (STAT): dados estticos so os dados locais de um bloco de
funo (FB) armazenado em um bloco de dados instance (armazena os parmetros formais e dados
estticos dos blocos de funo). Os dados permanecem armazenados at a prxima vez que o FB for
processado.
Parmetros de dados temporrios (TEMP): dados temporrios so os dados locais para um bloco
e so armazenados na Pilha de Dados Locais (L Stack) enquanto o bloco est sendo processado. Dados
temporrios no so mais acessveis quando o bloco for fechado e o processamento finalizado.
2) Exemplo: programando trs motores para desligar em seqncia temporizada

SENAI

120

Programao Avanada CLP Siemens S7-300


A) Configure a exibio da representao simblica na tela de programao

B) Monte um programa na tela de FB1 conforme indicado abaixo.

SENAI

121

Programao Avanada CLP Siemens S7-300


Quando a tabela de declarao de variveis est preenchida e o usurio digita os smbolos ao
invs dos endereos das instrues, o prprio software Simatic chama as variveis na prpria lgica de
programao.

C) Salve o bloco FB1


D) Crie o bloco de funes FB2, declarando previamente as variveis de entrada e de sada dele.

SENAI

122

Programao Avanada CLP Siemens S7-300


Programa

Salve o bloco FB2


E) Crie o bloco de funes FB3, declarando previamente as variveis de entrada e de sada dele.

SENAI

123

Programao Avanada CLP Siemens S7-300


Programa

Salve o bloco FB3


F) Abrir o Organization Block 1 (OB1) com um duplo clique. Obs: ele estar vazio (sem nenhuma
programao realizada). Passaremos ao modo de programao baseada em STL.

SENAI

124

Programao Avanada CLP Siemens S7-300

Inserir a Network1 para chamar o bloco FB1

Caso o bloco de dados de mltipla instncia no tenha sido inserido inicialmente no Simatic
Manager, o software informa que este no existe e se voc deseja que ele seja gerado.

Se o DB j foi criado anteriormente, pressionando-se a tecla ENTER, o Step7 carrega os


simblicos j armazenados em FB1, aguardando que seja feito o endereamento desses simblicos pelo
usurio.

Voc deve inserir os operandos desses simblicos na janela de programao STL, conforme
indicado a seguir.

SENAI

125

Programao Avanada CLP Siemens S7-300

Insira uma nova Network e repita o procedimento para a chamada de FB2.

Insira a Network 3 e repita os mesmos passos para a chamada de FB3.

SALVE O OB1
Para que o programa funcione corretamente e voc possa realizar a monitorao, deve abrir todos
os blocos gerados (OB1, FB1, FB2 e FB3) e envia-los ao CLP. Alm disso, abra tambm os blocos de
dados (DB1, DB2 e DB3) e envie todos os parmetros armazenados neles para o CLP.

SENAI

126

Programao Avanada CLP Siemens S7-300

Coloque todos os mdulos em monitorao e ative a entrada digital I124.0, observando o


comportamento das instrues em cada um dos blocos (FB1, FB2 e FB3).
Os trs blocos esto interligados entre si, atravs da utilizao de instrues de um bloco dentro
de outro, sendo possvel dessa maneira o interfaceamento entre eles.
Os trs motores partem ao mesmo tempo, sendo um acionado pela dependncia do outro. Cada
motor funciona durante seu tempo programado nos temporizadores e desligam aps decorridos estes
tempos.

SENAI

127

Programao Avanada CLP Siemens S7-300


EXERCCIO DE APLICAO
MISTURADOR AUTOMTICO DE TINTAS
UTILIZANDO O RECURSO DE CHAMADA DE BLOCOS DE FUNES (FBs), MONTAR UM
PROGRAMA NO STEP7 PARA A AUTOMATIZAO DO SISTEMA A SEGUIR.
Um misturador automtico para duas cores de tintas deve ser comandado por meio de um CLP. A
operao transcorre da seguinte forma: aps pressionar o boto de partida C0 (botoeira que mantm
contato somente enquanto pressionada), a lmpada H0 acende, indicando inicio de operao, a vlvula
Y1 abre e a bomba M2 ligada. Quando o nvel da primeira tinta no recipiente de mistura atinge o
sensor B1, a vlvula Y1 fechada e a vlvula Y2 aberta, misturando a segunda tinta ao contedo do
recipiente.
Quando o nvel total de tinta atinge o sensor B2, a vlvula Y2 fechada, a bomba M2 e a lmpada
H0 so desligadas e o misturador M1 ativado. Aps 6 segundos o misturador M1 desligado e a tinta
j homogeneizada pode ser removida, O misturador pode ser desligado em qualquer ponto da operao
por meio do boto de parada de emergncia C6, pelos sensores trmicos F1 ou F2 ligados aos motores
do misturador e da bomba, respectivamente, ou pelo sensor B4, que indica enchimento total do
recipiente de mistura. A figura 26 apresenta o esquema do misturador. A tabela mostra os sinais de
entrada e sada utilizados e descreve seu uso nesta aplicao.

SENAI

128

Programao Avanada CLP Siemens S7-300


ENTRADAS / SADAS

COMPONENTE FSICO

I124.0

C0

Chave de partida

I124.1

B1

Sensor de nvel

I124.2

B2

Sensor de nvel

I124.3

B4

Sensor de nvel

I124.4

C6

Chave de parada de emergncia

I124.5

F1

Sensor trmico do misturador

I124.6

F2

Sensor trmico da bomba

Q124.0

H0

Lmpada de operao

Q124.1

Y1

Vlvula de tinta 1

Q124.2

Y2

Vlvula de tinta 2

Q124.3

M1

Motor do misturador

Q124.4

M2

Motor da bomba

SENAI

COMENTRIOS

129

Programao Avanada CLP Siemens S7-300


INSTRUES PARA CONVERSO DE SINAIS (A/D E D/A)
Sinal analgico
Quando um dispositivo de medio no usa sinal on / off (digital), mas de tenso ou corrente
(valores intermedirios entre o zero e o um), um mdulo de entrada analgico necessrio.
Este mdulo conectado aos sensores no campo e condiciona a medio para valores binrios de
tal forma que a CPU possa compreend-los.
Isto chamado de converso analgico para digital (A/D).
Os valores digitalizados so ento usados para comparaes, controle e outras tarefas no
programa do usurio.

Representao de valores analgicos


Resoluo
Os mdulos analgicos tm especificaes de resoluo (valor lido X representao). Esta
resoluo corresponde a quantidade de bits de dados usados na palavra binria de 16 bits representada
no valor analgico.
Se a resoluo tem menos que 15 bits, os dados analgicos so alinhados esquerda. Os bits
menos significativos no usados so preenchidos com zeros.

SENAI

130

Programao Avanada CLP Siemens S7-300


A posio mais esquerda (bit mais significativo MSB) a que representa o sinal 0 significa
valor positivo e 1 negativo.

O endereamento analgico no compartilha o mesmo registro que o mdulo de sinal digital, isto
, os sinais analgicos no S7-300 / 400 no so atualizados a cada Scan.
Os dados de entrada so atualizados pela simples leitura dos endereos de entrada (PIW) com
seu programa, ou escritos nas sadas com PQW. Quando o programa executa uma instruo usando um
endereo analgico (por exemplo, PIW352), os dados so lidos diretamente do barramento de periferia,
ou o chamado barramento P BUS.
Cada valor analgico composto por 2 Bytes (16 bits). Assim, os endereos analgicos usados
em seu programa devem consistir de todos os nmeros para o possvel problema de sobre escrita de
dados.

SENAI

131

Programao Avanada CLP Siemens S7-300

Faixa de converso
A converso A/D produz um nmero entre +27648 e -27648. Isto representa uma palavra binria
de 16 bits, com o bit mais significativo utilizado para determinar se o sinal lido positivo ou
negativo.
Medio de tenso e corrente atravs da converso A/D

SENAI

132

Programao Avanada CLP Siemens S7-300

Sensores que podem ser conectados nas entradas analgicas


possvel conectar diferentes tipos de sensores nas entradas analgicas, dependendo do tipo de
medio desejada:

Transdutores de tenso;

Transdutores de corrente a 2 e a 4 fios;

Resistores;

Termopares

Cabos utilizados para sinais analgicos


Deve-se sempre utilizar cabos de par tranado para sinais analgicos. Isto reduz as interferncias.
Conectar ambas as extremidades deste cabo ao terra.
Qualquer diferena de potencial entre as extremidades do cabo pode causar correntes
equipotenciais na malha e assim provocar distrbios nos sinais analgicos. Se isto ocorrer, voc deve
assegurar uma compensao de baixo potencial hmico, alm de aterrar as extremidades desse cabo.
Um pouco sobre os termopares
Os termopares so dispositivos eletronicos com larga aplicao para medio de temperatura.
So baratos, podem medir uma vasta gama de temperaturas e podem ser substitudos sem introduzir
erros relevantes. A sua maior limitao a exatido, uma vez que erros inferiores a 1 C so difceis de
obter. Uma termopilha o nome que se d a um conjunto de termopares ligados em srie. Um exemplo
da aplicao de termopares e termopilhas pode ser a medio de temperaturas em linhas de gs.
Como funciona

Em 1822, o fsico Thomas Seebeck descobriu (acidentalmente) que a juno de dois metais gera
uma tenso eltrica que funo da temperatura. O funcionamento dos termopares baseado neste
fenmeno, que conhecido como Efeito de Seebeck. Embora praticamente se possa construir um
termopar com qualquer combinao de dois metais, utilizam-se apenas algumas combinaes
normalizadas, isto porque possuem tenses de sada previsveis e suportam grandes gamas de
temperaturas.

SENAI

133

Programao Avanada CLP Siemens S7-300


Existem tabelas normalizadas que indicam a tenso produzida por cada tipo de termopar para
todos os valores de temperatura que suporta, por exemplo, o termopar tipo K com uma temperatura de
300 C ir produzir 12,2 mV. Contudo, no basta ligar um voltmetro ao termopar e registar o valor da
tenso produzida, uma vez que ao ligarmos o voltmetro estamos a criar uma segunda (e indesejada)
juno no termopar. Para se fazerem medies exatas devemos compensar este efeito, o que feito
recorrendo a uma tcnica conhecida por compensao por juno fria.
Caso se esteja a interrogar porque que ligando um voltmetro a um termopar no se geram
vrias junes adicionais (ligaes ao termopar, ligaes ao aparelho de medida, ligaes dentro do
prprio aparelho, etc...), a resposta advm da lei conhecida como lei dos metais intermdios, que afirma
que ao inserirmos um terceiro metal entre os dois metais de uma juno de um termopar, basta que as
duas novas junes criadas com a insero do terceiro metal estejam mesma temperatura para que
no se manifeste qualquer modificao na sada do termopar. Esta lei tambm importante na prpria
construo das junes do termopar, uma vez que assim se garante que ao soldar os dois metais a
solda no ir afetar a medio. Contudo, na prtica as junes dos termopares podem ser construdas
soldando os materiais ou por aperto dos mesmos.
Todas as tabelas normalizadas do os valores da tenso de sada do termopar considerando que
a segunda juno do termopar (a juno fria) mantida a exatamente zero graus Celsius. Antigamente
isto conseguia-se conservando a juno em gelo fundente (daqui o termo compensao por juno fria).
Contudo a manuteno do gelo nas condies necessrias no era fcil, logo optou-se por medir a
temperatura da juno fria e compensar a diferena para os zero graus Celsius.
Tipicamente a temperatura da juno fria medida por um termistor de preciso. A leitura desta
segunda temperatura, em conjunto com a leitura do valor da tenso do prprio termopar utilizada para
o clculo da temperatura verificada na extremidade do termopar. Em aplicaes menos exigentes, a
compensaao da juno fria feita por um semicondutor sensor de temperatura, combinando o sinal do
semicondutor com o do termopar.
importante a compreenso da compensao por juno fria; qualquer erro na medio da
temperatura da juno fria ir ocasionar igualmente erros na medio da temperatura da extremidade do
termopar.

Estrutura de um termopar

SENAI

134

Programao Avanada CLP Siemens S7-300


Linearizao
O instrumento de medida tem de ter a capacidade de lidar com a compensao da juno fria,
bem como com o fato de a sada do termopar no ser linear. A relao entre a temperatura e a tenso de
sada uma equao polinomial de 5 a 9 ordem dependendo do tipo do termopar. Alguns instrumentos
de alta preciso guardam em memria os valores das tabelas dos termopares para eliminar esta fonte de
erro.
Tipos de termopares
Os termopares disponveis no mercado tm os mais diversos formatos, desde os modelos com a
juno a descoberto que tm baixo custo e proporcionam tempos de resposta rpidos, at aos modelos
que esto incorporados em sondas. Est disponvel uma grande variedade de sondas, adequadas para
diferentes aplicaes (industriais, cientficas, investigao mdica, etc...).
Quando se procede escolha de um termopar deve-se ponderar qual o mais adequado para a
aplicao desejada, segundo as caractersticas de cada tipo de termopar, tais como a gama de
temperaturas suportada, a exatido e a confiabilidade das leituras, entre outras. Em seguida fornece-se
o nosso guia para os diferentes tipos de termopares.
Tipo K (Cromel / Alumel)
O termopar tipo K um termopar de uso genrico. Tem um baixo custo e, devido sua
popularidade esto disponveis variadas sondas. Cobrem temperaturas entre os -200 e os 1370 C,
tendo uma sensibilidade de aproximadamente 41V/C.
Termoelemento positivo (KP): Ni90%Cr10% (Cromel)
Termoelemento negativo (KN): Ni95%Mn2%Si1%Al2% (Alumel)
Faixa de utilizao: -270C a 1200C
f.e.m. produzida: -6,458 mV a 48,838 mV
Tipo E (Cromel / Constantan)
Este termopar tem uma elevada sensibilidade (68 V/C) que o torna adequado para baixas
temperaturas.
Termoelemento positivo (EP): Ni90%Cr10% (Cromel)
Termoelemento negativo (EN): Cu55%Ni45% (Constantan)
Faixa de utilizao: -270C a 1000C
f.e.m. produzida: -9,835 mV a 76,373 mV
Tipo J (Ferro / Constantan)
A sua gama limitada (-40 a 750 C) a responsvel pela sua menor popularidade em relao ao
tipo K. Aplica-se sobretudo com equipamento j velho que no compatvel com termopares mais
modernos. A utilizao do tipo J acima dos 760 C leva a uma transformao magntica abrupta que lhe
estraga a calibrao.
Termoelemento positivo (JP): Fe99,5%
Termoelemento negativo (JN): Cu55%Ni45% (Constantan)
Faixa de utilizao: -210C a 760C
f.e.m. produzida: -8,096 mV a 42,919 mV

SENAI

135

Programao Avanada CLP Siemens S7-300


Tipo N (Nicrosil / Nisil)
A sua elevada estabilidade e resistncia oxidao a altas temperaturas tornam o tipo N
adequado para medies a temperaturas elevadas, sem recorrer aos termopares que incorporam platina
na sua constituio (tipos B, R e S). Foi desenhado para ser uma evoluo do tipo K.
Tipo B (Platina / Rdio-Platina)
Os termopares tipo B, R e S apresentam caractersticas semelhantes. So dos termopares mais
estveis, contudo, devido sua reduzida sensibilidade (da ordem dos 10 V/C), utilizam-se apenas para
medir temperaturas acima dos 300 C. Note-se que devido reduzida sensibilidade destes termopares, a
sua resoluo de medida tambm reduzida.
Adequado para medio de temperaturas at aos 1800 C.
Contra aquilo que habitual nos outros termopares, este origina a mesma tenso na sada a 0 e a
42 C, o que impede a sua utilizao abaixo dos 50 C. Em compensao, utiliza cabos de extenso de
cobre comum desde que a sua conexo com o termopar esteja neste intervalo (0C a 50C). Os demais
termopares necessitam de cabos de ligao com o mesmo material do termopar, sob o risco de
formarem com o cobre um "outro termopar", se a conexo estiver a temperatura diferente do instrumento
de processamento do sinal (p.ex. transmissor)
Termoelemento positivo (BP): Pt70,4%Rh29,6% (Rdio-Platina)
Termoelemento negativo (BN): Pt93,9%Rh6,1% (Rdio-Platina)
Faixa de utilizao: 0C a 1820C
f.e.m. produzida: 0,000 mV a 13,820 mV
Tipo R (Platina / Rdio-Platina)
Adequado para medio de temperaturas at aos 1600 C. Reduzida sensibilidade (10 V/C) e
custo elevado.
Termoelemento positivo (RP): Pt87%Rh13% (Rdio-Platina)
Termoelemento negativo (RN): Pt100%
Faixa de utilizao: -50C a 1768C
f.e.m. produzida: -0,226 mV a 21,101 mV
Tipo S (Platina / Rdio-Platina)
Adequado para medio de temperaturas at aos 1600 C. Reduzida sensibilidade (10 V/C),
elevada estabilidade e custo elevado.
Termoelemento positivo (SP): Pt90%Rh10% (Rdio-Platina)
Termoelemento negativo (SN): Pt100%
Faixa de utilizao: -50C a 1768C
f.e.m. produzida: -0,236 mV a 18,693 mV
Tipo T (Cobre / Constantan)
dos termopares mais indicados para medies na gama dos -270 C a 400 C.
Termoelemento positivo (TP): Cu100%
Termoelemento negativo (TN): Cu55%Ni45% (Constantan)
Faixa de utilizao: -270C a 400C
f.e.m. produzida: -6,258 mV a 20,872 mV
SENAI

136

Programao Avanada CLP Siemens S7-300


O mdulo analgico SM334 (AI4/AO2 8 bits)
Caractersticas

4 entradas em um grupo e duas sadas em outro grupo;


Resoluo de 8 bits;
Mtodo de medio ajustvel por canal;
No programavel, medio e tipo de sada definido por hardware;
No isolado na interrface de barramento;
Eletricamente isolada para tenso.

Alguns tipos de conexes eltricas do mdulo analgico


Medio de corrente e sada de corrente

1) Fonte interna
2) Conversor analgico-digital
3) Entradas (medio de corrente)
4) Sadas (corrente de sada)
5) Conversor digital-analgico
6) Interface de barramento
7) Compensao de potencial
8) Funo terra

SENAI

137

Programao Avanada CLP Siemens S7-300


Medio de tenso e sada de tenso

1) Fonte interna
2) Conversor analgico-digital
3) Entradas (medio de tenso)
4) Sadas de tenso
5) Conversor digital-analgico
6) Interface de barramento
7) Compensao de potencial
8) Funo terra

SENAI

138

Programao Avanada CLP Siemens S7-300


Instrues utilizadas para entrada e sada de sinais analgicos
Move

Programa exemplo na prxima pgina

SENAI

139

Programao Avanada CLP Siemens S7-300

SENAI

140

Programao Avanada CLP Siemens S7-300


EXERCCIO DE APLICAO
CONJUNTO DESUMIDIFICADOR
Deseja-se substituir um sistema de comando a rels utilizado para comandar o funcionamento de
um conjunto desumidificador de ar comprimido utilizado em um processo produtivo de fio de polister de
uma grande fbrica. Para tanto, ser instalado um CLP Siemens no painel de controle deste sistema.
Abaixo mostrado o sistema e todos os dispositivos de controle do mesmo.

Descrio
A desumidificao consiste em fazer com que o ar comprimido mido da atmosfera entre em
contato com um elemento higroscpico (que absorve gua), por exemplo, a slica-gel, acondicionado nos
tanques DS-1 e DS-2.
Processo
DS-1 e DS-2 operam alternadamente, isto , enquanto DS-1 est retirando a umidade do ar
comprimido, DS-2 estar sendo regenerado (recuperao da slica-gel saturada atravs da circulao de
ar quente).

Procedimento
1. Partindo-se o compressor, SV-4 e SV-8 devero permanecer fechadas at que a presso
de descarga (PSL) atinja o valor desejado;
2. Aps a normalizao da presso, DS-1 entrar em operao enquanto DS-2 entrar em
processo de regenerao;

SENAI

141

Programao Avanada CLP Siemens S7-300


3. Decorrido um determinado tempo (por exemplo, 5 minutos), a situao inicial ser
alterada, isto , DS-1 ser regenerado enquanto DS-2 desumidificar o ar comprimido.
Comentrios
Caso haja alguma anormalidade como: filtro de ar saturado (PSH) ou alta temperatura de
regenerao (TS), o processo dever ser interrompido (SV-3 e SV-7 fechadas).
Quando um dos tanques passa pelo processo de regenerao (insero de ar quente para
secagem da slica-gel), as vlvulas correspondentes de entrada e sada de ar so abertas. Por exemplo,
se DS-1 est neste processo, fecham-se as vlvulas SV-3 e SV-4 e abrem-se as vlvulas SV-1 e SV-2.
Convenes
Vlvulas abertas = nvel 1
Filtro de ar saturado = nvel 1
Filtro de ar saturado (PSH) = 1
Os sensores de temperatura (TS) enviaro um sinal de tenso para as entradas analgicas do
CLP, de forma que o mesmo possa monitorar a temperatura dentro dos tanques e ao mesmo tempo
controlar o aquecimento mximo interno, visto que ela no pode ultrapassar determinado valor, pois a
slica-gel pode ser queimada.
Os termopares utilizados como sensores de temperatura so do tipo K (cromel / alumel), com as
seguintes caractersticas:

Faixa de operao: -270C a 1000C

F.E.M produzida: -6,458mV a 48,838mV

A variao de temperatura dentro dos tanques est na faixa entre +25C e 150C, sendo esta
ltima a temperatura mxima permitida no sistema para que a slica-gel no se danifique.
Resoluo

Utilizando-se este tipo de termopar, quando o tanque atingir a temperatura mxima (150C),
teremos em seus terminais uma tenso de 7,3257mV, a qual ser utilizada como referncia mxima para
controle do CLP.

SENAI

142

Programao Avanada CLP Siemens S7-300


Faixa nominal de operao do conversor A/D do carto SM334

SENAI

143

Programao Avanada CLP Siemens S7-300

Controle PID no CLP SIEMENS SIMATIC S7-300


CONCEITOS
Proporcional
Em matemtica, duas quantidades so chamadas de proporcionais se elas variam da mesma
forma, desde que uma das quantidades um mltiplo constante da outra, ou se elas tm a mesma razo
constante.
Por exemplo:
Se um objeto viaja a uma velocidade constante, ento a distncia percorrida
proporcional ao tempo gasto na viagem, com a velocidade sendo a constante de
proporcionalidade;
A circunferncia de um crculo proporcional ao seu dimetro, com a constante
de proporcionalidade sendo o PI ();
Em um mapa desenhado sob uma escala, a distncia entre dois pontos
quaisquer neste mapa proporcional distncia das duas localidades que os pontos
representam, com a constante de proporcionalidade sendo a escala utilizada no desenho
dele.

SENAI

144

Programao Avanada CLP Siemens S7-300


Derivada
Em um clculo a derivada a medio de como uma funo muda quando os valores de suas
entradas so alterados. Em outras palavras, pode ser imaginada em como uma quantidade est
mudando em determinados pontos dados.
Por exemplo, a derivada da posio ou distncia de um carro em alguns pontos no tempo a
velocidade instantnea na qual o carro est viajando.

O grfico da funo acima, desenhado em preto, e a linha da tangente desta funo,


desenhada em vermelho. A inclinao da linha tangente igual derivada da funo
no ponto marcado.

O processo de determinao de uma derivada chamado de diferenciao, que um mtodo de


computar a taxa na qual uma quantidade (Y) muda com respeito alterao de uma outra quantidade
(X), a qual sempre dependente.

Em cada ponto acima, a derivada a inclinao da linha tangente da curva.


SENAI

145

Programao Avanada CLP Siemens S7-300

Outro exemplo de derivada (tangente)


A funo derivada o inverso da funo integral.
Integral
Dada uma funo f(x) de uma varivel real (X) e um intervalo (a, b) de uma linha real, a integral
igual rea da regio no plano XY coberta pelo grfico de f, as linhas horizontais de x = a e x = b, com
as reas abaixo do eixo X sendo subtradas.

As funes integrais aparecem em muitas situaes prticas. Por exemplo, considerando uma
piscina de natao retangular, temos seu comprimento (C), largura (L) e profundidade (P). Se quisermos
calcular o volume de gua que ela suporta e s multiplicarmos as trs variveis.

V=CxLxP

SENAI

146

Programao Avanada CLP Siemens S7-300


Se necessitarmos comprar uma lona para cobri-la s calcularmos sua rea:

A=CxL
E se quisermos achar seu comprimento total (de suas bordas)? s somarmos o comprimento de
todos os seus quatro lados.
Mas, e se essa piscina for oval? E com o fundo desnivelado? Nesse caso, todos os clculos
exigiro uma integral em funo das variaes desiguais que ela possui.
Por exemplo, a integral da curva abaixo.

A funo integral o inverso da funo derivada.


Neste estudo no vamos aprender como calcular todas essas funes, mas sim apenas
compreender o que elas significam, pois mais adiante usaremos esses conceitos no estudo do
controle PID (Proporcional, Integral, Derivativo) do CLP Siemens.

SENAI

147

Programao Avanada CLP Siemens S7-300


O CONTROLE PID NO CLP SIEMENS
O controle PID no Step7
O software de controle PID consiste essencialmente de dois blocos de funo (FBs) que contm os
algoritmos das funes para gerao de controle e processamento dos sinais para controladores
contnuos ou de passo. um controle puro de software o qual incorpora um bloco de funo padro com
a funcionalidade do controlador.
O comportamento do controlador em si e as propriedades das funes em medio e ajuste do
canal so realizadas e simuladas pelos algoritmos numricos do bloco de funo correspondente. Os
dados requeridos para estes clculos cclicos so armazenados em blocos de dados de controle de loop.
Um FB necessrio somente uma vez para criar vrios controladores.
Todo controlador representado por um bloco DB (data base base de dados), o qual deve ser
criado especificamente para a aplicao. Isto significa que o projeto de um controlador especfico
limitado pela especificao dos parmetros estruturais e de valores na janela de edio da interface do
usurio. Este bloco (DB) criado pela ferramenta de configurao.
Os clculos dos algoritmos para certo controlador carregado no processador do S7 no conjunto
de intervalo de tempos chamado sampling. Os resultados de clculos e os valores atualizados das
variveis de entrada e sada (medio e manipulao de variveis) e os sinais de estado (limites) so
armazenados no DB correspondente ou transferidos para o processo perifrico.
Overview das funes bsicas
Em muitas tarefas de controle, no somente um controlador PID clssico como um elemento de
influncia do processo de importncia, mas tambm a funo de processamento de sinais tem lugar de
destaque no processo.
Um controlador formado pelo software de controle PID padro consiste de um nmero de subfunes, as quais voc pode configurar separadamente. Alm disso, o controlador com funes de
algoritmo PID para condicionamento dos setpoints e variveis do processo e de reviso das variveis
calculadas e manipuladas so integrados ao mesmo.
Funes de exibio e monitoramento tambm esto inclusos.

Overview das funes do bloco Controle Contnuo


Criando o controle
O software pode ser utilizado para configurar um controlador para uma tarefa de controle
especfica. Seu conjunto de funes pode ser planejado para ser limitado. As chamadas chaves de
sintonia podem ser usadas para ativar ou desativar sub-funes ou para torn-las inativas. Somente as
partes de funo remanescentes na estrutura reduzida tem de ser configuradas.

SENAI

148

Programao Avanada CLP Siemens S7-300


A criao de um controle de malha fechada a partir da estruturao da configurao de
parmetros para sua chamada no tempo correto pelo programa de sistema possvel para uma grande
gama de controles.
Estrutura do controle PID padro
Depois de instalado o pacote Step7, o programador possui um bloco de biblioteca chamado PID
Control Blocks, que contm cinco blocos de funo especficos para a programao do controlador,
dependendo do tipo de controle a ser implementado.

Os blocos de funo (FBs) no pacote de controle PID consistem de blocos controladores para
controle contnuo (FB41 - CONT_C) e controle por passos (FB42 - CONT_S) e o bloco FB para
modulao por durao de pulso (FB43 - PULSEGEN).
Tambm h dois blocos exclusivos para controle de temperatura: (FB58 TCONT_CP) controle de
temperatura com sinal contnuo (C) ou por pulsos (P) e o bloco (FB59 TCONT_S) para controle de
temperatura com sinais de sada binrios para atuadores de integrao.
Os blocos controladores implementam um controlador em software e os dados necessrios para
os clculos so armazenados em blocos de dados chamados FBs. Isto permite que esses blocos sejam
chamados a qualquer tempo.
O bloco FB PULSEGEN usado em conjunto com FB CONT_C para implementar um controlador
com sada de pulso para atuadores proporcionais.
Funes bsicas
Um controlador criado com blocos FB consiste de uma srie de funes que voc pode ativar ou
desativar. Alm disso, esse tipo de controlador possui funes integradas disponveis para
processamento de setpoints e de variveis.
Aplicaes
Um controlador PID implementado com estes dois blocos no tem restrio para uma aplicao
em particular. O desempenho dele e sua velocidade de processamento dependem somente do tipo de
CPU utilizada.
Pode ser utilizado em processos de baixa velocidade de processamento: controle de temperatura,
nvel de tanques, etc. Ou ento em processos de alta velocidade: vazo de um fludo, velocidade de um
motor, etc.

SENAI

149

Programao Avanada CLP Siemens S7-300


Anlise do processo
Nota: o comportamento esttico (ganho) e as caractersticas dinmicas (defasagem, tempo morto,
tempo de reset, etc.) do processo a ser controlado tem uma influncia significativa na estrutura e projeto
do controlador e sobre a seleo das dimenses dos parmetros estticos (componente P) e dinmicos
(componentes I e D)
Conhecimento preciso do tipo e dos dados caractersticos do processo a ser controlado
essencial.
Procedimento para a criao de um projeto com controle PID
Primeiro passo

No Simatic Manager abrir um novo projeto sob o nome PID

Iremos utilizar outro modelo de CLP para esta fase final de programao o
SIMATIC S7-315-2DP, o qual possui diferenas de configurao de hardware em
relao ao S7-312 IFM utilizado at agora.

Abrir o Step7 Wizard pelo Simatic Manager

Selecionar a opo de CPU 315-2DP

SENAI

150

Programao Avanada CLP Siemens S7-300

Selecionar o Organization Block 1 em modo Ladder

Dar um nome ao projeto e finalizar essa etapa

Segundo passo
Configurar o hardware do novo CLP

Definir o barramento e o hardware instalado nos Slots. Duplo clique na opo Hardware.

SENAI

151

Programao Avanada CLP Siemens S7-300

Abrindo a tela do Simatic 300 Station (Configuration), configurar todos os mdulos


instalados no barramento. No Slot 1 temos a fonte que a mesma do modelo anterior. No
slot 2 encontra-se a CPU deste novo modelo.

O Slot 3 no utilizado nesta configurao

No Slot 4 temos o carto de comunicao AS-I, modelo CP 343-2

No Slot 4 est conectado o carto de entradas digitais SM321 (DI 16 entradas X 24Vdc)

SENAI

152

Programao Avanada CLP Siemens S7-300

No Slot 5 temos o carto SM322, sadas digitais (DO 16 sadas a 24Vdc / 0,5A)

Finalmente no Slot 7 temos o carto de interface analgica (AI/AO SM334 4 entradas


e 2 sadas com resoluo de 8 bits cada uma)

SALVAR AS CONFIGURAES

Terceiro passo
Inserir os blocos de programao do PID (funo FC1)

Inserir um novo objeto: Insert New Object Function Block FC1

SENAI

153

Programao Avanada CLP Siemens S7-300

Abrir o bloco FC1 criado

Inserir o bloco de controle PID FB41 nele atravs da rvore da biblioteca de smbolos:
Libraries Standard Library PID Control Blocks

SENAI

154

Programao Avanada CLP Siemens S7-300

Ainda na tela de programao de FC1, quando selecionado o bloco FB41, este inserido
na rea de programao.

SENAI

155

Programao Avanada CLP Siemens S7-300


Continuando nesta janela, abrindo a opo FB Blocks da rvore da biblioteca, vemos que o bloco
FB41 foi inserido na relao.

Parmetros de configurao das entradas e sadas

NOTA: OBSERVE QUE OS OPERANDOS SO TOTALMENTE DIFERENTES DA VERSO DE CPU


312 IFM.

SENAI

156

Programao Avanada CLP Siemens S7-300


Operandos de entrada e sada da CPU 315-2DP

Quando damos um nome (operando) ao bloco PID chamado (como bloco de dados
Instance DB1), o software informa que o mesmo no existe e pergunta se desejamos crialo automaticamente.

Confirmando a criao de DB1, o mesmo gerado e indicado na tela do Simatic Manager.


Quarto passo
Configurar a chamada do bloco PID (FB41 controle contnuo de processo) atravs de OB1

Abrir o bloco OB1 e inserir as instrues em Ladder como mostrado. SALVAR OB1

SENAI

157

Programao Avanada CLP Siemens S7-300

Na seqncia, quando abrimos a janela de visualizao de parmetros do bloco de dados


DB1, podemos interpretar os valores existentes nas entradas e sadas, bem como a
funo dos mesmos.

SENAI

158

Programao Avanada CLP Siemens S7-300


CONTROLES PID COM BLOCOS DE FUNO
O CLP Siemens Simatic S7-300 possui cinco tipos de controle PID pr-programados em sua
biblioteca e cada um deles tm uma funo especfica dependendo do tipo de controle em malha
fechada a ser realizado.
A figura a seguir mostra a funo simplificada de cada um deles, bem como a biblioteca onde se
encontram.

Controle contnuo com o bloco FB41 CONT_C


Introduo
O bloco FB41 usado pelos controladores S7 para controlar processos tcnicos com variveis de
entrada e de sada com caractersticas contnuas, ou seja, sempre possuem variao de seus valores.
Durante o ajuste dos parmetros, voc pode ativar ou desativar subfunes do controlador PID
para adapt-lo ao seu processo.
Aplicao
Voc pode usar o controlador como um controlar PID de setpoint fixo ou em controles em
multiloop, tais como em uma cascata ou em lotes.
As funes de um controlador esto baseadas em um algoritmo de amostragem com um sinal
analgico, estendido se necessrio pela incluso de um estgio gerador de pulsos durante a modulao
dos sinais de sada para dois ou trs controladores de passo com atuadores proporcionais.
Descrio
Alm das funes de setpoint e valores de processo, o FB41 implementa um controlador PID
completo com variveis de sada manipuladas e a opo de influenciar os valores manipulados
manualmente.
A seguir, voc encontrar uma descrio detalhada das subfunes do bloco.
Ajuste de setpoint
O setpoint inserido no formato de ponto flutuante na entrada SP_INT.

Qualquer nmero em pto flutuante = (-1s) . (1.f) . (2 e-127)

SENAI

159

Programao Avanada CLP Siemens S7-300


Onde:
S = BIT DE SINAL (O=Positivo) e (1 = negativo)
e = um expoente binrio inteirp = expoente decimal inteiro + 127
f = mantissa em 23 bits com o bit mais significativo igual a 2 -1 e o menos significativo igual a 2 -23
Varivel de processo
A varivel de processo pode ser inserida nos formato (I/O) ou em ponto flutuante. A funo CRP_IN
= PV_PER (setpoint perifrico) para ponto flutuante em uma faixa entre -100 a + 100% de acordo com a
seguinte frmula:

Sada de CRP_IN = PV_PER (100 / 27648)


A funo PV_NORM normaliza a sada de CRP_IN de acorco com a frmula:

Sada de PV_NORM = (sada de CRP_IN) . (PV_FAC /


PV_OFF)

Sinal de erro
A diferena entre o setpoint e a varivel do processo o sinal de erro. Para suprimir uma pequena
oscilao constante devido a quantizao da varivel manipulada (por exemplo, na durao da
manipulao de um pulso com PULSEGEN), uma banda morta aplicada ao sinal de erro (deadband).
Se DEADB_W = 0, a banda morta est desligada.
Algoritmo PID
Este algoritmo opera como algoritmo de posio. As aes proporcional (P), integral (I) e
derivativa (DIF) esto conectadas em paralelo e podem ser ativadas ou desativadas individualmente. Isto
permite os controladores serem configurados.
Valor manual
possvel alternar entre o modo manual e o automtico. No modo manual, a varivel manipulada
corrigida para um valor selecionado manualmente. O integrador (INT) ajustado internamente para
LMN (LMN_P-DISV) e a unidade derivativa (DIF) para 0 e relacionada internamente.
Isso significa que um chaveamento para o modo automtico no causa nenhuma alterao
repentina no valor manipulado.
Valor manipulado
O valor manipulado pode ser limitado para um valor selecionado usando a funo LMNLIMIT. Os
bits de sinalizao indicam quando um limite excedido por uma varivel de entrada.
A funo LMN_NORM normaliza a sada do LMNLIMIT de acordo com a seguinte frmula:

LMN = (sada de LMNLIMIT) . (LMN_FAC / LMN_OFF)


SENAI

160

Programao Avanada CLP Siemens S7-300

LMN_FAC tem o valor padro igual a 1 e LMN_OFF igual a 0.


O valor manipulado est disponvel tambm no formato perifrico. A funo CRP_OUT converte
um valor LMN em ponto flutuante para um valor perifrico de acordo com a seguinte frmula:

LMN_PER = LMN . (27648 / 100)


Inicializao
O FB41 CONT_C tem uma rotina completa de reinicializao que roda quando um parmetro de
entrada COM_RST = TRUE ajustado.
Durante a inicializao, o integrador ajustado internamente para o valor de inicializao I_ITVAL.
Quando ele chamado em uma interrupo cclica, continua ento a inicializao neste valor.
Todas as outras sadas so ajustadas para os seus valores padro.
Diagrama de blocos do controlador PID FB41 CONT_C

SENAI

161

Programao Avanada CLP Siemens S7-300


Parmetros de configurao de entrada de uma instruo PID CONT_C

SENAI

162

Programao Avanada CLP Siemens S7-300

SENAI

163

Programao Avanada CLP Siemens S7-300

Parmetros de sada do controlador FB41 CONT_C

SENAI

164

Programao Avanada CLP Siemens S7-300

SENAI

165

Programao Avanada CLP Siemens S7-300

SENAI

166

Programao Avanada CLP Siemens S7-300

SENAI

167

Programao Avanada CLP Siemens S7-300

SENAI

168

Programao Avanada CLP Siemens S7-300

SENAI

169

Programao Avanada CLP Siemens S7-300

SENAI

170

Programao Avanada CLP Siemens S7-300


EXERCCIOS COMPLEMENTARES
1) CARRO DE TRANSPORTE
Elabore o programa PLC em diagrama de contatos, de um carro que se move sobre um trilho e
permite, parando acima de uma cuba, limpar peas contidas em um cesto, imergindo-as em um banho
de desengraxe durante 30 segundos. O carregamento e a descarga do cesto efetuam-se manualmente
em posio alta.
Uma ordem de partida de ciclo, bem como uma ordem de fim de descarga, dada pelo operador
por meio das botoeiras pc e fd respectivamente. O carro s pode se movimentar em posio alta. A
figura abaixo mostra o esquema funcional.

SENAI

171

Programao Avanada CLP Siemens S7-300


2) DIGESTOR
Deseja-se desenvolver um programa para controlar as etapas de operao do digestor ilustrado
abaixo.

SV: vlvula solenide


FT: transmissor de vazo
LSL: sensor de nvel baixo
CH: sensor (motor em funcionamento)
H1: homogeneizador
S1: silo para rocha fosfatada
Descrio
Uma das etapas na fabricao do cido fosfrico a reao qumica entre o cido sulfrico e a
rocha fosfatada. Esta operao realizada por um equipamento denominado digestor.

SENAI

172

Programao Avanada CLP Siemens S7-300


Principais usos do cido fosfrico:

Indstria de fertilizantes
Industria de produo de sal mineral para alimentao animal
Indstria de bebidas
Usina de acar
Indstria farmacutica
Formulao de detergentes
Abrilhantador de alminio
Decapante
Processo
Este equipamento necessita dos seguintes pr-requisitos para a sua partida:

Nvel de rocha fosfatada no silo (LSL-1)

Motor do homogeneizador em movimento (CH)

Presso de ar comprimido adequada (PSL)

Uma vez satisfeitas essas condies, teremos:


1)

Carregamento do digestor com cido sulfrico (acionamento de SV-1), cujo volume ser
medido pelo totalizador de vazo (FT).

2)

Carregamento do digestor com rocha fosfatada, cuja quantidade ser definida em funo
do tempo em que SV-2 ficar aberta (T1).

3)

A mistura dever permanecer um determinado tempo (T2) dentro do digestor, para logo
em seguida ser descarregada atravs de SV-3.

4)

Aps a deteco de nvel baixo da mistura (LSL-2), a vlvula SV-3 dever ser fechada e
um novo ciclo de carregamento ser iniciado automaticamente.

Comentrios
Caso haja uma pane no equipamento, o sistema de borbulhamento com ar comprimido dever
entrar em operao (SV-4).
O sistema de controle dever contar com botes de partida e parada (S1 e S2)
Convenes

Nvel baixo de LSL-1 ou LSL-2 = 1

Totalizador de vazo em FT = 10 pulsos / litro

Baixa presso de ar comprimido em PSL = 0

Motor parado = 1

Tempo de carregamento de rocha (T1) = 30s

Tempo de permanncia no digestor (T2) = 2 min

Vlvulas solenides SV1, SV2 e SV3 abertas = 1

Vlvula solenide SV-4 fechada = 1

SENAI

173

Programao Avanada CLP Siemens S7-300


3) GUILHOTINA
Desenvolver uma aplicao para CLP Siemens para automao de uma guilhotina, a qual possui
uma lmina acionada por um cilindro de ao simples (retorno por mola), cuja operao de corte ocorre
nas seguintes condies:

A lmina da guilhotina desce e efetua o corte do material quando o operador carregar e


mantiver pressionados dois botes pulsadores (b1 e b2), cada um com uma mo, com um
tempo de ligao entre ambos no superior a 0,5s;

Se um dos botes estiver travado (permanentemente ligado), a lmina no acionada.

Respeitadas estas condies, o cilindro que comanda a lmina empurra esta e executado o
corte. A descida da lmina termina quando um fim de curso (fc) for atuado, regressando a lmina sua
posio de repouso por ao de uma mola.
Nova operao de corte s possvel aps ambos os botes deixarem de estar pressionados.
Se durante a descida da lmina um dos botes for solto, esta deve parar a descida e voltar
imediatamente sua posio de repouso (recuada).
Alm destas seguranas, h tambm uma barreira de luz infravermelha (IR) que, se cortada,
desliga o avano do pisto e retorna a lmina sua posio de recuo.
Este funcionamento, que tambm comum em outros tipos de mquinas, destina-se a respeitar
uma regra de segurana que tem por finalidade reduzir o risco de acidentes, no caso a mutilao das
mos do operador, uma vez que o obriga a utilizar as duas mos para que a guilhotina execute o corte.

SENAI

174

Programao Avanada CLP Siemens S7-300


4) MQUINA DE ENCHIMENTO DE LATAS
Elabore o programa PLC para implementar o controle em uma mquina de enchimento de latas
composta por trs estaes, as quais realizam, seqencialmente, a dosagem com xarope (X), o
enchimento com gua (A) e a colocao da tampa (T) em cada lata.
As latas so transportadas sobre pallets igualmente espaados entre si, e o acionamento da
esteira transportadora realizado por controle prprio, o qual efetua interrupes peridicas a fim de
permitir o correto posicionamento e operao nas latas em cada uma das estaes. O sensor PP
identifica a presena de um novo pallet, enquanto o sensor PL identifica a presena de uma lata na
primeira estao (dosagem com xarope).
Como pode haver pallets sem lata, o controle prev a no-operao das estaes que no
tiverem lata, o que leva a um programa com uma estrutura de transio terminal denominada 'fundo-depoo'. A figura ilustra o esquema funcional da mquina.

SENAI

175

Programao Avanada CLP Siemens S7-300


5) MQUINA DE IMPRESSO DE CARTAZES
Elaborar um programa para uma mquina de imprimir cartazes, conforme ilustrado na figura. O
rolo 1, que contm tinta fornecida pelo dispositivo ligado ao pisto W, arrasta o papel quando o rolo 2
sobe acionado pelo pisto V (o ponto O fixo).
Assim, quando o ressalto do rolo 1 aciona o sensor 'a', V ativado, pressionando o papel contra o
rolo 1. Quando o sensor 'a' liberado, inicia-se o processo de impresso, ativando-se o pisto W. O
fornecimento de tinta continua at o ressalto do rolo 1 acionar o sensor 'b '. Neste momento, o pisto V
desativado, permitindo que o rolo 2 liberte o papel.
Simultaneamente, ativado o pisto Z para cortar a folha de papel. Quando o sensor 'b' for
liberado, a guilhotina sobre a mquina fica pronta para um novo ciclo de trabalho.

SENAI

176

Programao Avanada CLP Siemens S7-300


6) PORTO AUTOMTICO

Desenvolver uma aplicao para CLP Siemens para automatizar a abertura e fechamento de um
porto de residncia, conforme a ilustrao a seguir.

As condies de funcionamento so as seguintes:

A ordem para abertura do porto fornecida por um emissor (Tx) de comando distncia.
Quando o sinal recebido pelo receptor (Rx) existente junto ao porto, este abre e uma
lmpada sinalizadora (L1) acende de forma intermitente (pisca-pisca);

No final da abertura do porto so atuados interruptores fim de curso (FC1 e FC2),


colocados nas posies indicadas acima. Estes fins de curso do a informao de parada
dos motores M1 e M2 e para desligar a lmpada sinalizadora L1;

O porto dever ficar aberto por 60s, fechando automaticamente ao final deste tempo.
Durante o fechamento, a lmpada sinalizadora volta a funcionar de forma intermitente;

A operao de fechamento efetuada durante 20s, no existindo interruptores fins de


curso para detectar o final deste fechamento;

Ainda, durante o fechamento do porto, se o emissor de telecomando for novamente


pressionado ou a barreira de infravermelho (IR), existente na parte de dentro do porto,
for interrompida, o porto volta a abrir.

SENAI

177

Programao Avanada CLP Siemens S7-300


8) SELECIONADOR DE CAIXAS
Elaborar um programa para um dispositivo automtico destinado a selecionar caixas de dois
tamanhos diferentes, que se compe de uma esteira rolante de alimentao de caixas, de um dispositivo
de deteco que permite reconhecer sem ambigidade o tipo de caixa presente, de trs cilindros
pneumticos comandados por eletrovlvulas, de sensores de posio para cada cilindro, sendo Pl
(posio inicial) PM (posio mdia) PF (posio final) e de duas esteiras rolantes de sada.
O brao (1) empurra as caixas pequenas diante do brao (2) e este as translada sobre a esteira
de sada para caixas pequenas. O brao empurra as caixas grandes diante do brao (3) e este as
translada para a esteira de sada de caixas grandes. O detector (A) percebe a presena de uma caixa e
o detector (B) identifica o tamanho da caixa, pois atua quando ela for do tipo grande, conforme ilustra a
figura a seguir.

SENAI

178