159
CLP Controlador Lógico Programável Nível 01 Fênix Automação Industrial – Barra Mansa – RJ Email: [email protected] Av Joaquim Leite, Ed Benedictus 01, Sala 203, Centro

CLP Apostila Siemes S7 300

Embed Size (px)

Citation preview

Page 1: CLP Apostila Siemes S7 300

CLP

Controlador Lógico Programável

Nível 01 Fênix Automação Industrial – Barra Mansa – RJ

Email: [email protected] Joaquim Leite, Ed Benedictus 01, Sala 203, Centro

Page 2: CLP Apostila Siemes S7 300

S7-200

FAMILIA DE CONTROLADORESSIEMENS SIMATIC S7

O S7-200 é o micro-CLP da família SIMATIC S7. 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)

S7-300 S7-400

Pagina 02

Modelos de CLP´s SIMATIC S7

O S7-300 é o pequeno e totalmente modular CLP da família SIMATIC S7.- 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.

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ógicos A partir de 4K até 16K.Memory Markers Flags - A partir de 4K até 16K.Tempo de Ciclo A partir de 0,08 µs até 0,2 µs por instrução binária.Multiprocessamento Até quatro CPUs podem ser usadas no rack central.Comunicação Via MPI, ponto-a-ponto, PROFIBUS e Industrial Ethernet .

Page 3: CLP Apostila Siemes S7 300

Multi-point Interface (MPI)

Características da Interface MPI

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.

Pagina 03

Page 4: CLP Apostila Siemes S7 300

Multi-point Interface (MPI)

Características da Interface MPI

Características da MPI: A interface MPI suporta displays, painéis de operação e terminais de programação Siemens. A MPI oferece as seguintes possibilidades:- Programação de CPU’s e módulos inteligente- Funções de monitoração do sistema e funções de informações- Troca de dados entre controladores lógicos programáveis-Troca de programas entre CPU e terminal de programação

-Dados Técnicos da MPI: As mais importantes características da interface MPI são:- Padrão RS 485 e taxa de transmissão de 187.5 Kbaud- Distâncias até 50 m ou até 9100 m com repetidores- Componentes padrões do PROFIBUS DP (cabo , conector, e repetidor)

Pagina 04

Page 5: CLP Apostila Siemes S7 300

Terminais de Programação

Terminais de Programação PG720740

