Vous êtes sur la page 1sur 76

Apostila CLP

Programao Bsica

CFP 9.14

Introduo
Este o material que voc vai utilizar durante o curso de CLP.
Trata-se de um conjunto de textos extrados de contedos do
prprio SENAI-SP e de materiais da Siemens/Volkswagen.
Os assuntos so apresentados em uma ordem que vai do mais
simples ao mais complexo. A ligao entre cada parte ser feita
pelo seu instrutor.
Tudo aquilo que o instrutor disser e que voc ache importante
manter pode ser anotado diretamente neste material, em outro
caderno ou em folhas isoladas.
Tenha bom proveito do curso!

Famlia SIMATIC S7-300

S7-300
O S7-300 o pequeno e totalmente modular CLP da famlia SIMATIC
S7.
Caractersticas
1- Diversas CPUs com diferentes capacidades.
2- Extensivo espectro de mdulos.
3- Pode ser expandido em at 32 mdulos.
4- Mdulos integrados em barramento backplane
5- Pode ser ligado em rede com interface multi-point (MPI), PROFIBUS
e Industrial Ethernet.
6- Conexo central com PC acessa todos os mdulos (FM e CP).
7- Sem regras para alocao das placas.
8- Configurao e parametrizao via software STEP 7.

Comunicao
Via MPI, ponto-a-ponto, PROFIBUS e Industrial Ethernet .

MPI
A Multi-Point Interface, MPI tem como objetivo conectar o CLP ao
terminal de programao ou interface de operao, ou ainda a outros
controladores lgicos programveis (PLCs). Na unidade central de
processamento (CPU), existe somente uma interface MPI, porm possvel
acessar atravs dela todos os outros mdulos programveis, tais com FMs.
Possibilidades de Conexo
Vrios dispositivos podem estabelecer simultaneamente conexo de
dados com a CPU. Isto significa que o terminal de programao e o painel de
operao podem ser operados simultaneamente, e ainda outros PLCs
adicionais podem ser conectados. As quantidades de conexes que podem ser
operadas simultaneamente dependem da CPU. Exemplo: so possveis quatro
conexes de comunicao ativa por n para a CPU 314.
Caractersticas da MPI
A interface MPI suporta displays, painis de operao e terminais de
programao Siemens. A MPI oferece as seguintes possibilidades:
1- Programao de CPUs e mdulos inteligente
2- Funes de monitorao do sistema e funes de informaes
3- Troca de dados entre controladores lgicos programveis
4- Troca de programas entre CPU e terminal de programao
Dados Tcnicos da MPI
As mais importantes caractersticas da interface MPI so:
1- Padro RS 485 e taxa de transmisso de 187.5 Kbaud
2- Distncias at 50 m ou at 9100 m com repetidores
3- Componentes padres do PROFIBUS DP (cabo , conector, e repetidor)

Redes
A figura acima exibe as vrias possibilidades de rede para a
comunicao entre produtos j existentes e a famlia S7. Os termos usados no
slide so explicados a seguir:
S5/TI
Controladores lgicos programveis SIMATIC S5 e SIMATIC TI
SIMATIC HMI
Equipamentos de Interface Homem Mquina
TISTAR
SCADA = (Supervisory Control and Data Acquisition ) controle de
interface de operao do sistema
PG/PC
Terminais de programao (Siemens PG) ou Computadores Pessoais
Ind. Ethernet
Rede Industrial da Siemens
TD/OP
Text Display e Operator Panel

PPI
Interface Point-to-Point

MPI
Interface Multipoint

Field Devices
Hardware para ent./output (por
exemplo, chaves, bombas, e motores)

PROFIBUS DP
Rede de controle distribudo fieldbus da Siemens.

Iniciando o STEP 7
Para se inicializar o software de programao do CLP da Siemens STEP
7 Lite, basta dar um duplo click no cone Step7 Lite que aparece na rea de
trabalho do Windows ou no menu Start (iniciar), acima do grupo Programs.

O prximo passo selecionar um novo projeto ou abrir um arquivo j


existente.

Autorizao
Antes de utilizar o software em outro terminal de programao
necessrio executar a transferncia de autorizao.
Parametrizao do Software
Selecionando
1. Ative o comando de menu Options --> Setting
2. Selecione a pasta de Linguagem
3. Selecione a linguagem desejada:
1- SIMATIC = ingls;
2- IEC = Internacional (ingls)
Importante
Existem duas selees independentes:
1- Lngua do Editor -> seleciona o idioma da ferramenta STEP 7
(ingls/alemo/espanhol/italiano/francs)
2- Lngua dos Mnemnicos -> seleciona o idioma em que o programa do
usurio ser escrito (ingls/alemo)

Checando a Interface com a CPU

Para abrir o programa Step7 devemos, inicialmente, desinstalar o driver


de comunicao, que caso contrrio far com que o micro realize um restart.
- Selecionar SIMATIC ==> STEP 7 Lite ==> Setting the PG/PC Interface
(como na figura a cima) ;

- Click em select, selecione o driver PC Adapter e click no boto


Uninstal;
No momento de realizar a comunicao no esquecer de instalar o
driver, utilizando o mesmo procedimento, e configurar a porta de comunicao
atravs do boto Properties.

Introduo ao Hardware S7

No S7-300 o endereamento dos mdulos de I/O, CP e FM so slotorientados, isto , o seu endereo depende da posio do mdulo no trilho.
Alguns slots so reservados: PS, CPU e IM.
Slot 1:
PS - Fonte de alimentao. Obrigatoriamente no primeiro slot. No
associado nenhum endereo para a fonte de alimentao.
Slot 2:
CPU; dever estar localizada prxima a fonte de alimentao. No
associado nenhum endereo para a CPU (veremos mais tarde endereo MPI).
Slot 3:
Mdulo de interface (IM). Para conectar racks de expanso. No
associado nenhum endereo para a IM. At mesmo se a IM no estiver
presente, ela dever ser considerada no esquema de endereamento do slot.
O slot 3 logicamente reservado pela CPU para a IM.
Slots 4 - 11:
Mdulos de sinais. Slot 4 considerado o primeiro slot para mdulos de
entrada e sada (SM). Um exemplo de endereamento exibido abaixo para
um carto de digital (entrada = I, sada = Q):
Importante
A CPU 315-2DP permite que os endereos sejam livremente definidos.
9

Endereamento Digital

Endereamento Digital
O endereamento das entradas (I) e sadas (Q) digitais comea com o
endereo 0 para o mdulo de sinal localizado no slot 4 (1 slot para SM). A
relao entre o slot fsico e o endereo do mdulo exibida acima. Cada
mdulo digital ocupa 4 bytes de endereos independente do nmero de pontos.
Tabela Imagem da Periferia
Aos sinais digitais do CLP corresponde uma rea na CPU que contm o
estado atual das entradas e sadas. Esta rea, denominada Tabela Imagem da
Periferia de Entrada (PII) e de Sada (PIQ) so atualizadas automaticamente
pela CPU a cada incio e fim de ciclo respectivamente. Pode-se acessar estas
reas (I e Q) em bits, bytes, words ou double words, como mostrado nos
exemplos a seguir:
1- Q4.0 um dado que arquivado no primeiro bit (bit 0) do byte 4 na
tabela imagem da periferia de sada (usando a numerao padro das I/O do
diagrama acima, isto corresponde ao primeiro ponto no mdulo 2)
2- QB100 refere-se ao dado no byte 100 da tabela imagem da periferia
de sada.
3- IW100 refere-se ao dado que arquivado nos bytes 100 e 101 da
tabela imagem da periferia de entrada.
4- QD24 refere-se ao dado que arquivado nos bytes 24, 25, 26, 27 da
tabela imagem da periferia de sada.

