programaçao clp s7 - 300

152
PROGRAMAÇÃO CLP S7 - 300 Escola SENAI – “João Martins Coube” Rua Virgílio Malta, 11-22 – Centro Bauru/SP CEP: 17015-220 Fone/fax: (14) 3104-3800 e-mail: [email protected]

Upload: joao-carlos

Post on 28-Dec-2015

121 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Programaçao CLP S7 - 300

PROGRAMAÇÃOCLP S7 - 300

S e r v i ç o N a c i o n a l d e A p r e n d i z a g e m I n d u s t r i a l

Escola SENAI – “João Martins Coube”Rua Virgílio Malta, 11-22 – Centro

Bauru/SP CEP: 17015-220Fone/fax: (14) 3104-3800

e-mail: [email protected]

Page 2: Programaçao CLP S7 - 300

2

Page 3: Programaçao CLP S7 - 300

Sumário

Família SIMATIC 05

Instalando o STEP 7 15

Introdução ao Hardware S7 25

O Software STEP 7 45

Configurando e parametrizando o S7 58

Princípios básicos 79

O editor de programas 90

Operações lógicas básicas 106

Temporizadores, Contadores e Comparadores 115

Conversão, operação lógica digital, matemática, deslocamento 129

3

Page 4: Programaçao CLP S7 - 300

4

Page 5: Programaçao CLP S7 - 300

Família SIMATIC

SIMATIC

A família SIMATIC representa não somente uma linha de CLP’s, e sim toda uma linha

de produtos de AUTOMAÇÃO TOTALMENTE INTEGRADA.

SIMATIC S7

Os Controladores Lógicos Programáveis da família SIMATIC S7 podem ser divididos

em : Micro PLC (S7 – 200), pequeno/médio porte (S7 – 300) e médio/grande porte (S7

– 400).

SIMATIC M7

O CLP M7 é um computador PC – AT compatível, com o mesmo desempenho, a

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

5

Page 6: Programaçao CLP S7 - 300

SIMATIC C7

Este é um sistema completo, é a combinação do CLP (S7 – 300) e um painel de

operação (HMI Operador Interface) em uma única unidade.

Software

O SIMATIC Software é um projeto modular. Ele consiste do Software Básico STEP 7 e

Pacotes Opcionais, instalados a parte. Os Pacotes Opcionais podem ser linguagem de

programação adicionais tais como S7-GRAPH, SCL, CFC,SFC e pacotes para

diagnósticos, simulações, documentação e Teleservice.

Terminais de Programação

São PC’s AT compatíveis com todos as interfaces necessárias e software básicos de

programação pré-instalados. Disponíveis desde laptop até desktop.

Redes de Comunicação

As redesAS-I, Profibus e Industrial Ethenert estão disponíveis para troca de dados

entre sistemas de PLC’s.

I/O Distribuídos

Para economizar em cabos, existe a possibilidade da utilização de I/O’s remotos em

um projeto distribuído. Uma configuração distribuída, no que se refere à sua

parametrização/programação, não difere de uma configuração central.

Interface Homem-Máquina

Para comunicação Homem-Máquina, existe a Interface de Operação SIMATIC HMI.

Estas interfaces são totalmente integráveis á toda a família SIMATIC.

6

Page 7: Programaçao CLP S7 - 300

S7-200

O S7-200 é o micro-CLP da família SIMATIC S7

Características

O S7-200 tem as seguintes características e funções:

Baixo preço

“Totalmente compacto” com fonte de alimentação, CPU e entradas/saídas

integradas em um único dispositivo.

“Micro PLC” com funções integradas

Pode ser expandido em até sete módulos

Software baseado em DOS ou Windows (STEP 7 MICRO/DOS ou STEP 7

MICRO/WIN)

Funções

Alimentação das entradas digitais (sensores) integrada

Forçar entradas e saídas

Acesso direto às entradas/saídas

Relógio de tempo real integrado

Dois potenciômetros analógicos integrados

Duas saídas em pulsos integradas

7

Page 8: Programaçao CLP S7 - 300

Entradas digitais comandadas por interrupções

Contadores de alta velocidade integrados (7 a 20kHz).

S7-200

O S7-200 é o micro-CLP da família SIMATIC S7.

Características

baixo preço

Totalmente compacto com fonte de alimentação, CPU e entrada/saídas intregadas

em um único dispositivo.

Micro PLC¨com funções integradas

Pode ser expandido em até sete módulos

Solfware baseado em DOS ou Windows (STEP 7 MICRO/DOS ou STEP 7

MICRO/WIN)

Funções

Alimentação das entradas digitais (sensores) integrada

Forçar entradas e saídas

Acesso direto às entradas/saídas

Relógio de tempo real integrado

Dois potenciômetros analógicos integrados

8

Page 9: Programaçao CLP S7 - 300

Duas saídas em pulsos integradas

Entradas digitais comandadas por interrupções

Contadores de alta velocidade integrados (7 a 20kHz).

S7-300

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

Características

Diversas CPU’s com diferentes capacidades

Extensivo espectro de módulos

Pode ser expandido em até 32 módulos

Módulos integrados em barramento backplane

Pode ser ligado em rede com interface multi-point (MPI), PROFIBUS e industrial

Ethernet

Conexão central com PC acessa todos os módulos (FM e CP)

Sem regras para alocação das placas

Configuração e parametrização via software STEP 7

9

Page 10: Programaçao CLP S7 - 300

S7-400

O controlador lógico programável S7-400 abrange aplicações de médio e grande porte.

A família da CPU S7-400 tem um set de instruções poderoso (igual ao do S7-300) e

esquema de endereçamento simples.

Memória de Trabalho

A partir de 48 KB até 2 mega.

Sinais Digitais

A partir de 64K até 256K.

Sinais Analógticos

A partir de 4K até 16K.

Memory Markers

Flags – A partir de 4K até 16K.

Tempo de Ciclo

A partir de 0,08 s por instrução binária.

10

Page 11: Programaçao CLP S7 - 300

Multiprocessamento

Até quatro CPU’s podem ser usadas no rack central.

Comunicação

Via MPI, ponto-a-ponto, PROFIBUS e industrial Ethernet.

MPI

A Multi-Point Interface, MPI tem como objetivo conectar o CLP ao terminal de

programação ou à interface de operação, ou ainda a outros controladores lógicos

programáveis (PLC’s). Na unidade central de processamento (CPU), existe somente

uma interface MPI, porém é possível acessar através dela todos os outros módulos

programáveis, tais com FM’s.

Possibilidades de Conexão

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

CPU. Isto significa que o terminal de programação e o painel de operação podem ser

operados simultaneamente, e ainda outros PLC’s adicionais podem ser conectados. As

quantidades de conexões que podem ser operadas simultaneamente dependem da

CPU. Exemplo: são possíveis quatro conexões de comunicação ativa por nó para a

CPU 314.

11

Page 12: Programaçao CLP S7 - 300

Características da MPI

A interface MPI suporta displays, painéis de operação e terminais de programação

Siemens. A MPI oferece as seguintes possibilidades:

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

Funções de monitoração do sistema e funções de informações

Troca de dados entre controladores lógicos programáveis

Troca de programas entre CPU e terminal de programação

Dados Técnicos da MPI

As mais importantes características da interface MPI são:

Padrão RS 485 e taxa de transmissão de 187,5 Kbaud

Distâncias até 50 m ou até 9100 m com repetidores

Componentes padrões do PROFIBUS DP (cabo, conector e repetidor)

Redes

A figura acima exibe as várias possibilidades de rede para a comunicação entre

produtos já existentes e a família S7. Os termos usados no slide são explicados a

seguir:

12

Page 13: Programaçao CLP S7 - 300

S5/TI

Controladores lógicos programáveis SIMATIC S5 E SIMATIC TI

SIMATIC HMI

Equipamentos de interface Homem Máquina

Tistar

SCADA = (Supervisory Control and Data Acquisition) controle de interface de operação

do sistema.

PG/PC

Terminais de programação (Siemens PG) ou Computadores Pessoais

Ind. Ethernet

Rede Industrial da Siemens

TD/OP

Text Display e Operador 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 distribuído fieldbus da Siemens

13

Page 14: Programaçao CLP S7 - 300

PG720PII

A PG720PII (Pentium II) tem as seguintes características:

Pouco Peso (aproximadamente 4,5 kg)

Dimensões pequenas

Interface Integrada (MPI, EPROM, MEMORY CARD E PLC)

Boa resolução

Expansão pata teleservice (MODEM) via PCMCIA, tipo 3

Teclado removível, conexão possível para monitor externo Multisync

Expansível para redes (Novell, etc), transmissão de dados, FAX (modem) via

PCMCIA – tipo 3

PG740PIII

A PG740PIII (Pentium III) tem as seguintes características:

Boa resolução gráfica para Windows 98

Excelente tela de exibição (TFT display, 13.3¨, 34 cm)

Teclado removível, possível conexões para monitores externos com alta

resolução.

Interface integrada (MPI, EPROM, MEMORY CARD, SIMATIC S5 e

impressora)

Expansível para redes (Novell, etc), transmissão de dados, FAX e modem

Portátil (aproximadamente 7 kg)

14

Page 15: Programaçao CLP S7 - 300

Instalando o STEP 7

STEP7 Micro:

Este é o software para elaboração de programas exclusivamente para o S7-200.

Possui duas versões: MICRO/DOS E MICRO/Win, que rodam nos sistemas DOS e

Windows 3.x respectivamente.

STEP 7

O STEP 7 é a ferramenta de automação da família SIMATIC S7 (exceção do S7-200).

Através dela se configura e parametriza-se todo o hardware, edita-se o programa,

testa-o, faz-se o comissionamento e a procura de defeitos, além de toda a

documentação necessária. Com o auxílio de pacotes opcionais pode-se ainda

configurar redes locais, utilizar linguagens de alto-nível ou orientada à tecnologia,

utilizar Teleservice, etc.

15

Page 16: Programaçao CLP S7 - 300

STEP7 Mni

O STEP 7 é um sub-set do pacote STEP 7, ideal para se iniciar na automação com

aplicações stand-alone do S7-300. Em relação ao pacote normal não permite a

configuração do S7-400, de global-data (troca de dados) e nem o uso de pacotes

opcionais.

Options:

São pacotes opcionais para S7 e M7 para geração de programas em outras

linguagens, configuração de rede, etc. Estes pacotes permitem por exemplo a escolha

da linguagem de programação mais fácil ou apropriada a cada aplicação:

SCL - Linguagem de alto nível, baseada em Pascal. Ideal para a organização e

manutenção de grande quantidade de dados, cálculos e algoritmos complexos.

GRAPH - Linguagem para processos seqüências, baseados em estado e transição.

Em vez de se programar um sistema, faz-se a descrição de seus passos.

HiGraph - Linguagem para descrição de estados (não necessariamente seqüenciais).

A partir de um diagrama de estados faz-se a descrição do processo.

CFC - Programação orientada tecnologicamente,onde se desenvolve graficamente

todo o processo.

16

Page 17: Programaçao CLP S7 - 300

Pré-requisitos

PC-Compatíveis que atendam os pré-requisitos acima, podem ser utilizados sem

restrições. Para a comunicação com CLP é necessário uma interface MPI (cartão MPI-

ISA ou PCMCIA) ou um cabo de conversação PC/MPI (para ser ligado à interface

serial).

F-EPROM

Para a gravação de F-EPROM é necessário um gravador de EPROM externo (os PG’s

Siemens já o possuem). A partir da nova versão do STEP 7 e das novas versões de

CPU, as F-EPROM poderão ser gravadas diretamente na CPU.

Observação

Um upgrade de uma versão antiga dos PG Siemens não é uma solução

economicamente viável. PG’s e PC’s usando um processador 80386 são

extremamente lentos.

17

Page 18: Programaçao CLP S7 - 300

Instalação

Como todo o aplicativo W95, o software deverá ser instalado via a função

“Adicionar/Remover Programas” do W95, que será executará o programa SETUP do

STEP 7.

Instalando Drivers

Durante a instalação do STEP 7, deve-se integrar drivers para a comunicação com o

CLP (cabo ou cartão) e para F-EPROM’s. Pode-se também mudar as definições

padrões de interrupção e endereços se necessários.

As seguintes opções podem ser setadas durante a instalação do STEP 7:

Escopo da instalação (normal, mínima, definida pelo usuário)

Língua

Definições de interface PG/PC

Opções de EFROM

18

Page 19: Programaçao CLP S7 - 300

Proteção de Software

O Software STEP 7 é provido com uma proteção contra cópia e pode ser operada em

somente um terminal de programação por vez. O software não pode ser usado até ser

autorizado pelo disquete de autorização. Este disquete transfere uma autorização para

o hard disk depois que a instalação do software foi concluída.

Autorização

Antes de utilizar o software em outro terminal de programação é necessário executar a

transferência de autorização.

Por favor, o leia o conteúdo do arquivo README.TXT no disco de autorização. Sem

seguir estas informações existe risco que a autorização seja irrecuperavelmente

perdida.

Leia também o folheto Product Information que acompanha o software.

19

Page 20: Programaçao CLP S7 - 300

Memory Card Parameter Assignment

Define os parâmetros para a programação de cartões de memória.

Setting the PG-PC Interface

Define os parâmetros da interface de comunicação PG-PC (ex: o tipo de interface,

cabo ou placa, a interrupção de comunicação ou endereço MPI).

Readme (Product-Information)

Fornece informações detalhadas sobre o STEP 7: versão, procedimento de instalação,

etc.

Converting S5 Files