PG720PII A PG 720PII (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 para 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 PG 740PIII (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)

Pagina 05

Page 6: CLP Apostila Siemes S7 300

Hardware

Introdução ao Hardware S7-300

Pagina 06

Page 7: CLP Apostila Siemes S7 300

Hardware

Introdução ao Hardware S7-300

Pagina 07

No S7-300 o endereçamento dos módulos de I/O, CP e FM são slot´s orientados, isto é, o seu endereço depende da posição do módulo no trilho. Alguns slot´s são reservados: PS, CPU e IM.Slot1: PS - Fonte de alimentação. Obrigatoriamente no primeiro slot. Não é associado nenhum endereço para a fonte de alimentação.

Slot 2: CPU; deverá estar localizada próxima a fonte de alimentação. Não é associado nenhum endereço para a CPU.

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-11: Módulos de sinais (SM). Slot 4 é considerado o primeiro slot para módulos de entrada e saída ou CP ( Processadores de Comunicação) Profibus, Ethernet ou FM ( Modulos de Funções) contagem, Posicionamento.

Page 8: CLP Apostila Siemes S7 300

Hardware

S7-300: Design da CPU

Pagina 08

Seletor de Modo:• MRES = Função de reset da CPU.• STOP = Estado Stop; o programa não é executado.• RUN = Execução do programa; possível o acesso read-only a partir do Terminal de Programação.• RUN-P = Execução do programa, possível o acesso read / write a partir do Terminal de Programação.Indicadores de estado (LEDs):• SF = Resumo de falhas; erro interno da CPU ou falha num módulo com capacidade de diagnóstico.• BATF = Falha de bateria; Bateria descarregada ou não existente.• DC5V = Indicador de tensão interna 5 V DC.• FRCE = FORCE; indica que pelo menos uma entrada ou saída está forçada.• RUN = Pisca quando a CPU está inicializando; Mantém-se acesa no estado Run.• STOP = Mantém-se acesa no estado Stop; Pisca devagar quando é solicitado um reset de memória; Pisca rapidamente quando está sendo feito um reset de memória; Pisca devagar quando é necessário um reset de memória, por ter sido inserido um módulo de memória.

Page 9: CLP Apostila Siemes S7 300

Hardware

S7-300: Design da CPU

Pagina 09

• Módulo de memória: Existe na CPU um slot para o módulo de memória. O módulo de memória armazena o conteúdo do programa no caso de uma falha na alimentação, sem necessidade de bateria.

• Compartimento da Bateria: Existe um receptáculo para bateria de lítio debaixo da tampa. A tensão da bateria permite armazenar o conteúdo da RAM se falhar a alimentação ao PLC.

• Conexão MPI: Conexão a um terminal de programação ou outro dispositivo com interface MPI.

• Interface DP: Interface para ligação direta de I/Os distribuídos à CPU.

Page 10: CLP Apostila Siemes S7 300

Endereçamento

S7-300 - Endereçamento de I/O - Digital

Pagina 10

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

Pode-se acessar estas áreas (I e Q) em bits, bytes, words ou double words, como mostrado nos exemplos abaixo:

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

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

- IW100 refere-se ao dado que é arquivado nos bytes 100 e 101 da tabela imagem da periferia de entrada.

Page 11: CLP Apostila Siemes S7 300

Endereçamento

S7-300 - Endereçamento de I/O – Analógico

Pagina 11

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 16 bytes de endereços, independente do tipo de módulo, sendo que cada canal analógico ocupa dois bytes de dados.

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 canal no primeiro módulo no 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.

Page 12: CLP Apostila Siemes S7 300

Programação

O SIMATIC Manager é uma interface de gráfica com o usuário para a edição online/offline de objetos S7 (projetos, arquivos de programa do usuário, blocos, estações de hardware e ferramentas).Com o SIMATIC Manager é possível:

administrar projetos e bibliotecas;ativar as ferramentas STEP 7;acessar online o PLC;editar módulos de memória.

Pagina 12

O SIMATIC Manager

Page 13: CLP Apostila Siemes S7 300

Programação

Processo: Quando se olha de perto o processo a se automatizar, verifica-se que este é composto por uma série de pequenas áreas e sub-processos, que estão interligados e dependentes uns dos outros. A primeira tarefa é portanto desmembrar o processo de automatização como um todo em pequenas sub-tarefas separadas.

Hardware e Software: Cada sub-tarefa define determinados requisitos tanto de hardware como de software que têm que ser cumpridos pelo processo de automatização:

Hardware:- Número e tipo de entradas e saídas;- Número e tipo de módulos;- Número de bastidores;- Capacidade e tipo da CPU; - Sistemas HMI; - Sistemas de interligação em rede.Software:- Estrutura do programa;- Tratamento de dados para o processo de automatização;- Dados de configuração;- Dados de comunicação;- Documentação do programa e do projeto.

Pagina 13

O SIMATIC Manager

Page 14: CLP Apostila Siemes S7 300

Programação

Estrutura do Projeto: Os dados são armazenados num projeto sob a forma de objetos. Os objetos são organizados no projeto numa estrutura de árvore (hierarquia do projeto). A estrutura em árvore mostrada na janela do projeto, é similar à do Windows Explorer. Somente os ícones dos objetos são diferentes.

Pagina 14

O SIMATIC Manager

Hierarquia do Projeto:

1º. Nível: O primeiro nível contém o ícone do projeto. Cada projeto representa a base de dados onde são armazenados todos os dados relevantes para o mesmo.

2º. Nível: As estações (por ex. estação S7-300) mostram onde estão armazenadas as informações sobre a configuração do hardware e a atribuição de parâmetros aos módulos.

As estações são o ponto de partida para configurar o hardware.

As pastas “S7 Program” são o ponto de partida para a elaboração dos programas. Todo o software para um módulo parametrizável da gama S7 é armazenado numa pasta “S7 Program”.

Estas contêm outras pastas para os blocos e arquivos fonte do programa.

Subredes (MPI,Profibus, Industrial Ethernet) são parte de uma rede completa.

3º. e subseqüentes níveis : Dependem do tipo de objeto do próximo nível superior.

Page 15: CLP Apostila Siemes S7 300

Programação

Existe o ícone designado "SIMATIC Manager" no desktop do Windows, e um item de programa "SIMATIC Manager" dentro do campo SIMATIC no menu Iniciar. O programa é ativado como qualquer aplicação do Windows, através de duplo-click no ícone ou através do menu Iniciar

INICIAR > SIMATIC >

Pagina 15

Iniciando o SIMATIC Manager

Barra de Título: A barra de título contém o título da janela e os botões para controlar essa mesma janela.

Barra de Menu: Contém todos os menus disponíveis para essa janela.

Barra de Ferramentas: Contém as tarefas que são utilizadas com maior freqüência sob a forma de símbolos. Estes símbolos são auto-explicativos. Barra de Status: Mostra o estado de uma determinada aplicação e outras informações.

Barra de Tarefas: A barra de tarefas contém todas as aplicações que estão abertas e janelas como botões. A barra de tarefas pode ser posicionada em qualquer um dos lados da tela através da utilização do botão direito do mouse.

Page 16: CLP Apostila Siemes S7 300

Programação

Pagina 16

Barra de Ferramentas do SIMATIC Manager

Page 17: CLP Apostila Siemes S7 300

Programação

Criando um Projeto: Selecione a opção de menu File > New ou o símbolo na barra de ferramentas para abrir a caixa de diálogo "New“, que permite criar um novo projeto ou uma nova biblioteca. Introduza o nome do projeto no campo "Name" e confirme selecionando "OK“.

Pagina 17

Criando um Projeto no STEP7

Page 18: CLP Apostila Siemes S7 300

Configuração do HW: Os módulos são fornecidos de fábrica com parâmetros pré-selecionados. Se estes parâmetros de fábrica estiverem OK não é necessário fazer a configuração do HW.

É necessário fazer uma configuração:

- se for necessário modificar os parâmetros pré-selecionados ou endereços de um módulo (por ex. ativar a interrupção de hardware de um módulo); - se for necessário configurar redes de comunicação; - se existem estações de periferia distribuída (PROFIBUS-DP); - se existem estações S7-400 com várias CPUs (multiprocessamento) ou bastidores de expansão; - se o controlador lógico programável for do tipo “fault-tolerant” (pacote opcional).

Pagina 18

Configuração do Hardware

Programação

Page 19: CLP Apostila Siemes S7 300

Para inserir uma nova estação de hardware no projeto atual selecione a seqüência de menus Insert > Station > SIMATIC 300 Station ou SIMATIC 400 Station.

O nome automaticamente dado à estação é "SIMATIC 300 (1)“, e pode ser alterado posteriormente.

Pagina 19

Inserindo uma Estação

Programação

Page 20: CLP Apostila Siemes S7 300

Para iniciar a ferramenta de configuração do HW:- selecione uma estação de hardware no SIMATIC Manager e escolha a seqüência de menus Edit > Open Object ou-duplo-clique no objeto Hardware."Hardware Configuration" Janela da aplicação do "HW Config“, utilizada para inserir os componentes da janela "Hardware Catalog". A barra de título desta janela contém o nome do projeto e o nome da estação.

Pagina 20

Inciando o HW Config

Programação

"Hardware Catalog“ Para abrir o catálogo:- selecione a seqüência de menus View > Catalog ou clique no ícone da barra de ferramentas.Se estiver selecionado como perfil de catálogo a opção “Standard”, ficam disponíveis para seleção todos os bastidores, módulos e módulos de interface na janela "Hardware Catalog".É possível criar um catálogo personalizado com os elementos utilizados com maior freqüência, bastando para isso selecionar a seqüência de menus Options -> Edit Catalog Profiles.

Os escravos Profibus que não existem no catálogo podem ser acrescentados. Para isso, deve-se utilizar os arquivos designados GSD, que são fornecidos pelo fabricante do elemento escravo. Os arquivos GSD contêm a descrição do dispositivo. Para incluir o escravo no catálogo de hardware, utiliza-se a seqüência de menus Options > Install New GSD Files e depois Options -> Update Catalog. A partir daí os novos elementos no catálogo podem ser encontrados dentro do campo de dispositivos adicionais Profibus.

Page 21: CLP Apostila Siemes S7 300

Gerar a configuração prevista significa especificar como os módulos devem ser montados no bastidor. No STEP 7 esta configuração é tratada por “setpoint configuration”.

Pagina 21

Gerando a Configuração de Hardware Prevista

Programação

Bastidor: Por exemplo, ao configurar uma estação SIMATIC 300:O catálogo "RACK-300" contém um ícone para um trilho DIN. É possível inseri-lo na janela "Hardware Configuration” com um duplo-clique (ou arrastando-o com o mouse). Aparecem então duas listas de bastidores separadas: uma lista com o tipo de módulos em cima e uma lista detalhada com referências, endereços MPI e endereços de I/O embaixo. Fonte de Alimentação: Pode-se inserir uma fonte de alimentação com um duplo-clique, ou arrastando com o mouse o módulo "PS-300" do catálogo, para o slot nr.1 do bastidor.CPU: A CPU é inserida do catálogo "CPU-300“, no slot nr.2.

Slot Nr. 3: O slot nr. 3 está reservado como endereço lógico para o módulo de interface (para configurações com vários bastidores). Se esta posição deve ser reservada na configuração atual para uma posterior instalação de uma IM, deve-se inserir um módulo DM370 (DUMMY). Módulos de Sinal: A partir do slot nr. 4 é possível inserir uma número máximo de até 8 módulos de sinal (SM), processadores de comunicação (CP) ou módulos de função (FM). Para inserir os módulos no bastidor selecione o slot e depois dê um duplo-clique no módulo desejado contido no catálogo. É possível inserir módulos em qualquer parte da lista arrastando com o mouse.

Page 22: CLP Apostila Siemes S7 300

Atribuindo Parâmetros: Os parâmetros são atribuídos aos módulos para os adaptá-los às necessidades do processo.O que fazer:1. Selecione um módulo na janela da estação. 2. Duplo-clique no módulo selecionado para abrir a janela "Properties".3. Esta janela possui 9 campos nos quais é possível atribuir parâmetros para as diferentes características da CPU (ver

próximas páginas).

Pagina 22

Propriedades da CPU

Programação

Page 23: CLP Apostila Siemes S7 300

Opção "General“: A seção "General" fornece informação sobre o tipo do módulo, sua localização e, no caso dos módulos programáveis, o endereço MPI.

Endereço MPI: Para conectar vários PLCs em rede através da interface MPI é necessário atribuir um endereço MPI diferente a cada CPU. Selecione o botão "Properties" para abrir a janela "Properties - MPI Node", que contém duas seções: "General" e "Parameters".

Pagina 23

Propriedades da CPU: Geral

Programação

Page 24: CLP Apostila Siemes S7 300

Características de Startup: As CPUs do S7-300 e S7-400 têm diferentes características de startup.Por enquanto, vamos ver apenas as características de startup do S7-300.

Pagina 24

Propriedades da CPU: Startup

Programação

Restart Completo: O S7-300 apenas reconhece o "Complete restart". As CPUs mais novas também possuem a versão "Cold restart“.

Tempos Monitorados: "Ready message from modules (x100ms):"Tempo máximo para que todos os módulos enviem uma mensagem de que estão OK após power ON. Se os módulos não enviarem a mensagem de que estão prontos para a CPU dentro deste intervalo de tempo, a configuração atual não é igual à configuração prevista. Por exemplo, numa configuração com vários bastidores, todas as fontes de alimentação podem ser ligadas dentro deste tempo sem se tomar atenção a uma seqüência particular. "Transfer of parameters to modules (x100ms):"Tempo máximo para “distribuir” os parâmetros aos módulos com atribuição de parâmetros (a contagem deste tempo começa quando é enviada a mensagem "Ready message from modules“ para a CPU).Se, decorrido o tempo de acesso, não tiverem sido atribuídos os parâmetros a todos os módulos, então a configuração atual não é igual à configuração prevista.

Startup se as Configurações Prevista e Atual são diferentes: Apenas nas CPUs com interface DP integrada (e S7-400) pode ser utilizada a opção "Startup if preset configuration not equal to actual configuration“, para decidir se a CPU deverá executar o startup mesmo que a configuração prevista não seja igual á configuração atual (número e tipo de módulos instalados).As outros CPUs do S7-300 entram em RUN quando a configuração prevista não é a mesma que a configuração atual.

Page 25: CLP Apostila Siemes S7 300

Memória Retentiva: A seção "Retentive Memory" é utilizada para especificar as áreas de memória que devem ser mantidas após uma falha na alimentação ou numa transição de STOP para RUN. No S7-300 é executado, em ambos os casos, um "complete restart“.

Pagina 25

Propriedades da CPU: Retentividade

Programação

Restart Completo com Bateria de Backup: Num restart completo, os blocos armazenados na RAM retentiva (OB, FC, FB, DB), bem como os bits de memória, temporizadores e contadores definidos como retentivos são mantidos. Só os bits, temporizadores e contadores não-retentivos são resetados.

Restart Completo sem Bateria de Backup: Se não existe bateria para manter a RAM sua informação é perdida. Só os bits de memória, temporizadores, contadores definidos como retentivos, além das áreas dos blocos de dados definidas como retentivas são armazenados em área não-volátil da RAM. Depois de um restart completo sem bateria de backup o programa tem que ser transferido novamente:

- a partir do módulo de memória (se inserido); ou- a partir do PG (se não existir módulo de memória).

Page 26: CLP Apostila Siemes S7 300

Operação: A carga de ciclo para funções de teste é regulado com essa opção: Na opção Process, funções de teste como "Monitor" ou "Monitor/Modify Variable" são limitadas de forma que o aumento do tempo de ciclo permitido não seja excedido. Testes com breakpoints e passos individuais (execução do programa linha a linha) não podem ser executados. Na opção Test, todas as funções de teste possíveis com PG/PC podem ser utilizadas sem restrições, mesmo que provoquem um aumento significativo do tempo de ciclo.

Opção Pré-Definida: Características pré-definidas (nível de proteção 1; não há password atribuído): A posição da chave na CPU determina a proteção: - Chave na posição RUN-P ou STOP: sem restrições- Chave na posição RUN: só é possível o acesso read-only (leitura)!

Pagina 26

Propriedades da CPU: Proteções

Programação

Password: Se foi atribuído um nível de proteção com password (apenas válido até um reset de memória), a pessoa que sabe a password tem acesso para leitura e escrita. A pessoa que não sabe a password tem as seguintes restrições:- proteção nível 1: corresponde às características pré-definidas-proteção nível 2: é apenas possível o acesso read-only, independentemente da posição da chave - proteção nível 3: não é possível nem o acesso para leitura nem o acesso para escrita, independentemente da posição da chave.Características de um Módulo em Operação com Proteção por Password

Exemplo: para executar a função "Modify Variable" deve-se escrever a password para um módulo ao qual foi atribuído o parâmetro de nível de proteção 2. Direitos de Acesso: É possível também introduzir a password para um módulo protegido no SIMATIC Manager:1.Selecione o módulo protegido ou seu programa S72.Introduza a password selecionando a seqüência de menus PLC -> Access Rights. Os direitos de acesso, depois da password ter sido introduzida, são apenas válidos até que a última aplicação S7 seja completada.

Page 27: CLP Apostila Siemes S7 300

System Diagnostics: Se o campo "Record cause of CPU STOP" está desativado não é enviada nenhuma mensagem para o PG / OP quando a CPU entra em STOP ("CPU Messages").

De qualquer forma a causa que levou a CPU ao estado STOP é armazenada no buffer de diagnóstico.

Pagina 27

Propriedades da CPU: Diagnótico / Relógio

Programação

Clock: As possibilidades de sincronização dos relógios em rede são apresentadas no capítulo “Solução de Problemas”.

É possível também ajustar automaticamente a hora no relógio de uma CPU independente através de um fator de correção.

Correction Factor: O fator de correção é utilizado para corrigir uma inexatidão do relógio após decorridas 24 horas.

O fator de correção tanto pode ser negativo como positivo.

Exemplo: Se o relógio está 3 segundos adiantado após 24 horas, isto pode ser corrigido com um fator de "-3000ms".

Nota: "Interrupts", "Time-Of-Day Interrupts" e "Cyclic Interrupt" são discutidos no capítulo “Blocos de Organização".

Page 28: CLP Apostila Siemes S7 300

Pagina 28

Propriedades da CPU: Comunicação

Programação

Comunicação: Toda conexão de comunicação ocupa um recurso de conexão (connection resource) na CPU do S7. Dependendo das especificações técnicas um número específico de recursos de conexão está disponível para cada CPU, os quais são ocupados por várias tarefas de comunicação (“PG/OP communication”, “S7 communication” ou “S7 standard communication”).

Quando as tarefas de comunicação efetuam “log on” os recursos de comunicação são distribuídos na seqüência do “log on”.

A ocupação dos recursos de conexão não depende somente da seqüência de “log on” das várias tarefas de comunicação, pois é possível também reservar recursos para as seguintes tarefas:

- “PG Communication”;

- “OP Communication”; e

- “S7 Standard Communication”.

Ao menos um recurso de conexão para “PG/OP Communication” é reservado. Valores menores não são permitidos.

Outras tarefas de comunicação como “S7 Communication” com funções PUT/GET não podem ocupar este recurso de conexão mesmo se elas realizarem sua conexão primeiro. Pelo contrário, os recursos de comunicação ainda disponíveis mas não reservados para uma tarefa são ocupados.

Page 29: CLP Apostila Siemes S7 300

Salvar: Para salvar a configuração atual no projeto atual selecione a seqüência de menus Station >Save (não são criados blocos de dados de sistema - SDBs).

Pagina 29

Salvando a Configuração de HW e Transferindo para o modulo

Programação

Transferência: Selecionando a seqüência de menus PLC > Download ou clicando no ícone da barra de ferramentas é possível transferir a configuração selecionada para o PLC. O PLC tem que estar no estado "STOP“!Blocos de Dados de Sistema: Os SDBs são gerados e modificados quando se configura o hardware.Os blocos de dados de sistema (SDBs) contêm os dados da configuração e os parâmetros do módulo, e são armazenados na memória de trabalho da CPU quando da sua transferência. Isso facilita a substituição de módulos, porque os dados de atribuição de parâmetros são transferidos para o novo módulo a partir dos blocos de dados de sistema no startup da CPU. No terminal de programação, os blocos de dados de sistema são armazenados no caminho: Project \ Station \ CPU \ S7_program \ Blocks \ System_data.Para abrir a lista de blocos de dados de sistema dê um duplo-clique no ícone

Se estiver utilizando um módulo Flash EPROM, os SDBs também devem ser nele armazenados. Assim sendo, a configuração não se perde se estiver trabalhando sem bateria de back-up e ocorrer uma falha na alimentação da CPU.

Page 30: CLP Apostila Siemes S7 300

Pagina 30

Tipos de Blocos de Programa

Programação

Blocos: O Controlador Lógico Programável oferece vários tipos de blocos nos quais o programa do usuário e seus dados podem ser armazenados. Dependendo das necessidades do processo este programa pode estar estruturado em diferentes blocos.

Função FC, SFC: Uma função (FC) contém uma parte funcional do programa. É possível programar funções de modo que sejam parametrizáveis. Com isso as funções são ideais para serem reutilizadas no programa, e para realizarem tarefas complexas como cálculos.Funções de sistema (SFC) são funções parametrizáveis integradas ao sistema operacional da CPU. Seu número e funcionalidade são fixos.

Bloco de Função FB, SFB: Basicamente os blocos de função oferecem as mesmas possibilidades que as funções. Adicionalmente, os blocos de função possuem sua própria área de memória, sob a forma de blocos de dados instance (instance data blocks). Com isso as funções são ideais para serem reutilizadas no programa, e para realizarem tarefas complexas como controle em malha fechada.Blocos de Funções de Sistema (SFB) são funções parametrizáveis integradas ao sistema operacional da CPU. Seu número e funcionalidade são fixos.

Blocos de Dados: Blocos de Dados (DB) são áreas de dados do programa do usuário nas quais os dados relativos ao mesmo são gerenciados de maneira estruturada.

Operações Permitidas: A utilização de todas as operações é possível em todos os blocos (FB, FC e OB).

Page 31: CLP Apostila Siemes S7 300

OB (Bloco de Organização): Os blocos tipo OB são em geral os responsáveis pela organização do programa do usuário.

Tem-se blocos de organização para o processamento cíclico do programa, para o processamento comandado por tempo e por interrupções.

Os procedimentos de partida da CPU e sua reação em caso de falhas podem ser também influenciados pela programação de OB´s especiais.

Podemos dizer porém que o bloco de organização mais importante é o OB1. Este bloco é o responsável pelo processamento cíclico do programa.

O bloco de organização OB1 é chamado pelo sistema operacional da CPU. Assim que a instrução JU (salto incondicional) ou JC (salto condicional) é encontrada, o programa linear é deixado e passa a ser executado o bloco chamado pelas instruções de salto. No término da execução deste bloco temos o retorno á instrução seguinte no OB1 que originou o salto.

A OB será chamada ciclicamente pelo sistema operacional. Ou seja, os blocos de aplicação devem chamados dentro de uma OB (Organization Block) para serem executados. Uma FB ou FC não irá fazer nada se não for chamada por uma OB.

A Tabela 03 seguinte lista os blocos de organização integrados no CLP SIMATIC S7-300.

Pagina 31

Blocos integrados e as suas funções

Programação

Page 32: CLP Apostila Siemes S7 300

O tipo de OB é definido por seu numero.

Executados continuamente (OB1 apenas):

Executados Periodicamente: S7 provê até nove cíclico interrupção OB´s (OB30 para OB38) que interrompem seu programa em intervalos fixos.

Pagina 32

OB – Bloco de Organização

OB1 Programa de execução cíclico

OB30 Cíclico interrupção (falha intervalo: 5s)

OB31

OB32

OB33

OB34

Tabela 01 – Avaliação de Blocos de Organização Integrados

Programação

OB35

OB36

OB37

OB38

Cíclico interrupção (falha intervalo: 2s)

Cíclico interrupção (falha intervalo: 1s)

Cíclico interrupção (falha intervalo: 500ms)

Cíclico interrupção (falha intervalo: 200ms)

Cíclico interrupção (falha intervalo: 100ms)

Cíclico interrupção (falha intervalo: 50ms)

Cíclico interrupção (falha intervalo: 20ms)

Cíclico interrupção (falha intervalo: 10ms)

Page 33: CLP Apostila Siemes S7 300

Exemplo de programa utilizando vários OB´s cíclico interrupção conforme suas prioridades de tempo.

A definição de onde colocar uma determinada lógica depende da necessidade do programa, existem lógicas que são mais rápidas e precisam de um ciclo de execução mais veloz, assim como existem aquelas que podem ser executadas com menos freqüência. Por exemplo, OB33 pode sofrer um pequeno atraso que não irá interferir no processo, já OB36 ex: atualização das saídas exige uma resposta muito mais rápida. Desta forma vamos dividir os programas de acordo com sua função e com a sua velocidade de execução.

Pagina 33

OB – Bloco de Organização

Programação

Figura – Tipos de OB´s e suas chamadas

Page 34: CLP Apostila Siemes S7 300

O tipo de OB é definido por seu numero.

OB´s de erros Assíncronos:

Pagina 34

OB – Bloco de Organização

OB80 Máx tempo de varredura excedido

OB81 Falha da bateria de backup

OB82 Quebra de fio na entrada de um módulo com capacidade de interrupção

OB83 Removendo um módulo de sinal durante o modo RUN

OB84 Nível de sinal de falha na interface MPI

Programação

OB85 Erro na atualização da imagem de processo (módulo com defeito)

OB86 Defeito em fonte de alimentação de bastidor de expansão

OB87 Identificador de mensagem incorreta (Erro de comunicação)

Page 35: CLP Apostila Siemes S7 300

Exemplo de programa utilizando OB de Erros Assíncrono.

Inserindo um Bloco: Selecione a seqüência de menus Insert > S7 Block > OB81 > linguagem STL

Pagina 35

OB – Bloco de Organização

Programação

Figura – Tipos de OB´s e suas chamadas

Page 36: CLP Apostila Siemes S7 300

Exemplo de programa utilizando OB de Erros Assíncrono.

Tarefa: O defeito na bateria deve resultar na amostragem de um erro no console operacional. Depois de trocada a bateria a mensagem deve automaticamente desaparecer.

Descrição: Em erros de fonte de alimentação p.ex. falha de bateria, OB 81 de erro é chamado uma vez pelo sistema operacional. Depois do erro ser eliminado o OB81 é chamado mais uma vez.

No programa exemplo, a variável #OB81_FLT_ID é avaliada, de forma a determinar se existiu um defeito na bateria. Neste caso a variável contém o valor 22H. A comparação desta forma é preenchida e o bit de memória M81.1 é acionado.

O erro mostrado será iniciado quando a bateria tiver falhado (entrando evento) e limpada depois que o erro tenha sido eliminado (saído evento).

Os seguintes identificadores estão na variável #OB81_EV_class

Ou seja: B#16#39 entrando evento

B#16#38 saindo evento.

O “SET” e o “RESET” do FLAG de memória auxiliar M81.0 é o arquivado através da avaliação destas variáveis.

No programa cíclico p.ex. OB1, o FLAG de memória auxiliar M81.0 pode ser lincado à uma memória geradora de pulso e ser atribuída a uma saída.

A saída então piscará enquanto a bateria estiver esgotada ou removida.

Pagina 36

OB – Bloco de Organização

Programação

Page 37: CLP Apostila Siemes S7 300

Exemplo de programa utilizando OB de Erros Assíncrono.

Área de dados do OB 81:

Pagina 37

OB – Bloco de Organização

Programação

Page 38: CLP Apostila Siemes S7 300

Exemplo de programa utilizando OB de Erros Assíncrono.

Pagina 38

OB – Bloco de Organização

Programação

Page 39: CLP Apostila Siemes S7 300

O tipo de OB é definido por seu numero.

OB´s STARTUP “partida”: Na Tabela seguinte, pode ser observado que é chamado OB pelo sistema operacional durante partida.

OB 121 erro de programação: O sistema operacional do CPU chama OB121 sempre que um evento acontece isso é causado por um erro relacionado ao processo do programa. Por exemplo, se seu programa chama um bloco que não esteve carregado no CPU, OB121 é chamado.

OB 122 erro de acesso as E/S: O sistema operacional do CPU chama OB122 sempre que um erro acontece enquanto dados esta sendo acessado em um módulo. Por exemplo, se o CPU descobre a leitura de erro quando dados esta sendo acessado em um módulo de E/S, o sistema operacional chama OB122.

Pagina 39

OB – Bloco de Organização

OB100 Procedimento de RESTART manual (STOP-RUN)

OB102 Procedimento de RESTART após recuperar energia

OB121 Removendo um módulo de sinal durante o modo RUN

OB122 Nível de sinal de falha na interface MPI

Programação

Page 40: CLP Apostila Siemes S7 300

Pagina 40

Estrutura do Programa

Programação

Page 41: CLP Apostila Siemes S7 300

Programa Linear: O programa completo se encontra em um bloco contínuo. Este modelo assemelha-se ao de um controle feito com relês, e que foi substituído por um controlador lógico programável. A CPU processa as instruções individuais uma após a outra.

Programa Particionado: O programa está dividido em blocos, dentro dos quais cada bloco contém somente um programa destinado a solucionar uma tarefa parcial. Internamente também é possível particionar o bloco através de segmentos (networks). É possível gerar padrões para networks do mesmo tipo.O bloco de organização OB 1 contém instruções para a chamada de outros blocos numa seqüência definida.

Programa Estruturado: Um programa estruturado contém blocos com parâmetros, ou parametrizáveis. Estes blocos são criados de forma a serem utilizados universalmente. Ao realizar a chamada de um bloco parametrizável são fornecidos parâmetros (os endereços exatos de entradas e saídas, e assim como de valores de parâmetros). Exemplo:• Um bloco “Bomba” possui instruções para o controle de uma bomba.• Os blocos de programa responsáveis pelo controle de bombas especiais chamam o bloco “Bomba” e transferem informações à respeito de qual bomba será controlada e com quais parâmetros.• Quando o bloco “Bomba” completa a execução de suas instruções o programa retorna para o bloco onde foi feita a chamada (por ex. OB 1), e o processamento das instruções continua.

Pagina 41

Estrutura do Programa

Programação

Page 42: CLP Apostila Siemes S7 300

Pagina 42

Inserindo um bloco S7

Programação

Inserindo um Bloco: Selecione a seqüência de menus Insert > S7 Block para visualizar uma lista com os diferentes tipos de blocos:• Os blocos de organização (OB) são chamados pelo sistema operacional. Eles compõem a interface entre o sistema operacional e o programa do usuário.

• Funções (FC) e blocos de funções (FB) contêm o programa atual do usuário. Eles permitem que um programa complexo seja dividido em unidades pequenas e fáceis de compreender.

• Os blocos de dados (DB) contêm os dados do usuário.

Após escolhido o tipo de bloco a caixa de diálogo "Properties" se abre para que se possa especificar o número do bloco e a linguagem de programação a ser utilizada (LAD, STL ou FBD).

Efetuando as escolhas e confirmando com o botão "OK” o novo bloco é inserido no programa atual.

Page 43: CLP Apostila Siemes S7 300

Pagina 43

Iniciando o Editor

Programação

Inicia-se o Editor LAD/STL/FBD selecionando Start > Simatic > STEP7 > LAD,STL,FBD - Programming S7 Blocks.

A forma mais rápida e recomendada para iniciar o Editor é:

1.Selecione o objeto "Blocks" na janela do projeto do SIMATIC Manager.

2.Faça um duplo-clique num bloco qualquer para abrir o Editor.

Elementos do Programa: Utilizando as linguagens de programação LAD e FBD pode-se inserir elementos gráficos simples de programação diretamente a partir da barra de ferramentas.

Clique no ícone "Program Elements" para abrir a outra janela contendo mais elementos de programa. O conteúdo desta janela depende da linguagem de programação selecionada (LAD/FBD/STL).

Page 44: CLP Apostila Siemes S7 300

Pagina 44

Componentes do Editor LAD/STL/FBD

Programação

Componentes Iniciando o Editor LAD/STL/FBD aparecem automaticamente duas janelas: a tabela de declarações e a seção de programa. O usuário pode abrir também uma terceira janela, designada "Program Elements".

Tabela de Declarações: A tabela de declarações pertence ao bloco. É utilizada para declarar variáveis e parâmetros para o bloco.

Seção de Programa: A seção de programa contém o próprio programa, dividido em segmentos separados (networks) se necessário. Durante a edição as entradas são analisadas para que a sintaxe fique correta.

Elementos de Programa: O conteúdo da janela "Program Elements" depende da linguagem de programação selecionada. Para que os elementos desta lista possam ser inseridos no programa selecione o elemento com o cursor e faça depois um duplo-clique no mesmo.Pode-se também inserir estes mesmos elementos arrastando-os com o mouse.

Page 45: CLP Apostila Siemes S7 300

Pagina 45

Componentes do Editor LAD/STL/FBD

Programação

Introdução: Existem várias linguagens de programação em STEP 7, que podem ser usadas dependendo da preferência e conhecimento. Aderindo a regras específicas, o programa pode ser criado em Lista de Instruções e depois convertido para outras linguagens de programação.

LAD: A representação em Diagrama de Contatos é muito similar a um diagrama de circuito elétrico. São utilizados símbolos como contatos e bobinas. Essa linguagem de programação é preferida por aqueles que “cresceram” com os contatores.

STL: A Lista de Instruções é composta por instruções STEP 7. Pode-se programar de uma forma praticamente livre em STL (algumas vezes ao ponto de já não conseguir seguir mais o programa). Esta linguagem de programação é preferida pelos programadores que já estão familiarizados com outras linguagens de programação.

FBD: O Diagrama de Blocos de Funções utiliza “caixas” para as funções individuais. O caractere na caixa indica a função (por ex. Temporizasores). Essa linguagem de programação tem a vantagem de que até um “não programador” como por exemplo um engenheiro de processo pode trabalhar com ela. O Diagrama de Blocos de Funções está disponível desde a Versão 3.0 do Software STEP7.

Page 46: CLP Apostila Siemes S7 300

Pagina 46

Operações Lógicas Básicas

Programação

Instruções de BIT: 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)

Page 47: CLP Apostila Siemes S7 300

Pagina 47

Operações Lógicas Básicas

Programação

Instruções para Setar, Resetar e Salvar: A função “flip-flop” consiste de operações de SET e RESET. As operações de Set e Reset somente são executadas quando RLO=1. Quando o RLO=0, o estado atual permanece inalterado. Se a condição para ambos, set e reset são verdadeiros simultaneamente, então em STL, a instrução programada por último tem prioridade. Em LAD e FBD é possível selecionar o bloco com prioridade na entrada setar ou na entrada resetar.

Page 48: CLP Apostila Siemes S7 300

Pagina 48

Operações Lógicas Básicas

Programação

Instrução Flanco de Impulso: A avaliação do flanco de impulso é freqüentemente necessária em um programa, narealidade, sempre quando no programa uma entrada muda para ON ou para OFF, ou quando o endereço é setado ou resetado.

Flanco de Impulso Positivo: Quando a entrada I1.0 muda seu estado de 0 para 1, como mostrado na figura ao lado, 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 Q8.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.

Page 49: CLP Apostila Siemes S7 300

Pagina 49

Exercício: Chave selecionadora de bombas

Programação

Figura – Circuito de força de duas motor-bombas

Dispositivo de entrada nívelCPU S7-315 DP

Botão A NAEndereço

I0.1 0

Dispositivo de saídaContatora C1 Q0.5

tabela – Endereços e nível lógico dos dispositivos de E/S.

Botão B NA I0.2 0

Contato rele térmico2 NA 0

3 ~

R1

C1

3 ~

R2

C2

Contato rele térmico1 NA 0

Chave duas posições I0.0 0 ou 1

Contatora C2 Q0.6

Botão C NA I0.3 0Botão D NA I0.4 1

Para aprender a programar o CLP S7-300 vamos desenvolver Lógica Ladder para acionar o circuito de força de duas motor-bombas conforme figura abaixo e as duas devem ser selecionadas para ligar/desliga por uma chave de duas posições de sinal lógico (0 e 1) Obs Os Reles térmicos 1 e 2 quando acionados deverão desabilitar as instruções de saídas independente da posição da chave seletora. Solução: Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela.

Page 50: CLP Apostila Siemes S7 300

Pagina 49

Exercício: Chave selecionadora de bombas

Programação

Solução: Passo 2

Construção do Fluxograma Analítico.

OB1

Bloco Cíclico

não

SIM

Posicionar chave para motorbomba 1

Rele Térmico 1Normal?

Posicionar chave para motorbomba 2

Rele Térmico 2Normal?

Aciona Contatora K1

Partida ou Parada do

motor-bomba 1?

STARTSTOP

Aciona Botão A

Desaciona Contatora K1

Aciona Botão B ou Rele Térmico 1

Aciona Contatora K2

Partida ou Parada do

motor-bomba 2?

STARTSTOP

Aciona Botão C

Desaciona Contatora K2

Aciona Botão D ou Rele Térmico 2

SIM

não

Page 51: CLP Apostila Siemes S7 300

Pagina 49

Exercício: Chave selecionadora de bombas

Programação

O Que Fazer 1. Configuração do Hardware

2. File new > chave selecionadora

3. Insert > STATION > 2.simatic 300 station

4.Selecione simatic 300 e com mouse clicar 2X e 2X sobre Hardware

5. Clicar sobre CPU-300 > CPU-313 > 6ES7 313-1AD03-0AB0 > V1.2 e arrastar com o mouse para slot 2 do rack na area de trabalho

6. Clicar sobre SM-300 > DI/DO-300 > SM323 DI16/DO16 x 24V/ 0,5ª e arrastar com o mouse para slot 4 do rack

7. Clicar sobre AI/A0-300 > SM334-AI4/A02 e arrastar para slot 5 do rack

8. Salve e feche HW config

Page 52: CLP Apostila Siemes S7 300

Pagina 50

Exercício: Chave selecionadora de bombas

Programação

. Configuração do Hardware:

Page 53: CLP Apostila Siemes S7 300

Pagina 51

Exercício: Chave selecionadora de bombas

Programação

O Que Fazer 1. No SIMATIC Manager, insira um bloco novo OB1 Clicar sobre Block com mouse direito > inset new object > organization block

2. Clicar 2 X sobre o bloco OB1 e mudar para linguagem Ladder (LAD)

3. Edite o Network 1 do OB1 ( conforme a figura)

4. Adicione um novo Network usando e programe o Network2 (conforme a figura).

5. Salve o bloco offline usando

6. Configure a interface de comunicação conforme a figura.

Page 54: CLP Apostila Siemes S7 300

Pagina 52

Exercício: Chave selecionadora de bombas

Programação

O Que Fazer

7. Transfira o bloco para a CPU usando

Page 55: CLP Apostila Siemes S7 300

Pagina 53

Exercício: Chave selecionadora de bombas

Programação

Programa OB1:

Page 56: CLP Apostila Siemes S7 300

Pagina 54

Efetuando Download

Programação

Transferindo

Pode-se transferir blocos para o CPU com o SIMATIC Manager: •clicando no ícone ou

•selecionando a opção de menu PLC > Download.

Antes de fazer isto deve-se selecionar os blocos a se transferir:

• Todos os Blocos: Selecione o objeto "Blocks“ na parte esquerda da janela do projeto.

• Alguns Blocos: Pressionando a tecla CTRL e selecionando os blocos.

• Um Bloco: Selecionando o Bloco.

Page 57: CLP Apostila Siemes S7 300

Pagina 55

Teste simples de Programa

Programação

Ativação / Desativação: Existem duas maneiras de ativar / desativar a função de teste “Monitor":

• clique no ícone

• selecione a opção de menu Debug > Monitor.

Visualização: O status do programa é mostrado de maneira diferente dependendo da linguagem de programação selecionada (LAD/STL/FBD).Quando a função de teste é ativada não é possível mudar a linguagem de programação do bloco que está sendo analisado (LAD/FBD/STL).

Page 58: CLP Apostila Siemes S7 300

Pagina 56

Temporizadores

Programação

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

Retentive On-Delay S_ODTS: Retardo na Energização com Retenção

Page 59: CLP Apostila Siemes S7 300

Pagina 57

Temporizadores

Programação

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

Pulse S_PULSE: Pulso

Extended Pulse S_PEXT: Pulso Extendido

Page 60: CLP Apostila Siemes S7 300

Pagina 58

Exercício: Sinalizador oscilante para falta de bateria CPU

Programação

Objetivo: O objetivo desse exercício é o desenvolvimento com 2 temporizadores no bloco OB1 um oscilador para sinalizar a falta de bateria (OB81) na CPU. Ver o bit de saida M81.0 do bloco OB81 pagina 38.

Page 61: CLP Apostila Siemes S7 300

Pagina 59

Contadores

Programação

Contadores: As três opções de contadores existentes são descritos a seguir. Uma área de memória é reservada para os contadores. Esta área de memória reserva uma palavra de 16 bits para cada endereço de contador até 256 (dependendo da capacidade da CPU). O valor máximo presetado é 999 (BCD).

. Contador Crescente S_CU: Com um “flanco de impulso” positivo na entrada S, o contador é setado com o valor da entrada SC. Iniciando com 0 ou SC, o contador conta crescentemente a cada vez que existe um flanco de impulso positivo na entrada CU. A 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 0 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.

Page 62: CLP Apostila Siemes S7 300

Pagina 60

Comparadores

Programação

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

Page 63: CLP Apostila Siemes S7 300

Pagina 61

Instruções para Bits

Programação

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, contanto que RLO = 1. Se o RLO mudar de 1 para 0 com o temporizador funcionando, o temporizador para.

Temp. Pulso Extendido SE: Se o RLO muda de 0 para 1, o temporizador SE recebe o valor do tempo.O temporizador funciona por um período específico, até mesmo se o RLO mudar para0 antes que o temporizador pare. Se o RLO muda de 0 para 1, o temporizador é setado novamente. O estado do sinal do tempo de scan resulta em RLO = 1, contanto que o temporizador esteja funcionando.

Page 64: CLP Apostila Siemes S7 300

Pagina 62

Instruções para Bits

Programação

Temp. On-Delay Retentivo SS: Se o RLO muda de 0 para 1, o temporizador SS recebe o valor de tempo.O temporizador funciona com o tempo especificado, até mesmo se o RLO mudar novamente para 0 antes que o temporizador pare de funcionar. Se o RLO mudar de 0 para 1, o temporizador é setado novamente. O estado do sinal do tempo de scan resulta em RLO = 1, contanto que o temporizador esteja funcionando.

Contador Crescente CU: A bobina CU incrementa de 1 o valor de um contador 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 0 para 1.

Page 65: CLP Apostila Siemes S7 300

Pagina 63

Exercício: Esteira Transportadora

Programação

Dispositivo de entrada nívelCPU S7-315 DP

Botão A NAEndereço

I0.1 0

Dispositivo de saídaContatora C1 Q0.5

tabela – Endereços e nível lógico dos dispositivos de E/S.

Emergência NF I0.2 1

Sensor S1 NA I0.0 0I0.3 0

C1 contatora

Figura – Circuito de força de um motor da esteira

3 ~

R1 Rele termico

S1 Sensor

Desejamos construir a Lógica LADDER para o acionamento; através do botão (I0.1); de uma esteira transportadora de peças conforme figura;e a mesma deverá contar 10 peças através do sensor S1 (I0.0) e após a contagem deverá desligar o motor da esteira (Q0.5) e resetar o contador. Obs independente do sensor contar 10 peças o motor deverá ser desligado caso seja acionado o rele térmico R1 (I0.3) ou parada de emergência (I0.2) Solução:Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela.

Contato rele térmico1 NA

Page 66: CLP Apostila Siemes S7 300

Pagina 64

Exercício: Esteira Transportadora

Programação

OB1Bloco Cíclico

não

SIM

Rele térmico 1 ou botão de emergência

normal ?

Aciona Botão A

Desabilita motor e RESET contador

Aciona motor Contador = 10 peças ?

SIM

não

Habilita Sensor

Solução: Passo 2

Construção do Fluxograma Analítico.

Page 67: CLP Apostila Siemes S7 300

Pagina 65

Programação

Programa OB1:

Exercício: Esteira Transportadora

Page 68: CLP Apostila Siemes S7 300

Pagina 66

Instrução CALL

Programação

A instrução “Call” é utilizada para disparar a execução de um outro bloco lógico. Na figura abaixo quando o 1°. bloco encontra a instrução Call, o programa interrompe a execução deste bloco e passa a executar a 1ª. instrução do bloco chamado. Após ser executada a última instrução do bloco chamado, o programa retorna ao bloco chamador e continua a sua execução logo após a instrução Call.

Chamada em LADsem parâmetros

Chamada em LADcom parâmetros

Page 69: CLP Apostila Siemes S7 300

Pagina 67

Instrução CALL

Programação

EN/ENO: Em Diagrama de Contatos (LAD) e em Blocos Funcionais (FBD) existe um sinal de habilitação do bloco (EN), isto é, o bloco é executado se e somente se o RLO=1 nesta entradaPossui também uma saída correspondente (ENO), que indica o se o bloco foi executado corretamente.

Funcionamento -se EN não é ativado (0), o bloco não é executado, e o ENO não é ativado (0).- se EN é ativado (1),o bloco é executado; se o bloco é executado sem erro, ENO é ativada (1)- se EN é ativada (1), o bloco é executado, se ocorre um erro na execução do bloco, o ENO não é ativado (0).

Page 70: CLP Apostila Siemes S7 300

Vista Geral: Funções (FC) representam parâmetros atribuíveis de blocos sem memória. No STEP 7 eles podem ter muitos parâmetros de entrada (input), parâmetros de saída (saída) e parâmetros de entrada/saída (in/out) conforme necessidade.Funções são primariamente usadas quando valores de funções são retornadas da chamada dos blocos (p.ex.: funções matemáticas, controle simples com operações lógicas binárias).

Instrução Chamada: Em uma chamada de FC, uma informação direta de troca entre o bloco chamado e a função chamada somente é possível via chamada EN/ENO ou CALL (sem parâmetros) ou com parâmetros.

Pagina 68

FC – Função

Programação

Page 71: CLP Apostila Siemes S7 300

Variáveis temporárias podem ser utilizadas em todos os blocos (OB, FC, FB). Elas são utilizadas para armazenar informações temporariamente enquanto o bloco está sendo executado. Os dados são perdidos quando é finalizada a execução do bloco.

Pagina 68

FC – Função – Variáveis Temporárias

Programação

Page 72: CLP Apostila Siemes S7 300

Pagina 69

Chamando um FC no OB1

Programação

Execução Cíclica:Para que um novo bloco criado seja parte integrante da execução cíclica do programa da CPU ele deve ser chamado no OB1. A forma mais fácil de inserir a chamada de um bloco graficamente em LAD e FBD é através da lista de instruções já conhecida (ver figura abaixo). Na linguagem de programação STL a instrução para a chamada de um bloco é a instrução CALL.

Page 73: CLP Apostila Siemes S7 300

Pagina 70

Exercício: Partida Direta com Reversão

Programação

Dispositivo de entrada nívelCPU S7-315 DP

Botão A NF DiretoEndereço

I0.0 1

Dispositivo de saídaContatora K1 Q0.5

tabela – Endereços e nível lógico dos dispositivos de E/S.

Botão B NF Reversão I0.1 1

I0.5 0

I0.3 1

Desejamos construir a Lógica LADDER para o acionamento do motor M1; através do botão (I0.0) Partida direta e botão (I0.1) Reversão.Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela.

Contatora K2 Q0.6

Contato rele térmico1 NA

Auxiliar K1 NFI0.4 1Auxiliar K2 NF

Page 74: CLP Apostila Siemes S7 300

Pagina 71

Exercício: Partida Direta com Reversão

Programação

FC1

Bloco Cíclico

não

SIM

Rele térmico 1 normal ?

Habilita K1

Solução: Passo 2

Construção do Fluxograma Analítico.

OB1

CALL FC1

Direto

Direto ou Reverso ?

Habilita K2

Reverso

Desabilita K1 ou K2

Page 75: CLP Apostila Siemes S7 300

Pagina 72

Exercício: Partida Direta com Reversão

Programação

1º Passo – Criar a função exemplo FC1 – Insert New Objeto Function FC1 LAD2º Passo – Clicar sobre FC1 e criar a logica Ladder como na figura abaixo.

Page 76: CLP Apostila Siemes S7 300

Pagina 73

Exercício: Partida Direta com Reversão

Programação

3º Passo – Clicar sobre OB1 e arrastar FC1 para Network1 conforme a figura.

Page 77: CLP Apostila Siemes S7 300

Pagina 74

Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão

Programação

Desejamos construir a Lógica LADDER para o acionamento de 3 motores (M1,M2,M3) em sequência após Partida do botão (I0.0). Usar Função Parametrizada para a logica de Partida Direta com Reversão.

Após 2s libera motor 2

Após 2s libera motor 3

Após 2s libera motor 1

Page 78: CLP Apostila Siemes S7 300

Pagina 75

Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão

Programação

1º Passo – Criar a função exemplo FC1 – Insert New Objeto Function FC1 LAD2º Passo – Clicar sobre FC1 e declarar as variaveis.

Page 79: CLP Apostila Siemes S7 300

Pagina 76

Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão

Programação

3º Passo – Após declarar as variavéis criar a logica LAD Partida Direta com Reversão e Inserir Symbol (variaveis declaradas) sobre os endereços das Instruções conforme a figura.

Page 80: CLP Apostila Siemes S7 300

Pagina 77

Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão

Programação

4º Passo – Clicar sobre OB1 inserir BIT i0.0, temporizador S_ODT ,arrastar FC1 parametrizado para Network1 e inserir saída m0.0 conforme a figura.

Motor 1

Page 81: CLP Apostila Siemes S7 300

Pagina 78

Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão

Programação

5º Passo – Inserir BIT m0.0, temporizador S_ODT ,arrastar FC1 parametrizado para Network2 e inserir saída m0.1 conforme a figura.

Motor 2

Parâmetros iguais, endereços diferentes.

Page 82: CLP Apostila Siemes S7 300

Pagina 79

Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão

Programação

6º Passo – Inserir BIT m0.1, temporizador S_ODT e arrastar FC1 parametrizado para Network3 conforme a figura.

Motor 3

Parâmetros iguais, endereços diferentes.

Page 83: CLP Apostila Siemes S7 300

Pagina 80

Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão

Programação

4º Passo – Clicar sobre OB1 inserir BIT i0.0, temporizador S_ODT e arrastar FC1 parametrizado para Network1 conforme a figura.

Motor 1

Page 84: CLP Apostila Siemes S7 300

Vista Geral: Blocos de Funções (FB) são blocos do programa do usuário e representam, de acordo com a IEC Standard 1131-3, blocos lógicos com memória. Eles podem ser chamados por OBs, FBs e FCs.

Diferentemente dos FCs, os FBs são inicializados, isto é, um FB é determinado por sua própria área de dados privada, por exemplo, pode “lembrar“ estados do processo de chamada para chamada. De forma simple, esta área de dados privados é seu próprio DB, o chamado DB instance.

Memória: O programador tem a oportunidade para declarar variáveis estáticas na seção de declaração do FB. O FB pode „lembrar" informações de chamada para chamada nestas variáveis. A possibilidade para um FB "lembrar" informações sobre diversas chamadas é a diferença essencial dos FCs.

Aplicações: Com a ajuda desta “memória“, um FB pode, por exemplo, implementar funções de contagem e temporização ou unidades de controle de processos, tal como estações de processamento, acionamentos, aquecedores, etc.Em particular, FBs são adequados para controle de todas unidades de processo cuja performance depende não somente de influências externas mas também em estados internos, tal como processamento passo-a-passo, velocidade, temperatura, etc. Quando controles como unidades, os dados de estado interno das unidades de processo são então copiadas para variáveis estáticas dos FBs.

Pagina 39

FB – Bloco de Função

Programação

Page 85: CLP Apostila Siemes S7 300

Formação Instance dos Blocos de Funções

Drive_1

FBx

+

DBy

Dados de estados p/ Drive_1

Algorítmosp/ controle

OB, FB or FC

chamada FBx, DBy......

Chamada de FB com DB Instance

chamada#Motor_1

.

chamada#Motor_2

DBx

...stat Motor_1 FBxstat Motor_2 FBx

Dados de estados p/ Drive_2

Dados de estados p/ Drive_3

FBx

FB Instance

Algorítmosp/ controle

FB

Drive_2

Drive_3

Declarações dentro de FBs(Multi-instances)

O conceito de FB com instance tem grande importância e estabelece o critério essencial de distinção com os FCs. A definição das variáveis dentro de linguagens de alto nível como “C” sob declaração de nomes de variáveis e tipos de dados na declaração é chamado de “instance”.A mesma forma de variáveis são também criadas nos FBs. Somente através desta ‘própria’ área de dados, na qual os valores dos parâmetros do bloco bem como variáveis estáticas são armazenadas, isto torna um FB a ser uma unidade executável (FB instance).

Pagina 39

FB – Bloco de Função

Programação

Page 86: CLP Apostila Siemes S7 300

Pagina 46

Chamando um bloco no OB1

Programação

Execução Cíclica:Para que um novo bloco criado seja parte integrante da execução cíclica do programa da CPU ele deve ser chamado no OB1. A forma mais fácil de inserir a chamada de um bloco graficamente em LAD e FBD é através da lista de instruções já conhecida (ver figura acima). Na linguagem de programação STL a instrução para a chamada de um bloco é a instrução CALL.

Page 87: CLP Apostila Siemes S7 300

Pagina 22

STEP 7 –

Programação

Page 88: CLP Apostila Siemes S7 300

Para solucionar tarefas complexas se faz necessário dividi-las em pequenas partes. Estas partes serão chamadas de blocos de programa. Cada bloco de programa irá executar uma parte da tarefa e estas partes serão gerenciadas por um único bloco de organização.

Pagina 14

Estrutura de Programação

PB´s

FB´s

Programação

Page 89: CLP Apostila Siemes S7 300

A linguagem STEP-5 apresenta os seguintes tipos de blocos, para a formação de um programa estruturado:

OB (Bloco de Organização): organiza os blocos de controle, pode ser considerado o Programa Principal (OB1). Podem ser numerados de 0 a 255 - OB0 a OB255.

PB (Bloco de Programa): são blocos utilizados para a programação das partes da tarefa a ser executada. Podem ser numerados de 0 a 255 - PB0 a PB255.

FB (Bloco de Função): são utilizados quando uma parte da tarefa exige operações avançadas ou suplementares. Também utilizado onde uma determinada tarefa se torne repetitiva no programa. Podem ser numerados de 0 a 255 - FB0 a FB255. Existem FB's que são padronizados para determinadas tarefas. (PID, posicionamento, conversão numérica, etc..)

DB (Bloco de Dados): são áreas de memória, onde podem ser armazenados dados. Dados estes que poderão ser utilizados pelos FB's, temporizadores, contadores, comparadores, etc.

Pagina 15

Estrutura de Programação

Programação

Page 90: CLP Apostila Siemes S7 300

OB (Bloco de Organização): Os blocos tipo OB são em geral os responsáveis pela organização do programa do usuário.

Tem-se blocos de organização para o processamento cíclico do programa, para o processamento comandado por tempo e por interrupções.

Os procedimentos de partida da CPU e sua reação em caso de falhas podem ser também influenciados pela programação de OB´s especiais.

Podemos dizer porém que o bloco de organização mais importante é o OB1. Este bloco é o responsável pelo processamento cíclico do programa.

O bloco de organização OB1 é chamado pelo sistema operacional da CPU. Assim que a instrução JU (salto incondicional) ou JC (salto condicional) é encontrada, o programa linear é deixado e passa a ser executado o bloco chamado pelas instruções de salto. No término da execução deste bloco temos o retorno á instrução seguinte no OB1 que originou o salto.

A Tabela 03 seguinte lista os blocos de organização integrados no CLP SIMATIC S5-95U.

Pagina 16

Blocos integrados e as suas funções

Programação

Page 91: CLP Apostila Siemes S7 300

OB (Bloco de Organização)

Pagina 17

OB – Bloco de Organização

OB1 Programa de execução cíclico

OB3 Execução de programa driver-interrupção

OB13 Execução de programa controlada-tempo

OB21 Procedimento de RESTART manual (STOP-RUN)

OB22 Procedimento de RESTART após recuperar energia

OB34 Procedimento depois de falha de bateria

OB já é programado; OB deve ser chamado através de programa de usuário

OB31 Disparo por tempo de scanneamento

OB251

OB Função

OB deve ser programado pelo usuário; chamado por sistema operacional

Algoritmo PID

Tabela 03 – Avaliação de Blocos de Organização Integrados

Programação

Page 92: CLP Apostila Siemes S7 300

Numeração dos SLOT´s

O CLP poderá ter no máximo quatro trilhos. Poderão ser utilizados 16 unidades de bus (32 slots). Os slots são numerados em sequência. A numeração começa no "0", sendo este o slot ao lado da CPU. Se existe ou não um módulo conectado a unidade de bus, não faz diferença, a numeração dos slot´s será a mesma.

Módulos Digitais

Os módulos digitais podem ser plugados em todos os slot´s (de 0 a 31). Somente dois estados de sinais (0 ou 1, ON ou OFF) podem ser transferidos por canal do módulo à CPU ou da CPU ao módulo. Cada canal do módulo digital mostra apenas um bit. Por esta razão que devem ser numerados.

Módulos Analógicos

Os módulos analógicos deverão ser montados entre os slot´s de 0 a 7. A memória requerida será de 16 bits = 2 bytes = 1 WORD ou palavra. Os módulos são endereçados byte a byte ou WORD a WORD através das operações de carga (L) ou transferência (T).

Pagina 18

Definição de endereço CPU S5 95U

Endereçamento

Page 93: CLP Apostila Siemes S7 300

Os elementos que constituem E/S diferem por meio de um endereço sem igual associado a cada um deles

Endereçamento dos Periféricos E/S Integrados

Pagina 19

Endereçamento e acesso aos Periféricos E/S

Endereçamento

Função Entradas Saídas

Periféricos Digital IntegradosI 32.0 – I 32.7I 33.0 – I 33.7

Q 32.0 – Q 32.7Q 33.0 – Q 33.7

Periféricos Analógicos IntegradosIW 40,IW 42, IW 44, IW46, IW48,

IW 50, IW54QW 40

Interrupçôes (alarmes) I 34.0 – I 34.3 --------------------

ContadoresContador A IW 36Contador B IW 38

--------------------

Page 94: CLP Apostila Siemes S7 300

O controlador programável pode ter um máximo de quatro trilhos.O S5-95U tem um máximo de 16 unidades de BUS (32SLOT´s).

Os SLOT´s são numerados consecutivamente. A numeração começa com " 0 " e é o slot ao lado do controlador programável (CPU). Se um módulo é plugado ou não isso não tem nenhum efeito na numeração.

Há dois tipos de módulos digitais com ranges de endereços diferentes:

• módulos Digitais com quatro ou oito canais podem ser plugados em SLOT´s 0 a 31

• módulos Digitais com mais de oito canais podem ser plugados em SLOT´s 0 a 7

Pagina 20

Numerando SLOT´s

Endereçamento

Figura 13 – Endereçando Módulos Digitais com Quatro ou Oito Canais

Page 95: CLP Apostila Siemes S7 300

Cada canal de um módulo digital é representado por um BIT. Esta é a razão que todos BIT´s deve ser nomeado seu próprio número. Use a forma seguinte para um endereço digital:

Exemplo: Um modulo de saída de 8 bit´s é plugado no slot 3 é utiliza se o bits 1 para lâmpada, então o endereço será Q 3.1.

Pagina 21

Numerando SLOT´s

Endereçamento

BIT endereço (número de canal)

Byte endereço (número do SLOT)

Page 96: CLP Apostila Siemes S7 300

Módulos digitais com mais de Oito Canais

Cada canal de um módulo digital é representado através um BIT. Cada BIT deve ser nomeado então um número separado. Um canal é enviado assim da maneira seguinte:

Pagina 22

Numerando SLOT´s

Endereçamento

Figura 15 – Endereçando Módulos Digitais com mais de 8 Canais

BIT endereço (número de canal)

Byte endereço (número do SLOT)

Page 97: CLP Apostila Siemes S7 300

Módulos analógicos

65536 diferentes tipos de informação ou seja (16 BITS) pode ser trocado em cada canal entre dois módulos analógicos.

Devem ser enviados os canais de um módulo analógico conforme um certo formato de dados

Os módulos analógicos são endereçados canal por canal que usa operações WORD.

• Quatro WORD são reservados por SLOT.

• O espaço de endereço analógicos permissível se estende byte 64 (slot 0, canal 0) para byte 127 (slot 7,

canal 3).

Pagina 23

Numerando SLOT´s

Endereçamento

Figura 17 – Endereçando Módulos E/S Analógicos

Page 98: CLP Apostila Siemes S7 300

Representação LAD: associação AND em Diagrama de contatos conforme figura 18

Representação CSF: associação AND em Diagrama de blocos conforme figura 19

Representação STL: associação AND em lista de instruções conforme figura 20

Pagina 24

Sintaxe

Programação

Figura 18 Figura 20

Figura 19

Page 99: CLP Apostila Siemes S7 300

Representação LAD: Associação OR em Diagrama de contatos conforme figura 21

Representação CSF: Associação OR em Diagrama de blocos conforme figura 22

Representação STL: Associação OR em Lista de instruções conforme figura 23

Pagina 25

Sintaxe

Programação

Figura 21 Figura 23

Figura 22

Page 100: CLP Apostila Siemes S7 300

Representação LAD: Associação AND + OR em Diagrama de contatos conforme figura 24

Representação CSF: Associação AND + OR em Diagrama de blocos conforme figura 25

Representação STL: Associação AND + OR em Lista de instruções conforme figura 26

Pagina 26

Sintaxe

Programação

Figura 24 Figura 26

Figura 25

Page 101: CLP Apostila Siemes S7 300

Representação LAD: conector ( # ) em Diagrama de contatos conforme figura 27

Representação CSF: conector ( # ) em Diagrama de blocos conforme figura 28

Representação STL: conector ( # ) em Lista de instruções conforme figura 29

Pagina 27

Sintaxe

Programação

Figura 27 Figura 29

Figura 28

Page 102: CLP Apostila Siemes S7 300

Representação LAD: Associação OR (complexo) contida em associação AND acionando diversas saídas simultaneamente em Diagrama de contatos conforme figura 30

Representação CSF: Associação OR (complexo) contida em associação AND acionando diversas saídas simultaneamente em Diagrama de Blocos conforme figura 31

Representação STL: Associação OR (complexo) contida em associação AND acionando diversas saídas simultaneamente em Lista de instruções conforme figura 32

Pagina 28

Sintaxe

Programação

Figura 30 Figura 32

Figura 31

Page 103: CLP Apostila Siemes S7 300

Os controladores programáveis da linha “ SIMATIC “ possuem duas áreas de memória chamada de acumuladores, e que por diante chamaremos acumuladores 1 (ACCU1) e acumuladores 2 ( ACCU2 ).

No texto nosso objetivo é demonstrar de que maneira podemos “ escrever “ e “ler” dados desta s área de memória.

1 - escrevendo dados na memória 1

Utilizando a instrução “LOAD” podemos escrever um determinado dado no acumulador 1 ( ACCU1 ).

Pagina 29

Acumuladores

L IW 0 -

ACCU2

125

ACCU1

Programação

Page 104: CLP Apostila Siemes S7 300

2 - Escrevendo um dado no acumulador 2

Como foi explicado no parágrafo acima, toda vez que utilizamos a instrução “LOAD”, um novo dado será escrito no acumulador 1 ( ACCU1 ), mas para que os dados que exista no acumulador 1 não seja perdido, este dado será transferido para o acumulador 2 antes do novo dado ser escrito no acumulador 1.

A primeira instrução ( L IW 0 ) faz com que o conteúdo da palavra de entrada “0” (IW0 = 125) seja carregado no acumulador 1.

Quando a Segunda instrução do tipo “LOAD” é processada ( LIW 2 ), o conteúdo da palavra de entrada “2” ( 147) será carregado no acumulador 1 ( 125 ) Ter sido copiado no acumulador 2.

OBS : sempre serão utilizados dois acumuladores quando a “CPU” do controlador tiver que processar a instruções onde dois elementos sejam necessário para a sua realização (soma, subtração, comparação, etc. ).

Além das funções acima citadas o acumulador 1 tem a função de ser o elemento do qual a CPU consegue efetuar a transferência de dados.

Pagina 30

Acumuladores

L IW 0 -

ACCU2

125

ACCU1

L IW 2 125147

Programação

Page 105: CLP Apostila Siemes S7 300

No exemplo abaixo o dado contido na palavra de entrada 4 ( “IW 4 “ ) é carregado no acumulador através da instrução “ L IW 4 “, este é o mesmo dado transferido para a palavra de saída 8 ( “QW 8” ) através da instrução “T QW 8”.

Pagina 31

Acumuladores

Programação

Page 106: CLP Apostila Siemes S7 300

Nem sempre a utilização dos sinais provenientes dos módulos de entradas e saídas (digitais ou analógicas), são suficiente para a elaboração de programas. Para estes casos, os controladores programáveis da linha “SIMATIC” possuem áreas de memória que podem ser utilizadas como elementos auxiliares. Estes elementos auxiliares foram denominados de “FLAGS”.

Os flags podem ser utilizado na forma de bit, byte ou WORD ( em algumas CPU’s podem ser utilizados na forma de dupla palavra (32 bits).

OBS: nos programas elaborados na linguagem “STEP-5” serão utilizados a seguinte denominação de flag’s

Flag = F

Flag-byte = FY

Flag-word = FW

Podemos dividir os “FLAG’s” em duas categorias:

Flag’s remanentes

Flag’s não remanente

Pagina 32

FLAGS ( Área de memória)

Programação

Page 107: CLP Apostila Siemes S7 300

1-Flag’s remanentes

Flag’s remanentes são assim denominados pois o circuito de memória onde os mesmos se encontram, são alimentados por uma bateria. Esta ligação ( circuito – bateria ) faz com que um flag que se encontre em nível lógico “1” permaneça neste estado, mesmo no caso de falta de energia elétrica.

EX: Os flags remanente são utilizados em programas de máquinas que armazenem informações do seu estado de funcionamento, e no caso de uma parada por falta de energia elétrica, mantenha estas informações, para que após o restabelecimento da energia, a mesma possa continuar processando um determinado produto, exatamente no mesmo ponto que se encontrava no momento da deserginação . ( máquinas de empacotamento, paletizadores, etc.).

2-Flag’s não remanente

Os flags são chamados de não remanente quando os circuitos de memória onde o mesmo se encontram não são alimentados por baterias de back-up. Isto faz com que um flag que se encontre em nível lógico “1” vá para o nível lógico “0” no caso de falta de energia elétrica.

Pagina 33

FLAGS ( Área de memória)

Programação

Page 108: CLP Apostila Siemes S7 300

EX: Ao contrario do exemplo anterior estes flags serão utilizados em programa de equipamento onde após falha de energia elétrica o equipamento começará a funcionar sempre pelo passo inicial, e não no passo em que o programa no momento da queda de energia.

OBS: o usuário deverá consultar a documentação da CPU que tiver sendo utilizada pois, a qualidade de flag’s varia de um modelo de CPU para outra. A quantidade de flag’s remanentes bem como a maneira de sua habilitação também deverá ser verificada.

EX: Existem CPU’s que possuem 2048 bits de flag’s ( 256 bytes – byte 0 até o byte 255)

Destes 2048 bits a primeira metade ( 128 bytes – byte 0 até byte 127 ) é constituída por flag’s do tipo remanente e Segunda metade constituída por flag’s do tipo não remanente ( 128 bytes – bytes 128 até o byte 255 ), e esta configuração não pode ser alterada, já em outro tipo de CPU a quantidade de flag’s remanente e não remanente é exatamente igual aqui exposto com a diferença de que os flags da faixa remanente podem ser utilizados como não remanentes pela através da mudança de posição de uma chave que encontrada no painel frontal da CPU.

Pagina 34

FLAGS ( Área de memória)

Programação

Page 109: CLP Apostila Siemes S7 300

Na tabela a seguir temos os endereço dos Flags ( F 0.0 a F 63.7 remanecentes ) e os Flags ( F 63.7 a F 255.7 ñ remanecentes ) para a CPU 095U.

Pagina 35

Ñ Remanecentes

64.0 a 255.7

Remanecentes

0.0 a 63.7

Numero de Flags

2048

CPU

095

FLAGS ( Área de memória)

Programação

Page 110: CLP Apostila Siemes S7 300

Neste capitulo vamos estudar o STEP5 que operam no sistema MS-DOS .

Este software deve ser instalado em um microcomputador. Após a instalação, quando você rodar este software, o seu microcomputador poderá ser usado como um terminal de programação e/ou manutenção do CLP.

A versão Step-5 utilizada neste curso é a 6.64 . Sendo assim temos que saber a linha de comando a ser digitada para acessar o programa conforme segue abaixo:

No win98 reiniciar em MS-DOS

C:\WIN\ cd c:\ enter

C:\cd step5 enter

C:\step5\cd s5_st enter

C:\step5\s5_st\s5 enter

STEP5

Pagina 36

Software STEP5

Page 111: CLP Apostila Siemes S7 300

Exemplo de Aplicativo 01

Para aprender a programar o CLP Simatic 95U vamos utilizar o exemplo aplicativo 01 criando Lógica Ladder para acionar o circuito de força liga/desliga de uma motor bomba conforme figura 34. O Rele térmico 1 quando acionado devera desabilitar a motor bomba e acionar uma lâmpada de sinalização. Solução: Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela 6.

Figura 34 – Circuito de força de 1motor-bomba

Dispositivo de entrada nívelCPU 095U

Botão A NAEndereço

I32.6 0

Dispositivo de saídaContatora C1 Q33.1

tabela 6 – Endereços e nível lógico dos dispositivos de E/S.

Botão B NF I32.5 1

3 ~

R1

C1

Contato rele térmico1 NA I1.0 0

Lâmpada amarela Q32.2

Pagina 37

Construção de Lógica para Aplicativo

Lâmpada liga Q32.1

Page 112: CLP Apostila Siemes S7 300

Exemplo de Aplicativo 01

Solução:Passo 2 – Construção do Fluxograma Analítico.

Inicio

Aciona botão A

Aciona contator C1

Fim

Botão B e rele térmico

normal ?

sim

Desaciona contator C1

não

Pagina 38

3 ~

C1

Figura 34 – Circuito de força de 1motor-bomba

Construção de Lógica para Aplicativo

Page 113: CLP Apostila Siemes S7 300

Etapas para a Programação de um CLP

STEP5

Figura 35 Pagina 39

Software STEP5

Criando um arquivo de programa novo

Quando vamos iniciar um novo programa, devemos criar um arquivo e nomeá-lo conforme nossa necessidade. Devemos seguir o seguinte caminho para a criação de um novo arquivo:

object project settings page 1

Na opção Program File selecione a tecla F3, no campo que se abre digite o nome desejado para o seu arquivo, obedecendo o número máximo de caracteres permitido e ENTER conforme figura 35.

Page 114: CLP Apostila Siemes S7 300

Criando um Bloco de Programa

Conforme o grau de complexidade do nosso programa devemos saber onde escrever as instruções. No caso de operações

básicas utilizamos os Blocos de Programa ( OB ou PB ). Devemos seguir a seguinte sequência para criarmos um OB ou PB:

editor step5 block in the program file conforme figura 36

Em block nomear o bloco de programa Exemplo: (OB, PB, FB) em seguida ENTER conforme figura 37.

STEP5

Figura 36 Pagina 40 Figura 37

Software STEP5

Page 115: CLP Apostila Siemes S7 300

Escolhendo o tipo de representação

Podemos escrever as instruções nos modos LAD, STL ou CSF conforme nossa necessidade ou conhecimentos. Para fazermos

esta opção devemos seguir os seguintes passos:

A tela irá se abrir no modo Edit. Este modo não permite a troca do tipo de representação, por isso devemos passar para o modo

Output.( descrito no canto superior direito da tela).

Ao visualizar a tela no modo Edit, clicar Uma Vez a tecla Enter e depois a tecla Esc.

Já no modo Output pressionamos simultaneamente as teclas Shift e F5, assim escolhendo tipo de representação.

Para voltarmos para o modo Edit pressionamos a tecla F6.

STEP5

Pagina 41

Software STEP5

Page 116: CLP Apostila Siemes S7 300

Criando um Bloco de Programa

Estando no modo de edição utilize as teclas “F1 a F8” e “SHIFT+F1 a SHIFT+F8” para edição do programa e substitua as

“?????” acima de cada instrução com suas respectivas entradas, saídas ou flags.

As linhas de programação RUNG são separadas por segmentos conforme a figura 38.

Após terminar de digitar o segmento 1 acionar F6 “compl seg” para ter acesso ao próximo segmento.

STEP5

Figura 38 Pagina 42

Software STEP5

Page 117: CLP Apostila Siemes S7 300

Após o termino do programa “segmento 2 figura 39 digitar F7 (Enter) e depois SHIFT+F7 para salvar.

Para verificar todos os segmentos do projeto acionar F5 “seg fct” e acionar “-1” para voltar ao segmento anterior e “+1” para o

próximo seguimento.

Dicas:

Quando desejamos inserir uma nova linha de comando entre duas linhas de comando já editadas colocamos o cursor em cima

do sinal : e pressionamos a tecla End.

Se desejamos apagar uma única linha de comando, colocamos o cursor em cima do sinal : e pressionamos a tecla Delete.

STEP5

Figura 39 Pagina 43

Software STEP5

Page 118: CLP Apostila Siemes S7 300

Transferindo o programa editado no PC para o CLP

Para fazer a transferência do programa editado no PC para o CLP devemos primeiramente verificar se ambos estão conectados

com o cabo de comunicação apropriado. O 1º passo é comunicar o PC com o CLP da seguinte maneira:

object project settings page 2

Selecione a opção Mode e pressione a tecla F3, concretizando a comunicação a janela passará de off line para on line

conforme figura 40.

Retorne para a tela anterior pressionando a tecla F8.

STEP5

Pagina 44

Software STEP5

Figura 40

Page 119: CLP Apostila Siemes S7 300

Para fazer a transferência siga a seguinte ordem:

object blocks transfer file/PLC.

Observe na janela que se abre se o arquivo é o que você deseja transferir. Digite o block ou selecione All block e Enter. Caso

afirmativo pressione a tecla YES.

Após a transferência, se o Led vermelho do CLP ascender “ CLP em stop “ acione a chave Run/Stop

para que o Led verde ascenda “ CLP em ciclo ” ou siga a seguinte ordem:

Test PLC Control Start PLC Enter conforme figura 41.

STEP5

Pagina 45

Software STEP5

Figura 41

Page 120: CLP Apostila Siemes S7 300

Analisando os Status dos Blocks

Para analisar o comportamento das instruções on line do block agir da seguinte maneira:

Test block status selecione o block enter. Somente é possível visualizar um bloco em Status por vez.

Obs. O CLP deve esta on line e RUN conforme os procedimentos das paginas 43 e 44.

Status na tela

O programa aparecerá na tela da seguinte forma:

+==========+ Indicam status ativado

+.....................+ Indicam status desativado.

Diretamente da tela de status é possível realizar alterações no bloco.

As alterações feitas neste modo serão gravadas somente no CLP.

STEP5

Pagina 46

Software STEP5

Page 121: CLP Apostila Siemes S7 300

Representado pelas letras S (SET) , onde indica a memorização do estado "1" para flags e saídas; R (RESET), indica que o estado memorizado pela função set esta desativado, ou seja coloca em zero o estado de sinal das saídas e ou flags, utilizado também para zerar temporizadores e contadores.

Pagina 47

Operação de SET / RESET

Instruções

Representação em diagrama de contato (LAD)

Representação em lista de instruções (STL)Representação em diagrama de blocos (CSF)

Page 122: CLP Apostila Siemes S7 300

O programa poderá utilizar as funções de temporização para implementar e monitorar sequências cronológicas. Os CLP’s da família SIMATIC S5 apresentam 5 tipos de temporizadores.

Pagina 48

Temporizadores

Instruções

SP(pulse time): temporizador para pulso.

SE(extended pulse time): temporizador para prolongamento do sinal.

SD(on delay): temporizador para retardo na energização.

SS(stored on delay and reset): temporizador para retardo na ligação com retenção.

SF(off delay): temporizador para retardo no desligamento.

Base de tempo:

0 = 0,01s

1 = 0,1s

2 = 1s

3 = 10s

Exemplo: L KT 5.2

L Instrução “LOAD” carregar

KT Constante de tempo

5 Valor do tempo: de 0 a 999

2 Base de tempo = 1 s

Page 123: CLP Apostila Siemes S7 300

Representação em diagrama de contato (LAD)

Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)

Pagina 49

Temporizadores “SP”

Instruções

Page 124: CLP Apostila Siemes S7 300

Representação em diagrama de contato (LAD)

Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)

Pagina 50

Temporizadores “SE”

Instruções

Page 125: CLP Apostila Siemes S7 300

Representação em diagrama de contato (LAD)

Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)

Pagina 51

Temporizadores “SD”

Instruções

Page 126: CLP Apostila Siemes S7 300

Representação em diagrama de contato (LAD)

Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)

Pagina 52

Temporizadores “SS”

Instruções

Page 127: CLP Apostila Siemes S7 300

Representação em diagrama de contato (LAD)

Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)