10

Endereamento Analgico

Endereamento Analgico
O endereamento das entradas e sadas analgicas comea no
endereo 256 para o mdulo de sinal localizado no slot 4 (1o slot para SM). A
figura acima mostra o esquema de endereamento dos mdulos analgicos.
Cada mdulo analgico ocupa 16 bytes de endereos, independente do tipo de
mdulo, sendo que cada canal analgico ocupa dois bytes de dados.
Acesso aos Sinais Analgicos
As I/O analgicas acessam uma rea de memria denominada Periferia
(PI e PQ) da CPU. Os sinais analgicos, ao contrrio dos sinais digitais, no
possuem uma tabela imagem (PII ou PIQ), atualizados a cada ciclo. Ao invs
disto, voc define quando os dados sero atualizados (lidos/escritos) usando
simplesmente o endereo analgico no seu programa. O endereo identificador
para uma entrada analgica PIW e para sada analgica PQW.
No S7-300 o endereamento para sinais analgicos comea com 256,
sendo portanto que o primeiro canal no primeiro mdulo no primeiro rack ir
ento ser PIW256. O ltimo endereo analgico 766 (para o S7-300).
Exemplo:
Para acessar os dados do segundo canal no primeiro mdulo no rack 2,
o endereo da entrada analgica e PIW514.
I Entrada,Q Sada, B Byte (8 bits), W Word (16 bits), D Double word (32
bits), M Memria(flag), P Periferia (acesso direto- PIW/PQW), T
Temporizadores, C Contadores, DB Data block, DI Data Block (usado em Bloco
de Dados Instance).
Importante: Verifique os dados tcnicos da CPU utilizada para verificar
sua capacidade de endereamento.
11

S7-300 Elementos da CPU

Modo de Operao
Chave para seleo manual do modo de operao da CPU
1- MRES = Reset da memria (overall reset)
2- STOP = o programa no executado.
3- RUN = O programa processado porm o programa no pode ser
alterado pelo Terminal de Programao (s lido).
4- RUN-P = A CPU est processando o programa, e o Terminal de
programao pode acessar/alterar o programa e o modo de operao (no
existe trava).
Status da CPU (LEDS)
SF = erro interno na CPU ou erro de diagnstico nos mdulos.
BATF = sem bateria ou carga baixa .
DC5V = fonte +5V
- acesa : indica tenso DC Ok
- piscando: sobrecarga.
FRCE = indica que pelo menos uma entrada ou sada est forada
(consulte verso de CPU)
RUN = piscando durante a inicializao da CPU, acesa quando a CPU
est em modo RUN (processando o programa).
STOP = pisca se um reset da memria necessrio, acesa indica que a
CPU est no modo STOP (programa no est sendo executado).

12

Reset da Memria da CPU

13

Configurao do Hardware pelo Software

A imagem a cima mostra onde, no software, devemos configura nosso


hardware.
Esta configurao pode ser feita manualmente ou ser conseguida
fazendo-se upload do CLP online.
Setando Parmetros da CPU
A parametrizao da CPU e dos cartes so acessados via boto
Module parameters
Entre outros, os seguintes parmetros podem ser setados na CPU:
1- endereo da interface MPI
2- caractersticas de start-up/ciclo: tempo mximo de ciclo, ciclo de
carga para comunicao, auto teste cclico e auto teste depois da energizao.
3- interrupo cclica (Watchdog): OB 35
4- memria retentiva: markers de memria (flags), temporizadores,
contadores e bloco de dados.
5- clock de memria: reduzir a freqncia de byte de memria.
6- 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 na CPU.
Depois de setar os parmetros, deve-se transferir os novos parmetros
com o comando de menu PLC Download. A CPU dever estar no modo
STOP.
14

Exerccio:
Objetivo
Criar uma estao de HW
Configurar o Hardware
Procedimento
1. Criar um novo projeto.
2. Salvar com o projeto com o nome PRO1.
3. Dar um duplo click sobre Hardware.
4. O Configurador de Hardware aberto.
5. Selecione no catlogo todos os mdulos existentes no seu rack de
treinamento (comece obrigatoriamente com o trilho (rack 0)).
6. Salve a configurao no hard disk.

15

Ciclo de Processamento da CPU

Start-Up
Quando voc muda de STOP ==> RUN, a CPU executa um restart
simples ou completo (S7-300 s completo), tambm denominado com Coldrestart ou Warm-restart. Para um completo restart, o sistema operacional deleta
os memory markers no retentivos, temporizadores e contadores, deleta a pilha
de interrupes e pilha de blocos, reseta todas as interrupes de hardware
salvas e interrupes de diagnstico, e inicializa a superviso do tempo de
ciclo.
Ciclo de Programa
Como mostrado na figura acima, a operao cclica da CPU consiste de
3 componentes principais:
1- A CPU atualiza o estado dos sinais de entrada na tabela imagem das
entradas (PII).
2- A CPU executa o programa do usurio com as respectivas operaes.
3- A CPU escreve os valores da tabela imagem das sadas (PIQ) no
mdulo de sadas.

16

Start-up da CPU e OBs

Restart Completo
A CPU executa um completo restart quando vai do modo STOP para
RUN, processo este denominado START-UP (inicializao).
Durante o Start-up so executadas as seguintes tarefas:
1- zera as reas retentivas da memria: markers, temporizadores e
contadores; zera as pilhas de interrupo e bloco; deleta todas as interrupes
e diagnsticos de interrupo, zera a imagem do processo de I/Os.
2- transfere os parmetros para os mdulos.
3- l as configuraes de I/O e compara o estado atual das I/Os com o
estado esperado.
4- OB executa o completo restart (OB100).
5- habilita sadas.
Restart
As CPUs do S7-400 tem a capacidade de executar um Restart (warm
restart) quando ocorre um Start-up. O modo do Restart, completo ou warm,
selecionado nestas CPUs por uma chave na CPU (sob certas condies).
Quando um RESTART ocorre, a CPU executa o seguinte:
1- executa o OB de warm restart (OB101)
2- executa o ciclo residual
3- deleta a PIQ a rea de sada (parametrizvel)
4- habilita sadas

17

Imagem de Processo

Definio
Denomina-se Imagem de Processo uma rea da CPU onde os estados
das entradas e sadas binrias so a cada ciclo armazenadas. Existem reas
distintas para as entradas e para as sadas: PII e PIQ. Normalmente o
programa de usurio quando acessa uma entrada ou sada digital est lendo
na realidade esta rea.
PII
A tabela imagem das entradas do processo o local onde o estado das
entradas digitais so arquivadas na CPU. Antes do incio de cada ciclo de
programa, a CPU l a periferia (mdulos de entrada digital) e transfere os
estados dos sinais digitais para esta rea.
PIQ
A tabela imagem das sadas contm o valor das sadas resultantes do
processamento do programa. Somente no final do ciclo de programa, estes
valores de sada so transferidos para os mdulos de sadas (Q).
Programa do Usurio
Quando voc l uma entrada no programa (como A I 2.0 por exemplo),
o ltimo estado da PII utilizado na lgica do programa. Isto garante que um
mesmo estado do sinal fornecido durante um ciclo de scan.

18

Tipos de Blocos de Programa

