Apostila CLP Avançado

Embed Size (px)

Citation preview

Escola SENAI Prof. Dr. Euryclides de Jesus Zerbini Campinas - SP

Controladores Lgicos Programveis Mdulo avanado

Programao Avanada CLP Siemens S7-300

Sumrio Item Controladores programveis Siemens Mdulos do CLP S7-300 Instalao e configurao Caractersticas funcionais O Gerenciador Simatic Configurando e parametrizando Conjunto de instrues avanadas do Step7 Instrues de lgica de bit 1) Set / Reset de flip-flop 2) Reset / Set de flip-flop Instrues de temporizao 1) Extended pulse S5 timer (S_PEXT) 2) Retentive on-delay timer (S_ODT) Instrues matemticas com nmeros inteiros Formato de dados do tipo inteiro 1) Add integer (ADD_I) 2) Subtract integer (SUB_I) 3) Multiply integer (MUL_I) 4) Divide integer (DIV_I) Instrues matemticas com nmeros em ponto flutuante (reais) 1) Add floating-point numbers (ADD_R) 2) Subtract floating-point numbers (SUB_R) 3) Multiply floating-point numbers (MUL_R) 4) Divide floating-point numbers (DIV_R) 5) Valor absoluto de um nmero real (ABS_R) 6) Raiz quadrada de um nmero real (SQRT_R) 7) Logaritmo natural de um nmero real (LN_R) Instrues de comparao com nmeros inteiros Instrues de converso de dados 1) Converso I_BDC 2) Converso BCD_I 3) Converso DI_BCD 4) Converso BCD_DI 5) Converso I_DI 6) Complemento de 1 de um nmero inteiro (INV_I) 7) Complemento de 1 de um nmero duplo inteiro (INV_DI) SENAI 21 23 30 31 33 37 41 42 44 45 46 48 52 54 56 58 61 63 64 70 74 75 75 77 77 78 80 80 2 Pgina 04 05 06 07 09 12

Programao Avanada CLP Siemens S7-300 8) Complemento de 2 de um nmero inteiro (NEG_I) 9) Complemento de 2 de um nmero duplo inteiro (NEG_DI) Instrues de deslocamento e rotao de dados 1) Deslocamento de um nmero inteiro direita (SHR_I) 2) Deslocamento de nmero duplo inteiro direita (SHR_DI) 3) Rotao de palavra dupla direita (ROR_DW) 4) Rotao de palavra dupla esquerda (ROL_DW) Instrues de salto 1) Jump incondicional Instrues para controle de programas 1) Funo Master Control Relay (MCR) A) Master Control Relay Activate (MCRA) B) Master Control Relay ON (MCR) D) Master Control Relay Deactivate (MCRD) 2) Chamada de funes (FC) Criando blocos de dados (DB) Criando um programa com blocos de funes (FBs) e blocos de dados (DBS) Instrues para converso A/D e D/A O mdulo analgico SM334 Instrues de converso Controle PID no CLP Siemens Simatic S7-315 2DP Proporcional Derivada Integral O Controle PID no CLP Procedimento para criao de um projeto com controle PID Controles PID com blocos de funo Parmetros de configurao de entrada do PID CONT_C FB41 Parmetros de configurao de sada do PID CONT_C Conjunto de instrues em STL Exerccios complementares 98 109 113 123 128 130 144 144 145 146 148 150 158 161 164 166 171 91 89 81 85 86 87 81 81

SENAI

3

Programao Avanada CLP Siemens S7-300

Controlador Programvel SIEMENS Simatic S7-300CONTROLADORES PROGRAMVEIS SIEMENSA linha SIMATIC S7 consiste de trs tipos de controladores programveis classificados de acordo com o desempenho de cada um deles. SIMATIC S7-200 um micro PLC desenhado para aplicaes de baixo desempenho. controlado por seu pacote de software especfico, os quais no esto inclusos na srie S5 e S7. SIMATIC S7-300 um mini controlador modular desenhado para aplicaes de baixo desempenho. SIMATIC S7-400 O S7-400 projetado para aplicaes de desempenho intermedirio a alto. Para referncias mais fceis, os nomes dos mdulos S7-300 sempre iniciam com um 3 e os mdulos S7-400 iniciam com um 4. ESTRUTURA DE HARDWARE DO S7-300

Com exceo de sistemas de pequeno porte, onde podemos utilizar apenas uma fonte e uma CPU Compacta, um sistema de controle baseado no CLP SIMATIC S7-300 geralmente composto por: SENAI 4

Programao Avanada CLP Siemens S7-300 Fonte (PS) CPU Mdulos de Expanso Mdulos de I/O (SM) Mdulos de Comunicao (CP) Mdulos de Funo (FM)

RACKS DE EXPANSO Chamamos de Rack Central (CR) o trilho que acomoda a CPU, no qual podemos acoplar at 8 mdulos de expanso. Caso haja a necessidade de mais mdulos de expanso, dependendo do modelo de CPU, a configurao pode ser ampliada atravs de Mdulos de Interface (IM) num total de at 3 Racks de Expanso (ER) cada qual com mais 8 Mdulos de Expanso, totalizando 32 mdulos para uma configurao centralizada. Caso a aplicao exija um nmero maior de mdulos ou mesmo uma distncia maior entre o Rack Central (CR) e os Racks de Expanso (ER) a configurao pode ser expandida atravs de uma rede Profibus-DP e estaes de I/O remoto ET 200. Tal expanso pode ser implementada atravs da interface Profibus-DP j integrada a algumas CPUs ou atravs de um Mdulo de Comunicao.

MDULOS DO CLP S7-300 RACK 1 - UNIDADE CENTRAL DE PROCESSAMENTO A CPU utilizada no S7-300 de modelo 312IFM, a qual j inclui os mdulos de entradas e sadas digitais incorporados (10 entradas e 6 sadas digitais). O part number deste mdulo 312-5AC02-0AB0

SENAI

5

Programao Avanada CLP Siemens S7-300 RACK 2 - FONTE DE ALIMENTAO A fonte utilizada neste CLP a de modelo PS 307 2A, com alimentao direta de 120 / 230V de entrada e 24VDC 2A de sada. O part number deste mdulo 1BA00-0AA0 RACK 4 - MDULO DE SINAL ANALGICO Os mdulos de sinal do SIMATIC S7-300 so comparveis nas funes aos mdulos de entrada e sada do S5. Contudo, em adio aos mdulos simples de sinal, o S7 tambm prov mdulos que podem receber parmetros e que tm capacidade de diagnstico. O mdulo analgico do CLP composto pelo modelo SM334, com 4 entradas e 2 sadas analgicas de 8 bits de resoluo cada uma.

O part number deste mdulo 334-0CE01-0AA0 Instalao e Configurao Com uma arquitetura modular o SIMATIC S7-300 prov economia de espao, flexibilidade de configurao e rpida expans. O CLP S7-300 no necessita de racks com nmeros predefinidos de slots para ser montado, o conjunto de mdulos encaixado e aparafusado sobre um trilho DIN padro, os mdulos so interligados uns aos outros atravs de um bus modular que fica embutido no trilho.

SENAI

6

Programao Avanada CLP Siemens S7-300 CARACTERSTICAS FUNCIONAIS Um amplo espectro de CPUs est disponvel para aplicaes simples ou aplicaes de grande performance. As CPUs possibilitam curtos tempos de ciclo, at 1s. por instruo binria, atravs de seus eficientes processadores. Para algumas tarefas especiais, existem CPUs Compactas com I/Os, funes tecnolgicas e interfaces de comunicao j integradas. A grande diversidade de mdulos de expanso permite a adaptao da configurao para qualquer tipo de aplicao, esto disponveis: Mdulos de I/O (SM) Digitais (24Vdc, 48-130Vuc, 120/230VAC, Rel etc) Analgicos (5V, 0-10V, 0/4 at 20mA, Hert etc)

Mdulos de Comunicao (CP) Profibus DP / FMS Ethernet AS-interface Serial Ponto-a-Ponto Modbus Mdulos de Funo (FM) Contadores rpidos Sadas de pulso rpida Controle de posio Controle de motor de passo Controle em malha fechada (PID)

Um total de at 32 mdulos de expanso pode ser utilizado em uma configurao centralizada. Os mdulos de expanso para S7-300 tambm so utilizados na estao de I/O distribudo ET 200M, possibilitando economia com peas de reposio em uma configurao distribuda com CLP S7300 e ET 200M. Comunicao Alem dos diversos mdulos de comunicao que podem ser agregados a configurao, toda CPU da srie S7-300 traz integrada a si uma porta de comunicao MPI (interface multi-ponto). Atravs desta porta a CPU programada e parametrizada. Com a porta MPI possvel ainda implementar uma rede de pequeno porte com equipamentos SIEMENS, tais como: CLPs SIMATIC S7-200/300/400 Controladores SIMATIC C7 Interfaces Homem Mquina SIMATIC HMI Computadores Industriais SIMATIC PC

Alm da interface MPI, alguns modelos de CPU possuem uma segunda interface de comunicao integrada Profibus ou Serial Ponto-a-Ponto.

SENAI

7

Programao Avanada CLP Siemens S7-300 Programao e Parametrizao A programao do CLP SIMATIC S7-300 suplementada atravs do software STEP7 disponvel em trs verses STEP7 Lite, STEP7 e STEP7 Professional, desenvolvidas para melhor atender as suas necessidades. Aplicaes O SIMATIC S7-300 oferece solues para as mais diversas tarefas de automao, nas seguintes reas: Engenharia de produo Indstria automobilstica Construo de mquinas especializadas Construo de mquinas em srie (todos os tipos de mquinas de produo), OEM Processamento de plstico Indstria de embalagens Indstria alimentcia e de cigarros Engenharia de processos (p. e. saneamento, automao predial)

Para aplicaes especiais, esto disponveis produtos adicionais dedicados que complementam a linha SIMATIC S7-300: Aplicaes prova de falhas, com a nova CPU 315F desenvolvida de acordo com as diretrizes TUV, assim como com os respectivos I/Os, agora possvel programar o conceito de falha segura em aplicaes centralizadas ou distribudas. Componentes especiais para instalao em locais agressivos suportam condies ambientais rigorosas, p.e. nveis de temperatura maiores. SIMATIC C7, CPUs da srie SIMATIC S7-300 com interface homem-mquina (IHM) integrada, ideal para aplicaes em que o espao para instalao extremamente restrito.

COMBINANDO HARDWARE E SOFTWARE Usando o software SET7, voc pode criar seu programa S7 dentro de um projeto. O controlador programvel S7 monitora e controla o processo com este programa.

SENAI

8

Programao Avanada CLP Siemens S7-300 Esquema bsico de controle via CLP

O GERENCIADOR SIMATIC Iniciando o SIMATIC Manager e criando um projeto O ponto inicial de acesso do gerenciador Simatic o cone dele, chamado de STEP7. Este cone abre a janela deste gerenciador na qual podemos configurar todo o hardware do CLP, bem como abrir um novo projeto de programao. Todo programa criado deve ser feito sobre um projeto que possui diversos objetos, sendo este objeto chamado de OB1. Deste gerenciador podem-se acessar todas as funes instaladas no sistema (sistema padro e todos os softwares). Desta janela podemos fazer o seguinte: Montar os projetos Configurar e fornecer parmetros de hardware Configurar as configuraes de comunicao Criar os programas Testar os programas e iniciar sua execuo SENAI 9

Programao Avanada CLP Siemens S7-300