Pagina 53

Temporizadores “SF”

Instruções

Page 128: CLP Apostila Siemes S7 300

Os blocos são chamados a partir do OB1 com a instrução JU (jump = salto)

Quando o processador encontra, durante o programa, uma instrução de chamada (JUMP) desse tipo, é interrompido o bloco que está sendo processado e se inicia o processamento do bloco que foi chamado.

Uma vez atingida a última instrução desse bloco (BE), o processamento do programa retorna ao bloco que fez a chamada e prossegue na instrução seguinte.

JU é um salto incondicional (não depende de RLO=1)

JC é um salto condicional (depende de RLO=1)

obs.: Quando uma ação é condicional significa que a instrução anterior deve terminar em 1 para que a mesma seja executada. Ou seja, se uma soma de duas entradas resultou em 1, e se a próxima ação depender de RLO=1 para ser executada, então a mesma será. Quando a ação é incondicional, o resultado anterior não interessa.

Pagina 54

Chamada de blocos

Instruções

Figura 65 – Chamada de bloco a partir do OB1

Page 129: CLP Apostila Siemes S7 300

Exemplo de Aplicativo 02 Projetar uma Lógica LADDER para que motor-bomba1 sejá acionado por botão A e desacionado botão B e rele térmico 1 e motor-bomba 2 deverá ser acionado por um temporizador “SS” (on deley) após 10 segundo do acionamento da motor-bomba 1 e o mesmo deverá permanecer acionado mesmo que motor-bomba 1 desacione, também deverá ser desacionado por botão D e rele térmico 2.Solução: Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela 7.