Blocos de Sistema
Blocos de sistema so funes pr-definidas ou blocos de funes
integradas ao sistema operacional da CPU. Estes blocos no ocupam nenhum
espao adicional na memria do usurio. Os blocos de sistema so chamados
pelo programas do usurio. Estes blocos tm a mesma interface, a mesma
designao, e mesmo nmero em todo o sistema (S7-300/400). Ento, voc
pode facilmente portar o programa do usurio entre vrias CPUs.
Blocos do Usurio
Os blocos de usurio so reas providas para administrar o cdigo e os
dados para 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 necessitado. Blocos de usurio so
tambm chamados de blocos de programa.

19

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 deix-lo processando a cada ciclo. Pode-se
porm escrever um programa em diferentes blocos e usar o OB 1 para chamar
estes blocos quando necessrio. Alm do OB 1, o sistema operacional pode
chamar outros OBs que reagem a certos eventos, tais como :
1- Interrupo Data Programada, Interrupo de tempo de ciclo,
Interrupo de Diagnostico, Interrupo de hardware, Interrupo de Erros,
Start-up do 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 blocos de dados associado (Instance DB). 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)
Um bloco de dados uma rea de dados permanente na qual dados ou
informaes que outras funes coletaram so armazenados. Bloco de dados
so rea de leitura/escrita que podem ser carregadas na CPU como parte de
seu programa.
20

Blocos de Sistema

Funo de Sistema
Funo de sistema uma funo pr-programada e testada que (SFC)
integrada na CPU. Algumas das tarefas suportadas por estas funes so 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).
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
porque os SFBs so parte do sistema operacional. SFBs devem ser
associados a um DB, o qual dever ser transferido para a CPU como parte do
seu programa.
Bloco de Dados de Sistema (SDB)
Um bloco de dados de sistema uma rea de memria que a
ferramenta STEP 7 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.

21

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 controlador
lgico programvel. O sistema processa instrues individuais sucessivamente.
Programa Particionado
O programa dividido em blocos, 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. Exemplos de blocos parametrizveis:
1- bloco BOMBA" contm instrues para uma bomba, com um set de
entradas e sadas exigidas para qualquer bomba usada no processo.
2- bloco lgico responsvel pelo controle especfico das bombas, chama
(abre) o bloco BOMBA e fornece informaes para identificar qual bomba ir
ser controlada.
3- Quando o bloco completa a execuo das instrues, o programa
retorna ao bloco de chamada (por exemplo OB 1), o qual conclui as instrues.

22

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.
Pode considerar-se como exemplo destes blocos:
1- Blocos que contenham lgicas comuns para todos os motores AC no
sistema do transportador
2- Blocos que contenham lgicas comuns a todas as solenides na
mquina.
3- 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 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.

23

O Editor de Programas

Para se criar um novo bloco, posiciona-se o mouse abaixo do OB1, e com o


auxlio do boto direito do mouse seleciona-se NEW BLOC e aparecer uma
janela para seleo do tipo de bloco e linguagem de programao.

24

Selecionando
Programao

uma

Linguagem

de

Seleo
Usando a opo VIEW na barra de menu, pode-se selecionar a linguagem de
edio entre diagrama de contados (LAD), blocos funcionais (FBD) ou lista de
instrues (STL). Esta opo est disponvel desde que um bloco esteja
aberto.
LAD -> STL
Blocos originalmente criados em diagrama de contatos podem ser convertidos
sempre para lista de instrues. Note que a converso no necessariamente
resulta em cdigo de programa eficiente em lista de instrues.
STL -> LAD ou FBD
Blocos criados originalmente em lista de instrues nem sempre so
convertidos totalmente em diagrama de contatos ou blocos funcionais. Ao se
fazer esta opo de converso, atravs da opo View, o Editor de Programa
converter todos os segmentos de programa que podem ser convertidos.
Segmentos de programa no conversveis se mantm na linguagem lista de
instrues Esta no converso no significa que haver problemas de
execuo do programa, sendo somente conseqncia da sintaxe de
visualizao de cada linguagem. Para garantir que a converso seja sempre
realizada, o usurio dever tomar certos cuidados durante a edio (ex.:
escrever uma nica lgica por segmento).
25

Sees do Editor de Programas

O Editor de Programas possui duas reas com funes bem definidas:


tabela de declaraes e a seo de instrues.
Tabela de Declaraes
Esta tabela serve para declarar variveis e parmetros para o bloco. As
variveis locais (temporrias) so definidas para uso no bloco nesta tabela.
A parametrizao torna possvel passar variveis entre blocos para que
sejam usados universalmente.
Seo de Instrues
Nesta rea especificada a seqncia e a lgica do programa
(instrues).
Durante a edio dos operandos, a sintaxe checada, destacando
imediatamente qualquer erro.
Cada pequena lgica do programa definida dentro de um segmento
(Network). Entende-se como lgica, a combinao de blocos que resultar
numa sada/flag sendo ou no acionado.
Nas linguagens LAD/FBD o prprio Editor no permite que seja realizado
mais que uma lgica por segmento. No modo STL possvel ter vrias lgicas
por segmento, porm se compromete a capacidade de se visualizar em outras
linguagens (LAD/FBD).
Comentrios
O editor permite ainda o acrscimo de comentrios: ttulo e comentrio
do bloco e ttulo e comentrio para cada segmento. Atravs da funo View
Didplay with pode-se visualizar ou no estes comentrios.
26

Editando em Diagrama de Contatos (Ladder)

Introduo
A edio do programa em diagrama de contatos feita basicamente com
o auxlio do mouse. Basta posicionar o ponto e selecionar o elemento que deve
ser inserido no programa. Aps isto, digita-se o endereo dos operandos (por
ex. I0.0, M43.5). Os elementos lgicos so encontrados ou na barra de
ferramentas na forma de cone ou atravs de um catlogo de instrues, como
mostrado na figura acima.
Elementos Comuns com Seus cones
F2 - Scan para sinal "1" (contato
fechado)
F3 - Scan para sinal "0" (contato aberto)
F7 - Output coil (sada)
F8 - Ramificao para baixo (abrindo)
F9 - Ramificao para cima(fechando)
Catlogo de Instrues
Outros elementos (instrues) so acessadas pelo catlogo de
instrues, acessado pelo cone ao lado ou pela combinao das teclas Ctlr+K

27

Editando em Diagrama de Blocos

Introduo
Semelhante ao modo LADDER, a edio em blocos funcionais feita
com o auxlio do mouse. Selecione o ponto em que deve ser inserido o
elemento e a partir do catlogo de instrues ou da barra de ferramentas
selecione o elemento desejado. Para enderear os operandos, selecione o
campo apropriado e digite o operando (ex. Q2.6, M4.5).
Este cone d acesso ao catlogo com todas as instrues FBD.
Comentrios
Os comentrios so editados como no modo diagrama de contatos.
Correes
Posicione o cursor do mouse sobre o elemento e pressione a tecla DEL.
Regras
1- Blocos padres (flipflops, contadores, temporizadores, operaes
matemticas etc.) podem tambm ter um outro bloco com operaes lgicas
binrias ( &, >=1, XOR) associado. A exceo para esta regra so os blocos de
comparao.
2- Em um nico segmento, no possvel programar operaes que so
separadas por sadas. possvel, entretanto, com o auxlio do T-branch, que a
uma lgica estejam associadas diversas sadas.
3- Deletando um bloco, todas as ramificaes que so conectadas com
a entrada booleana, com exceo da ramificao principal, so deletadas.
4- modo de sobre-escrever disponvel para troca simples de elementos
do
5- mesmo tipo.
28

Editando e Depurando um Bloco de Programa

Exerccio
Editar o OB1 (criado automaticamente sem instrues).
Procedimento
1. Selecione OB1 (double click), abaixo da pasta Program.
2. Com ajuda dos smbolos na barra de ferramentas, digite o seguinte
programa em ladder.
Resultado