Com o auxílio do conversor S5/S7, pode-se converter programas STEP 5 em

programas STEP 7.

Programa. S7 Blocks

O editor de Programas habilita você a escrever o seu programa com uma das

linguagens de programação STEP 7: Lader Diagram (LAD), Statemente List (STL) ou

Function Blocks (FBD)

20

Page 21: Programaçao CLP S7 - 300

SIMATIC Manager

Esta é a principal aplicação, que também aparece como um ícone no DESKTOP do

WINDOWS 95. Através dela é que se inicia do projeto: configuração, edição, testes.

etc. É chamada de Manager, pois terá a função de gerenciar todo o projeto.

Selecionando

1.Ative o comando de menu Options Customize

2.Selecione a pasta de Linguagem

3.Selecione a linguagem desejada:

SIMATIC = alemão;

IEC = Internacional (inglês)

Importante

Existem duas seleções independentes:

Língua do Editor seleciona o idioma da ferramenta STEP 7

(inglês/alemão/espanhol/italiano/francês)

Língua dos Mnemônicos seleciona o idioma em que o programa do usuário

será escrito (inglês/alemão)

21

Page 22: Programaçao CLP S7 - 300

Meta

Checar a parametrização correta da interface da PG.

Procedimento

Clique na barra de tarefas Iniciar

Selecionar SIMATIC STEP 7 Setting the PG/PC Interface

Depois de você ter selecionado “Cartão PC/MPI” clique no botão

“Propriedades”

Checar se o endereço local da PG está setado para 0.

22

Page 23: Programaçao CLP S7 - 300

Mnemônicos

Antes de editar um programa, é necessário escolher entre 2 opções de mnemônicos

para exibição das construções no editor de programa.

Pode-se escolher entre IEC (Internacionais/Inglês) ou SIMATIC (Alemão).

Meta

Selecionar os mnemônicos desejados.

Procedimento

1.Inicie o SIMATIC Manager

2.selecione no menu de comandos Options Customize.

3.Escolha a language.

4.Escolha a linguagem mnemônicos desejada e confirme com “OK”

23

Page 24: Programaçao CLP S7 - 300

Resultado

Quando programando, um dos seguintes modos será exibo:

Exemplo de instruções STL em linguagem Internacional: A I 1.O //AND Entrada

(Input) 1.0

Exemplo de instruções STL em linguagem SIMATIC: U E 1.0 //UND Entrada

(Eingang) 1.0

24

Page 25: Programaçao CLP S7 - 300

Introdução ao Hardware S7

Dimensões

CPU212 = 160x80x62mm

CPU214 = 197x80x62mm

CPU215 = 218x80x62mm

CPU216 = 218x80x62mm

Memória:

de trabalho (RAM) 1 Kbyte 4 Kbyte 8Kbyte 8KByte

de instruções 185 inastruções 2K 4K 4K

Registradores de Dados

0.5 words 2k words 2.5k words 5k words

25

Page 26: Programaçao CLP S7 - 300

I/O on-board

8 DI / 6 DO 14 DI / 10 DO 14 DI / 10 DO 24 DI / 16 DO

Capacidade de Expansão

2 módulos de expansão 7 Módulos de expansão

Interrupções

1 ent. inter., 1 contad. 4 ent. inter., 3 contad. 4 ent. Inter., 3 contad.

Interrup. (2kHz) interrup.(2z 7 kHz; 1z2 kHz) interrup. (2x20 KHz; 1x2kHz)

Contadores/Temporizados

64/64 128/128 128/256 256/256

Tempo de Execução (por 1K/instruções)

1.2 ms 0.8 ms 0.8 ms 0.8 ms

Comunicação

1x PPI / Freeport 1x PPI/ Freeport / MPI 1x PPI 1x PPI /Freeport

1x Profibus 1x PPI

Manutenção

Livre de Manutenção, não necessita de bateria

Set de operações:

Básicas, standard, operações especiais, PID integrado, receive +PID, funções de

receive, funções aritméticas (operações em ponto fixo e ponto flutuante), funções de

jump, funções de loop, funções de conversão de código.

Modelos

Cada CPU por sua vez possue diferentes modelos para as diferentes tensão dos I/O’s.

26

Page 27: Programaçao CLP S7 - 300

Dimensões

CPU221 = 90x80x62mm

CPU222 = 90x80x62mm

CPU224 = 120.5x80x62mm

CPU226 = 196x80x62mm

Memória:

de trabalho (RAM) 4kByte 4kByte 8kByte 8kByte

de instruções 1.3 k 1.3 k 2.6 k 2.6 k

Registradores de Dados

1k words 1k words 2.5k words 2.5k words

I/O on-board

6 DI / 4 DO 8 DI / 6 DO 14 DI / 10 DO 24 DI / 16 D

Capacidade de Expansão

Nenhum módulo 2 módulos 7 módulos de expansão

27

Page 28: Programaçao CLP S7 - 300

Interrupções

4 ent. Inter., 4 contad. 4 ent. Inter., 4 contad. 4 ent. Inter., 6 contad.

Interrup. (30 kHz) interrup. (30 kHz) interrup. (30 kHz)

Contadores/Temporizadores

256/256 256/256 256/256 256/256

Tempo de Execução (por 1k/instruções)

0.37 ms 0.37 ms 0.37 ms 0.37 ms

Comunicação

1x PPI/Freeport/MPI 2x PPI/

Freeport/MPI

Manutenção

Livre de manutenção, não necessita de bateria

Set de operações

Básicas, standard, operações especiais, PID integrado, receive+PID, função de

receive, funções aritiméticas (operação em ponto fixo e pomto flutuante), funções de

jump, funções de loop, funções de conservação de código.

Modelos

Cada CPU por sua vez possue diferentes modelos para as diferentes tensão dos I/O’s

28

Page 29: Programaçao CLP S7 - 300

Mód. De Sinal SM

O módulo de sinal recebe do campo os sinais elétricos e os adapta aos vários níveis

de sinais dos módulos:

Entrada/saída digital

Entrada/saída analógica (tensão, corrente, resistência, termo elementos)

Acessórios: conectados frontais

Mód. de Interface IM

O módulo de interface torna possível a configuração de vários trilhos/bastidores de

expansão. Estes módulos fazem a conexão entre os trilhos/bastidores:

Módulo de Transmissão, conectado no Rack Central.

Módulos de Recepção, conectando no Rack de Expansão.

O módulo combinado Send/Receive é uma solução econômica para

configuração com dois trilhos; nest caso no trilho de expansão são permitidos somente

módulos de I/O (SM). Por ex. IM365 no S7-300

29

Page 30: Programaçao CLP S7 - 300

Mód. de Função FM

O módulo de função oferece “funções especiais”:

Contagem

Posicionamento

Regulação em malha fechada

Mód. de Comunicação CP

Módulos de comunicação oferecem as seguintes possibilidades de rede:

Comunicação ponto a ponto

PROFIBUS

Industrial Ethernet

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

o seu endereço depende da posição do módulo no trilho. Alguns slots são reservados:

OS CPU e IM.

Sloy 1:

Os -Fonte de alimentação. Obrigatoriamente no primeiro slot. Não é associado nenhum

endereço para a fonte de alimentação.

30

Page 31: Programaçao CLP S7 - 300

Slot 2:

CPU; deverá estar localizada próxima a fonte de alimentação. Não é associado

nenhum endereço para a CPU (veremos mais tarde endereço MPI).

Slot 3:

Módulo de interface (IM). Para conectar racks de expansão. Não é associado nenhum

endereço para a IM. Até mesmo se a IM não estiver presente, ela deverá ser

considerada no esquema de endereçamento do slot. O slot 3 é logicamente reservado

pela CPU para a IM.

Slot 4:

Módulos de sinais. Slot 4 é considerado o primeiro slot para módulos de entrada e

saída (ou CP ou FM). Um exemplo de endereçamento é exibido abaixo para um cartão

de digital (entrada = I, saída = Q):

Importante

A CPU 315-2DP permite que os endereços sejam livremente definidos.

31

Page 32: Programaçao CLP S7 - 300

Endereçamento Digital

O endereçamento das entradas (I) e saídas (Q) digitais começa com o endereço 0 para

o módulo de sinal localizado no slot 4 (1º slot para SM).AA relação entre o slot físico e

o endereço do módulo é exibida acima.Cada módulo digital ocupa 4 bytes de

endereços independente do número de pontos.

Tabela Imagem da Periferia

Aos sinais digitais do CLP corresponde uma área na CPU que contém o estado atual

das entradas e as saídas. Esta área denomina Tabela Imagem da Periferia de Entrada

(PII) e de Saída (PIQ) são atualizadas automaticamente pela CPU a cada início e fim

de ciclo respectivamente. Pode-se acessar estas áreas (I e Q) em bits, bytes, words ou

doublé words, como mostrando nos exemplos a seguir:

Q4. 0 é um dado que é arquivado no primeiro bit (bit 0) do byte 4 na tabela

imagem da periferia de saída (usando a numeração padrão das I/O do diagrama

acima, isto corresponde ao primeiro ponto no módulo 2)

QB100 refere-se ao dado no byte 100 da tabela imagem da periferia de saída.

32

Page 33: Programaçao CLP S7 - 300

IW100 refere-se ao dado que é arquivado nos bytes 100 e 101 da tabela

imagem da periferia de entrada.

QD24 refere-se ao dado que é arquivada nos bytes 24, 25, 26, 27 da tabela

imagem da periferia de saída.

Endereçamento Digital do S7-400

O S7-400 permite a definição pelo usuário do endereçamento dos módulos. Caso não

seja definido pelo usuário, o CLP assume um endereçamento defalt paraos módulos,

cada módulo ocupado 4 bytes (32 bits). O endereçamento digital segue o seguinte

padrão:

Inicio Endereçamento Digital = (número slot físico – 1) x 4

Exemplo: Endereço inicial do módulo digital no slot 4 é 12.0

Endereçamento Analógico

O endereçamento das entradas e saídas analógicas começa no endereço 256 para o

módulo de sinal localizado no slot 4 (1º slot para SM). A figura acima mostra o

esquema de endereçamento dos módulos analógicos. Cada módulo analógico ocupa

33

Page 34: Programaçao CLP S7 - 300

16 bytes de endereços, independentes do tipo de módulo, sendo que cada canal

analógico ocupa dois bytes de dados.

Acesso aos Sinais Analógicos

As I/O analógicas acessam uma área de memória denominada Periferia (PI e PQ) da

CPU.Os sinais analógicos, ao contrario dos sinais digitais, não possuem uma tabela

imagem (PII ou PIQ), atualizados a cada ciclo. Ao invés disto, você define quando os

dados serão atualizados (lidos/escritos) usando simplesmente o endereço analógico no

seu programa. O endereço identificador para uma entrada analógica é PIW e para

saída analógica é PQW

NO s7-300 o endereçamento para sinais analógicos começa com 256, sendo portanto

que o primeiro rack irá então ser PIW256. O último endereço analógico é 766 (para o

S7-300).

Exemplo

Para acessar os dados do segundo canal no primeiro módulo no rack 2, o endereço da

entrada analógica e PIW514.

Endereçamento Analógico no S7-400

Os S7-400 também suporta opcionalmente endereçamento padrão para módulos

analógicos. O endereçamento analógico defalt segue o seguinte padrão:

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

Exemplo inicial de um módulo analógico no slot 4 é 704.

34

Page 35: Programaçao CLP S7 - 300

Dados Técnicos

A família S7-300 suporta um set de instruções e endereçamento comuns. A figura

mostra as especificações técnicas mais importantes para as CPU’s 312 a 315.

Números de Blocos

Diferenças nas quantidades de números de blocos (FB, FC, DB).

- CPU 312 CPU 315

- 32 FB 192 FB

32FC 192 FC

63DB 255 DB

FB Blocos de Funções

FC Funções

DB Blocos de Dados

CPU 3XX IFM

As CPU’s IFM são caracterizadas não somente por possuírem entradas/saídas

integradas na CPU (on-bord) como também funções especiais incorporadas.

35

Page 36: Programaçao CLP S7 - 300

Trilhos (1)

Para as CPU’s 312/313. é possível a montagem em somente um trilho (sem expansão)

Trilhos (2)

As CPU’s 314 a 318 suportam até quatro trilhos (3 trilhos de expansão).

Conexão DP

Os S7’s 315-2 DP / 318-2 DP possuem uma interface adicional para PROFIBUS-DP

(Periferia Distribuída) e permitem a livre escolha do endereçamento dos módulos de I/º

Tipos de CPU:

Um range completo de CPU’s supre todas as exigências de desempenho individuais

no que se refere a tempo de execução, tamanho da memória de trabalho e número de

blocos.

E ainda mais, as CPU’s 400 possuem integrada pelo menos uma interface MPI /

PROFIBUS-DP (mestre).

36

Page 37: Programaçao CLP S7 - 300

P e C-BUS

Cada S7-400 é equipado com um barramento paralelo 1,5 sec/Byte (P-bus) para

acesso de I/O em alta velocidade e um barramento de comunicação serial com 10,5

Mbaud para troca de dados via MPI com módulos de apoio, tais como CPU’s, OP’s,

FM’s, etc.

SFB / CFB

E ainda, é possível transferir dados entre CPU’s, FM’s e CP’s com as funções

especiais como System Function Blocks (SFB’s) e Communication Blocks (CFB’s).

Modo de Operação

Chave para seleção manual do modo de operação da CPU

MRES = Reset da memória (overall reset)

STOP = o programa não é executado.