ESTRUTURA DE UM PROJETO S7 Definio de um projeto Os projetos contm todos os dados e programas para uma soluo de automao. O propsito deles prover um armazenamento organizado de dados e programas criados para cada aplicao. Projetos no SETP7 No S7 um projeto contm todos os arquivos criados para um programa usurio no arquivo de projeto. Este arquivo de projeto contm informao necessria para edio e manuteno do programa do usurio, tais como ajustes de parmetros, bem como os catlogos e nomes de arquivos.

SENAI

10

Programao Avanada CLP Siemens S7-300 PROCEDIMENTO BSICO DE USO DO STEP7 Antes de voc criar um projeto, voc deve saber que os projetos no STEP7 podem ser criados em diferentes ordens.

Se voc criar programas com muitas entradas e sadas, recomendamos que voc configure o hardware do CLP em primeiro lugar. A vantagem disto que o S7 mostra os endereos possveis no editor de configurao de hardware (Hardware Configuration Editor). Se voc escolher a segunda opo, voc ter que determinar cada endereo e, dependendo dos componentes selecionados voc no poder chamar esses endereos via STEP7. Na configurao de hardware, voc pode no somente definir endereos, mas tambm alterar os parmetros e propriedades dos mdulos. Estrutura de projeto no Simatic Manager

Projeto A estrutura de um projeto de automao se inicia pelo cone de projeto, localizado no primeiro nvel, o qual identificado pelo nome do projeto. Simatic 300 Station (Estao de Hardware) Para definir e parametrizar o hardware deve-se criar a estao de HW (S7-300). A estao criada (S7-312IFM) pode ter seu nome alterado pelo usurio e seus mdulos so definidos pela ferramenta Station Configuration. Ao se definir os mdulos, o sistema automaticamente cria os subdiretrios respectivos (CPU, Programa, Blocks, etc.). SENAI 11

Programao Avanada CLP Siemens S7-300 S7 PROGRAM (PROGRAMAS S7) O programa do usurio referente a um CLP propriamente dito localizado sob o diretrio S7 Programs. Este diretrio pode estar associado ou no a uma estao especfica criada. Associada a um HW, o diretrio se encontra subordinado CPU. Caso contrrio, fica subordinado diretamente ao projeto. Nos subdiretrios Source e Blocks esto localizados os programas do usurio, em arquivos fonte ou em blocos S7, respectivamente.

CONFIGURANDO E PARAMETRIZANDO O S7 Pr-requisito: Para configurar o hardware um projeto j dever ter sido criado. Inserindo uma estao Para criar uma nova estao no projeto, siga estes passos: 1. Selecione um projeto 2. Crie o objeto para o hardware solicitado selecionando o comando do menu (Insert Station) No sub-menu voc pode selecionar as seguintes opes: Estao Simatic S300 Estao Simatic S400 Dispositivos de programao Outras estaes

SENAI

12

Programao Avanada CLP Siemens S7-300

CONFIGURAO DE HARDWARE Configurao de hardware O termo configurao se refere ao arranjo de racks, mdulos, racks de I/O distribudos e submdulos de interface na janela da estao. Os racks so representados por uma tabela de configurao que permite um nmero especfico de mdulos serem inseridos, assim como em um rack real. Na tabela de configurao, o Step7 automaticamente aloca um endereo para cada mdulo. Voc pode alterar esses endereos na estao se a CPU puder ser acessada livremente (um endereo pode ser alocado livremente para cada canal do mdulo, independente do seu slot). Voc pode copiar sua configurao to frequentemente quanto voc desejar para outros projetos Step7, modifica-los se necessrio e fazer o download para uma ou mais plantas existentes. Quando o CLP iniciar, a CPU compara a configurao criada com a atual configurao da planta. Quaisquer erros sero ento reconhecidos imediatamente e reportados. Com esta ferramenta possvel: Definir os mdulos utilizados (CPU, I/O, FM) e a sua parametrizao. Por exemplo: tipo de medio do mdulo analgico de entrada. Ler a configurao da CPU. Por exemplo: designao dos mdulos no rack. Ler diagnstico de dados referentes aos mdulos (system diagnostics)

Na janela online (diagnstico de HW) exibida a configurao da estao que est acessvel online. Informaes de status ou estado de operao de cada mdulo mostrado no relatrio simblico do mdulo (system diagnostics). A tecla F5 atualiza a exibio. Para obter mais informaes, basta dar um duplo clique no smbolo. A ferramenta iniciada, por exemplo, pela seleo de uma estao de hardware no Simatic Manager ou via comando do menu Edit Open Object. A pasta Simatic 300 Station, sub-pasta Hardware, contm toda a configurao de hardware do CLP usado no projeto iniciado.

SENAI

13

Programao Avanada CLP Siemens S7-300

Configurando O usurio especifica a posio dos mdulos no rack e os endereos so definidos automaticamente (nas CPUs 315-2 e do S7-400 o usurio pode alterar os endereos). A esta configurao denominaremos configurao parametrizada. Durante o incio a CPU checa a distribuio dos mdulos existentes, que denominada de configurao real. CPU carregada no slot 2 do barramento

SENAI

14

Programao Avanada CLP Siemens S7-300 Fonte de alimentao carregada no slot 1 do barramento

Mdulo de E/S carregado no slot 4 do barramento

SENAI

15

Programao Avanada CLP Siemens S7-300 Layout da janela da estao A parte inferior da janela da estao mostra uma viso detalhada do rack inserido / selecionado. Os nmeros de pedido (order numbers) e endereos (addresses) dos mdulos so mostrados no formulrio da tabela. A tabela tem sua estrutura exibida abaixo para um rack central equipado com alguns mdulos.

Tabela de configurao como uma imagem de um rack Para uma estrutura central voc arranja os mdulos ao lado da CPU em um rack e continua atravs das expanses adicionais dos racks. O nmero de racks que podem ser configurados depende da CPU que voc usa. Como voc faz em uma planta real, voc arranja seus mdulos em racks com o Step7. A diferena que os racks do Step7 so representados por tabelas de configurao que tem tantas linhas quantos slots para mdulos. A figura a seguir mostra um exemplo de como uma estrutura real convertida em uma tabela de configurao. Essa tabela corresponde ao rack utilizado. O Step7 automaticamente coloca o nmero dos racks em janelas em frente aos nomes. Exemplo: UR (universal rack) corresponde ao rack central nmero 0.

SENAI

16

Programao Avanada CLP Siemens S7-300 Ajustando parmetros Ao invs de setar chaves nos mdulos, todos os parmetros so definidos via software. Podem-se definir parmetros para a CPU e para determinados mdulos de I/O, tais como mdulos analgicos. Nos parmetros da CPU esto includos, entre outros, o tempo de superviso de durao de um ciclo ou o intervalo de tempo para execuo de partes do programa. Trocando mdulos Durante um restart completo, a CPU distribui os parmetros para todos os mdulos existentes. Assim, quando se substitui um mdulo defeituoso, a parametrizao para o novo mdulo ainda est disponvel, armazenada na CPU. Configurando o Hardware D-se o nome de configurao parametrizada configurao de hardware criada pelo usurio, determinando os mdulos existentes e sua localizao, bem como a parametrizao destes mdulos. A configurao executada pela ferramenta Configurador de Hardware. A partir do catlogo, selecionam-se os mdulos utilizados, posicionando-os no slot respectivo do trilho ou bastidor. Naturalmente inicia-se a configurao pelo trilho / bastidor para ento se posicionar os outros mdulos. Ao se posicionar um mdulo, o sistema automaticamente designa um endereo para ele. A parametrizao dos mdulos realizada dando-se um duplo clique sobre o mdulo desejado. Uma tela de configurao referente ao mdulo aparecer, permitindo a alterao dos parmetros. Catlogo eletrnico O catlogo eletrnico contm toda a lista de mdulos existentes no S7. Quando se clica na tecla +, teremos disponveis todos os mdulos do grupo selecionado. PARMETROS E PROPRIEDADES DA CPU Setando parmetros da CPU As propriedades das CPUs tem uma significncia especial para o comportamento do sistema. Nas caixas de dilogo de uma CPU, voc pode ajustar o seguinte, por exemplo: caractersticas de inicializao, reas de dados locais e prioridades para interrupo, reas de memria, comportamento retentivo, memria de clock, nvel de proteo e senha. Na guia GENERAL da CPU ou via propriedades da interface da CPU voc pode ajustar parmetros para as interfaces (por exemplo, interfaces MPI (multipoint interfaces) ou interfaces integradas PROFIBUS-DP). Via estas caixas de dilogo voc tambm pode acessar as caixas de dilogo de propriedades para a subrede a qual a CPU est conectada. Para os controladores programveis S7-300 voc tambm pode ajustar os parmetros para alguns mdulos no programa do usurio (por exemplo, para mdulos analgicos). Voc necessita chamar as funes de sistema (SFCs) WR_PARM, WR_DPARM e PARM_MOD no programa do usurio para realizar esta operao. Estes ajustes so perdidos em um reincio a frio. Entre outros, os seguintes parmetros podem ser setados na CPU: Endereo da interface MPI; Caractersticas de start-up / ciclo: tempo mximo de ciclo, ciclo de carga para comunicao, auto teste cclico e auto teste depois da energizao; Interrupo cclica (watchdog OB35); Memria retentiva (flags de memria marcadores de posio do programa), temporizadores, contadores e blocos de dados; Clock de memria: reduzir a freqncia de byte da memria; SENAI 17

Programao Avanada CLP Siemens S7-300 Diagnstico de sistema: enviar mensagens de diagnstico, detalhar registros no buffer de diagnstico.

Se o usurio no definir nenhum parmetro, os parmetros default sero utilizados pela CPU. Depois de setar os parmetros, deve-se transferi-los ao CLP, atravs do comando PLC Download. A CPU dever estar no modo STOP. Endereo MPI Se for necessrio conectar vrios CLPs entre si via interface MPI, devero ser adotados endereos diferentes para cada equipamento (CPU)

SENAI

18

Programao Avanada CLP Siemens S7-300

SENAI

19

Programao Avanada CLP Siemens S7-300 SETANDO PARMETROS EM MDULOS DE SINAIS Parmetros nos mdulos de sinais so variveis que contem os ajustes da resposta dos nveis de sinais dos mdulos (um ou mais por mdulo). Todos os mdulos tm ajustes default. Os ajustes para a maioria dos mdulos S7 podem ser modificados usando o HW Configuration ou pro meio de SFCs no programa do usurio. Existem dois tipos de parmetros para estes mdulos: Parmetros estticos ajustes dos mdulos podem ser modificados com o S7 HW Configuration, mas no com SFCs no seu programa. Parmetros dinmicos ajuste dos mdulos podem ser modificados no programa do usurio, mesmo se elas forem feitas com o Step7. Abaixo apresentada a tela de entrada para configurao do mdulo analgico.

SENAI

20

Programao Avanada CLP Siemens S7-300

Conjunto de instrues avanadas do STEP7INSTRUES DE LGICA DE BIT As instrues de lgica de bit trabalham com dois dgitos (1 e 0). Estes dois dgitos formam a base do sistema numrico chamado binrio. Os dois dgitos so chamados de dgitos binrios ou bits. No universo dos contatos e bobinas, um dgito 1 indica energizado ou ativado e o 0 indica no ativado / energizado. As instrues de lgica de bit interpretam os estados de sinal 1 e 0 e os combina de acordo com as regras de uma lgica Booleana. As combinaes produzem um resultado 1 ou 0, conhecidos como resultado da operao lgica (RLO). Funes As instrues de lgica de bit esto disponveis para as seguintes funes: AND, OR e XOR estas instrues checam o estado do sinal e produzem um resultado que pode tanto ser copiado para o bit RLO (resultado da operao lgica) ou combinado com ele. Com operaes de lgica AND, o resultado do sinal de estado combinado de acordo com a tabela verdade desta funo lgica. Com operaes lgicas OR, o resultado combinado de acordo com a TV da funo OR. As seguintes instrues reagem em funo de um RLO = 1 Set_Reset flip-flop e Reset_Set flip-flop. Set Output e Reset Output;