Notas
1- Para posicionar o primeiro elemento, aponte o cursor para a linha da
network.
2- Use os smbolos de programa da barra de ferramentas.
3- Posicione o cursor em cima do smbolo(tecla TAB ou mouse) para
digitar o endereo
4- Use a tecla TAB para saltar entre os elementos.
Selecionar a linguagem de programao para edio do bloco.
Procedimento
1. Abrir um bloco para edio (por ex. o OB1 do exerccio anterior)
29

2. Seclecionar o modo de edio/visualizao:


1- LAD, selecionar no menu de comando View LAD.
2- STL, selecionar no menu de comando View STL.
3- FBD, selecionar no menu de comando View FBD.
Resultado
Seu programa representado em um dos seguintes tipos de
representao:
Diagrama Ladder:

30

Salvando um Bloco
Como qualquer editor de programas/textos, necessrio salvar seu
trabalho aps a edio. Isto como um Save normal do Windows, o qual
pode ser usado com os dois procedimentos exibidos acima.
Depois de salvo, este bloco se encontra como um cone na pasta
Blocks do projeto/programa em que foi salvo. Pode-se utilizar o SIMATIC
Manager como o Explorer para copiar ou mover o bloco para outros projetos,
CPUs, etc.

31

Endereamento Absoluto e Simblico

Absoluto
Um endereo absoluto um endereo especfico na CPU (operandos
formais), por exemplo, entrada I1.0. Neste caso, no necessrio editar uma
lista de simblicos, porm o programa mais difcil de entender.
Simblico
O endereamento simblico torna possvel trabalhar com smbolos tais
como MOTOR_LIGA, ao invs do endereamento absoluto. Os smbolos para
entradas, sadas, temporizadores, contadores, memory markers e blocos so
arquivados na lista de simblicos. Neste caso, os smbolos so tambm
chamados de smbolos globais porque o acesso possvel por todos os
blocos. Em oposio aos smbolos globais, existem tambm os simblicos de
bloco (locais), os quais so vlidos somente no prprio bloco. Os simblicos de
bloco so definidos na parte de declarao do bloco.
Symbol Editor
A lista de simblicos para os Smbolos Globais criada com a
ferramenta Symbol Table. As outras ferramentas do STEP7, tais como Editor de
Programas ou S7 Status, tambm tm condio de acessar a lista de
simblicos para exibir os endereos simblicos.

32

Endereamento Simblico - Caractersticas

Caractersticas
O endereamento simblico torna possvel uma leitura clara e fcil do
programa. Todos as variveis, blocos, tipos de dados, etc., podem ser
nomeados simbolicamente. O nome simblico pode ter at 24 caracteres, e at
80 caracteres de comentrios.
A seo de simblicos e comentrios so arquivadas no terminal de
programao. A lista de simblicos localizada como o objeto Symbol table
na pasta de programa S7 pertinente.
Usando os Smbolos Globais
Voc pode definir como smbolos globais: entradas, sadas, memory
markers e blocos. Os seguintes endereos so permitidos:

33

Endereamento Simblico Lista de


Simblicos

Symbol List
A lista de simblicos uma base de dados comum na qual as relaes
entre nomes simblicos e nomes absolutos so definidas.
Todas as ferramentas S7 podem acessar a lista de simblicos (Editor
LAD/STL/FBD, Tabela de Variveis, etc.).
Simblicos Globais
A declarao de simblicos globais pode ser acessada por todos os
componentes do programa. Os simblicos tm que ser criados na lista de
simblicos antes de serem acessados por sua aplicao. possvel porm
durante a edio do programa, direto no editor de programas, criar nomes
simblicos.
Simblicos Locais
Os simblicos locais so declarados na parte de declarao do bloco.
Estes nomes simblicos so somente vlidos no prprio bloco onde foram
gerados, sendo parte da memria local. O mesmo nome simblico pode ser
usado vrias vezes em diferentes blocos, porque so vlidos somente nos
blocos pertinentes.
Simblicos locais podem ser definidos para parmetros de blocos,
variveis locais e labels de saltos (jumps). Este mtodo no necessita de uma
lista de simblicos.
Notao
Nome simblico global - nome_simblico
Nome simblico local - #nome_simblico (quando usado em varveis
locais)
34

Editar de Simblicos - Editando

Introduo
Na figura acima temos a ferramenta Symbol Editor com uma lista de
simblicos do transportador.
Unique/Non-Unique
Os smbolos usados no programa devem ser nicos, isto , o endereo
simblico ou absoluto pode estar presente na lista de simblicos uma nica
vez. Se vrios endereos simblicos ou absolutos iguais esto presentes na
lista de simblicos, eles so exibidos em View All destacadamente (Ver
linhas 3 e 4 na figura).
Para poder localizar tais smbolos ambguos mais facilmente em lista de
simblicos grandes, voc pode exibir estes simblicos usando o menu de
comando
View Filter Symbol Status Non-Unique
Import/Export
possvel tambm importar/exportar de/para arquivos texto a lista de
simblicos em diferentes formatos DIF, SDF, ASC e SEQ. Isto possibilita
transferir a lista de designaes ou a lista de simblicos j gerados de outros
aplicativos. Uma vez gerados, voc pode ento usar a lista de simblicos em
outro editor.

35

Conectando-se e Transferindo um bloco para a


CPU

Depois de editar o programa, o prximo passo transferir o bloco para a


CPU.
Deve-se inicialmente conectar-se com o CLP atravs do boto de atalho
e aps isto possvel fazer todas as operaes online.
Clicando-se com o lado direito do mouse sobre cada bloco possvel
transferi-los individualmente.
Atravs do boto de atalho
programa de uma s vez.

possvel transferir todos os blocos do

Quando j houver um bloco com o mesmo nome no CLP o software


abrir uma pop-up questionando se realmente deseja reescrever sobre o bloco
j existente.

36

Monitorando o Status do Programa

O bloco deve ser aberto on-line e a monitorao inicia clicando-se no


boto
para que o processo inicie. A seo de instruo dos blocos exibe o
estado de operao quando os valores mudam. Em LAD, um cdigo de cores
exibe o fluxo de corrente, e contatos abertos ou elementos so representados
por linha pontilhada. Entre outras coisas, as cores e os tipos de linhas podem
ser mudados via a funo do menu Options Setting.

37

Operaes Lgicas Bsicas

Geral
As instrues de BIT trabalham com dois valores, 1 e 0. Com instruo
na forma de um contato ou de uma sada, 1 indica ativado ou energizado; 0
indica desativado ou desenergizado. Instrues de BIT interpretam o estado do
sinal 0 ou 1 e o combina de acordo com a lgica booleana. O resultado destas
combinaes 0 ou 1, denominado como Resultado da Operao Lgica
(RLO).
Instrues de bit:
1- Scan para Sinal 1
2- Scan para Sinal 0
3- Sada
4- Conector
5- Setar Sada
6- Resetar Sada
7- Setar/Resetar Flip Flop
8- Resetar/Setar Flip Flop
9- RLO Negado
10- Salvar RLO

38

AND, OR, XOR

A descrio das instrues baseada nos exemplos acima.


AND
Se e somente se o estado do sinal I0.0 = 1 e I0.1 = 1, o resultado da
operao lgica (RLO) 1, e a sada Q4.0 torna-se 1. Se uma ou ambas as
entradas tem sinal 0, o RLO 0 e a sada torna-se 0.
OR
Se o estado do sinal I0.2 = 1 ou I0.3 = 1, o RLO 1 e a sada Q4.1
torna-se 1. Se nenhuma das entradas for 1, o RLO = 0, e a sada torna-se 0.
XOR
A instruo XOR torna o RLO 1 se e somente se uma das entradas for
1. Se nenhuma das entradas for 1 ou se ambas forem 1, o RLO 0, e a sada
torna-se 0.