RUN = O programa é processado, porém o programa não pode ser alterado

pelo Terminal de Programação (só lido).

RUN-P = A CPU está processando o programa, e o Terminal de programação;

pode acessar/alterar o programa e o modo de operação (não existe trava).

37

Page 38: Programaçao CLP S7 - 300

Status da CPU (LEDS)

SF = erro interno na CPU ou erro de diagnóstico nos módulos.

BATF = sem bateria ou carga baixa.

DC5V = fonte + 5V

o Acesa: indica tensão DC Ok

o Piscando: sobregarga.

FRCE = indica que pelos menos uma entrada ou saída está forçada (consulte versão

de CPU)

RUN = piscando durante a inicialização da CPU, acesa quando a CPU está no modo

RUN (processando o programa).

STOP = pisca se um reset da memória é necessário, acesa indica que a CPU está no

modo STOP (programa não está sendo executado).

Encaixe do Módulo de Memória

O módulo de memória (memory card) é inserido neste local. O módulo é utilizado para

arquivar o programa como segurança para o caso de falta de alimentação e ausência

da bateria.

Encaixe de Bateria

Existe neste local para bateria de lithium abaixo de tampa. A bateria salva o conteúdo

da memória RAM no caso de uma falha na alimentação da CPU.

Interface MPI

O conector de 9-pinos sob a tampa é a conexão da multipoint interface (MPI). Está é a

porta de programação da CPU do S7-300, e pode ser utilizados para a conexão de

OP’s, PC’s e outros CLP’s.

38

Page 39: Programaçao CLP S7 - 300

Soquete da Bateria

Soquete (“banana”, 2,5mm) para a conexão de uma fonte de tensão/bateria externa,

de 5 15VDC para backup da RAM no caso de ser necessário substituir a fonte de

tensão do bastidor (sem perda de dados).

Interface MPI

Conexão para CPU’s, OP’s, FM’s, etc com o terminal de programação. Também

utilizada para a comunicação via daos globais (gd) com outras CPU’s.

Interface DP

As CPU’s têm como características a interface DP para a conexão de I/O’s distribuídas

integrada diretamente na CPU. O S7-400 é mestre para conexões com ET200M,

ET200U (B/C), S7-300, etc.

Encaixe do Módulo de Memória

Os cartões FLASH-RAM- ou –EPROM podem (devem) ser insiridos no S7-400 para

aumentar a capacidade de memória de carga de acordo com a exigência da aplicação:

os dados da memória F-RAM com 64 KB, 256 KB, 1 MB, 2 MB são sustentados

na CPU pela bateria.

39

Page 40: Programaçao CLP S7 - 300

Os dados da memória F-EPROM com até 64 MB são sustentados pela

EEPROM integrada, não necessitando de bateria.

Modo de Operação

MRES = Reset da memória (overall reset)

STOP = o programa não é executado.

FRCE = indica que pelo menos uma entrada ou saída está forçada (consulte versão

de CPU)

RUN = O programa é processado, mas pode somente ser lido (não é permitido

altera-lo).

RUN-P = A CPU está processando o programa, e o Terminal de Programação pode

alterar o programa e o modo de operação (não existe trava).

Modo Star-Up

CRST = (ColdReSTar) o programa re-inicia sempre a partir da 1. instrução

WRST = (Warm ReSTar) o programa re-inicia no mesmo ponto em que havia parado

A CPU indica o modo start-up através do LED de status.

40

Page 41: Programaçao CLP S7 - 300

I Entrada

Q Saída

B Byte (8 bits)

W Word (16 bits)

D Double word (32 bits)

M Memória (flag)

P Periferia (acesso direto – PIW/PQW)

T Temporizadores

C Contadores

DB Data block

DI Data Block (usado em bloco de Dados Instance)

Importante

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

endereçamento.

41

Page 42: Programaçao CLP S7 - 300

Esta é uma demonstração para auxiliar você a entender como endereçar I/Q no S7-

300.

Através da ferramenta SIMATIC Manager, o instrutor irá mostrar a relação entre

endereçamento lógico e endereçamento físico.

A tabela de entradas e saídas no rack é criada com auxílio de ¨Modify and Monitor

Status Variables¨. A tabela é então ativada.

42

Page 43: Programaçao CLP S7 - 300

Meta

Apagar todos os blocos da CPU através de um reset geral.

Procedimentos

Siga os passos da figura acima

Acontecimentos Durante um Reset da Memória da CPU

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

Deleção dos dados na memória de trabalho e memória de carga;

Deleção do back-up da memória (áreas retentivas).

Teste de Hardware.

Inicialização do hardware e transferência dos parâmetros básicos para CPU.

Cópia do programa do cartão de memória para a memória interna da CPU, se o

cartão de memória estiver plugado.

Endereço MPI

Se não estiver plugado o cartão de memória, os endereços MPI setados serão retidos

durante o reset da CPU. Se o cartão de memória estiver plugado,os endereços

arquivados no cartão serão transferidos.

43

Page 44: Programaçao CLP S7 - 300

Buffer de Memória

O conteúdo do buffer de diagnóstico fica retido quando é feito um reset na CPU.

Reset da Memória via PG/PC

É possível também resetar a CPU via o terminal de Programação Gire a chave para a

posição RUN/P, e proceda da seguinte forma:

Inicie o SIMATIC Manager.

Selecione a função Acessible Nodes.

Selecione a CPU.

Comando de menu PLC Operating Mode. Use o símbolo STOP para passar

para STOP.

Selecione no menu de comando PLC Memory Reset.

44

Page 45: Programaçao CLP S7 - 300

O Software STEP 7

Iniciando o STEP7

No ícone SIMATIC Manager que aparece no Windows 95 ou no menu Start (iniciar),

acima do grupo ¨Programas¨. Como em todas aplicações WINDOWS 95, o programa é

ativado com um doublé-click no símbolo SIMATIC Manager ou via menu.

Start SIMATIC STEP7 SIMATIC Manager

45

Page 46: Programaçao CLP S7 - 300

Janela do STEP7

Barra de título: contém o título da aplicação e da ferramenta ativada na janela

Barra de menu: contém todos os menus disponíveis para a janela corrente.

Barra de ferramentas: contém funções e ícones de uso freqüente do menu de

comandos.

Área de trabalho: área na qual você digita ou seleciona

programa/informações.

Barra de Status: exibe o status e informações adicionais sobre os dados

selecionados.

Barra de ferramentas e de menu

FILE: abre, cria, salva e imprime arquivos ou blocos.

EDIT: corta, cópia, apaga, cola, seleciona itens.

VIEW: muda visualização da tela.

46

Page 47: Programaçao CLP S7 - 300

OPTIONS: seta várias telas ou opções da aplicação.

WINDOW: seleciona ou organiza as janelas; sobrepondo, lado a lado, tamanho

da janela ou fechar janela.

HELP: acesso ao help on-line e Tutorial.

Sistema

Cada parte do STEP7 possui um sistema de help (ajuda) completo. O sistema consiste

de :

Help – menu

O menu é uma tabela de conteúdos e dicionário de palavras que conduz a vários

tópicos de ajuda. O glossário fornece definições para os termos usados.

Help – Botões de comando

Os botões de comando são localizados em vários campos de diálogo. O conteúdo

relacionado ao help é exibido em vários campos de diálogo.

47

Page 48: Programaçao CLP S7 - 300

Palavras de Comandos

Certas palavras são especialmente marcadas no texto do help. Quando você clicar

nestas palavras, um help adicional com uma definição detalhada do termo é exibido.

F1

O sistema de help pode ser chamado a qualquer momento com a tecla F1 (help

sensível ao contexto).

Pesquisa

É possível procurar uma informação específica sobre um termo usando a função

Pesquisa (Search).

Imprimir

Pode-se imprimir (Print) uma cópia do tópico selecionado.

Notas

O usuário pode inserir seus próprios comentários no help. Estes comentários são

identificados no texto de help pelo ¨paper tips¨(dicas) (Edit Comment).

Marcas

Uma vez encontrado o texto específico do help, você pode marcar a localização

setando como uma marca. Para definir uma marca para futura referência, selecione

Bookmark Define.

Navegação

Botões de controle << e >> facilitam o avanço ou o retorno para outros tópicos do help.

48

Page 49: Programaçao CLP S7 - 300

Projeto

A estrutura do projeto de automação se inicia pelo ícone de projeto, localizado no

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

Estação de HW

Para definir e parametrizar o hardware deve-se criar a estação de hardware (S7-300/

S7-400). A estação criada (S7-x00 Station) pode ter seu nome alterado pelo usuário, e

seus módulos são definidos através de ferramenta Station Configuration. Ao se definir

os módulos, o sistema automaticamente cria os sub-diretórios respectivos (CPU,

Programas, Blocks, etc.).

Programas S7/M7

O programa e usuário referente à um CLP propriamente dito, é localizado sob o

diretório S7-Programs. Este diretório pode estar ou não associado à uma estação

específica criada. Associada à um HW, o diretório se encontra subordinado à CPU.

Caso contrário fica subordinado diretamente ao Projeto.

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

arquivos fontes ou em blocos S7 respectivamente.

49

Page 50: Programaçao CLP S7 - 300

Objetos

Como uma linguagem moderna, o STEP7 não poderia deixar de abusar de objetos

para tornar o uso do software intuitivo e user-friendly. Assim uma série de objetos

representam as diferentes ferramentas, arquivos e funções disponíveis.

50

Page 51: Programaçao CLP S7 - 300

Estrutura

A estrutura do projeto já explicada anteriormente, mostra que o projeto é hierarquizado,

tendo-se acesso aos diferentes objetos conforme se avança na estrutura (subordinado

a.....).

Programa S7 online e offline

As pastas de programas de usuário (S7-Programs) diferem entre si nos modos online e

offline. No modo online está se acessando diretamente o programa na CPU, portanto

só se encontram lá os blocos realmente relevantes para o funcionamento do CLP.

Assim, objetos como Tabela de Simbólicos e Arquivos fontes só são encontrados no

modo off-line.

Outros Objetos

Além dos objetos listados acima existem outros que representam outras funções.

Alguns destes objetos são encontrados somente se instalados outros pacotes

opcionais.

Arquivos Fontes - Subordinado a Source Files

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

Estações externas para configuração de comunição - Subordinado ao Projeto

Tela de OP - Subordinado ao Projeto - Opcional PROTOOL

Pasta de Diagramas CFC - Subordinado a Programa S7 - Opcional CFC

51

Page 52: Programaçao CLP S7 - 300

Blocos

Blocos são partes funcionais do programa do usuário. Eles diferem em função, uso e

estruturas. Blocos representam o código executável do programa.

O ambiente STEP7 suporta os seguintes tipos de blocos:

Blocos lógicos:

- Obs - Blocos de organização

- FCs - funções

- Fbs - blocos de funções

- SFCs - funções de sistema

- SFBs - blocos de função de sistema

Blocos de dados:

- DBs - Blocos de dados

- SDBs - Blocos de dados de sistema

Tipos de dados definidos pelo usuário:

UDTs

52

Page 53: Programaçao CLP S7 - 300

VAT

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

arquivadas no programa do usuário.

A navegação dentro STEP7 é muito parecida com a navegação do Windows Explorer.

É possível inclusive abrir vários projetos, ou visualizar offline e online ao mesmo

tempo, como mostrado na figura acima. Para obter isto utilize Windows Arrange.

Na Janela Direita

A janela exibe um projeto no modo offline, com toda a estrutra já vista anteriormente.

Na Janela Esquerda

Esta janela exibe o conteúdo da CPU, acessado pela função Acessible Nodes. Na

janela estão listados todos os blocos contidos na CPU (FC, OB, SFC, etc).

53

Page 54: Programaçao CLP S7 - 300

Wizard

Wizard é um assistente que auxilia a criação do projeto. Para inicia-lo utilize a opção

File New Project Wizard

Passos

O Wizard vai auxiliando nos passos necessários para a criação do projeto. Tipo de

CPU, blocos OB a serem criados e nome do projeto. O usuário tem acima a opção de

criar os blocos OB’s no modo texto. Como se nota, o Wizard cria sempre um projeto

com estação de hardware e programa.

Programa do Usuário

Ao usuário cabe apenas a criação do seu programa. O Hardware criado contém

somente a CPU, devendo-se complementar o hardware e parametrizá-lo se

necessário.

54

Page 55: Programaçao CLP S7 - 300

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

programável. Este projeto pode conter um ou vários programas que são usados em

uma ou várias CPU’s. Um projeto é uma estrutura localizada no diretório raiz do seu

dispositivo de programação.

Metas

Apagando e criando um projeto.

Procedimentos

1.Inicie o SIMATIC Manager

2.Selecione no menu de comando File Delete Project.

3.Selecione ¨PRO1¨1) na lista de projetos e confirme com ¨OK¨.

4.Depois do projeto apagado, selecione no menu de comando File New Project.

5.Digite o nome do projeto ¨PRO1¨no campo indicado.

6.Confirme com ¨OK¨.

55

Page 56: Programaçao CLP S7 - 300

Resultado

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

exibido próximo ao símbolo de projeto. Projetos no SIMATIC Manager tem o seguinte

símbolo:

1)Deletar o programa ¨PROP1¨somente se existente.

Um programa S7 é uma combinação de blocos de programas, bloco de dados,

comentários e símbolos que são ligados a uma aplicação. Criando este programa,

está-se criando uma estrutura na qual todos estes componentes de programa são

combinados.

Metas

Criar um novo programa S7.

56

Page 57: Programaçao CLP S7 - 300

Procedimentos