Algumas instrues reagem durante a subida ou descida do pulso. Assim, voc pode executar as seguintes instrues incrementar ou decrementar o valor de um contador; inicializar um temporizador; produzir uma sada 1. 1) Instruo Set Reset Flip-flop Descrio Esta instruo executa operaes de Set (S - liga) e de Reset (R desliga) somente quando RLO=1. Um RLO=0 no tem efeito sobre esta operao. O endereo especificado na operao permanece inalterado. Um flip=flop Set_Reset ligado se o estado do sinal 1 na entrada S e 0 na entrada R. Caso contrrio, se o estado do sinal 0 na entrada S e 1 na entrada R, o flip=flop resetado. Se RLO igual a 1 em ambas as entradas, o flip-flop tambm resetado. Esta instruo afetada pela instruo Rel Mestre de Controle (MCR), que veremos adiante.

Parmetros da instruo Set Reset de flip-flop

SENAI

21

Programao Avanada CLP Siemens S7-300 Exemplo de programa com a instruo

Exemplo de utilizao da instruo em bloco de funes (FBD)

Exemplo de utilizao da instruo em lista de instrues (STL)

SENAI

22

Programao Avanada CLP Siemens S7-300 2) Instruo Reset Set Flip-flop Descrio Esta instruo executa operaes de Set e Reset somente quando RLO igual a 1. O flip flop resetado se o estado do sinal 0 na entrada R e 1 na entrada S. Nas condies opostas (R=1 e S=0), o flip flop setado. Se RLO igual a 1 em ambas as entradas, ele ser setado. Esta instruo tambm influenciada pela instruo Rel Mestre. Parmetros da instruo Reset Set de flip-flop

Exemplo de programa com a instruo

Exemplo de utilizao da instruo em bloco de funes (FBD)

SENAI

23

Programao Avanada CLP Siemens S7-300 Exemplo de utilizao da instruo em lista de instrues (STL)

EXERCCIO Utilizando-se deste conjunto de instrues, montar um programa em linguagem FBD para realizar o controle de inverso de rotao de um motor trifsico. Convenes Boto desliga S0 Rel trmico F7 I124.0 I124.1 I124.2 I124.3

Boto liga S1(sentido horrio) Contator K1 Contator K2 Q124.0 Q124.1

Boto liga S2 (sentido anti-horrio)

Contato de intertravamento K1(31-32) Contato de intertravamento K2 (31-32)

I124.4 I124.5

SENAI

24

Programao Avanada CLP Siemens S7-300 RESOLUO DO EXERCCIO EM LINGUAGEM LADDER

EM LINGUAGEM DE BLOCOS DE FUNO (FBD)

SENAI

25

Programao Avanada CLP Siemens S7-300

SENAI

26

Programao Avanada CLP Siemens S7-300 Descrio das linhas de instruo do programa

SENAI

27

Programao Avanada CLP Siemens S7-300

SENAI

28

Programao Avanada CLP Siemens S7-300 INTERFACE ELTRICA DAS ENTRADAS E SADAS

SENAI

29

Programao Avanada CLP Siemens S7-300 INSTRUES DE TEMPORIZAO Os temporizadores tm uma rea reservada para eles na memria da CPU. Esta rea de memria reserva uma palavra de 16 bits para cada endereo de temporizador utilizado no programa. O set de instrues em Ladder suporta at 256 instrues no mesmo programa. As seguintes instrues tm acesso direto rea de memria de temporizao: Instrues de temporizao; Atualizao das palavras de temporizao durante o clock. Esta funo da CPU, em modo RUN, decrementa um dado valor de tempo de uma unidade no intervalo designado por uma base de tempo at que o valor de tempo seja igual a zero. Valor de tempo Os bits de 0 a 9 de uma palavra de temporizao contm o valor de tempo em modo binrio. Este valor especifica o nmero de unidades a serem decrementadas. A atualizao de tempo decrementa o valor de uma unidade no intervalo designado pela base de tempo e este continua at chegar a zero. Voc pode carregar o valor de tempo em uma palavra baixa do acumulador 1 em binrio, hexadecimal ou BCD (binary coded decimal). A escala de tempo vai de 0 a 9.990 segundos. Voc pode pr-carregar o valor de tempo usando ambos os formatos a seguir: W#16#wxyz, onde: W a base de tempo e wxyz o valor de temporizao S5T#aH_bbM_ccS_ddMS, onde: a = horas, bb = minutos, cc = segundos e dd = milisegundos. A base de tempo selecionada automaticamente. O mximo valor que voc pode carregar 9.990 segundos, ou 2H_46M_30S. Base de tempo Os bits 12 e 13 de uma palavra de temporizao contm a base de tempo em cdigo binrio. Ela define o intervalo no qual o valor de tempo decrementado de uma unidade. A menor base de tempo 10ms e a maior de 10s.

Pelo fato dos valores de tempo estar armazenados somente com um intervalo de tempo, valores que no so exatamente mltiplos deste intervalo sero truncados. Valores com resoluo muito alta para a faixa requerida so arredondados para encontrar a faixa desejada, mas no a resoluo requerida. A tabela abaixo mostra as possveis resolues e suas faixas correspondentes.

SENAI

30

Programao Avanada CLP Siemens S7-300 Configurao de bits na clula de temporizao Quando um temporizador inicializado, os contedos da clula de temporizao so usados como valor de tempo. Os bits 0 at 11 da clula armazenam o valor de tempo em BCD. Os bits 12 e 13 armazenam a base de tempo tambm em BCD. A figura a seguir exibe estas informaes com uma carga de valor de tempo em 127 e base de tempo em 1 segundo.

1) Extended Pulse S5 Timer (temporizador de pulso estendido) Descrio Esta instruo inicializa o temporizador se houver uma borda de pulso positiva (borda de subida de 0 para 1) na entrada Start (S). Uma mudana de sinal sempre necessria para este procedimento. O temporizador continua a rodar com o tempo especificado na entrada Time Value (TV valor de tempo), mesmo se o estado do sinal na entrada S mudar para 0 antes do tempo ter terminado. Um sinal de checagem de estado em 1 na sada Q produz um resultado de 1 enquanto o temporizador estiver rodando. O temporizador reinicializado com o tempo especificado se o estado do sinal na entrada S for de 0 para 1 enquanto ele estiver rodando. Uma alterao de 0 para 1 na entrada Reset (R) enquanto o temporizador est rodando faz o mesmo resetar. Essa alterao tambm reseta o tempo e a base de tempo dele. O valor atual de tempo pode ser monitorado nas sadas BI e BCD. O valor de tempo em BI est em formato BCD.

SENAI

31

Programao Avanada CLP Siemens S7-300 Exemplo de aplicao A figura abaixo mostra a instruo S_PEXT e as caractersticas do temporizador de pulso.

SENAI

32

Programao Avanada CLP Siemens S7-300 Configurao da instruo para FBD

Configurao da instruo para STL

2) Retentive On-Delay S5 Timer (temporizador retentivo em atraso) Descrio Esta instruo inicia o temporizador se houver um pulso positivo (de 0 para 1) na entrada Start (S). A mudana de sinal necessria para essa inicializao. O temporizador continua a rodar dentro do valor de tempo especificado na entrada Time Value (TV), mesmo se o estado do sinal na entrada S mudar para 0 antes do tempo ter expirado. Um sinal de checagem de estado em 1 na sada Q produz um resultado de 1 quando o tempo tiver terminado. O temporizador reinicializado com o tempo especificado se o sinal na entrada S mudar de 0 para 1 enquanto o mesmo estiver rodando. Uma mudana de 0 para 1 na entrada R provoca o reset do temporizador sem levar em considerao o valor de RLO na entrada S.

SENAI

33

Programao Avanada CLP Siemens S7-300 Exemplo de aplicao

SENAI

34

Programao Avanada CLP Siemens S7-300 Configurao da instruo para FBD

Configurao da instruo para STL

SENAI

35

Programao Avanada CLP Siemens S7-300 EXERCCIO PARTIDA CONSECUTIVA DE MOTORES TRIFSICOS Montar um programa em para controle de uma esteira transportadora de cereais que possui 4 motores trifsicos. A partida desses motores seqencial e temporizada (10s de intervalo entre a partida de um motor e do outro). O sistema tambm possui dois sensores de nvel no tanque de armazenamento (silo) e que controlam a condio dessas partidas. Se o silo estiver cheio (sensor 2 atuado), os motores no podem ligar. Se o nvel estiver intermedirio ou baixo, a partida liberada. Seqncia operacional Observe a seguir o circuito composto por quatro motores que devem partir em seqncia.

O circuito de comando para o circuito acima mostrado a seguir (esteiras transportadoras).

SENAI

36

Programao Avanada CLP Siemens S7-300 Quando o boto Ch1 acionado, o contador C1 e o rel d1 so energizados (se o sensor de nvel mnimo S1 der condies silo vazio). O motor M1 parte. Decorrido o tempo ajustado para d1, este energiza C2 e d2. O motor M2 parte. Decorrido o tempo ajustado para d2, este energiza C3 e d3. O motor M3 parte. Aps o tempo ajustado para d3, este energiza C4, dando partida a M4, o ltimo motor da seqncia. Quando o silo estiver cheio (sensor de nvel S2 atuado), os motores devem ser desligados instantaneamente. Aplicao O sistema de partida consecutiva aplicado no acionamento de correias transportadoras.

Os quatro motores devem acionar as esteiras e seu sentido de conduo M4, M3, M2, M1. Assim, as ligaes dos motores devem obedecer a seguinte ordem: M1, M2, M3 e M4, ou seja, no sentido inverso. Se um dos motores desligado em razo de sobrecarga, por exemplo, todos os motores frente dele no sentido da conduo sero desligados. O fornecimento de carga s esteiras interrompido e os motores montados anteriormente continuam a funcionar at o descarregamento das respectivas esteiras. Veja o resumo seqencial na tabela a seguir. Defeito no circuito comandado por: Desliga C4 C3 C2 C1 M4 M3 M2 M1 M4 M3 e M4 M2, M3 e M4 M1, M2 e M3 M1 e M2 M1 Conseqncia Desliga Continua ligado

SENAI

37

Programao Avanada CLP Siemens S7-300 INSTRUES MATEMTICAS COM NMEROS INTEIROS Antes de iniciarmos a abordagem deste grupo de instrues, veremos uma explanao sobre o que denominamos de palavra de estado (ou STATUS WORD). Status Word Esta palavra binria contm bits que voc pode usar como referncia no endereamento de instrues de lgica de bit ou ento em operaes matemticas, como o nosso caso neste momento. Veremos a seguir o significado do conjunto de 8 bits menos significativos desta palavra. Estrutura do Status Word

Convenes utilizadas no Status Word