39

Instrues para Setar, Resetar e Salvar

Geral
A funo flip-flop consiste de operaes de SET e RESET. As
operaes de Set e Reset somente so executadas quando RLO=1. Quando o
RLO=0, o estado atual permanece inalterado. Se a condio para ambos, set e
reset so verdadeiros simultaneamente, ento em STL, a instruo
programada por ltimo tem prioridade. Em LAD e FBD possvel selecionar o
bloco com prioridade na entrada setar ou na entrada resetar.
Set
Quando o RLO=1, o endereo setado e permanece inalterado at a
condio de reset ser executada. Se, neste exemplo, o estado do sinal de
I1.0=1, mesmo por um nico ciclo, a sada Q5.0 torna-se 1 e permanece at
que seja resetado por outra instruo.
Reset
Quando o RLO=1, o endereo resetado. Se, neste exemplo, o estado
do sinal de I1.1=1, mesmo por um nico ciclo, a sada Q5.0 torna-se 0.
Flip-flop Set/Reset
Se o estado do sinal de entrada S=1, e a entrada R=0, o endereo
(bloco acima) setado .
Reset dominante: se o estado do sinal R torna-se 1, o endereo setado
anteriormente resetado para 0, independente do estado da entrada S (reset
dominante)
Flip-flop Reset/Set
Com este tipo de bloco, o set dominante.
40

Instrues que influenciam o RLO

NOT
NOT uma instruo para inverter o RLO. Se o RLO precedente a
instruo NOT for 0, este negado para 1. Reciprocamente, tornar-se zero se
o RLO for 1.
CLR
O RLO torna-se 0 com a instruo CLEAR, independente da condio
anterior
SET
A instruo SET faz com que o RLO se torne 1.
LAD/FBD no suportam estas duas instrues (CLR/SET).
SAVE
Com a instruo de memria SAVE, o contedo do RLO arquivado no
bit BINARY RESULT (BR) da palavra de status.
A BR
O RLO arquivado pode ser checado novamente usando a instruo A BR

41

Flanco de impulso (Degrau)

A avaliao do flanco de impulso freqentemente necessria em um


programa, na realidade, sempre quando no programa uma entrada muda para
ON ou para OFF, ou quando o endereo setado ou resetado.
Flanco de Impulso Positivo
Quando a entrada I1.0 muda seu estado de 0 para 1, como mostrado na
figura acima, a instruo FP identifica esta mudana de estado, denominada de
flanco de impulso positivo, e resulta em um RLO=1 por somente um ciclo,
ocorrendo um pulso de largura de um ciclo na sada Q5.0.
Para uma instruo FP, uma memria auxiliar (flag) deve ser
especificada (pode tambm ser bit de dados) no qual o estado do RLO
arquivado. Esta a maneira pela qual uma mudana de sinal pode ser
identificada no prximo ciclo.
Flanco de Impulso Negativo
Para um flanco de impulso negativo, o pulso de scan ocorre quando o
RLO muda de 1 para 0.
O smbolo para isto em STL o FN, e em LAD, existe a letra N no
smbolo de sada.

42

Temporiadores

O S7 oferece trs opes de temporizadores com atraso (delay timer):


On-Delay Timer S_ODT
Retardo na Energizao

Off-Delay Timer S_OFFDT


Retardo na Desenergizao

43

Retentive On-Delay S_ODTS


Retardo na Energizao com Reteno

O S7 oferece duas opes de temporizadores de pulso:


Pulse
S_PULSE Pulso

44

Extended Pulse
S_PEXT
Pulso Extendido

45

Contadores

As trs opes de contadores existentes so descritos a seguir. Uma


rea de memria reservada para os contadores. Esta rea de memria
reserva uma palavra de 16 bits para cada endereo de contador at 256
(dependendo da capacidade da CPU). O valor mximo presetado 999 (BCD).
Contador Crescente S_CU
Com um flanco de impulso positivo na entrada S, o contador setado
com o valor da entrada SC. Iniciando com 0 ou SC, o contador conta
crescentemente a cada vez que existe um flanco de impulso positivo na
entrada CU. A sada Q sempre 1, enquanto o valor de CV no for igual a 0.
Se houver um flanco de impulso positivo na entrada R o contador resetado,
isto , o contador setado com o valor 0.
Contador Decrescente S_CD
Com um flanco de impulso positivo na entrada S, o contador setado
com o valor da entrada SC. Iniciando com 0 ou SC, o contador conta
decrescentemente a cada vez que existir um flanco de impulso positivo na
entrada CD. A sada Q sempre 1, enquanto o valor CV no for igual a 0. Se
houver um flanco de impulso positivo na entrada R o contador resetado, isto
, o contador setado com o valor 0.
Up / Down Counter S_CUD
Combinao de contadores crescente e decrescente.

46

Instrues de temporizao e Contagem para


Bits.

Temp. On-Delay SD
Se o RLO mudar de 0 para 1, o temporizador SD inicializado. Se o
temporizador estiver funcionando, e o RLO mudar de 1 para 0, o temporizador
para.
Temp. Off-Delay SF
Se o RLO muda de 1 para 0, o temporizador SF inicializado. Se o RLO
mudar de 0 para 1, o temporizador resetado. O temporizador no
completamente reinicializado at que at que o RLO mude de 1 para 0.
Temp. de Pulso SP
Se o RLO muda de 0 para 1, o temporizador SP recebe o valor do
tempo. O temporizador funciona com tempo especfico, contanto que RLO = 1.
Se o RLO mudar de 1 para 0 com o temporizador funcionando, o temporizador
para.
Temp. Pulso Extendido SE
Se o RLO muda de 0 para 1, o temporizador SE recebe o valor do
tempo. O temporizador funciona por um perodo especfico, at mesmo se o
RLO mudar para 0 antes que o temporizador pare. Se o RLO muda de 0 para
1, o temporizador setado novamente. O estado do sinal do tempo de scan
resulta em RLO = 1, contanto que o temporizador esteja funcionando.
Temp. On-Delay Retentivo SS
Se o RLO muda de 0 para 1, o temporizador SS recebe o valor de
tempo. O temporizador funciona com o tempo especificado, at mesmo se o
RLO mudar novamente para 0 antes que o temporizador pare de funcionar. Se
47

o RLO mudar de 0 para 1, o temporizador setado novamente. O estado do


sinal do tempo de scan resulta em RLO = 1, contanto que o temporizador
esteja funcionando.
Contador Crescente CU
A bobina CU incrementa de 1 o valor de um contador especfico, se o
RLO mudar de 0 para 1.
Contador Decrescente CD
A bobina CD decrementa de 1 o valor de um contador especfico, se o
RLO mudar de 0 para 1.

48

Carregando e Transferindo Dados

MOVE (LAD/FBD)
A instruo MOVE torna possvel designar valores a variveis. Se a
entrada EN ativada, o valor presente na entrada IN copiado para o
endereo especificado para sada O. ENO tem o mesmo estado do sinal que
EN.
L and T (STL)
As instrues Load e Transfer permitem programar troca de dados
entre reas de memria. Load e Transfer so executados incondicionalmente e
independentemente do RLO. A troca de dados feita via acumulador.
A instruo Load transfere o contedo do endereo para o acumulador 1.
Quando isto acontece o contedo do acumulador 1 transferido para o
acumulador 2.
A instruo Transfer copia o contedo do acumulador 1 para o endereo
destino.