Figura 66 – Circuito de força de duas motor-bombas

Dispositivo de entrada nívelCPU 095U

Botão verde NAEndereço

I32.6 0

Dispositivo de saídaContatora C1 Q33.1

tabela 7 – Endereços e nível lógico dos dispositivos de E/S.

Botão vermelho NF I32.5 1

Contato rele térmico2 NA I1.1 0

3 ~

R1

C1

3 ~

R2

C2

Contato rele térmico1 NA I1.0 0

Contatora C2 Q33.2

Botão vermelho NF I32.4 1

Pagina 55

Construção de Lógica para aplicativo

Lâmpada Bomba 1 Q32.1Lâmpada Bomba 2 Q32.7Lâmpada amarela Q32.2

Page 130: CLP Apostila Siemes S7 300

Exemplo de Aplicativo 02

Inicio

Aciona botão A

Aciona contator

C1

Partida ou Parada do contator

C1?

Aciona botão B

Partida Parada

Desaciona contator

C1

Aciona contator

C2

Fim

Partida ou Parada do contator

C2?

Aciona botão D

Partida Parada

Desaciona contator

C2

Bomba 1 Bomba 2

SIMSIM

NÃO

SIM

Dispara tempor.

TON

Tempo = 10s ?

1

1

NÃO

Rele termico1 desacionado?