Descries dos bits do Status Word FC First Check Bit 0 do status word. No incio de uma rede lgica Ladder, o sinal de estado do bit FC sempre 0, ao menos que uma rede prvia tenha terminado com a instruo ---(SAVE). A barra sobre a funo indica que ela negada, ou seja, sempre em 0 no incio de uma lgica Ladder. Cada instruo lgica checa o estado de sinal do bit FC assim como o estado de sinal do endereo da instruo de contato. O estado do sinal de FC determina a seqncia da lgica. Se FC 0 (no incio da lgica Ladder), a instruo armazena o resultado e ajusta o bit FC para 1. O processo de checagem chamado first check (primeira checagem). O 1 ou 0 que armazenado em RLO depois da primeira checagem ento referenciado como o resultado de FC. Se o estado do bit de FC 1, uma operao ento liga o resultado deste sinal com RLO formado pelo contato endereado desde a primeira checagem e armazena o resultado em RLO. Result of Logic Operation (RLO) Este o bit 1 da palavra de setado. Este bit armazena o resultado de uma instruo lgica ou comparaes matemticas. Por exemplo, a primeira instruo lgica em Ladder checa o estado do sinal de um contato e produz 1 ou 0 como resultado. Ela armazena este resultado no bit RLO. Uma segunda instruo tambm checa o estado de um contato e produz um resultado. Ento, a instruo combina este resultado com o valor armazenado em RLO usando lgebra booleana. O resultado desta operao lgica armazenado em RLO, alterando o valor anterior armazenado l. Cada instruo subseqente na execuo realiza uma operao lgica em dois valores: o resultado produzido quando a instruo checa o contato e o valor corrente de RLO.

SENAI

38

Programao Avanada CLP Siemens S7-300 Status Bit (STA) Bit 2 da palavra de estado, chamada de status bit. O bit de estado armazena o valor de um bit que referenciado. O estado de uma instruo de bit que tenha lido uma memria (contato normalmente aberto ou fechado) sempre o mesmo que o valor do bit que esta instruo verifica. O estado de uma instruo de bit que tenha escrito em uma memria (set coil, reset coil, output coil) o mesmo que o valor do bit que a instruo escreve ou, se no houver escrita, o mesmo valor do bit ao qual a instruo est referenciada. OR Bit (OR) Bit 3 da palavra de estado chamado de bit OR. Este bit necessite que voc use instrues de Contato para realizar operaes lgicas OR com uma funo AND. Este bit mostra instrues que foram previamente executadas e que forneceram valor 1. Overflow Bit (OV) Bit 5 da palavra de estado e indica a ocorrncia de um erro. Ele setado por uma instruo matemtica ou uma instruo de compao em ponto flutuante depois da ocorrncia de um destes erros: sobrecarga, operao ilegal, nmero ilegal. Stored Overflow Bit (OS) Bit 4 que setado juntamente com o bit OV se um erro ocorrer. Pelo fato do bit OS permanecer ligado depois do erro ter sido eliminado (diferentemente do bit OV), ele indica se um erro ocorreu em uma das instrues executadas previamente. Condition Code 1 and Condition Code 0 So os bits 6 e 7 da palavra de estado (CC1 e CC0) e fornecem informao nos seguintes resultados ou bits: Resultado de uma operao matemtica; Resultado de uma comparao; Resultado de uma operao digital; Bits que tenham sido deslocados ou rotacionados por um comando. A tabela abaixo lista o significado de CC1 e CC0 aps o programa do usurio executar certas instrues.

CC1 e CC0 depois da execuo de Instrues Matemticas com nmeros inteiros, sem Overflow CC1 0 0 CC0 0 1 Explanao Overflow de faixa negativa em uma adio com nmeros inteiros ou adio de duplo nmero inteiro Overflow de faixa negativa na multiplicao inteira e multiplicao de duplo inteiro. Overflow de faixa positiva em adio inteira, subtrao inteira, adio de duplo inteiro, subtrao de duplo inteiro, complemento de dois inteiro e complemento de dois de duplo inteiro. 1 0 Overflow positivo em multiplicao inteira e de duplo inteiro, diviso inteira e de duplo inteiro.

SENAI

39

Programao Avanada CLP Siemens S7-300 Overflow negativo em soma inteira, subtrao inteira, soma de duplo inteiro e subtrao de duplo inteiro. 1 1 Diviso por zero em diviso inteira, diviso de duplo inteiro e retorno de frao de duplo inteiro.

CC1 e CC0 depois da execuo de Instrues Matemticas em ponto flutuante, com Overflow

CC1 0 0 1 1

CC0 0 1 0 1 Overflow gradual Overflow de faixa negativa Overflow de faixa positiva Operao ilegal

Explanao

CC1 e CC0 depois da execuo de Instrues de comparao

CC1 0 0 1 1

CC0 0 1 0 1 IN2=IN1 IN2IN1

Explanao

IN1 ou IN2 so nmeros ilegais de ponto flutuante

CC1 e CC0 depois da execuo de Instrues de deslocamento e rotao

CC1 0 1

CC0 0 0 ltimo bit deslocado igual a 0 ltimo bit deslocado igual a 1

Explanao

CC1 e CC0 depois da execuo de Instrues de palavras lgicas

CC1 0 1

CC0 0 0 Resultado = 0 Resultado 0

Explanao

SENAI

40

Programao Avanada CLP Siemens S7-300 Binary Result Bit (BR) Este bit forma uma conexo entre o processamento de bits e palavras. Ele habilita o programa do usurio a interpretar o resultado de uma operao com palavra como um resultado binrio e a interpretar este resultado em uma lgica binria. Visto deste ngulo, o bit BR representa um marcador de memria interno no qual o bit RLO salvo em funo de uma operao de alterao de palavra RLO. Por exemplo: o bit BR torna possvel ao usurio escrever um bloco de funo (FB) ou uma funo (FC) em uma lista de instruo (STL) e ento chamar o FB ou FC de uma lgica Ladder. FORMATO DE DADOS DO TIPO INTEIRO Um nmero inteiro tem um sinal que indica se ele positivo ou negativo. O espao que este tipo de dado ocupa (de 16 bits) em uma memria chamado de UMA PALAVRA. A tabela a seguir mostra a faixa de um inteiro de 16 bits.

SENAI

41

Programao Avanada CLP Siemens S7-300 1) Add Integer (soma de nmeros inteiros) Descrio Aplicando-se nvel 1 na entrada Enable (EN) a instruo ativada. Ela realiza a soma entre os valores presentes nas entradas IN1 (input 1) e IN2 (input 2) e o resultado pode ser visualizado na sada OUT. Se o resultado estiver fora da faixa permitida para um nmero inteiro, os bits OV e OS da palavra de estado estaro em 1 e a sada ENO 0. Exemplo de aplicao

SENAI

42

Programao Avanada CLP Siemens S7-300 Converso do programa para STL

SENAI

43

Programao Avanada CLP Siemens S7-300 2) Subtract Integer (subtrao de nmeros inteiros) Descrio Aplicando-se nvel 1 na entrada Enable (EN), a instruo de subtrao ativada, realizando esta operao entre os valores das entradas IN1 e IN2 (IN1 IN2). O resultado pode ser visualizado na sada OUT. Se o resultado de sada estiver fora da faixa permitida para um nmero inteiro, os bits OV e OS da palavra de estado esto em 1 e a sada ENO (Enable Output) 0. Exemplo de aplicao

Converso do programa para STL A lgica 1 convertida para STL idntica ao programa anterior (ADD_I)

SENAI

44

Programao Avanada CLP Siemens S7-300 3) Multiply Integer (multiplicao de nmeros inteiros) Descrio Aplicando-se nvel 1 na entrada Enable (EN), a instruo de multiplicao ativada, realizando esta operao entre os valores das entradas IN1 e IN2 (IN1 X IN2). O resultado pode ser visualizado na sada OUT. Se o resultado de sada estiver fora da faixa permitida para um nmero inteiro de 16 bits, os bits OV e OS da palavra de estado esto em 1 e a sada ENO (Enable Output) 0. Exemplo de aplicao

Converso do programa para STL A lgica 1 convertida para STL idntica ao programa anterior (ADD_I)

SENAI

45

Programao Avanada CLP Siemens S7-300 4) Divide Integer (diviso de nmeros inteiros) Descrio Aplicando-se nvel 1 na entrada Enable (EN), a instruo de diviso ativada, realizando esta operao entre os valores das entradas IN1 e IN2 (IN1 / IN2). O quociente inteiro (resultado truncado) pode ser monitorado na sada OUT. A sobra no pode ser escaneada. Se o quociente estiver fora da faixa permitida para um nmero inteiro, os bits OV e OS da palavra de estado esto em nvel 1 e a sada ENO desligada. Exemplo de aplicao

Converso do programa para STL A lgica 1 convertida para STL idntica ao programa anterior (ADD_I)

SENAI

46

Programao Avanada CLP Siemens S7-300 Avaliando os bits da Palavra de Estado aps a execuo de instrues matemticas As instrues matemticas vistas at agora afetam os seguintes bits da palavra de estado aps sua execuo: CC1 e CC0 OV OS

O sinal (-) nas tabelas a seguir significa que o bit no afetado pelo resultado da operao matemtica. Tabela para valores dentro da escala vlida Escala vlida para o resultado com nmeros inteiros (16 e 32 bits) Bits da palavra de estado CC1 0 (zero) 16 bits 32 bits 16 bits 32 bits resultado entre 0 e o valor -32.768 (nmero negativo) resultado entre 0 e -2.147.483.648 (nmero negativo) resultado entre 0 e o valor 32.767 (nmero positivo) resultado entre 0 e 2.147.483.647 (nmero positivo) 0 0 CC0 0 1 OV 0 0 OS -

1

0

0

-

Tabela para valores fora da escala vlida Escala vlida para o resultado com nmeros inteiros (16 e 32 bits) Bits da palavra de estado CC1 0 (zero) 16 bits 32 bits positivo) 16 bits 32 bits negativo) resultado maior do que o valor 32.767 (nmero positivo) resultado maior do que o valor 2.147.483.647 (nmero resultado menor do que o valor -32.767 (nmero negativo) resultado menor do que o valor -2.147.483.648 (nmero 1 0 0 0 1 0 0 CC0 0 OV 0 OS -

SENAI

47

Programao Avanada CLP Siemens S7-300 INSTRUES MATEMTICAS COM NMEROS EM PONTO FLUTUANTE Introduo As funes em ponto flutuante do Simatic podem ser usadas para a realizao das seguintes instrues usando dois nmeros de 32 bits cada: Adio Subtrao Multiplicao Diviso

Estes nmeros de ponto flutuante em 32 bits so chamados de nmeros reais. Utilizando a matemtica em ponto flutuante com um nmero de 32 bits possvel realizarmos operaes dos tipos: Extrao de raiz (SQR) e raiz quadrada (SQRT) de um nmero; Estabelecer o logaritmo natural (LN); Estabelecer o valor exponencial (EXP) na base e (2,71828); Estabelecer as seguintes funes trigonomtricas de um ngulo: Seno (SIN) e Arcoseno (ASIN) de um nmero; Cosseno (COS) e Arcocosseno (ACOS); Tangente (TAN) e Arcotangente (ATAN).

Formato de dados do tipo REAL (nmeros de ponto flutuante) Em computao, o ponto flutuante descreve um sistema de representao numrica na qual uma string de dgitos (ou bits) representa um nmero real. O termo ponto flutuante refere-se ao fato de que o ponto decimal (ou ponto binrio em computao) pode flutuar, isto , pode ser colocado relativo ao nmero de dgitos significativos. Esta posio indicada separadamente na representao interna e a representao do ponto flutuante pode ento ser pensada como a representao de um nmero em notao cientfica. Atravs dos anos vrias formas de representao foram adotadas, mas nos ltimos anos a que foi aceita pelos fabricantes de CLPs foi a normalizao definida pela IEEE754-1985 (ou pela IEC 60559:1989). IEEE Institute of Eletrical and Electronics Engineers O formato de um nmero em ponto flutuante no STEP7 O formato segue a norma ANSI/IEEE 754-1985 e que consiste dos seguintes elementos: O sinal S O expoente e = E + bias, acrescido de uma constante (bias = 127)

A parte fracionria da mantissa m. Toda a parte da mantissa de um nmero no armazenado com o resto, porque ele sempre igual a 1 se o nmero est dentro a faixa vlida. Os trs componentes juntos ocupam uma palavra dupla de 32 bits.

SENAI

48

Programao Avanada CLP Siemens S7-300 Usando os trs componentes S, e e m, o valor de um nmero representado neste formato definido por uma frmula:

NMERO = (s) 1,m X 2e-127Onde: e: expoente (=-127). Em outras palavras, o expoente armazenado com o -127 adicionado a ele m (mantissa (23 bits)), ou seja, a parte inteira (que pode ser 1 ou 0) seguida pela parte fracionria s: para um nmero positivo, S = 0 e para um nmero negativo, S = 1

Exemplo:

Converter o nmero binrio acima para um nmero real em ponto flutuante

1) s = 0

o valor inteiro +1

2) 0 expoente = 124. Ento e = 124 127 = -3 01111100 (2) = 0X27 + 1X26 + 1X25 + 1X24 + 1X23 + 1X22 + 0X21 + 0X20 = 0 + 64 + 32 + 16 + 8 + 4 = 124 3) m = 1.01 (em binrio). Em decimal, um nmero binrio fracionrio convertido assim para decimal:

SENAI

49

Programao Avanada CLP Siemens S7-300 Valor da faixa para nmeros em ponto flutuante Usando o formato em ponto flutuante mostrado abaixo, os resultados so os seguintes: O menor nmero 1,175495E-38 e O maior nmero 3,402823E+38 O nmero zero representado com e=m=0; e=255 e m=0 so usados para infinito.

A tabela a seguir mostra os bits de sinal de estado da palavra de estado para os resultados das instrues com nmeros em ponto flutuante que no esto dentro da faixa permitida.

Exemplos de formatos de nmeros em ponto flutuante As informaes abaixo mostram o formato em ponto flutuante para os valores decimais a seguir: 10.0 Pi = 3.141593 Raiz quadrada de 2 = 1.414214

Outro exemplo mais complexo:

SENAI

50

Programao Avanada CLP Siemens S7-300 Exemplos de nmeros reais de 32 bits

SENAI

51

Programao Avanada CLP Siemens S7-300 1) Add Floating-point Numbers (soma de nmeros em ponto flutuante nmeros REAIS) Descrio Um sinal de nvel 1 na entrada Enable (EN) ativa a instruo e realiza a soma dos valores presentes nas entradas IN1 e IN2 (IN1 + IN2). O resultado pode ser monitorado na sada OUT. Se o resultado est fora da faixa permitida (acima ou abaixo dos valores limites), os bits OV e OS da palavra de estado esto em 1 e a sada ENO desativada.

SENAI

52

Programao Avanada CLP Siemens S7-300 Monitorao da instruo ADD_R

SENAI

53

Programao Avanada CLP Siemens S7-300 2) Subtract Floating-point Numbers (subtrao de nmeros em ponto flutuante nmeros REAIS) Descrio Um sinal de nvel lgico 1 na entrada Enable (EN) ativa esta instruo e realiza a subtrao entre dois nmeros reais em ponto flutuante (subtrai o valor da entrada IN1 da entrada IN2). O resultado pode ser monitorado na sada OUT. Resultados fora da faixa permissvel (acima ou abaixo dos limites) resultam em nvel lgico 1 nos bits OV e OS, alm de desabilitar a sada ENO.

SENAI

54

Programao Avanada CLP Siemens S7-300 Na monitorao:

SENAI

55

Programao Avanada CLP Siemens S7-300 3) Multiply Floating-point Numbers (multiplicao de nmeros em ponto flutuante nmeros REAIS) Descrio Um sinal de nvel lgico 1 na entrada Enable (EN) ativa esta instruo e realiza a multiplicao entre dois nmeros reais em ponto flutuante (multiplica o valor da entrada IN1 com o da entrada IN2). O resultado pode ser monitorado na sada OUT. Resultados fora da faixa permissvel (acima ou abaixo dos limites) resultam em nvel lgico 1 nos bits OV e OS, alm de desabilitar a sada ENO.

SENAI

56

Programao Avanada CLP Siemens S7-300 Monitorao da instruo

SENAI

57

Programao Avanada CLP Siemens S7-300 4) Divide Floating-point Numbers (diviso de nmeros em ponto flutuante nmeros REAIS) Descrio Um sinal de nvel lgico 1 na entrada Enable (EN) ativa esta instruo e realiza a diviso entre dois nmeros reais em ponto flutuante (divide o valor da entrada IN1 pelo da entrada IN2). O resultado pode ser monitorado na sada OUT. Resultados fora da faixa permissvel (acima ou abaixo dos limites) resultam em nvel lgico 1 nos bits OV e OS, alm de desabilitar a sada ENO.

SENAI

58

Programao Avanada CLP Siemens S7-300 Monitorao da instruo

SENAI

59

Programao Avanada CLP Siemens S7-300

SENAI

60

Programao Avanada CLP Siemens S7-300 5) Estabelecendo o valor absoluto (ABS) de um nmero em ponto flutuante Descrio Na matemtica, o valor absoluto (ou mdulo) de um nmero Real o seu valor numrico sem o seu sinal. Por exemplo, 3 o valor absoluto de -3. Em programao de computadores, a funo matemtica usada para realizar este clculo chamada de ABS. Com esta instruo podemos estabelecer o valor absoluto deste tipo de nmero (em ponto flutuante.

SENAI

61

Programao Avanada CLP Siemens S7-300 Monitorao da instruo

SENAI

62

Programao Avanada CLP Siemens S7-300 6) Estabelecendo a raiz quadrada de um nmero em ponto flutuante Descrio Esta instruo extrai a raiz quadrada de um nmero e produz um resultado positivo quando o endereo maior do que zero (nica exceo: raiz quadrada de -0 -0). A instruo ativada quando a entrada Enable (EN) igual a 1. O resultado SQRT (sada OUT) armazenado em uma memria de palavra dupla (MD30). Se MD30 for menor do que 0 ou se o resultado est fora da faixa permissvel para nmeros em ponto flutuante, a sada ENO ligada e o valor de MD igual a zero.

SENAI

63

Programao Avanada CLP Siemens S7-300 Monitorao da instruo

7) Estabelecendo o logaritmo natural (LN) de um nmero em ponto flutuante Descrio Esta instruo extrai o logaritmo natural de um nmero atravs da ativao da instruo, pela aplicao de um sinal em nvel 1 na entrada Enable (EN). O nmero a ser calculado inserido na entrada IN e o resultado armazenado na memria de palavra dupla indicada na sada OUT. Se o valor da entrada IN for menor que zero ou estiver fora da faixa permissvel, a sada ENO desabilitada. O logaritmo natural o logaritmo de base e, onde e um nmero irracional aproximadamente igual a 2,71828... (chamado Nmero de Euler). , portanto, a funo inversa da funo exponencial. Em termos simples, o logaritmo natural uma funo que o expoente de uma potncia de e, e aparece freqentemente nos processos naturais (o que explica o nome "logaritmo natural"). Esta funo torna possvel o estudo de fenmenos que evoluem de maneira exponencial. Ele tambm chamado de logaritmo neperiano, do nome de seu inventor , o matemtico escocs John Napier (ou John Naper).

SENAI

64

Programao Avanada CLP Siemens S7-300

Monitorao da instruo

SENAI

65

Programao Avanada CLP Siemens S7-300 INSTRUES DE COMPARAO Introduo As instrues de comparao do Simatic so realizadas entre dois nmeros que podem ser dos tipos Inteiro, Duplo Inteiro e Real (ponto flutuante). Instrues com nmeros inteiros: 1. EQ_I 2. NE_I 3. GT_I 4. LT_I 5. LE_I 6. EQ_D 7. NE_D 8. GT_D 9. LT_D 10. LE_D igual a (equal to); diferente de (not equal to); maior que (greater than); menor que (less than); maior ou igual a (less equal to); igual a (equal to); diferente de (not equal to); maior que (greater than); menor que (less than); maior ou igual a (less equal to);

Instrues com nmeros duplos inteiros:

SENAI

66

Programao Avanada CLP Siemens S7-300 Instrues de comparao com nmeros inteiros

SENAI

67

Programao Avanada CLP Siemens S7-300 Monitorao das instrues de comparao com nmeros inteiros

SENAI

68

Programao Avanada CLP Siemens S7-300 EXERCCIO DE APLICAO CENTRIFUGADORA DE AUCAR Desejamos desenvolver um programa para automatizar uma centrifugadora de acar. Este equipamento utilizado nas usinas de acar para converter o melao (caldo de cana concentrado) em acar cristal. Processo

Dispositivos de controle LSH (level sensor high): sensor de nvel alto SV (solenoid valve): vlvula solenide VS (vibration sensor): sensor de vibrao TT (temperature transmitter): transmissor de temperatura SS (speed sensor): sensor de movimento (rotao) Condies iniciais para o carregamento SV-1 e SV-2 fechadas Esteira transportadora em movimento Temperatura em 60C (TT) Motor parado

SENAI

69

Programao Avanada CLP Siemens S7-300

Operao 1. Abrir SV-1 para a entrada do melao 2. Quando o melao atingir o nvel desejado, o sensor de nvel LSH enviar um sinal para o fechamento de SV-1 3. O motor da centrfuga dever ser acionado por um tempo pr-ajustado (trs minutos) 4. Decorrido o tempo de centrifugao, o motor dever ser desligado 5. Aps 15 segundos (tempo necessrio para a parada do conjunto aps o desligamento do motor), a Sv-2 ser acionada para o incio da descarga, que deve durar 30 segundos 6. Reincio de um novo carregamento Condies de segurana O processo dever ser interrompido (parada do motor que aciona a centrfuga) caso ocorra pelo menos uma das situaes abaixo: Alta temperatura (TT atuado) Excesso de vibrao (VS atuado) Motor da esteira parado (SS sem sinal)

O equipamento somente entrar em funcionamento novamente se um boto de rearme for acionado. Convenes Vlvulas solenides acionadas = nvel 1 Motor em funcionamento = nvel 1 Temperatura normal = nvel 1

SENAI

70

Programao Avanada CLP Siemens S7-300 Instrues de comparao com nmeros duplos inteiros Descrio As instrues de comparao de nmeros duplos inteiros realizam comparaes entre dois nmeros de ponto flutuante de 32 bits cada. Se a comparao verdadeira, o resultado lgico da operao (RLO) igual a 1. Caso contrrio, igual a 0. Formato de dados do tipo duplo inteiro (DINT)

Exemplos de formato: Mnimo L# -2147483648 Mximo L# +2147483647 Nota: no formato binrio, um nmero inteiro negativo representado pelo complemento de 2 deste mesmo nmero positivo. O programa exemplo a seguir realiza comparaes entre o valor 10 (inteiro simples) e o valor indicado pela memria de palavra MW0, que, quando convertida para palavra duplo inteiro, exibe os 16 bits mais significativos desta palavra.

SENAI

71

Programao Avanada CLP Siemens S7-300

SENAI

72

Programao Avanada CLP Siemens S7-300

EXERCCIO Converter os nmeros decimais abaixo para duplo inteiro (DINT) e realizar as comparaes com a instruo EQ_D. 15 = 44 = 127 = 410 = 23 = 95 = 256 = 525 =

2 16 = 65536 2 18 = 262144 2 20 = 1048576 2 22 = 4194304 2 24 = 16777216

2 17 = 131072 2 19 = 524288 2 21 = 2097152 2 23 = 8388608 2 25 = 33544432

SENAI

73

