Você está na página 1de 135

Controladores

Lógicos
Programáveis
Sumário

Família SIMATIC 05
Instalando o STEP 7 13

Introdução ao Hardware S7 22

O Software STEP 7 42

Configurando e parametrizando o S7 55

Princípios básicos 75

O editor de programas 86

Operações lógicas básicas 102

Temporizadores, Contadores e Comparadores 111

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

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

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

4
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

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

• Duas saídas em pulsos integradas

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

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

Multiprocessamento

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

Características da MPI

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

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

10
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

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

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

STEP7 Mni

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

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

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.

15
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

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.

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

SIMATIC Manager

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

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

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

Resultado
Quando programando, um dos seguintes modos será exibo:

20
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

21
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
I/O on-board

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

23
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 Interrupções
4 ent. Inter., 4 contad. 4 ent. Inter., 4 contad. 4 ent. Inter., 6 contad.

24
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

25
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

Mód. de Função FM

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

Slot 2:
27
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.

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

29
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

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

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

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

P e C-BUS

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

Status da CPU (LEDS)

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

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

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

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

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

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.

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

41
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

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

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

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

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

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

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

47
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

48
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

VAT

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

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

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

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

Procedimentos
1.Inicie o SIMATIC Manager.

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

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

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

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

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

View

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

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.

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

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.

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

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.

60
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

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

61
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

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

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)

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.

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

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.

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

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

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

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

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

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

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

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

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

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

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

Objetivo
Parametrizar um módulo (CPU)

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

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.

74
Resultado
O que aconteceu com o MB4 e o MB5 no 2.start da CPU? Por que não possuem o
mesmo conteúdo?

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.

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

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

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

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

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

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.

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

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

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.

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

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

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

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

86
Selecione o bloco a ser editado, clicando duas vezes sobre ele. Alternativamente
podese 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.

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

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

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

90
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

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

Regras

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

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

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


ladder.

Resultado

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

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)

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

96
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

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¨

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

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

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

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

101
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

-conector
-setar saída

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

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

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

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

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

O símbolo para isto em STL é o ¨FN¨, e em LAD, existe a letra ¨N¨no símbolo de saída.

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

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

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

110
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

Off-Delay TIMER S_OFFDT


Retardo na Desenergização

111
Retentiva ON-Delay S_ODTS
Retardo na energização com retenção

O S7 oferece duas opções de temporizadores de pulso:

Pulse
S_PULSE pulso

112
Extended Pulse
S_PEXT
Pulso Extendido

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

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

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.

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

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.

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

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.


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

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.

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

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.

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

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.

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

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

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.

121
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 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:
122
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
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.

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

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

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

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

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

Tabela verdade OR:

MW32 = 0100 0010 0110 1010

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

EN = Habilita entrada
A instrução será executada se e somente se o RLO é verdadeiro (RLO=1).

ENO = Habilita saída

128
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

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

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

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

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

Este execício contém exemplos com as seguintes funções:

• Network 1:

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

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

135

Você também pode gostar