Rele termico2 desacionado?

Pagina 56

Solução: Passo 2

Construção do Fluxograma Analítico.

Construção de Lógica para aplicativo

Alarme

NÃO

Alarme

Page 131: CLP Apostila Siemes S7 300

Passo 3: Construção da lógica Ladder

Conforme a pagina 39 figura 35 criar um novo arquivo com nome: fenix2ST.S5D

Seguindo os procedimentos da pagina 40 e figuras 36 e 37 criar o bloco operacional OB1. Seguindo a sequência abaixo criar as

instruções de chama incondicional para os blocos de programas PB1 ( lógica Ladder das motor bombas ) e PB2 ( lógica Ladder

de alarme ) conforme a figura 67:

SHIFT+ F2 ( BLOCK ) F4 ( JU ) digite PB1

SHIFT+ F2 ( BLOCK ) F4 ( JU ) digite PB2

F7 ( ENTER ) SHIFT+ F7 ( SAVE )

STEP5

Pagina 57 Figura 67

Software STEP5

Page 132: CLP Apostila Siemes S7 300

Passo 3: Construção da lógica Ladder ( continuação )

STEP5

Pagina 58 Figura 67

Software STEP5

Para criar o Bloco de Programa PB1 seguir os

procedimentos da pagina 40 e nomear PB1.