Programao Avanada CLP Siemens S7-300 INSTRUES DE CONVERSO DE DADOS Formato de nmeros Cdigo BCD O dgito de um nmero decimal pode ser codificado com quatro dgitos binrios. Esta representao deriva do fato que o maior nmero decimal de um dgito, que o nmero 9, necessita de pelo menos quatro posies para a representao binria. Para representar os dez dgitos decimais (de 0 a 9) em cdigo BCD, ser usada a mesma representao que seria utilizada para nmeros binrios de 0 at 9. De 16 combinaes possveis de quatro dgitos binrios, seis no so utilizadas. Exemplo de um nmero em formato BCD:

Nmeros inteiros (integer) O tipo de dados INT um nmero inteiro (de 16 bits). O bit de sinal (bit 15) indica se este um nmero positivo ou negativo (0 positivo e 1 negativo). A faixa de um inteiro, como j foi visto, est entre -32768 e +32767. Um inteiro ocupa uma palavra de memria. Em formato binrio, um inteiro negativo representado como o complemento de dois de um nmero positivo quando inverte o estado do sinal de todos os bits e adiciona 1 ao resultado. Exemplo de complemento de dois de um nmero inteiro:

Nmeros reais Um nmero Real (tambm chamado de nmero de ponto flutuante) um nmero positivo ou negativo que abrange valores tais como 0,339 ou -11,32. Tambm pode ser expresso em forma de nmero em potncia de 10. Por exemplo, o nmero 1024 pode ser escrito desta forma 1,024E3 Este nmero ocupa duas palavras de memria e o sinal definido pelo bit mais significativo (MSB). Os bits restantes representam o expoente e a mantissa. A faixa deste tipo de nmero est entre -3,402823E38 a 3,402823E38.

SENAI

74

Programao Avanada CLP Siemens S7-300 1) Converso de um nmero inteiro para BCD (I_BCD) Descrio Esta instruo l o contedo da entrada IN como um nmero inteiro e o converte para um nmero de 3 dgitos codificado em BCD (compreendido entre -999 e +999). O resultado pode ser visto na sada OUT. Se uma sobrecarga (valor acima da faixa) ocorrer, a sada ENO ser igual a zero. 2) Converso de um nmero BCD para inteiro (BCD_I) Descrio Esta instruo l o contedo da entrada IN como um nmero de 3 dgitos codificado em BCD (+/999) e o converte para um valor inteiro (16 bits). O resultado inteiro exibido na sada OUT. ENO sempre tem o mesmo estado de sinal de EN (enable).

M

SENAI

75

Programao Avanada CLP Siemens S7-300

SENAI

76

Programao Avanada CLP Siemens S7-300 3) Converso de um nmero duplo inteiro para BCD (DI_BCD) Descrio Esta instruo l o contedo da entrada IN como um nmero duplo inteiro de 32 bits e o converte para BCD de sete dgitos (+/- 9999999). O resultado exibido na sada OUT e se ocorrer uma sobrecarga, a sada ENO desligada. 4) Converso de um nmero BCD para duplo inteiro (BCD_DI) Descrio Esta instruo realiza a operao inversa da instruo anterior. A sada ENO tem sempre o mesmo estado da entrada EN.

SENAI

77

Programao Avanada CLP Siemens S7-300

5) Converso de um nmero inteiro para duplo inteiro (I_DI) Descrio A instruo l o contedo do parmetro IN como um nmero inteiro (16 bits) e o converte para duplo inteiro (32 bits). O resultado pode ser visto na sada OUT. A sada ENO sempre cpia da entrada EN.

SENAI

78

Programao Avanada CLP Siemens S7-300

SENAI

79

Programao Avanada CLP Siemens S7-300 6) Complemento de um de um nmero inteiro (INV_I) Descrio Esta instruo realiza a funo Booleana XOR de um nmero inteiro, ou seja, o complemento de um deste nmero (inverte bit a bit toda a palavra binria 16 bits). 7) Complemento de um de um nmero inteiro duplo (INV_DI) Descrio Esta instruo realiza a funo Booleana XOR de um nmero inteiro duplo, ou seja, o complemento de um deste nmero (inverte bit a bit toda a palavra binria 32 bits).

SENAI

80

Programao Avanada CLP Siemens S7-300

8) Complemento de dois de um nmero inteiro (NEG_I) Descrio A instruo que realiza o complemento de dois de um nmero realiza a operao equivalente a multiplicar este mesmo nmero por (-1), trocando o seu sinal. Por exemplo, de um nmero positivo para um nmero negativo (em 16 bits). o mesmo que escrever este nmero com seu sinal trocado ser for um nmero positivo, o complemento de dois torna-o negativo e vice-versa. 9) Complemento de dois de um nmero inteiro duplo (NEG_DI) Descrio A instruo que realiza o complemento de dois de um nmero realiza a operao equivalente a multiplicar este mesmo nmero por (-1), trocando o seu sinal. Por exemplo, de um nmero positivo para um nmero negativo (em 32 bits).

SENAI

81

Programao Avanada CLP Siemens S7-300

SENAI

82

Programao Avanada CLP Siemens S7-300 INSTRUES DE DESLOCAMENTO E ROTAO DE DADOS 1) Deslocamento de nmero inteiro direita (SHR_I) Descrio Esta instruo usada para deslocar um nmero inteiro para a direita bit a bit (os bits 16 a 31 no so afetados por ela). A entrada N especifica quantos bits sero deslocados. Se N for maior do que 16, o comando age como se N fosse igual a 16. As posies dos bits deslocados da esquerda e que ficariam vagos, so preenchidos com o estado lgico do bit 15 (sinal do nmero - + ou negativo 0 ou 1). O resultado do deslocamento pode ser monitorado na sada OUT. A instruo ativada pela entrada EN, atravs da aplicao de um nvel lgico 1. A sada ENO tem o mesmo nvel de sinal desta entrada.

SENAI

83

Programao Avanada CLP Siemens S7-300

Alterando o valor da entrada N.

SENAI

84

Programao Avanada CLP Siemens S7-300 2) Deslocamento de nmero duplo inteiro direita (SHR_DI) Descrio Esta instruo usada para deslocar um nmero duplo inteiro para a direita bit a bit. A entrada N especifica quantos bits sero deslocados. Se N for maior do que 32, o comando age como se N fosse igual a 32. As posies dos bits deslocados da esquerda e que ficariam vagos, so preenchidos com o estado lgico do bit 31 (sinal do nmero - + ou negativo 0 ou 1). O resultado do deslocamento pode ser monitorado na sada OUT. A instruo ativada pela entrada EN, atravs da aplicao de um nvel lgico 1. A sada ENO tem o mesmo nvel de sinal desta entrada.

SENAI

85

Programao Avanada CLP Siemens S7-300 3) Rotao de palavra dupla direita (ROR_DW) Descrio Esta instruo usada para rotacionar o contedo inteiro da entrada IN bit a bit para a direita. A entrada N especifica a quantidade de bits que devem se rotacionados. Se N maior do que 32, a palavra dupla em N rotacionada por N-1 posies. As posies de bits rotacionados a partir da esquerda so preenchidas pelos estados lgicos dos bits que foram rotacionados para fora do lado direito. O resultado desta rotao pode ser monitorado na sada OUT. Exemplo: rotao de uma palavra dupla binria em 3 bits para a direita.

SENAI

86

Programao Avanada CLP Siemens S7-300

4) Rotao de palavra dupla esquerda (ROL_DW) Descrio Esta instruo usada para rotacionar o contedo inteiro da entrada IN bit a bit para a esquerda. A entrada N especifica a quantidade de bits que devem se rotacionados. Se N maior do que 32, a palavra dupla em N rotacionada por N-1 posies. As posies de bits rotacionados a partir da direita so preenchidas pelos estados lgicos dos bits que foram rotacionados para fora do lado esquerdo. O resultado desta rotao pode ser monitorado na sada OUT. Exemplo: rotao de uma palavra dupla binria em 3 bits para a esquerda.

SENAI

87

Programao Avanada CLP Siemens S7-300

SENAI

88

Programao Avanada CLP Siemens S7-300 INSTRUES DE SALTO Introduo Label (rtulo) como endereamento O endereamento de uma instruo de Jump chamado de Label. Um label consiste de um mximo de 4 caracteres, sendo que o primeiro sempre deve ser uma letra do alfabeto. Os outros caracteres podem ser letras ou nmeros. Por exemplo, SEG3. Um Label de salto indica o destino para o qual voc deseja que a execuo do programa salte. Este label pode ser informado acima de uma instruo bobina. Label como destino O label de destino deve estar no incio de uma lgica. Selecionando a instruo LABEL, uma caixa vazia aparece e digitamos o nome deste. Ele marca o ponto onde o programa ir continuar a execuo aps o salto. Instrues ou segmentos localizados entre o jump e o label no so executados. O label obrigatoriamente deve estar localizado no mesmo bloco (OB, FB, FC) que a instruo jump a que est associada. 1) Jump incondicional (salto incondicional) Esta instruo interrompe o fluxo normal da lgica de controle e provoca o salto do programa para a posio marcada pelo rtulo (label). Ela representada de maneira parecida ao elemento de sada, porm com as letras JMP e o nome do rtulo destino associado.

Quando a instruo JMP ativada atravs de I124.4, toda a seqncia at o LABEL NET5 desabilitada, retomando o funcionamento normal aps este label, presente na lgica Network5. A instruo contida nesta mesma lgica no sofre influncia do salto realizado e executada independentemente da situao da instruo JMP.

SENAI

89

Programao Avanada CLP Siemens S7-300

SENAI

90

Programao Avanada CLP Siemens S7-300 INSTRUES PARA CONTROLE DE PROGRAMAS 1) Funo Master Control Relay (rel de controle mestre) Rel de controle mestre O Mster Control Relay uma chave lgica mestre para energizar ou desenergizar o fluxo de tenso no barramento esquerdo da Network. Quando desenergizado toda a seqncia lgica seguinte zerada (RLO=0) ao invs de ser executada. Se a instruo Mster Control Relay estiver ativa (RLO=1), considera-se que o sistema a partir dela est energizado. Por sua vez, se a lgica estiver inativa (RLO=0), considera-se que o sistema est desenergizado. Obs: as instrues SET e RESET dentro de uma MCR (Mster Control Relay) inativo (desenergizado) no alteram o valor de sada / flag. A instruo de transferncia (=) zera a sada / flag quando MCR est inativo. A) Master Control Relay Activate (MCRA) A instruo MCRA ativa a funo MCR, sendo que todas as outras abaixo devem seguir aps esta. B) Master Control Relay On (MCR) Esta instruo marca o fim da rea de controle lgico. O MCR> combinado com a instruo MCR< mais prxima. D) Master Control Relay Deactivate (MCRD) Esta instruo desativa a funo MCR. Voc no pode programar nenhuma rea MCR depois de MCRD. Esta instruo uma exigncia para a associao lgica com MCRA.

SENAI

91

Programao Avanada CLP Siemens S7-300

Sem alimentao, a instruo desabilita a seqncia aps ela. O contador continua funcionando, mas sem a transferncia do contedo de MW5

SENAI

92

Programao Avanada CLP Siemens S7-300

Como MW5 est sem contedo (zerado), as instrues ADD-I e MUL_I so executadas, mas com resultado diferente do que deveria ocorrer.

Exerccios: converta o programa anterior para FBD e STL e analise seu comportamento.

SENAI

93

Programao Avanada CLP Siemens S7-300 Converso do programa para STL

SENAI

94

Programao Avanada CLP Siemens S7-300

SENAI

95

