Programação básica - Apostilas técnicas
Transcription
Programação básica - Apostilas técnicas
CLP Siemens S7 Programação básica VOLKSWAGEN do Brasil Ltda. SENAI-SP São Paulo 2001 Programação básica CLP Siemens S7 © SIEMENS AG Material desenvolvido pela SIEMENS e readequado pelo Departamento Regional do SENAI de São Paulo para atendimento às solicitações da Volkswagen do Brasil do Ltda. Equipe de revisão e adaptação Apoio Carlos Gonçalves da Silva João Batista de Oliveira Fausto Hironobu Kobayashi José Roberto Marques José Rogério Chavier Marcio Corazzim Renato Cesar Carreira Apolonio Ricardo Ladeira José Jorge de Andrade Marcos Luesch Reis VOLKSWAGEN do Brasil Ltda. Conjunto Industrial Anchieta Via Anchieta, km 23,5 09823-990 – São Bernardo do Campo – SP http://www.volkswagen.com.br SENAI - SP Departamento Regional de São Paulo Av. Paulista, 1313 01311-923 http://www.sp.senai.br [email protected] Programação básica Sumário Página 3 5 21 33 57 75 107 125 149 163 185 201 213 225 245 273 283 295 313 329 347 363 Introdução Família SIMATIC Instalando o STEP 7 Introdução ao Hardware S7 O Software STEP 7 Configurando e parametrizando o S7 Princípios básicos O editor de programas Operações lógicas básicas Temporizadores, Contadores e Comparadores Conversão, operação lógica digital, matemática, deslocamento Ferramentas para testes e depuração Funções, parâmetros e dados locais Programação simbólica Blocos de dados e de funções Processamento de palavra analógica Informações do Sistema S7 Diagnosticando e corrigindo problemas Técnicas especiais de programação Documentando e salvando programas Global Data e PROFIBUS-DP Respostas dos exercícios SENAI - SIEMENS - VW Programação avançada 4 SENAI - SIEMENS - VW Programação avançada Introdução Este é o material que você vai utilizar durante o curso de CLP. Trata-se de um conjunto de textos extraídos de conteúdos do próprio SENAI-SP e de materiais da Siemens/Volkswagen. Os assuntos são apresentados em uma ordem que vai do mais simples ao mais complexo. A ligação entre cada parte será feita pelo seu instrutor. Tudo aquilo que o instrutor disser e que você ache importante manter pode ser anotado diretamente neste material, em outro caderno ou em folhas isoladas. Tenha bom proveito do curso! SENAI - SIEMENS - VW 3 Programação avançada 4 SENAI - SIEMENS - VW Programação básica Família SIMATIC Família SIMATIC S7 SIEMENS SIMATIC S7-200 SF RUN STOP I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7 Q 0 . 0 M i cr o PLC 21 2 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 X 2 3 4 S7-200 S7-300 S7-400 SIMATIC S7 Siemens AG 1996. All rights reserved. Date : 07/10/00 Version : 3.1 File No. : pro1_1.1 Conhecimento em Automação Training Center SIMATIC A família SIMATIC representa não somente uma linha de CLP’s, e sim toda uma linha de produtos de AUTOMAÇÃO TOTALMENTE INTEGRADA. SIMATIC S7 Os Controladores Lógicos Programáveis da família SIMATIC S7 podem ser divididos em: Micro PLC (S7-200), pequeno/médio porte (S7-300) e médio/grande porte (S7-400). SIMATIC M7 O CLP M7 é um computador PC-AT compatível, com o mesmo desempenho, a mesma funcionalidade e o ambiente de programação de um microcomputador. SENAI - SIEMENS - VW 5 Programação básica SIMATIC C7 Este é um sistema completo, é a combinação do CLP ( S7-300) e um painel de operação (HMI Operator Interface) em uma única unidade. Software O SIMATIC Software é um projeto modular. Ele consiste do Software Básico STEP 7 e Pacotes Opcionais, instalados a parte. Os Pacotes Opcionais podem ser linguagens de programação adicionais tais como S7-GRAPH, SCL, CFC, SFC e pacotes para diagnósticos, simulações, documentação e Teleservice. Terminais de Programação São PC’s AT compatíveis com todas as interfaces necessárias e softwares básicos de programação pré-instalados. Disponíveis desde laptop até desktop. Redes de Comunicação As redesAS-I, Profibus e Industrial Ethernet estão disponíveis para troca de dados entre sistemas de PLC’s. I/O Distribuídos Para economizar em cabos, existe a possibilidade da utilização de I/O’s remotos em um projeto distribuído. Uma configuração distribuída, no que se refere à sua parametrização/programação, não difere de um configuração central. Interface Homem-Máquina Para comunicação Homem-Máquina, existe a Interface de Operação SIMATIC HMI. Estas interfaces são totalmente integráveis à toda família SIMATIC. 6 SENAI - SIEMENS - VW Programação básica A família SIMATIC modular Grande Porte Médio Porte modular SIMATIC S7 - 400 Pequeno Porte SIMATIC M7 - 400 modular modular SIMATIC S7 - 300 Micro - PLC SIMATIC M7 - 300 complete SIMATIC C7 - 620 compacto SIMATIC S7 - 200 SIEMENS PG740 Software SIMATIC S7 Siemens AG 1996. All rights reserved. Terminal de Programação Redes de Comunicação I/O distribuída Date : 07/10/00 Version : 3.1 File No. : pro1_1.2 Interface HomemMáquina UEBER_T1D Conhecimento em Automação Training Center S7-200 O S7-200 é o micro-CLP da família SIMATIC S7. Características O S7-200 tem as seguintes características e funções: - baixo preço - “Totalmente compacto” com fonte de alimentação, CPU e entradas/saídas integradas em um único dispositivo. - "Micro PLC" com funções integradas - Pode ser expandido em até sete módulos - Software baseado em DOS ou Windows (STEP 7 MICRO/DOS ou STEP 7 MICRO/WIN) SENAI - SIEMENS - VW 7 Programação básica Funções - Alimentação das entradas digitais (sensores) integrada - Forçar entradas e saídas - Acesso direto às entradas/saídas - Relógio de tempo real integrado 1 - Dois potenciômetros analógicos integrados 1 - Duas saídas em pulsos integradas 1 - Entradas digitais comandadas por interrupções - Contadores de alta velocidade integrados (7 a 20kHz). 1 8 CPU 214 ou maior SENAI - SIEMENS - VW Programação básica S7- 200 Características Micro PLC 212 SF SIEMENS RUN STOP I.0 I.1 I.2 I.3 I.4 I.5 EM 221 Q.0 Q.1 Q.2 DI 8 x DC24V I.0 I.1 I.2 I.3 Q.3 Q.4 Q.5 I.4 I.5 I.6 I.7 I.6 I.7 SIMATIC S7-200 Módulo de Expansão digital/analógica CPU TD 200 SIEMENS Target Position Axle Ready F5 F1 F6 F2 125 mm F7 F3 F8 F4 SHIFT ESC ENTER Painel de Operação TD 200 SIMATIC S7 Siemens AG 1996. All rights reserved. Date : 07/10/00 Version : 3.1 File No. : pro1_1.3 Conhecimento em Automação Training Center S7-200 O S7-200 é o micro-CLP da família SIMATIC S7. Características O S7-200 tem as seguintes características e funções: - baixo preço - “Totalmente compacto” com fonte de alimentação, CPU e entradas/saídas integradas em um único dispositivo. - "Micro PLC" com funções integradas - Pode ser expandido em até sete módulos - Software baseado em DOS ou Windows (STEP 7 MICRO/DOS ou STEP 7 MICRO/WIN) SENAI - SIEMENS - VW 9 Programação básica Funções - Alimentação das entradas digitais (sensores) integrada - Forçar entradas e saídas - Acesso direto às entradas/saídas - Relógio de tempo real integrado 1 - Dois potenciômetros analógicos integrados 1 - Duas saídas em pulsos integradas 1 - Entradas digitais comandadas por interrupções - Contadores de alta velocidade integrados (7 a 20kHz). 1 CPU 214 ou maior 10 SENAI - SIEMENS - VW Programação básica S7- 300 Características SIMATIC S7 Date : 07/10/00 Version : 3.1 File No. : pro1_1.4 Siemens AG 1996. All rights reserved. Conhecimento em Automação Training Center S7-300 O S7-300 é o pequeno e totalmente modular CLP da família SIMATIC S7. Características - Diversas CPU’s com diferentes capacidades. - Extensivo espectro de módulos. - Pode ser expandido em até 32 módulos. - Módulos integrados em barramento backplane - Pode ser ligado em rede com interface multi-point (MPI), PROFIBUS e Industrial Ethernet. - Conexão central com PC acessa todos os módulos (FM e CP). - Sem regras para alocação das placas. - Configuração e parametrização via software STEP 7. SENAI - SIEMENS - VW 11 Programação básica S7- 400 Características SIMATIC S7 Siemens AG 1996. All rights reserved. Date : 07/10/00 Version : 3.1 File No. : pro1_1.5 Conhecimento em Automação Training Center S7-400 O controlador lógico programável S7-400 abrange aplicações de médio e grande porte. A família da CPU S7-400 tem um set de instruções poderoso (igual ao do S7-300) e esquema de endereçamento simples. Memória de Trabalho A partir de 48 KB até 2 Mega. Sinais Digitais A partir de 64K até 256K. 12 SENAI - SIEMENS - VW Programação básica 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 . SENAI - SIEMENS - VW 13 Programação básica Multi-point Interface (MPI) S7-300 S7-300 CPU 1 CP FM CPU 2 MPI como um K-Bus conexão do PG via MPI CP FM MPI como um K-Bus conexão de CLP’s via MPI conexão do OP via MPI P G720 SIMATIC S7 Siemens AG 1996. All rights reserved. Date : 07/10/00 Version : 3.1 File No. : pro1_1.6 Conhecimento em Automação Training Center 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 14 SENAI - SIEMENS - VW Programação básica CPU. Exemplo: são possíveis quatro conexões de comunicação ativa por nó para a CPU 314. 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) SENAI - SIEMENS - VW 15 Programação básica Redes de Comunicação TISTAR Op . Int. SIMATIC HMI S5/TI PG/PC Industrial Ethernet S7-400 S7-300 S7-200 PS CPUFM CP CPU FMCP Communications bus CP Communications bus S5/TI PROFIBUS-FMS Field Devices PG/PC S5/TI PROFIBUS-DP PPI PG/PC TD/OP S7-200 CPU 215 PG/PC Field Devices TD/OP ET 200 S7-200 MPI PG/PC SIMATIC S7 Siemens AG 1996. All rights reserved. Date : 07/10/00 Version : 3.1 File No. : pro1_1.7 TD/OP S7-CPU Conhecimento em Automação Training Center Redes A figura acima exibe as várias possibilidades de rede para a comunicação entre produtos já existentes e a família S7. Os termos usados no slide são explicados a seguir: S5/TI Controladores lógicos programáveis SIMATIC S5 e SIMATIC TI SIMATIC HMI Equipamentos de Interface Homem Máquina 16 SENAI - SIEMENS - VW Programação básica TISTAR SCADA = (Supervisory Control and Data Acquisition ) controle de interface de operação do sistema PG/PC Terminais de programação (Siemens PG) ou Computadores Pessoais Ind. Ethernet Rede Industrial da Siemens TD/OP Text Display e Operator Panel PPI Interface Point-to-Point MPI Interface Multipoint Field Devices Hardware para ent./output (por exemplo, chaves, bombas, e motores) PROFIBUS DP Rede de controle distribuído fieldbus da Siemens SENAI - SIEMENS - VW 17 Programação básica Terminais de Programação PG720/740 SIEMENS PG 740 PG740 PG720 SIMATIC S7 Siemens AG 1996. All rights reserved. Date : 07/10/00 Version : 3.1 File No. : pro1_1.8 Conhecimento em Automação Training Center 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 18 SENAI - SIEMENS - VW Programação básica 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) SENAI - SIEMENS - VW 19 Programação básica 20 SENAI - SIEMENS - VW Programação básica Instalando o STEP 7 Softwares para S7/C7/M7 Pacotes Padrões e Opcionais para o S7, C7 and M7 CFC S7-SCL M7-DDE-Server S7-GRAPH M7-ProC/C S7-HiGraph Borland C/C STEP 7 MINI ++ ++ STEP 7 BASIC SIMATIC Manager SIMATIC Manager Symbol Editor Symbol Editor STEP 7 MICRO Hardware Config. HW-Konfiguration Symbol Editor (Synonyms) Communications Config. LAD/STL S7-200 S7 - 200 Hardware Configuration Communication Configuration LAD/STL LAD/STL/FBD S7-300, C7 SIMATIC S7 Siemens AG 1996. All rights reserved . S7-300/400, C7 Data : 07/10/00 Versão : 3.1 Arquivo : pro1_2.2 M7-SYS M7-300/400 Conhecimento em Automação Training Center STEP7 Micro: Este é o software para elaboração de programas exclusivamente para o S7-200. Possui duas versões: MICRO/DOS e MICRO/Win, que rodam nos sistemas DOS e Windows 3.x respectivamente. STEP 7 O STEP 7 é a ferramenta de automação da família SIMATIC S7 (exceção do S7-200). Através dela se configura e parametriza-se todo o hardware, edita-se o programa, testa-o, faz-se o comissionamento e a procura de defeitos, além de toda a documentação necessária. Com o auxílio de pacotes opcionais pode-se ainda SENAI - SIEMENS - VW 21 Programação básica configurar redes locais, utilizar linguagens de alto-nível ou orientada à tecnologia, utilizar Teleservice, etc. STEP7 Mini O STEP 7 é um sub-set do pacote STEP 7, ideal para se iniciar na automação com aplicações stand-alone do S7-300. Em relação ao pacote normal não permite a configuração do S7-400, de global-data (troca de dados) e nem o uso de pacotes opcionais. Options: São pacotes opcionais para S7 e M7 para geração de programas em outras linguagens, configuração de rede, etc. Estes pacotes permitem por exemplo a escolha da linguagem de programação mais fácil ou apropriada a cada aplicação: SCL - Linguagem de alto-nível, baseada em Pascal. Ideal para organização e manutenção de grande quantidade de dados, cálculos e algoritmos complexos. GRAPH - Linguagem para processos seqüenciais, baseados em estado e transição. Em vez de se programar um sistema, faz-se a descrição de seus passos. HiGraph- Linguagem para descrição de estados (não necessariamente seqüenciais). A partir de um diagrama de estados faz-se a descrição do processo. CFC - Programação orientada tecnologicamente, onde se desenvolve graficamente todo o processo. 22 SENAI - SIEMENS - VW Programação básica Pré-requisitos para Instalação do STEP 7 Hardware/Software Pré-requisitos Processador Pentium 200 MHz Hard drive (disponível) 400 MB (STEP 7+ projetos + área arqs. temp.) RAM >= 32 MB, 128 MB recomendado Interface MPI ou cabo PC/MPI Monitor SVGA, VGA ,EGA, ou TIGA Mouse Sim Sistema Operacional Windows 95/NT CD-ROM Sim MPI = Multipoint Interface SIMATIC S7 Siemens AG 1996. All rights reserved . Data : 07/10/00 Versão : 3.1 Arquivo : pro1_2.3 Conhecimento em Automação Training Center Pré-requisitos PC-Compatíveis que atendam os pré-requisitos acima, podem ser utilizados sem restrições. Para a comunicação com o CLP é necessário uma interface MPI (cartão MPI-ISA ou PCMCIA) ou um cabo de conversão PC/MPI (para ser ligado à interface serial). F-EPROM Para a gravação de F-EPROM é necessário um gravador de EPROM externo (os PG’s Siemens já o possuem). A partir da nova versão do STEP 7 e das novas versões de CPU, as F-EPROM poderão ser gravadas diretamente na CPU. SENAI - SIEMENS - VW 23 Programação básica Observação Um upgrade de um versão antiga dos PG Siemens não é uma solução economicamente viável. PG’s e PC’s usando um processador 80386 são extremamente lentos. 24 SENAI - SIEMENS - VW Programação básica Instalação do STEP 7 SIEMENS or PG 740 1. 2. 3. 4. 5. 6. Ativar o Setup.exe no “Win95 - System Monitoring Software. Selecione a opção. Selecione a linguagem. Troque os discos. O disco de autorização é solicitado. Um Re-boot é solicitado. SIMATIC S7 Siemens AG 1996. All rights reserved . Data : 07/10/00 Versão : 3.1 Arquivo : pro1_2.4 Conhecimento em Automação Training Center Instalação Como todo o aplicativo W95, o software deverá ser instalado via a função “Adicionar/Remover Programas” do W95, que executará o programa SETUP do STEP 7. Instalando Drivers Durante a instalação do STEP 7, deve-se integrar drivers para a comunicação com o CLP (cabo ou cartão) e para F-EPROM’s. Pode-se também mudar as definições padrões de interrupção e endereços se necessários . SENAI - SIEMENS - VW 25 Programação básica As seguintes opções podem ser setadas durante a instalação do STEP 7: - Escopo da instalação (normal, mínima, definida pelo usuário) - Língua - Definições de interface PG/PC - Opções de EPROM Proteção de Software O software STEP 7 é provido com uma proteção contra cópia e pode ser operada em somente um terminal de programação por vez. O software não pode ser usado até ser autorizado pelo disquete de autorização. Este disquete transfere uma autorização para o hard disk depois que a instalação do software foi concluída. Autorização Antes de utilizar o software em outro terminal de programação é necessário executar a transferência de autorização. Por favor o leia o conteúdo do arquivo README.TXT no disco de autorização. Sem seguir estas informações existe risco que a autorização seja irrecuperavelmente perdida. Leia também o folheto Product Information que acompanha o software. 26 SENAI - SIEMENS - VW Programação básica A Ferramenta STEP 7 SIMATIC S7 Data : 07/10/00 Versão : 3.1 Arquivo : pro1_2.5 Siemens AG 1996. All rights reserved . Conhecimento em Automação Training Center Memory Card Parameter Assignment Define os parâmetros para a programação de cartões de memória. Setting the PG-PC Interface Define os parâmetros da interface de comunicação PG-PC (ex.: o tipo de interface, cabo ou placa, a interrupção de comunicação ou endereço MPI). Readme (Product Information) Fornece informações detalhadas sobre o STEP 7: versão, procedimento de instalação, etc. SENAI - SIEMENS - VW 27 Programação básica Converting S5 Files Com o auxílio do conversor S5/S7, pode-se converter programas STEP 5 em programas STEP 7. Program. S7 Blocks O Editor de Programas habilita você a escrever o seu programa com uma das linguagens de programação STEP 7: Ladder Diagram (LAD), Statement List (STL) ou Function Blocks (FBD) SIMATIC Manager Esta é a principal aplicação, que também aparece como um ícone no DESKTOP do WINDOWS 95. Através dela é que se inicia a execução do projeto: configuração, edição, testes, etc. É chamada de Manager, pois terá a função de gerenciar todo o projeto. 28 SENAI - SIEMENS - VW Programação básica Selecionando o Idioma para a Programação Antes do bloco ser aberto para edição, os mnemônicos da linguagem para o Editor de Programas devem ser selecionados. Pode-se selecionar entre mnemônicos IEC (Internacional/Inglês) ou SIMATIC (Alemão). SIMATIC Manager... Options... Customize Language > SIMATIC SIMATIC S7 Siemens AG 1996. All rights reserved . Data : 07/10/00 Versão : 3.1 Arquivo : pro1_2.6 Conhecimento em Automação Training Center Selecionando 1. Ative o comando de menu Options --> Customize 2. Selecione a pasta de Linguagem 3. Selecione a linguagem desejada: - SIMATIC = alemão; - IEC = Internacional (inglês) Importante Existem duas seleções independentes: - Língua do Editor -> seleciona o idioma da ferramenta STEP 7 (inglês/alemão/espanhol/italiano/francês) - Língua dos Mnemônicos -> seleciona o idioma em que o programa do usuário será escrito (inglês/alemão) SENAI - SIEMENS - VW 29 Programação básica Exercício 2.1: Checando a Interface com a CPU SIMATIC S7 Siemens AG 1996. All rights reserved . Data : 07/10/00 Versão : 3.1 Arquivo : pro1_2.7 Conhecimento em Automação Training Center Meta Checar a parametrização correta da interface da PG. Procedimento - Clique na barra de tarefas Iniciar - Selecionar SIMATIC ==> STEP 7 ==> Setting the PG/PC Interface - Depois de você ter selecionado “Cartão PC/MPI” clique no botão “Properties” - Checar se o endereço local da PG está setado para 0. 30 SENAI - SIEMENS - VW Programação básica Exercício 2.2: Definindo os Mnemônicos Antes de você abrir um bloco de programa ou programa ... Mnemônicos SIMATIC (Alemão) IEC (Internacional) ...selecione a linguagem para a edição em LAD/STL/FBD SIMATIC S7 Siemens AG 1996. All rights reserved . Data : 07/10/00 Versão : 3.1 Arquivo : pro1_2.8 Conhecimento em Automação Training Center Mnemônicos Antes de editar um programa, é necessário escolher entre 2 opções de mnemônicos para exibição das instruções no editor de programa. Pode-se escolher entre IEC (Internacional/Inglês) ou SIMATIC (Alemão). Meta Selecionar os mnemônicos desejados. SENAI - SIEMENS - VW 31 Programação básica Procedimento 1. Inicie o SIMATIC Manager. 2. Selecione no menu de comandos Options ⇒ Customize. 3. Escolha a Language. 4. Escolha a linguagem mnemônicos desejada e confirme com “OK” Resultado Quando programando, um dos seguintes modos será exibido: - Exemplo de instruções STL em linguagem Internacional: A I 1.0 - Exemplo de instruções STL em linguagem SIMATIC: U E 1.0 32 //AND Entrada (Input) 1.0 //UND Entrada (Eingang) 1.0 SENAI - SIEMENS - VW Programação básica Introdução ao Hardware S7 S7-200 - Dados Técnicos (CPU 21x) SIEMENS SF RUN STOP I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7 I1.0 I1.1 I1.2 I1.3 I1.4 I1.5 Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 Q0.6 Q0.7 Q1.0 Q1.1 CPU 214 SIMATIC S7-200 UEBER_T1D SIMATIC S7 Conhecimento em Automação Training Center Data : 07/10/00 Versão : 3.1 Arquivo : pro1_3.2 Siemens AG 1996. All rights reserved. Dimensões CPU212 CPU214 CPU215 CPU216 160x80x62 mm 197x80x62 mm 218x80x62mm 218x80x62mm Memória: de Trabalho (RAM) 1 KByte 4 KByte 8KByte 8KByte de Instruções 185 instruções 2K 4k 4k Registradores de Dados 0.5k words 2k words 2.5k words 5k words I/O on-board 8 DI / 6 DO 14 DI / 10 DO 14 DI / 10 DO SENAI - SIEMENS - VW 24 DI / 16 DO 33 Programação básica Capacidade de Expansão 2 módulos de expansão -------------------------- 7 Módulos de expansão -------------------------- Interrupções 1 ent. inter., 1 contad. 4 ent. inter., 3 contad. 4 ent. inter., 3 contad.---------------- interrup. (2 kHz) interrup. (2x 7 kHz; 1x 2 kHz) interrup. (2x 20 kHz; 1x 2 kHz)----- Contadores/Temporizadores 64/64 128/128 128/256 256/256 0.8 ms 0.8ms Tempo de Execução(por 1K/instruções) 1.2 ms 0.8 ms Comunicação 1x PPI / Freeport 1x PPI/ Freeport / MPI 1x PPI 1x Profibus 1x PPI /Freeport 1x PPI Manutenção -------------------------------- Livre de Manutenção, não necessita de bateria -------------------------------- Set de operações: Básicas, standard, operações especiais, PID integrado , receive +PID, funções de receive, funções aritiméticas (operações em ponto fixo e ponto flutuante), funções de jump, funções de loop, funções de conversão de código. Modelos Cada CPU por sua vez possue diferentes modelos para as diferentes tensão dos I/O’s. 34 SENAI - SIEMENS - VW Programação básica S7-200 - Dados Técnicos (CPU 22x) SIEMENS SF RUN STOP I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7 I1.0 I1.1 I1.2 I1.3 I1.4 I1.5 Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 Q0.6 Q0.7 Q1.0 Q1.1 CPU 214 SIMATIC S7-200 UEBER_T1D SIMATIC S7 Conhecimento em Automação Training Center Data : 07/10/00 Versão : 3.1 Arquivo : pro1_3.3 Siemens AG 1996. All rights reserved. Dimensões CPU221 CPU222 CPU224 CPU226 90x80x62 mm 90x80x62 mm 120.5x80x62mm 196x80x62mm Memória: de Trabalho (RAM) 4 kByte 4 kByte 8KByte 8KByte de Instruções 1.3 k 1.3 k 2.6 k 2.6k Registradores de Dados 1k words 1k words 2.5k words 8 DI / 6 DO 14 DI / 10 DO 2.5k words I/O on-board 6 DI / 4 DO SENAI - SIEMENS - VW 24 DI / 16 DO 35 Programação básica Capacidade de Expansão Nenhum módulo 2 módulos ---------- 7 módulos de expansão 4 ent. inter., 4 contad. 4 ent. inter., 4 contad. --------- 4 ent. inter., 6 contad. ---------- interrup. (30 kHz) interrup. (30 kHz) --------- ---------- Interrupções interrup. (30 kHz) Contadores/Temporizadores 256/256 256/256 256/256 256/256 0.37 ms 0.37ms Tempo de Execução (por 1K/instruções) 0.37 ms 0.37 ms Comunicação --------------------------------- 1x PPI/ Freeport / MPI --------------------------------- 2x PPI / Freeport / MPI Manutenção -------------------------------- Livre de Manutenção, não necessita de bateria -------------------------------- Set de operações Básicas, standard, operações especiais, PID integrado , receive +PID, funções de receive, funções aritiméticas (operações em ponto fixo e ponto flutuante), funções de jump, funções de loop, funções de conversão de código. Modelos Cada CPU por sua vez possue diferentes modelos para as diferentes tensão dos I/O’s. 36 SENAI - SIEMENS - VW Programação básica Espectro de Módulos PS: Entrada: 120/230 V ~ Saída: 24 V - IM: - Send - Receive - Send/Receive SM: DI / DQ - 24 V - 120/230 V ~ - Relê AI/AQ - Tensão - Corrente - Resistência - Termo elemento SIMATIC S7 Siemens AG 1996. All rights reserved. FM: CP: - Contadores - Posicionadores - Ponto a ponto - Controle em malha fechada - AS-i - PROFIBUS FMS/DP - Industrial Ethernet PS = Fonte de tensão IM = Módulo de interface SM =Módulo de sinal FM = Módulo de função CP =Processador de comunicação Data : 07/10/00 Versão : 3.1 Arquivo : pro1_3.4 Conhecimento em Automação Training Center Mód. de Sinal SM O módulo de sinal recebe do campo os sinais elétricos e os adapta aos vários níveis de sinais dos módulos: - Entrada/saída digital - Entrada/saída analógica (tensão, corrente, resistência, termoelementos) - Acessórios: conectores frontais Mód. de Interface IM O módulo de interface torna possível a configuração de vários trilhos /bastidores de expansão. Estes módulos fazem a conexão entre os trilhos / bastidores: - Módulo de Transmissão, conectado no Rack Central. - Módulo de Recepção, conectado no Rack de Expansão. SENAI - SIEMENS - VW 37 Programação básica - O módulo combinado Send/Receive é uma solução econômica para configuração com dois trilhos; neste caso no trilho de expansão são permitidos somente módulos de I/O (SM). Por ex. IM365 no S7-300. Mód. de Funções FM O módulo de função oferece “funções especiais”: - Contagem - Posicionamento - Regulação em malha fechada Mód. de Comunicação CP Módulos de comunicação oferecem as seguintes possibilidades de rede: - Comunicação ponto a ponto - PROFIBUS - Industrial Ethernet 38 SENAI - SIEMENS - VW Programação básica S7-300 - Endereçamento de Módulos/Slot Fonte de alimentação CPU IM SM SM SM SM SM SM 5 6 7 8 9 SM SM s Slot: 1 2 3 4 10 11 No S7-300 o endereçamento dos módulos é slot-orientado, isto é, dependem da posição do módulo no trilho SIMATIC S7 Siemens AG 1996. All rights reserved. Data : 07/10/00 Versão : 3.1 Arquivo : pro1_3.5 Conhecimento em Automação Training Center No S7-300 o endereçamento dos módulos de I/O, CP e FM são slot-orientados, isto é, o seu endereço depende da posição do módulo no trilho. Alguns slots são reservados: PS, CPU e IM. Slot 1: 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 (veremos mais tarde endereço MPI). SENAI - SIEMENS - VW 39 Programação básica 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. Slots 4 - 11: Módulos de sinais. Slot 4 é considerado o primeiro slot para módulos de entrada e saída (ou CP ou FM). Um exemplo de endereçamento é exibido abaixo para um cartão de digital (entrada = I, saída = Q): Importante A CPU 315-2DP permite que os endereços sejam livremente definidos. 40 SENAI - SIEMENS - VW Programação básica S7-300 - Endereçamento de I/O - Digital Slot # 3 Rack 3 Fonte IM de (Receive ) Tensão Rack 2 Fonte IM de (Receive ) Tensão Rack 1 IM Fonte de (Receive ) Tensão Rack 0 CPU e Fonte de Tensão IM (Send) 4 5 6 7 8 9 10 96.0 to 99.7 100.0 104.0 to to 103.7 107.7 108.0 112.0 to to 111.7 115.7 116.0 120.0 124.0 to to to 119.7 123.7 127.7 64.0 to 67.7 68.0 to 70.7 72.0 to 75.7 76.0 to 79.7 84.0 to 87.7 88.0 to 91.7 32.0 to 35.7 36.0 to 39.7 40.0 to 43.7 44.0 to 47.7 48.0 to 51.7 52.0 to 55.7 56.0 to 59.7 60.0 to 63.7 0.0 to 3.7 4.0 to 7.7 8.0 to 11.7 12.0 to 15.7 16.0 to 19.7 20.0 to 23.7 24.0 to 27.7 28.0 to 31.7 SIMATIC S7 Siemens AG 1996. All rights reserved. 80.0 to 83.7 Data : 07/10/00 Versão : 3.1 Arquivo : pro1_3.6 11 92.0 to 95.7 Conhecimento em Automação Training Center 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. Tabela Imagem da Periferia Aos sinais digitais do CLP corresponde uma área na CPU que contém o estado atual das entradas e saídas. Esta área, denominada Tabela Imagem da Periferia de Entrada (PII) e de Saída (PIQ) são atualizadas automaticamente pela CPU a cada início e fim de ciclo respectivamente. Pode-se acessar estas áreas (I e Q) em bits, bytes, words ou double words, como mostrado nos exemplos a seguir: SENAI - SIEMENS - VW 41 Programação básica - Q4.0 é um dado que é arquivado no primeiro bit (bit 0) do byte 4 na tabela imagem da periferia de saída (usando a numeração padrão das I/O do diagrama acima, isto corresponde ao primeiro ponto no módulo 2) - QB100 refere-se ao dado no byte 100 da tabela imagem da periferia de saída. - IW100 refere-se ao dado que é arquivado nos bytes 100 e 101 da tabela imagem da periferia de entrada. - QD24 refere-se ao dado que é arquivado nos bytes 24, 25, 26, 27 da tabela imagem da periferia de saída. Endereçamento Digital do S7-400 O S7-400 permite a definição pelo usuário do endereçamento dos módulos. Caso não seja definido pelo usuário, o CLP assume um endereçamento default para os módulos, cada módulo ocupando 4 bytes (32 bits). O endereçamento digital segue o seguinte padrão: - Inicio Endereçamento Digital = ( número do slot físico - 1) x 4 - Exemplo : Endereço inicial do módulo digital no slot 4 é 12.0 42 SENAI - SIEMENS - VW Programação básica S7-300 - Endereçamento de I/O - Analógico Slot # 3 Rack 3 Fonte IM de (Receive ) Tensão Rack 2 Fonte IM de (Receive ) Tensão Rack 1 Fonte IM de (Receive ) Tensão Rack 0 CPU e Fonte de Tensão IM (Send) 4 5 640 to 654 656 to 670 672 to 686 688 to 702 704 to 718 720 to 734 736 to 750 752 to 766 512 to 526 528 to 542 544 to 558 560 to 574 576 to 590 592 to 606 608 to 622 624 to 638 384 to 398 400 to 414 416 to 430 432 to 446 448 to 462 464 to 478 480 to 494 496 to 510 256 to 270 272 to 286 288 to 302 304 to 318 320 to 334 336 to 350 352 to 366 368 to 382 SIMATIC S7 Siemens AG 1996. All rights reserved. 6 7 8 9 Data : 07/10/00 Versão : 3.1 Arquivo : pro1_3.7 10 11 Conhecimento em Automação Training Center 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 (1o 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. Acesso aos Sinais Analógicos As I/O analógicas acessam uma área de memória denominada Periferia (PI e PQ) da CPU. Os sinais analógicos, ao contrário dos sinais digitais, não possuem uma tabela imagem (PII ou PIQ), atualizados a cada ciclo. Ao invés disto, você define quando os dados serão atualizados (lidos/escritos) usando simplesmente o endereço analógico no SENAI - SIEMENS - VW 43 Programação básica seu programa. O endereço identificador para uma entrada analógica é PIW e para saída analógica é PQW. No S7-300 o endereçamento para sinais analógicos começa com 256, sendo portanto que o primeiro 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. Endereçamento Analógico no S7-400 O S7-400 também suporta opcionalmente endereçamento padrão para módulos analógicos. O endereçamento analógico default segue o seguinte padrão: - Endereço Inicial Analógico = (número do slot físico - 1) x 64 + 512 - Exemplo: Endereço inicial de um módulo analógico no slot 4 é 704. 44 SENAI - SIEMENS - VW Programação básica S7-300 - Dados Técnicos CPU 312IFM CPU 313 CPU 314 CPU 314IFM - de trabalho 6 kB 12 kB 24 kB 32 kB 48 kB 64 kB 128 kB 512 kB - de carga integrada (RAM) 20 kB 20 kB 40 kB 48 kB 80 kB 96 kB 192 kB 64 kB - de trabalho externa (FEPROM) - 4 MB 4 MB 4 MB 4 MB 4 MB 4 MB 4 MB Tempo de Excução (por 1k de instruções binárias) 0.6 ms 0.6 ms 0.3 ms 0.3 ms 0.3 ms 0.3 ms 0.3 ms 0.1 ms ED / SD: 128 128 512 512 1024 2048 4096 16384 EA / AS: 32 32 64 64 128 256 512 2048 ED / SD 10 / 6 - - 20 / 16 - - - - EA / AS - - - 4/1 - - - - Operandos: - Memory Markers (flags) 1 k 2 k 2 k 2 k 2 k 2 k 2 k 8 k - Contadores 32 64 64 64 64 64 64 512 - Temporizadores 64 128 128 128 128 128 128 512 Número de Blocos Máximo: - FB 32 128 128 128 192 192 256 1024 - FC 32 128 128 128 192 192 512 1024 - DB 63 127 127 127 255 255 511 2047 Funções Integradas sim não não sim não não não não Número de Trilhos / Módulos 1/8 1/8 4 / 32 4 / 32 4 / 32 4 / 32 4 / 32 4 / 32 Máximo de conexões ativas por 4 4 4 4 4 4 4 32 MPI MPI MPI MPI MPI MPI, DP MPI MPI, DP Memória CPU 315 CPU 315-2 DP CPU 316 CPU 318-2 DP I/O's Integradas (por exemplo contadores) interface MPI Interface Integrada SIMATIC S7 Siemens AG 1996. All rights reserved. Data : 07/10/00 Versão : 3.1 Arquivo : pro1_3.8 Conhecimento em Automação Training Center Dados Técnicos A família S7-300 suporta um set de instruções e endereçamento comuns. A figura mostra as especificações técnicas mais importantes para as CPU’s 312 a 315. Números de Blocos Diferenças nas quantidade de números de blocos (FB, FC, DB). - CPU 312 CPU 315 - 32 FB 192 FB - 32FC 192 FC - 63 DB 255 DB SENAI - SIEMENS - VW 45 Programação básica è FB Blocos de Funções è FC Funções è DB Blocos de Dados CPU 3xx IFM As CPU’s IFM são caracterizadas não somente por possuírem entradas/saídas integradas na CPU (on-board) como também funções especiais incorporadas. Trilhos (1) Para as CPU’s 312/313, é possível a montagem em somente um trilho (sem expansão) Trilhos (2) As CPU’s 314 a 318 suportam até quatro trilhos ( 3 trilhos de expansão). Conexão DP Os S7’s 315-2 DP / 318-2 DP possuem uma interface adicional para PROFIBUS DP (Periferia Distribuída) e permitem a livre escolha do endereçamento dos módulos de I/O. 46 SENAI - SIEMENS - VW Programação básica S7-400 - Dados Técnicos CPU CPU 412-1 412-1 CPU CPU 412-2 412-2 CPU CPU 414-2 414-2 CPU CPU 414-3 414-3 CPU CPU 416-2 416-2 CPU CPU 416-3 416-3 CPU CPU 417-4 417-4 CPU CPU 417H 417H Memória - de trabalho - de carga integrada (RAM) 48 kB 256 kB 72 kB 256 kB 128 kB 256 kB 384 kB 256 kB 0,8 MB 256 kB 1,6 MB 256 kB 2 MB 256 kB 2 MB 256 kB - de trabalho externa (FEPROM) 64 MB 64 MB 64 MB 64 MB 64 MB 64 MB 64 MB 64 MB Tempo de Excução (por 1k de instruções binárias) 0.2 us 0.2 us 0.1 us 0.1 us 0.08 us 0.08 us 0.1 us 0.1 us Área máx. endereço I/O 4 kB 4 kB 8 kB 8 kB 16 kB 16 kB 16 kB 16 kB - Memory Markers (flags) 4 k 4 k 8 k 8 k 16 k 16 k 16 k 16 k - Contadores - Temporizadores 256 256 256 256 256 256 256 256 512 512 512 512 512 512 512 512 - FB - FC 256 256 256 256 1024 1024 1024 1024 2048 2048 2048 2048 6144 6144 6144 6144 - D B 512 512 1024 1024 4096 4096 8192 8192 Máximo de conexões ativas por interface MPI 16 16 32 32 44 44 44 44 Interface Integrada MPI/DP MPI/DP MPI/DP, MPI/DP, MPI/DP, MPI/DP, MPI/DP, MPI/DP, DP DP DP DP DP, +2x Freeport DP Operandos: Número de Blocos Máximo: SIMATIC S7 Siemens AG 1996. All rights reserved. Data : 07/10/00 Versão : 3.1 Arquivo : pro1_3.9 Conhecimento em Automação Training Center Tipos de CPU: Um range completo de CPU’s supre todas as exigências de desempenho individuais no que se refere a tempo de execução, tamanho da memória de trabalho e número de blocos. E ainda mais, as CPU’s 400 possuem integrada pelo menos uma interface MPI / PROFIBUS-DP (mestre). P e C-BUS Cada S7-400 é equipado com um barramento paralelo 1,5 µsec/Byte (P-bus) para acesso de I/O em alta velocidade e um barramento de comunicação serial com 10,5 SENAI - SIEMENS - VW 47 Programação básica MBaud para troca de dados via MPI com módulos de apoio, tais como CPU’s, OP’s, FM’s, etc. SFB / CFB E ainda, é possível transferir dados entre CPU’s, FM’s e CP’s com o funções especiais como System Function Blocks (SFB’s ) e Communication Function Blocks (CFB’s). 48 SENAI - SIEMENS - VW Programação básica S7-300 - Elementos da CPU LEDs de Status da CPU CPU314 SF BATF DC5V FRCE RUN STOP SIEMENS Seleção do Modo de Operaçao Slot para o Cartão de Memória RUN-P RUN STOP M RES SIMATIC S7-300 Interface MPI Battery SIMATIC S7 Siemens AG 1996. All rights reserved. MPI Data : 07/10/00 Versão : 3.1 Arquivo : pro1_3.10 Conhecimento em Automação Training Center Modo de Operação Chave para seleção manual do modo de operação da CPU - MRES = Reset da memória (overall reset) - STOP = o programa não é executado. - RUN = O programa é processado porém o programa não pode ser alterado pelo Terminal de Programação (só lido). - RUN-P = A CPU está processando o programa, e o Terminal de programação pode acessar/alterar o programa e o modo de operação (não existe trava). SENAI - SIEMENS - VW 49 Programação básica Status da CPU (LEDS) SF = erro interno na CPU ou erro de diagnóstico nos módulos. BATF = sem bateria ou carga baixa . DC5V = fonte +5V - acesa : indica tensão DC Ok - piscando: sobrecarga. FRCE = indica que pelo menos uma entrada ou saída está forçada (consulte versão de CPU) RUN = piscando durante a inicialização da CPU, acesa quando a CPU está em modo RUN (processando o programa). STOP = pisca se um reset da memória é necessário, acesa indica que a CPU está no modo STOP (programa não está sendo executado). Encaixe do Módulo de Memória O módulo de memória (memory card) é inserido neste local. O módulo é utilizado para arquivar o programa como segurança para o caso de falta de alimentação e ausência da bateria Encaixe da Bateria Existe um local para bateria de lithium abaixo da tampa. A bateria salva o conteúdo da memória RAM no caso de uma falha na alimentação da CPU. Interface MPI O conector de 9-pinos sob a tampa é a conexão da multipoint interface (MPI). Esta é a porta de programação da CPU do S7-300, e pode ser utilizada para a conexão de OP’s, PC’s e outros CLP’s. 50 SENAI - SIEMENS - VW Programação básica S7-400 - Elementos da CPU DI 32xDC24V CPU 414- 2 X2 3 4 421 - 1BL00- 0AA0 INTF EXTF LEDs de Status da CPU X2 3 4 414 - 2XG00- 0AB0 INTF EXTF DP LEDs de Satus da Interface DP Integrada INTF EXTF BUSF FRCE CRST FRCE CRST RUN Seleçao tipo de Start-up STOP CRST WRST RUN-P RUN RUN STOP CRST WRST RUN-P RUN Seleção do Modo de Operaçao STOP CMRES STOP CMRES Interface DP Slot para o Cartão de Memória X3 Interface MPI X1 EXT.-BATT. X1 Bateria Externa 5...15V DC SIMATIC S7 Siemens AG 1996. All rights reserved. EXT.-BATT. 5...15V DC Data : 07/10/00 Versão : 3.1 Arquivo : pro1_3.11 Conhecimento em Automação Training Center Soquete da Bateria Soquete (“banana”, 2,5mm) para a conexão de uma fonte de tensão/bateria externa, de 5 ... 15VDC para backup da RAM no caso de ser necessário substituir a fonte de tensão do bastidor (sem perda de dados). Interface MPI Conexão para CPU’s, OP’s, FM’s, etc com o terminal de programação. Também utilizada para comunicação via dados globais (GD) com outras CPU’s. SENAI - SIEMENS - VW 51 Programação básica Interface DP As CPU’s têm como característica a interface DP para conexão de I/O’s distribuídas integrada diretamente na CPU. O S7-400 é mestre para conexões com ET200M, ET200U (B/C), S7-300, etc. Encaixe do Módulo de Memória Os cartões FLASH-RAM- ou -EPROM podem (devem) ser inseridos no S7-400 para aumentar a capacidade de memória de carga de acordo com a exigência da aplicação: - os dados da memória F-RAM com 64 KB, 256 KB, 1 MB, 2 MB são sustentados na CPU pela bateria. - os dados da memória F-EPROM com até 64 MB são sustentados pela EEPROM integrada, não necessitando de bateria. Modo de Operação MRES = Reset da memória (overall reset) STOP = o programa não é executado. FRCE = indica que pelo menos uma entrada ou saída está forçada (consulte versão de CPU) RUN = O programa é processado, mas pode somente ser lido (não é permitido alterá-lo). RUN-P = A CPU está processando o programa, e o Terminal de Programação pode alterar o programa e o modo de operação (não existe trava). Modo Start-Up CRST = (ColdReSTart) o programa re-inicia sempre a partir da 1. instrução WRST = (Warm ReSTart) o programa re-inicia no mesmo ponto em que havia parado A CPU indica o modo start-up através do LED de status 52 SENAI - SIEMENS - VW Programação básica Faixa de Endereçamento Máximo*1 no STEP 7 Área de endereço Imagem do Processo I/Q Tipo de Acesso Operando Endereçam. máx. bit entrada/saída I/Q 0.0 to 65535.7 byte entrada/saída IB / QB 0 a 65535 word entrada/saída IW / QW 0 a 65534 double word entrada/saída ID / QD 0 a 65532 bit de memória M 0.0 a 16383.7 byte de memória MB 0 a 16383 word de memória MW 0 a 16382 double word de memória MD 0 a 16380 byte I/Q , periferia PIB / PQB 0 a 65535 word I/Q, periferia PIW/PQW 0 a 65534 double word I/Q , periferia PID/PQD 0 a 65532 Temporizadores Temporizadores (T) T 0 a 512 Contadores Contadores (C) C 0 a 512 Blocos de dados Bloco de dados (DB) Aberto com OPN DB Bit, byte, word, double word Aberto com OPN DI Bit, byte, word, double word DB 1 a 8192 DBX,DBB DBW,DBD 0 a 65532 DIX,DIB DIW,DID 0 a 65532 Memory markers (Flags) Entrada/saída analógica (ou sem imagem de processo) Dados em blocos de dados 1) Veja end. permitido para cada CPU. SIMATIC S7 Siemens AG 1996. All rights reserved . Data : 07/10/00 Versão : 3.1 Arquivo : pro1_3.1 2 I Entrada Q Saída B Byte (8 bits) W Word (16 bits) D Double word (32 bits) M Memória (flag) P Periferia (acesso direto- PIW/PQW) T Temporizadores C Contadores Conhecimento em Automação Training Center DB Data block DI Data Block (usado em Bloco de Dados Instance) Importante Verifique os dados técnicos da CPU utilizada para verificar sua capacidade de endereçamento. SENAI - SIEMENS - VW 53 Programação básica Demonstração: Monitorando e Modificando Variáveis SIMATIC S7 Siemens AG 1996. All rights reserved. Data : 07/10/00 Versão : 3.1 Arquivo : pro1_3.13 Conhecimento em Automação Training Center Esta é uma demonstração para auxiliar você a entender como endereçar I/Q no S7300. Através da ferramenta SIMATIC Manager, o instrutor irá mostrar a relação entre endereçamento lógico e endereçamento físico. A tabela de entradas e saídas no rack é criada com auxílio de “Modify and Monitor Status Variables”. A tabela é então ativada. 54 SENAI - SIEMENS - VW Programação básica Exercício 3.1: Resetando a Memória da CPU Passos Procedimentros Resultados 1 2 Posicionar a chave na posição STOP. A CPU irá para STOP. Gire a chave em direção a posição MRES. Permaneça nesta posição até que o LED STOP (amarelo) pisque 2 vezes. O LED STOP (amarelo) irá apagar e tornará a acender depois de aproximadamente 3 segundos . 3 Girar a chave para posição STOP imediatamente depois que o LED STOP piscar a 2 vez, e torne a girar para a posição MRES. Retornar a chave para a posição STOP novamente. O LED amarelo irá piscar por aproximadamente 3 segundos e então ficará acesa constantemente. 4 Inicie o STEP 7 e ative a função Acessible Nodes Todas as CPU’s conectadas ao PG/PC são mostradas (MPI=....) 5 Selecione a CPU que foi resetada. Os blocos da CPU serão exibidos. 6 Baseado na lista de blocos, determine quais blocos ainda estão presentes na CPU. Somente os blocos de sistema podem estar presentes (SDB, SFC e SFB). Não poderá aparecer OB’s, DB’s FB’s ou FC’s no diretório do SIMATIC Manager. SIMATIC S7 Siemens AG 1996. All rights reserved. Data : 07/10/00 Versão : 3.1 Arquivo : pro1_3.14 Conhecimento em Automação Training Center Meta Apagar todos os blocos da CPU através de um reset geral. Procedimentos Siga os passos da figura acima. Acontecimentos Durante um Reset da Memória da CPU Quando é executado um reset na CPU, ocorre o seguinte: - Deleção dos dados na memória de trabalho e memória de carga. - Deleção do back-up da memória (áreas retentivas). - Teste de Hardware. - Inicialização do hardware e transferência dos parâmetros básicos para CPU. SENAI - SIEMENS - VW 55 Programação básica - Cópia do programa do cartão de memória para a memória interna da CPU, se o cartão de memória estiver plugado. Endereço MPI Se não estiver plugado o cartão de memória, os endereços MPI setados serão retidos durante o reset da CPU. Se o cartão de memória estiver plugado, os endereços arquivados no cartão serão transferidos. Buffer de Memória O conteúdo do buffer de diagnóstico fica retido quando é feito um reset na CPU. Reset da Memória via PG/PC É possível também resetar a CPU via o Terminal de Programação. Gire a chave para a posição RUN/P, e proceda da seguinte forma: - Inicie o SIMATIC Manager. - Selecione a função Acessible Nodes. - Selecione a CPU. - Comando de menu PLC ⇒ Operating Mode. Use o símbolo STOP para passar para STOP - 56 Selecione no menu de comando PLC ⇒ Memory Reset. SENAI - SIEMENS - VW Programação básica O Software STEP 7 Iniciando o STEP 7 Para Iniciar... SIMATIC S7 Siemens AG 1995. All rights reserved . double-click Date: 07/11/00 Version: 3.1 File No.: pro1_4.2 Conhecimento em Automação Training-Center Iniciando o STEP 7 No ícone SIMATIC Manager que aparece no Windows 95 ou no menu Start (Iniciar), acima do grupo “Programs”. Como em todas aplicações WINDOWS 95, o programa é ativado com um double-click no símbolo SIMATIC Manager ou via menu Start ⇒ SIMATIC ⇒ STEP 7 ⇒ SIMATIC Manager SENAI - SIEMENS - VW 57 Programação básica Menu e Barra de Ferramentas do Editor de Programas Sistema de menu (abrir/fechar etc.) Título da janela ativa Botões de Comando Minimizar/Maximizar/fechar Barra de Títulos Barra de Menu Barra de Ferramentas Área de Trabalho Barra de Status SIMATIC S7 Siemens AG 1995. All rights reserved . Date: 07/11/00 Version: 3.1 File No.: pro1_4.3 Conhecimento em Automação Training-Center Janela do STEP 7 • Barra de título: - • Barra de menu: - • área na qual você digita ou seleciona programa/informações. Barra de Status: - 58 contém funções e ícones de uso freqüente do menu de comandos. Área de trabalho: - • contém todos os menus disponíveis para a janela corrente. Barra de ferramentas: - • contém o título da aplicação e da ferramenta ativada na janela Exibe o status e informações adicionais sobre os dados selecionados. SENAI - SIEMENS - VW Programação básica Barra de ferramentas e de menu • File: - • Edit: - • muda a visualização da tela. Options: - • corta, copia, apaga, cola, seleciona itens. View: - • abre, cria, salva, e imprime arquivos ou blocos seta várias telas ou opções da aplicação. Window: - seleciona o organiza as janelas; sobrepondo, lado a lado, tamanho da janela ou fechar janela. • Help: - acesso ao help on-line e Tutorial. SENAI - SIEMENS - VW 59 Programação básica Usando o Help do STEP 7 SIMATIC S7 Siemens AG 1995. All rights reserved . Date: 07/11/00 Version: 3.1 File No.: pro1_4.4 Conhecimento em Automação Training-Center Sistema Cada parte do STEP 7 possui um sistema de help (ajuda) completo. O sistema consiste de: - Help - Menu O menu é uma tabela de conteúdos e dicionário de palavras que conduz a vários tópicos de ajuda. O glossário fornece definições para os termos usados. - Help - Botões de comando Os botões de comando são localizados em vários campos de diálogo. O conteúdo relacionado ao help é exibido em vários campos de diálogo. 60 SENAI - SIEMENS - VW Programação básica Palavras de Comandos Certas palavras são especialmente marcadas no texto do help. Quando você clicar nestas palavras, um help adicional com uma definição detalhada do termo é exibido. F1 O sistema de help pode ser chamado a qualquer momento com a tecla F1 (help sensível ao contexto). Pesquisa É possível procurar uma informação específica sobre um termo usando a função Pesquisa (Search). Imprimir Pode-se imprimir (Print) uma cópia do tópico selecionado. Notas O usuário pode inserir seus próprios comentários no help. Estes comentários são identificados no texto de help pelo “paper tips”(dicas) (Edit ⇒ Comment). Marcas Uma vez encontrado o texto específico do help, você pode marcar a localização setando como uma marca. Para definir uma marca para futura referência, selecione Bookmark ⇒ Define. Navegação Botões de controle << e >> facilitam o avanço ou o retorno para outros tópicos do help. SENAI - SIEMENS - VW 61 Programação básica Estrutura de Projeto no SIMATIC Manager Projeto Estação HW Programação da CPU do S7-300 Programas S7/M7 (associado à um HW) Programa do usuário em arquivos fontes (STL) Programa do usuário com blocos S7 OBs, FBs, FCs, DBs, etc. Programa S7/M7 (não associado à um HW) Programa do usuário em arquivos fontes Programa do usuário em blocos S7 OBs, FBs, FCs, DBs, etc. SIMATIC S7 Siemens AG 1995. All rights reserved . Date: 07/11/00 Version: 3.1 File No.: pro1_4.5 Conhecimento em Automação Training-Center Projeto A estrutura do projeto de automação se inicia pelo ícone de projeto, localizado no primeiro nível. O ícone é identificado pelo nome do projeto. Estação de HW Para definir e parametrizar o hardware deve-se criar a estação de hardware(S7-300/ S7-400). A estação criada (S7-x00 Station) pode ter seu nome alterado pelo usuário, e seus módulos são definidos através da ferramenta Station Configuration. Ao se definir os módulos, o sistema automaticamente cria os sub-diretórios respctivos (CPU, Programa, Blocks, etc.) 62 SENAI - SIEMENS - VW Programação básica Programas S7/M7 O programa de usuário referente à um CLP propriamente dito, é localizado sob o diretório S7Programs. Este diretório pode estar ou não associado à uma estação específica criada. Associada à um HW, o diretório se encontra subordinado `a CPU. Caso contrário fica subordinado diretamente ao Projeto. Nos sub-diretórios Source e Blocks estão localizados os programas do usuário, em arquivos fontes ou em blocos S7 respectivamente. Programa S7 (S7-Programms) Blocos de Programa (blocks) Blocos S7 OBs, FBs, FCs, etc. Arquivos fonte (source files) Diagramas (CFC) Arquivos fonte: STL, SCL, GRAPH, HiGraph, Diagrama CFC Diagrama SFC Tabela de símbolos (Symbol) SENAI - SIEMENS - VW 63 Programação básica Objetos do STEP 7 SÍMBOLO OBJETO Projeto Estação Módulo Programável (CPU, CP ou FM) Programa S7 (offline) Blocos de Programa (Blocks) Programa S7 (online) Bloco Tabela de Simbólicos Conexão SIMATIC S7 Siemens AG 1995. All rights reserved . DESCRIÇÃO Representa o ïcone Principal: Projeto de Automação Representa um HW configurado, ao qual está subordinado o programa Representa módulo que contém programa ou parametrização Contém todos os elementos referentes à programação: blocos, arq. fontes, simbólicos. Representa o diretório que contém os blocos de programa: OBs, FBs, DBs Contém os elementos referentes ao programa on-line. Representa o bloco de programa: OB1, FB10, FC34, ... Representa o editor dos simbólicos Representa o Editor de Conexões de Comunicação Date: 07/11/00 Version: 3.1 File No.: pro1_4.6 SUBORDINADO A Arquivo Projeto Estação Módulo Programável ou Projeto Programa S7 (online ou offline) Módulo Programável ou Projeto Blocos de Programa (online ou offline) Programa S7 (offline) Programa S7 (offline) Conhecimento em Automação Training-Center Objetos Como uma linguagem moderna, o STEP 7 não poderia deixar de abusar de objetos para tornar o uso do software intuitivo e user-friendly. Assim uma série de objetos representam as diferentes ferramentas, arquivos e funções disponíveis. Estrutura A estrutura do projeto já explicada anteriormente, mostra que o projeto é hierarquizado, tendo-se acesso aos diferentes objetos conforme se avança na estrutura (subordinado a ....). 64 SENAI - SIEMENS - VW Programação básica Programas S7 online e offline As pastas de programa de usuário (S7-Programs) diferem entre si nos modos online e offline. No modo online está se acessando diretamente o programa na CPU, portanto só se encontram lá os blocos realmente relevantes para o funcionamento do CLP. Assim, objetos como Tabela de Simbólicos e Arquivos fontes só são encontrados no modo off-line. Outros Objetos Além dos objetos listados acima existem outros que representam outras funções. Alguns destes objetos são encontrados somente se instalados outros pacotes opcionais: Arquivos Fontes - Subordinado a Source Files Parametrização da Rede (MPI, Profibus, etc.) - Subordinado ao Projeto Estações externas para configuração de comunicação - Subordinado ao Projeto Tela de OP - Subordinado ao Projeto - Opcional PROTOOL Pasta de Diagramas CFC - Subordinado a Programa S7 - Opcional CFC SENAI - SIEMENS - VW 65 Programação básica Blocos do STEP7 Projeto SIMATIC S7 Date: 07/11/00 Version: 3.1 File No.: pro1_4.7 Siemens AG 1995. All rights reserved . Conhecimento em Automação Training-Center Blocos Blocos são partes funcionais do programa do usuário. Eles diferem em função, uso e estruturas. Blocos representam o código executável do programa. O ambiente STEP 7 suporta os seguintes tipos de blocos: • 66 Blocos lógicos: - OBs - Blocos de organização - FCs - funções - FBs - blocos de funções - SFCs - Funções de sistema - SFBs - blocos de função de sistema SENAI - SIEMENS - VW Programação básica • Blocos de dados: - DBs - Blocos de dados - SDBs - Blocos de dados de sistema • Tipos de dados definidos pelo usuário: • UDTs VAT VAT (Tabela para monitoração/modificação de variáveis) não são blocos, mas são arquivadas no programa do usuário. SENAI - SIEMENS - VW 67 Programação básica Navegando no STEP 7 SIMATIC S7 Siemens AG 1995. All rights reserved . Date: 07/11/00 Version: 3.1 File No.: pro1_4.8 Conhecimento em Automação Training-Center A navegação dentro do STEP 7 é muito parecida com a navegação do Windows Explorer . É possível inclusive abrir vários projetos, ou visualizar offline e online ao mesmo tempo, como mostrado na figura acima. Para obter isto utilize Window ⇒ Arrange. Na Janela Direita A janela exibe um projeto no modo offline, com toda a estrutura já vista anteriormente. Na Janela Esquerda Esta janela exibe o conteúdo da CPU, acessada pela função Acessible Nodes. Na janela estão listados todos os blocos contidos na CPU (FC, OB, SFC, etc) 68 SENAI - SIEMENS - VW Programação básica Wizard 7TOP_T1D SIMATIC S7 Siemens AG 1995.All rights reserved. Date: 07/11/00 Version : 3.1 File No.: pro1_4.9 Conhecimento em Automação Training -Center Wizard Wizard é um assistente que auxilia a criação do projeto. Para iniciá-lo utilize a opção File ⇒ New Project Wizard. Passos O Wizard vai auxiliando nos passos necessários para a criação do projeto. Tipo de CPU, blocos OB a serem criados e nome do projeto. O usuário tem ainda a opção de criar os blocos OB’s no modo texto. Como se nota, o Wizard cria sempre um projeto com estação de hardware e programa. Programa do Usuário Ao usuário cabe apenas a criação do seu programa. O Hardware criado contém somente a CPU, devendo-se complementar o hardware e parametrizá-lo se necessário. SENAI - SIEMENS - VW 69 Programação básica Exercício 4.1: Criando um Projeto Iniciar o SIMATIC Manager (diretamente do WINDOWS95) Então selecione File => New => Project ou click o ícone “ New” . SIMATIC S7 Siemens AG 1995. All rights reserved . Date: 07/11/00 Version: 3.1 File No.: pro1_4.10 Conhecimento em Automação Training-Center O projeto contém todos os programas e dados para as tarefas do controlador lógico programável. Este projeto pode conter um ou vários programas que são usados em uma ou várias CPU’s. Um projeto é uma estrutura localizado no diretório raiz do seu dispositivo de programação. Metas Apagando e criando um projeto. Procedimentos 1. inicie o SIMATIC Manager. 2. Selecione no menu de comando File ⇒ Delete ⇒ Project. 3. Selecione “PRO1” 1) na lista de projetos e confirme com “OK”. 70 SENAI - SIEMENS - VW Programação básica 4. Depois do projeto apagado, selecione no menu de comando File ⇒ New ⇒ Project. 3. Digite o nome do projeto "PRO1"no campo indicado. 4. Confirme com “OK”. Resultado Quando você selecionar o projeto no SIMATIC Manager , o nome do seu projeto será exibido próximo ao símbolo de projeto. Projetos no SIMATIC Manager tem o seguinte símbolo: 1) Deletar o programa “PRO1” somente se existente. SENAI - SIEMENS - VW 71 Programação básica Exercício 4.2: Criando um Programa S7 Use Insert => Program => S7 Program para criar uma nova CPU de programas. DICA DO WINDOWS95 : Use o botão esquerdo do mouse para destacar o projeto e então pressione o botão da direita. Aparece o menu com o qual você pode criar mais rápido um novo programa S7 via Insert New Object => S7 Program. SIMATIC S7 Siemens AG 1995. All rights reserved . Date: 07/11/00 Version: 3.1 File No.: pro1_4.11 Conhecimento em Automação Training-Center Um programa S7 é uma combinação de blocos de programas, bloco de dados, comentários e símbolos que são ligados a uma aplicação. Criando este programa, está-se criando uma estrutura na qual todos estes componentes de programa são combinados. Metas Criar um novo programa S7. Procedimentos 1. Inicie o SIMATIC Manager. 2. Clique no projeto PRO1. 72 SENAI - SIEMENS - VW Programação básica 3. Selecione no menu de comando Insert => Program => S7 Program (ou use o botão da direita do mouse como descrito acima). 4. Um novo programa S7 com o nome "S7 Program 1" é criado. 5. Selecionar o programa com o botão da esquerda do mouse e então com o botão da esquerda clique em "S7 Program 1" novamente. 6. Especifique o nome como PROGA . 7. Nesta pasta você pode encontrar o programa atual com o nome dos blocos (programa do usuário), Source (programas fonte) e a pasta de simbólicos com a lista de símbolos. 8. Confirme com “OK”. Resultado Um novo programa S7 é criado com o projeto PRO1. O programa S7, programa do usuário, é automaticamente criado nesta pasta. Usando o SIMATIC Manager você pode ver o subdiretório PROG1. Um bloco OB1 vazio é automaticamente criado no programa do usuário. SENAI - SIEMENS - VW 73 Programação básica 74 SENAI - SIEMENS - VW Programação básica Configurando e parametrizando o S7 Introdução Chamando o Configurador de HW Configurando o rack KONF_T1D SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.2 Conhecimento em Automação Training Center Configuração de H/W Com esta ferramenta, é possível: - definir os módulos utilizados (CPU, I/O, FM) e a sua parametrização. Ex.: tipo de medição do módulo analógico de entrada. - ler a configuração da CPU. Ex. designação dos módulos no rack - ler diagnóstico de dados referentes a módulos (system diagnostics) A janela on-line (diagnóstico de hardware) mostra a configuração da estação que está acessível on-line. Informações de status ou estado de operação de cada módulo são mostradas no relatório simbólico do módulo (=system diagnostics) SENAI - SIEMENS - VW 75 Programação básica A tecla F5 atualiza a exibição. Para obter mais informações, dar um double-click no símbolo. A ferramenta é iniciada, por exemplo, pela seleção de uma estação de hardware no SIMATIC Manager ou via comando de menu Edit ⇒ Open Object Configurando O usuário especifica a posição dos módulos no rack e os endereços são definidos automaticamente ( nas CPU315-2 e do S7-400 o usuário pode alterar os endereços). À esta configuração denominaremos configuração parametrizada. Durante o start-up, a CPU checa a distribuição dos módulos existente, que é denominada configuração real. No caso do S7-400, é possível comparar a configuração real com a configuração parametrizada. Existindo divergências, o start-up pode ser abortado, se desejado pelo usuário. Setando Parâmetros Ao invés de setar chaves nos módulos, todos os parâmetros são definidos via software. Pode-se definir parâmetros para a CPU e para determinados módulos de I/O, tais como módulos analógicos. Nos parâmetros da CPU estão incluídos, entre outros, o tempo de supervisão de duração de ciclo ou o intervalo de tempo para execução de partes do programa. Trocando Módulos Durante um restart completo, a CPU distribui os parâmetros para todos os módulos existentes. Assim, quando se substitui um módulo defeituoso, a parametrização para o novo módulo ainda estará disponível, armazenada na CPU. 76 SENAI - SIEMENS - VW Programação básica Configurador de Hardware - Menus Barra de Ferramentas Barra de Ferramentas Menu de “Edição” Menu de “Edição” Upload (le o CLP) Download (transfere p/ CPU) Ativa o Catálogo Menu da “Estação” Menu da “Estação” Menu de “Visualização” Menu de “Visualização” Menu do “PLC” Menu do “PLC” SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.3 Conhecimento em Automação Training Center Station (estação) O menu Station serve para selecionar o CLP a ser editado, salvar a configuração, imprimir, etc. É comparável ao menu de edição de um Processador de Texto como por exemplo: O Microsoft Word. É possível entre outras funções: - New - criar uma nova estação - Open e Open Online - editar uma configuração existente no PG/PC ou na CPU. - Save - salvar a configuração corrente. Ao se salvar uma configuração pela 1a. vez, o STEP 7 criará na estrutura automaticamente um Módulo Programável (por ex. a CPU) e a pasta S7-Programs subordinada à este módulo, além de gerar o bloco de configuração (SDB). - Consistency Check - verifica se a configuração de hardware está correta, porém não gera o bloco de configuração (SDB) nem as pastas de CPU e programa. SENAI - SIEMENS - VW 77 Programação básica - Compile - é o mesmo que save. Checa a consistência, gravando ao bloco de configuração de hardware na respectiva pasta CPU/Programa já criada. View O menu View é utilizado para selecionar a maneira que se quer visualizar a configuração, simplificada ou em detalhes (com MLFB, endereço, etc), além de tornar ativo ou não a barra de ferramentas e a linha de status. A linha de status serve como um pequeno help online, mostrando sempre um pequeno texto sobre a função selecionada, além do modo de operação ativo Offline ou Online. PLC O menu PLC é utilizado para ler ou transferir a configuração editada do PG para o CLP (também possível pelo ícone da barra de ferramentas). A transferência só pode ser feita se a CPU estiver conectada ao Terminal de Programação. No modo online estão ainda disponíveis funções de informação e de diagnóstico, além de se poder alterar o modo de operação da CPU. 78 SENAI - SIEMENS - VW Programação básica Configuração Real Configuração Real Lendo a Configuração Real P G 72 0 SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.4 Conhecimento em Automação Training Center Configuração Real A CPU gera uma configuração interna real durante a energização. Isto é, a CPU verifica a disposição dos módulos existentes, e caso não exista o bloco de parametrização, distribui os endereços de acordo com um algoritmo fixo. Se não existe parametrização, os parâmetros default são usados. A CPU arquiva esta configuração real no bloco de dados do sistema. No PG/PC, você pode ler esta configuração real para servir como base (template) para adicionar e/ou re-parametrizar os módulos usando o HW Configuration. SENAI - SIEMENS - VW 79 Programação básica Procedimento A configuração real é gerada usando o ícone Upload. 80 SENAI - SIEMENS - VW Programação básica Configurando o Hardware SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.5 Conhecimento em Automação Training Center Dá-se o nome de Configuração Parametrizada à configuração de hardware criada pelo usuário, determinando os módulos existentes e a sua localização, bem como a parametrização destes módulos. Configurando A configuração é executada pela ferramenta Configurador de Hardware. A partir do catálogo, seleciona-se os módulos utilizados, posicionando-os no slot respectivo do trilho/bastidor. Naturalmente inicia-se a configuração com o trilho/bastidor para então se posicionar os outros módulos. Ao se posicionar um módulo, o sistema automaticamente designa um endereço para o módulo. A CPU315-2 e toda a família S7-400 permitem que este endereço seja alterado pelo usuário. SENAI - SIEMENS - VW 81 Programação básica A parametrização dos módulos é realizada dando-se um double-click sobre o módulo desejado. Uma tela de configuração referente ao módulo aparecerá, permitindo a alteração dos parâmetros. Durante o start-up do controlador lógico programável S7-400, pode haver um check para verificar se a configuração real (existente) e a configuração parametrizada estão de acordo. Catálogo Eletrônico O catálogo eletrônico contém toda a lista de módulos existente do S7. Quando você clicar na tecla “+”, você terá disponível os módulos do grupo selecionado. Atualizações deste catálogo (novas placas) estarão sempre disponíveis via Internet ou via o Distribuidor local. 82 SENAI - SIEMENS - VW Programação básica Parâmetros e Propriedades da CPU SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.6 Conhecimento em Automação Training Center Setando Parâmetros da CPU Entre outros, os seguintes parâmetros podem ser setados na CPU: - endereço da interface MPI - características de start-up/ciclo: tempo máximo de ciclo, ciclo de carga para comunicação, auto teste cíclico e auto teste depois da energização. - interrupção cíclica (Watchdog): OB 35 - memória retentiva: markers de memória (flags), temporizadores, contadores e bloco de dados. - clock de memória: reduzir a freqüência de byte de memória - diagnóstico de sistema: enviar mensagens de diagnóstico, detalhar registros no buffer de diagnóstico. SENAI - SIEMENS - VW 83 Programação básica Se o usuário não definir nenhum parâmetro, os parâmetros default serão utilizados na CPU. Depois de setar os parâmetros, deve-se transferir os novos parâmetros com o comando de menu PLC ⇒ Download. A CPU deverá estar no modo STOP. Endereço MPI Se você desejar conectar vários controladores lógicos programáveis via interface MPI, você deverá setar diferentes endereços MPI para cada CPU. 84 SENAI - SIEMENS - VW Programação básica CPU - Características de Start-Up SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.7 Conhecimento em Automação Training Center Setpoint and Actual Configuration Para o S7-300 com a CPU 315-2 e o S7-400, quando você desativa este campo, você pode fazer com que a CPU vá para STOP se a configuração real (existente) não for igual a configuração parametrizada. Delete PIQ on Restart No restart, a imagem de entradas/saídas do processo é normalmente deletada. Se você não deseja que isto aconteça , você pode desativar este item (válido para o S7400). Hardware Test Quando esta função é ativada, a RAM interna da CPU é testada durante o start-up SENAI - SIEMENS - VW 85 Programação básica Automatic Startup after "Network On" Para o S7-400, você pode escolher entre: - Restart completo (deletando as áreas não retentivas e o programa inicia com a primeira instrução no bloco OB1) - Restart (todas as áreas de memória são retidas, e o programa continua no local da interrupção). Watchdog Time Os seguintes tempos podem ser especificados: - Tempo máximo para passar parâmetros para os módulos parametrizáveis. - Tempo máximo para o sinal completo do módulo. - Para o S7-400, o tempo máximo de interrupção (falta de energia ou chave do modo de operação) após o qual um restart (warm) ainda é possível. Após este tempo será executado um complete restart. 86 SENAI - SIEMENS - VW Programação básica CPU - Retentividade SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.8 Siemens AG 1995. All rights reserved . Conhecimento em Automação Training Center Áreas Retentivas As áreas de memória retentivas permanecem inalteradas mesmo depois da falta de energia ou de um restart completo. Os seguintes itens podem ser retentivos: - Memory markers - Temporizadores - Contadores - Bloco de Dados As áreas que você especifica nesta tela são retidas no caso de falha de energia mesmo não existindo bateria de backup. SENAI - SIEMENS - VW 87 Programação básica Para ser utilizado sem bateria, o programa deverá ser arquivado no módulo de memória (memory card). DB´s Retentivos Este parâmetro só tem sentido no caso da não existência de bateria. Quando a bateria é usada, todos os blocos de dados são retentivos. Outros blocos de dados que devem permanecer retidos devem também ser salvos no módulo de memória. Depois da falta de energia sem a bateria, os blocos de dados parametrizados como retentivos são retidos, e os outros blocos recebem os valores arquivados no módulo de memória. 88 SENAI - SIEMENS - VW Programação básica CPU - Ciclo/Clock de Memória SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.9 Conhecimento em Automação Training Center Cycle Opções: - tempo de monitoração do tempo de ciclo, quando este tempo é ultrapassado, a CPU vai para STOP, se o OB80 de erro não foi programado. - tempo mínimo de ciclo para o S7-400 para implementar tempo de ciclo - constante - porcentagem do tempo de ciclo de programa que será reservado (no máx.) para tarefas de comunicação ou para auto teste cíclico. Clock Memory Caso seja utilizado no programa algum tipo de pisca-pisca, pode-se deixar o sistema gerá-lo automaticamente. Ative o campo e especifique qual o byte de memória a ser usado para este fim SENAI - SIEMENS - VW 89 Programação básica O byte de memória especificado piscará nas seguintes freqüências, cada uma associado à um bit deste byte: Bit 7 6 5 4 3 2 1 0 Período/ 2 1,6 1 0,8 0,5 0,4 0,2 0,1 Freqüência 0,5 0,625 1 1,25 2 2,5 5 (Hz) 90 SENAI - SIEMENS - VW 10 Programação básica CPU - Proteção de Acesso SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.10 Conhecimento em Automação Training Center Protection Levels O programa na CPU pode ser protegido contra um acesso não autorizado por meio de designação de uma senha. As correções de programa ou modificação de dados só podem ser executados se a senha correta for digitada. Os níveis de proteção tem os seguintes significados: - 1: Sem proteção - 2: Proteção contra a escrita (somente leitura ou status de blocos.) - 3: Proteção contra leitura/escrita SENAI - SIEMENS - VW 91 Programação básica CPU - Interrupções SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.11 Conhecimento em Automação Training Center Hardware interrupts(int. de hardware) São geradas por módulos que tenham capacidade de diagnóstico. Na parametrização default, todos as interrupções de hardware são processadas pelo OB40. Time-delay interrupts (int. tempo-decorrido) São geradas a partir do programa do usuário (SFC 32 ⇒ SRT_DINT) após decorrido o tempo programado quando a função está habilitada. Communication int. (int. de comunicação) Para as CPU´s S7-300 e S7-400 as interrupções de comunicação geralmente não são disponíveis. 92 SENAI - SIEMENS - VW Programação básica Priorities (prioridade) A prioridade de execução de um bloco só é considerada quando dois blocos OB’s devam ser executados ao mesmo tempo. Assim será executado o bloco de maior prioridade, sendo que o de menor prioridade aguarda o fim da execução do outro para ser executado. Então, pode-se especificar a seqüência de processamento para quando duas ou mais interrupções estejam presentes simultaneamente. No S7-300 não é possível mudar as prioridades default. SENAI - SIEMENS - VW 93 Programação básica CPU - Interrupções Time-of-Day SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.12 Conhecimento em Automação Training Center Time-of-day int. (int. datada) São blocos que serão executados exatamente na data e hora em que foram parametrizados. Pode-se selecionar inclusive a freqüência com que serão executados após esta data: uma única vez, a cada minuto, a cada hora, mês, dia, ano. 94 SENAI - SIEMENS - VW Programação básica CPU - Interrupção Cíclica SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.13 Conhecimento em Automação Training Center Cyclic interrupt (int. cíclica) Caso se deseje que parte do programa da CPU seja executada a intervalos regulares de tempo, pode-se utilizar o OB de interrupção cíclica. Este OB será então executado toda a vez que o intervalo de tempo parametrizado tenha sido decorrido. Isto habilita a implementação de tarefas de controle de malha fechada, por exemplo, que devem ser processados em intervalos de tempo programados O S7-300 possui para esta função somente no OB35, o qual é processado a cada 100ms como default. A base de tempo pode ser setada na faixa de 1 a 60000ms. O S7-400 possui vários OB’s de interrupções cíclicas com diferentes intervalos de tempo. Para garantir que estes OB’s não sejam executados ao mesmo tempo, no caso SENAI - SIEMENS - VW 95 Programação básica dos intervalos de tempo coincidirem, pode-se usar um offset, que as interrupções ocorrem defasadas entre si. Importante: OB1 O principal bloco do programa S7 é o OB1. Este OB é um OB cíclico, porém diferente de um OB de interrupção cíclica. Ao atingir a sua última instrução, o OB1 se reinicia imediatamente na 1a. instrução. Como a chamada de blocos pode variar de um ciclo para outro, não se pode garantir que o tempo de execução da cada ciclo do OB1 seja constante. 96 SENAI - SIEMENS - VW Programação básica CPU - Diagnóstico/Clock SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.14 Conhecimento em Automação Training Center System diagnostics Uma poderosa ferramenta na depuração do programa e procura de falhas é o Diagnóstico Buffer. Este é um buffer que registra todas as ocorrências anormais do CLP, inclusive com data e hora. Esta função, que deve sempre ser deixada ativa, além de registrar as ocorrências que levaram a CPU para STOP (Dysplay cause of STOP), pode ainda ser incrementada com outras ocorrências (Extended Functional Scope). Com a opção “Extended Functional Scope” ativa todos as chamadas de OB´s de interrupção são registradas no buffer de diagnóstico. Isto é útil por exemplo na hora de depurar o SW ou na procura de um defeito específico do sistema. Não deve ser porém deixada ativa, pois o buffer de diagnóstico será preenchido como uma série de SENAI - SIEMENS - VW 97 Programação básica registros dificultando uma eventual análise do motivo de parada da CPU (mensagens importantes podem ser sobrescritas). Clock Se está sendo utilizado vários módulos com clocks em um CLP, pode-se definir quais módulos vão ser escravos e mestres. O mestre sincroniza outros clocks de acordo com o intervalo de tempo setado. O fator de correção corrige variações do relógio do mestre diariamente, sendo expresso em ms. 98 SENAI - SIEMENS - VW Programação básica Setando Parâmetros em Módulos de Sinais Parâmetros nos módulos de sinais são variáveis que contém os ajustes da resposta dos níveis de sinais dos módulos (um ou mais por módulos). Todos os módulos tem ajustes default. Os ajustes para a maioria dos módulos S7 podem ser modificados usando o S7 Hardware Configuration ou por meio de SFC’s no programa do usuário. Existem dois tipos de parâmetros para estes módulos: ¦ Parâmetros Estáticos - Ajuste dos módulos podem ser modificados com o S7 Hardware Configuration, mas não com SFC’s no seu programa. ¦ Parâmetros Dinâmicos - Ajuste dos módulos podem ser modificados no programa do usuário, mesmo se elas forem feitas com o STEP 7. SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.15 Conhecimento em Automação Training Center Ajustes Default da Auto-Configuração O sistema S7 fornece facilidades para a configuração automática do endereçamento de I/O e parametrização de blocos. Quando o hardware e I/O’s são instaladas, o sistema S7 se auto-configura. Modificando os Parâmetros com o S7 Hardware Configuration A alteração das características funcionais default dos módulos é feita no configurador de Hardware. O acesso à estes parâmetros é feito da mesma maneira que o acesso aos parâmetros da CPU. Selecionando-se o módulo e clicando-se o mouse duas vezes aparece a tela de parâmetros do módulo (note que nem todos os módulos tem parâmetros que podem SENAI - SIEMENS - VW 99 Programação básica ser alterados). Toda a parametrização feita, dos módulos e da CPU, são armazenadas em um bloco denominado SDB, que é transferido para a CPU ao se dar um Download (Transferência para a CPU). Este bloco também é arquivado no PG/PC, na respectiva pasta de programa S7, sob o nome SDB, ao se salvar a configuração. Este armazenamento da parametrização em um SDB, torna possível a troca de qualquer módulo do CLP sem a necessidade de ajuste, já que a parametrização do novo módulo é transferida automaticamente da CPU para o novo módulo. Modificando os Parâmetros com o Programa do Usuário É possível alterar a parametrização de um módulo dinamicamente, isto é, pelo programa de usuário na CPU. Isto é feito com o auxílio das funções de sistema (SFC55-59). Estes SFC´s tem acesso de leitura e escrita nos registros de dados dos módulos. 100 SENAI - SIEMENS - VW Programação básica Módulo Analógico - Parametrização SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.16 Conhecimento em Automação Training Center Setando Parâmetros dos Módulos Os seguintes parâmetros podem ser setados nos módulos analógicos - tipo de medição, tais como tensão ou corrente - faixa de medição, tais como 0 a 10V - teste de fonte de tensão - supervisão de quebra-de-fio; - valores substitutos de saída (tomar último valor) - habilitar interrupção de diagnóstico (OB82) originada por falha. - interrupção fim do ciclo de leitura, depois que todos os valores de medição - tenham sido processados (processamento de canais individuais ou um após o outro) . Isto pode ser útil para se assegurar que o valor real de medição é o que está sendo considerado no programa SENAI - SIEMENS - VW 101 Programação básica Importante 1) Verifique quais os parâmetros disponíveis para o módulo que está sendo utilizado. 2) Para a faixa de medição, além da parametrização via SW é necessário posicionar a caixa de medição na placa (pos. A, B, C ou D). 102 SENAI - SIEMENS - VW Programação básica Exercício 5.1: Configurando uma Estação de Hardware Chamando o Configurador de HW SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.17 Conhecimento em Automação Training Center Objetivo Criar uma estação de HW Configurar o Hardware Procedimento 1. Destaque a pasta de projeto PRO1 2. Selecione no menu o comando Insert ⇒ Station ⇒ SIMATIC 300 Station (ou use o botão direito do mouse e o comando Insert New Object => SIMATIC 300 Station. 3. Uma nova estação S7-300 é criada. 4 . Destaque a pasta da estação recém criada (SIMATIC 300 Station (1)) e dê um clique duplo sobre o ícone Hardware. SENAI - SIEMENS - VW 103 Programação básica 5. O Configurador de Hardware é aberto. 6. Selecione no catálogo todos os módulos existentes no seu rack de treinamento (comece obrigatoriamente com o trilho (rack)). 7. Salve a configuração no harddisk. Resultado Uma estrutura CPU, Programa, Blocos, etc. é criada subordinada à pasta de estação. 104 SENAI - SIEMENS - VW Programação básica Exercício 5.2: Parametrizando a CPU - Retentividade Ícone para transferir a configuração para a CPU (Download) Click-duplo sobre a CPU SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo.: pro1_5.18 Conhecimento em Automação Training Center Objetivo Parametrizar um módulo (CPU) Testar a característica Retentividade Procedimento 1. Inicie o Configurador de Hardware 2. Dê um click-duplo sobre a linha que contém á CPU (ou destaque a linha da CPU e com o botão direito do mouse selecione a função Object Properties). 3. Selecione a Pasta Retentive Memory. 4. Parametrize os Memory markes de 0 a 4 como retentivos (MB0 a MB4). 5. Selecione a pasta Cicle / Clock Memory SENAI - SIEMENS - VW 105 Programação básica 6. Parametrize o clock memory com o memory marker 100 (MB100) 7. Confirme a parametrização com o botão OK. 8. Salve a configuração. 9. Dê um Download da configuração para a CPU (lembre-se a CPU tem que estar em Stop). 10. Escreve um programa no OB1 transferindo os dados do clock-memory para MB4 e MB5: L MB100 T MB4 T MB5 11. Coloque a CPU de STOP -> Run e observe com a função Monitor Variables os memory markes MB4 e MB5. 12. Delete as instruções do OB1 (ou o próprio OB1). 13. Repita o passo 11. Resultado O que aconteceu com o MB4 e o MB5 no 2. start da CPU ? Por que não possuem o mesmo conteúdo ? 106 SENAI - SIEMENS - VW Programação básica Princípios básicos Norma IEC 1131 qParte 1: Informações Gerais de termos para o PLC e glossário ¦Características gerais das funções do PLC qParte 2: Itens Exigidos ¦Exigências elétricas, mecânicas, e funcionais ¦Informações do fabricante ¦Normas reguladoras a ser cumpridas (conformance) ¦Definições èParte 3: Linguagem de Programação ¦Diagrama Ladder, Diagrama de Blocos de Funções, Lista de Instruções, Funções Seqüenciais e Texto Estruturado qParte 4: Diretrizes para Usuários ¦Especificações e análises de sistemas ¦Seleção e aplicação de PLC´s ¦Segurança e proteção, instalação e manutenção qParte 5: Comunicação ¦Modelos, blocos de comunicação, mapeação em protocolo ISO Modul : IEC_T1D. SIMATIC S7 Siemens AG 1996. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_6.2 Conhecimento em Automação Training Center Introdução A norma IEC1131 é um documento escrito por um consórcio de fabricantes de PLC´s, casas de sistemas e instituições direcionadas a desenvolver plataformas para níveis de padronizações na automação industrial. Parte 1 Contém características de funções e definições de termos gerais comuns para PLC´s. Por exemplo, processamento cíclico, imagem de processo, divisões de tarefas entre dispositivos de programação, PLC Interface Homem máquina. SENAI - SIEMENS - VW 107 Programação básica Parte 2 Especifica funções elétricas e mecânicas e exigências funcionais dos dispositivos e definições de tipos de testes. As seguintes exigências são definidas: temperatura, umidade, imunidade a interferências, faixa de tensão de sinais binários, rigidez mecânica. Parte 3 Especificações para linguagem de programação. As linguagens de programação foram harmonizadas e novos elementos foram incluídos. Além de STL, LAD e FBD o “texto estruturado” foi incluído como a quarta linguagem. Parte 4 Contém as diretrizes para os usuários de PLC. Informações para todos os estágios do projeto estão disponíveis, tais como: iniciando análise do sistema, fase de especificação, seleção e manutenção de dispositivos. Parte 5 Descreve a comunicação entre os PLC´s de vários fabricantes e entre PLC´s e outros dispositivos. Baseado na norma MAP, os utilitários de comunicação do PLC são definidos com normas suplementares para ISO/IEC 9506-1/2. Blocos de comunicação são descritos em conjunto com operações padronizadas de leitura e escrita. 108 SENAI - SIEMENS - VW Programação básica Ciclo de Processamento da CPU Bloco de inicialização (OB 100/OB 101), processa uma vez depois de energizada a CPU, por exemplo. Ciclo de scan da CPU Inicialização da monitoração do tempo de ciclo Lê o estado dos sinais dos módulos de entradas e salva os dados na tabela imagem das entradas do processo (PII) Executa o programa OB 1 (processamento cíclico) Eventos (Interrupção de tempo, interrupção de hardware, etc.) Chama outros OB’s, FB’s, FC’s, etc. Transfere os dados da tabela imagem das saídas do processo (PIQ) para os módulos de saída. SIMATIC S7 Siemens AG 1996. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_6.3 Módulo de Entrada OB1 A I0.1 A I0.2 = Q8.0 Módulo de Saída Conhecimento em Automação Training Center Start-Up Quando você muda de STOP ==> RUN, a CPU executa um restart simples ou completo (S7-300 só completo), também denominado com Cold-restart ou Warmrestart. Para um completo restart, o sistema operacional deleta os memory markers não retentivos, temporizadores e contadores, deleta a pilha de interrupções e pilha de blocos, reseta todas as interrupções de hardware salvas e interrupções de diagnóstico, e inicializa a supervisão do tempo de ciclo. O S7-400 tem um tipo de start-up adicional, Restart. No restart, todos os dados são retidos e o processamento do programa continua depois do ponto de interrupção. SENAI - SIEMENS - VW 109 Programação básica Ciclo de Programa Como mostrado na figura acima, a operação cíclica da CPU consiste de 3 componentes principais: - A CPU atualiza o estado dos sinais de entrada na tabela imagem das entradas (PII). - A CPU executa o programa do usuário com as respectivas operações. - A CPU escreve os valores da tabela imagem das saídas (PIQ) no módulo de saídas. 110 SENAI - SIEMENS - VW Programação básica Start-Up da CPU e OBs Restart Completo Restart Completo Manual: STOP --> RUN para S7-400 CRST ativado Automático: Power ON Restart Restart Pre requisitos: Seta parâmetros para restart Manual: STOP --> RUN e ativa WRST Execução do OB 101 Deleta o imagens do processo, não retentiva M, T, C Executando o ciclo residual Executando o OB 100 Deletando PIQ(parametrizável) Habilita saídas Sim Para Lê em PII Falha tensão tempo excedido? Não Executa OB 1 Habilita saídas Lê em PII Saída PIQ Executa OB 1 atualiza PIQ no final SIMATIC S7 Siemens AG 1996. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_6.4 Conhecimento em Automação Training Center Restart Completo A CPU executa um completo restart quando vai do modo STOP para RUN, processo este denominado START-UP (inicialização). Durante o Start-up são executadas as seguintes tarefas: - -zera as áreas retentivas da memória: markers, temporizadores e contadores; zera as pilhas de interrupção e bloco; deleta todas as interrupções e diagnósticos de interrupção, zera a imagem do processo de I/O´s. - transfere os parâmetros para os módulos. - lê as configurações de I/O e compara o estado atual das I/O´s com o estado esperado. - OB executa o completo restart (OB100). - habilita saídas. SENAI - SIEMENS - VW 111 Programação básica Restart As CPU’s do S7-400 tem a capacidade de executar um Restart (warm restart) quando ocorre um Start-up. O modo do Restart, completo ou warm, é selecionado nestas CPU’s por uma chave na CPU (sob certas condições). Quando um RESTART ocorre, a CPU executa o seguinte: - executa o OB de warm restart (OB101) - executa o ciclo residual - deleta a PIQ a área de saída (parametrizável) - habilita saídas 112 SENAI - SIEMENS - VW Programação básica Imagem de Processo I2.7 I2.0 I0.5 I0.3 Q4.3 SM SM Saída digital Entrada digital PII Byte 0 Byte 1 Byte 2 . . . . PIQ 1 Programa do usuário Bit 7 SIMATIC S7 Siemens AG 1996. All rights reserved . Bit 0 A AN AN AN = I 2.0 I 2.7 I 0.5 I 0.3 Q 4.3 Byte 0 Byte 1 Byte 2 . . . . 1 Bit 7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_6.5 Bit 0 Conhecimento em Automação Training Center Definição Denomina-se Imagem de Processo à uma área da CPU onde os estados das entradas e saídas binárias são a cada ciclo armazenadas. Existem áreas distintas para as entradas e para as saídas: PII e PIQ. Normalmente o programa de usuário quando acessa uma entrada ou saída digital está lendo na realidade esta área. PII A tabela imagem das entradas do processo é o local onde o estado das entradas digitais são arquivadas na CPU. Antes do início de cada ciclo de programa, a CPU lê a periferia (módulos de entrada digital) e transfere os estados dos sinais digitais para esta área. SENAI - SIEMENS - VW 113 Programação básica PIQ A tabela imagem das saídas contém o valor das saídas resultantes do processamento do programa. Somente no final do ciclo de programa, estes valores de saída são transferidos para os módulos de saídas (Q). Programa do Usuário Quando você lê uma entrada no programa (como A I 2.0 por exemplo), o último estado da PII é utilizado na lógica do programa. Isto garante que um mesmo estado do sinal é fornecido durante um ciclo de scan. 114 SENAI - SIEMENS - VW Programação básica Tipos de Blocos de Programa Ciclo OB Tempo Processo FB FC SFB FB FB SFC Bloco de Organização Erro Modo de operação sistema Legenda: OB = Bloco de Organização FB = Bloco de Função FC = Função SFB = Bloco de Função do Sistema SFC = Função do Sistema SDB = Bloco de Dados do Sistema DB = Bloco de Dados SIMATIC S7 Siemens AG 1996. All rights reserved . Bloco de dados Instance Data: 07/11/00 Versão: 3.1 Arquivo: pro1_6. 6 Conhecimento em Automação Training Center Blocos de Sistema Blocos de sistema são funções pré-definidas ou blocos de função integradas ao sistema operacional da CPU. Estes blocos não ocupam nenhum espaço adicional na memória do usuário. Os blocos de sistema são chamados pelo programas do usuário. Estes blocos tem a mesma interface, a mesma designação, e mesmo número em todo o sistema (S7-300/400). Então, você pode facilmente portar o programa do usuário entre várias CPU´s. Blocos do Usuário Os blocos de usuário são áreas providas para administrar o código e os dados para seu programa. Baseado nas necessidades do seu processo, você pode estruturar seu programa com várias opções de blocos de usuário. Alguns desses blocos podem ser executados ciclicamente, enquanto outros blocos podem ser executados somente quando necessitado. Blocos de usuário são também chamados de blocos de programa. SENAI - SIEMENS - VW 115 Programação básica Blocos de Usuário Tipo de Blocos Características Bloco de Organização - Interface do usuário entre sistema e o programa (OB) - Níveis de prioridades (1 a 26) - Informações especiais de inicialização na pilha de dados locais Bloco de Função (FB) - Parametrizável / retentivo - Não parametrizável / retentivo - Não parametrizável / não retentivo Função (FC) - Um valor de retorno será transferido. (parâmetros devem ser designados para a chamada.) - Não retentivo - Parametrizável Bloco de Dados (DB) - Estruturado, arquiva dados locais (DB instance) - Estruturado, Arquiva dados globais (válido no programa inteiro) SIMATIC S7 Siemens AG 1996. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_6.7 Conhecimento em Automação Training Center Blocos de Organização (OB) Forma a interface entre a CPU e o programa do usuário. Pode-se escrever um programa inteiro no OB1 e deixá-lo processando a cada ciclo. Pode-se porém escrever um programa em diferentes blocos e usar o OB 1 para chamar estes blocos quando necessário. Além do OB 1, o sistema operacional pode chamar outros OB’s que reagem a certos eventos, tais como : - Interrupção Data Programada - Interrupção de tempo de ciclo - Interrupção de Diagnostico - Interrupção de hardware - Interrupção de Erros - Start-up do Hardware 116 SENAI - SIEMENS - VW Programação básica Bloco de Função (FB) Um bloco de função é uma função ou uma seqüência de comandos armazenadas em um bloco lógico, onde os parâmetros podem ser arquivados em uma memória. O FB utiliza esta memória adicional na forma de um “Bloco de Dados Instance”. Parâmetros passados para o FB, e alguns dos dados locais são arquivados neste blocos de dados associado (Instance DB). Outros dados temporários são arquivados na pilha local (L stack). Dados arquivados em Instance DB são retidos quando o bloco de função é fechado. Dados arquivados na pilha L stack não são retidos. Funções (FC) A função é um bloco de operação lógica similar ao bloco de função para o qual não é designado área de memória. Um FC não necessita de um bloco de dados instance. As variáveis locais são arquivadas na pilha local (L stack) até que a função esteja concluída, sendo perdidos quando o FC termina a execução. Bloco de Dados (DB) Um bloco de dados é uma área de dados permanente na qual dados ou informações que outras funções coletaram são armazenados. Bloco de dados são área de leitura/escrita que podem ser carregadas na CPU como parte de seu programa. SENAI - SIEMENS - VW 117 Programação básica Blocos de Sistema Tipo de Bloco Características Função de Sistema (SFC) - Arquivados no sistema operacional das CPU’s - Usuário pode chamar esta função (sem memória). Bloco de Função de Sistema (SFB) - Arquivados no sistema operacional das CPU’s - Usuário pode chamar esta função (com memória). Bloco de Dados de Sistema (SDB) - Blocos de dados para configuração de dados e parâmetros SIMATIC S7 Siemens AG 1996. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_6.8 Conhecimento em Automação Training Center Função de Sistema Função de sistema é uma função pré-programada e testada que é (SFC) integrada na CPU. Algumas das tarefas suportadas por estas funções são setar parâmetros dos módulos, comunicação de dados, funções de cópia, etc. Uma SFC pode ser chamada pelo programa, porém sem fazer parte dele (não ocupa memória de trabalho). Blocos de Função de Sistema (SFB) Um bloco de Função de sistema é parte integral da CPU. Você pode utilizar um SFB em seu programa, sem carregar como parte de seu programa porque os SFB’s são parte do sistema operacional. SFB’s devem ser associados a um DB, o qual deverá ser transferido para a CPU como parte do seu programa. 118 SENAI - SIEMENS - VW Programação básica Bloco de Dados de Sistema (SDB) Um bloco de dados de sistema é uma área de memória que a ferramenta STEP 7 gera para arquivar dados necessários para o controle de operações. Informações, tais como dados de configuração, conexões de comunicação e parâmetros são salvos em SDB’s. SENAI - SIEMENS - VW 119 Programação básica Estrutura de Programa O STEP 7 fornece 3 possibilidades para o desenvolvimento de seus programas. Baseado nesta diretriz, você pode decidir qual é a estrutura de programa mais apropriada para a sua aplicação Linear Particionado Estruturado Recipiente A OB1 OB1 Recipiente B OB1 Misturador Bomba Exaustor Exaustor Programa Linear: Todas as instruções estão contidas em um bloco (normalmente no OB1) SIMATIC S7 Siemens AG 1996. All rights reserved . Programa Particionado : Instruções para cada dispositivo estão contidos em blocos individuais. OB 1 chama cada bloco em seqüência. Programa Estruturado: Códigos reutilizáveis estão em blocos individuais. O OB1 (ou outro bloco) chama esses blocos e passa os dados relevantes (parâmetros). Data: 07/11/00 Versão: 3.1 Arquivo: pro1_6.9 Conhecimento em Automação Training Center Programa Linear O programa inteiro reside em um único bloco de instrução contínuo. Esta estrutura é semelhante a um circuito de relés substituído por um controlador lógico programável. O sistema processa instruções individuais sucessivamente. Programa Particionado O programa é dividido em blocos, cada bloco contém uma lógica específica para dispositivos ou tarefas. As informações residentes no bloco de organização (OB1) determinam a ordem de execução dos blocos a serem processados. Um programa particionado pode, por exemplo, conter blocos de instruções com os quais os modos de operações individuais de um processo industrial são controlados. 120 SENAI - SIEMENS - VW Programação básica Programa Estruturado Um programa estruturado contém blocos de instruções com parâmetros definidos pelo usuário (blocos parametrizados). Estes blocos são projetados de forma que possam ser usados universalmente. Os parâmetros atuais (os endereços de entradas e saídas) são especificados durante a chamada do bloco. Exemplos de blocos parametrizáveis: - bloco “BOMBA" contém instruções para uma bomba, com um set de entradas e saídas exigidas para qualquer bomba usada no processo. - bloco lógico responsável pelo controle específico das bombas, chama (abre) o bloco “BOMBA” e fornece informações para identificar qual bomba irá ser controlada. - Quando o bloco completa a execução das instruções, o programa retorna ao bloco de chamada (por exemplo OB 1), o qual conclui as instruções. SENAI - SIEMENS - VW 121 Programação básica Programação Estruturada FC 1 OB 1 Motor 1 Motor 1 FC 1 Motor 2 Motor 2 FC 1 Motor 3 Motor 3 SIMATIC S7 Siemens AG 1996. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_6.10 Conhecimento em Automação Training Center O que é Programação Estruturada ? A programação estruturada identifica tipos similares ou repetitivos de funções solicitadas pelo processo e fornece soluções genéricas que podem ser usadas por várias outras tarefas. Fornecendo informações específicas ( em forma de parâmetros) para os blocos de instruções, o programa estruturado é capaz de usar de novo estes blocos genéricos. Pode considerar-se como exemplo destes blocos: - Blocos que contenham lógicas comuns para todos os motores AC no sistema do transportador - Blocos que contenham lógicas comuns a todas as solenóides na máquina. 122 SENAI - SIEMENS - VW Programação básica - Blocos que contenham lógicas comuns a todos os acionamentos da máquina. Como é executado? O programa dentro do OB1 (ou outro bloco) chama estes blocos genéricos para a execução. Assim dados e códigos considerados comuns podem ser compartilhados. Quais Vantagens e Desvantagens? Ao invés de repetir estas instruções e então substituir os diferentes endereços para os específicos equipamentos, você pode escrever as instruções no bloco e ter um programa para passar os parâmetros (tais como endereços específicos de equipamentos ou dados) para o bloco. Isto permite a você escrever blocos genéricos que mais que um dispositivo ou processo possa usar. Quando usar uma programação estruturada você tem que gerenciar os dados que são arquivados e utilizados pelo programa. SENAI - SIEMENS - VW 123 Programação básica 124 SENAI - SIEMENS - VW Programação básica O editor de programas Selecionando um Bloco para Editar Editando um bloco existente: - selecione a pasta que contém o bloco; - click duas vezes sobre o bloco. SIMATIC S7 Editando um novo bloco: - selecione a pasta que deverá conter o bloco; - pressione o botão direito do mouse; - selecione ‘Insert New Object”e o tipo de bloco desejado; - click duas vezes sobre o bloco criado. Data: 07/11/00 Versão: 3.1 Arquivo: pro1_7.2 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Para editar um bloco, siga os passos abaixo: Selecione a pasta que contém o bloco existente ou a pasta na qual o novo bloco será armazenado. SENAI - SIEMENS - VW 125 Programação básica Os blocos existentes são listados na janela à direita. Selecione o bloco a ser editado, clicando duas vezes sobre ele. Alternativamente podese editá-lo selecionando-o e então com o botão direito do mouse ativando-se a função “Open Object”. Para se criar um bloco, seleciona-se a pasta na qual o bloco será armazenado, e com o auxílio do botão direito do mouse seleciona-se a função ‘Insert New Object” e o tipo de bloco desejado. Clica-se duas vezes sobre o ícone do novo bloco criado que o editor de programa será aberto 126 SENAI - SIEMENS - VW Programação básica Selecionando uma Linguagem de Edição Pode-se editar o programa STEP 7 em 3 linguagem diferentes: Diagrama de Contatos (LAD), Diagrama de Blocos Funcionais (FBD) ou Lista de Instruções (STL). SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_7.3 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Seleção Usando a opção “VIEW” na barra de menu, pode-se selecionar a linguagem de edição entre diagrama de contados (LAD), blocos funcionais (FBD) ou lista de instruções (STL). Esta opção está disponível desde que um bloco esteja aberto. LAD -> STL Blocos originalmente criados em diagrama de contatos podem ser convertidos sempre para lista de instruções. Note que a conversão não necessariamente resulta em código de programa eficiente em lista de instruções. SENAI - SIEMENS - VW 127 Programação básica STL -> LAD ou FBD Blocos criados originalmente em lista de instruções nem sempre são convertidos totalmente em diagrama de contatos ou blocos funcionais. Ao se fazer esta opção de conversão, através da opção “View”, o Editor de Programa converterá todos os segmentos de programa que podem ser convertidos. Segmentos de programa não “conversíveis” se mantém na linguagem lista de instruções Esta “não conversão” não significa que haverá problemas de execução do programa, sendo somente conseqüência da sintaxe de visualização de cada linguagem. Para garantir que a conversão seja sempre realizada, o usuário deverá tomar certos cuidados durante a edição (ex.: escrever uma única lógica por segmento). 128 SENAI - SIEMENS - VW Programação básica Seções do Editor de Programas Tabela de Declarações Tabela de Declarações Título do Bloco Segmento SIMATIC S7 Seção de Instruções Seção de Instruções Data: 07/11/00 Versão: 3.1 Arquivo: pro1_7.4 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . O Editor de Programas possui duas áreas com funções bem definidas: tabela de declarações e a seção de instruções. Tabela de Declarações Esta tabela serve para declarar variáveis e parâmetros para o bloco. As variáveis locais (temporárias) são definidas para uso no bloco nesta tabela. A parametrização torna possível passar variáveis entre blocos para que sejam usados universalmente. SENAI - SIEMENS - VW 129 Programação básica Seção de Instruções Nesta área é especificado a seqüência e a lógica do programa (instruções). Durante a edição dos operandos, a sintaxe é checada, destacando imediatamente qualquer erro. Cada pequena lógica do programa é definida dentro de um segmento (Network). Entende-se como lógica, a combinação de blocos que resultará numa saída/flag sendo ou não acionado. Nas linguagens LAD/FBD o próprio Editor não permite que seja realizado mais que uma lógica por segmento. No modo STL é possível ter várias lógicas por segmento, porém se compromete a capacidade de se visualizar em outras linguagens (LAD/FBD). Comentários O editor permite ainda o acréscimo de comentários: título e comentário do bloco e título e comentário para cada segmento. Através da função View ⇒ Commentar pode-se visualizar ou não estes comentários. 130 SENAI - SIEMENS - VW Programação básica Editando em Diagrama de Contatos - LAD SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_7.5 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Introdução A edição do programa em diagrama de contatos é feita basicamente com o auxílio do mouse. Basta posicionar o ponto e selecionar o elemento que deve ser inserido no programa. Após isto, digita-se o endereço dos operandos (por ex. I0.0, M43.5). Os elementos lógicos são encontrados ou na barra de ferramentas na forma de ícone ou através de um catálogo de instruções, como mostrado na figura acima. Elementos Comuns com Seus Ícones F2 - Scan para sinal "1" (contato fechado) F3 - Scan para sinal "0" (contato aberto) F4 - Output coil (saída) F8 - Ramificação para baixo (abrindo) F9 - Ramificação para cima(fechando) SENAI - SIEMENS - VW 131 Programação básica Catálogo de Instruções Outros elementos (instruções) são acessadas pelo catálogo de instruções, acessado pelo ícone ao lado ou pela combinação das teclas Ctlr+K 132 SENAI - SIEMENS - VW Programação básica Editando em Blocos Funcionais - FBD PRGG_T2D SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_7.6 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Introdução Semelhante ao modo LADDER, a edição em blocos funcionais é feita com o auxílio do mouse. Selecione o ponto em que deve ser inserido o elemento e a partir do catálogo de instruções ou da barra de ferramentas selecione o elemento desejado. Para endereçar os operandos, selecione o campo apropriado e digite o operando (ex. Q2.6, M4.5). Este ícone dá acesso ao catálogo com todas as instruções FBD. SENAI - SIEMENS - VW 133 Programação básica Comentários Os comentários são editados como no modo diagrama de contatos. Correções Posicione o cursor do mouse sobre o elemento e pressione a tecla DEL. Regras - Blocos padrões (flipflops, contadores, temporizadores, operações matemáticas etc.) podem também ter um outro bloco com operações lógicas binárias ( &, >=1, XOR) associado. A exceção para esta regra são os blocos de comparação. - Em um único segmento, não é possível programar operações que são separadas por saídas. É possível, entretanto, com o auxílio do T-branch, que a uma lógica estejam associadas diversas saídas. - Deletando um bloco, todas as ramificações que são conectadas com a entrada booleana, com exceção da ramificação principal, são deletadas. - modo de sobre-escrever é disponível para troca simples de elementos do - mesmo tipo. 134 SENAI - SIEMENS - VW Programação básica Demonstração: Editando e Depurando um Bloco de Programa SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_7.7 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Esta demonstração auxilia a familiarizar-se com os itens de menu para a edição e depuração do seu bloco. Estas ferramentas são necessárias quando você for escrever o seu programa no próximo exercício. Será demonstrado o seguinte: - edição de um bloco pré-existente - seleção de uma linguagem de programação - LAD/FBD/STL - criar segmentos (networks) - usar os elementos da barra de ferramentas - usar os elementos do catálogo de instruções - salvar um bloco de programas - transferir um bloco de programa para o PLC - selecionar o modo on-line - exibir o status do programa SENAI - SIEMENS - VW 135 Programação básica Exercício 7.1: Editando o OB1 Click duas vezes sobre o ícone do bloco Modo off-line Selecione a pasta Blocks SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_7.8 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Objetivo Editar o OB1 (criado automaticamente sem instruções). Procedimento 1. Destaque a pasta Blocks do S7 Program, subordinado à estação de Hardware. 2. Selecione no campo de diálogo View ==> Off-line . 3. Selecione OB1 (double click). 4. Com ajuda dos símbolos na barra de ferramentas, digite o seguinte programa em ladder. 136 SENAI - SIEMENS - VW Programação básica Resultado Notas - Para posicionar o primeiro elemento, aponte o cursor para a linha da network. - Use os símbolos de programa da barra de ferramentas. - Posicione o cursor em cima do símbolo(tecla TAB ou mouse) para digitar o endereço - Use a tecla TAB para saltar entre os elementos. SENAI - SIEMENS - VW 137 Programação básica Exercício 7.2: Selecionando o Método de Representação Depois de você ter aberto o bloco ... ...selecione o método de representação que você que usar. Ladder Diagram (Diagrama Ladder) Statement List (Lista de Instruções) Function Block Diagram (Blocos de Função) SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_7.9 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Depois do bloco aberto, pode-se escolher entre os métodos de representação LAD (Diagrama Ladder), FBD (Blocos de Função) e STL (Lista de instruções). Todas as instruções são sempre convertidas para STL, porém a conversão para LAD/FBD nem sempre ocorre em todos os segmentos. Objetivo Selecionar a linguagem de programação para edição do bloco. 138 SENAI - SIEMENS - VW Programação básica Procedimento 1. Abrir um bloco para edição (por ex. o OB1 do exercício anterior) 2. Seclecionar o modo de edição/visualização: - LAD, selecionar no menu de comando View ⇒ LAD. - STL, selecionar no menu de comando View ⇒ STL. - FBD, selecionar no menu de comando View ⇒ FBD. Resultado Seu program é representado em um dos seguintes tipo de representação: Diagrama Ladder: SENAI - SIEMENS - VW 139 Programação básica Exercício 7.3: Salvando um Bloco Para salvar, sem mudar o nome do bloco ou do arquivo usar : File ==> Save ...ou click Para salvar o bloco com um nome diferente ou uma localização diferente: File ==> Save As SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_7.10 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Como qualquer editor de programas/textos, é necessário salvar seu trabalho após a edição. Isto é como um “Save” normal do Windows, o qual pode ser usado com os dois procedimentos exibidos acima. Quando usado o comando de menu File ⇒ Save As, deve-se especificar o projeto, programa e e nome do bloco para este arquivo. Depois de salvo, este bloco se encontra como um ícone na pasta Blocks do projeto/programa em que foi salvo. Pode-se utilizar o SIMATIC Manager como o “Explorer” para copiar ou mover o bloco para outros projetos, CPU’s, etc. 140 SENAI - SIEMENS - VW Programação básica Objetivo Salvar um bloco de programa. Procedimento 1. Selecionar no menu de comando File ⇒ Save ou clique no ícone Save. 2. Ou selecione no menu de comando File ⇒ Save As e especifique o arquivo de destino. Resultado 1. Salva o bloco de programa com o nome especificado quando o bloco está aberto 2. Com "Save As" o bloco de programa é salvo com o nome que você digitar. Nota O programa não é copiado para a CPU através do procedimento “Save”. SENAI - SIEMENS - VW 141 Programação básica Exercício 7.4: Transferindo um Bloco para a CPU Para transferir um bloco para a CPU... Download SIMATIC S7 ...ou click no ícone Download... Data: 07/11/00 Versão: 3.1 Arquivo: pro1_7.11 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Depois editado o programa, o próximo passo é transferir o bloco para a CPU. Usando o Editor LAD/STL/FBD pode-se transferir um bloco individualmente enquanto ele estiver aberto, ou pode-se usar alternativamente o SIMATIC Manager para transferir o bloco. O procedimento para usar o SIMATIC Manager é descrito nos próximos exercícios (transferindo o programa) Objetivo Transferir um bloco (OB1) para a CPU com o editor LAD/STL/FBD. 142 SENAI - SIEMENS - VW Programação básica Procedimento Quando o editor LAD/STL/FBD está aberto .... 1. Selecionar o menu de comando PLC ⇒ Download (um click no ícone Download exibido acima.) (responda as questões no menu de exibição). Quando você responde com “Yes” , o bloco presente na CPU é sobre escrito. Quando você responde com “No” , o bloco original permanece na CPU, e seu bloco não é transferido. Para este exercício selecione “Yes”, porque você deseja usar um novo bloco por você editado, e não o bloco antigo. Resultado Seu novo programa é escrito na CPU. SENAI - SIEMENS - VW 143 Programação básica Exercício 7.5: Estabelecendo Conexão On-line Usando o SIMATIC Manager Usando o Editor de Programa SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_7.12 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . On-line significa que os objetos exibidos são os blocos residentes na CPU. Esta conexão não depende da CPU estar em modo RUN ou modo STOP. Com o STEP 7 você pode estabelecer conexão de dois métodos: Objetivo Usar o Editor LAD/STL/FBD para estabelecer conexão com a CPU. Procedimento Use o o Editor S 7 LAD/STL/FBD para abrir ou editar o bloco na CPU. 1. Selecione “Program S7 Blocks (LAD/STL/FBD)” 2. Selecione no menu de comando File-⇒ ⇒ Open. 3. Selecione a opção View ⇒ On-line da lista drop-down. 144 SENAI - SIEMENS - VW Programação básica Depois que foi selecionado “On-line”, o dispositivo de programação seta a conexão. Os blocos localizados na CPU são exibidos no menu. Para editar ou depurar um desses blocos, selecione o bloco pertinente na lista. É possível ter mais que um bloco aberto simultaneamente. Quando você executar este procedimento e selecionar a opção “Arrange” no item Window do menu, você pode ver os dois blocos simultaneamente Objetivo Usar o SIMATIC Manager para estabelecer a conexão com a CPU Procedimento O SIMATIC Manager pode também ser usado para abrir ou editar blocos na CPU (o Editor LAD/STL/FBD é iniciado automaticamente). 1. Inicie o SIMATIC Manager. 2. Selecione no menu de comando View ⇒ On-line . Quando você selecionar o diretório da CPU, o SIMATIC Manager exibe os nome de todos blocos localizados na CPU. Você também pode usar este menu para abrir blocos para edição e depuração de programas. SENAI - SIEMENS - VW 145 Programação básica Exercício 7.6: Exibindo o Status do Programa MW2 SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_7.13 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . O bloco deve ser aberto on-line para que o processo seja monitorado. A seção de instrução dos blocos exibe o estado de operação quando os valores mudam. Em LAD, um código de cores exibe o fluxo de corrente, e contatos abertos ou elementos são representados por linha pontilhada. Entre outras coisas, as cores e os tipos de linhas podem ser mudados via a função do menu Options ⇒ Customize ⇒ LAD/STL/FBD. Objetivo Depurar o bloco enquanto ele está sendo processado pela CPU. 146 SENAI - SIEMENS - VW Programação básica Procedimento 1. Use um dos procedimentos do exercício anterior para selecionar o bloco que deseja testar (modo on-line). 2. Selecione o método de representação View ⇒ LAD/STL ou FBD. 3. Selecione no menu de comando Debug ⇒ Monitor. Resultado Os elementos do programa e os símbolos são exibidos e ativados se logicamente verdadeiros. Os valores que não são “Logicamente Verdadeiros” não são destacados. SENAI - SIEMENS - VW 147 Programação básica 148 SENAI - SIEMENS - VW Programação básica Operações lógicas básicas Instruções de BIT Instrução FBD LAD I 1.0 STL I 1.0 Scan para Sinal "1" A I 1.0 I 1.1 I 1.1 Scan para Sinal "0" Q 4.1 Q 4.1 ( ) Assign Output (saída) Q 5.0 (S) R (R) I 0.1 SR_FF S Q I 0.1 SR_FF S Q R I 0.2 R I 0.2 SIMATIC S7 Siemens AG 1995. All rights reserved . R Q 5.0 M 10.0 M 10.0 Seta/ Reseta Flip Flop S Q 5.0 S Q 5.0 Q 5.0 Reseta Saída = Q4.1 = Q 5.0 Seta Saída AN I 1.1 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_8.2 A I 0.1 S M 10.0 A I 0.2 R M 10.0 Conhecimento em Automação Training Center Geral As instruções de BIT trabalham com dois valores, 1 e 0. Com instrução na forma de um contato ou de uma saída, 1 indica ativado ou energizado; 0 indica desativado ou desenergizado. Instruções de BIT interpretam o estado do sinal 0 ou 1 e o combina de acordo com a lógica booleana. O resultado destas combinações é 0 ou 1, denominado como “Resultado da Operação Lógica” (RLO). Instruções de bit: - Scan para Sinal “1” - Scan para Sinal “0” - Saída - Conector SENAI - SIEMENS - VW 149 Programação básica - Setar Saída - Resetar Saída - Setar/Resetar Flip Flop - Resetar/Setar Flip Flop - RLO Negado - Salvar RLO 150 SENAI - SIEMENS - VW Programação básica AND, OR, XOR LAD FBD I0.0 STL AND AND AND I0.1 Q4.0 I 0.0 I 0.1 & I 0.2 I 0.3 >= Q 4.0 A I0.0 A I0.1 = Q4.0 OR OR Q4.1 I0.2 I0.3 OR Q 4.1 XOR I 0.4 XOR & XOR >= I 0.5 I0.4 I0.5 I0.4 I0.5 Q4.3 I 0.4 I 0.5 I 0.4 I 0.5 SIMATIC S7 Siemens AG 1995. All rights reserved. O I0.2 O I0.3 = Q4.1 & Q 4.3 XOR ...or Q 4.3 A I0.4 ANI0.5 O ANI0.4 A I0.5 = Q4.3 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_8.3 X I0.4 X I0.5 = Q4.3 Conhecimento em Automação Training Center A descrição das instruções é baseado nos exemplos acima. AND Se e somente se o estado do sinal I0.0 = 1 e I0.1 = 1, o resultado da operação lógica (RLO) é 1, e a saída Q4.0 torna-se 1. Se uma ou ambas as entradas tem sinal 0, o RLO é 0 e a saída torna-se 0. OR Se o estado do sinal I0.2 = 1 ou I0.3 = 1, o RLO é 1 e a saída Q4.1 torna-se 1. Se nenhuma das entradas for 1, o RLO = 0, e a saída torna-se 0. XOR SENAI - SIEMENS - VW 151 Programação básica A instrução XOR torna o RLO 1 se e somente se uma das entradas for 1. Se nenhuma das entradas for 1 ou se ambas forem 1, o RLO é 0, e a saída torna-se 0. Resultado de Operações Lógicas, First Check RLO A AN A = A I 1.0 I 1.1 M Q4.0 I 2.0 SIMATIC S7 Siemens AG 1995. All rights reserved . .... .... 4.0 .... .... Estado do Sinal .... .... .... .... First Check First Check Data: 07/11/00 Versão: 3.1 Arquivo: pro1_8.4 Conhecimento em Automação Training Center RLO As instruções vistas até agora tratam principalmente de checks e designações. Isto significa: O scan processa o estado do sinal de entrada, saída, memory markers (flag), e designa um estado de sinal para saída ou memory markers (flag). Dois ou mais bits que forem checados em função de uma associação qualquer geram uma operação lógica. O resultado desses checks é o resultado da operação lógica (RLO). O resultado da operação lógica de uma AND ou uma OR pode então ser designado a uma saída ou a uma memória (flag). 152 SENAI - SIEMENS - VW Programação básica First Check O termo first check (primeira checagem) indica que está sendo executada a primeira instrução de uma lógica. Isto significa que uma nova operação lógica se iniciou, e que o resultado (RLO) da operação lógica anterior não será considerado. Isto torna sem importância, qual instrução (por ex. AND ou OR) está sendo utilizada como primeira instrução de uma lógica escrita em STL. O “first check” é gerado automaticamente pelo CLP sempre que uma lógica foi encerrada (por ex. uma saída foi setada) ou um novo bloco foi iniciado. SENAI - SIEMENS - VW 153 Programação básica Instruções para Setar, Resetar e Salvar FBD LAD Set I1.0 Q5.0 S Reset I1.1 Q5.0 & I1.0 Set/reset Flip flop I1.2 Q5.2 I1.3 R Reset/set Flip flop I1.4 M0.2 RS_FF R Q I1.1 I1.5 S SIMATIC S7 Siemens AG 1995. All rights reserved . Q5.0 R I1.2 M0.0 SR_FF S Q I1.3 R I1.4 M0.2 RS_FF Q R I1.5 S Q5.3 Q5.0 S & R M0.0 SR_FF S Q STL Data: 07/11/00 Versão: 3.1 Arquivo: pro1_8.5 Q5.2 = Q5.3 = A I1.0 S Q5.0 A I1.1 R Q5.0 A S A R A = I1.2 M0.0 I1.3 M0.0 M0.0 Q5.2 A R A S A = I1.4 M0.2 I1.5 M0.2 M0.2 Q5.3 Conhecimento em Automação Training Center Geral 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. Set Quando o RLO=1, o endereço é setado e permanece inalterado até a condição de reset ser executada. Se, neste exemplo, o estado do sinal de I1.0=1, mesmo por um 154 SENAI - SIEMENS - VW Programação básica único ciclo, a saída Q5.0 torna-se 1 e permanece até que seja resetado por outra instrução. Reset Quando o RLO=1, o endereço é resetado. Se, neste exemplo, o estado do sinal de I1.1=1, mesmo por um único ciclo, a saída Q5.0 torna-se 0. Flip-flop Set/Reset Se o estado do sinal de entrada S=1, e a entrada R=0, o endereço (bloco acima) é setado . Reset dominante: se o estado do sinal R torna-se “1”, o endereço setado anteriormente é resetado para 0, independente do estado da entrada S (reset dominante) Flip-flop Reset/Set Com este tipo de bloco, o set é dominante. SENAI - SIEMENS - VW 155 Programação básica Instruções que Influenciam o RLO LAD NOT I0.0 STL FBD NOT I0.1 Q5.0 I0.0 I0.1 NOT & Q5.0 CLR/SET CLR/SET Não é exibido em LAD Não é exibido em FBD A I0.0 A I0.1 NOT = Q5.0 CLR/SET CLR Não é exibido em LAD Não é exibido em FBD SET NOT SAVE SAVE I1.6 SAVE (SAVE) BR I1.6 Siemens AG 1995. All rights reserved . & Q5.1 SAVE Q5.1 BR ( ) SIMATIC S7 = = Data: 07/11/00 Versão: 3.1 Arquivo: pro1_8.6 A I1.6 SAVE A BR = Q 5.1 Conhecimento em Automação Training Center NOT NOT é uma instrução para inverter o RLO. Se o RLO precedente a instrução NOT for 0, este é negado para 1. Reciprocamente, tornará-se zero se o RLO for 1. CLR O RLO torna-se 0 com a instrução CLEAR, independente da condição anterior SET A instrução SET faz com que o RLO se torne 1. è LAD/FBD não suportam estas duas instruções (CLR/SET). 156 SENAI - SIEMENS - VW Programação básica SAVE Com a instrução de memória SAVE, o conteúdo do RLO é arquivado no bit BINARY RESULT (BR) da palavra de status. A BR O RLO arquivado pode ser checado novamente usando a instrução A BR SENAI - SIEMENS - VW 157 Programação básica Flanco de Impulso (Degrau) Diagrama de Status do Sinal Flanco Positivo Flanco Negativo I 1.0 RLO 1 M 1.0 0 Time Q 5.0 um scan LAD I1.0 M1.0 P FBD Q5.0 SIMATIC S7 Siemens AG 1995. All rights reserved . & I1.0 STL M1.0 Q5.0 P = Data: 07/11/00 Versão: 3.1 Arquivo: pro1_8.7 A I 1.0 FP M 1.0 = Q 5.0 Conhecimento em Automação Training Center A avaliação do flanco de impulso é freqüentemente necessária em um programa, na realidade, 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 acima, a instrução FP identifica esta mudança de estado, denominada de flanco de impulso positivo, e resulta em um RLO=“1” por somente um ciclo, ocorrendo um pulso de largura de um ciclo na saída Q5.0. 158 SENAI - SIEMENS - VW Programação básica 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. SENAI - SIEMENS - VW 159 Programação básica Exercício 8.1: Declarações de Operações Lógicas Network 1 I0.0 I0.1 Network 2 I0.0 I0.1 Network 3 I0.2 AND AND negada Q4.0 Q4.1 OR Q4.2 SIMATIC S7 Siemens AG 1995. All rights reserved . Network 7 I0.2 I0.4 ( R) Latch selar Q4.5 Conector Network 8 I0.5 M0.0 I0.7 Q4.6 I0.6 # OR antes AND Q4.3 Network 9 M0.0 Bit de memória Network 10 I1.0 I1.1 I0.3 Network 5 I0.5 Q4.4 Reset Q4.5 I0.3 Network 4 I0.2 I0.4 Network 6 I0.6 Set Q4.4 I1.0 XOR Q4.7 Q5.0 I1.1 (S) Data: 07/11/00 Versão: 3.1 Arquivo: pro1_8.8 Conhecimento em Automação Training Center Objetivo Entender os elementos lógicos comuns e combinações de operações lógicas binárias, e começar familiarizar-se com o Editor S7 LAD/STL/FBD digitando operações lógicas. Procedimento 1. Editar um OB1 (se existente, deletar o seu conteúdo). 2. Digitar as operações lógicas mostradas. Usar uma network para cada função 3. Salvar, carregar e depurar blocos na CPU. (Quando carregando, especificar se o OB1 irá sobrescrever o da CPU) Resultado No modo Debug, pode-se visualizar o resultado das operações lógicas. 160 SENAI - SIEMENS - VW Programação básica Exercício 8.2: Máquina de Carimbar - Modo de Operação e Operação Manual SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_8.9 Conhecimento em Automação Training Center Objetivo Programe o modo de operação dos componentes para a máquina de carimbar de acordo com as especificações abaixo: O sistema é iniciado através da entrada I1.1 (botão ligar, contato NA) O sistema é desligado através da entrada I1.2(botão com trava, contato NF) A saída Q4.5 acende a lâmpada quando o sistema está ligado. Quando o sistema é ligado, o modo de operação pode ser selecionado: - Com I 1.3=0 a operação manual é selecionada e com I1.3=1 a operação automática é selecionada. SENAI - SIEMENS - VW 161 Programação básica - Com o pulso na entrada I1.4, o modo de operação é aceita. O modo de operação deverá ser sinalizado por lâmpadas(manual=Q4.6, automático= Q4.7). Durante a operação manual, a esteira pode ser movimentada para frente com os botões não retentivos I1.5 (Q4.0) e para trás com I1.6 (Q4.1) respectivamente. Procedimento Desenvolva um programa para o controle do modo de operação. 1. Use os endereços I/Q e os dispositivos mostrados acima. 2. Criar um programa S7 com o nome ”MAQ_CARIMBAR" no projeto PRO1. 3. Escreva um programa para implementar as partes desta aplicação no FC15 e chame o FC15 no OB1. 4. Salve, transfira e depure seu programa no dispositivo de treinamento. Resultado Teste o funcionamento no simulador, selecionando o modo de operação. Teste a operação em Manual (ligar para frente/trás). 162 SENAI - SIEMENS - VW Programação básica Temporizadores, Contadores e Comparadores Temporizadores com Retardo na Energização/Desenergização I0.7 S5T#35s I0.5 I1.7 S5T#55s I1.5 LAD FBD T4 T4 MW0 R MW2 BCD T5 S_OFFDT Q S I1.7 R BCD MW6 R BI Q5.5 MW0 BCD MW2 S5T#55s I1.5 S_OFFDT Q S TV BI Q5.6 MW4 R BCD MW6 T6 S_ODTS I1.3 MW10 BCD MW12 Siemens AG 1995. All rights reserved . R Q5.7 Q BI SIMATIC S7 I0.5 Q S TV T5 MW4 S TV S5T#35s Q5.6 BI T6 S_ODTS S_ODT I0.7 TV I1.3 S5T#105s I1.4 Q5.5 S_ODT Q S TV BI STL S5T#105s S TV BI Q5.7 MW10 R BCD MW12 I1.4 Q Data: 07/11/00 Versão: 3.1 Arquivo: pro1_9.2 Exemplo: Entrada com atraso S_ODT A L SD A R L T LC T A = I0.7 S5T#35s T4 I0.5 T4 T4 MW0 T4 MW2 T4 Q5.5 Conhecimento em Automação Training Center O S7 oferece três opções de temporizadores com atraso (delay timer): On-Delay Timer S_ODT Retardo na Energização SENAI - SIEMENS - VW 163 Programação básica Off-Delay Timer S_OFFDT Retardo na Desenergização Retentive On-Delay S_ODTS Retardo na Energização com Retenção 164 SENAI - SIEMENS - VW Programação básica Temporizadores de Pulsos LAD FBD T2 T2 I0.0 Q4.0 S_PULSE S S5T#45s I0.1 Q I0.0 BI MW5 S5T#45s R BCD MW7 I0.1 S Q BI MW5 R BCD MW7 T9 S_PEXT S Q4.1 BI MW9 R BCD MW11 Siemens AG 1995. All rights reserved . S_PEXT I0.2 Q TV SIMATIC S7 Q4.0 TV T9 S5T#85s I0.3 S_PULSE S_PULSE TV I0.2 STL S5T#85s I0.3 S Q4.1 Q TV BI MW9 R BCD MW11 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_9.3 A L SP A R L T LC T A = I0.0 S5T#45s T2 I0.1 T2 T2 MW5 T2 MW7 T2 Q4.0 Conhecimento em Automação Training Center O S7 oferece duas opções de temporizadores de pulso: Pulse S_PULSE Pulso SENAI - SIEMENS - VW 165 Programação básica Extended Pulse S_PEXT Pulso Extendido 166 SENAI - SIEMENS - VW Programação básica Contadores FBD LAD C3 I0.2 C3 S_CU I0.0 CU Q I0.0 CU I0.2 S SC CV MW0 C#12 CV_BCD MW2 I0.1 SC R S_CU Q5.0 S C#12 I0.1 R C5 Q5.3 CU I0.5 CD I0.3 S CV MW4 C#20 SC CV_BCD MW7 I0.7 Q I0.5 CD I0.3 S C#20 I0.7 SC R Q5.0 CV MW0 CV_BCD MW2 S_CUD I0.4 CU Q C5 S_CUD I0.4 STL SIMATIC S7 Siemens AG 1995. All rights reserved . R Q Q5.3 CV MW4 CV_BCD MW7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_9.4 Exemplo: CONTADORES A I0.4 CU C5 A I0.5 CD C5 A I0.3 L C#20 S C5 A I0.7 R C5 L C5 T MW4 LC C5 T MW7 A C5 = Q5.3 Conhecimento em Automação Training Center 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. SENAI - SIEMENS - VW 167 Programação básica 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. 168 SENAI - SIEMENS - VW Programação básica Instruções de Temporização e Contagem para Bits FBD LAD I0.0 T5 ( SD ) I0.1 I0.2 I0.3 S5T#25s T9 ( SF ) S5T#15600mS T2 ( SP ) S5T#12S T6 ( SE ) S5T#500ms I0.4 T10 ( SS ) S5T#20ms I0.5 C14 CU) ( I0.6 SIMATIC S7 Siemens AG 1995. All rights reserved . C17 ( CD ) STL T5 I0.0 & I0.1 & I0.2 & I0.3 & I0.4 & I0.5 & SD S5T#25s SD T9 SF SF S5T#15600ms T2 SP S5T#12s T6 SE S5T#500ms T10 SS CU CU C17 & SE SS S5T#20ms C14 I0.6 SP CD Data: 07/11/00 Versão: 3.1 Arquivo: pro1_9.5 CD A L SD A L SF A L SP A L SE A L SS A CU A CD I0.0 S5T#25s T5 I0.1 S5T#15600ms T9 I0.2 S5T#12s T2 I0.3 S5T#500ms T6 I0.4 S5T#20ms T10 I0.5 C14 I0.6 C17 Conhecimento em Automação Training Center Temp. On-Delay SD Se o RLO mudar de 0 para 1, o temporizador SD é inicializado. Se o temporizador estiver funcionando, e o RLO mudar de 1 para 0, o temporizador para. Temp. Off-Delay SF Se o RLO muda de 1 para 0, o temporizador SF é inicializado. Se o RLO mudar de 0 para 1, o temporizador é resetado. O temporizador 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. SENAI - SIEMENS - VW 169 Programação básica Temp. Pulso Extendido SE Se o RLO muda de 0 para 1, o temporizador SE recebe o valor do tempo. O temporizador funciona por um período específico, até mesmo se o RLO mudar para 0 antes que o temporizador pare. Se o RLO muda de 0 para 1, o temporizador é setado novamente. O estado do sinal do tempo de scan resulta em RLO = 1, contanto que o temporizador esteja funcionando. Temp. On-Delay Retentivo SS Se o RLO muda de 0 para 1, o temporizador SS recebe o valor de tempo. O temporizador funciona com o tempo especificado, até mesmo se o RLO mudar novamente para 0 antes que o temporizador pare de funcionar. Se 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. 170 SENAI - SIEMENS - VW Programação básica Acumuladores Instrução para Carga no Conteúdo do Accu 1 31 24 23 24 23 24 16 15 23 7 16 15 0 IB 0 8 7 IB 0 MB 1 MB 0 8 0000 0000 0000 31 15 0000 0000 31 16 L IB 0 0 L IW 0 IB 1 8 7 MB 2 0 L MD 0 MB 3 Instrução de Transferência 31 24 MB 0 23 16 MB 1 T QD 4 SIMATIC S7 Siemens AG 1995. All rights reserved . 15 8 7 MB 2 T QW 4 0 MB 3 T QB 4 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_9.6 Conhecimento em Automação Training Center Geral Acumuladores são memórias auxiliares na CPU para troca de dados entre vários endereços, para comparação e operações matemáticas. O S7-300 tem dois ACCU’s (acumuladores) com 32 bits cada, e o S7-400 tem quatro acumuladores com 32 bits cada. Operação de Carga LOAD As operações de carga sempre usam o ACCU1. Quando o valor é carregado no ACCU1, o valor é arquivado posicionado a direita, e as posições não utilizadas são deletadas. O valor anterior do ACCU1 é deslocado para o ACCU2 durante a carga. SENAI - SIEMENS - VW 171 Programação básica Operação de Transferência Transfer Durante a transferência, o conteúdo do ACCU1 é copiado para área de memória de destino (o conteúdo permanece no ACCU1). Se somente um byte é transferido, os oito bits da direita são usados (ver figura). RLO As instruções de load e transfer são independentes do RLO e são portanto sempre executadas. Em LAD e FBD, é possível carregar e transferir condicionalmente utilzando-se a entrada EN do bloco MOVE. Em STL, você pode implementar isto com jumps condicionais 172 SENAI - SIEMENS - VW Programação básica Carregando e Transferindo Dados 5 LAD/FBD STL MOVE L - Load T - Transfer (Todos os tipos de dados com 8, 16, 32 bits) EN ENO IN O MB 5 EN - Habilita Entrada ENO -Habilita Saída IN - Valor de Entrada (Tamanho de todos os tipos de dados 8, 16, 32 bit ) O - Target address (Tamanho de todos os tipos de dados 8, 16, 32 bit ) SIMATIC S7 Siemens AG 1995. All rights reserved . Exemplos: L +5 // Carrega uma constante 16-bit L L#523123 // Carrega uma constante 32-bit L B#16#EF // Carrega byte em hexadecimal L 2#0001_0110_1110_0011 // Carrega valor binário 16-bit L TOD#1:10:3.3 // Carrega tempo com 32-bit T MB0 T QD256 // Transfere valor para byte de memória 0 // Transfere valor para double word 256 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_9.7 Conhecimento em Automação Training Center MOVE (LAD/FBD) A instrução MOVE torna possível designar valores a variáveis. Se a entrada EN é ativada, o valor presente na entrada IN é copiado para o endereço especificado para saída O. ENO tem o mesmo estado do sinal que EN. L and T (STL) As instruções Load e Transfer permitem programar troca de dados entre áreas de memória. Load e Transfer são executados incondicionalmente e independentemente do RLO. A troca de dados é feita via acumulador. A instrução Load transfere o conteúdo do endereço para o acumulador 1. Quando isto acontece o conteúdo do acumulador 1 é transferido para o acumulador 2. A instrução Transfer copia o conteúdo do acumulador 1 para o endereço destino. SENAI - SIEMENS - VW 173 Programação básica Funções de Comparação LAD M0.0 IW0 IW2 FBD STL ==I CMP ==I Q5.7 CMP ==I M0.0 IN1 IN2 IW0 IW2 IN1 IN2 OPÇÕES DE COMPARAÇÃO: == <> > < >= <= Q5.7 A A( L L ==I ) = M0.0 IW0 IW2 Q5.7 IGUAL A NÃO IGUAL A MAIOR QUE MENOR QUE MAIOR QUE OU IGUAL A MENOR QUE OU IGUAL A SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_9.8 Conhecimento em Automação Training Center 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 174 SENAI - SIEMENS - VW Programação básica - 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. SENAI - SIEMENS - VW 175 Programação básica Instruções de Jump Incondicional Os Jump incondicionais são executados independente de qualquer condição; Este Jump não lê ou afeta os bits da palavra de status. FBD LAD NEW1 Network 1 ( STL NEW1 JMP ) JMP JU NEW1 . . . . . . Network X . NEW1: A I0.2 A I0.3 = Q4.1 Network 2 Network 2 Network X Network X NEW1 NEW1 I0.2 Network 1 I0.3 Q4.1 ( ) SIMATIC S7 Siemens AG 1995. All rights reserved . I 0.2 I 0.3 & Q4.1 = Data: 07/11/00 Versão: 3.1 Arquivo: pro1_9.9 Conhecimento em Automação Training Center Salto Incondicional A instrução Jump Incondicional interrompe o fluxo normal da lógica de controle e provoca o salto de programa para a posição marcada pelo rótulo (label). O label é representado em LAD/FBD de maneira parecida ao elemento de saída, porém com as letras JMP e o nome do rótulo destino associado; em STL o label é localizado atrás da instrução JU. LAD “label” --( JMP ) FBD “label” JMP STL JU “label” 176 SENAI - SIEMENS - VW Programação básica Rótulos (labels) O label marca o ponto onde o programa irá continuar a execução, após o salto. Instruções ou segmentos localizadas entre o jump e o label não serão executadas. O label obrigatoriamente deve estar localizado no mesmo bloco (OB,FB,FC) que a instrução jump a que está associada. SENAI - SIEMENS - VW 177 Programação básica Jump Condicional, baseado em RLO O bit “Resultado da Operação Lógica” (RLO) na palavra de status determina quando estes jumps condicionais serão executados. Duas dessas instruções também salvam o RLO no bit do resultado binário (BR). LAD FBD STL Jump if RLO = 1 I0.0 I1.0 Is RLO=1? ( NEW1 JMP ) I0.0 I1.0 NEW1 JMP & A I0.0 A I1.0 JC NEW1 Jump if RLO = 0 REC2 I0.0 I1.0 Is RLO=0? ( REC2 JMPN ) SIMATIC S7 Siemens AG 1995. All rights reserved . I0.0 I1.0 JMPN & Data: 07/11/00 Versão: 3.1 Arquivo: pro1_9.10 A I0.0 A I1.0 JCN REC2 Conhecimento em Automação Training Center Introdução Saltos condicionais ocorrem sempre em função do estado do RLO. Salto Condicional RLO = 1 (JC) O jump condicional JC é executado se e somente se o RLO for 1. Estando o RLO=1 a instrução se comporta da mesma maneira que um jump incondicional. Porém se o RLO=0 a instrução jump é ignorada e a execução do programa continua a partir da instrução seguinte. Salto Condicional RLO =0 (JCN) O jump condicional JCN é executado se e somente se o RLO = 0. Estando o RLO=0 a instrução se comporta da mesma maneira que um jump incondicional. Porém se o 178 SENAI - SIEMENS - VW Programação básica RLO=1 a instrução jump é ignorada e a execução do programa continua a partir da instrução seguinte. JCB/JNB Além das instruções acima, existe duas outras opções em STL que são a combinação do RLO e o bit BR: - Jump se RLO = 1 com RLO armazenado em BR (JCB) - Jump se RLO = 0 com RLO armazenado em BR (JNB) Ambas instruções trabalham da maneira que JC e JCN trabalham; o jump é executado baseado no RLO. As instruções jump JCB e JNB salvam adicionalmente o RLO no bit BR da palavra de status. Nota: Se o jump condicional não é satisfeito, o programa continua a processar as instruções seguintes ao jump e o RLO é setado para “1”. SENAI - SIEMENS - VW 179 Programação básica Função Master Control Relay LAD FBD ( MCRA ) STL MCRA //Ativado A I0.0 MCR( //Habilitar MCR //Abrir MCR = M0.6 = A I0.7 = Q4.5 = M0.6 //Contato NA //Saída //Saída Q5.0 S A I0.4 S Q5.0 //Contato NA //Setar saída )MCR //Fechar MCR MCRA I0.0 ( MCR< ) I0.0 & I0.7 & I0.4 & Q4.5 I0.7 Q4.5 ( ) M0.6 ( ) Q5.0 I0.4 ( S) ( M5.5 I1.7 MCR> MCR< ) M69.0 ( ) M5.5 I1.7 & ( MCRD ) MCR> M69.0 = MCRD AN M5.5 //Contato emer. AN I1.7 //Contato emer. = M69.0 //Saída MCRD SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_9.11 //Desativar Conhecimento em Automação Training Center Relê de Controle Mestre O Master Control Relay é uma chave lógica mestre para energizar ou desenergizar o fluxo de tensão. Quando “desenergizado” toda a seqüência lógica seguinte será zerada (RLO=0) ao invés de ser executada. Se a lógica Master Control Relay estiver ativa (RLO=1) considera-se que o sistema está energizado. Por sua vez, se a lógica estiver inativa (RLO=0) considera-se que o sistema está desenergizado. Observação As instruções SET e RESET dentro de uma MCR inativo (desenergizado) não alteram o valor da saída/flag. A instrução de transferência (=) zera a saída/flag quando o MCR está inativo. 180 SENAI - SIEMENS - VW Programação básica MCRA A instrução MCR Activate ativa a função Master Control Relay. As instruções Master Control Relay On e Master Control Relay Off MCA< e a MCR> devem seguir a instrução MCRA. MCR< A instrução Master Control Relay On marca o inicio da zona de controle lógico. MCR< abre a área MCR e trigga instruções que armazenam o RLO na pilha MCR. A pilha pode ter até oito entradas. Isto significa que até oito níveis de controle individuais podem ser incluídas entre os comandos MCRA e MCRD. MCR> A instrução Master Control Relay Off marca o fim da área de controle lógico. O MCR> é combinado com o mais próximo MCR< . MCRD A instrução MCR Deactivate desativa a função MCR. Você não pode programar nenhuma área MCR depois do MCRD. Esta instrução é uma exigência para a associação lógica com MCRA. SENAI - SIEMENS - VW 181 Programação básica Exercício 9.1: Máquina de Carimbar - Operação Automática SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_9.12 Conhecimento em Automação Training Center Objetivo Continue a aplicação do exercício 8.2. A aplicação deverá trabalhar da seguinte forma: Controle da esteira em operação automática Em operação automática, o motor do transportador (Q4.0) ligará e permanecerá ligado até que botoeira de desligar (I1.2) abra ou até que o sensor de peças altas (I0.7) fique ativo, iniciando a operação de carimbar. Esta é monitorada pelos sensores de carimbador avançado (I0.3) e carimbador recuado (I0.2). Depois a peça é expulsa e monitorada pelos sensores de expulsão avançada (I0.5) e expulsão recuada (I0.4). A válvula do carimbador está localizada na saída Q4.3 e a válvula do expulsor está localizada na saída Q4.4. 182 SENAI - SIEMENS - VW Programação básica A peça deve ser mantida pressionada pelo cilindro de carimbar por 3s, sendo isto sinalizado através da saída Q5.0. Contando as peças Existem dois sensores destinados a registrar peças baixas e altas. O sensor I0.7 registra as peças altas e o sensor I1.0 registra as peças baixas. Peças altas e baixas devem ser contadas assim que sistema parta (C1 peças altas, C2 peças baixas). O número de peças altas é registrado em MW100 e o número de peças baixas é registrado em MW102. Procedimento 1. Desenvolva um programa no bloco FC16 e adicione a chamada no OB1 (Projeto PRO1, programa “MAQ_CARIMBAR”). No FC15 você também deverá modificar a network na qual o movimento da esteira para frente é programado. 2. Testar a solução no dispositivo de treinamento. Resultado Simule a função de operação automática e de contagem. SENAI - SIEMENS - VW 183 Programação básica 184 SENAI - SIEMENS - VW Programação básica Conversão, operação lógica digital, matemática, deslocamento Formato de Números Número Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Número BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 SIMATIC S7 Siemens AG 1995. All rights reserved . 15 0 0 0 0 0 0 0 8 7 0 1 0 1 Valor Decimal : 128 + 64 Bit de sinal 0 0 + 1 1 8 + 4 0 + 1 1 Tipo de Dados INTEGER ex.: 500 31 23 22 16 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Expoente: (8 bit) 8 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mantissa (23 bit) Tipo de Dados Real ex.: 45.6789 Sinal Sinal Data: 07/11/00 Versão: 3.1 Arquivo: pro1_10.2 Código BCD O dígito de um número decimal poder ser codificados com quatro dígitos binários. Esta representação deriva do fato que o maior número decimal de 1 dígito, que é o número 9, necessita de pelo menos quatro posições para a representação em binária. Para representar os dez dígitos decimais 0 até 9 em código BCD você usa a mesma representação como você usaria para números binários de 0 até 9. SENAI - SIEMENS - VW 185 Programação básica De 16 combinações possíveis de quatro dígitos binários, seis não são utilizadas. Estas combinações “proibidas” são chamadas de pseudo tetrad. INTEGER(INTEIRO) O tipo de dados INT é um inteiro (16 bits). O bit de sinal (bit no. 15) indica se você está tratando com números positivos ou negativos (“0” = positivo, “1”=negativo). A faixa de um inteiro (16 bit) está entre -32768 e +32767. Um inteiro ocupa uma palavra de memória. Em formato binário, um inteiro negativo é representado com o complemento de dois de um número inteiro positivo. Você chega ao complemento de dois de um inteiro positivo quando inverte o estado do sinal de todos os bits e adiciona “1” ao resultado. NÚMERO REAL Um número real (também chamado de número de ponto flutuante) é um número positivo ou negativo que abrange valores tais como 0,339 ou -11,32. Você pode também trocar o número real com um expoente como potência inteira de 10, com que o número real tem que ser multiplicado, de forma a atingir o valor desejado. Como resultado, o número 1024 pode ser expresso como 1.024E3. O numero real ocupa duas palavras de memória e o sinal do número é definido pelo bit mais significativo. Os bit´s restantes representam o expoente e a mantissa. A faixa na qual o número real está compreendido é -3.402823 10 38 a 3.402823 1038 186 SENAI - SIEMENS - VW Programação básica Instruções de Conversão de Tipos de Dados LAD/FBD IW4 EN BCD_I ENO IN OUT STL BCD_I MW20 DI_REAL DI_REAL EN ENO MD10 IN OUT MD30 IN SIMATIC S7 Siemens AG 1995. All rights reserved . OUT L MD10 DTR T MD30 ROUND ROUND EN ENO MD33 L IW4 BTI T MW20 MD69 L MD33 RND T MD69 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_10.3 Existem várias possibilidade de conversão. Todas as instruções têm o seguinte formato: EN = Enable input A conversão é executada somente se o RLO é verdadeiro (=1). ENO = Enable output A saída Enable output tem o mesmo estado de sinal que EN (EN=ENO), a menos que tenha havido um erro durante a conversão. Por exemplo, a instrução Round fornece o ENO=0 para uma violação de faixa válida. SENAI - SIEMENS - VW 187 Programação básica IN = Valor de entrada Valor a ser convertido OUT = Valor de saída Valor convertido (LAD /FBD) STL Descrição BCD_I / BCD_DI BTI/BTD Converte Código Binário em formato Decimal (BCD, Binay Code for Decimal digits) em formato inteiro. TRUNC TRUNC Converte ponto flutuante (real 32 bit IEEE) em inteiro duplo. DI_REAL DTR Converte inteiro duplo em número real. I_DI ITD Converte inteiro em inteiro duplo. ROUND RND Converte um número real em inteiro duplo e arredonda o resultado para o próximo número. CEIL RND+ Converte um número real em inteiro duplo e arredonda o resultado para o mais próximo inteiro menor ou o mesmo número. 188 SENAI - SIEMENS - VW Programação básica Operações Lógicas Digitais LAD/FBD STL WAND_W EN ENO IW4 W#16#0FFF IN1 IN2 OUT MW30 WOR_W ENO EN MW32 W#16#0001 IN1 IN2 OUT MW32 WXOR_W ENO EN IW0 IN1 MW28 IN2 OUT SIMATIC S7 Siemens AG 1995. All rights reserved . MW24 WAND_W L IW4 L W#16#0FFF AW T MW30 WOR_W L MW32 L W#16#0001 OW T MW32 WXOR_W L IW0 L MW28 XOW T MW24 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_10.4 WAND_W A instrução “Word AND” combina dois valores digitais especificados na entrada IN1 e IN2 bit a bit, baseado na tabela verdade AND. O resultado da operação é salvo no endereço OUT. A instrução é executada se o sinal de entrada de EN=1. ENO tem o mesmo estado do sinal de EN. Tabela Verdade AND: MW10 = 0100 010 0 1100 0100 W#16#0FFF = 0000 1111 1111 1111 MW30 = 0000 0100 1100 0100 SENAI - SIEMENS - VW 189 Programação básica WOR_W A instrução “Word OR”combina dois valores digitais baseados na tabela verdade OR bit a bit, para valores de entrada IN1 e IN2. O resultado da operação OR é salvo no endereço OUT. A instrução é executada , se o estado da entrada EN=1. ENO tem o mesmo estado do sinal de EN. Tabela verdade OR: MW32 = 0100 0010 0110 1010 W#16#0001 = 0000 0000 0000 0001 MW32 = 0100 0010 0110 1011 WXOR_W A instrução “Word Exclusive OR” combina dois valores binários das entradas EN1 e EN2 bit a bit e de acordo com a tabela verdade OR Exclusive. O resultado da operação WXOR é salvo no endereço OUT. A instrução é ativada, se a entrada EN=1. ENO tem o mesmo estado do sinal de EN. Tabela verdade XOR IW0 = 0100 0100 1100 1010 MW28 = 0110 0010 1011 1001 MW24 = 0010 0110 0111 0011 190 SENAI - SIEMENS - VW Programação básica Funções Matemáticas Básicas STL LAD/FBD MW4 MW10 ADD_I EN ENO IN1 O IN2 ADD_I L L +I T MW6 MW4 MW10 MW6 SUB_I SUB_I EN MW5 MW11 IN1 IN2 O MW7 IN1 MD12 IN2 O MD67 MD3 MW5 MW11 MW7 MUL_R L L *R T MUL_R EN ENO MD6 L L -I T ENO MD6 MD12 MD67 MD67 DIV_R EN ENO IN1 IN2 O SIMATIC S7 Siemens AG 1995. All rights reserved . DIV_R MD33 L L /R T MD67 MD3 MD33 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_10.5 Existem várias funções aritméticas, como exibidas abaixo. As instruções têm o seguinte formato: EN = Habilita entrada A instrução será executada se e somente se o RLO é verdadeiro (RLO=1). ENO = Habilita saída A saída Enable output tem o mesmo estado de sinal que EN (EN=ENO), a menos que tenha havido um erro durante a conversão. Por exemplo, a instrução DIV_I fornece EN0=0 quando se faz um divisão por zero. IN1 = Entrada 1 1. valor aritmético da instrução. SENAI - SIEMENS - VW 191 Programação básica IN2 = Entrada 2 2. valor aritmético da instrução. O = Saída Resultado da operação aritmética. Adição ADD_I Soma inteiros ADD_DI Soma inteiros duplos ADD_R soma números reais Subtração SUB_I Subtrai inteiros SUB_DI Subtrai inteiros duplos SUB_R Subtrai números reais Multiplicação MUL_I Multiplica Inteiros MUL_DI Multiplica inteiros duplos MUL_R Multiplica números reais Divisão DIV_I Divide inteiros DIV_DI Divide inteiros duplos DIV_R Divide números reais 192 SENAI - SIEMENS - VW Programação básica Funções Matemáticas Avançadas LAD/FBD STL SQRT SQRT EN ENO MD10 IN O L M D10 SQRT T MD 14 MD 14 SIN SIN EN MD 18 EN MD 26 IN ENO O MD 22 O L TAN T MD 30 SIMATIC S7 Siemens AG 1995. All rights reserved . MD 22 IN O MD 26 MD 30 SQR SQR EN ENO MD 34 MD 18 TAN TAN ENO IN L SIN T L SQR T MD 34 MD 38 MD38 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_10.6 Existem várias funções matemáticas e trigonométricas com pontos flutuantes, como mostrado abaixo. Estas instruções têm o seguinte formato: EN = Habilita entrada A instrução será executada se e somente se o RLO é verdadeiro (RLO=1). ENO = Habilita saída A saída Enable output tem o mesmo estado de sinal que EN (EN=ENO), a menos que tenha havido um erro durante a conversão. Por exemplo, quando há um overflow. SENAI - SIEMENS - VW 193 Programação básica IN = Valor de Entrada 1° operando da instrução (número real). O = Valor de Saída Resultado da operação (número real) ABS Valor Absoluto de um número real ACOS Arco Coseno para um número real (resultado em radianos) ASIN Arco Seno para um número real (resultado em radianos) ATAN Arco Tangente para um número real (resultado em radianos) COS Coseno para um número real (resultado em radianos) EXP Expoente para número real LN Logaritmo Natural para um número real SQR Raiz de um número real SQRT Raiz Quadrada de um número real SIN Seno de um número real (resultado em radiano) TAN Tangente de um número real (resultado em radiano) 194 SENAI - SIEMENS - VW Programação básica Funções de Deslocamento e Rotação LAD/FBD STL SHL_W SHL_W EN MW50 IN MW4 N ENO O * MW12 L MW50 SLW 2 //Multiplicação por 4 T MW12 (MW4 = 2) ROR_DW EN MD60 IN MW6 N ENO O * MD50 ROR_DW L MD60 RRD 4 T MD50 (MW6 = 4) * Estado do sinal do último deslocamento de bit SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_10.7 Shift / Rotate Com as instruções Shift e Rotate, você pode deslocar o conteúdo da mais baixa word do Acumulador 1 ou o conteúdo do acumulador para a direita ou para esquerda, bit a bit. A instrução (por exemplo, SLW=desloca palavra para esquerda) determina a direção da operação de deslocamento. O parâmetro N especifica o número de bits a serem deslocados. Na operação de deslocamento de palavra, os bits vazios são preenchidos com o bit(MSB) de sinal (0=positivo e 1=negativo). Na operação de rotação, os bits vazios são preenchidos com o conteúdo que foi rotacionado. Instruções de Deslocamento: SHL_W Deslocamento de uma Word para esquerda. Os bits de 0 até 15 do acumulador são deslocados para esquerda de N bits(posições). Bits vazios são preenchidos com zero. SENAI - SIEMENS - VW 195 Programação básica SHL_DW Deslocamento de uma Word dupla para esquerda. O conteúdo do Acumulador 1 é deslocado bit a bit, N bits(posições) para esquerda. Bits vazios são preenchidos com zero. SHR_W Deslocamento de uma Word para direita. Os bits de 0 até 15 do acumulador são deslocados para direita de N bits(posições). Bits vazios são preenchidos com zero. SHR_DW Deslocamento de uma Word dupla para direita. O conteúdo do Acumulador 1 é deslocado bit a bit, N bits(posições) para direita. Bits vazios são preenchidos com zero. SHR_I Deslocamento de um Inteiro para Direita. Os bits de 0 até 15 do acumulador são deslocados para direita de N bits. Bits vazios são preenchidos com o valor do bit de sinal (bit 15). SHR_DI Deslocamento de um Inteiro Duplo para Direita. O conteúdo do Acumulador 1 é deslocado para direita bit a bit de N bits. Bits vazios são preenchidos com o valor do bit de sinal (bit 31) Instruções de Rotação: • ROL_DW Rotaciona uma Word dupla para esquerda. O conteúdo do Acumulador 1 é rotacionado bit a bit N bits para esquerda. • ROR_DW Rotaciona uma Word dupla para direita. O conteúdo do Acumulador 1 é rotacionado bit a bit N bits para direita. 196 SENAI - SIEMENS - VW Programação básica Exercício 10.1: Exemplos de Operações de Palavra Network 1 I0.0 Q4.0 S_CU CU Q I0.1 S IW2 I0.6 PV R CV CV_BCD MW0 MW4 Network 2 DI_R BCD_DI EN ENO MD2 IN O MD8 MD8 EN ENO IN O DIV_R EN ENO MD14 MD14 6.0 IN1 O M68.0 MD20 IN2 Network 3 DI_BCD TRUNC EN ENO MD20 IN SIMATIC S7 Siemens AG 1995. All rights reserved . O MD26 MD26 EN ENO IN O MOVE MD34 MD34 EN IN ENO O M69.0 MD50 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_10.8 Este exercício contém exemplos com as seguintes funções: • Network 1: Um contador crescente que dispara quando a entrada I0.0 mudar de 0 para 1. O valor corrente é salvo na MW4 em BCD. • Network 2: O valor é convertido para duplo inteiro e então para REAL.( Um valor BCD não pode ser diretamente convertido o para número REAL). O resultado da segunda conversão é dividido pelo valor 6.0 .O número em ponto flutuante , que é, o resultado da divisão, é salvo na MD20. • Network 3: A MD20 é arredondada para inteiro e então convertido de duplo inteiro para valor BCD. O valor BCD é transferido para o a saída MD50. SENAI - SIEMENS - VW 197 Programação básica Objetivos 1. Familiarizar-se com as instruções. 2. Manusear o browser (catálogo) de instruções e o help de funções. Procedimento 1. Criar um programa com o nome "MATEMAT" no projeto PRO1. 2. Editar, salvar, transferir e depurar as operações lógicas exibidas acima usando o Editor de Programas (Você pode trabalhar em LAD, FBD ou STL ). Resultado Quando acionado (contador crescente) I0.0, pode-se ver como a saída é incrementada de um para cada múltiplo de seis ( por exemplo, para o status igual a 7 contador , deve ser exibido 1). 198 SENAI - SIEMENS - VW Programação básica Exercício 10.2: Planta de Carimbar Dados de Produção SIMATIC S7 Siemens AG 1995. All rights reserved . Peças altas MW 100 Peças baixas MW 102 Total MW 104 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_10.9 Objetivo Continue a aplicação de exercício 8.1; contando as peças. Quando os contadores forem usados lembrar que os contadores contam até 999. Para números maiores, vários contadores podem ser usados em série. Então, a contagem deve ser feita por meio de operações aritméticas. Para gerenciamento, os dados de produção especificados no slide devem estar também disponíveis. Procedimento 1. No FC 16 (Programa “MAQ_CARIMBAR”), apagar as networks com funções de contar peças. SENAI - SIEMENS - VW 199 Programação básica 2. Criar o FC 18 para assumir a função de contagem. Depois que o sistema é ligado, os valores nas MW 100/102/104 são apagados. Com os pulsos de I0.7 ou I1.0, as peças são contadas com incrementos de 1. A soma das peças altas e baixas é salva na MW 104. 3. Chame o FC18 do OB1 4. Transfira todos os blocos para o CPU e teste o seu programa. 200 SENAI - SIEMENS - VW Programação básica Ferramentas para testes e depuração Usando o Status do Editor LAD/STL/FBD LAD LAD STL STL FBD FBD SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_11.2 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved. Status do Programa Com o Editor LAD/STL/FBD, você pode exibir o programa e o fluxo do sinal na linguagem de programação desejada. • LAD/FBD: Mostra o fluxo de corrente entre os elementos e os valores de entrada e saída dos blocos. • STL: Mostra os endereços, o RLO e os registros importantes para a depuração do programa. SENAI - SIEMENS - VW 201 Programação básica Monitor./Modificando Variáveis As variáveis definidas pelo usuário podem ser exibidas ou mudadas on-line com a CPU usando a opção PLC ⇒ Monitor/Modify. Inicializando o Status 1. Abrir o bloco de programa on-line pelo editor (LAD,STL/FBD). 2. Selecionar Debug ⇒ Monitor (no menu do editor LAD/STL/FBD). 3. Resultado: O status da network selecionada e das seguintes são atualizados. Nota Para mudar a forma de visualização (ex.: entre LAD e STL), o status deve estar desligado. Selecionando novamente Debug ⇒ Monitor , a marca antes de “Monitor” desaparece. Para mudar a linguagem de programação selecione View ⇒ LAD, FBD ou STL no menu do editor de Programas. Então o status do programa pode ser selecionado novamente, depois que a forma de visualização foi mudada. 202 SENAI - SIEMENS - VW Programação básica Modo de Operação para Status de Blocos Test Environment Process: Carga de tempo de ciclo limitada Laboratory: Carga de tempo de ciclo alta SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_11.3 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved. Modo de Status Há dois modos de operação para a função de Status do Bloco. Isto torna possível selecionar o modo processo ou laboratório para o bloco aberto on-line. Modo Process O status dos operandos do programa é avaliado somente no primeiro scan. Este modo causa uma menor carga no tempo de ciclo. Modo Laboratory O status dos operandos é avaliado todo scan. O tempo de ciclo pode ser aumentado significativamente neste modo. SENAI - SIEMENS - VW 203 Programação básica Seleção do Modo 1. Use o editor LAD/STL/FBD para abrir o bloco on-line. 2. Selecione a linguagem que você deseja (LAD, STL, or FBD). 3. Selecione Debug ⇒ Call Environment. 4. Selecione Process ou Laboratory. (Process é setado como padrão). Resultado: Quando você selecionar a opção “Monitor” o status é operado no modo selecionado. 204 SENAI - SIEMENS - VW Programação básica VAT - Tabela de Monitoração/Modificação de Variáveis SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_11.4 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved. VAT - Tabela de Monitor./Modificação de Varáveis A ferramenta Monitor/Modify Variable é uma ferramenta com a qual pode-se exibir os estados dos operandos do programa. Pode-se criar tabelas de variáveis em vários formatos que necessariamente não têm que ser uma parte do programa. Criando e Editando a Tabela 1. Abrir o projeto on-line, e selecionar o programa. 2. Na barra de ferramenta do SIMATIC Manager selecione PLC ⇒ Monitor/Modify Variables. 3. (Para Criar) selecione Table ⇒ New; (para editar uma tabela existente) selecione: Table ⇒ Open. 4. Selecione o seu programa e digite o seu bloco “VAT xy”. SENAI - SIEMENS - VW 205 Programação básica 5. Digite as variáveis a serem monitoradas na coluna de endereços (nomes simbólicos são permitidos). 6. Especifique o formato para cada variável na coluna de formatos (Browsing dos tipos de formatos é possível Clicando com o botão da esquerda em cima desta coluna ou selecionando com o botão da direita do mouse). 7. Se necessário, mascare certas colunas na tabela com o menu de comando View. 8. Salve a nova tabela de variáveis através do menu de comando File ⇒ Save ou com Save As... . 206 SENAI - SIEMENS - VW Programação básica Menus e Barra de ferramentas do Monitor/Modify Variable Ícones para Monitorar/Modificar Variáveis Trigger (define o modo de monitorar/modificar) Monitor (monitora) Modify (modifica) Update Monitor Values (atualiza valores) Activate Modify Values (ativa a modificação) Enable Peripheral Outputs (habilita saídas) SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_11.5 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved. A ferramenta Monitor/Modify Variable é uma ferramenta com a qual pode-se exibir os estados dos operandos do programa. Pode-se criar tabelas de variáveis em vários formatos que necessariamente não têm que ser uma parte do programa. Assim, a depuração do programa ou hardware do PLC é facilitada. View Com o ítem “View,” pode-se selecionar opções de formato para a tabela de variáveis. As opções de exibição podem ser selecionadas com o comando menu Variable Monitor/modify (View) ou no ícone mencionado acima na barra de ferramentas. SENAI - SIEMENS - VW 207 Programação básica Monitor A função Monitor ativa a monitoração (leitura) das variáveis listadas na tabela. A função monitoração pode ser selecionada no comando do menu Monitor/Modify Variables ou com o ícone da barra de ferramentas acima mencionado. Note que existem duas possibilidades: - monitoração uma única vez; - monitoração cíclica (em função do trigger) Modify A função Modify altera os valores da tabela de acordo com o valor digitado na coluna respectiva da tabela (coluna Modify Value). Da mesma maneira que a função Monitor, existe duas possibilidades: - alteração uma única vez; - alteração cíclica (em função do trigger). 208 SENAI - SIEMENS - VW Programação básica Definindo Pontos de Trigger - VAT q Trigger point: Pontos do ciclo no qual as funções de monitoração e modificação são executadas. PII Inicio do Ciclo "Trigger update": Comando para atualizar tão rápido quanto possível sem referência ao trigger point. Ciclo Transição: RUN ==> STOP Fim do Ciclo PIQ SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_11.6 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved. Trigger Points - Inicio do Ciclo - Fim do Ciclo - Transição para STOP Trigger Frequency - 1 ciclo - Todo Ciclo Setando Trigger 1. Selecione Variable ⇒ Trigger. 2. Selecione a opção desejada. SENAI - SIEMENS - VW 209 Programação básica 3. Confirme com OK. 210 SENAI - SIEMENS - VW Programação básica Exercício 11.1: Usando o Status do S7 3. Preencha a tabela VAT1 da seguinte forma: I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7 Q4.0 Q4.1 Q4.2 Q4.3 Q4.4 Q4.5 Q4.6 Q4.7 BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN BIN SIMATIC S7 1. Selecionar o modo de visualização on-line.... 2. Ativar o item de menu PLC => Monitor/Modify Variables 4. ... Então SAVE 5. Selecione Variable => Monitor (ou o ícone correspondente) Data: 07/11/00 Versão: 3.1 Arquivo: pro1_11.7 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved. É possível monitorar e alterar o conteúdo das áreas M/I/Q com a função Monitor/Modify Variables. O formato deve ser apropriado para o tipo designado (I0.0 = BIN). Para a monitoração, o terminal deve esta conectado on-line com a CPU. Objetivo Criar uma tabela de variável que corresponda as 8 primeiras entradas do primeiro módulo de entradas e as 8 primeiras saídas do primeiro módulo de saída. Procedimento 1. Selecione o modo on-line de visualização de blocos 2. Selecione PLC => Monitoring/Modifying Variables. SENAI - SIEMENS - VW 211 Programação básica 3. Digite a faixa de endereços na tabela (depois de cada entrada pressionar a tecla "Enter”, o formato padrão é exibido ⇒ use BIN). 4. Salve a tabela. 5. Ative o ícone para monitorar varáveis (se for o caso verifique a parametrização do filtro). 6. Tests as entradas e veja o resultado. Resultado A mudança dos valores correntes dos sinais de entrada e saída são exibidos na tabela. Suplementar Digite a lista de variáveis que corresponde a aplicação MAQ_CARIMBAR. Monitore as variáveis com a função de status. Mude os valores das variáveis com a função Modify para visualizar os efeitos na execução do programa. 212 SENAI - SIEMENS - VW Programação básica Funções, parâmetros e dados locais Chamando Blocos Chamando Bloco Bloco Chamado (OB, FB, FC, SFB, SFC) (FB, FC, SFB, SFC) Execução do Programa Execução do Programa Instrução que chama outro bloco (FB, FC, SFB, SFC) Execução do Programa Instrução que chama outro bloco Execução do Programa (FB, FC, SFB, SFC) SIMATIC S7 Siemens AG 1996. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_12.2 Conhecimento em Automação Training Center A instrução “Call” é utilizada para disparar a execução de um outro bloco lógico. Na figura acima 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 STL sem parâmetros Call FC100 UC FC 100 CC FC 100 SENAI - SIEMENS - VW 213 Programação básica Chamada em LAD sem parâmetros Chamada em STL com parâmetros Call FC20 Call FB30,DB10 Runtime:=MW20 Runtime:=MW20 Press:=PIW352 Press:=PIW352 Total:=QW20 Total:=QW20 Chamada em LAD com parâmetros 214 SENAI - SIEMENS - VW Programação básica Parâmetros EN/ENO EN = Habilita Entrada ENO = Habilita Saída EN Se ativa (1), executa a instrução do bloco. Se não ativa (0), não executa a instrução do bloco. ( ) ENO Bloco de instruções LAD (FC, FB, Move, Add, etc) Se ativa (1), a instrução foi executada sem erro. Se não ativa (0), a instrução não foi chamada, ou um erro ocorreu na execução das instruções. * STL não suporta os parâmetros EN/ENO. ENO = BR bit em STL SIMATIC S7 Siemens AG 1996. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_12.3 Conhecimento em Automação Training Center 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 entrada Possui 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) SENAI - SIEMENS - VW 215 Programação básica - se EN é ativada (1), o bloco é executado, se ocorre um erro na execução do bloco, o ENO não é ativado (0). EN/ENO em FBD EN/ENO em STL Em STL, o EN e ENO tem que ser emulado com instruções de jump salvando o RLO no resultado binário BR. Isto é necessário se se deseja programar a condição ENO em um bloco de usuário (caso de erro de execução). A I 1.0 JNB SALT CALL FC1 SALT: A BR = 216 Q 5.0 SENAI - SIEMENS - VW Programação básica Vatiáveis Locais de um Bloco Endereço de memória local Valor Inicial Nome Parametros Var. Estáticas Var. Temporárias Tipo de Declaração SIMATIC S7 Siemens AG 1996. All rights reserved . Tipo de dados Data: 07/11/00 Versão: 3.1 Arquivo: pro1_12.4 Comentários Conhecimento em Automação Training Center Variáveis Internas de um Bloco Na Tabela de Declarações são definidas as variáveis que serão utilizadas internamente em um bloco. Cada tipo de variável tem uma finalidade específica. Parâmetros Parâmetros servem como interface entre um bloco a ser executado e um bloco que chama este bloco. Quando um bloco é chamado pode-se fornecer valores e/ou endereços a este bloco. Dentro dele, estes parâmetros assumem a posição nos operandos em que foi programado. Os parâmetros podem ser de entrada (somente leitura), saída (somente escrita) e entrada e saída (leitura e escrita) os quais são passados para os blocos. SENAI - SIEMENS - VW 217 Programação básica Variáveis estáticas As variáveis estáticas são variáveis auxiliares a serem utilizadas ou como rascunho ou como flags auxiliares dentro do bloco. Este tipo de variável é encontrado exclusivamente nos blocos tipo FB, pois são armazenadas em bloco de dados do tipo Instance, que só estes blocos possuem. Variáveis temporárias As variáveis temporárias, também denominadas locais, são variáveis de rascunho válidas exclusivamente no bloco em que foram definidas. Ao contrário das variáveis estáticas, estas variáveis não possuem endereço fixo (são armazenadas temporariamente na “L stack”), estando disponíveis somente enquanto o bloco estiver sendo executado. Assim estas variáveis obrigatoriamente tem que ser iniciadas a cada ciclo do bloco, não servindo para armazenar dados de um ciclo para o outro. Colunas da Tabela End. local: é um endereço relativo da memória local, criado automaticamente pelo sistema. Pode-se eventualmente acessar a variável por este endereço porém se possível sempre usar o nome simbólico. - Nome: é o nome simbólico para a variável que será usado com a seção de código do programa. - Tipo de dado: tipo de dado da variável. Ex.: BOOL (Booleana), INT (Inteira) - Valor inicial: campo opcional onde pode-se definir o valor inicial ou de start-up. - Comentário: campo opcional que contém o comentário descritivo sobre a variável. 218 SENAI - SIEMENS - VW Programação básica Parâmetros de um Bloco STL CALL FB7, DB45 Liga:=I1.0 Desl:=I1.1 Motor:=Q 8.0 Parâmetros “Formais” do FB Chama FB7(usando o bloco de dados instance DB45) e passagem de parâmetros. Endereço “Atual” onde os dados residem ou irão ser arquivados LAD Endereço “Atual” onde os dados residem ou irão ser arquivados SIMATIC S7 Siemens AG 1996. All rights reserved . DB45 FB7 ENO EN I1.0 I1.1 Liga Desl Motor Chama FB7(usando o bloco de dados instance DB45) e passagem de parâmetros. M2.1 Parâmetros “Formais” do FB Data: 07/11/00 Versão: 3.1 Arquivo: pro1_12.5 Conhecimento em Automação Training Center Como já mencionado a utilização de parâmetros facilita a programação e permite que um bloco seja utilizado diversas vezes dentro de um programa, diminuindo o tempo de desenvolvimento e a memória ocupada na CPU. Chamada do Bloco Como se vê na figura acima, a passagem de parâmetros é feita se preenchendo os campos de parâmetros com os operandos correspondentes. Em FBD/LAD os parâmetros localizados à esquerda são do tipo entrada (ou entrada/saída) e do lado direito são do tipo saída. SENAI - SIEMENS - VW 219 Programação básica Programação A programação utilizando os parâmetros é feito praticamente da mesma forma que uma programação normal. Difere somente quanto aos operandos. Ao invés de se utilizar o endereço absoluto do operando utiliza-se o nome simbólico do parâmetro conforme definido na tabela de declarações do bloco. Tipos de Parâmetros Os parâmetros de um bloco podem ser: - in parâmetros de entrada - out parâmetros de saída - in_out parâmetros de entrada/saída 220 SENAI - SIEMENS - VW Programação básica Utilizando Variável Local em um Bloco SIMATIC S7 Siemens AG 1996. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_12.6 Conhecimento em Automação Training Center Pilha Local (L stack) Todo o bloco quando está sendo executado possui uma área de memória reservada na chamada pilha local (L stack). Esta memória temporária é uma eficiente forma de usar o sistema para arquivar valores intermediários que não são necessários depois que o bloco é fechado. Estas variáveis (temp) são acessadas internamente no bloco pelo nome simbólico. O tipo de dado declarado da variável deve ser respeitado (BOOL, INT, etc.). Programação A utilização desta variável é semelhante ao uso de um parâmetro. Após a declaração de seu nome e tipo na tabela de declaração do bloco, basta digitar o seu nome SENAI - SIEMENS - VW 221 Programação básica simbólico como um operando normal. Estas variáveis são identificadas pelo símbolo # antes do seu nome simbólico. Inicialização Esta variável não existe fisicamente, sendo utilizado a pilha local para alocá-la durante a execução do bloco. Sendo assim a cada chamada do bloco esta variável tem que ser inicializada, isto é, o valor que esta variável continha no ciclo anterior não pode ser reaproveitado. Exemplo No exemplo acima a variável #res_inter recebe o resultado do cálculo (12 * X), e é utilizada no segmento seguinte para complementar o cálculo (12X + 50). Em uma técnica convencional de programação teria sido necessário utilizar um memória (flag), ocupando-a desnecessariamente. Variáveis Estáticas Os blocos do tipo FB possuem adicionalmente variáveis do tipo estáticas (stat). Quanto à edição o uso desta variável é igual a variável temporária. A variável estática porém existe fisicamente (é armazenada no DB instance) sendo portanto possível utilizar o valor armazenado no ciclo anterior. Limites Sendo uma área de memória da CPU, existem limites para criação e uso destas variáveis. Estes limites dependem do tipo de CPU e da organização do programa. Detalhes podem ser vistos no capítulo sobre Documentação. Nota Pode ocorrer de que um nome simbólico de variável local tenha o mesmo nome simbólico de uma variável global. Para diferenciar isto as variáveis globais são identificadas por aspas (“nome_simbol“). 222 SENAI - SIEMENS - VW Programação básica Exercício 12.1: Chamando FC Sem/Com Parâmetros FC1 sem parâmetros OB1 Chama FC1 incondicionalmente e não passa valores Chama FC2 condicionalmente e passa diferentes sets de valores baseados na condição de I1.7 FC2 com diferentes parâmetros SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_12.7 Siemens AG 1996. All rights reserved . Conhecimento em Automação Training Center Objetivo Programar um bloco FC com e sem parâmetros. Notar a diferença entre a chamada de um bloco com e de um bloco sem parâmetros Procedimento 1. Crie um nova pasta de programa, denominada FUNCOES, no projeto PRO1. 2. Crie um FC1 sem parâmetros: - carregar um valor de entrada IB0, adicionar a constante 2 e transferir o resultado para a saída QB4. 3. Crie um FC2 com parâmetros . - defina duas variáveis de entrada booleanas (start_1 e start_2) e uma variável de saída booleana (buzina). SENAI - SIEMENS - VW 223 Programação básica - programe para que quando as entradas start_1 e start_2 forem ativadas, a saída buzina toque durante 3 segundos. 4. Programa no OB1 a chamada dos blocos: - o FC1 sem parâmetros uma única vez incondicionalmente. - o FC2 será chamado 2 vezes condicionalmente em função da entrada I1.7, com os seguintes parâmetros: start_1 start_2 buzina I1.7=0 I1.0 I1.1 Q8.6 I1.7=1 I0.0 I0.1 Q8.7 Programar em LAD/STL/FBD e depurar o bloco. Na programação STL, a chamada condicional dever ser feita por meio de jumps. Resultado Verifique as diferenças entre as chamadas. Verifique as diferenças entre as linguagens. 224 SENAI - SIEMENS - VW Programação básica Programação simbólica Endereçamento Absoluto e Simbólico Absoluto Simbólico A I 1.0 A MOTOR_LIGADO L DB 10.DBW4 L TURNO.PEÇAS CALL FC10 SIMATIC S7 Siemens AG 1995. All rights reserved . CALL CONTROLE Data: 07/11/00 Versão: 3.1 Arquivo: pro1_13.2 Conhecimento em Automação Training Center Absoluto Um endereço absoluto é um endereço específico na CPU (operandos formais), por exemplo, entrada I1.0. Neste caso, não é necessário editar uma lista de simbólicos, porém o programa é mais difícil de entender. Simbólico O endereçamento simbólico torna possível trabalhar com símbolos tais como MOTOR_LIGA, ao invés do endereçamento absoluto. Os símbolos para entradas, saídas, temporizadores, contadores, memory markers e blocos são arquivados na lista de simbólicos. Neste caso, os símbolos são também chamados de símbolos globais porque o acesso é possível por todos os blocos. Em oposição ao símbolos globais, SENAI - SIEMENS - VW 225 Programação básica existe também os simbólicos de bloco (locais), os quais são válidos somente no próprio bloco. Os simbólicos de bloco são definidos na parte de declaração do bloco. Symbol Editor A lista de simbólicos para os Símbolos Globais é criado com a ferramenta Symbol Editor. As outras ferramentas do STEP7, tais como Editor de Programas ou S7 Status, também tem condição de acessar a lista de simbólicos para exibir os endereços simbólicos. 226 SENAI - SIEMENS - VW Programação básica Endereçamento Simbólico - Características Quais Símbolos Existem? Onde são arquivados? Qual a ferramenta para gerar ? Dados Globais: - Entradas - Saídas - Memory markers - Temporizadores - Contadores lista de simbólicos Editor de Símbolos Dados de Blocos: - Parâmetros do Bloco - Dados locais/temporários Parte simbólica do bloco Editor de Programa (Parte de declarações) Labels para saltos (jumps ) Parte de comentários do bloco Editor de Programas (Parte de declarações) (global) Tipos de dados(UDT) Arquivo de programa Editor de Programa Nomes de blocos: - OB - FB - FC - DB lista de simbólicos Editor de Símbolos Dados em bloco de dados Parte simbólica do DB Editor de Programa SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_13.3 Conhecimento em Automação Training Center Características O endereçamento simbólico torna possível uma leitura clara e fácil do programa. Todos as variáveis, blocos, tipos de dados, etc., podem ser nomeados simbolicamente. O nome simbólico pode ter até 24 caracteres, e até 80 caracteres de comentários. A seção de simbólicos e comentários são arquivadas no terminal de programação. A lista de simbólicos é localizada como o objeto “Symbol table” na pasta de programa S7 pertinente. SENAI - SIEMENS - VW 227 Programação básica Usando os Símbolos Globais Você pode definir como símbolos globais: entradas, saídas, memory markers e blocos. Os seguintes endereços são permitidos: Sinais I/Q (Imagem de processo) I, Q Periferia inputs/outputs PI, PQ Memory markers M Temporizadores, contadores T, C Blocos de Códigos FB, FC, SFB, SFC, OB, SDB Blocos de dados DB Tipos de dados definidos pelo usuário. Tabela de variáveis UDT 228 VAT SENAI - SIEMENS - VW Programação básica Endereçamento Simbólico - Lista de Simbólicos Exemplo de uma lista de simbólicos: Nome do Símbolo Endereço Comentário do Símbolo (1 até 24 caracteres) (14 caracteres) (1...80 caracteres) Intertrav_1 Intertrav_2 Intertrav_3 Intertrav_4 Intertrav_5 Intertrav_6 Valores Motor_1 Controle I 1.1 I 1.2 I 1.3 I 1.4 I 1.5 I 1.6 DB 100 DB 1 FB 1 Intertravamento para Motor_1 Intertravamento para Motor_2 Intertravamento para Motor_3 Intertravamento para Motor_4 Intertravamento para Motor_5 Intertravamento para Motor_6 Bloco de dados globais Bloco de dados Instance Bloco de função SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_13.4 Conhecimento em Automação Training Center Symbol List A lista de simbólicos é uma base de dados comum na qual as relações entre nomes simbólicos e nomes absolutos são definidas. Todas as ferramentas S7 podem acessar a lista de simbólicos (Editor LAD/STL/FBD, Tabela de Variáveis, etc.). Simbólicos Globais A declaração de simbólicos globais pode ser acessada por todos os componentes do programa. Os simbólicos têm que ser criados na lista de simbólicos antes de serem acessados por sua aplicação. É possível porém durante a edição do programa, direto no editor de programas, criar nomes simbólicos. SENAI - SIEMENS - VW 229 Programação básica Simbólicos Locais Os simbólicos locais são declarados na parte de declaração do bloco. Estes nomes simbólicos são somente válidos no próprio bloco onde foram gerados, sendo parte da memória local. O mesmo nome simbólico pode ser usado várias vezes em diferentes blocos, porque são válidos somente nos blocos pertinentes. Simbólicos locais podem ser definidos para parâmetros de blocos, variáveis locais e labels de saltos (jumps). Este método não necessita de uma lista de simbólicos. Notação Nome simbólico global - “nome_simbólico” Nome simbólico local - #nome_simbólico (quando usado em varáveis locais) 230 SENAI - SIEMENS - VW Programação básica Editor de Simbólicos - Iniciando SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_13.5 Siemens AG 1995. All rights reserved . Conhecimento em Automação Training Center Quando você criar um novo programa S7, o ícone da lista de simbólicos é automaticamente criado. Iniciando o Editor de Simbólicos O Editor de Simbólicos é iniciado no SIMATIC Manager usando um double-click noobjeto da lista de simbólicos, ou do Editor de Programas usando comando de menu Options ⇒Symbol Table Digitando uma Lista Simbólicos Comece com o campo Symbol e com a tecla TAB salte para o próximo campo. Você pode pode deixar o campo Data Type em branco, o tipo de dados é automaticamente preenchido. SENAI - SIEMENS - VW 231 Programação básica Editor de Simbólicos - Editando SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_13.6 Conhecimento em Automação Training Center Introdução Na figura acima temos a ferramenta Symbol Editor com uma lista de simbólicos do transportador. Unique/Non-Unique Os símbolos usados no programa devem ser únicos, isto é, o endereço simbólico ou absoluto pode estar presente na lista de simbólicos uma única vez. Se vários endereços simbólicos ou absolutos iguais estão presentes na lista de simbólicos, eles são exibidos em View ⇒ All destacadamente (Ver linhas 3 e 4 na figura). Para poder localizar tais símbolos ambíguos mais facilmente em lista de simbólicos grandes, você pode exibir estes simbólicos usando o menu de comando View ⇒ Filter ⇒ Symbol Status ⇒ Non-Unique 232 SENAI - SIEMENS - VW Programação básica Import/Export É possível também importar/exportar de/para arquivos texto a lista de simbólicos em diferentes formatos DIF, SDF, ASC e SEQ. Isto possibilita transferir a lista de designações ou a lista de simbólicos já gerados de outros aplicativos. Uma vez gerados, você pode então usar a lista de simbólicos em outro editor. Atributos Os atributos são designados, na ordem reversa dos dados, por exemplo, para uma interface do sistema operação. Os atributos têm os seguintes significados: - O: Controle de operação e monitoração com WinCC - M: Propriedades de mensagens - C: Propriedades de comunicação SENAI - SIEMENS - VW 233 Programação básica Exibindo Símbolos em Blocos ou Status SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_13.7 Conhecimento em Automação Training Center Program Editor Pode-se selecionar quais informações quer se visualizar no Editor de Programas. A representação simbólica ou endereço absoluto podem ser selecionados. Para escolher entre estes dois, selecione no menu do Editor de Programa View ⇒ Symbolic Representation. Para ver o endereçamento absoluto e as informações dos símbolos ao mesmo tempo, ativar no comando de menu View ⇒ Symbol Information. Como se vê na figura acima, uma janela adicional com a informação dos símbolos é inserida abaixo do segmento na linguagem LAD/FBD. No modo STL, as designações estão a direita das instruções. 234 SENAI - SIEMENS - VW Programação básica Para adicionar novos nomes simbólicos durante a edição de um programa, coloque o cursor no endereço e selecione no comando de menu Options ⇒ Edit Symbols ⇒ Object Properties e complete os nomes dos simbólicos. Status Como no Editor de Programa, símbolos e comentários dos símbolos podem também ser exibidos com a ferramenta Monitor/Modify Variable. (veja a parte inferior da figura acima). SENAI - SIEMENS - VW 235 Programação básica Descompilação de Programas Símbolos Perdidos Representação Substituta lista de simbólicos Endereço ao invés de símbolos para dados globais, ex.: I 1.0 Parte simbólica do DB Endereço ao invés de símbolos para componentes de DB ex.: DW 1 Parte simbólica do FB Endereço ao invés de símbolos para blocos locais e blocos de dados temporários, ex.: LB 17 Substitui simbólicos ao invés de parâmetros de símbolos, ex.: PAR 1 Parte de comentários do FB SIMATIC S7 Siemens AG 1995. All rights reserved . Substitui simbólicos ao invés de símbolos para labels de laço. ex.: M 001 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_13.8 Conhecimento em Automação Training Center Descompilação do Programa Se a lista de simbólicos é perdida, o programa não pode ser completamente descompilado. Similar ao STEP 5, os endereços então são representados com seus valores absolutos. Isto é verdade para entradas, saídas, memory markers, temporizadores e contadores bem como para componentes de DB (ex.: palavra de dados). Existem também símbolos substitutos para labels de laços, ex.: M001. Existem simbólicos substitutos também para variáveis locais, por ex.: LB 17, Parâmetros de blocos também utilizam simbólicos substitutos, tais como Par 1, Par 2, etc. 236 SENAI - SIEMENS - VW Programação básica Simbólicos Os simbólicos e comentários são arquivados no harddisk do terminal de programação. Nota Em desenvolvimentos futuros, será possível arquivar os símbolos e os comentários na memória de carga das CPU’s. SENAI - SIEMENS - VW 237 Programação básica Importação e Exportação da lista de simbólicos SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_13.9 Conhecimento em Automação Training Center As listas de símbolos podem ser transferidas para outro projeto com o Export e Import do Editor de Símbolos. Também podem ser exportada para outro aplicativo, como por exemplo um sistema CAD. Exportando O procedimento de exportação é descrito abaixo. Passos 238 Procedimento 1 Abrir a lista de símbolos que você deseja exportar. Ativar o comando de menu Symbol Table ⇒ Export. 2 Setar o formato para o qual você deseja exportar os dados (DIF, ASCII, SDF, SEQ). 3 Na janela de seleção de arquivo, selecionar o diretório de destino e digitar o nome, tal como EXPORTZO.SEQ. SENAI - SIEMENS - VW Programação básica Importando Lista de simbólicos geradas com outra ferramenta, tais como editor de texto, EXCEL ou STEP 5 podem ser lidas e processadas com a função de importação. Formato de Arquivos Os seguintes formatos podem ser usados para exportação e importação: - Formato DIF - Formato ASCII - Formato SDF - Formato SEQ (lista de designação do STEP 5) Uma descrição dos vários formatos de arquivos encontram-se no HELP on-line. SENAI - SIEMENS - VW 239 Programação básica Importando do EXCEL SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_13.10 Conhecimento em Automação Training Center Tabela do Excel Criar uma tabela do EXCEL com quatro colunas nesta seqüência: symbol, address, data type e comment. Não é obrigatório preencher a coluna com o tipo de dados (o Editor de Símbolos irá reconhecer a designação do endereço e usar o tipo de dados default baseado no endereço.) Salvando Salvar a tabela do EXCEL no formato DIF( o EXCEL não usa outro formato do Editor de Símbolos). Importando O arquivo DIF, como outro formato ASC, SEQ e SDF, pode ser importado com o Editor de Símbolos. 240 SENAI - SIEMENS - VW Programação básica Através da função de importação, é gerada uma tabela de símbolos nova ou os dados importados são inseridos em uma tabela de símbolos existente. Exportando Uma tabela de símbolos existente também pode ser copiada de um projeto para outro projeto pela função de exportação. Uma tabela já existente pode também ser exportada para outro sistema como o EXCEL. SENAI - SIEMENS - VW 241 Programação básica Exercício 13.1: Usando o Editor de Símbolos SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_13.11 Conhecimento em Automação Training Center Com o S7 Symbol Editor, pode-se de forma simples, designar nomes claros para endereços absolutos no seu programa. Objetivo Criar uma lista de símbolos que mostre a primeira parte da aplicação de carimbar. Procedimento Planeje uma lista de símbolos para a aplicação. 1. Selecione a pasta de programa MAQ_CARIMBAR. 2. Selecione na barra de ferramentas Options ⇒ Symbol Table. 3. Crie a lista de símbolos feche/salve-a. 4. Edite um bloco de programa. 242 SENAI - SIEMENS - VW Programação básica 5. Ative no menu de comando View -⇒ Symbolic Representation para exibir a designação simbólica dos endereços no seu programa. Resultado Somente os nomes simbólicos são exibidos em todas as operações e endereços do programa. Você pode voltar para o endereçamento absoluto clicando novamente em Symbolic Representation no menu. SENAI - SIEMENS - VW 243 Programação básica 244 SENAI - SIEMENS - VW Programação básica Blocos de dados e de funções Tipos de Bloco de Dados 8 bits Global(compartilhado) Byte dados 0 O tamanho máximo do bloco para CPU 314 é 8KB e para a CPU 400 é 64kB A quantidade de memória disponível para um bloco de dados depende da CPU Instance SIMATIC S7 Byte Dado 8191 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_14.2 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . DB Existe uma área dentro da CPU que o usuário pode acessar livremente para armazenamento de dados. Esta área, orientada a byte, é denominada pelo usuário como Blocos de Dados (DB), devendo ser criada pelo usuário para se poder acessá-la. Em contraste com os dados na área local (variáveis temporárias), os dados no DB não são perdidos quando o DB é fechado, ou quando o processamento do bloco terminou. Existe dois tipos diferentes de Blocos de Dados, cada um servindo a um propósito diferente dependendo de sua relação ao bloco de programa. SENAI - SIEMENS - VW 245 Programação básica Global DB (compartilhados) Blocos de Dados Globais podem ser acessados por qualquer bloco de programa. Todos os tipos de blocos, FB’s, FC’s e OB’s, podem ler e escrever dados nos DB’s Globais. Antes de ter acesso aos dados, o bloco DB deverá ser aberto. Os dados contidos em um DB, são mantidos mesmo depois que o bloco seja fechado. Instance DB (associado a FB) Um bloco Instance-DB é um bloco associado a um bloco de função (FB). Os dados arquivados neste bloco de dados podem ser lidos e escritos, a princípio, somente pelo bloco de funções associado. A área de dados de um bloco Instance-DB é alocada (e definida) a partir da tabela de declarações do FB. Os dados arquivados não são deletados quando o bloco é fechado (diferente dos dados locais de um FC ou de um FB que são deletados quando o bloco é fechado). Se um FB é chamado em um programa várias vezes, a cada chamada pode (deve) ser associado um diferente bloco Instance-DB. 246 SENAI - SIEMENS - VW Programação básica Criando Bloco de Dados SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_14.3 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Introdução A criação de um bloco DB obedece as mesmas regras que para a criação de um bloco de programa, sendo que é utilizado o mesmo editor de programas (LAD/STL/FBD) para a edição. Criando um novo DB Utilize o mesmo método para criar o DB que foi utilizado para criar um bloco de programa (por ex. botão direito mouse -> Insert New Objetct -> DB block) SENAI - SIEMENS - VW 247 Programação básica Ao se iniciar a edição de um novo DB, o sistema através de uma nova caixa de dialógo solicitará a escolha do tipo de DB a ser criado (ver figura anterior): - Data Block: este o tipo DB global, ou seja, DB acessado por todo e qualquer bloco de programa. - Data Block Referencing UDT: este é um DB também do tipo global, cuja a edição dos seus elementos é feita através de um UDT (User Defined Data Type), que será explicado a frente. - Data Block Referencing FB: este é um instance DB. isto é, um DB a ser utilizado associado à um FB específico. Este DB só pode ser criado depois de definido o FB. DB existente Se o DB já foi editado anteriormente, utilize para acessá-lo o mesmo método utilizado para acessar qualquer bloco de programa (por ex. um click-duplo sobre seu ícone). Para DB’s existentes não aparece a caixa de seleção do tipo de DB, pois seu tipo já foi definido anteriormente. 248 SENAI - SIEMENS - VW Programação básica Editando Bloco de Dados Endereço de memória local Nome Tipo de dados SIMATIC S7 Valor Inicial Comentários Data: 07/11/00 Versão: 3.1 Arquivo: pro1_14.4 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Introdução O bloco de dados é uma área da memória da CPU, orientada a byte, disponível para armazenamento de dados. Apesar de orientada à byte, esta área pode e deve ser definida pelo usuário livremente, já que não existe formato de dados pré-definidos para ela (na verdade existe, porém o usuário pode modificá-la). A definição desta área visa a facilitar a manipulação dos dados no programa. Assim, se o usuário precisa definir bits (variáveis boolenas) para utilizar na sua lógica, declara a variável como BOOL. Se por outro lado, necessita variáveis para cálculos, deve definir a variável como REAL. SENAI - SIEMENS - VW 249 Programação básica Endereço As variáveis contidas no DB são acessadas preferencialmente pelo seu nome simbólico. Apesar disto todas possuem um endereço de sua localização dentro do bloco e permitem, caso se deseja, que sejam acessadas por este endereço. Os endereços são do tipo BYTE.BIT, mesmo para as variáveis definidas como byte, word, dword, etc. Este endereços são definidos automaticamente pelo sistema logo após a edição da variável (nome e tipo da variável). Nome É o nome simbólico alfanumérico da variável. Na maioria dos casos a variável será acessada no programa por este nome simbólico. Tipo de Dado É o tipo de dados da variável (individual). A definição do tipo deve levar em conta a sua utilização dentro do programa. Exemplo: BOOL(booleana ou bit). Valor Inicial Campo opcional onde se especifica o valor inicial da a variável. O valor default para todas os tipos de variáveis é zero. Comentário Campo opcional para comentário/descrição das variáveis. Dica Note durante a edição, que o tipo de dado influencia a ocupação do DB. Assim variáveis tipo WORD iniciam-se sempre no endereço par. Caso exista um byte impar livre, este byte será deixado vazio, ocupando-se desnecessariamente a memória da CPU. 250 SENAI - SIEMENS - VW Programação básica Tipos de Dados Elementares para SIMATIC S7 Tipo Tamanho(em BIT) Exemplo BOOL BYTE WORD 1 8 16 1 or 0 16#A9 16#12AF DWORD CHAR STRING * S5TIME 32 16#ADAC1EF5 8 'w' >=16, 8*(No.de caracteres) 'Isto é uma String' 16 S5T#5s_200ms INT DINT REAL 16 32 32 123 65539 1.2 or 34.5E-12 TIME DATE TIME_OF_DAY 32 16 32 T#2D_1H_3M_45S_12_MS D#1993-01-20 TOD#12:23:45.12 64 DT#1993-09-25:12.29.13 DATE_AND_TIME * * Tipo de estrutura de dados SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_14.5 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Formato Cada variável tem seu próprio formato, indicando o modo com o qual o programa irá acessá-lo. A estrutura dos bits e seu comprimento são definidos pela designação dos tipos de dados. É importante conhecer os vários tipos de dados, porque algumas instruções requerem tipos de dados específicos. Isto é particularmente importante para instruções LAD/FBD, porque o Editor confere os tipos de dados quando você endereça individualmente os elementos. Tipos de Dados Os tipos de dados pertencem a uma das seguintes categorias: - dados básicos ou elementares: estruturas de dados menores que 32 bits, que têm definições de acordo com IEC 1131-3 SENAI - SIEMENS - VW 251 Programação básica - dados complexos: estruturas ou campos que são maiores que 32 bits ou outros tipos de dados - parâmetros: blocos de parâmetros usados para FBs ou FCs 252 SENAI - SIEMENS - VW Programação básica Acesso aos Elementos de Bloco de Dados FBD LAD Abrir Bloco de Dados Abrir Bloco de Dados STL Abrir Bloco de Dados OPN DB10 Acessar os Dados Acessar os Dados Acessar os Dados L T Abrir o Bloco e Acessar os dados Abrir o Bloco e Acessar os dados SIMATIC S7 DBW2 MW40 Abrir o Bloco e Acessar os dados Data: 07/11/00 Versão: 3.1 Arquivo: pro1_14.6 L T DB10.DBW2 MW40 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Abrir DB Antes que os dados de um bloco possam ser acessados é necessário que o DB seja aberto. Isto é feito através da OPN DB. Se outro bloco de dados global já estiver aberto, este é automaticamente fechado. O bloco de dados Instance, associado à um FB, é automaticamente aberto pelo sistema. Acesso ao DB A figura mostra como acessar os dados de um DB. As instruções utilizadas são as mesmas utilizadas com qualquer outro operando. Por exemplo: L DBB3 Ler o byte 3 do DB T DBW12 Transferir o conteúdo do acumulador para a palavra 12 do DB A DBX4.5 Fazer a lógica AND com o bit 5 do byte 4 do DB SENAI - SIEMENS - VW 253 Programação básica Pode-se também acessar os dados dentro de um DB, através do chamado “caminho completo”. O caminho completo é: nome-do-db.dado Deste modo, na própria instrução é feita a abertura do DB e o acesso ao dado. Esta maneira de acesso é própria para evitar erros de programação e facilita a documentação. Acesso Simbólico A maneira ideal porém de acessar os dados de DB é a maneira simbólica. Na definição das variáveis no DB já foi utilizado um nome simbólico. Assim faz sentido utilizar no programa este nome, pois ajuda o seu entendimento. Para utilizar o acesso simbólico, deve-se usar obrigatoriamente o caminho completo. O caminho completo na forma simbólica exige que um nome simbólico tenha sido definido para o DB (na tabela de simbólico). Exemplo: L RECEITA.ARROZ (DB10.DBW12) 254 SENAI - SIEMENS - VW Programação básica Tipos de Dados Estruturados e Campos Estrutura: Campo: COMPONENTES GEOMÉTRICOS SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_14.7 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Dados Complexos Dados complexos são dados maiores que 32 bits ou um conjunto de dados agrupados em uma estrutura. Os tipos de dados podem ser: - DATE_AND_TIME - STRING - ARRAY - STRUCT (estrutura) Estrutura Estrutura é um conjunto de dados elementares ou estruturados. Isto resulta em um único tipo que pode conter grande quantidade de dados com uma única unidade. Esta estrutura pode então ser simbolicamente acessada. SENAI - SIEMENS - VW 255 Programação básica Uma estrutura pode servir para a criação de um conjunto de dados a ser utilizados em vários blocos (DB, FC) no programa. Campos/Matriz É um conjunto de elementos do mesmo tipo de dados. Exemplo: Aux: ARRAY[1...10] de BOOL; representa um flag de memória auxiliar que consiste de 10 bits. Também podem ser estruturados os elementos de dados de um campo que o usuário já tenha definido.(ver exemplo: GEO_COMPONENTS). Elementos de um campo pode também consistir de tipos de dados cujos elementos também sejam campos. Este tipo de campo gera um sistema de matriz, possível até dimensão 16. Data View Durante a edição de um DB, pode-se definir valores iniciais para as variáveis. Entretanto para facilitar a edição só é permitido a edição do valor inicial do primeiro campo/matriz. Para editar os outros campos utiliza-se o modo Data View. Para acessálo View -> Data View. 256 SENAI - SIEMENS - VW Programação básica Exercício 14.1: Back-Up dos Dados Bloco de Dados DB5 Peças altas (MW 100) Variável:peças_altas Peças baixas (MW102) Variável: peças_baixas Variável: total Total (MW 104) SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_14.8 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Objetivo No Exercício 9.2, os dados de produção foram salvos em palavras de memória. As palavras de memória usadas porém não são retentivas. Isto é, os dados de produção irão ser perdidos com um completo restart. Para evitar isso, os dados de produção devem ser arquivados em um bloco de dados. Procedimento 1. Criar o bloco de dados DB 5 com o tipo de dados “int” para as variáveis especificadas. 2. Criar um FC 23 para salvar ciclicamente os dados de produção no DB 5. SENAI - SIEMENS - VW 257 Programação básica 3. Testar sua solução no dispositivo de treinamento. Resultado Verifique através da Monitor/Modify Variable o conteúdo do DB5. 258 SENAI - SIEMENS - VW Programação básica Blocos de Funções (FB) Um Bloco de Função (FB) tem uma memória adicional associada a ele. Esta “memória” é um Bloco de Dados (DB), denominado Instance DB, que mantém uma cópia dos parâmetros passados para o bloco quando da sua chamada. Após a execução do FB, a área local de memória é limpa, mas o DB associado retém estes valores. Cópia da parte de declaração local do FB DB10 Chamando o Bloco com parâmetros FB1 Área de Declarações Locais Exemplo: Seção de código do bloco chamado usando valores da área de memória local Call FB1,DB10 SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_14.9 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . FB Um bloco de função (FB) é um bloco lógico de programa que possui uma área de memória associada na forma de Bloco de Dados “instance”. Os parâmetros passados para a área de memória local também serão arquivados ao DB instance. Dados arquivados no DB são retidos depois do FB ter terminado a execução. O DB que é associado com um FB possui a mesma estrutura de dados da declaração de variáveis do bloco (exceto variáveis temporárias). Chamada do Bloco Sempre que um FB é chamado, deve-se indicar qual o DB (instance) será utilizado como “memória”. SENAI - SIEMENS - VW 259 Programação básica Instance DB x FB Normalmente diferentes chamadas de um FB no ciclo de programa tem um DB diferente associado, já que podem ser utilizadas variáveis internas (do tipo estáticas) recursivamente (armazenam valores de um ciclo para outro). n FB x 1 DB Se tomados os devidos cuidados (por ex. a não utilização de variáveis stat), é possível utilizar o mesmo DB para diferentes chamadas do FB. Neste caso, a cada chamada, os dados utilizados serão os do mesmo DB, funcionando o FB praticamente da mesma maneira que um FC. 260 SENAI - SIEMENS - VW Programação básica Dados em um DB Instance SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_14.10 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Dados DB Instance Os dados do DB instance são uma cópia exata das variáveis declaradas na tabela de declarações (exceção variável temp) do FB associado. Ao se criar um Instance DB o sistema automaticamente organiza estes dados. Não se edita variáveis/dados diretamente no DB. Criação DB Instance Existem duas maneiras de se criar um Instance DB: - ao se criar um novo bloco DB, na caixa de diálogo informar DB Referencing a FB, e selecionar o FB da lista mostrada. - durante a edição do programa, ao se chamar um FB (instrução Call), deve-se obrigatoriamente indicar o DB associado. O sistema checa se o DB existe (e se foi criado como DB Instance deste FB) e cria-o se necessário. SENAI - SIEMENS - VW 261 Programação básica Importante: Só é possível se criar um DB Instance após a criação do respectivo FB. Acesso ao Dados A utilização de um Instance DB associado ao FB é transparente para o programador. Isto significa que o acesso aos dados do DB não exige por parte do usuário qualquer instrução especial. A programação é feita simbolicamente da mesma maneira que para as variáveis locais ou parâmetros de um FC. O Sistema Operacional se encarrega de ler/transferir dados de/para o DB Instance. Registrador DI Apesar de não necessário, pode-se acessar excepcionalmente os dados em um DB Instance ou em um 2° DB normal, já que existe um segundo registrador de bloco de dados (o 1° registrador é denominado DB). Isto permite, por ex., ter dois blocos de dados abertos ao mesmo tempo. Ao se abrir um bloco de dados no registrador que está ocupado, o bloco anterior é fechado. Exemplo: Registrador DB Registrador DI DB12 DB4 OPN DI4∗ L DIW10 OPN DB12 T DBW22 Observação Quando um FB é chamado, o sistema automaticamente carrega o registrador DI com o número do DB associado. ∗ Caminho completo: L DI4.DIW10 e T DB12.DBW22 262 SENAI - SIEMENS - VW Programação básica Criando um DB Instance SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_14.11 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Criação DB Instance Existem duas maneiras de se criar um Instance DB: - durante a edição do programa, ao se chamar um FB (instrução Call), deve-se obrigatoriamente indicar o DB associado. O sistema checa se o DB existe (e se foi criado como DB Instance deste FB) e cria-o se necessário. - ao se criar um novo bloco DB, na caixa de diálogo informar DB Referencing a FB, e selecionar o FB da lista mostrada. SENAI - SIEMENS - VW 263 Programação básica Importante: Só é possível se criar um DB Instance após a criação do respectivo FB. 264 SENAI - SIEMENS - VW Programação básica Exercício 14.2: Chamando um Bloco de Função com DB Instance Passo Procedimento 1 No projeto PRO_1, pasta FUNCOES, criar o FB1 e por este FB atuar o valor de saída QB 5. 2 Chamar o FB1 no OB1 com a condição abaixo. 3 Checar se os dados foram arquivados corretamente no DB. SIMATIC S7 listada Data: 07/11/00 Versão: 3.1 Arquivo: pro1_14.12 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Objetivo Familiarizar-se com a chamada de um FB (com DB instance) Procedimento 1. Declarar as seguintes variáveis na tabela de variáveis do FB: - in in_1 byte - out out_1 byte 2. Chamar o FB1 no OB1 com as seguintes condições: - quando no IW0, um valor menor que 16#F é setado, então este valor é enviado para o DB20 instance via FB1 - com valores >=16#F, este valor é enviado para o DB30 instance via FB1 SENAI - SIEMENS - VW 265 Programação básica - envie estes valores como número BCD para QB7 Resultado Verifique o resultado diretamente no DB. 266 SENAI - SIEMENS - VW Programação básica Múltiplo Instance DB Normal DB Instance OB 1 DB 5 DB 10 FB 5 FB 10 DB 21 FB 11 ... Múltiplo DB Instance FB 10 DB 5 OB 1 FB 5 ... SIMATIC S7 FB 11 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_14.13 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Modelo Instance Normalmente se utiliza para cada chamada de um FB um DB instance. Especialmente para pequenas CPU’s, onde a memória de trabalho é pequena e o número de DB disponíveis é limitado, isto pode trazer problemas. Múltiplo Instance No modo múltiplo instance é possível utilizar um único DB para várias chamadas de FB, inclusive de FB’s diferentes. Assim economiza-se espaço na memória, números de DB, sem perder todas as facilidades que um DB instance oferece (uso de variáveis estáticas). SENAI - SIEMENS - VW 267 Programação básica FB Gerenciador A utilização de um múltiplo Instance pressupõe o uso de um FB gerenciador, isto é, um FB ao qual o DB múltiplo instance está associado, que controla as chamadas dos outros FB’s. No exemplo acima o FB gerenciador é o FB5 e o DB múltiplo instance é o DB5, que serve também para os FB’s 10 e 11. 268 SENAI - SIEMENS - VW Programação básica Múltiplo Instance DB - Programação FB Gerenciador Tabela de declaração FB10 Tabela de declaração FB11 Chamada do FB Gerenciador SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_14.14 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Programação Os FB’s chamados são programados normalmente. O FB gerenciador por sua vez terá na sua tabela de declarações como variáveis estáticas os FB chamados. Estes FB’s são por sua vez chamados no programa do FB gerenciador pelo seu nome simbólico (nome declarado na variável estática) e tem seus parâmetros preenchidos normalmente. A chamada do FB gerenciador é feito no programa principal (por ex. OB1) e indicado o DB associado, que será um DB múltiplo instance. O FB gerenciador pode ou não ter seus próprios parâmetros. SENAI - SIEMENS - VW 269 Programação básica DB Múltiplo Instance O DB criado como múltiplo instance contém todos os parâmetros de todos os FB’s associados. As variáveis dos diversos FB’s são identificadas pelo nome simbólico do FB, definido no FB gerenciador, mais o nome do parâmetro. 270 SENAI - SIEMENS - VW Programação básica User-Defined Data Type (UDT) SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_14.15 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . UDT User Defined Data Type - Tipo de Dados Definidos pelo Usuário, é uma alternativa para a criação de uma estrutura de dados, que pode ser utilizada como uma espécie de formulário de dados. Este ‘formulário” pode, entre outras possibilidades, ser utilizado para criar diversos DB’s com os mesmos tipos de dados. Por ex.: criar 10 DB’s de receita. Criando um UDT A criação de um UDT é feita da mesma maneira que qualquer outro tipo de bloco. Por ex. Insert New Object ==> User define Data Type. SENAI - SIEMENS - VW 271 Programação básica Editando um UDT A edição do UDT é exatamente igual à edição de um DB global. Não existe nenhuma diferença, a não ser que não é possível editar um UDT direto na CPU nem transferi-lo para a CPU, já que o UDT não passa de uma máscara de dados, não existindo propriamente dito. Utilizando o UDT Sendo somente uma máscara, a UDT não existe como área de memória de programa. A UDT só é útil quando utilizada para criar variáveis a partir dela. A utilização de um UDT para a criação de um DB é feita quando se cria um novo DB, selecionando-se na caixa de diálogo do tipo de DB a função DB Referencing a User Definded Data Type e selecionando-se então o UDT da lista mostrada. É possível ainda utilizar a UDT como parte dos dados de um DB, ou de um outro bloco (OB, FC ou FB). Basta declarar na tabela de declarações uma nova variável e o tipo de dados como UDT. Neste caso a variável será acessada com o nome da variável + nome da variável da UDT. 272 SENAI - SIEMENS - VW Programação básica Processamento de palavra analógica Conversão de Sinais Analógicos Módulo de Entrada Analógica Quando um módulo de entrada analógica recebe sinal de tensão ou corrente do campo, o módulo converte o sinal para valor binário (A->D) que pode ser acessado pelo programa na CPU pelo P bus. Valor após a conversão A -> D 1000 L 0 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 PIW352 = +10960 0L SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_15.2 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Sinal Analógico Quando o dispositivo de medição não usa sinal on/off mas de tensão ou corrente (valores entre baixo ou alto) um módulo de entrada analógico é necessário. O módulo de entrada analógico é conectado aos sensores no campo e condiciona a medição para valores binários de tal forma que a CPU possa entender. Isto é chamado de conversão analógica para digital (A Processamento de palavra analógica D). Os valores digitalizados são então usados para comparações, controle e outras tarefas no programa. Faixa de Conversão SENAI - SIEMENS - VW 273 Programação básica A conversão AProcessamento de palavra analógicaD produz um número de +27648 a 27648. Isto representa uma palavra binária de 16 bits com o bit mais significativo (mais a esquerda) usado para determinar se o valor é positivo ou negativo. Se o MSB é igual a 0, o valor é positivo; se o MSB é igual a 1, o valor é negativo. 274 SENAI - SIEMENS - VW Programação básica Representação de Valores Analógicos Representação de valores digitalizados em vários tipos de dados SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_15.3 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Formato Como mostrado na tabela de valores acima, os valores analógicos podem ser representados e usados em mais que um formato de número. A tabela mostra a faixa de valores em decimal (inteiro) ou hexadecimal. Usando a função Monitor Variable, pode-se ver a conversão de “int” e “hex”. E mais, pela exibição da representação binária (“bin”), você pode ver o valor de uma palavra digitalizada. Resolução Módulos analógicos têm especificações de resolução: valor lido X representação. Esta resolução corresponde à quantidade de bits de dados usados na palavra binária de 16 bits representada no valor analógico. Se a resolução tem menos que 15 bits, os dados SENAI - SIEMENS - VW 275 Programação básica analógicos são alinhados a esquerda. Os bits menos significativos não usadas são preenchidos com zeros. A posição mais a esquerda, o MSB, é a que representa o sinal; 0 significa valor positivo, 1 significa valor negativo. A tabela abaixo mostra exemplo de bits padrões para diferentes resoluções. Tipo de Valor Analógico Numero do bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 valor analógico 15-bit 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 Valor analógico 12-bit 0 1 0 0 0 1 1 1 0 0 1 1 1 0 0 0 valor analógico 8-bit 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 276 SENAI - SIEMENS - VW Programação básica Processamento de Valores Analógicos O P bus (barramento de periferia) permite acessar diretamente valores analógicos como entradas do campo ou como saídas para o campo. O P bus pode ser acessado no formatos de byte, word e double-word. SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_15.4 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . O endereçamento analógico não compartilha o mesmo registro que o módulo de sinal digital, isto é os sinais analógicos no S7-300/400 não são atualizados a cada scan. Os dados de entrada são atualizados pela simples leitura dos endereços de entrada (PIW) com o seu programa, ou escritos na saídas com PQW. Quando o programa executa uma instrução usando um endereço analógico (por exemplo, PIW352), os dados são lidos diretamente do barramento de periferia, ou P bus. Cada valor analógico é composto de 2 bytes, então os endereços analógicos usados em seu programa devem consistir de todos os números para corrigir o problema de sobrescrever dados. SENAI - SIEMENS - VW 277 Programação básica Exemplo: Para ler um valor de uma entrada analógica e transferir o valor para uma word de memória faça : STL: LAD: L PIW354 T MW30 Exemplo: Para enviar um valor para uma saída analógica de uma word de memória faça: STL: LAD: L MW40 T PQW368 278 SENAI - SIEMENS - VW Programação básica Ajustando Valores Analógicos 10 V 0V 0l SIMATIC S7 500 l Data: 07/11/00 Versão: 3.1 Arquivo: pro1_15.5 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Introdução O nível do tanque é medido em litros. O transdutor de medição foi selecionado de tal forma que para 500 litros um valor analógico de 10 V seja fornecido. Em 10 V, o módulo fornece o valor inteiro 27648. Este valor deverá ser convertido agora para dimensões reais (exemplo, litros). Este procedimento é também chamado de Conversão em Valores de Engenharia. Programa No segmento 1, o valor analógico do módulo é lido e temporariamente armazenado na word de memória MW100. SENAI - SIEMENS - VW 279 Programação básica No segmento 2, o ajuste de valores analógicos é executado pelo FC 105. O FC 105 está disponível na biblioteca do Software STEP 7 (FBLib2). O valor analógico é passado como um número inteiro para a entrada IN. O limite para a conversão em dimensões reais é especificado pela entrada LO_LIM (valor do limite inferior). Portanto, entre 0 e 500 litros a conversão no exemplo. O valor ajustado (dimensões reais) está disponível na saída OUT como um número real. A saída BIPOLAR determina se valores negativos vão ser convertidos corretamente. No exemplo, a memória (memory marker) M0.0 fornece o sinal “0” e determina que está sendo utilizada uma entrada unipolar. A saída RET_VAL fornece um valor de 0 quando a execução está livre de erros. 280 SENAI - SIEMENS - VW Programação básica Exercício 15.1: Monitorando o Nível do Tanque com Valores Analógicos Tanque 1 Q4.2 Tanque 2 Q4.3 Tanque 3 Q4.4 Tanque 5 Compartimento de armazenamento Transmisor de nível LT Q4.1 Tanque 5 Bomba de dreno PIW304 SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_15.6 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Objetivo O tanque 5 representa o produto armazenado. A combinação dos ingredientes é carregada de tanques diferentes. O transmissor de nível (PIW304) monitora a altura atual do produto no tanque cilíndrico de 1000L. Se o nível passa abaixo do setpoint mínimo, é acionado o enchimento de todas as três válvulas. Se o nível ultrapassa o setpoint máximo, o ciclo de enchimento pára e a válvula de dreno deverá ser aberta. Você irá simular o nível do tanque pela entrada analógica PIW304 (valores de 0 a 27648). Monitorando e Controlando o Nível Mínimo. - no tanque de armazenamento, o nível mínimo exigido é 100L (10% do total). Se o nível cair abaixo de 100L, as válvulas de enchimento deverão ser abertas (Q4.2, Q4.3, Q4.4) e a bomba de dreno deverá ser fechada. SENAI - SIEMENS - VW 281 Programação básica Monitorando e Controlando o Nível Máximo. - o nível máximo definido para o tanque de armazenamento é 900L. Se o nível ultrapassar 900 L, o fluxo de produto para dentro do tanque deverá ser suspendido pelo fechamento das válvulas de enchimento, e deverá ser aberta a válvula de dreno (Q4.1) Procedimento 1. No projeto “Pro1” utilize a pasta de programa FUNCOES 2. Desenvolver a FC5 para monitorar e controlar o nível do tanque como descrito - carregar os setpoints de medição para comparação (nível baixo = 2764; nível alto = 24883) - o controlar as válvulas de enchimento e a bomba de dreno baseado nos valores medidos na PIW304 e o resultado da comparação no FC. 3. Testar sua solução no dispositivo de treinamento alterando o valor do sinal de entrada analógica e monitorar a ação do controle. 4. Para auxiliar a monitoração das variáveis, criar a VAT (tabela de variável) com as entradas e saídas, bem como os setpoints. 282 SENAI - SIEMENS - VW Programação básica Informações do Sistema S7 Informações do Sistema Função Informação Aplicação Memória Utilização atual da memória de trabalho e carga. Cheque se o programa pode ser transferido para a CPU. Características da CPU Lista todos os blocos permitidos na CPU (OBs,SFCs,SFBs). Determina quais os blocos são possíveis para esta CPU. Pilhas Exibe os registros no caso de erros. Recupera informações no caso de falha da CPU. Comunicação Desempenho dos dados de comunicação . Checar se ainda existe conexões livres Hora/Data Hora/Data do clock interno . Exibe a data/hora. Tempo de Ciclo Min., Max. e último tempo de ciclo. Ajuste do parâmetro tempo de monitoração. Buffer de Diagnóstico Exibindo os últimos 100 erros/ acontecimentos Encontra a localização e causa do erro. INFO_T1D SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_16.2 Siemens AG 1995. All rights reserved . Conhecimento em Automação Training Center Acesso Para ler as informações sobre a CPU, ativar o menu de comando PLC ⇒ Module information no SIMATIC Manager. Informações da CPU Na figura a seguir vê-se os dados gerais da CPU -314 do PLC S7-300. SENAI - SIEMENS - VW 283 Programação básica Note o item “Version”que informa qual a versão do módulo. 284 SENAI - SIEMENS - VW Programação básica Características da CPU SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_16.3 Conhecimento em Automação Training Center Dados sobre Performance As informações sobre Performance fornecem detalhes específicos sobre o funcionamento da CPU conectada ao PG/PC (informação on-line). Estas informações são acessadas na pasta Performance Data. Note porém que as informações indicam somente a capacidade máxima possível para a CPU, e não necessariamente a disponível no momento. Work Memory Capacidade da memória de trabalho existente na CPU. Lembre-se que esta é a memória onde o programa executável vai ser alocado. SENAI - SIEMENS - VW 285 Programação básica Integrated Load Memory Capacidade da memória de carga integrada (existente na CPU sem cartão adicional) na CPU. Max. Slot-in Load memory Capacidade de expansão da memória de carga através do uso de cartões F-RAM ou F-EPROM Addres Area Faixa de endereçamento possível para a CPU: entradas digitais, saídas digitais, memória (flags) temporizadores, contadores e dados locais. Blocks Informa o número e o tamanho máximo de blocos possíveis para a CPU. 286 SENAI - SIEMENS - VW Programação básica Ocupação da Memória INFO_T1D SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_16.4 Conhecimento em Automação Training Center Memory Esta pasta fornece informações sobre a ocupação da memória pelo programa do usuário. Work Memory Esta área da RAM é acessada durante a execução do programa do usuário. A memória de trabalho contém somente informações necessárias para o processamento do programa na CPU. A memória de trabalho é integrada na memória RAM da CPU, não podendo ser expandida. Esta memória é muito importante para a definição do tamanho máximo de programa executável. SENAI - SIEMENS - VW 287 Programação básica Load Memory A memória de carga é uma memória intermediária onde o programa é armazenado quando transferido para a CPU. Como esta memória possui não somente o programa executável, mas outras informações necessárias para a edição do programa (por ex., tipo de dados do DB) esta memória é sempre maior que a memória de trabalho. São apresentadas duas colunas de ocupação: uma referente à memória integrada à CPU e outra à memória adicional inserida (cartão F-EPROM). Comprimindo Pode-se eliminar espaços existentes na memória de trabalho utilizando o botão de comando “Compress”. Estes espaços originam-se de correções de programas na CPU. Isto é, porque blocos alterados são sempre inseridos no final da área memória, enquanto que os blocos antigos são declarados inválidos. A compressão da memória reloca a RAM para limpar os espaços feitos nesta fragmentação, e torna a RAM mais eficiente. 288 SENAI - SIEMENS - VW Programação básica Hora / Data no CLP INFO_T1D SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_16.5 Conhecimento em Automação Training Center Time System Esta pasta possui informações a respeito de data/hora e funções similares. Relógio de Tempo Real As CPU’s possuem um relógio de tempo real integrado (exceto CPU312) . Aqui podese ler a hora/data da CPU, além de informações sobre o sincronismo o relógio. Medidor de Tempo Decorrido Existe na CPU uma função de sistema (SFC) para medição de tempo decorrido de um evento (por ex. tempo de funcionamento de um motor). Caso utilizada, é possível acessar o tempo decorrido nesta pasta. SENAI - SIEMENS - VW 289 Programação básica Acertando o Relógio da CPU Para acertar o relógio da CPU, selecione no menu de comando PLC ⇒ Set Time and Date e digite os os novos valores no campo de diálogo. Pode-se também ler e acertar o relógio pelo próprio programa de usuário via funções do sistema (SFC). 290 SENAI - SIEMENS - VW Programação básica Tempo de Ciclo SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_16.6 Conhecimento em Automação Training Center Cycle time Tempo de ciclo é o tempo necessário para o programa realizar todo o ciclo de programa. Este tempo de ciclo leva em conta o tempo necessário para atualizar a imagem de entradas/saídas, para executar o programa do usuário e ainda eventualmente o tempo para funções de PG/PC. Tempos O tempo de ciclo é mostrado graficamente e numericamente. No gráfico vê-se o tempo gasto em relação ao máximo permitido, configurado pelo usuário (tempo de watchdog). No caso do S7-400 pode-se ainda visualizar o tempo mínimo de ciclo configurado. SENAI - SIEMENS - VW 291 Programação básica Vê-se na forma numérica: - menor tempo de ciclo desde que a CPU está rodando; - tempo de ciclo anterior a chamada da função; - maior tempo de ciclo desde que a CPU está rodando. Esta informação pode ser utilizada para verificar se o tempo de execução do programa de usuário está adequado à máquina/instalação. 292 SENAI - SIEMENS - VW Programação básica Exercício 16.1: Usando as Informações do S7 SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_16.7 Conhecimento em Automação Training Center Objetivo Familiarizar-se com o sistema de informações disponível e com as ferramentas de auxílio PLC ⇒ Module Information. Procedimento 1. Ativar a opção PLC Module Information no menu do SIMATIC Manager ou Editor LAD/STL/FBD. 2. Selecionar o catálogo/categoria desejado na barra de ferramentas. 3. Determinar o espaço que está disponível na memória de trabalho. 4. Visualizar o Diagnostic Buffer e os menus de auxílios relevantes. SENAI - SIEMENS - VW 293 Programação básica Resultado Você tem a exibição de informações estáticas e ativas que podem ser chamadas com as ferramentas de informações do S7. Durante o mal funcionamento da CPU, por exemplo, você pode ler informações de diagnóstico com esta ferramenta. 294 SENAI - SIEMENS - VW Programação básica Diagnosticando e corrigindo problemas Sistema de Diagnóstico Módulo I/Q CPU O diagnóstico da CPU detecta um erro no sistema. O diagnóstico do programa detecta um erro. Interrupção de Diagnóstico Erro no OB Buffer de diagnóstico Lista de status do sistema Capacidade de diagnosticar um módulo, detectar um erro e gerar o diagnóstico de interrupção. SIEMENS Mensagens de diagnósticos PG 740 SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_17.2 Siemens AG 1995. All rights reserved . Conhecimento em Automação Training Center Diagnóstico Diagnóstico são funções integradas para a identificação e registro dos defeitos. A área na qual estes erros são gravados é denominada buffer de diagnóstico. O tamanho do buffer depende da CPU ( ex.: CPU 314 = 100 mensagens). Registro Se um erro ou um evento ocorrer, por exemplo, transição de STOP para RUN, os seguintes passos são executados: - o evento é registrado no buffer de diagnóstico; - a hora e data são anexados à mensagem e introduzidos no buffer de diagnóstico; SENAI - SIEMENS - VW 295 Programação básica - as mensagens mais recentes são arquivadas no início do buffer. Se o buffer está cheio, as últimas linhas vão sendo deletadas. Se pertinente o OB de erro respectivo é iniciado. Falhas/Erros Com esta função podem-se identificar os seguintes erros: - falhas de sistema na CPU; - falhas nos módulos; - erros de programas. 296 SENAI - SIEMENS - VW Programação básica Buffer de Diagnóstico SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_17.3 Conhecimento em Automação Training Center Tipos de Erros Existem dois tipos de erros: - erros síncronos podem ser associados diretamente a uma determinada instrução do programa; por exemplo, chamada de um FB não existente. - erros assíncronos ocorrem normalmente independente do processamento do programa; por exemplo, diagnóstico de interrupção do módulo. OB de erro Durante o modo RUN (CPU em funcionamento) quando um erro é identificado, imediatamente o ciclo de programa é interrompido ;e o respectivo OB de erro é executado. SENAI - SIEMENS - VW 297 Programação básica Se este OB não existe (não foi programado) a CPU vai para STOP . Se o OB existe, o erro é reconhecido, a CPU executa as instruções contidas no OB, e volta a executar o programa (modo RUN). Acessando o Diagnóstico Para verificar o motivo do erro/falha existe uma série de informações disponíveis como buffer de diagnóstico, tempo de ciclo, pilha de interrupção, etc. Estas informações são acessíveis pelo menu PLC. Esta demonstração irá auxiliar você a aprender como usar o sistema de diagnóstico e as ferramentas associadas ao STEP 7. Um ou mais erros irão ser criados, e irá ser mostrado como usar as ferramentas de diagnóstico para localizar e solucionar o problema. Module Information Buffer de Diagnóstico Buffer de diagnóstico é uma área da CPU, onde todos os eventos que ocorrem na CPU são registrados, principalmente os eventos que levaram a CPU para Stop. Este buffer é rotativo, registrando os eventos com data e hora na seqüência que ocorreram, e quando cheio, vai deletando os mais antigos. Mesmo com um reset geral da CPU o buffer não é apagado. Posicionando o cursor sobre a mensagem é exibida informações adicionais sobre o evento na janela abaixo (Details on Event) Acessando o Buffer de Diagnóstico Após aberta a tela de informações sobre o módulo (Module Information) acessa-se o buffer pela pasta Diagnostic Buffer. Editando o Bloco Se a falha que causou a parada da CPU for um erro síncrono, isto é, um erro de programa, o ícone Open Block estará ativo, permitindo que se abra o bloco onde ocorreu a falha. O cursor é posicionado exatamente na instrução onde ocorreu a falha, e o programa pode ser corrigido imediatamente. 298 SENAI - SIEMENS - VW Programação básica B Stack DIAG_T1D SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_17.4 Conhecimento em Automação Training Center Pilhas (stacks) Pilhas são áreas da CPU, normalmente utilizadas durante o processamento do programa, que podem ser úteis na procura do problema que levou a CPU para Stop. As pilhas existentes são: - B-Stack: pilha de blocos, indica a ordem de chamada dos blocos; - I-Stack: pilha de interrupção, indica o estado de diversos registradores no momento da interrupção; - L-Stack: pilha local, onde os dados locais dos blocos abertos no momento da interrupção são mostrados. SENAI - SIEMENS - VW 299 Programação básica Acessando as Pilhas As pilhas são acessadas através da função Informações sobre o Módulo (Module Information) na pasta Stacks. As pilhas são acessadas somente se a CPU estiver no modo Stop. Pilha de Blocos A pilha de blocos registra a seqüência de blocos de programa que estava sendo executada no momento da interrupção. Entende-se como seqüência a ordem de chamada dos blocos em um determinado nível de programa (OB). Por exemplo, o OB1 chamou o FC15 que chamou o FB12, que era o bloco que estava sendo executado no momento da interrupção. Seria registrado então: - OB1 - FC15 - FB12 Note que é registrado também os DB’s que estavam em uso (1st DB / 2nd DB). Editando o Bloco Se a falha que causou a parada da CPU for um erro síncrono, isto é, um erro de programa, o ícone Open Block estará ativo, permitindo que se abra o bloco onde ocorreu a falha. O cursor é posicionado exatamente na instrução onde ocorreu a falha, e o programa pode ser corrigido imediatamente. L/I-Stack As pilhas de interrupção e de dados locais são acessadas pelos respectivos ícones nesta tela. 300 SENAI - SIEMENS - VW Programação básica I Stack DIAG_T1D SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_17.5 Conhecimento em Automação Training Center Pilha de Interrupção Todos os registradores relevantes da CPU são mostrados com seus conteúdos no momento exato da interrupção. São mostrados os seguintes registradores: - os 4 acumuladores; - os registradores de endereço; - a palavra de status. É possível selecionar o formato de dados para os registradores e acumuladores. SENAI - SIEMENS - VW 301 Programação básica Bloco É indicado o bloco que estava sendo executado no momento da interrupção. Editando o Bloco Se a falha que causou a parada da CPU for um erro síncrono, isto é, um erro de programa, o ícone Open Block estará ativo, permitindo que se abra o bloco onde ocorreu a falha. O cursor é posicionado exatamente na instrução onde ocorreu a falha, e o programa pode ser corrigido imediatamente. Acesso ao I Stack É feito através da pasta Stacks de Informações sobre o Módulo, através do ícone I-Stack (PLC). Esta demonstração irá auxiliar você a aprender como usar o sistema de diagnóstico e as ferramentas associadas ao STEP 7. Um ou mais erros irão ser criados, e irá ser mostrado como usar as ferramentas de diagnóstico para localizar e solucionar o problema. Module Information Esta demonstração irá auxiliar você a aprender como usar o sistema de diagnóstico e as ferramentas associadas ao STEP 7. Um ou mais erros irão ser criados, e irá ser mostrado como usar as ferramentas de diagnóstico para localizar e solucionar o problema. Stacks Esta demonstração irá auxiliar você a aprender como usar o sistema de diagnóstico e as ferramentas associadas ao STEP 7. Um ou mais erros irão ser criados, e irá ser mostrado como usar as ferramentas de diagnóstico para localizar e solucionar o problema. I stack). Como qualquer pilha, só pode ser acessada com a CPU em Stop 302 SENAI - SIEMENS - VW Programação básica L Stack DIAG_T1D SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_17.6 Conhecimento em Automação Training Center Pilha Local Os dados das variáveis locais dos blocos abertos no momento da interrupção são exibidos aqui. Os dados são mostrados na seqüência de chamada dos blocos (ver Pilha de Blocos) e na seqüência de definição das variáveis dentro do bloco. Acesso ao I Stack É feito através da pasta Stacks de Informações sobre o Módulo, através do ícone L-Stack (PLC Esta demonstração irá auxiliar você a aprender como usar o sistema de diagnóstico e as ferramentas associadas ao STEP 7. Um ou mais erros irão ser criados, e irá ser SENAI - SIEMENS - VW 303 Programação básica mostrado como usar as ferramentas de diagnóstico para localizar e solucionar o problema. Module Information Esta demonstração irá auxiliar você a aprender como usar o sistema de diagnóstico e as ferramentas associadas ao STEP 7. Um ou mais erros irão ser criados, e irá ser mostrado como usar as ferramentas de diagnóstico para localizar e solucionar o problema. Stacks Esta demonstração irá auxiliar você a aprender como usar o sistema de diagnóstico e as ferramentas associadas ao STEP 7. Um ou mais erros irão ser criados, e irá ser mostrado como usar as ferramentas de diagnóstico para localizar e solucionar o problema. L stack). Como qualquer pilha só pode ser acessada com a CPU em Stop. 304 SENAI - SIEMENS - VW Programação básica Mensagens da CPU SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_17.7 Siemens AG 1995. All rights reserved . Conhecimento em Automação Training Center Mensagens da CPU É possível programar a CPU, via Step 7, para que envie mensagens ao terminal de programação assim que a CPU entre em Stop. Com isto, mesmo que outra atividade esteja sendo desenvolvida no terminal de programação (editando outro programa, rodando um sistema supervisório), pode-se reconhecer imediatamente que a CPU entrou em Stop e a identificação rápida do motivo. Ativando a Função Os passos para ativar a função são: 1. Selecione no menu de comando PLC Esta demonstração irá auxiliar você a aprender como usar o sistema de diagnóstico e as ferramentas associadas ao STEP 7. Um ou mais erros irão ser criados, e irá SENAI - SIEMENS - VW 305 Programação básica ser mostrado como usar as ferramentas de diagnóstico para localizar e solucionar o problema. CPU Messages 2. Na caixa de diálogo mostrada selecione a CPU que deverá enviar mensagens. Pode-se selecionar entre as diversas CPU’s conectadas ao PG/PC. 3 Selecione o modo de visualização 4 Encerre a configuração com OK A função está configurada e preparada para a ocorrência do evento. Mensagem Exibida Assim que a CPU entra em Stop é exibida a janela de mensagem. Nela é mostrada praticamente a mesma mensagem exibida no buffer de diagnóstico. Se a falha que causou a parada da CPU for um erro síncrono, isto é, um erro de programa, o ícone Open Block estará ativo, permitindo que se abra o bloco onde ocorreu a falha. O cursor é posicionado exatamente na instrução onde ocorreu a falha, e o programa pode ser corrigido imediatamente 306 SENAI - SIEMENS - VW Programação básica Diagnóstico de Hardware ck cli leub Do SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_17.8 Conhecimento em Automação Training Center Diagnóstico de HW A função Diagnóstico de Hardware dá uma avaliação rápida sobre a configuração e o estado do sistema. Nela é lida a configuração da CPU, com os módulos existentes, inclusive I/Os distribuídos se presentes, e identificado seus estados (somente aqueles módulos que possuem algum tipo de modo de operação ou diagnóstico). A cor vermelha indica que a CPU está em Stop ou se existe alguma falha em algum módulo. Clicando sobre a CPU ou sobre o módulo com falha são mostrados mais detalhes de diagnóstico. SENAI - SIEMENS - VW 307 Programação básica No exemplo acima, vê-se uma falha de alimentação do módulo analógico. Acessando a Função Através do menu PLC Esta demonstração irá auxiliar você a aprender como usar o sistema de diagnóstico e as ferramentas associadas ao STEP 7. Um ou mais erros irão ser criados, e irá ser mostrado como usar as ferramentas de diagnóstico para localizar e solucionar o problema. Diagnosing Hardware acessa-se esta função. Também direto na ferramenta de Configuração de Hardware tem-se acesso à função. 308 SENAI - SIEMENS - VW Programação básica OB’s de Erros/Falhas Erro na fonte de alimentação : chama OB81. Erro no acesso ao módulo: chama OB122. Erro de programa: chama OB121. SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_17.9 Conhecimento em Automação Training Center OB’s de Erros/Falhas Toda vez que ocorre um evento, falha ou algum outro evento de diagnóstico, é chamado o respectivo OB. Estes OB’s são programados pelo usuário para prever uma reação no caso de uma falha/erro no sistema ou simplesmente para identificar a falha. Se o respectivo OB não for programado e carregado na CPU, ela entrará em Stop no caso de falha. SENAI - SIEMENS - VW 309 Programação básica OB Erro/Falha OB80 Tempo de ciclo excedido (overranged) OB81 Falha na fonte de alimentação (inclusive erro na bateria) OB82 Erro de diagnóstico, por exemplo, quebra-de-fio na entrada analógica OB85 Um dos seguintes erros ocorreu: - uma interrupção do processo ocorreu, mas o respectivo OB não foi encontrado - erro quando a imagem do processo estava sendo atualizada OB87 Erro de comunicação OB121 Erro de programa, por exemplo: OB122 310 - erro na conversão BCD - erro no comprimento da faixa de leitura e escrita dos DB’s - chamada de bloco não existente - número de temporizador ou contador incorreto Erro durante o acesso direto ao módulo SENAI - SIEMENS - VW Programação básica Demonstração : Encontrando e Corrigindo Problemas SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_17.10 Conhecimento em Automação Training Center Esta demonstração irá auxiliar você a aprender como usar o sistema de diagnóstico e as ferramentas associadas ao STEP 7. Um ou mais erros irão ser criados, e irá ser mostrado como usar as ferramentas de diagnóstico para localizar e solucionar o problema. SENAI - SIEMENS - VW 311 Programação básica Exercício 17.1: Diagnosticando uma Falha no Programa Transfira o programa “Error S7” do projeto "PROG1_A" para o PLC Quando a CPU mudar para STOP, usar as ferramentas de informação para determinar a localização exata do erro. SIMATIC S7 Siemens AG 1995. All rights reserved. Data: 07/11/00 Versão: 3.1 Arquivo: pro1_17.1 1 Conhecimento em Automação Training Center Objetivo Usar as ferramentas de informação e o sistema integrado de diagnóstico para encontrar e corrigir erros no programa. Procedimento 1. Execute o reset da memória. 2. Transfira todos os blocos do programa ERROR do projeto PRO1_A para a CPU 3. Execute um completo restart. 4. Use as ferramentas de informação para ler o buffer de diagnóstico. Passar para online, selecionar o projeto PROG1-A e o programa ERROS, de forma que os comentários também sejam exibidos. 5. Determine e elimine os erros na CPU. Resultado Você terá conhecimento sobre as possibilidades de diagnosticar depurar. 312 SENAI - SIEMENS - VW Programação básica Técnicas especiais de programação Editando no Modo Texto SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_18.2 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Modo Texto A edição de blocos aprendida até aqui é denominada modo incremental, isto é, enquanto há edição está sendo feita é checada se a sintaxe está correta. Existe porém um outro método de edição, denominado modo texto, em que a edição é realizada como a digitação de um texto, sendo no final compilada transformando-se em um bloco de programa. O programa editado no modo texto utiliza a linguagem STL. Criando um Bloco Os arquivos fontes (arq. que contém um programa fonte) são armazenados em uma pasta específica do programa, denominada Source Files. SENAI - SIEMENS - VW 313 Programação básica Para se criar um novo bloco, selecione a pasta Source Files e com o auxílio do botão direito do mouse, a função Insert New Object STL Source File Arq. Externo Pode-se editar um arquivo fonte com um editor externo (por ex. Word for Windows) e inserir no Step 7. Utilize para isto a Insert New Object ⇒ External Source File 314 SENAI - SIEMENS - VW Programação básica Editando um Arquivo Fonte (1) Editando um arquivo fonte Inserindo um bloco padrão Inserir um bloco Bloco padrão Bloco Inserir um arquivo Inserir um Arquivo SIMATIC S7 Gerado Arquivo Arquivo Data: 07/11/00 Versão: 3.1 Arquivo: pro1_18.3 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Sintaxe Para que o programa editado no modo texto possa a vir se transformar num bloco de programa é necessário que se siga rigorosamente a sintaxe da linguagem para que a compilação seja executada sem erros. Inserindo um Modelo de Bloco Um modelo de bloco (template) é uma espécie de receita para a criação de um determinado tipo de bloco. Ele contém todos os comandos necessários e outros opcionais utilizados em um bloco. Você pode simplesmente deletar as especificações para as definições opcionais desnecessárias. Para inserir um modelo de bloco, selecione no menu a seqüência : Insert -⇒ ⇒ Block Template OB/FB/FC/DB/IDB/DB/UDT SENAI - SIEMENS - VW 315 Programação básica Inserindo Blocos Usando no menu a seqüência Insert ⇒ Object ⇒ Block você pode inserir um bloco já existente (isto é, o código fonte de um bloco S7) no seu arquivo fonte. O arquivo fonte respectivo, do qual os conteúdos são inseridos atrás da posição do cursor, é gerado automaticamente a partir dos blocos selecionados. Inserindo Arquivos Fonte Usando a seqüência de menu Insert ⇒ Object ⇒ Source File , você pode inserir o conteúdo de vários outros arquivos fonte. Inserindo Arquivo Texto Usando a seqüência de menu Insert ⇒ Object ⇒ File, você pode inserir o conteúdo de vários outros arquivos texto. 316 SENAI - SIEMENS - VW Programação básica Editando um Arquivo Fonte (2) Designado UDT Chamada Global DB Chamada DB of UDT Chamada Designado FB3 Chamada Instance DB to FB3 FC5 OB1 SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_18.4 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Importantes Regras Existem algumas regras que devem ser seguidas, como por exemplo: - Mesma sintaxe de STL com “ ; ” no fim de cada instrução. É possível mais que uma instrução por linha, - Existe diferença entre letras maiúsculas e minúsculas para nome de variáveis. - Comentários iniciam com “ // “. Características Especiais Por exemplo: CALL FC1 (param1:=I0.0, param2:=I0.1); SENAI - SIEMENS - VW 317 Programação básica Comentário na Seção de Códigos Para garantir a exibição do comentário também no programa compilado (bloco S7), observe os seguintes pontos: - ao definir os parâmetros (“Formal Parameters”) de um bloco, referente a tabela de declarações de variáveis, deve-se manter a seqüência da declaração de variáveis (caso contrário, pode misturar os comentários). - pode existir perda de comentários durante a compilação, em instruções seguintes à instrução “OPN”. Para solucionar isto, utilize uma das opções: - programe compactado L DB5.DBW20; - // comentário ou então insira a instrução NOP OPN DB5 ; // comentário 1 NOP 0; L DB5.DBW20; // comentário 2 Seqüência dos Blocos Como no modo incremental, não se pode chamar (via Call) um bloco que ainda não foi editado. Assim, blocos que são chamados por outros blocos, devem estar no arquivo fonte antes dos outros blocos (o compilador cria os blocos na seqüência). 318 SENAI - SIEMENS - VW Programação básica Sintaxe para Blocos de Programa SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_18.5 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved. SENAI - SIEMENS - VW 319 Programação básica Sintaxe para Bloco de Dados SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_18.6 Siemens AG 1995.All rights reserved. 320 SENAI - SIEMENS - VW Conhecimento em Automação Training Center Programação básica Declaração de Variáveis SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_18.7 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Tipo de Declaração Comando OB FB FC Parâmetro de entrada VAR_IMPUT - Sim Sim Parâmetro de saída VAR_OUTPUT - Sim Sim Parâmetro de entrada/saída VAR_IN_OUT - Sim Sim Variável estática VAR - Sim - Variável temporária VAR-TEMP Sim Sim Sim Todas terminadas com.. END_VAR Regras Importantes A declaração das variáveis deve estar sempre presente para cada bloco onde ela é válida, seqüencialmente de acordo com o tipo de declaração. SENAI - SIEMENS - VW 321 Programação básica Exemplos nome variável : tipo dados ; //comentário nome variável : tipo dados : = valor inicial; Comentários na Seção Declarações Para garantir a exibição de comentários também no bloco S7 (após a compilação), observe o seguinte: - somente uma linha de comentário para cada declaração de variáveis (várias linhas não são exibidas completamente) - comentários iniciados com caracteres especiais não são exibidos na declaração de variáveis do editor incremental (bloco S7) (Exceção: Comentários para matriz e estruturas) 322 SENAI - SIEMENS - VW Programação básica Atributos de Proteção Atributo KNOW_HOW_PROTECT AUTHOR FAMILY NAME VERSION UNLINKED READ_ONLY SIMATIC S7 Bloco de Códigos (OB, FB, FC) Sim Sim Sim Sim Sim Não Não Bloco de Dados UDT Sim Sim Sim Sim Sim Sim Sim Não Não Não Não Não Não Não Data: 07/11/00 Versão: 3.1 Arquivo: pro1_18.8 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Todo o bloco S7 possui uma série de atributos como: autor, família, versão, etc. No modo texto porém pode-se adicionalmente criar uma proteção para blocos de programa. Proteção do Bloco Um bloco protegido significa que ele após compilado não poderá ser acessado pelo terminal de programação no modo incremental, isto é, o bloco executará sua funções porém não poderá ser lido e/ou alterado a não ser através do próprio programa fonte. O atributo é KNOW_HOW_PROTECT (proteção de tecnologia) e deverá ser especificado antes de todos os outros atributos do bloco. SENAI - SIEMENS - VW 323 Programação básica Observação: Variáveis do tipo VAR e VAR_TEMP permanecem escondidas na seção de declaração. Proteção Contra-Escrita para DBs O atributo READ_ONLY faz com que os dados em um DB possam somente ser lidos, isto é, durante a execução do programa estes dados não podem receber novos valores (escrita). DB não carregado na memória Através do atributo UNLIKED o sistema não transfere o DB da memória de carga para a memória de trabalho. Para que os dados destes DB’s possam ser usados eles precisam ser transferidos para a memória de trabalho, o que é feito através de um SFC, o qual somente copia o conteúdo dos DB’s na memória de trabalho . Esta função permite economia da memória de trabalho. 324 SENAI - SIEMENS - VW Programação básica Salvando, Checando a Consistência e Compilando SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_18.9 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Ao final da edição do programa fonte ele deverá ser compilado para se transformar em blocos S7. Save Salva o arquivo fonte (mesmo com erro) no harddisk. Compilação A compilação é a transformação do arquivo fonte em blocos S7, segundo a sintaxe editada no bloco. Os blocos gerados são armazenados na pasta de blocos (Blocks) diretamente subordinada à mesma pasta de programas que o arquivo fonte. Caso já existam blocos S7 eles serão sobrescritos. SENAI - SIEMENS - VW 325 Programação básica Os erros encontrados durante a compilação são informados através de mensagens, em uma janela logo abaixo ao texto editado. Selecionado a linha com erro, o editor salta automaticamente para a linha onde o erro foi encontrado. Check de Sintaxe É possível checar a sintaxe, símbolos e a existência de blocos sem a geração dos blocos S7 através desta função. As mensagens de erro são geradas como no compilador normal. 326 SENAI - SIEMENS - VW Programação básica Exercício 18.1: Digitando o FB80 no Modo ASCII Passo 1 2 3 4 5 6 7 Procedimento Resultado Ativar o Editor de Programas O editor é carregado No Editor LAD/STL/FBD, selecione File ==> Um arquivo de texto vazio é exibido New e no campo de diálogo “Filter” selecione STL Source. Certifique-se que a pastaSource e não a pasta AP esteja selecionada no seu projeto. Digite o nome FB80 como o nome do objeto. Usando Insert ==>Block Template ==> FB , inserir um bloco template e digitar o programa para o FB80 Salvar o programa e então selecionar no O programa é compilado menu de comando File ==> Compile Se existirem erros, corrigir, e então compilar O programa irá ser compilado sem erros novamente No OB1, chamar o FB80 adicionalmente Transmitir os blocos FB80, DB10 e OB1 para a CPU e depurar o programa. Uma mudança de um sinal de entrada no IB1, um pulso one cycle long na saída QB5 aparece. UEB_UPP SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_18.10 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Objetivo Criar um FB80 no modo ASCII. O programa é executado word por word de flanco de impulso no parâmetro de entrada “byte de entrada”. Os marcadores de pulso são enviados para os parâmetros de saída “pulse byte”. Um bloco de variáveis local “old values” será usado para arquivar valores anteriores. No arquivo fonte, imediatamente depois do FB80, associar o DB instance (ex. DB10) para ser criado. A sintaxe para isto é mostrada abaixo: - data_block db10 - FB80 - begin - end_data_block SENAI - SIEMENS - VW 327 Programação básica Depois disto, um OB1 com a chamada para o FB80 deverá ser criado. E Ainda No arquivo fonte FB80, inserir o comando “KNOW HOW PROTECT”, compilar o bloco. è O que acontece ? è Porque ? Deletar o comando “KNOW HOW PROTECT” do arquivo fonte 328 SENAI - SIEMENS - VW Programação básica ‘ Documentando e salvando programas Documentação de Blocos Título do Bloco Comentário do Bloco Título do Segmento Comentário do Segmento SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_19.2 Conhecimento em Automação Training Center Durante a edição do programa deve-se acrescentar títulos e comentários que ajudarão na compreensão do mesmo. Títulos Linha com nome e descrição resumida da função do objeto: - título do bloco: situado no início do bloco, à direita da identificação do bloco. - título do segmento (network): situado no início da cada segmento, à direita da identificação do segmento (network xx). O campo do título é limitado em 64 caracteres. SENAI - SIEMENS - VW 329 Programação básica Para editá-los basta posicionar o cursor no respectivo campo e digitar o texto. Comentários Já o comentário deve ser uma descrição o mais detalhada possível da função ou do objetivo do bloco ou do segmento, respectivamente comentário do bloco ou do segmento. Há um máximo de 18 KB disponível para cada comentário de bloco e de segmento. Tanto para editar os comentários quanto somente para visualizá-los é necessários que eles estejam habilitados. Consegue-se isto via o comando no menu VIEW ⇒ Comment. Para editá-los basta posicionar o cursor no respectivo campo e digitar o texto. Note que o comentário pode ter mais que uma linha, e que uma barra vertical ajuda na navegação dentro do texto. Comentário de Linha Na linguagem STL é possível adicionar um comentário para cada linha de instrução. Estas linhas são identificadas por duas barras paralelas (//), que ao ser colocadas identificam todo o restante da linha como comentário. Ao se alterar o modo de visualização da linguagem de programação para LAD/FBD, estes comentários não são mostrados. 330 SENAI - SIEMENS - VW Programação básica Cabeçalho de Bloco SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_19.3 Conhecimento em Automação Training Center Todo o bloco possui uma série de informações sobre sua edição que podem ajudar na sua identificação posterior: data de criação, tamanho ocupado, etc. Algumas desta informações são geradas automaticamente e outras devem ser fornecidas pelo programador. Acessando Com o bloco selecionado (destacado), e com auxílio do botão direito do mouse selecione Object Properties. As caixas de diálogos da figura acima são abertas. SENAI - SIEMENS - VW 331 Programação básica Parte 1 Informações genéricas sobre o bloco: - identificação: informações que o usuário pode fornecer visando facilitar a documentação do bloco, como Nome do Bloco (Motor On/Off), Família do Bloco (por ex. Motores), Autor (por ex. Joaquim), Versão (por ex. 1.01). - data da modificação, separada por código do programa e por tabela de declaração de variáveis (parâmetros). Parte 2 Informações importantes sobre o funcionamento e atributos do bloco criado: - tamanho em bytes do bloco, separados pela tamanho total do bloco (Block), pela área ocupada exclusivamente pelas instruções (MC7 Code) e pelas variáveis locais (Local Data). - atributos que influenciam a visualização e manipulação do bloco. Estes atributos só podem ser dados ao bloco quando editados no modo texto. São eles: - Write-protected - bloco de dados que não pode ser sobrescrito. - Know-How Protect - bloco não pode ser visualizado nem alterado. - Standard - bloco protegido contra escrita, por ser um bloco de biblioteca padrão da Siemens. - Unlinked - bloco de dados que ficará residente na memória de carga. System Attributes São atributos ligados ao funcionamento do bloco quando utilizando o pacote opcional CFC, ou pacotes de diagnose interligados a IHM, como S7-DIAG 332 SENAI - SIEMENS - VW Programação básica Referência Cruzada ADDRESS SYMBOL BLOCK NETWORK STATEMENT ACCESS OPERATION SIMATIC S7 Siemens AG 1995. All rights reserved . Endereço Absoluto Nome simbólico para o endereço Bloco no qual o endereço é usado Segmento no qual o endereço é usado Endereço relativo no segmento Acesso de leitura (R) ou acesso de escrita (W) Instruções usadas para acessar o endereço Data: 07/11/00 Versão: 3.1 Arquivo: pro1_19.4 Conhecimento em Automação Training Center Refência Cruzada A lista de referência cruzada é uma poderosa ferramenta para detalhar e organizar a documentação. A lista de referência cruzada pode ser também utilizada durante o desenvolvimento do programa auxiliando na depuração e procura de erros. Ela fornece uma lista de endereços I,Q,M,T,C,P e variáveis de DB que estão sendo utilizadas no programa, fluxograma do programa, mapeamento do uso dos operandos I/Q/M, além de elementos sem nomes simbólicos ou com nomes simbólicos porém não utilizados no programa. Acessando Com a pasta Blocks do programa selecionada, e com o auxílio do botão direito do mouse selecione Options ⇒ Reference Data. SENAI - SIEMENS - VW 333 Programação básica Opções Para selecionar as várias opções disponíveis utilize o menu ou os ícones: - Lista todos os operandos e sua localização (Bloco e Segmento). - Lista o mapa de utilização da memória I/Q/M - Lista o mapa de utilização da memória C/T. - Lista a estrutura do programa, i.é, a seqüência de chamada dos blocos. - Lista os operandos que possuem nomes simbólicos porém não foram utilizados no programa. - Lista os operandos utilizados no programa, porém para os quais não foram definidos nomes simbólicos. Filtro - Para todas as opções pode-se selecionar um filtro, isto é, selecionar quais os operandos ou faixa de operandos que se deseja visualizar. 334 SENAI - SIEMENS - VW Programação básica Estrutura do Programa SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_19.5 Conhecimento em Automação Training Center Estrutura do Programa A estrutura de programa descreve os níveis dos blocos ou a hierarquia de chamada dos blocos em um programa. Quando os blocos são exibidos como uma estrutura, é possível uma avaliação mais rápida dos blocos usados e suas relações. A estrutura do programa é importante para a correção e depuração do programa Acesso A informação é acessada dentro da Referência Cruzada no menu View ⇒ Program Strucuture ou pelo ícone SENAI - SIEMENS - VW 335 Programação básica Informações A função fornece as seguintes informações: - a seqüência na qual os blocos são chamados nos diversos Blocos de Organização possíveis (OB1, OB35, etc.). No exemplo acima o OB1 chama o FC9 que chama o FC10 que chama 3 vezes o FC2. - a quantidade de dados locais (temporários) ocupados na pilha de dados local por cada bloco. Ex.: [10] = 10 bytes são ocupados. Indica também o máximo em uma determinado nível de OB, que é o número de bytes no pior caso. No exemplo acima vemos a indicação Maximum=30, que é quando o OB1 estiver executando a seqüência até o bloco FC2. - blocos que foram criados no programa mas não são chamados por nenhum bloco de organização (OB). No exemplo acima vemos os blocos FC12, FB3 identificados com um X a frente do nome do bloco. - chamada recorrente 336 SENAI - SIEMENS - VW Programação básica Exercício 19.1: Documentação Nome do Bloco Comentário do Bloco Título da Network Comentário da Network SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_19.6 Conhecimento em Automação Training Center Objetivo Conhecer as diversas possibilidades de documentar um programa. Procedimento 1. Complete a documentação dos blocos do programa - nome do bloco - comentário do bloco - título da network - comentário da network 2. Edite as características do bloco: - nome do bloco - família do bloco - Autor SENAI - SIEMENS - VW 337 Programação básica 3. Criar uma lista de referência cruzada - inicie a lista de referência - criar a lista de referência Cruzada para I/Q/M e markers (flag’s). 4. Criar uma estrutura de programa - inicie a lista de referência - selecione a opção desejada - exibição da estrutura de programa Resultado 1. Fornece aos futuros usuários informações para interpretar e entender o programa. 2. Fornece aos futuros usuários características e origem do bloco. 3. Uso da lista de referência cruzada para determinar onde as I/Q são usados 4. Fornece aos usuários uma visão geral da estrutura dos blocos e fluxo do programa. 338 SENAI - SIEMENS - VW Programação básica Imprimindo a Documentação do Programa Exemplo: Impressão de Bloco SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_19.7 Conhecimento em Automação Training Center É possível imprimir cada bloco de programa individualmente ou um grupo de blocos. Para a impressão do programa em LAD/FBD, é necessário uma impressora de capacidade gráfica. Imprimindo via Editor de Programa Via o Editor de Programa pode-se imprimir o bloco através da função File ⇒ Print. A impressão será praticamente a mesma visualizada no terminal de programação: linguagem, comentários ativos ou não, absoluto ou simbólico, etc. Através da função File ⇒ Page Setup, pode-se inserir textos para cabeçalho e rodapé. SENAI - SIEMENS - VW 339 Programação básica Imprimindo via o Projeto Selecione os blocos que deseja imprimir e via a função do menu Edit ⇒ Print. Neste modo a linguagem de programação a ser impressa será a linguagem registrada pelo bloco (linguagem selecionada quando da última gravação). Através da função File ⇒ Headers and Footers pode-se inserir textos para cabeçalho e rodapé. 340 SENAI - SIEMENS - VW Programação básica Arquivando Projetos e Programas SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_19.8 Conhecimento em Automação Training Center A estrutura de projeto Step 7 é extremamente complexa, com uma série de diretórios, subdiretórios e arquivos. Enquanto está sendo editado o projeto, ele é atualizado automaticamente. Isto significa que cada alteração realizada no projeto não pode ser abortada, simplesmente não salvando o projeto. Tenha portanto sempre um backup do seu projeto quando quiser fazer alguma alteração experimental. Comprimindo Apesar de não existir a função para salvar o projeto, já que ele é automaticamente salvo pelo sistema, existe uma opção de salvar o projeto na forma comprimida, em um único arquivo. SENAI - SIEMENS - VW 341 Programação básica Todo o conteúdo do seu projeto, incluindo diretórios e subdiretórios são comprimidos e copiados (a estrutura original do projeto permanece no seu HD). Por exemplo, conexões de Hardware, número de subnet e endereços de nós do projeto original, também são copiados. Arquivando O arquivamento comprimido é executado da seguinte maneira: 1. Selecione File ⇒ Archive, 2. Digite o nome para o arquivo na caixa de diálogo “File Name” . 3. Confirme com “Save”. 4. Selecione o Projeto/Biblioteca a ser arquivado e o caminho no qual o arquivo será gravado. Recuperando Um arquivo anteriormente comprimido precisa ser restaurado antes de ser utilizado. Isto é feito pelo caminho oposto ao arquivamento, através da função File ⇒ Retrieve. Nota A compressão do arquivo é feita através de um dos softwares de compressão existentes no mercado, como WINZIP, ARJ, etc. Estes softwares não são fornecidos juntamente com o Step 7, devendo ser instalados separadamente. 342 SENAI - SIEMENS - VW Programação básica Salvando o Programa no Cartão de Memória SIEMENS Cartão de Memória PG 740 SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_19.9 Conhecimento em Automação Training Center F-EPROM F-EPROM são cartões de memória somente de leitura. Dados salvos em F-EPROM são retidos mesmo no caso de uma falha de energia (sem bateria de back-up) ou de uma completo apagamento da memória da CPU (reset geral). Opções Existe duas opções para se gravar F-EPROM. Diretamente na CPU, para as que possuem esta capacidade (por ex. CPU 416) ou via Terminal de Programação. Gravando via PG/PC Para gravar os blocos proceda da seguinte maneira: 1. insira o cartão no PG ou no programador de EPROM externo. SENAI - SIEMENS - VW 343 Programação básica 2. selecione os blocos de programa a serem salvos. 3. selecione o símbolo do cartão de memória (uma nova janela será aberta). 4. arraste os blocos desejados para a janela do cartão de memória. Gravando direto na CPU A partir da versão 3 do Step 7 e para as CPU’s que possuem esta capacidade (ver catálogo) é possível gravar o programa no cartão F-EPROM diretamente na CPU. Proceda da seguinte maneira: 1. insira o cartão na CPU; 2. selecione os blocos desejados 3. selecione a função PLC ⇒ Download to EPROM Memory Card in CPU EPROM Integrada As CPU’s 312IFM e 314IFM possuem uma EEPROM integrada e não permitem a colocação de F-EPROM externas. O programa pode entretanto ser salvo diretamente na EEPROM da CPU via terminal de programação. Para copiar os dados da RAM da CPU para a EEPROM integrada na CPU proceda da seguinte maneira: 1- transfira todos os blocos desejados para a CPU 2- selecione o menu PLC ⇒ Save RAM to ROM 3- confirme com OK 344 SENAI - SIEMENS - VW Programação básica Exercício 19.2: Arquivando SIMATIC S7 Siemens AG 1995. All rights reserved . Data: 07/11/00 Versão: 3.1 Arquivo: pro1_19.10 Conhecimento em Automação Training Center Para arquivar é necessário comprimir os arquivos, desta forma os arquivos podem ser salvos com mais eficiência. Objetivo Arquivar o projeto PRO1 em um diretório de arquivo. Procedimento 1. Selecione File ⇒ Archive e digite o nome "PROG_AR" no campo de diálogo. 2. Selecione o diretório (C:\TEMP) no qual o projeto vai ser arquivado. 3. Selecione o projeto PRO1 para ser arquivado. 4. Arquive o projeto. SENAI - SIEMENS - VW 345 Programação básica Resultado Você irá comprimir os arquivos do projeto PRO1 no arquivo “PROG_AR". 346 SENAI - SIEMENS - VW Programação básica O Global Data e PROFIBUS-DP Rede de Dados Globais CPU MW 10 CPU MW 20 CPU MW 30 Dados Globais KOMM_T2D SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_20.2 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Dados Globais A Rede de Dados Globais serve para trocar pequenas quantidades de dados (máximo de 22 bytes por pacote de dados para a CPU 31x e máximo de 54 bytes por pacote para a CPU 41x) entre várias CPU´s. Como interface e meio-físico utiliza-se o MPI, isto é, não é preciso nenhum hardware adicional para implementá-la. Troca de Dados O sistema operacional gerencia a troca de dados, isto é, não é necessário nenhum programa de usuário. A transferência é executada em um ponto do ciclo de programa. SENAI - SIEMENS - VW 347 Programação básica Cada CPU pode trocar dados com várias outras CPU’s, respeitando-se o limite do número de conexões e bytes para cada tipo de CPU. Configurando Como citado não é necessário programar a comunicação e sim configurá-la. A configuração se inicia com a seleção das CPU’s que farão parte da rede de dados, cada um tendo o seu endereço MPI. Termina quando se monta a tabela de troca de dados (Global Data) onde se indica quais as CPU’s e quais dados serão trocados. 348 SENAI - SIEMENS - VW Programação básica Endereços MPI SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_20.3 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Naturalmente para que uma comunicação em rede funcione é necessário que cada participante tenha seu próprio endereço. Este endereço é o número do nó MPI. Cofigurador de HW Sendo uma característica da CPU é natural que a parametrização do endereço MPI seja feita no configurador de hardware. Endereço MPI Dar um double-click na linha com a CPU e então dar um click no botão de comando MPI. Selecione o endereço MPI desejado e a função Network para indicar que haverá comunicação de dados via rede. Certifique-se de que todos os nós tenham o mesmo highest MPI address e que cada CPU tenha endereços MPI diferentes. SENAI - SIEMENS - VW 349 Programação básica Configuração CPU É importante que a nova configuração de hardware (SDB) seja salva e transferida para a CPU. 350 SENAI - SIEMENS - VW Programação básica Tabela Global Data SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_20.4 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Depois que todas as CPU’s participantes tenham tido seu endereço MPI e o parâmetro de comunicação em rede selecionado, deve-se iniciar a configuração da tabela de dados globais. Acessando Selecione o projeto que contém as estações de hardware e com botão direito do mouse ative o comando Options ⇒ Global Data. Será aberta a tabela de dados globais. SENAI - SIEMENS - VW 351 Programação básica Selecionando CPU’s O primeiro passo na tabela é selecionar as CPU’s que farão parte da comunicação (importante: só podem ser inseridas as CPU’s que tiveram o parâmetro conectável em rede selecionado). Para selecionar as CPU’s utilize a função do menu Edit Assign e selecione na caixa de diálogo as estações que farão parte da troca de dados, uma de cada vez. Cada CPU ocupará uma coluna da tabela de dados globais. 352 SENAI - SIEMENS - VW Programação básica Editando a Tabela Global Data KOMM_T2D SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_20.5 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Dados Após determinar as CPU’s, indica-se os tipos de dados a serem trocados. Estes dados pode ser qualquer área existente na CPU: I/Q/M/DBs. A figura acima mostra a troca de dados entre as áreas MW10, MW20 e MW30. O emissor deve ser identificado, podendo uma CPU enviar dados para diversas CPU’s. Na figura acima o emissor é identificado pela cor escura. Depois de criar a tabela, salve-a com o comando de menu GD Table ⇒ Save. SENAI - SIEMENS - VW 353 Programação básica Compilar Após editar a tabela é necessário compilá-la, que gera blocos de sistema (SDB) para cada CPU participante. Isto pode ser feito via a função de menu GD Table ⇒ Compile. O usuário deverá transferir o bloco de dados de sistema para a respectiva CPU com o item de menu PLC ⇒ Download. Momento da Transferência Cada pacote de dados é transferido ou recebido no oitavo ciclo. Pode-se setar outro valor através do comando de menu View ⇒ Scan Rates (faixa 4-255 para enviar, e 1255 para receber). Isto só é possível após a compilação. Status Dentro do programa do usuário para saber como foi executada a transferência de dados, pode-se especificar uma double word para informação de status para cada pacote de dados. O sistema operacional da CPU entra com a resposta nesta double word. Para parametrizá-la selecione no menu View ⇒ Status. 354 SENAI - SIEMENS - VW Programação básica Comunicação via Global Data. CPU1 CPU2 CPU3 CPU4 CPU5 Círculo GD 1 S GD 1.1 R GD 1.1 R GD 1.2 S GD 1.2 2 R GD 2.1 3 4 S GD 2.1 R GD 2.1 S GD 3.1 R GD 3.1 R GD 3.2 S GD 3.2 R GD 4.1 S GD 4.1 R GD 2.1 R GD 2.1 R GD 4.1 5 6 S GD 5.1 R GD 5.1 R GD 5.1 R GD 6.1 S GD 6.1 R GD 6.1 S=Enviar; R=Receber; GD x.y=GD pacote de Global Data Circle x SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_20.6 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Pacote GD Um pacote GD (GD Circle) define uma pacote de dados que serão trocados entre CPU’s via Global Data. A definição de pacote é difícil de descrever, pois depende de uma série de fatores: - direção, já que a comunicação é bidirecional, podendo enviar/receber dados no mesmo pacote; - número de bytes, que depende da família: 22 bytes para o S7-300 e 54 para o S7400; - divisão em subpacotes, já que entre os 22/54 bytes pode-se definir, por ex., 2 subpacotes de 10/27 bytes. SENAI - SIEMENS - VW 355 Programação básica Número de Pacotes Cada CPU do S7-300 pode participar de até quatro diferentes pacotes GD..Para o S7400 o número de pacotes varia com a capacidade da CPU, entre 4 e 16. Exemplo de Pacotes Os diagramas acima mostram o princípio da comunicação via pacotes GD. 356 SENAI - SIEMENS - VW Programação básica Exercício 20.1: Comunicação via Global Data Agora trocar dados entre dois controladores lógico programáveis SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_20.7 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Exercício 12: Gerando uma tabela GDT SENAI - SIEMENS - VW 357 Programação básica Interface PROFIBUS DP DP MASTER PS S7-300 DP MASTER DP MASTER S7 S7 PS S7-300 S7-300 CPU 314 CP 3425 DP CPU 3152 DP S7 PS S7 10A 400 S7 CPU 4142 DP DP MASTER S7 PS 10A S7 400 S7 CPU 4141 CP 4435DP S7 PROFIBUS-DP DIN 19245 Parte III PS SIEMENS IM (máximo 8 unidades) ET200M DP Slave IM 153-1 S7-300 SIMATIC S7 S7-300 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_20.8 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . Cada vez mais utiliza-se nas instalações o conceito de I/O’s remotos. Isto significa que os pontos de I/O, ou outros controles, se encontram próximos à máquina ou ao local onde são gerados, e a comunicação com a CPU é feita com um único cabo em vez de uma dezena deles. Esta solução é denominada PROFIBUS-DP (Periferia Descentralizada). Do ponto de vista do usuário, a I/O distribuída é tratada como I/O central, isto é, a mesma configuração, endereçamento e programação. A família SIMATIC S7 oferece duas possibilidades para o uso do PROFIBUS DP: CPU’s com interface DP integrada ou cartões CP (processadores de comunicação) com interface DP. 358 SENAI - SIEMENS - VW Programação básica Mestre A comunicação PROFIBUS-DP é caracterizada como uma comunicação MestreEscravo. Dá-se o nome de Mestre ao sistema que gerencia a comunicação, interrogando todos os elementos conectados a ele. Escravo São os I/Os remotos, ou outros dispositivos inteligentes como ilha de válvulas, acionamentos de freqüência variável, etc, que enviam/recebem estados/comandos do equipamento Mestre. SENAI - SIEMENS - VW 359 Programação básica Configurando PROFIBUS-DP SIMATIC S7 Data: 07/11/00 Versão: 3.1 Arquivo: pro1_20.9 Conhecimento em Automação Training Center Siemens AG 1995. All rights reserved . A configuração de um hardware distribuído, PROFIBUS-DP não difere muito de uma configuração centralizada. Configurando a Rede Ao se inserir um cartão que possua a interface DP, por exemplo, uma CPU 315-2DP. , é mostrada a caixa de diálogo de configuração da rede Profibus, onde seleciona-se: - endereço Profibus; - características da rede (Properties ou New se não existir). estas características são: velocidade, tipos de escravos, end. mais alto; - encerre a configuração com OK. 360 SENAI - SIEMENS - VW Programação básica Config. Escravos Para a .configuração dos escravos, selecione a rede (DP Master System) e a partir do catálogo, sob a pasta PROFIBUS-DP, selecione os equipamentos que farão parte da rede. Na caixa de diálogo, selecione o endereço Profibus que o escravo ocupará. O escravo ocupa também um endereço físico de I/O, conforme suas características. Catálogo Todo o equipamento PROFIBUS DP possui um arquivo, denominado GSD, com suas características. Este arquivo é necessário para que o equipamento esteja disponível no catálogo de hardware. Após inserir o arquivo GSD no diretório ..\S7DATA\GSD e utilize a função Options ⇒ Update DDB Files SENAI - SIEMENS - VW 361 Programação básica 362 SENAI - SIEMENS - VW Programação básica Respostas dos exercícios SENAI - SIEMENS - VW 363 Programação básica 364 SENAI - SIEMENS - VW Programação básica SENAI - SIEMENS - VW 365 Programação básica 366 SENAI - SIEMENS - VW Programação básica SENAI - SIEMENS - VW 367 Programação básica 368 SENAI - SIEMENS - VW Programação básica SENAI - SIEMENS - VW 369 Programação básica 370 SENAI - SIEMENS - VW Programação básica SENAI - SIEMENS - VW 371 Programação básica DB5 372 SENAI - SIEMENS - VW