1.Inicie o SIMATIC Manager.

2. Clique no projeto PRO1.

3.Selecione no menu de comando Insert S7 Program (ou use o botão da direita

do mouse como descrito acima)

4. um novo programa S7 com nome “S7 Program 1” é criado.

5. selecionar o programa com o botão da esquerda do mouse e então com o botão da

esquerda clique em “S7 Program 1” novamente.

6. especifique o nome como PROGA.

7.Nesta pasta você pode encontrar o programa atual com os nomes dos blocos

(programa do usuário), Source (programas fonte) e a pasta de símbolos com a lista de

símbolos.

8.Confirme com “OK”.

Resultado

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

usuário, é automaticamente criado nesta pasta.

Usando o SIMATIC Manager você pode ver o subdiretório PROG1. um bloco OB1

vazio é automaticamente criado no programa do usuário.

57

Page 58: Programaçao CLP S7 - 300

Configurando e Parametrizando o S7

Configuração de H/W

Com esta ferramenta, é possível:

-definir os módulos utilizados (CPU, I/O, FM) e a sua parametrização. Ex.:tipo de

medição do módulo analógico de entrada.

-ler a configuração da CPU. Ex. designação dos módulos no rack.

-ler diagnóstico de dados referentes a módulos (system diagnostic).

58

Page 59: Programaçao CLP S7 - 300

A janela on-line (diagnóstico de hardware) mostra a configuração da estação que está

acessível on-line. Informações de status ou estado de operação de cada módulo são

mostradas no relatório simbólico do módulo (=system diagnostic).

A tecla F5 atualiza a exibição.Para obter mais informações, dar um doublé-click no

símbolo.

A ferramenta é iniciada, por exemplo, pela seleção de uma estação de hardware no

SIMATIC Manager ou via comando de menu Edit Open Object.

Configurando

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

automaticamente (nas CPU315-3 e do S7-400 o usuário pode alterar os endereços). À

esta configuração denominaremos configuração parametrizada.

Durante o start-up, a CPU checa a distribuição dos módulos existente, que é

denominada configuração real.

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

parametrizada. Existindo divergências, o start-up pode ser abortado, se desejado pelo

usuário.

Setando Parâmetros

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

software. Pode-se definir parâmetros para a CPU e para determinados módulos de I/O,

tais como módulos analógicos.

Nos parâmetros da CPU estão incluídos, entre outros, o tempo de supervisão de

duração de ciclo ou o intervalo de tempo para execução de partes do programa.

Trocando Módulos

Duarnte um restart completo, a CPU distribui os parâmetros para todos os módulos

existentes. Assim, quando se distribui um módulo defeituoso, a parametrização para o

novo módulo ainda estará disponível, armazenada na CPU.

59

Page 60: Programaçao CLP S7 - 300

Station (estação)

O menu Station serve para selecionar o CLP a ser editado, salvar a configuração,

imprimir, etc. É comparável ao menu de edição de um Processador de Texto como, por

exemplo: O Microsoft Word. É possível entre outras funções:

-New - criar uma nova estação

-Open e Open Online - editar uma configuração existente no PG/PC ou na CPU.

-Save - salvar a configuração corrente. Ao se salvar uma configuração pela 1ª vez, o

STEP7 criará na estrutura automaticamente um Módulo Programável (por ex. a CPU) e

a pasta S7-Programs subordinada à este módulo, além de gerar o bloco de

configuração (SDB).

-Consistency Check - verifica se a configuração de hardware está correta, porém não

gera o bloco de configuração (SDB) nem as pastas de CPU e programa.

-Compile - é o mesmo que save. Checa a consistência, gravando ao bloco de

configuração de hardware na respectiva pasta CPU/Programa já criada.

60

Page 61: Programaçao CLP S7 - 300

View

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

configuração, simplificada ou em detalhes (com MLFB, endereço, etc), além de tomar

ativo ou não a barra de ferramentas e a linha de status.

A linha de status serve como um pequeno help online, mostrando sempre um pequeno

texto sobre a função selecionada, além do modo de operação ativo Offline ou Online.

PLC

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

(também possível pelo ícone da barra de ferramentas). A transferência só pode ser

feita se a CPU estiver conectada ao Terminal de Programação. No modo online estão

ainda disponíveis funções de informações e de diagnóstico, além de se poder alterar o

modo de operação da CPU.

Configuração Real

A CPU gera uma configuração interna real durante a energização. Isto é, a CPU verfica

a disposição dos módulos existentes, e caso não exista o bloco de parametrização,

distribui os endereços de acordo com um algoritmo fixo.

61

Page 62: Programaçao CLP S7 - 300

Se não existe parametrização, os parâmetros default são usados. A CPU arquiva esta

configuração real no bloco de dados do sistema.

Na PG/PC, você pode ler esta configuração real para servir como base (template) para

adicionar e/ou re-parametrizar os módulos usando o HW Configuration.

Procedimento

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

62

Page 63: Programaçao CLP S7 - 300

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

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

parametrização destes módulos.

Configurando

A configuração é executada pela ferramenta Configurador de Hardware. A partir do

catálogo, seleciona-se os módulos utilizados, posicionando-os no slot respectivo do

trilho/bastidor. Naturalmente inicia-se a configuração com o trilho/bastidor para então

se posicionar os outros módulos. Ao se posicionar um módulo, o sistema

automaticamente designa um endereço para o módulo. A CPU315-2 e toda a família

S7-400 permitem que este endereço seja alterado pelo usuário.

A parametrização dos módulos é realizada dando-se um doublé-click sobre o módulo

desejado. Uma tela de configuração referente ao módulo aparecerá, permitindo a

alteração dos parâmetros.

Durante o start-up do controlador lógico programável S7-400, pode haver um check

para verificar se a com figuração real (existente) e a configuração parametrizada estão

de acordo.

63

Page 64: Programaçao CLP S7 - 300

Catálogo Eletrônico

O catálogo eletrônico contém toda a lista de módulos existente do S7. Quando você

clicar na tecla ¨+¨, você terá disponível os módulos do grupo selecionado.

Atualizações deste catálogo (novas placas) estarão sempre disponível via Internet ou

via o Distribuidor local.

Setando Parâmetros da CPU

Entre outros, os seguintes parâmetros pode ser setados na CPU:

-endereço da interface MPI

-características de start-up/ciclo: tempo máximo de ciclo, ciclo de carga para

comunicação, auto teste cíclico e auto teste depois da energização.

-interrupção cíclica (Watchdog): OB 35

-memória retentiva: markers de memória (flags), temporizadores, contadores e bloco

de dados.

-clock de memória: reduzir a fregüência de byte de memória

64

Page 65: Programaçao CLP S7 - 300

-diagnóstico de sistema: enviar mensagens e diagnóstico, detalhar registros no buffer

de diagnóstico.

Se o usuário não definir nenhum parâmetro, os parâmetros default serão utilizados na

CPU.

Depois de setar os parâmetros, deve-se transferir os novos parâmetros com o

comando de menu PLC Download. A CPU deverá estar no modo STOP.

Endereço MPI

Se você desejar conectar vários controladores lógicos programáveis via interface MPI,

você deverá setar diferente endereços MPI para cada CPU.

65

Page 66: Programaçao CLP S7 - 300

Setpoint and Actual Configuration

Para o S7-300 com a CPU 315-2 e o S7-400, quando você desativa este campo, você

pode fazer com que a CPU vá pata STOP se a configuração real (existente) não for

igual a configuração parametrizada.

Delet PIQ on Restart

No restart, a imagem de entradas/saídas do processo é normalmente deletada. Se

você não deseja que isto aconteça, você pode desativar este item (válido para o S7-

400).

Hardware Test

Quando esta função é ativada, a RAM interna da CPU é testada durante o start-up.

Automatic Startup after ¨Network On¨

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

-Restart completo (deletando as áreas na retentivas e o programa iniciam com a

primeira instrução no bloco OB1)

-Restart (todas as áreas de memória são retidas, e o programa continua no local da

interrupção)

66

Page 67: Programaçao CLP S7 - 300

Watchdog Time

Os seguintes tempos podem ser especificados:

-Tempo máximo para passar parâmetros para os módulos parametrizáveis.

-Tempo máximo para o sinal completo o módulo.

-Para os S7-400, o tempo máximo de interrupção (falta de energia ou chave do modo

de operação) após o qual um restart (warm) ainda é possível. Após este tempo será

executado um complete restart.

Áreas Retentivas

As áreas de memória retentivas permanecem inalteradas mesmo depois da falta de

energia ou de um restart completo.

Os seguintes itens podem ser retentivos:

-Memory markers

-Temporizadores

-Contadores

-Bloco de Dados

As áreas que você específica nesta tela são retidas no caso de falha de energia

mesmo não existindo bateria de backup.

67

Page 68: Programaçao CLP S7 - 300

Para ser utilizado sem bateria, o programa deverá ser arquivado do módulo de

memória (memory card).

DB’s Retentivos

Este parâmetro só tem sentido no caso da não existência de bateria. Quando a bateria

é usada, todos os blocos de dados são retentivos.

Outros blocos de dados que devem permanecer retidos devem também ser salvos no

módulo de memória.

Depois da falta de energia sem a bateria, os blocos de dados parametrizados como

retentivos são retidos, e os outros blocos recebem os valores arquivados no módulo de

memória.

Cycle

Opções:

-tempo de monitoração do tempo de ciclo, quando este tempo é ultrapassado, a CPU

vai para STOP, se o OB80 de erro não foi programado.

-tempo mínimo de ciclo para os S7-400 para implementar tempo de ciclo constante

68

Page 69: Programaçao CLP S7 - 300

-porcentagem do tempo de ciclo de programa que será reservado (no max.) para

tarefas de comunicação ou para auto cíclico.

Clock Memory

Caso seja utilizado no programa algum tipo de pisca-pisca, pode-se deixar o sistema

gera-lo automaticamente. Ative o campo e especifique qual byte de memória a ser

usado para este fim.

O byte de memória específico piscará nas seguintes fregüências, cada uma associado

à um bit deste byte:

Bit 7 6 5 4 3 2 1 0

Período/ 2 1,6 1 0,8 0,5 0,4 0,2 0,1

Freqüência 0,5 0,625 1 1,25 2 2,5 5 10 (Hz)

Protection Levels

O programa na CPU pode ser protegido contra um acesso não autorizado por meio de

designação de uma senha. As correções de programa ou modificações de dados só

podem ser executadas se a senha correta dor digitada.

69

Page 70: Programaçao CLP S7 - 300

Os níveis de proteção têm os seguintes significados:

1: Sem proteção

2: Proteção contra a escrita (somente leitura ou status de blocos)

3: Proteção contra leitura/escrita

Hardware interrpts (int. de hardware)

São geradas por módulos que tenham capacidade de diagnósticos. Na parametrização

default, todos as interrupções de hardware são processadas pelo OB40.

Time-delay interrupts (int. tempo-decorrido)

São geradas a partir do programa do usuário (SFC 32 SRT_DINT) após decorrido o

tempo programado quando a função está habilitada.

Communication int. (int. de comunicação)

Para as CPU’s S7-300 e S7-400 as interrupções de comunicação geralmente não são

disponíveis.

Priorities (prioridade)

A prioridade de execução de um bloco só é considerada quando dois blocos OB’s

devam ser executados ao mesmo tempo. Assim será executado o bloco de maior

70

Page 71: Programaçao CLP S7 - 300

prioridade, sendo que o de menor prioridade aguarda o fim da execução do outro para

ser executado.

Então, pode-se especificar a seqüência de processamento para quando duas ou mais

interrupções estejam presentes simultaneamente.

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

Time-of-day int. (int.datada)

São blocos que serão executados exatamente na data e hora em que foram

parametrizados. Pode-se selecionar inclusive a freqüência com que serão executados

após esta data: uma única vez, a cada minuto, a cada hora, mês, dia, ano.

71

Page 72: Programaçao CLP S7 - 300

Cyclic interrupt (int. cíclica)

Caso se deseje que parte do programa da CPU seja executada a intervalos regulares

de tempo, pode-se utilizar o OB de interrupção cíclica. Este OB será então executado

toda vez que o intervalo de tempo parametrizado tenha sido decorrido. Isto habilita a

implementação de tarefas de controle de malha fechada, por exemplo, que devem ser

processados em intervalos de tempo programados.

Os S7-300 possui para esta função somente no OB35, o qual é processado a cada

100ms como default. A base de tempo pode ser setada na faixa de 1 a 60000ms.

Os S7-400 possui vários Ob’s de interrupções cíclicas com diferentes intervalos de

tempo. Para garantir que estes OB’s não sejam executados ao mesmo tempo, no caso

dos intervalos de tempo coincidirem, pode-se usar um offset, que as interrupções

ocorrem defasadas entre si.

Importante: OB1

O principal bloco do programa S7 é o OB1. Este OB é um OB cíclico, porém diferente

de um OB de interrupção cíclica. Ao atingir a sua última instrução, o OB1 se reinicia

imediatamente na 1ª instrução. Como a chamada de blocos pode variar de um ciclo

para outro, não se pode garantir que o tempo de execução de cada ciclo do OB1 seja

constante.

72

Page 73: Programaçao CLP S7 - 300

System diagnostics

Uma poderosa ferramenta na depuração do programa e procura de falhas é o

Diagnóstico Buffer. Este é um buffer que registra todas as ocorrências anormais do

CLP, inclusive com data e hora. Esta função, que deve sempre ser deixada ativa, além

de registrar as ocorrências que levaram a CPU para STOP (Dysplay cause of STOP),