Programao Avanada CLP Siemens S7-300 EXERCCIO DE APLICAO CALDEIRA A VAPOR Deseja-se desenvolver um programa para CLP para supervisionar o funcionamento de uma caldeira a vapor do tipo fogotubular, conforme ilustraes abaixo. Caldeira um recipiente metlico cuja funo , entre muitas, a produo de vapor atravs do aquecimento da gua. As caldeiras em geral so empregadas para alimentar mquinas trmicas, autoclaves para esterilizao de materiais diversos, cozimento de alimentos atravs do vapor, ou calefao ambiental. Ilustraes

SENAI

96

Programao Avanada CLP Siemens S7-300

Dispositivos de controle PSL: sensor de baixa presso SV: vlvula solenide BS: fotoclula (detector de chama) I: ignitor B: ventilador (blower) CH: contato NA FCV: vlvula controladora de vazo

SENAI

97

Programao Avanada CLP Siemens S7-300

Descrio Uma caldeira de vapor tem por funo gerar vapor superaquecido que ser utilizado para movimentar bombas e turbinas a vapor. O sistema de segurana atuar somente na partida e na parada do equipamento. Durante a operao normal, este apenas supervisionar as variveis envolvidas, as quais sero controladas pelas FCVs. Seqncia operacional de partida Descrio Pr-requisitos para a partida Presso de gua de alimentao (PSL-1) Presso de combustvel (PSL-2) FCV-2 aberta (CH-2 atuado). Para tanto SV-3 dever aplicar 20PSI no atuador SV-1 e SV-2 fechadas 1. Satisfeitos os pr-requisitos, ao acionarmos o boto de partida, o ventilador (blower) entrar em operao. O sensor CH-1 confirmar esta condio 2. A SV-3 dever fazer com que a FCV-2 abra totalmente (20PSI no atuador), iniciando-se a purga da cmara de combusto 3. O sensor CH-2 confirmar que FCV-2 abriu-se totalmente 4. Decorrido o tempo de purga (10s), o ignitor ser energizado ao mesmo tempo em que SV-2 permitir a entrada de gs piloto. Com isto, teremos a presena da chama piloto 5. Uma vez detectada a presena da chama piloto atravs do sensor BS, teremos a abertura de SV-1 dando incio ao processo de combusto 6. Decorridos 5s aps o incio da combusto, teremos: SV-2 fechada e o ignitor desenergizado SV-3 permitindo a passagem do sinal de controle

Processo

SENAI

98

Programao Avanada CLP Siemens S7-300 Seqncia operacional de parada Descrio A parada da caldeira dever ocorrer quando for acionado o boto de parada ou quando houver alguma anormalidade Condies anormais Baixa presso de combustvel (PSL-2) Baixa presso de gua de alimentao (PSL-1) Alta presso de vapor superaquecido (PSL-3) Falta de chama (BS) Parada do ventilador (CH-1) FCV-2 fechada (CH-2)

Processo 1. SV-1 fechada 2. FCV-2 totalmente aberta, via SV-3 3. Ventilador continuando a operar 4. SV-2 fechada 5. Ignitor desenergizado Convenes Baixa presso de combustvel (PSL-2): nvel 0 Baixa presso de gua de alimentao (PSL-1): nvel 0 Alta presso de vapor superaquecido (PSL-3): nvel 1 CH-1 e CH-2 atuados: nvel 1 Presena de chama (BS): nvel 1 SV-1 e SV-2 energizadas (abertas): nvel 1 SV-3 energizada (20PSI): nvel 1 SV-3 desenergizada (SC): nvel 0

SENAI

99

Programao Avanada CLP Siemens S7-300 2) Chamada de funes (FCs) e funes de sistema (SFCs) CALL (sem parmetros) Descrio Tipos de blocos de programa Blocos de sistema Os blocos de sistema so funes pr-definidas ou blocos de funo integrados ao sistema operacional da CPU. Estes blocos no ocupam nenhum espao adicional na memria do usurio. Os blocos de sistema so chamados pelo programa do usurio e tm a mesma interface, mesma designao e mesmo nmero em todo o sistema S7 (300 ou 400). Ento, voc pode facilmente utilizar o programa do usurio em vrias CPUs. Blocos do usurio So reas providas para administrar o cdigo e os dados de seu programa. Baseado nas necessidades do seu processo, voc pode estruturar seu programa com vrias opes de blocos de usurio. Alguns desses blocos podem ser executados ciclicamente, enquanto outros blocos podem ser executados somente quando necessitados. Blocos de usurio so tambm chamados de blocos de programa.

BLOCOS DE USURIO Blocos de organizao (OB) Forma a interface entre a CPU e o programa do usurio. Pode-se escrever um programa inteiro no OB1 e deixa-lo processando a cada ciclo. Pode-se, porm escrever um programa em diferentes blocos e usar o OB1 para chamar estes blocos quando necessrio. Alm do OB1, o sistema operacional pode chamar outros OBs que reagem a certos eventos, tais como: Interrupo data programada; Interrupo de diagnstico; Interrupo de erros;

SENAI

100

Programao Avanada CLP Siemens S7-300 Interrupo de tempo de ciclo; Interrupo de hardware; Start-up de hardware. Bloco de funo (FB) Um bloco de funo uma funo ou uma seqncia de comandos armazenados em um bloco lgico, onde os parmetros podem ser arquivados em uma memria. O FB utiliza esta memria adicional na forma de um Bloco de Dados Instance. Parmetros passados para o FB e alguns dos dados locais so arquivados neste bloco de dados associado (Instance FB). Outros dados temporrios so arquivados na pilha local (L Stack). Dados arquivados em Instance DB so retidos quando o bloco de funo fechado. Dados arquivados na pilha L Stack no so retidos. Funes (FC) A funo um bloco de operao lgica similar ao bloco de funo para o qual no designado rea de memria. Um FC no necessita de um bloco de dados instance. As variveis locais so arquivadas na pilha local (L Stack) at que a funo esteja concluda, sendo perdidos quando o FC termina a execuo. Bloco de dados (DB) Os blocos de dados so blocos usados pelos blocos lgicos no programa do usurio para armazenar valores. Em contraste com o local de dados temporrios, os dados nestes blocos no so apagados quando o processamento dos blocos lgicos finalizado ou o bloco de dados encerrado. O tamanho mximo possvel para um bloco de dados depende do tipo de CPU utilizada. Por exemplo, para a CPU 314 pode ser de at 8KB. Dependendo de sua relao com os blocos lgicos, existem dois tipos de blocos de dados: Shared Data Blocks (Blocos de dados compartilhados) So blocos que podem ser acessados por todos os blocos lgicos no programa do usurio. Cada bloco de funo (FB), funo (FC) ou bloco de organizao (OB) pode ler ou escrever nos dados compartilhados contidos nestes blocos de dados. Voc pode criar estes tipos de blocos atravs da: Especificao da estrutura do prprio bloco de dados, ou seja, definir e editar a ordem das variveis, seus smbolos e os tipos de dados individualmente; Criao de um bloco de dados com um dado de tipo user-defined (definido pelo usurio UDT). Neste caso, a estrutura do bloco UDT define a estrutura do bloco de dados.

Instance Data Block (Bloco de dados Instance) So blocos de dados relacionados a um bloco de funo (FB) em particular. Eles contm os dados locais deste bloco relacionado. Se outros blocos de funo so chamados sem que as variveis estticas (instncias mltiplas) tenham sido declaradas, o bloco de dados instance da funo chamada tambm contm os dados locais do blocos de funo chamados. Dependendo do tipo de bloco que voc deseja criar ou editar, voc pode usar diferentes mtodos. BLOCOS DE SISTEMA Funo de sistema (SFC) Funo de sistema uma funo pr-programada e testada que integrada na CPU. Algumas das tarefas suportadas por estas funes so a de setar parmetros dos mdulos, comunicao de dados, funes de cpia, etc. Uma SFC pode ser chamada pelo programa, porm sem fazer parte dele (no ocupa memria de trabalho).

SENAI

101

Programao Avanada CLP Siemens S7-300 Blocos de funo de sistema (SFB) Um bloco de funo de sistema parte integral da CPU. Voc pode utilizar um SFB em seu programa sem carregar como parte de seu programa, pois os SFBs so parte do sistema operacional. SFBs devem ser associados a um DB, o qual dever ser transferido para a CPU como parte de seu programa. Bloco de dados de sistema (SDB) Um bloco de dados de sistema uma rea da memria que a ferramenta Step7 gera para arquivar dados necessrios para o controle de operaes. Informaes tais como dados de configurao, conexes de comunicao e parmetros so salvos em SDBs. TIPOS DE BLOCOS Funo de sistema (SFC) CARACTERSTICAS - Arquivados no sistema operacional das CPUs - Usurio pode chamar esta funo (sem memria) - Arquivados no sistema operacional das CPUs - Usurio pode chamar esta funo (com memria) - Blocos de dados para configurao de dados e parmetros

Bloco de funo de sistema (SFB)

Bloco de dados de sistema (SDB)

ESTRUTURA DE PROGRAMA Programa linear O programa inteiro reside em um nico bloco de instruo contnuo. Esta estrutura semelhante a um circuito de rels substitudo por um CLP. O sistema processa instrues individuais sucessivamente. Toda a programao e parametrizao feita no Organization Block 1 (OB1) Programa particionado O programa dividido em blocos, onde cada bloco contm uma lgica especfica para dispositivos ou tarefas. As informaes residentes no bloco de organizao (OB1) determinam a ordem de execuo dos blocos a serem processados. Um programa particionado pode, por exemplo, conter blocos de instrues com os quais os modos de operaes individuais de um processo industrial so controlados. Programa estruturado Um programa estruturado contm blocos de instrues com parmetros definidos pelo usurio (blocos parametrizados). Estes blocos so projetados de forma que possam ser usados universalmente. Os parmetros atuais (os endereos de entradas e sadas) so especificados durante a chamada do bloco. Exemplo de blocos parametrizveis: - O bloco BOMBA contm instrues para uma bomba, com um set de entradas e sadas exigidas para qualquer bomba usada no processo. - O bloco lgico responsvel pelo controle especfico das bombas chama (abre) o bloco BOMBA e fornece informaes para identificar qual bomba ir ser controlada. - Quando o bloco completa a execuo das instrues, o programa retorna ao bloco de chamada (por exemplo, o OB1), o qual conclui as instrues.

SENAI

102

Programao Avanada CLP Siemens S7-300

PROGRAMAO ESTRUTURADA O que programao estruturada? A programao estruturada identifica tipos similares ou repetitivos de funes solicitadas pelo processo e fornece solues genricas que podem ser usadas por vrias outras tarefas. Fornecendo informaes especficas (em forma de parmetros) para os blocos de instrues, o programa estruturado capaz de usar de novo estes blocos genricos. Podem considerar-se como exemplos destes blocos: - Blocos que contenham lgicas comuns para todos os motores AC no sistema do transportador; - Blocos que contenham lgicas comuns a todas as solenides na mquina; - Blocos que contenham lgicas comuns a todos os acionamentos da mquina. Como executado? O programa dentro do OB1 (ou outro bloco) chama estes blocos genricos para a execuo. Assim, dados e cdigos considerados comuns podem ser compartilhados. Quais as vantagens e desvantagens? Ao invs de repetir estas instrues e ento substituir os diferentes endereos para os especficos equipamentos, voc pode escrever as instrues no bloco e ter um programa para passar os parmetros (tais como endereos especficos de equipamentos ou dados) para o bloco. Isto permite a voc escrever blocos genricos que mais que um dispositivo ou processo possa usar. Quando usar uma programao estruturada, voc tem que gerenciar os dados que so arquivados e utilizados pelo programa.

SENAI

103

Programao Avanada CLP Siemens S7-300

EXEMPLO DE UTILIZAO DA INSTRUO CALL CHAMADA DE FUNES (Programao particionada)

SENAI

104