Para ter acesso a instrução S/R seguir a sequência:

F5 ( Binary op ) F7 ( S/R ) endereça como flag

remanescente ou ñ remanescente ( ver pagina 35 ).

Ao terminar a edição do segmento 1 do PB1 acione

F6 ( Compl seg ) para ter acesso ao segmento 2.

Para ter acesso a instrução Temporizador SS ( on deley )

Seguir a sequência: F5 ( Binary op ) SHIFT+ F4 ( SS )

Ao terminar de digitar a lógica do bloco PB1 acionar F7 ( ENTER ) SHIFT + F7 SAVE e ESC

Page 133: CLP Apostila Siemes S7 300

Passo 3: Construção da lógica Ladder ( continuação )

STEP5

Pagina 59

Software STEP5

Para criar o Bloco de Programa PB2 seguir os procedimentos da pagina da pagina anteriro 58.

Ao terminar de digitar a lógica do bloco PB1 acionar F7 ( ENTER ) SHIFT + F7 SAVE e ESC

Page 134: CLP Apostila Siemes S7 300

Correção do Exemplo de Aplicativo 02

Foi analisado na prática que a instrução de tempo “SS” ( retardo na ligação com retenção on delay ) uma vez acionado pelo bit

saída da contatora C1 ( motor bomba 1 ), mesmo que este desacione antes dos 10 segundos, o temporizador continuar a