pode ainda ser incrementada com outras ocorrências (Extended Functional Scope).

Com opção ¨Extended Functional Scope¨ativa todos as chamadas de OB’s de

interrupção são registradas no buffer de diagnósticos.Isto é útil, por exemplo, na hora

de depurar o SW ou na procura de um defeito específico do sistema. Não deve ser,

porém deixada ativa, pois o buffer de diagnóstico será preenchido como uma série de

registros dificultando uma eventual análise do motivo de parada da CPU (mensagens

importantes podem ser sobrescritas).

Clock

Se estiver sendo utilizados vários módulos com clocks em um CLP, pode-se definir

quais módulos vão ser escravos e mestres. O mestre sincroniza outros clock de acordo

com o intervalo de tempo setado.

O fator de correção corrige variações do relógio do mestre diariamente, sendo

expresso em ms.

73

Page 74: Programaçao CLP S7 - 300

Ajustes Default da Auto-Configuração

O sistema S7 fornece facilidade para a configuração automática do endereçamento de

I/O e parametrização de blocos. Quando o hardware e I/O’s são instalados, o sistema

S7 se autoconfigura.

Modificando os Parâmetros com s S7 Hardware Configuration

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

de hardware. O acesso à estes parâmetros é feito da mesma maneira que o acesso

aos parâmetros da CPU.

Selecionando-se o módulo e clicando-se o mouse duas vezes aparece a tela de

parâmetros do módulo (note que nem todos os módulos têm parâmetros que podem

ser alterados). Toda a parametrização feita, dos módulos e da CPU, é armazenadas

em um bloco denominado SDB, que é transferido para a CPU ao ser dar um Download

(Transferência para a CPU). Este bloco também é arquivado no PG-PC, na respectiva

pasta de programa S7, sob o nome SDB, ao se salvar a configuração.

Este armazenamento da parametrização em um SDB, tona possível a troca de

qualquer módulo do CLP sem a ncessidade de ajuste, já que a parametrização do

novo módulo é transferida automaticamente da CPU para o novo módulo.

74

Page 75: Programaçao CLP S7 - 300

Modificando os Parâmetros com o Programa do Usuário

É possível alterar a parametrização de um módulo dinamicamente, isto é, pelo

programa de usuário na CPU. Isto é feito com o auxílio das funções de sistema

(SFC55-59). Estes SFC’s tem acesso de leitura e escrita nos registros de dados dos

módulos.

Objetivo

Criar uma estação de HW

Configurar o Hardware

Procedimento

1.Destaque a pasta de projeto PRO1

2.Selecione no menu o comando Insert Station SIMATIC 300 Station (ou use o

botão direito do mouse e o comando Insert New Object=>SIMATIC 300 Station.

3.Uma nova estação S7-300 é criada.

75

Page 76: Programaçao CLP S7 - 300

4.Destaque a pasta da estação recém criada (SIMATIC 300 Station (1)) e dê um clique

duplo sobre o ícone Hardware.

5.O configurador de Hardware é aberto.

6.Selecione no catálogo todos os módulos existentes no seu rack de treinamento

(comece obrigatoriamente com o trilho (rack)).

7.Salve a configuração no harddisk.

Resultado

Uma estrutura CPU, Programa, Blocos, etc. é criada subordinada à pasta de estação.

76

Page 77: Programaçao CLP S7 - 300

Objetivo

Parametrizar um módulo (CPU)

Testar a característica Retentividade

Procedimento

1.Inicie o Configurador de Hardware

2.Dê um click-duplo sobre a linha que contém á CPU (ou destaque a linha da CPU e

com o botão direito do mouse selecione a função Object Properties).

3.Selecione a Pasta Retentive Memory

4.Parametrize os Memory markers de 0 a 4 como retentivos (MB) a MB4).

5.Selecione a pasta Cicle / Clock Memory

6.Parametrize o clock memory com o memory marker 100 (MB100)

7.Confirme a parametrização com o botão OK.

77

Page 78: Programaçao CLP S7 - 300

8.Salve a configuração.

9.Dê um Download da configuração para a CPU (lembre-se a CPU tem que estar em

Stop).

10.Escreve um programa no OB1 transferindo os dados do clock-memory para MB4 e

MB5:

L MB100

T MB4

T MB5

11.Coloque a CPU de STOP -> Run e observe com a função Monitor Variables os

memory markers MB4 e MB5.

12.Delete as instruções do OB1 (ou o próprio OB1).

13.Repita o passo 11.

Resultado

O que aconteceu com o MB4 e o MB5 no 2.start da CPU? Por que não possuem o

mesmo conteúdo?

78

Page 79: Programaçao CLP S7 - 300

Princípios Básicos

Introdução

A norma IEC1131 é um documento escrito por um consórcio de fabricantes de PLC’s,

casas de sistemas e instituições direcionadas a desenvolver plataformas para níveis de

padronização na automação industrial.

Parte 1

Contém características de funções e definições de termos gerais comuns para PLC’s.

Por exemplo, processamento cíclico, imagem de processo, divisões de tarefas entre

dispositivos de programação, PLC interface Homem máquina.

79

Page 80: Programaçao CLP S7 - 300

Parte 2

Específicas funções elétricas e mecânicas e exigências funcionais dos dispositivos e

definições de tipos de testes. As seguintes exigências são definidas: temperatura,

umidade, imunidade a interferências, faixa de tensão de sinais binários, rigidez

mecânica.

Parte 3

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

harmonizadas e novos elementos foram incluídos. Além de STL, LAD e FBD o ¨texto

estruturado¨foi incluído como a quarta linguagem.

Parte 4

Contém as diretrizes para os usuários de PLC. Informações para todos os estágios do

projeto estão disponíveis, tais como: iniciando análise do sistema, fase de

especificação, seleção e manutenção de dispositivos.

Parte 5

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

dispositivos. Baseado na norma MAP, os utilitários de comunicação do PLC são

definidos com normas suplementares para ISO/IEC 9506-1/2. Blocos de comunicação

são descritos em conjunto com operações padronizadas de leitura e escrita.

80

Page 81: Programaçao CLP S7 - 300

Start-Up

Quando você muda de STOP == > RUN, a CPU executa um restart simples ou

completo (S7-300 só completo), também denominado com Cold-restart ou Warm-

restart. Para um completo restart, o sistema operacional deleta os memory markers

não retentivos, temporizadores e contadores, deleta a pilha de interrupções e pilha de

blocos, reseta todas as interrupções de hardware salvas e interrupções de diagnóstico,

e inicializa a supervisão do tempo de ciclo.

Os S7-400 tem um tipo de start-up adicional, Restart. No restart, todos os dados são

retidos e o processamento do programa continua depois do ponto de interrupção.

Ciclo de Programa

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

componentes principais:

-A CPU atualiza o estado dos sinais de entrada na tabela imagem das entradas (PII)

-A CPU executa o programa do usuário com as respectivas operações.

-A CPU escreve os valores da tabela imagem das saídas (PIQ) no módulo de saídas.

81

Page 82: Programaçao CLP S7 - 300

Restart Completo

A CPU executa um completo restart quando vai do modo STOP para RUN, processo

este denominado START-UP (inicialização).

Durante o Start-up são executadas as seguintes tarefas:

-zera as áreas retentivas da memória: markers, temporizadores e contadores; zera as

pilhas de interrupção e bloco; deleta todas as interrupções e diagnósticos de

interrupção zeram a imagem do processo de I/O’s.

-transfere os parâmetros para os módulos.

-lê as configurações de I/O e compara o estado atual das I/O’s com o estado esperado.

-OB executa o completo restart (OB100).

-habilita saída.

82

Page 83: Programaçao CLP S7 - 300

Restart

As CPU’s do S7-400 têm a capacidade de executar um Restart (warm restart) quando

ocorre um Start-up. Omodo do Restart completo ou warm, é selecionado nestas CPU’s

por uma chave na CPU (sob certas condições). Quando um Restart ocorre, a CPU

executa o seguinte:

-executa o OB de warm restart (OB100)

-executa o ciclo residual

-deleta a PIQ a área de saída (parametrizável)

-habilita saída

Definição

Denomina-se imagem de Processo à uma área da CPU onde os estados das entradas

e saídas binárias são a cada ciclo armazenadas. Existem áreas distintas para as

entradas e para as saídas: PII e PIQ. Normalmente o programa de usuário quando

acessa uma entrada ou saída digital está lendo na realidade esta área.

PII

A tabela imagem das entradas do processo é o local onde os estados das entradas

digitais são arquivados na CPU. Antes do início de cada ciclo de programa, a CPU lê a

periferia (módulo de entrada digital) e transfere os estados dos sinais digitais para esta

área.

83

Page 84: Programaçao CLP S7 - 300

PIQ

A tabela imagem das saídas contém o valor das saídas resultantes do processamento

do programa. Somente no final do ciclo de programa, estes valores de saída são

transferidos para os módulos de saídas (Q).

Programa do Usuário

Quando você lê uma entrada no programa (como AI2.0 por exemplo),o último estado

da PII é utilizado na lógica do programa. Isto garante que um mesmo estado do sinal é

fornecido durante um ciclo de scan.

Blocos de Sistema

Blocos de sistemas são funções pré-definidas ou blocos de função integrada ao

sistema operacional da CPU. Estes blocos não ocupam nenhum espaço adicional na

memória do usuário. Os blocos de sistema são chamados pelo programa do

usuário.Estes blocos têm a mesma interface, a mesma designação, e mesmo número

em todo o sistema (S7-300/400). Então, você pode facilmente portar o programa do

usuário entre várias CPU’s.

Blocos do Usuário

Os blocos de usuário são providos para administrar o código e os dados para seu

programa. Baseado nas necessidades do seu processo, você pode estruturar seu

84

Page 85: Programaçao CLP S7 - 300

programa com várias opções de blocos de usuário. Alguns desses blocos podem ser

executados somente quando necessitado. Blocos de usuário são também chamados

de blocos de programa.

Blocos de Organização (OB)

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

programa inteiro no OB1 e deixa-lo processando a cada ciclo. Pode-se porém escrever

um programa em diferentes blocos e usar o OB 1 para chamar estes blocos quando

necessário. Além do OB 1, o sistema operacional pode chamar outros OB’s que

reagem a certos eventos, tais como:

Interrupção Data Programada

Interrupção de Tempo de ciclo

Interrupção de Diagnostico

Interrupção de hardware

Interrupção de Erros

Start-up do Hardware

Bloco de Função (FB)

Um bloco de função ou uma seqüência de comandos armazenada em um bloco lógica,

onde os parâmetros podem ser arquivados em uma memória. O FB utiliza esta

memória adicional na forma de um “Bloco de Dados Instante”. Parâmetros passados

85

Page 86: Programaçao CLP S7 - 300

para o FB, e alguns dos dados locais são arquivados nestes blocos de dados

associados (Instance DB). Outros dados temporários são arquivados na pilha local (L

stack). Dados arquivados em Instance DB são retidos quando o bloco de função é

fechado. Dados arquivados na pilha L stack não são retidos.

Funções (FC)

A função é u, bloco de operação lógica similar ao bloco de função para o qual não é

designada área de memória. Um FC não necessita de um bloco de dados instance. As

variáveis locais são arquivadas na pilha local (L stack) até que a função esteja

concluída, sendo perdidos quando o FC termina a execução.

Bloco de Dados (DB)

Um bloco de dados é uma área de dados permanente na qual dados são áreas de

leitura/escrita que pode ser carregadas na CPU como parte de seu programa.

Função de Sistema

Função de sistema é uma função pré-programada e testada que é (SFC) integrada na

CPU. Algumas das tarefas suportadas por estas funções são setar parâmetros dos

módulos, comunicação de dados, funções de cópia, etc. uma SFC pode ser chamada

pelo programa, porém sem fazer parte dele (não ocupa memória de trabalho).

86

Page 87: Programaçao CLP S7 - 300

Blocos de Função de Sistema (SFB)

Um bloco de Sistema é parte integral da CPU. Você pode utilizar um SFB em seu

programa, sem carregar como parte de seu programa porque os SFB’s são parte do

sistema operacional. SFB’s devem ser associado 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 memória que a ferramenta STEP 7 gera

para arquivar dados necessários para o controle de operações. Informações, tais como

dados de configuração, conexões de comunicação e parâmetros são salvos em SDB’s.

Programa Linear

O programa inteiro reside em um único bloco de instrução contínuo. Esta estrutura é

semelhante a um circuito de relés substituto por um controlador lógico programável. O

sistema processa instruções individuais sucessivamente.

Programa Particionado

O programa é dividido em blocos, cada bloco contém uma lógica específica para

dispositivos ou tarefas. As informações residentes no bloco de organização (OB1)

determinam a ordem de execução dos blocos a serem processados. Um programa

87

Page 88: Programaçao CLP S7 - 300

particionado pode, por exemplo, conter blocos de instruções com os quais os modos

de operações individuais de um processo industrial são controlados.

Programa Estruturado

Um programa estruturado contém blocos de instruções com parâmetros definidos pelo

usuário (blocos parametrizados). Estes blocos são projetados de forma que possam

ser usados universalmente. Os parâmetros atuais (os endereços de entradas e saídas)

são especificados durante a chamada do bloco. Exemplos de blocos parametrizáveis:

-bloco ¨BOMBA¨contém instruções para uma bomba,com um set de entradas e saídas

exigidas para qualquer bomba usada no processo.

-bloco lógico responsável pelo controle específico das bombas, chama (abre) o bloco

¨BOMBA¨ e fornece informações para identificar qual bomba irá ser controlada.