49

Funes de Comparao

Comparao
Com as instrues de comparao, voc pode comparar os seguintes pares
de valores numricos.
1- dois inteiros (cada um com 16 bits)
2- dois inteiros duplos (cada um com 32 bits)
3- dois nmeros reais (IEEE nmero de ponto flutuante, cada um com 32
bits)
Relao
Todas as instrues de comparao comparam os valores IN1 e IN2
baseados nas seguintes relaes:
1- IN1 igual a (==) IN2.
2- IN1 diferente de (<>) IN2
3- IN1 maior que (>) IN2
4- IN1 menor que (<) IN2
5- IN1 maior que ou igual a (>=) IN2
6- IN1 menor que ou igual a (<=) IN2
RLO
Se a comparao satisfeita, o resultado da operao lgica 1.

50

Instrues de Jump Incondicional

Salto Incondicional
A instruo Jump Incondicional interrompe o fluxo normal da lgica de
controle e provoca o salto de programa para a posio marcada pelo rtulo
(label). O label representado em LAD/FBD de maneira parecida ao elemento
de sada, porm com as letras JMP e o nome do rtulo destino associado; em
STL o label localizado atrs da instruo JU.
LAD
label
---------------------------------( JMP )
STL
JU label
Rtulos (labels)
O label marca o ponto onde o programa ir continuar a execuo, aps o
salto. Instrues ou segmentos localizados entre o jump e o label no sero
executadas.
O label obrigatoriamente deve estar localizado no mesmo bloco
(OB,FB,FC) que a instruo jump a que est associada.

51

Jump Condicional, baseado em RLO

Introduo
Saltos condicionais ocorrem sempre em funo do estado do RLO.
Salto Condicional RLO = 1 (JC)
O jump condicional JC executado se e somente se o RLO for 1.
Estando o RLO=1 a instruo se comporta da mesma maneira que um jump
incondicional. Porm se o RLO=0 a instruo jump ignorada e a execuo do
programa continua a partir da instruo seguinte.
Salto Condicional RLO =0 (JCN)
O jump condicional JCN executado se e somente se o RLO = 0.
Estando o RLO=0 a instruo se comporta da mesma maneira que um jump
incondicional. Porm se o RLO=1 a instruo jump ignorada e a execuo do
programa continua a partir da instruo seguinte.
JCB/JNB
Alm das instrues acima, existe duas outras opes em STL que so a
combinao do RLO e o bit BR:
1- Jump se RLO = 1 com RLO armazenado em BR (JCB)
2- Jump se RLO = 0 com RLO armazenado em BR (JNB)
Ambas instrues trabalham da maneira que JC e JCN trabalham; o
jump executado baseado no RLO. As instrues jump JCB e JNB salvam
adicionalmente o RLO no bit BR da palavra de status.
Nota:
Se o jump condicional no satisfeito, o programa continua a processar
as instrues seguintes ao jump e o RLO setado para 1.
52

Converso, Operaes Lgicas Digitais,


Matemticas e Deslocamentos

Cdigo BCD
O dgito de um nmero decimal poder ser codificados com quatro dgitos
binrios. Esta representao deriva do fato que o maior nmero decimal de 1
dgito, que o nmero 9, necessita de pelo menos quatro posies para a
representao em binria.
Para representar os dez dgitos decimais 0 at 9 em cdigo BCD voc
usa a mesma representao como voc usaria para nmeros binrios de 0 at
9.
De 16 combinaes possveis de quatro dgitos binrios, seis no so
utilizadas. Estas combinaes proibidas so chamadas de pseudo tetrad.
INTEGER (INTEIRO)
O tipo de dados INT um inteiro (16 bits). O bit de sinal (bit no. 15)
indica se voc est tratando com nmeros positivos ou negativos (0 =
positivo, 1=negativo). A faixa de um inteiro (16 bit) est entre -32768 e
+32767.
Um inteiro ocupa uma palavra de memria. Em formato binrio, um
inteiro negativo representado com o complemento de dois de um nmero
inteiro positivo. Voc chega ao complemento de dois de um inteiro positivo
quando inverte o estado do sinal de todos os bits e adiciona 1 ao resultado.
NMERO REAL
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.
53

Voc pode tambm trocar o nmero real com um expoente como potncia
inteira de 10, com que o nmero real tem que ser multiplicado, de forma a
atingir o valor desejado. Como resultado, o nmero 1024 pode ser expresso
como 1.024E3.
O numero real ocupa duas palavras de memria e o sinal do nmero
definido pelo bit mais significativo. Os bits restantes representam o expoente e
a mantissa.
A faixa na qual o nmero real est compreendido -3.402823 10 38 a
3.402823 1038

54

Instrues de Converso de Tipos de Dados

Existem vrias possibilidade de converso. Todas as instrues tm o


seguinte formato:
EN = Enable input
A converso executada somente se o RLO verdadeiro (=1).
ENO = Enable output
A sada Enable output tem o mesmo estado de sinal que EN (EN=ENO),
a menos que tenha havido um erro durante a converso. Por exemplo, a
instruo Round fornece o ENO=0 para uma violao de faixa vlida.
IN = Valor de entrada
Valor convertido

OUT = Valor de sada


Valor a ser convertido

(LAD /FBD)

STL

Descrio

BCD_I /
BCD_DI

BTI/BTD Converte Cdigo Binrio em formato Decimal (BCD,


Binay Code for Decimal digits) em formato inteiro.

TRUNC

TRUNC

Converte ponto flutuante (real 32 bit IEEE) em inteiro


duplo.

DI_REAL

DTR

Converte inteiro duplo em nmero real.

I_DI

ITD

Converte inteiro em inteiro duplo.

ROUND

RND

Converte um nmero real em inteiro duplo e


arredonda o resultado para o prximo nmero.

CEIL

RND+

Converte um nmero real em inteiro duplo e


arredonda o resultado para o mais prximo inteiro
menor ou o mesmo nmero.

55

Instrues de Converso de Tipos de Dados

WAND_W
A instruo Word AND combina dois valores digitais especificados na
entrada IN1 e IN2 bit a bit, baseado na tabela verdade AND. O resultado da
operao salvo no endereo OUT. A instruo executada se o sinal de
entrada de EN=1. ENO tem o mesmo estado do sinal de EN.
Tabela Verdade AND:
MW10
W#16#0FF
F
MW30

= 0100 010 0 1100 0100


= 0000 1111 1111 1111
= 0000 0100 1100 0100

WOR_W
A instruo Word ORcombina dois valores digitais baseados na tabela
verdade OR bit a bit, para valores de entrada IN1 e IN2. O resultado da
operao OR salvo no endereo OUT. A instruo executada , se o estado
da entrada EN=1. ENO tem o mesmo estado do sinal de EN.
Tabela verdade OR:
MW32
= 0100 0010 0110 1010
W#16#0001 = 0000 0000 0000 0001
MW32
= 0100 0010 0110 1011
WXOR_W

56

A instruo Word Exclusive OR combina dois valores binrios das


entradas EN1 e EN2 bit a bit e de acordo com a tabela verdade OR Exclusive.
O resultado da operao
WXOR salvo no endereo OUT. A instruo ativada, se a entrada EN=1.
ENO tem o mesmo estado do sinal de EN.
Tabela verdade XOR
IW0
= 0100 0100 1100 1010
MW28 = 0110 0010 1011 1001
MW24 = 0010 0110 0111 0011

57

Funes Matemticas Bsicas

Existem vrias funes aritmticas, como exibidas abaixo. As instrues