decrementar o tempo e aciona o motor bomba 2, diferente do que desejamos ou seja:

A motor bomba 2 só poderá ser acionada caso o motor bomba 1 esteja acionada.

Devemos então substituir a instrução de tempo “SS” para que possa atender as condições acima.

Conclusão:

Foi substituído pela instrução de tempo “SD” ( retardo na ligação ), mas foi observado que será necessário criar no segmento 3 a

instrução S/R para acionar a motor bomba 2. Pois a saída de temporizador “SD” não é retentiva ou seja quando desabilita o

motor bomba 1 a saída do temporizador desabilita.

Seguir as modificações da pagina 61 e testar a lógica Ladder.

STEP5

Pagina 60

Software STEP5

Page 135: CLP Apostila Siemes S7 300

Substituir o seguimento 2 e criar o seguimento 3 conforme as figuras abaixo:

Segmento 2 Segmento 3

Pagina 61 Figura 72Figura 71

Software STEP5

STEP5

Page 136: CLP Apostila Siemes S7 300

O programa poderá utilizar as funções de contadores para contagem de eventos. Os CLP’s da família SIMATIC S5 apresentam 2 tipos de contadores.

Pagina 62

Instruções

CU - contador crescente ( a cada pulso de um sinal o contador incrementa 1 no seu registrador)

CD - contador decrescente ( a cada pulso de um sinal o contador diminui 1 no seu registrador)

Set - ativa o contador com um valor determinado em CV

CV - valor de contagem

R - zera o contador e tem prioridade sobre os demais.

BI - palavra de saída no formato binário

DE - palavra de saída em formato BCD

Exemplo: L KC 5

L Instrução “LOAD” carregar

KC Constante de contagem

5 Valor de contagem: de 0 a 999

Obs: O valor máximo que um contador pode assumir é "999. Se o contador tiver seu valor de contagem em "999" e a entrada para incrementar contador ( CU ) continuar a receber pulsos, estes pulsos serão perdidos, logo o valor de contagem permanecerá em " 999 “ e a entrada para decrementar contador ( CD ) Continuar, logo o valor de contagem permanecerá em “0”.

Contadores “CU” e “CD”

Page 137: CLP Apostila Siemes S7 300

Representação em diagrama de contato (LAD)

Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)

Pagina 63

Contadores “CU” e “CD”

Instruções