-quando o bloco completa a execução das instruções, o programa retorna ao bloco de

chamada (por exemplo OB1), o qual conclui as instruções.

O que é Programação Estruturada?

A programação estruturada identifica tipos similares ou repetitivos de funções

solicitadas pelo processo e fornece soluções genéricas que podem ser usadas por

88

Page 89: Programaçao CLP S7 - 300

várias outras tarefas. Fornecendo informações específicas (em forma de parâmetro)

para os blocos de instruções, o programa estruturado é capaz de usar de novo estes

blocos genéricos.

Pode considerar-se como exemplo destes blocos:

-blocos que contenham lógicas comuns para todos os motores AC no sistema do

transportador

-blocos que contenham lógicas comuns a todos os solenóides na máquina.

-blocos que contenham lógicas comuns a todos os acionamentos da máquina.

Como é executado?

O programa dentro do OB1 (ou outro bloco) chama estes blocos genéricos para a

execução. Assim dados e códigos considerados comuns podem ser compartilhados.

Quais Vantagens e Desvantagens?

Ao invés de repetir estas instruções e então substituir os diferentes endereços para os

específicos equipamentos, você pode escrever as instruções no bloco e ter um

programa para passar os parâmetros (tais como endereços específicos de

equipamentos ou dados) para o bloco. Isto permite a você escrever blocos genéricos

que mais que um dispositivo ou processo possa usar. Quando usar uma programação

estruturada você tem que gerenciar os dados que são arquivados e utilizados pelo

programa.

89

Page 90: Programaçao CLP S7 - 300

O Editor de Programas

Para editar um bloco, siga os passos abaixo:

Selecione a pasta que contém o bloco existente ou a pasta na qual o novo bloco será

armazenado.

90

Page 91: Programaçao CLP S7 - 300

Os blocos existentes são listados na janela à direita.

Selecione o bloco a ser editado, clicando duas vezes sobre ele. Alternativamente pode-

se editá-lo selecionando-o e então com o botão direito do mouse ativando-se a função

¨Open Object¨.

Para se criar um bloco, seleciona-se a pasta na qual o bloco será armazenado, e com

o auxílio do botão direito do mouse seleciona-se a função ‘Insert New Object’ e o tipo

de bloco desejado.

Clica-se duas vezes sobre o ícone do novo bloco criado que o editor de programa será

aberto.

91

Page 92: Programaçao CLP S7 - 300

Seleção

Usando a opção ¨VIEW¨na barra de menu, pode-se selecionar a linguagem de edição

entre diagrama de contatos (LAD), blocos funcionais (FBD) ou lista de instruções

(STL). Esta opção está disponível desde que um bloco esteja aberto.

LAD - > STL

Blocos originalmente criados em diagrama de contatos podem ser convertidos sempre

para lista de instruções. Note que a conversão não necessariamente resulta em

código eficiente em lista de instruções.

STL LAD ou FBD

Blocos criados originalmente em lista de instruções nem sempre são convertidos

totalmente em diagrama de contatos ou blocos funcionais. Ao se fazer esta opção de

conversão, através da opção ¨VIEW¨, o editor de Programa converterá todos os

segmentos de programa que podem ser convertidos. Segmentos de programa não

¨conversíveis¨se mantém na linguagem lista de instruções. Esta ¨não conversão¨ não

significa que haverá problemas de execução do programa, sendo somente

conseqüência da sintaxe de visualização de cada linguagem. Para garantir que a

conversão seja sempre realizada, o usuário deverá tomar certos cuidados durante a

edição (ex. escrever uma única lógica por segmento).

92

Page 93: Programaçao CLP S7 - 300

O Editor de Programas possui duas áreas com funções bem definidas: tabela de

declarações e a seção de instruções.

Tabela de Declarações

Esta tabela serve para declarar variáveis e parâmetros para o bloco. As variáveis

locais (temporárias) são definidas para uso o bloco nesta tabela.

A parametrização toma possível passar variáveis entre blocos para que sejam usados

universalmente.

93

Page 94: Programaçao CLP S7 - 300

Seção de Instruções

Nesta área é especificadas a seqüência e a lógica do programa (instruções).

Durante e edição dos operandos, a sintaxe é checada, destacando imediatamente

qualquer erro.

Cada pequena lógica do programa é definida dentro de um segmento (Network).

Entende-se como lógica, a combinação de blocos que resultará numa saída/flag sendo

ou não acionado.

Nas linguagens LAD/FBD o próprio Editor não permite que seja realizado mais que

uma lógica por segmento. No modo STL é possível ter várias lógicas por segmento,

porém se compromete a capacidade de se visualizar em outras linguagens (LAD/FBD).

Comentários

O editor permite ainda op acréscimo de comentários; título e comentário do bloco e

título e comentário para cada segmento. Através da função View Coomentar pode-se

visualizar ou não estes comentários.

Introdução

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

mouse. Basta posicionar o ponto e selecionar o elemento que deve ser inserido no

94

Page 95: Programaçao CLP S7 - 300

programa. Após isto, digita-se o endereço dos operandos (por ex.10.0, M43.5). Os

elementos lógicos são encontrados ou na barra de ferramentas na forma de ícone ou

através de um catálogo de instruções, como mostrado na figura acima.

Elementos Comuns com Seus Ícones

F2 – Scan para sinal ¨1¨ (contato fechado)

F3 – Scan para sinal ¨0¨(contato aberto)

F4 – Output coil (saída)

F8 – Ramificação para baixo (abrindo)

F9 – Ramificação para cima (fechando)

Catálogo de Instruções

Outros elementos (instruções) são acessadas pelo catálogo de instruções, acessado

pelo ícone ao lado ou pela combinação das teclas Ctlr+K

95

Page 96: Programaçao CLP S7 - 300

Introdução

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

mouse. Selecione o ponto em que deve ser inserido o elemento e a partir do catálogo

de instruções ou da barra de ferramentas selecione o elemento desejado. Para

endereçar os operandos, selecione o campo apropriado e digite o operando (ex. Q2. 6,

M4.5).

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

Comentários

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

Correções

Posicione o cursor do mouse sobre e elemento e pressione a tecla DEL.

96

Page 97: Programaçao CLP S7 - 300

Regras

-blocos padrões (flipflops, contadores, temporizadores, operações matemáticas, etc.)

podem também ter um outro bloco com operações lógicas binárias (&, >=1, XOR)

associado. As exceções para esta regra são os blocos de comparação.

-em um único segmento, não é possível programar operações que são separadas por

saídas. É possível, entretanto, com o auxílio do T-branch, que a uma lógica estejam

associadas diversas saídas.

-deletando umbloco, todas as ramificações que são conectadas com a entrada

booleana,com exceção da ramificação principal, são deletadas.

-modo de sobre-escrever é disponível para troca simples de elementos do mesmo tipo.

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

depuração do seu bloco. Estas ferramentas são necessárias quando você for escrever

o seu programa no próximo exercício.

97

Page 98: Programaçao CLP S7 - 300

Será demonstrado o seguinte:

-edição de um bloco pré-existente

-seleção de uma linguagem de programação – LAD/FBD/STL

-criar segmentos (networks)

-usar os elementos da barra de ferramentas

-usar os elementos do catálogo de instruções

-salvar um bloco de programas

-transferir um bloco de programa para o PLC

-selecionar o modo on-line

-exibir o status do programa

Objetivo

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

Procedimento

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

2. selecione no campo de diálogo View== >Off-line

3. selecione OB1 (double click)

98

Page 99: Programaçao CLP S7 - 300

4. com ajuda dos símbolos na barra de ferramentas, digite o seguinte programa em

ladder.

Resultado

Notas

-para posicionar o primeiro elemento, aponte o cursor para a linha da network.

-use os símbolos de programa da barra de ferramentas.

-posicione o cursor em cima do símbolo (tecla TAB ou mouse) para digitar o endereço.

-use a tecla TAB para saltar entre os elementos.

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

(Diagrama Ladder), FBD (Blocos de função) e STL (Lista de instruções). Todas as

instruções são sempre convertidas para STL, porém a conversão para LAD/FBD nem

sempre ocorre em todos os segmentos.

99

Page 100: Programaçao CLP S7 - 300

Objetivos

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

Procedimento

1.abrir um bloco para edição (por ex. o OB1 do exercício anterior)

2.selecionar o modo de edição/visualização:

-LAD, selecionar no menu de comando View LAD.

-STL, selecionar no menu de comando View STL.

-FBD, selecionar no menu de comando View FBD.

Resultado

Seu programa é representado em um dos seguintes tipos de representação:

100

Page 101: Programaçao CLP S7 - 300

Como qualquer editor de programas/textos, é necessário salvar seu trabalho após a

edição. Isto é como um ¨Save¨ normal do Windows, o qual pode ser usado com os dois

procedimentos exibidos acima.

Quando usado o comando de menu File Save As, deve-se especificar o projeto,

programa e o nome do bloco para este arquivo.

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, CPU’s, etc.

Objetivo

Salvar um bloco de programa.

Procedimento

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

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

destino.

Resultado

1.salva o bloco de programa com o nome especificado quando o bloco está aberto

101

Page 102: Programaçao CLP S7 - 300

2.com ¨Save As¨ o bloco de programa é salvo com o nome que você digitar.

Nota

O programa não é copiado para a CPU através do procedimento ¨SAVE¨

Depois editado o programa, o próximo passo é transferir o bloco para a CPU. Usando

p Editor LAD/STL/FBD, pode-se transferir um bloco individualmente enquanto ele

estiver aberto, ou pode-se usar alternativamente o SIMATIC Manager para transferir o

bloco. O procedimento para usar o SIMATIC Manager é descrito nos próximos

exercícios (transferindo o programa).

Objetivo

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

Procedimento

Quando editor LAD/STL/FBD está aberto.....

1.selecionar o menu de comando PLC Download (click no ícone Download exibido

acima).

(responda as questões no menu de exibição)

102

Page 103: Programaçao CLP S7 - 300

Quando você responde com ¨Yes¨,o bloco presente na CPU é sobre escrito.

Quando você responde com ¨No¨, o bloco original permanece na CPU, e seu bloco não

é transferido. Para este exercício selecione ¨Yes¨, porque você deseja usar um novo

bloco por você editado, e não o bloco antigo.

Resultado

Seu novo programa é escrito na CPU.

On-line significa que os objetivos exibidos são os blocos residentes a CPU. Esta

conexão não depende da CPU estar em modo RUN ou modo STOP. Com o STEP7

você pode estabelecer conexão de dois métodos:

103

Page 104: Programaçao CLP S7 - 300

Objetivos

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

Procedimento

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

1.selecione ¨Program S7 Blocks (LAD/STL/FBD)¨

2.selecione no menu de commando File Open

3.selecione a opção View On-line da lista drop-down.

Depois que foi selecionado ¨On-line¨, o dispositivo de programação seta a conexão. Os

blocos localizados na CPU são exibidos no menu. Para editar ou depurar um desses

blocos, selecione o bloco pertinente na lista. É possível ter mais que um bloco aberto

simultaneamente. Quando você executar este procedimento e selecionar a opção

¨Arrange¨no item Windows do menu, você pode ver os dois blocos simultaneamente.

Objetivo

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

Procedimento

O SIMATIC Manager pode também ser usado para abrir ou editar blocos na CPU (o

Editor LAD/STL/FBD é iniciado automaticamente).

1.inicie o SIMATIC Manager.

2.selecione no menu de comando View On-line.

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

todos blocos localizados na CPU. Você também pode usar este menu para abrir blocos

para edição e depuração de programas.

104

Page 105: Programaçao CLP S7 - 300

O bloco deve ser aberto on-line para que o processo seja monitorado. A seção de

instrução dos blocos exibe o estado de operação quando os valores mudam. Em LAD,

um código de cores exibe o fluxo de corrente, e contatos abertos ou elementos são

representados por linha pontilhada. Entre outras coisas, as cores e os tipos de linhas

podem ser mudados via a função do menu Options LAD/STL/FBD.

Objetivo

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

Procedimento

1.use um dos procedimentos do exercício anterior para selecionar o bloco que deseja

testar (modo on-line).

2.selecione o método de representação View LAD/STL ou FBD.

3.selecione no menu de comando Debug Monitor.

Resultado

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

verdadeiros. Os valores que não são ¨Logicamente Verdadeiros¨não são destacados.

105

Page 106: Programaçao CLP S7 - 300

Operações Lógicas Básicas

Geral

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

um contato ou de uma saída, 1 indica ativado ou energizado; 0 indica desativado ou

desenergizado. Instruções de BIT interpretam o estado do sinal 0 ou 1 e o combina de

acordo com a lógica booleana. O resultado destas combinações é 0 ou 1, denominado

como ¨Resultado da Operação Lógica¨(RLO).

Instruções de bit:

-scan para sinal ¨1¨

-scan para sinal ¨0

-saída

106

Page 107: Programaçao CLP S7 - 300

-conector

-setar saída

-resetar saída

-setar/resetar flip flop

-RLO negado

-salvar RLO

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

AND

Se e somente se o estado do sinal 10.0 = 1 e 10.1 = 1, o resultado da operação lógica

(RLO) é 1, e a saída Q4 torna-se 1. Se uma ou ambas as entradas tem sinal 0, o RLO

é 0 e a saída torna-se 0.

OR

Se o estado do sinal 10.2 = 1 ou 10.3 = 1, o RLO é 1 e a saída Q4.1 torna-se 1. Se

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

XOR