tm o seguinte formato:
EN = Habilita entrada
A instruo ser executada se e somente se o RLO verdadeiro
(RLO=1).
ENO = Habilita sada
A sada Enable output tem o mesmo estado de sinal que EN (EN=ENO),
a menos que tenha havido um erro durante a converso. Por exemplo, a
instruo DIV_I fornece EN0=0 quando se faz um diviso por zero.
IN1 = Entrada 1
1. valor aritmtico da instruo.
IN2 = Entrada 2
2. valor aritmtico da instruo.
O = Sada
Resultado da operao
aritmtica.
Adio
ADD_I Soma inteiros
ADD_DI Soma inteiros duplos
ADD_R soma nmeros reais

Multiplicao
MUL_I Multiplica Inteiros
MUL_DI Multiplica inteiros
duplos
MUL_R Multiplica nmeros
reais
Diviso
DIV_I Divide inteiros
DIV_DI Divide inteiros duplos
DIV_R Divide nmeros reais

Subtrao
SUB_I Subtrai inteiros
SUB_DI Subtrai inteiros duplos
SUB_R Subtrai nmeros reais
58

Funes Matemticas Avanadas

Existem vrias funes matemticas e trigonomtricas com pontos


flutuantes, como mostrado abaixo. Estas instrues tm o seguinte formato:
EN = Habilita entrada
A instruo ser executada se e somente se o RLO verdadeiro
(RLO=1).
ENO = Habilita sada
A sada Enable output tem o mesmo estado de sinal que EN (EN=ENO),
a menos que tenha havido um erro durante a converso. Por exemplo, quando
h um overflow.
IN = Valor de Entrada
1 operando da instruo (nmero real).
O = Valor de Sada
Resultado da operao (nmero real)
ABS = Valor Absoluto de um nmero real
ACOS = Arco Coseno para um nmero real (resultado em radianos)
ASIN = Arco Seno para um nmero real (resultado em radianos)
ATAN = Arco Tangente para um nmero real (resultado em radianos)
COS = Coseno para um nmero real (resultado em radianos)
EXP = Expoente para nmero real
LN = Logaritmo Natural para um nmero real
SQR = Raiz de um nmero real
SQRT = Raiz Quadrada de um nmero real
SIN = Seno de um nmero real (resultado em radiano)
TAN = Tangente de um nmero real (resultado em radiano)
59

Ferramentas para teste e Depurao

Status do Programa
Com o Editor LAD/STL/FBD, voc pode exibir o programa e o fluxo do
sinal na linguagem de programao desejada.
1 LAD/FBD:
Mostra o fluxo de corrente entre os elementos e os valores de entrada e
sada dos blocos.
STL:
Mostra os endereos, o RLO e os registros importantes para a
depurao do programa.
Monitor./Modificando Variveis
As variveis definidas pelo usurio podem ser exibidas ou mudadas online com a CPU usando a opo PLC Monitor/Modify.
Inicializando o Status
1. Abrir o bloco de programa on-line pelo editor (LAD,STL/FBD).
2. Selecionar Debug Monitor (no menu do editor LAD/STL/FBD).
3. Resultado: O status da network selecionada e das seguintes so
atualizados.
Nota
Para mudar a forma de visualizao (ex.: entre LAD e STL), o status
deve estar desligado. Selecionando novamente Debug Monitor , a marca
antes de Monitor desaparece. Para mudar a linguagem de programao
selecione View LAD, FBD ou STL no menu do editor de Programas. Ento o
status do programa pode ser selecionado novamente, depois que a forma de
visualizao foi mudada.
60

Modo de Operao para Status de Blocos

Modo de Status
H dois modos de operao para a funo de Status do Bloco. Isto
torna possvel selecionar o modo processo ou laboratrio para o bloco aberto
on-line.
Modo Process
O status dos operandos do programa avaliado somente no primeiro
scan. Este modo causa uma menor carga no tempo de ciclo.
Modo Laboratory
O status dos operandos avaliado todo scan. O tempo de ciclo pode ser
aumentado significativamente neste modo.
Seleo do Modo
1. Use o editor LAD/STL/FBD para abrir o bloco on-line.
2. Selecione a linguagem que voc deseja (LAD, STL, or FBD).
3. Selecione Debug Call Environment.
4. Selecione Process ou Laboratory. (Process setado como padro).
Resultado:
Quando voc selecionar a opo Monitor o status operado no modo
selecionado.

61

Tabela de Monitoramento e Modificao de


Variveis

Monitor/Modify - Tabela de Monitor./Modificao de Varveis


A ferramenta Monitor/Modify Variable uma ferramenta com a qual
pode-se exibir os estados dos operandos do programa. Podem-se criar tabelas
de variveis em vrios formatos que necessariamente no tm que ser uma
parte do programa.
Criando e Editando a Tabela
1. Abrir o projeto on-line, e selecionar o programa.
2. Selecionar a pasta Monitor/Modify Variables.
3. (Para Criar) selecione Manage Table (para abrir uma pop-up) entre
com o nome e click em apply.
4. Digite as variveis a serem monitoradas na coluna de endereos
(nomes simblicos so permitidos).
5. Especifique o formato para cada varivel na coluna de formatos
(Browsing dos tipos de formatos possvel Clicando com o boto da esquerda
em cima desta coluna ou selecionando com o boto da direita do mouse).
6. Salve a nova tabela de variveis atravs do menu de comando File
Save.

62

Chamando Blocos

A instruo Call utilizada para disparar a execuo de um outro bloco


lgico. Na figura acima quando o 1. bloco encontra a instruo Call, o
programa interrompe a execuo deste bloco e passa a executar a 1.
instruo do bloco chamado. Aps ser executada a ltima instruo do bloco
chamado, o programa retorna ao bloco chamador e continua a sua execuo
logo aps a instruo Call.
Chamada em STL sem parmetros
Call FC100
UC FC 100
CC FC 100
Chamada em LAD sem parmetros

Chamada em STL com parmetros


Call FC20 Call FB30,DB10
Runtime:=MW20 Runtime:=MW20
Press:=PIW352 Press:=PIW352
Total:=QW20 Total:=QW20
Chamada em LAD com parmetros

63

Parmetros EM/ENO

EN/ENO
Em Diagrama de Contatos (LAD) e em Blocos Funcionais (FBD) existe
um sinal de habilitao do bloco (EN), isto , o bloco executado se e somente
se o RLO=1 nesta entrada
Possui tambm uma sada correspondente (ENO), que indica o se o bloco foi
executado corretamente.
Funcionamento
1 -se EN no ativado (0), o bloco no executado, e o ENO no
ativado (0).
2- se EN ativado (1),o bloco executado; se o bloco executado sem
erro, ENO ativada (1)
3- se EN ativada (1), o bloco executado, se ocorre um erro na
execuo do bloco, o ENO no ativado (0).
EN/ENO em FBD

EN/ENO em STL
Em STL, o EN e ENO tem que ser emulado com instrues de jump
salvando o RLO no resultado binrio BR. Isto necessrio se se deseja
programar a condio ENO em um bloco de usurio (caso de erro de
execuo).
A I 1.0
JNB SALT
CALL FC1
SALT: A BR
64

= Q 5.0

Variveis Locais de um Bloco

Variveis Internas de um Bloco