Page 138: CLP Apostila Siemes S7 300

O gráfico abaixo é um resumo dos acionamentos possíveis através dos contadores:

Pagina 64

Instruções

Contadores “CU” e “CD”

saída

KC

Page 139: CLP Apostila Siemes S7 300

Estas operações de comparação, comparam o conteúdo do acumulador 1 com o conteúdo do acumulador 2. Os valores a serem comparados portanto devem ser introduzidos primeiramente nos acumuladores, por exemplo com operações de carga ( LOAD ) Após uma operação de comparação, o acumulador permanece inalterado até uma nova instrução de carga. Nestas comparações podemos ter comparados bytes ou palavras de entrada (IB, IW), saídas (QB, QW), flags (FB, FW), constantes de contagem (KC), constantes de tempo (KT), constantes ou conteúdos de data words exemplo ( KF constante decimal ).

Pagina 65

Comparadores

Instruções

Tipos de comparações

Operação Função

!= F Comparação de igual

F Comparação de diferente

F Comparação de maior

F Comparação de menor

F Comparação de maior ou igual

F Comparação de menor ou igual

Exemplo: Vamos comparar dois bytes de entrada do CLP

Se IB 32 for maior que IB 33 ligar a saída 32.0

L IB32

L IB33

>F

= Q 32.0

BE

Page 140: CLP Apostila Siemes S7 300

Representação em diagrama de contato (LAD)

Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)

Pagina 66

Comparador de igual ! = F

Instruções

Page 141: CLP Apostila Siemes S7 300

Representação em diagrama de contato (LAD)

Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)

Pagina 67

Instruções

Comparador de diferente F

Page 142: CLP Apostila Siemes S7 300

Representação em diagrama de contato (LAD)

Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)

Pagina 68

Instruções

Comparador de maior F

Page 143: CLP Apostila Siemes S7 300

Representação em diagrama de contato (LAD)

Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)

Pagina 69

Instruções

Comparador de menor F

Page 144: CLP Apostila Siemes S7 300

Representação em diagrama de contato (LAD)

Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)

Pagina 70

Instruções

Comparador de maior ou igual F

Page 145: CLP Apostila Siemes S7 300

Representação em diagrama de contato (LAD)

Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)

Pagina 71

Instruções

Comparador de menor ou igual F

Page 146: CLP Apostila Siemes S7 300

KM Representação Binária 00000000 00000000 à 11111111 11111111

KF Representação Decimal com sinal + 32767 à - 32768

KH Representação Hexadecimal 0000 à FFFF

KY Representação em 2 bytes (direita e esquerda) 0,0 à 255,255

KT Constante do temporizador 000.0 à 999.3

KC Constante do Contador 000 à 999

KS ou S Constante de texto

Formato dos Dados

Pagina 72

Instruções

Page 147: CLP Apostila Siemes S7 300

Exemplo de Aplicativo 03

Desejamos construir a Lógica LADDER para o acionamento; através do botão (I32.6); de uma esteira transportadora de peças conforme figura 95;e a mesma deverá contar 10 peças através do sensor S1 (I32.0) e após a contagem deverá desligar o motor da esteira (Q33.1). Obs independente do sensor contar 10 peças o motor deverá ser desligado caso seja acionado o rele térmico R1 (I1.0) ou botão de parada (I32.5) Solução:Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela 18.

C1 contatora

Figura 95 – Circuito de força de um motor de

esteira

3 ~

R1 Rele termico

S1 Sensor

Pagina 73

Construção de Lógica para Aplicativo

Dispositivo de entrada nívelCPU 095U

Botão verde NAEndereço

I32.6 0

Dispositivo de saídaContatora C1 Q33.1

tabela 8 – Endereços e nível lógico dos dispositivos de E/S.

Botão vermelho NF I32.5 1

Contato rele térmico1 NA I1.0 0

Lâmpada motor ligado Q32.1

Sensor S1 NA I32.0 0

Page 148: CLP Apostila Siemes S7 300

Inicio

Aciona botão A

Fim

SIM

NÃO

SIMHabilita

motor da esteira

Sensor 10 peças?

NÃO

Rele térmico1 ou botão parada desacionado?

Reseta contador

Habilita sensor

Desabilita motor da esteira

Exemplo de Aplicativo 03

Solução: Passo 2

Construção do Fluxograma Analítico.

Pagina 74

Construção de Lógica para Aplicativo

Inicia a contagem

Page 149: CLP Apostila Siemes S7 300

Passo 3: Construção da lógica Ladder

Conforme a pagina 39 figura 35 criar um novo arquivo com nome: fenix3ST.S5D

Seguindo os procedimentos da pagina 40 e figuras 36 e 37 criar o bloco operacional OB1.

No segmento 1 digitar a lógica Ladder do acionamento do motor da esteira conforme figura 96

No segmento 2 digitar a lógica Ladder de contagem de peças conforme a figura 97

Para ter acesso ao contador seguir a sequência: F5 ( Binary op ) F2

STEP5

Pagina 75 Figura 97

Software STEP5

Figura 96

Page 150: CLP Apostila Siemes S7 300

Passo 3: Continuação da Construção da lógica Ladder

No segmento 3 digitar a lógica Ladder de comparação = 10 peças e desligamento do motor da esteira conforme figura 98.

Para ter acesso ao comparadores seguir a sequência: SHIFT + F5 (compare)

STEP5

Pagina 76 Figura 98

Software STEP5

Page 151: CLP Apostila Siemes S7 300

Pagina 77

FB – Bloco de Função

Programação

Podemos considerar que existem dois tipos de Blocos de Funções:

1-Blocos de Funções do Usuário:

Os Blocos de Funções do usuário, são aqueles desenvolvidos pelo usuário, para tarefas relativas á automatização de seu sistema. Os FB´s contêm em geral funções complexas, que podem ser necessárias varias vezes em um programa.

2-Blocos de Funções Standard:

Estes blocos são assim chamados, pois são elaborados e disponibilizados pelo próprio fabricante do equipamento, e em alguns casos já vem gravados na memória da própria CPU. Ex. FB´s básicos para conversão de sinais Decimal para BCD.

Os Blocos de Funções (FB´s) diferenciam-se dos Blocos de Programa (PB´s) em dois pontos importante:

Set de instrução ampliado - Nos blocos de funções, podemos utilizar instruções básicas, avançadas e de sistema.

Parametrização – Blocos de Funções podem ser construídos de maneira que possamos utilizar a mesma função em locais diferentes do programa, com parâmetros (endereços) diferentes em cada uma das chamas.

Obs: Nos FB´s não é possível a representação do programa LAD e CSF no primeiro segmento, nos demais a representação é exatamente igual à dos outros blocos (PB´s, OB´s etc).

Page 152: CLP Apostila Siemes S7 300

Pagina 78

FB – Bloco de Função

Programação

Na figura 99 temos o exemplo de um Bloco de Função Parametrizado (FB100) que será chamado no Bloco Operacional (OB1) para acionamento de 3 motor bombas consecutivas.

Utilizamos o FB parametrizado FB100 para executar 3 funções lógicas idênticas, porém com endereços diferentes. Imagine dez partidas estrela-triângulo tendo sua lógica de funcionamento digitada uma a uma.

Assim quando necessitar da lógica de partida, apenas preenchemos os campos com os devidos endereços de entradas e saídas.

Motor Bomba 1

FB 100

Motor Bomba 2

FB 100

Motor Bomba 3

FB 100

OB1

Figura 99

Page 153: CLP Apostila Siemes S7 300

Pagina 79

FB – Bloco de Função

1º vamos criar o Bloco de Função FB100, declarando seu nome, os parâmetros do blocos e seu programa de controle conforme a figura 100:

Obs: Não coloque espaço entre os caracteres e operando.

Após digitar toda a lógica acione F7 (ENTER).

Tipo de Parâmetro

Tipo de Dado

Nome

Programa de Controle.

No exemplo acima é a lógica de acionamento das bombas

Operando

LIGA DESL RELE

MOTO

MOTO

Software STEP5

Figura 100

Page 154: CLP Apostila Siemes S7 300

FB – Bloco de Função

2º vamos criar o Bloco de Organização OB1, onde no segmento 1 será chamado incondicional o FB100 para acionamento do motor Bomba 1 com os endereços conforme a figura 101:

Para chamar o bloco FB100 seguir a sequência: Shift+ F2 ( Blocks ) F1 JU FB e entre com os parâmetros e ao terminar acione F6 (compl seg) para ir para o segmento 2.

3º No segmento 2 conforme a figura 102 digite JU FB100 para chamar o FB de parametrização e entre com os endereços dos operando. Ao terminar acione F6 (compl seg) para ir para o segmento 3.

Pagina 80 Figura 102Figura 101

Software STEP5

Page 155: CLP Apostila Siemes S7 300

FB – Bloco de Função

4º No segmento 3 conforme a figura 103 digite JU FB100 para chamar o FB de parametrização e entre com os endereços dos operando. Ao terminar acione F7 (Enter) Shift+F7 (Save) .

Pagina 81Figura 103

Software STEP5

Page 156: CLP Apostila Siemes S7 300

Pagina 82

FB – Bloco de Função 250 e 251

Programação

Estes blocos de função transformam a faixa de valores nominais de um módulo analógico para uma faixa de valores normalizada que você especifica.

Lendo e normalizando um valor analógico FB 250

O bloco de função FB 250 lê um sinal analógico de um módulo de entradda analógico e transforma esse valor em um numero XA

Dentro da escala especificada. Definimos a faixa de valores nos quais o sinal analógico será convertido usando os parâmetros “upper limit” (OGR) limite máximo e “lower limit”(UGR) limite mínimo.

Especifique o tipo de valor analógico (tipo de canal) no parâmetro KNKT.

O Parâmetro BU é setado quando o valor analógico excede a escala nominal.

Saindo com um sinal analógico FB 251

Use o bloco de função FB 251 para mandar valores de saída a um módulo de saídas analógicas. Especifique o tipo de representação analógica do módulo (tipo de canal) no parâmetro KNKT. Valores entre o limite mínimo (UGR) e o limite máximo (OGR) são convertidos para a faixa de valores nominais designada para o módulo.

Page 157: CLP Apostila Siemes S7 300

Pagina 83

FB – Bloco de Função 250

Programação

Chamadas e Parâmetros possíveis CPU –95U

I/O externo

D KF 0 a 7

KY = x,yX = 0 a 3Y = 3 a 6

3: representação em valor absoluto

4: representação unipolar5: valor bipola absoluto

6: numero bipolar em ponto-fixo

-32767 a +32767

Tipo Possibilidades

-32767 a +32767

I/O interno

8

KY = x,yX = 0 a 7

Y = 4 representação unipolar

D KY

Irrelevante Varredura única com status em 1

Valor analógico escalonado é zero com quebra de fiação

Valor analógico escalonado

“1” com quebra de fiação, número ilegal de canal ou slot

ou tipo de canal ilegal

“1” com número ilegal de canal ou slot ou tipo de canal ilegal

Q BI “1” quando a faixa de valores é excedida

Q BI

Q W

I BI

D KF

D KF

Nº do slot

Descrição

Número do canal Tipo de

canal

Violação da faixa de valores

Bit de erro

Valor de saída

Varredura única

Limite mínimo

Limite máximo

BG

Parâmetro

KNKT

BU

FB

XA

EINZ

UGR

OGR

Page 158: CLP Apostila Siemes S7 300

Pagina 84

FB – Bloco de Função 251

Programação

Chamando e iniciando o FB 251 na CPU-95U

I/O externo

D KF 0 a 7

KY = x,yX = 0;1Y = 0;1

0: representação unipolar1:ponto-fixo bipola

-32767 a +32767

Tipo Possibilidades

-32767 a +32767

I/O interno

8

KY = x,yX = 0

Y = 0 representação unipolar

D KY

“1” se XE excede os limites UGR e OGR XE assume o valor limite

Q BI

D KF

D KF

Endereço do slot

Descrição

Número do canal Tipo de

canal

Bit de erro

Limite mínimo

Limite máximo

BG

Parâmetro

KNKT

BU

UGR

OGR

“1” se UGR=OGR, número inválido de canal ou slot, ou tipo de canal inválido

Q BIErro na configuração dos

valores limites

FEH

Valor de entrada (complemento de dois) dentro da escala UGR e OGR

IWValor analógico de saída

XE

Page 159: CLP Apostila Siemes S7 300

FB – Bloco de Função FB250 e 251

Nas figuras abaixo temos o exemplo de parametrização do bloco FB250 tendo a chamada incondicional pelo bloco OB1. Figura 103

E na figura 104 temos o bloco FB25o utilizado para trabalhar os sinais de entrada analógicas.

Pagina 85 Figura 102Figura 103

Software STEP5