A instrução XOR torna o RLO 1 se somente se uma das entradas for 1. Se nenhuma

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

107

Page 108: Programaçao CLP S7 - 300

RLO

As instruções vistam até agora tratam principalmente de checks e designações. Isto

significa: O scan processa o estado do sinal de entrada, saída, memory markers (flag),

e designa um estado de sinal para saída ou memory markers (flag).

Dois ou mais bits que forem checados em função de uma associação qualquer geram

uma operação lógica. O resultado desses checks é o resultado da operação lógica

(RLO). O resultado da operação lógica de uma AND ou uma OR pode então ser

designado a uma saída ou a uma memória (flag).

First Check

O termo first check (primeira checagem) indica que está sendo executada aprimeira

instrução de uma lógica. Isto significa que uma nova operação lógica se iniciou, e que

o resultado (RLO) da operação lógica anterior não será considerado.

Isto torna sem importância, qual instrução (por ex. AND ou OR) está sendo utilizada

como primeira instrução de uma lógica escrita em STL.

O ¨First check¨é gerado automaticamente pelo CLP sempre que uma lógica foi

encerrada (por ex. uma saída foi setada) ou um novo bloco foi iniciado.

108

Page 109: Programaçao CLP S7 - 300

Geral

A função ¨Flip-flop¨consiste de operações de SET e RESET. As operações se SET e

RESET somente são executadas quando RLO=1.Quando o RLO=0, o estado atual

permanece inalterado. Se as condições para ambos, set e reset são verdadeiras

simultaneamente, então em STL, a instrução programada por ultimo tem prioridade.

Em LAD e FBD é possível selecionar o bloco com prioridade na entrada setar ou na

entrada resetar.

Set

Quando o RLO=1, o endereço é setado e permanece inalterado até a condição de

reset ser executada. Se, neste exemplo, o estado do sinal de I1.0=1, mesmo por um

único ciclo, a saída Q5.0 torna-se 1 e permanece até que seja resetado por outra

instrução.

Reset

Quando o RLO=1, o endereço é resetado. Se, neste exemplo, o estado do sinal de

I1.1=1, mesmo por um único ciclo, a saída Q5.0 torna-se 0.

Flip-flop Set/Reset

Se o estado do sinal de entrada S=1, e a entrada R=0, o endereço (bloco acima) é

setado.

109

Page 110: Programaçao CLP S7 - 300

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

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

Flip-flop Reset/Set

Com este tipo de bloco, o set é dominante.

NOT

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

0, este é negado para 1. Reciprocamente, tornará-se zero se o RLO for 1.

CLR

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

SET

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

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

SAVE

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

RESULT (BR) da palavra de status.

110

Page 111: Programaçao CLP S7 - 300

A BR

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

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

realidade, sempre quando no programa um a entrada muda para ON ou para OFF, ou

quando o endereço é setado ou resetado.

Flanco de Impulso Positivo

Quando a entrada I1.0muda seu estado de 0 para 1, como mostrado na figura acima, a

instrução FP identifica esta mudança de estado, denominada de flanco de impulso

positivo, e resulta em um RLO=¨1¨por somente um ciclo, ocorrendo um pulso de

largura de um ciclo na saída Q5.0.

Para uma instrução FP, uma memória auxiliar (flag) deve ser especificada (pode

também ser bit de dados) no qual o estado do RLO é arquivado. Esta é a maneira pela

qual uma mudança de sinal pode ser identificada no próximo ciclo.

Flanco de Impulso Negativo

Para um flanco de Impulso Negativo, o pulso de scan ocorre quando o RLO muda de

¨1¨para ¨0¨.

111

Page 112: Programaçao CLP S7 - 300

O símbolo para isto em STL é o ¨FN¨, e em LAD, existe a letra ¨N¨no símbolo de saída.

Objetivo

Entender os elementos lógicos comuns e combinações de operações lógicas binárias,

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

Procedimento

1.editar um OB1 (se existente, delatar o seu conteúdo)

2.digitar as operações lógicas mostradas. Usar uma network para cada função

3.salvar, carregar e depurar blocos na CPU

(quando carregando, especificar se o OB1 irá sobrescrever o da CPU)

Resultado

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

112

Page 113: Programaçao CLP S7 - 300

Objetivo

Programe o modo de operação dos componentes para a máquina de carimbar de

acordo com as especificações abaixo.

O sistema é iniciado através da entrada I1. 1 (botão ligar, contato NA)

O sistema é desligado através da entrada I1. 2 (botão com trava, contato NF)

A saída Q5. 5 acende a lâmpada quando o sistema está ligado.

Quando o sistema é ligado, o modo de operação pode ser selecionado:

-com I1.3=0 a operação manual é selecionada e com I1.3=1 a operação automática é

selecionada.

-com o pulso na entrada I1. 4, o modo de operação é aceita.

O modo de operação deverá ser sinalizado por lâmpada (manual=Q4. 6,

automático=Q4.7).

113

Page 114: Programaçao CLP S7 - 300

Durante a operação manual, a esteira pode ser movimentada para frente com os

botões não retentivos I1. 5(Q4.0) e para trás com I1.6(Q4.1) respectivamente.

Procedimento

Desenvolva um programa para o controle do modo de operação.

1.use os emdereços I/O e os dispositivos mostrados acima.

2.criar um programa S7 com o nome ¨MAQ_CARIMBAR¨no projeto PRO1.

3.escreva um programa para implementar as partes desta aplicação no FC15 e chame

o FC15 no OB1.

4.salve, transfira e depure seu programa no dispositivo de treinamento.

Resultado

Teste o funcionamento no simulador, selecionando o modo de operação.

Teste a operação em Manual (ligar para frente/trás)

114

Page 115: Programaçao CLP S7 - 300

Temporizadores, Contadores e Comparadores

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

On-Delay Timer S_ODT

Retardo na energização

115

Page 116: Programaçao CLP S7 - 300

Off-Delay TIMER S_OFFDT

Retardo na Desenergização

Retentiva ON-Delay S_ODTS

Retardo na energização com retenção

116

Page 117: Programaçao CLP S7 - 300

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

Pulse

S_PULSE pulso

Extended Pulse

S_PEXT

Pulso Extendido

117

Page 118: Programaçao CLP S7 - 300

As três opções de contadores existentes são descritos a seguir. Uma área de memória

é reservada para os contadores. Esta área de memória reserva uma palavra de 16 bits

para cada endereço de contador até 256 (dependendo da capacidade da CPU). O

valor máximo presetado é 999 (BCD).

Contador Crescente S_CU

Com m ¨flanco de impulso¨osiona entrada S, o contador é selado com o valor da

entrada SC. Iniciando m 0 ou SC, o contador conta crescentemente a cada vez que

existe um flanco de impulso positivo na entrada CU. A saída Q é sempre 1, enquanto o

valor de CV não for igual a 0. Se houver um flanco de impulso positivo na entrada R o

contador é resetado, isto é, o contador é setado com o valor 0.

Contador Decrescente S_CD

Com um ¨flanco de impulso¨positivo na entrada S, o contador é setado com o valor da

entrada SC. (Iniciando com ) ou SC, o contador conta decrescentemente a cada vez

que existir um flanco de impulso positivo na entrada CD. A saída Q é sempre 1,

enquanto o valor CV não for igual a 0. Se houver um flanco de impulso positivo na

entrada R o contador é resetado, isto é,o contador é setado com o valor 0.

UP / Down Counter S_CUD

Combinação de contadores crescente e decrescente.

118

Page 119: Programaçao CLP S7 - 300

Temp. On-Delay SD

Se o RLO 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 não é completamente reinicializado

até que até que o RLO mude de 1 para 0.

Temp. de Pulso SP

Se o RLO muda de 0 para 1, o temporizador SP recebe o valor do tempo. O

temporizador funciona com tempo específico, contando que RLO = 1. Se o RLO mudar

de 1 para 0 com o temporizador funcionando,o temporizador para.

Temp. Pulso Extendido SE

Se o RLO muda de 0 para 1, o temporizador SE recebe o valor do tempo. O

temporizador funciona por um período específico, até mesmo se o RLO mudar para 0

antes que o temporizador pare. Se o RLO muda de 0 para 1, o temporizador é setado

novamente. O estado do sinal do tempo de scan resulta em RLO = 1, contando que o

temporizador esteja funcionando.

119

Page 120: Programaçao CLP S7 - 300

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 específico, até mesmo se o RLO mudar

novamente para 0 antes que o temporizador pare de funcionar. Se o RLO mudar de 0

para 1, o temporizador é setado novamente. O estado do sinal do tempo de scan

resulta em RLO = 1, contando que o temporizador esteja funcionando.

Contador Crescente CU

A bobina CU incrementa de 1 o valor de um contador específico, se o RLO mudar de 0

para 1.

Contador Decrescente CD

A bobina CD decrementa de 1 o valor de um contador específico, se o RLO mudar de )

para 1.

Geral

Acumuladores são memórias auxiliares na CPU para troca de dados entre vários

endereços, para comparação e operações matemáticas. Os S7-300 tem dois ACCU’s

(acumuladores) com 32 bits cada, e os S7-400 tem quatro acumuladores com 32 bits

cada.

120

Page 121: Programaçao CLP S7 - 300

Operação de Carga LOAD

As operações de carga sempre usam o ACCU1. Quando o valor é carregado no

ACCU1, o valor é arquivado posicionando a direita, e as posições não utilizadas são

deletadas. O valor anterior do ACCU1 é deslocado para o ACCU2 durante a carga.

Operações de Transferência Transfer

Durante a transferência, o conteúdo do ACCU1 é copiado para área de memória de

destino (o conteúdo permanece no ACCU1). Se somente um byte é transferido, os oito

bits da direita são usados (ver figura).

RLO

As instruções de load e transfer são independentes do RLO e são, portanto sempre

executadas. Em LAD e FBD, é possível carregar e transferir condicionalmente

utilizando-se a entrada EM do bloco MOVE.

Em STL, você pode implementar isto com jumps condicionais.

MOVE (KAD/FBD)

A instrução MOVE torna possível designar valores a variáveis. Se a entrada EN é

ativada, o valor presente na entrada IN é copiado para o endereço especificado para

saída 0. ENO tem o mesmo estado do sinal que EN.

121

Page 122: Programaçao CLP S7 - 300

L and T (STL)

As instruções Load e Transfer permitem programar troca de dados entre áreas de

memória. Load e Transfer são executados incondicionalmente e

independementemente do RLO. A troca de dados é feita via acumulador.

A instrução Load transfere o conteúdo do endereço para o acumulador 1. Quando isto

acontece o conteúdo do acumulador 1 é transferido para o acumulador 2.

A instrução Transfer copia o conteúdo do acumulador 1 para o endereço destino.

Comparação

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

numéricos.

-dois inteiros (cada um com 16 bits)

-dois inteiros duplos (cada um com 32 bits)

-dois números reais (IEEE número e ponto flutuante, cada um com 32 bits)

122

Page 123: Programaçao CLP S7 - 300

Relação

Todas as instruções de comparação comparam os valores IN1 e IN2 baseados nas

seguintes relações:

-IN1 é igual a (==) IN2

-IN1 é diferente de (<>) IN2

-IN1 é maior que (>) IN2

-IN1 é menor que (<) IN2

-IN1 é maior que ou igual a (>=) IN2

-IN1 é menor que ou igual a (<=) IN2

RLO

Se a comparação é satisfeita, o resultado da operação lógica é 1.

Salto Incondicional

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

provoca o salto de programa para a posição marcada pelo rótulo (label). O label é

representado em LAD/FBD de maneira parecida ao elemento de saída, porém com as

letras JMP e o nome do rótulo destino associado; em STL o label é localizado atrás da

instrução JU.

123

Page 124: Programaçao CLP S7 - 300

Rótulos (labels)

O label marca o ponto onde o programa irá continuar a execução, após o salto.

Instruções ou segmentos localizados entre o jump e o label não serão executadas.

O label obrigatoriamente deve estar localizado no mesmo bloco (OB, FB, FC) que a

instrução jump a que está associada.

Introdução

Saltos condicionais ocorrem sempre em função 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

instrução se comporta da mesma maneira que um jump incondicional. Porém se o

124

Page 125: Programaçao CLP S7 - 300

RLO=0 a instrução jump é ignorada e a execução de programa continua a partir da

instrução seguinte.

Salto Condicional RLO=0 (JCN)

O jump condicional JCN é executado se e somente se o RLO = 0. Estando o RLO=0 a

instrução se comporta da mesma maneira que um jump incondicional. Porém se o

RLO=1 a instrução jump é ignorada e a execução do programa continua a partir da

instrução seguinte.

JCB/JNB

Além das instruções acima, existe duas outras opções em STL que são a combinação

do RLO e o bit BR:

-jump se RLO = 1 com RLO armazenado em BR (JCB)

-jump se RLO = 0 com RLO armazenado em BR (JNB)

Ambas instruções trabalham da maneira que JC e JCN trabalham; o jump é executado

baseado no ROLO. As instruções jump JCB e JNB salvam adicionalmente o RLO no

bit BR da palavra de status.

Nota

Se o jump condicional não é satisfeito, o programa continua a processar as instruções

seguintes ao jump e o RLO é setado para ¨1 ¨.

125

Page 126: Programaçao CLP S7 - 300

Relê de Controle Mestre

O Master Control Relay é uma chave l´pgica mestre para energizar ou desenergizar o

fluxo de tensão. Quando ¨desenergizado¨toda a seqüência lógica seguinte será zerada

(RLO=0) ao invés de ser executada. Se a lógica Máster Control Relay estiver ativa