Programao Avanada CLP Siemens S7-300 PROGRAMA EXEMPLO CHAMADA DE FUNES (CALL)

SENAI

105

Programao Avanada CLP Siemens S7-300 FUNES CHAMADAS FUNO FC1

SENAI

106

Programao Avanada CLP Siemens S7-300 FUNES CHAMADAS FUNO FC2

SENAI

107

Programao Avanada CLP Siemens S7-300 FUNES CHAMADAS FUNO FC3

FUNES CHAMADAS FUNO FC4

SENAI

108

Programao Avanada CLP Siemens S7-300 EXERCCIO DE APLICAO PARQUE DE ESTACIONAMENTO Desenvolver uma aplicao para CLP Siemens para automao de um parque de estacionamento com capacidade para 20 veculos, conforme esquema a seguir. UTILIZAR A INSTRUO CALL PARA CHAMADAS DE FUNES.

O parque possui uma via de entrada e outra de sada, ambas com barreiras automticas, funcionando o sistema de acordo com as seguintes condies: Depois de ligado o interruptor de comando (I1) geral deste sistema, pressionando-se o boto S1 da mquina de entrada (Min), esta fornece um bilhete e a barreira de entrada (barreira 1) abre; A abertura da barreira de sada (barreira 2) ocorre quando um bilhete, com pagamento previamente feito, for aceito (S3=1) pela mquina de sada (Mout), colocada antes desta barreira; O fechamento das barreiras s possvel aps os carros ultrapassarem detectores (S2 e S4) colocados no solo, logo a seguir s mesmas. Essa disposio garante que os carros no sejam atingidos pelas barreiras no seu movimento de descida; Quando a lotao do parque for atingida, acende um placar com a indicao ESGOTADO e acionada uma lmpada vermelha (SV), colocada junto barreira de entrada. A mquina de entrada no fornece mais bilhetes e a barreira no abre. Aps sair um veculo, essa lmpada desligada e apagada a indicao ESGOTADO. Se S1 for pressionado, a mquina Min fornece o bilhete e a barreira abre; As barreiras possuem um fim de curso de fechamento e de abertura e so acionadas por motores eltricos. SENAI 109

Programao Avanada CLP Siemens S7-300

O FLUXOGRAMA DE PROCESSORepresenta uma seqncia de trabalho qualquer, de forma detalhada (pode ser tambm sinttica), onde as operaes ou os responsveis e os departamentos envolvidos so visualizados nos processo. conhecido tambm com os nomes de Flow-chart, carta de fluxo do processo, grfico de seqncia, grfico de processamento dentre outros. Principais objetivos: Uma padronizao na representao dos mtodos e os procedimentos administrativos; Podem-se descrever com maior rapidez os mtodos administrativos; Pode facilitar a leitura e o entendimento das rotinas administrativas; Podem-se identificar os pontos mais importantes das atividades visualizadas; Permite uma maior flexibilizao e um melhor grau de anlise.

O fluxograma visa o melhor entendimento de determinadas rotinas administrativas, atravs da demonstrao grfica. (Existem estudos que comprovam que o ser humano consegue gravar melhor uma mensagem, quando esta acompanhada de imagens.) importante ressaltar que os fluxogramas procuram mostrar o modo pelo qual as coisas so feitas, e no o modo pelo qual o chefe diz aos funcionrios que a faam; no a maneira segundo o qual o chefe pensa que so feitas, mas a forma pela qual o Manual de normas e procedimentos manda que sejam feitas. Eles so, portanto, uma fotografia real de uma situao estudada. Etapas para criao de um fluxograma: Escolher a rotina a ser trabalhada Coletar os dados Desenhar a rotina Todo fluxo deve ter incio e fim. Nenhuma simbologia pode ficar solta, sem indicao da continuidade do processo ou com a simbologia de fim. Nunca esquecer das setas no fluxograma e do processo. Sempre que se for enviar um documento, utilizar a simbologia de "documento". Antes do "arquivo", obrigatoriamente tem que haver a simbologia de "documento", j que s se arquivam documentos.

SENAI

110

Programao Avanada CLP Siemens S7-300 Exemplo

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

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

SENAI

111

Programao Avanada CLP Siemens S7-300

Parque de estacionamento para 20 veculos Passos para resoluo 1. Liga interruptor geral; 2. Se S1 pressionado barreira 1 fecha fecha 3. Mout recebe bilhete Min fornece bilhete se S3 acionado barreira 1 abre se S2 acionado barreira 2 incrementa 1 carro na contagem; barreira 2 abre se S4 acionado

decrementa 1 carro na contagem lmpada SV acionada Min no fornece mais bilhetes

4. Se lotao atingida (=20) barreira 1 no abre mais.

Convenes Entradas liga interruptor geral I124.0 I1 S1 solicita ticket I124.1 S2 sensor de carro da barreira 1 I124.2 S3 recebe ticket I124.3 S4 sensor de carro da barreira 2 I124.4 Sadas Barreira 1 Q124.0 Min (motor que traciona o ticket) Q124.1 Barreira 2 Q124.2 Mout (motor que traciona o ticket) Q124.3 Lmpada SV Q124.4 Fluxograma de processo

SENAI

112

Programao Avanada CLP Siemens S7-300

Liga interruptor geral

FC1

INCIO

FC2

S1 pressionado

NO

S2 acionado

NO

SIM Min fornece bilhete

SIM Mout recebe bilhete

Barreira 1 abre

Barreira 2 abre

S2 acionado

NO

S4 acionado

NO

SIM Barreira 1 fecha

SIM Barreira 2 fecha

Incrementa 1 carro

Decrementa 1 carro

Novo carro

NO

Novo carro

NO

SIM

SIM

SENAI

113

Programao Avanada CLP Siemens S7-300

Liga interruptor geral

FC3

Lotao atingida (=20)

NO

SIM Lmpada SV acionada

Min no fornece bilhete

Barreira 1 no abre

FIM

SENAI

114

Programao Avanada CLP Siemens S7-300 CRIANDO BLOCOS DE DADOS (DB) Introduo A criao de um bloco DB obedece as mesmas regras para a criao de um bloco de programa, sendo que utilizado o mesmo editor de programas (LAD/STL/FBD) para a edio. Criando um novo DB Utilize o mesmo mtodo para criar o DB que foi utilizado para criar um bloco de programa (por exemplo, boto direito do mouse Insert New Object DB Block)

SENAI

115

Programao Avanada CLP Siemens S7-300 Ao se iniciar a edio de um novo DB, o sistema, atravs de uma caixa de dilogo, solicitar a escolha do tipo de DB a ser criado (veja figura anterior). O tipo indicado (shared DB) significa que este bloco de dados compartilhado, ou seja, pode ser acessado por todo e qualquer bloco do programa. Abrindo um DB existente Se o DB j foi editado anteriormente, utilize para acessa-lo o mesmo mtodo que usou para acessar qualquer bloco de programa (por exemplo, um clique duplo sobre seu cone). Para DBs existentes no aparece a caixa de seleo do tipo de DB, pois seu tipo j foi definido anteriormente. Editando um bloco de dados (DB) Utilizando o procedimento anterior, abra o DB criado pouco.

O bloco de dados (DB) uma rea da memria da CPU, orientada a Byte, disponvel para armazenamento de dados. Apesar de orientada a bytes, esta rea pode e deve ser definida pelo usurio livremente, j que no existe formato de dados pr-definidos para ela. A definio desta rea visa facilitar a manipulao de dados no programa do usurio. Assim, se ele precisa definir bits (variveis booleanas) para utilizar na sua lgica, declara a varivel com BOOL. Se por outro lado, necessita de variveis para clculos, pode definir a varivel como REAL. Endereo As variveis contidas no DB so acessadas preferencialmente pelo seu nome simblico. Apesar disto, todas possuem um endereo de sua localizao dentro do bloco e permitem, caso necessrio, que sejam acessadas por este endereo. Os endereos so do tipo BYTE.BIT, mesmo para as variveis definidas como byte, word, dword, etc. Estes endereos so definidos automaticamente pelo sistema logo aps a edio da varivel (nome e tipo da varivel). Nome o nome simblico alfanumrico da varivel. Na maioria dos caso ela ser acessada no programa por este nome simblico. Tipo de dado o tipo de dados da varivel (individual). A definio do tipo deve levar em considerao a sua utilizao dentro do programa. Exemplo: BOOL (booleana ou bit). Valor inicial Campo opcional onde se especifica o valor inicial da varivel. O valor padro para todos os tipos de variveis zero. Comentrio Campo opcional para comentrios / descrio das variveis. Tipos de dados elementares para o Simatic S7 Formato Cada varivel tem seu prprio formato, indicando o modo com o qual o programa ir acess-lo. A estrutura dos bits e seu comprimento so definidos pela designao dos tipos de dados. importante conhecer os vrios tipos de dados, porque algumas instrues requerem tipos de dados especficos. Isto

SENAI

116

Programao Avanada CLP Siemens S7-300 particularmente importante para instrues LAD/FBD, porque o editor confere os tipos de dados quando voc enderea individualmente os elementos. Tipos de dados Os tipos de dados pertencem a uma das seguintes categorias: Dados bsicos ou elementares: estruturas de dados menores que 32 bits, que tm definies de acordo com a norma IEC 61131-3; Dados complexos: estruturas ou campos que so maiores do que 32 bits; Parmetros: blocos de parmetros usados para FBs ou FCs TAMANHO (EM BIT) 1 8 16 32 8 >=16, 8* (N de caracteres) 16 16 32 32 32 16 32 64 1 ou 0 16#A9 16#12AF 16#ADAC1EF5 W ISTO UMA STRING S5T#5s_200ms 123 65539 1.2 ou 34.5E-12 T#2D_1H_3M_45S_12_MS D#2008-04-30 TOD#12:23:45.12 DT#2008-04-30:12.29.13 EXEMPLO

TIPO BOOL BYTE WORD DWORD CHAR STRING* S5TIME INT DINT REAL TIME DATE TIME_OF_DAY DATE_AND_TIME*

Acesso aos elementos de blocos de dados Abrir DB Antes que os dados de um bloco possam ser acessados necessrio que o DB seja aberto. Isto feito atravs da instruo OPN DB (Open DB). Se outro bloco de dados global j estiver aberto, este ser automaticamente fechado. O bloco de dados Instance, associado a um FB, automaticamente aberto pelo sistema. Acesso ao DB A figura a seguir mostra como acessar os dados de um DB. As instrues utilizadas so as mesmas utilizadas com qualquer outro operando. Por exemplo: L T A DBB3 DBW12 DBX4.5 Ler o byte 3 do DB Transferir o contedo do acumulador para a palavra 12 do DB Fazer a lgica AND com o bit 5 do byte 4 do DB

Pode-se tambm acessar os dados dentro de um DB atravs do chamado caminho completo. O caminho completo : nome-do-db.dado Desse modo, na prpria instruo feita a abertura do DB e o acesso ao dado. Esta maneira de acesso prpria para evitar erros de programao e facilita a documentao.

SENAI

117

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

SENAI

118

Programao Avanada CLP Siemens S7-300

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

2) Inserir os dados conforme descrito dados de entrada, de sada, etc. Parmetros de entrada (IN): so usados somente com funes (FCs) ou blocos de funes (FBs) para passar dados ao bloco chamado para processamento.

SENAI

119

Programao Avanada CLP Siemens S7-300

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

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

SENAI

120

Programao Avanada CLP Siemens S7-300 A) Configure a exibio da representao simblica na tela de programao

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

SENAI

121

Programao Avanada CLP Siemens S7-300 Quando a tabela de declarao de variveis est preenchida e o usurio digita os smbolos ao invs dos endereos