Na Tabela de Declaraes so definidas as variveis que sero
utilizadas internamente em um bloco. Cada tipo de varivel tem uma finalidade
especfica.
Parmetros
Parmetros servem como interface entre um bloco a ser executado e um
bloco que chama este bloco. Quando um bloco chamado pode-se fornecer
valores e/ou endereos a este bloco. Dentro dele, estes parmetros assumem
a posio nos operandos em que foi programado.
Os parmetros podem ser de entrada (somente leitura), sada (somente
escrita) e entrada e sada (leitura e escrita) os quais so passados para os
blocos.
Variveis estticas
As variveis estticas so variveis auxiliares a serem utilizadas ou
como rascunho ou como flags auxiliares dentro do bloco.
Este tipo de varivel encontrado exclusivamente nos blocos tipo FB,
pois so armazenadas em bloco de dados do tipo Instance, que s estes
blocos possuem.
Variveis temporrias
As variveis temporrias, tambm denominadas locais, so variveis de
rascunho vlidas exclusivamente no bloco em que foram definidas. Ao contrrio
das variveis estticas, estas variveis no possuem endereo fixo (so
armazenadas temporariamente na L stack), estando disponveis somente
enquanto o bloco estiver sendo executado. Assim estas variveis
65

obrigatoriamente tem que ser iniciadas a cada ciclo do bloco, no servindo para
armazenar dados de um ciclo para o outro.
Colunas da Tabela
End. local: um endereo relativo da memria local, criado automaticamente
pelo sistema. Pode-se eventualmente acessar a varivel por este endereo
porm se possvel sempre usar o nome simblico.
1- Nome: o nome simblico para a varivel que ser usado com a seo de
cdigo do programa.
2- Tipo de dado: tipo de dado da varivel. Ex.: BOOL (Booleana), INT (Inteira)
3- Valor inicial: campo opcional onde pode-se definir o valor inicial ou de startup.
4- Comentrio: campo opcional que contm o comentrio descritivo sobre a
varivel.

66

Parmetros de um Bloco

Como j mencionado a utilizao de parmetros facilita a programao e


permite que um bloco seja utilizado diversas vezes dentro de um programa,
diminuindo o tempo de desenvolvimento e a memria ocupada na CPU.
Chamada do Bloco
Como se v na figura acima, a passagem de parmetros feita se
preenchendo os campos de parmetros com os operandos correspondentes.
Em FBD/LAD os parmetros localizados esquerda so do tipo entrada
(ou entrada/sada) e do lado direito so do tipo sada.
Programao
A programao utilizando os parmetros feito praticamente da mesma
forma que uma programao normal. Difere somente quanto aos operandos.
Ao invs de se utilizar o endereo absoluto do operando utiliza-se o nome
simblico do parmetro conforme definido na tabela de declaraes do bloco.

67

Tipos de Parmetros
Os parmetros de um bloco podem ser:
1- in parmetros de entrada
2- out parmetros de sada
3- in_out parmetros de entrada/sada

68

Utilizando Varivel Local em um Bloco

Pilha Local (L stack)


Todo o bloco quando est sendo executado possui uma rea de
memria reservada na chamada pilha local (L stack). Esta memria temporria
uma eficiente forma de usar o sistema para arquivar valores intermedirios
que no so necessrios depois que o bloco fechado. Estas variveis (temp)
so acessadas internamente no bloco pelo nome simblico. O tipo de dado
declarado da varivel deve ser respeitado (BOOL, INT, etc.).
Programao
A utilizao desta varivel semelhante ao uso de um parmetro. Aps
a declarao de seu nome e tipo na tabela de declarao do bloco, basta
digitar o seu nome simblico como um operando normal. Estas variveis so
identificadas pelo smbolo # antes do seu nome simblico.
Inicializao
Esta varivel no existe fisicamente, sendo utilizado a pilha local para
aloc-la durante a execuo do bloco. Sendo assim a cada chamada do bloco
esta varivel tem que ser inicializada, isto , o valor que esta varivel continha
no ciclo anterior no pode ser re-aproveitado.
Exemplo
No exemplo acima a varivel #res_inter recebe o resultado do clculo
(12 * X), e utilizada no segmento seguinte para complementar o clculo (12X
+ 50). Em uma tcnica convencional de programao teria sido necessrio
utilizar um memria (flag), ocupando-a desnecessariamente.

69

Variveis Estticas
Os blocos do tipo FB possuem adicionalmente variveis do tipo estticas
(stat). Quanto edio o uso desta varivel igual a varivel temporria. A
varivel esttica porm existe fisicamente ( armazenada no DB instance)
sendo portanto possvel utilizar o valor armazenado no ciclo anterior.
Limites
Sendo uma rea de memria da CPU, existem limites para criao e uso
destas variveis. Estes limites dependem do tipo de CPU e da organizao do
programa. Detalhes podem ser vistos no captulo sobre Documentao.
Nota
Pode ocorrer de que um nome simblico de varivel local tenha o
mesmo nome simblico de uma varivel global. Para diferenciar isto as
variveis globais so identificadas por aspas (nome_simbol).

70

Informaes do Sistema

Acesso
Para ler as informaes sobre a CPU, ativar o menu de comando VIEW
Online Hardware Diagnostic e clicar no boto Expanded diagnostic
Information.

71

Informaes Gerais da CPU

Informaes da CPU
Na figura a anterior v-se os dados gerais da CPU -312-5 do PLC S7300.
Note o item Version que informa qual a verso do mdulo.

72

Performance da CPU

Dados sobre Performance


As informaes sobre Performance fornecem detalhes especficos sobre
o funcionamento da CPU conectada ao PG/PC (informao on-line).
Estas informaes so acessadas na pasta Performance Data.
Note porm que as informaes indicam somente a capacidade mxima
possvel para a CPU, e no necessariamente a disponvel no momento.
Organization Blocks
Informa os blocos de organizao disponveis para aquela CPU.
System Blocks
Informa os blocos de sistema disponveis para aquela CPU.
Address Area
Faixa de endereamento possvel para a CPU: entradas digitais, sadas
digitais, memria (flags) temporizadores, contadores e dados locais.

73

Ocupao da Memria

Memory
Esta pasta fornece informaes sobre a ocupao da memria pelo
programa do usurio.
Work Memory
Esta rea da RAM acessada durante a execuo do programa do
usurio. A memria de trabalho contm somente informaes necessrias
para o processamento do programa na CPU. A memria de trabalho
integrada na memria RAM da CPU, no podendo ser expandida.
Esta memria muito importante para a definio do tamanho mximo de
programa executvel.
Load Memory
A memria de carga uma memria intermediria onde o programa
armazenado quando transferido para a CPU. Como esta memria possui no
somente o programa executvel, mas outras informaes necessrias para a
edio do programa (por ex., tipo de dados do DB) esta memria sempre
maior que a memria de trabalho.
So apresentadas duas colunas de ocupao: uma referente memria
integrada CPU e outra memria adicional inserida (carto F-EPROM).
Comprimindo
Pode-se eliminar espaos existentes na memria de trabalho utilizando o boto
de comando Compress. Estes espaos originam-se de correes de
programas na CPU. Isto , porque blocos alterados so sempre inseridos no
final da rea memria, enquanto que os blocos antigos so declarados
invlidos. A compresso da memria reloca a RAM para limpar os espaos
feitos nesta fragmentao, e torna a RAM mais eficiente.
74

Hora e Data no CLP

Time System
Esta pasta possui informaes a respeito de data/hora e funes similares.
Relgio de Tempo Real
As CPUs possuem um relgio de tempo real integrado (exceto CPU312) . Aqui
pode-se ler a hora/data da CPU, alm de informaes sobre o sincronismo o
relgio.
Medidor de Tempo Decorrido
Existe na CPU uma funo de sistema (SFC) para medio de tempo decorrido
de um evento (por ex. tempo de funcionamento de um motor). Caso utilizada,
possvel acessar o tempo decorrido nesta pasta.

75

Referncia Bibliogrfica

76

Vous aimerez peut-être aussi