(RLO=1) considera-se que o sistema está energizado. Por sua vez se a lógica estiver

inativa (RLO=0) considera-se que o sistema está desenergizado.

Observação

As instruções SET e RESET dentro de uma MCR inativo (desenergizado) não alteram

o valor da saída/flag. A instrução de transferência (=) zera a saída/flag quando o MCR

está inativo.

MCRA

A instrução MCR Active ativa a função Máster Control Relay. S instruções Máster

Control Relay On e Máster Control Relay Off MCA< e aMCR> devem seguir a

instrução MCRA.

MCR<

A instrução Master Control Relay On marca o inicio da zona de controle lógico. MCR<

abre a área MCR e trigga instruções que armazenam o RLO na pilha MCR. A pilha

126

Page 127: Programaçao CLP S7 - 300

pode ter até oito entradas. Isto significa que até oito níveis de controle individuais

podem ser incluídas entre os comandos MCRA e MCRD.

MCR>

A instrução Master Control Relay Off marca o fim da área de controle lógico. O MCR>

é combinado com o mais próximo MCR<.

MCRD

A instrução MCRD Deactivate desativa a função MCR. Você não pode programar

nenhma área MCR depois do MCRD. Esta instrução é uma exigência para a

associação lógica com MCRA.

Objetivo

Continue a aplicação do exercício 8.2. A aplicação deverá trabalhar da seguinte forma:

Controle de esteira em operação automática

Em operação automática, o motor do transportador (Q4. 0) ligará e permanecerá ligado

até que botoeira de desligar (I1. 2) abra ou até que o sensor de peças altas (I0. 7) fique

ativo, iniciando a operação de carimbar. Esta e monitorada pelos sensores de

carimbador avançado (I0. 3) e carimbador recuado (I0. 2). Depois a peça é expulsa e

monitorada pelos sensores de expulsão avançada (I0. 5) e expulsão recuada (I0. 4). A

127

Page 128: Programaçao CLP S7 - 300

válvula do carimbador está localizada na saída Q4. 3 e a válvula do expulsor está

localizada na saída Q4.4.

A peça deve ser mantida pressionada pelo cilindro de carimbar por 3s, sendo isto

sinalizado através da saída Q5. 0.

Contando as peças

Existem dois sensores destinados a registrar peças baixas e altas. O sensor I0.7

registra as peças altas e o sensor I1.0 registra as peças baixas.

Peças altas e baixas devem ser contadas assim que sistema parta (C1 peças altas, C2

peças baixas). O número de peças altas e registradas em MW100 e o número de

peças baixas é registrado em MW102.

Procedimento

1.desenvolva um programa no bloco FC16 e adicione a chamada no OB1 (Projeto

PRO1, programa ¨MAQ_CARIMBAR¨). No FC15 você também deverá modificar a

network na qual o movimento da esteira para frente é programado.

2.testar s solução no dispositivo de treinamento.

Resultado

Simule a função de operação automática e de contagem.

128

Page 129: Programaçao CLP S7 - 300

Conversão, Operação Lógica Digital, Matemática, Deslocamento

Código BCD

O dígito de um número decimal pode ser codificado com quatro dígitos binários. Esta

representação deriva do fato que o maior número decimal de 1 dígito, que é o número

9, necessita de pelo menos quatro posições para a representação em binária.

Para representar os dez dígitos decimais 0 até 9 em código BCD você usa a mesma

representação como você usaria para números binários de 0 até 9.

De 16 combinações possíveis de quatro dígitos binários, seis não são utilizados, estas

combinações ¨proibidas¨são chamadas de pseudo tetrad.

129

Page 130: Programaçao CLP S7 - 300

Integer (Inteiro)

O tipo de dados INT é um inteiro (16 bits). O bit de sinal (bit no 15) indica se você está

tratando com números positivos ou negativos (¨0¨ = positivo, ¨1¨ = negativo). A faixa de

um inteiro (16 bits) está entre –32768 e +32767.

Um inteiro ocupa uma palavra de memória. Em formado binário, um inteiro negativo é

representado com o complemento de dois de um número inteiro positivo. Você chega

ao complemento de dois de um inteiro positivo quando invertem o estado do sinal de

todos os bits e adiciona ¨1¨ ao resultado.

Número Real

Um número real (também chamado de número de ponto flutuante) é um número

positivo ou negativo que abrange valores tais como 0,339 ou –11,32. Você pode

também trocar o número real comum expoente como potência inteira de 10, com que o

número real tem que ser multiplicado, de forma a atingir o valor desejado. Como

resultado, o número 1024 pode ser expresso como 1.024E3.

O número real ocupa duas palavras de memória e o sinal do número é definido pelo bit

mais significativo. Os bits’s restantes representam o expoente e a mantissa.

A faixa na qual o número real está compreendido é –3.402823 1038 a 3.402823 1038.

130

Page 131: Programaçao CLP S7 - 300

Existem várias possibilidades de conversão. Todas as instruções têm o seguinte

formato:

EN = Enable input

A conversão é executada somente se o RLO é verdadeiro (=1).

ENO = Enable output

A saída Enable output tem o mesmo estado de sinal que EM (EN=ENO), a menos que

tenha havido um erro durante a conversão. Por exemplo, a instrução Round fornece o

EBO=0 para uma violação de faixa válida.

IIN = Valor de entrada

Valor a ser convertido

Out = valor de saída

Valor convertido

(LAD/FBD) STL Descrição

BCD_I / BCD_DI BTI/BTD Converte código binário em formato decimal (BCD,

Binary Code for Decimal digitis) em formato inteiro.

TRUNC TRUNC Converte ponto flutuante (real 32 bit IEEE) em inteiro

duplo.

DI_REAL DTR Converte inteiro duplo em número real.

I_DI ITD Corverte inteiro em inteiro duplo.

ROUND RND Converte um número real em inteiro duplo e arredonda o

resultado para o próximo número.

CEIL RND+ Converte um número real em inteiro duplo e arredonda o

resultado para o mais próximo inteiro menor ou o mesmo

número.

131

Page 132: Programaçao CLP S7 - 300

WAND_W

A instrução ¨Word AND¨combina dois valores digitais especificados na entrada IN1 e

IN2 bit a bit, baseado na tabela verdade AND. O resultado da operação é salvo no

endereço OUT. A instrução é executada se o sinal de entrada de EM=1. ENO tem o

mesmo estado do sinal de EN.

Tabela Verdade AND

MW 10 = 0100 010 0 1100 0100

W#16#OFFF = 0000 1111 1111 1111

MW30 = 0000 0100 1100 0100

WOR_W

A instrução ¨Word OR¨combina dois valores digitais baseados na tabela verdade OR

bit a bit, para valores de entrada IN1 e IN2. O resultado da operação OR é salvo no

endereço OUT. A instrução é executada, se o estado da entrada EN=1.ENO tem o

mesmo estado do sinal de EN.

132

Page 133: Programaçao CLP S7 - 300

Tabela verdade OR:

MW32 = 0100 0010 0110 1010

W#16#0001 = 0000 0000 0000 0001

MW32 = 0100 0010 0110 1011

WXOR_W

A instrução ¨Word Exclusive OR¨combina dois valores binários das entradas EN1 e

EN2 bit a bit e de acordo com a tabela verdade OR Exclusive. O resultado da operação

WXOR é salvo no endereço OUT. a instrução é ativada, se a entrada EN=1.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

Existem várias funções aritméticas, como exibidas abaixo. As instruções têm o

seguinte formato:

133

Page 134: Programaçao CLP S7 - 300

EN = Habilita entrada

A instrução será executada se e somente se o RLO é verdadeiro (RLO=1).

ENO = Habilita saída

A saída Enable output tem o mesmo estado de sinal que EN (EN=ENO),a menos que

tenha havido um erro durante a conversão. Por exemplo, a instrução DIV_I fornece

ENO=0 quando se faz uma divisão por zero.

IN1 = Entrada 1

1.valor aritmético da isntrução.

IN2 = Entrada 2

2.valor aritmético da instrução.

O = Saída

Resultado da operação aritmética.

Adição

ADD_I Soma inteiros

ADD_DI Soma inteiros duplos

ADD_R Soma números reais

Subtração

SUB_I Subtrai inteiro

SUB_DI Subtrai inteiros duplos

SUB_R Subtrai números reais

Multiplicação

MUL_I Multiplica inteiros

MUL_DI Multiplica inteiros duplos

MUL_R Multiplica números reais

Divisão

DIV_I Divide inteiros

DIV_DI Divide inteiros duplos

DIV_R Divide números reais

134

Page 135: Programaçao CLP S7 - 300

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

mostrado abaixo. Estas instruções têm o seguinte formato.

EN = Habilita entrada

A instrução será executada se e somente se o RLO é verdadeiro (RLO=1).

ENO = Habilita saída

A saída Enable output tem o mesmo estado de sinal que EN (EN=ENO), a menos que

tenha havido um erro durante a conversão. Por exemplo, quando há um overflow.

IN = Valor de Entrada

1º operando da instrução (número real).

O = Valor de Saída

Resultado da operação (número real)

ABS

Valor Absoluto de um número real

ACOS

Arco Coseno para um número real (resultado em radianos)

135

Page 136: Programaçao CLP S7 - 300

ASIN

Arco Seno para um número real (resultado em radianos)

ATAN

Arco Tangente para um número real (resultado em radianos)

COS

Coseno para um número real (resultado em radianos)

EXP

Expoente para número real

LN

Logaritmo Natural para um número

SQR

Raiz de um número real

SQRT

Raiz Quadrada de um número real

SIN

Seno de um número real (resultado em radiano)

TAN

Tangente de um número real (resultado em radiano)

136

Page 137: Programaçao CLP S7 - 300

Shift / Rotate

Com as instruções Shift e Rotate,você pode deslocar o conteúdo da mas baixa Word

do Acumulador 1 ou o conteúdo do acumulador para a direita ou para esquerda, bit a

bit. A instrução (por exemplo, SLW=desloca palavra para esquerda) determina a

direção da operação de deslocamento. O parâmetro N específica o número de bits a

serem deslocados. Na operação de deslocamento de palavra, os bits vazios são

preenchidos com o bit (MSB) de sinal (0=positivo e 1=negativo). Na operação de

rotação, os bits vazios são preenchidos com o conteúdo que foi rotacionado.

Instruções de Deslocamentos: SLH_W

Deslocamento de uma Word para esquerda. Os bits de 0 até 15 do acumulador são

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

SHL_DW

Deslocamento de uma Word dupla para esquerda. O conteúdo do Acumulador 1 é

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

zero.

SHR_W

Deslocamento de uma Word para direita. Os bits de 0 até 15 do Acumulador são

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

137

Page 138: Programaçao CLP S7 - 300

SHR_I

Deslocamento de um Inteiro para Direita. Os bits de 0 a 15 do Acumulador são

deslocados para direita de N bits. Bits vazios são preenchidos com o valor do bit de

sinal (bit 15).

SHR_DI

Deslocamento de um Inteiro Duplo para Direita. O conteúdo do Acumulador 1 é

deslocado para direita bit a bit de N bits. Bits vazios são preenchidos com o valor do bit

de sinal (bit 31).

Instrução de Rotação

ROL_DW

Rotaciona uma Word dupla para esquerda. O conteúdo do Acumulador 1 é rotacionado

bit a bit N bits para esquerda.

ROR_DW

Rotaciona uma Word dupla para direita. O conteúdo do Acumulador 1 é rotacionado bit

a bit N bits para direira.

138

Page 139: Programaçao CLP S7 - 300

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

Network 1:

Um contador crescente que dispara quando a entrada I0.0 mudar de 0 para 1. O valor

corrente é salvo na MW4 em BCD.

Network 2:

O valor é convertido para duplo inteiro e então REAL (Um valor BCD não pode ser

diretamente convertido o para número REAL). O resultado da segunda conversão é

dividido pelo valor 6.0. O número em ponto flutuante, que é, o resultado da divisão, é

salvo na MD20.

Network 3:

A MD20 é arredondada para inteiro e então convertido de duplo inteiro para valor BCD.

O valor BCD é transferido para o a saída MD50.

Objetivos

1.familiarizar-se com as instruções.

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

Procedimento

1.criar um programa com o nome ¨MATEMAT¨no projeto PRO1.

2.editar, salvar, transferir e depurar as operações lógicas exibidas acima usando o

Editor de Programas (Você pode trabalhar em LAD, FBD ou STL).

Resultado

Quando acionado (contador crescente)I0. 0 pode-se ver como a saída é incrementada

de um para cada múltiplo de seis (por exemplo, para o status igual a 7 contador, deve

ser exibido 1)

139

Page 140: Programaçao CLP S7 - 300

Objetivo

Continue a aplicação de exercício 8.1; contando as peças. Quando os contadores

forem usados lembrar que os contadores contam até 999. Para números maiores,

vários contadores podem ser usados em série.

Então, a contagem deve ser feita por meio de operações aritméticas. Para

gerenciamento, os dados de produção especificados no slide devem estar também

disponíveis.

Procedimento

1. No FC 16 (Programa ¨MAQ_CARIMBAR¨), apagar as networks com funções de

contar peças.

2. Criar o FC 18 para assumir a função de contagem. Depois que o sistema é

ligado, os valores nas MW 100/102/104 são apagados. Com os pulsos de I0.7 ou I1.0,

as peças são contadas com incrementos de 1. A soma das peças altas e baixas é MW

104.

3. Chame o FC18 do OB1

4. Transfira todos os blocos para a CPU e teste o seu programa.

140