Prévia do material em texto
Programação Básica IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 2 de 72 Índice ÍNDICE ------------------------------------------------------------------------------------------------------------------------------ 1 INTRODUÇÃO -------------------------------------------------------------------------------------------------------------------- 4 Pré Requisito ------------------------------------------------------------------------------------------------------------------ 4 VISÃO GERAL -------------------------------------------------------------------------------------------------------------------- 5 PRINCÍPIO DE FUNCIONAMENTO ---------------------------------------------------------------------------------------------------- 5 HARDWARE ---------------------------------------------------------------------------------------------------------------------------- 6 Posicionamento: -------------------------------------------------------------------------------------------------------------- 6 Nomenclatura: ---------------------------------------------------------------------------------------------------------------- 7 Endereçamento: --------------------------------------------------------------------------------------------------------------- 9 S7-300 - ELEMENTOS DA CPU----------------------------------------------------------------------------------------------------- 11 S7-400 - ELEMENTOS DA CPU----------------------------------------------------------------------------------------------------- 12 Resetando a Memória da CPU --------------------------------------------------------------------------------------------- 13 A FERRAMENTA STEP 7 ----------------------------------------------------------------------------------------------------- 14 INICIANDO O STEP 7 ---------------------------------------------------------------------------------------------------------------- 15 ESTRUTURA DE PROJETO NO SIMATIC MANAGER ---------------------------------------------------------------------------- 16 OBJETOS DO STEP 7 ---------------------------------------------------------------------------------------------------------------- 17 BLOCOS DO STEP7 ------------------------------------------------------------------------------------------------------------------ 17 BLOCOS DO STEP7 ------------------------------------------------------------------------------------------------------------------ 18 WIZARD ----------------------------------------------------------------------------------------------------------------------------- 19 CRIANDO UM PROJETO ----------------------------------------------------------------------------------------------------- 20 CONFIGURAÇÃO DE HARDWARE -------------------------------------------------------------------------------------------------- 21 Arquitetura do hardware---------------------------------------------------------------------------------------------------- 21 CONFIGURADOR DE HARDWARE -------------------------------------------------------------------------------------------------- 22 Edição de Tag`s usando Hardware Configurator ----------------------------------------------------------------------- 28 COMUNICAÇÃO ---------------------------------------------------------------------------------------------------------------- 31 Configuração da Interface de Comunicação ----------------------------------------------------------------------------- 32 Download e Upload da Aplicação ----------------------------------------------------------------------------------------- 37 ESTRUTURA DE PROGRAMA ---------------------------------------------------------------------------------------------- 39 BLOCOS DE PROGRAMA---------------------------------------------------------------------------------------------------- 41 Blocos de Sistema ------------------------------------------------------------------------------------------------------------ 41 Blocos de Usuário ----------------------------------------------------------------------------------------------------------- 42 Inserção de Blocos de Programa ------------------------------------------------------------------------------------------ 43 TABELA DE SÍMBOLOS ------------------------------------------------------------------------------------------------------ 44 Edição de Tag`s usando lista de Simbólicos ----------------------------------------------------------------------------- 44 PROGRAMAÇÃO --------------------------------------------------------------------------------------------------------------- 45 Linguagens de programação do STEP 7 ---------------------------------------------------------------------------------- 45 Faixa de Endereçamento Máximo no STEP 7 ---------------------------------------------------------------------------- 45 Principais Instruções -------------------------------------------------------------------------------------------------------- 46 Normally Open Contact – Instrução de entrada ------------------------------------------------------------------------- 46 Normally Close Contact – Instrução de entrada ------------------------------------------------------------------------- 46 Coil – Instrução de saída --------------------------------------------------------------------------------------------------- 46 Set – Instrução de saída ---------------------------------------------------------------------------------------------------- 46 Reset – Instrução de saída -------------------------------------------------------------------------------------------------- 46 Positive RLO Edge Detection – Instrução de entrada ------------------------------------------------------------------ 47 Negative RLO Edge Detection – Instrução de entrada ----------------------------------------------------------------- 47 Timer On Delay (S_ODT) / Timer Off Delay (S_OFFDT) ------------------------------------------------------------- 47 Contador Crescente (S_CU) ------------------------------------------------------------------------------------------------ 48 Contador Decrescente (S_CD) --------------------------------------------------------------------------------------------- 48 Comparações de Inteiros --------------------------------------------------------------------------------------------------- 49 IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 3 de 72 Move --------------------------------------------------------------------------------------------------------------------------- 49 And (WAND_W)-------------------------------------------------------------------------------------------------------------- 50 Or (WOR_W) ----------------------------------------------------------------------------------------------------------------- 50 Or (WOR_W) ----------------------------------------------------------------------------------------------------------------- 50 Addiction (ADD_I) ----------------------------------------------------------------------------------------------------------- 50 Subtract (SUB_I) ------------------------------------------------------------------------------------------------------------- 51 Multiply (MUL_I) ------------------------------------------------------------------------------------------------------------ 51 Divide (DIV_I) --------------------------------------------------------------------------------------------------------------- 51 Jump --------------------------------------------------------------------------------------------------------------------------- 51 EDITANDO O ORGANIZATION BLOCK -------------------------------------------------------------------------------- 52 EDIÇÃO DE BLOCOS DE PROGRAMA ---------------------------------------------------------------------------------------------- 52 CONEXÃO ON-LINE ------------------------------------------------------------------------------------------------------------------56 CRIANDO UM FUNCTION ------------------------------------------------------------------------------------------------------------ 58 PROGRAMANDO A FC E ADICIONANDO NA OB ---------------------------------------------------------------------------------- 60 VAT - TABELA DE MONITORAÇÃO/MODIFICAÇÃO DE VARIÁVEIS ---------------------------------------------------------- 62 DATA BLOCK(DB)------------------------------------------------------------------------------------------------------------------- 65 REFERÊNCIA CRUZADA ------------------------------------------------------------------------------------------------------------- 68 ESTRUTURA DO PROGRAMA ------------------------------------------------------------------------------------------------------- 70 BACKUP DE APLICAÇÃO ------------------------------------------------------------------------------------------------------------ 71 IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 4 de 72 Introdução Este curso tem por objetivo proporcionar conhecimentos na programação dos controladores Siemens da família SIMATIC S-7, bem como a edição dos programas respectivos. Pré Requisito É necessário que se conheça o sistema operacional Windows e elementos de eletrônica digital. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 5 de 72 Visão Geral Antes de iniciar o contato com o software de programação é interessante esclarecer alguns conceitos sobre o Simatic S7: Princípio de Funcionamento Podemos apresentar a estrutura de um CLP em três partes: entrada, processamento e saída: Os sinais de entrada e saída dos CLP’s podem ser digitais ou analógicos. Existem diversos tipos de módulos de entrada e saída que se adequam as necessidades do sistema a ser controlado. Os módulos de entrada e saídas são compostos de grupos de bits, associados em conjunto de 8 bits(1 byte) ou conjunto de 16 bits, de acordo com o tipo da CPU. As entradas analógicas são módulos conversores A/D, que convertem um sinal de entrada em um valor digital, normalmente de 12 bits (4096 combinações). As saídas analógicas são módulos conversores D/A, ou seja, um valor binário é transformado em um sinal analógico. Os sinais dos sensores são aplicados às entradas do controlador e a cada ciclo (varredura) todos esses sinais são lidos e transferidos para a unidade de memória interna denominada memória imagem de entrada. Estes sinais são associados entre si e aos sinais internos. O ciclo esta representado na figura abaixo: IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 6 de 72 Hardware Posicionamento: Slot: 1 2 3 4 5 6 7 8 9 10 11 O endereçamento dos módulos de I/O, CP e FM são slot-orientados, isto é, seu endereço depende da posição do módulo no trilho. Alguns slots são reservados, como por exemplo, OS, CPU e IM. É importante salientar que cada trilho aloca até 11 slots. 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. Slot 3: IM – Para conectar racks de expansão. Não é associado nenhum endereço para a IM. Até mesmo se a IM não estiver presente, ela deverá ser considerada no esquema de endereçamento do slot. O slot 3 é logicamente reservado pela CPU para a IM. Slot 4-11: SM – O slot 4 é considerado o primeiro slot para módulos de entrada e saída (ou CP ou FM). s Fonte de alimentação CPU IM SM SM SM SM SM SM SM SM 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Exemplo de endereçamento do módulo (Slot 4): Endereços do módulo de 0.0 - 1.7 Endereço 0.0 Endereço 0.7 Endereço 1.0 Endereço 1.7 IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 7 de 72 Nomenclatura: SM - Módulo de Sinal: Os módulos de sinais recebem 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). IM – Módulo de Interface: Os módulos de interface tornam possível a configuração de vários trilhos/bastidores de expansão. Estes módulos fazem a conexão entre trilhos / bastidores: - Módulo de transmissão, conectado no rack central; - Módulo de recepção, conectado no rack de expansão; - Módulo combinado Send/Receive é uma solução econômica para configuração com os dois trilhos; neste caso, no trilho de expansão são permitidos somente módulos de I/O (SM). FM – Módulo de Função: O módulo de funções oferece funções “especiais”: - Contagem; - Posicionamento; - Regulação em malha fechada. CP – Módulo de Comunicação: Os módulos de comunicação oferecem a seguinte possibilidade de rede: - Ponto a ponto; - Profibus DP; - Profibus PA; - Profibus AS-i; - Industrial Ethernet. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 8 de 72 IM: - Send - Receive - Send/Receive PS: Entrada: 120/230 V ~ Saída: 24 V - SM: DI / DQ - 24 V - - 120/230 V ~ - Relê AI/AQ - Tensão - Corrente - Resistência - Termo elemento FM: - Contadores - Posicionadores - Controle em malha fechada CP: - Ponto a ponto - 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 IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 9 de 72 Endereçamento: 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 (SM) localizado no slot 4 (1º slot para SM). A relação entre o slot físico e o endereço do módulo é exibida na figura 1. Cada módulo digital ocupa 4 bytes de endereços, independente do número de pontos. 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 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, Word ou Double Word, como mostrado nos exemplos abaixo: - Q4.0 é um dado que é arquivado no primeiro bit (bit0) do byte 4 da tabela imagem da periferia de saída (usando a numeração padrão dos I/O do diagrama da fig.1, isto corresponde ao primeiro ponto no módulo 2); - IB100 refere-se ao dado que é arquivado no byte 100 da tabela imagem da periferia de entrada; - 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 e 27 da tabela imagem da periferia de saída; FIG.1 IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 10 de 72 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 (SM) localizado no slot 4 (1º slot para SM). A relação entre o slot físico e o endereço do módulo é exibida na figura 2. Cada módulo analógico ocupa 16 bytes de endereços, independente do tipo do módulo, sendo que cada canal analógico ocupa dois bytes de dados. 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 e PIQ), atualizada a cadaciclo. Ao invés disto, você define quando os dados serão atualizados (lidos/escritos) usando simplesmente o endereço analógico no seu programa. O endereço identificador para uma entrada analógica é PIW e para saída PQW. FIG.2 IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 11 de 72 S7-300 - Elementos da CPU Modo de Operação Chave para seleção manual do modo de operação da CPU MRES = Reset da memória (overall reset) STOP = o programa não é executado. RUN = O programa é processado, porém o programa não pode ser alterado pelo terminal de Programação (só lido). RUN-P = A CPU está processando o programa, e o Terminal de programação pode acessar/alterar o programa e o modo de operação (não existe trava). Status da CPU SF = erro interno na CPU ou erro de diagnóstico nos módulos. (LEDS) 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 O módulo de memória (memory card) é inserido neste local. O módulo é Módulo de Memória 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. Siemens CPU3 14 SF BATF DC5V FRCE RUN STOP RUN-P RUN STOP M RES SIMATIC S7-300 Batter y MP I Seleção do Modo Slot para o Cartão de Interface LEDs de Status IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 12 de 72 S7-400 - Elementos da CPU EXT.-BATT. 5...15V DC X1 421 - 1BL00 - 0AA0 DI 32xDC24V X 2 3 4 INTF EXTF STOP RUN CRST FRCE CRST WRST RUN-P RUN STOP CMRES Seleção tipo de Start-up Seleção do Modo de Operação Slot para o Cartão de Memória Interface MPI Bateria Externa Interface DP LEDs de Status da CPU LEDs de Satus da Interface DP Integrada EXT.-BATT. 5...15V DC X3 X1 414 - 2XG00 - 0AB0 CPU 414-2 X 2 3 4 INTF EXTF STOP RUN CRST FRCE CRST WRST RUN-P RUN STOP CMRES INTF EXTF BUSF DP Soquete da Soquete (“banana”, 2,5mm) para a conexão de uma fonte de tensão/bateria 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. 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 Os cartões FLASH-RAM- ou -EPROM podem (devem) ser inseridos no S7-400 Módulo de Memória 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 MRES = Reset da memória (overall reset) Operação 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 reinicia sempre a partir da 1. instrução WRST = (Warm ReSTart) o programa reinicia no mesmo ponto em que havia parado A CPU indica o modo start-up através do LED de status IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 13 de 72 Resetando a Memória da CPU Passos Procedimentros Resultados 1 Posicionar a chave na posição STOP. A CPU irá para STOP. 2 Comutar 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 Comutar a chave para posição STOP imediatamente depois que o LED STOP piscar a 2 vez, e torne a comutar 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. Meta Apagar todos os blocos da CPU através de um reset geral. Procedimentos Siga os passos da figura acima. Acontecimentos Quando é executado um reset na CPU, ocorre o seguinte: durante um Reset - Deleta os dados na memória de trabalho e memória de carga. da Memória da CPU -Deleta o backup da memória (áreas retentivas). -Teste de Hardware. - Inicialização do hardware e transferência dos parâmetros básicos para CPU. - Cópia do programa do cartão de memória para a memória interna da CPU, se o cartão de memória estiver plugado. Endereço MPI Se não estiver plugado o cartão de memória, os endereços MPI setados serão retidos durante o reset da CPU. Se o cartão de memória estiver plugado, os endereços arquivados no cartão serão transferidos. Buffer de Memória O conteúdo do buffer de diagnóstico fica retido quando é feito um reset na CPU. Reset da Memória É possível também resetar a CPU via o Terminal de Programação. via PG/PC Gire a chave para a posição RUN/P, e proceda da seguinte forma: - Inicie o SIMATIC Manager. - Selecione a função Acessible Nodes. - Selecione a CPU. - Comando de menu PLC ==> Operating Mode. Use o símbolo STOP para passar para STOP - Selecione no menu de comando PLC => Memory Reset. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 14 de 72 A Ferramenta STEP 7 Memory Card Define os parâmetros para a programação de cartões de memória. Parameter Assignment Define os parâmetros da interface de comunicação Setting the PG-PC PG-PC (ex.: o tipo de interface, cabo ou placa, a interrupção de comunicação ou endereço MPI). Interface Readme Fornece informações detalhadas sobre o STEP 7: versão, (Product Information) procedimento de instalação, etc. Converting S5 Files Com o auxílio do conversor S5/S7, pode-se converter programas STEP 5 em programas STEP 7. 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. Através dela é que se inicia aexecução do projeto: configuração, edição, testes, etc. É chamada de Manager, pois terá a função de gerenciar todo o projeto. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 15 de 72 Iniciando o STEP 7 Iniciando o STEP 7 No ícone SIMATIC Manager que aparece na área de trabalho ou no menu Iniciar, acima do grupo “Programas”. Iniciar ==> SIMATIC ==> SIMATIC Manager. Janela do STEP 7 Barra de título: contém o título da aplicação e da ferramenta ativada na janela Barra de menu: contém todos os menus disponíveis para a janela corrente. Barra de ferramentas: contém funções e ícones de uso freqüente do menu de comandos. Área de trabalho: área na qual você digita ou seleciona programa/informações. Barra de Status: Exibe o status e informações adicionais sobre os dados selecionados. Barra de ferra mentas File: abre, cria, salva, e imprime arquivos ou blocos. e de menu Edit: corta, copia, apaga, cola, seleciona itens. View: muda a visualização da tela. Options: seta várias telas ou opções da aplicação. Window: seleciona ou organiza as janelas; sobrepondo, lado a lado, tamanho da janela ou fechar janela. Help: acesso ao help. Barra de Títulos Barra de Menu Área de Trabalho Barra de Status Barra de Ferramentas Botões de Comando Minimizar/Maximizar/fechar Título da janela ativa Menu e Barra de Ferramentas do Editor de Programas Sistema de menu IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 16 de 72 Estrutura de Projeto no SIMATIC Manager Projeto Programa do usuário em blocos S7 OBs, FBs, FCs, DBs, etc. Programa do usuário com blocos S7 OBs, FBs, FCs, DBs, etc. Programa do usuário em arquivos fontes (STL) Programação da CPU do S7-300 Programas S7/M7 (associado a um HW) Programa S7/M7 (não associado a um HW) Estação HW Programa do usuário em arquivos fontes 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 respectivos (CPU, Programa, Blocks, etc.) Programas S7/M7 O programa de usuário referente a um CLP propriamente dito, é localizado sob o diretório S7-Programs. Este diretório pode estar ou não associado a 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. Blocos de Programa (blocks) Arquivos fonte (source files) Diagramas (CFC) Tabela de símbolos (Symbol) Blocos S7 OBs, FBs, FCs, etc. Arquivos fonte: STL, SCL, GRAPH, HiGraph, Diagrama CFC Diagrama SFC Programa S7 (S7-Programms) IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 17 de 72 Objetos do STEP 7 SÍMBOLO OBJETO DESCRIÇÃO SUBORDINADO A Projeto Representa o ïcone Principal: Projeto de Automação Arquivo Estação Representa um HW configurado, ao qual está subordinado o programa Projeto Módulo Programável (CPU, CP ou FM) Representa módulo que contém programa ou parametrização Estação Programa S7 (offline) Contém todos os elementos referentes à programação: blocos, arq. fontes, simbólicos. Módulo Programável ou Projeto Blocos de Programa (Blocks) Representa o diretório que contém os blocos de programa: OBs, FBs, DBs Programa S7 (online ou offline) Programa S7 (online) Contém os elementos referentes ao programa on-line. Módulo Programável ou Projeto Bloco Representa o bloco de programa: OB1, FB10, FC34, ... Blocos de Programa (online ou offline) Tabela de Simbólicos Representa o editor dos simbólicos Programa S7 (offline) Conexão Representa o Editor de Conexões de Comunicação Programa S7 (offline) 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...). Programas S7 As pastas de programa de usuário (S7-Programs) diferem entre si nos modos Online e Offline 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 Fonte - Subordinado a Source Files Parametrização da Rede (MPI, Profibus, etc.) - Subordinado ao Projeto. Estações externas para configuração de comunicação - Subordinada ao Projeto Tela de OP - Subordinado ao Projeto - Opcional PROTOOL Pasta de Diagramas CFC - Subordinado o Programa S7 - Opcional CFC IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 18 de 72 Blocos do STEP7 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: Blocos lógicos: OBs - Blocos de organização FCs - funções FBs - blocos de funções SFCs - Funções de sistema SFBs - blocos de função de sistema Blocos de dados: DBs - Blocos de dados SDBs - Blocos de dados de sistema Tipos de dados definidos pelo usuário: UDTs VAT VAT (Tabela para monitoração/modificação de variáveis) não são blocos, mas são arquivadas no programa do usuário. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 19 de 72 WIZARD 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 Ao usuário cabe apenas a criação do seu programa. do Usuário O Hardware criado contém somente a CPU, devendo-se complementar o hardware e parametrizá-lo se necessário. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 20 de 72 Criando um Projeto Iniciar o SIMATIC MANAGER 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. Então selecione File => New => Project ou click no ícone “New” . Digite o nome do projeto no campo indicado e confirme “OK” IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 21 de 72 Configuração de Hardware Arquitetura do hardware Para iniciar a configuração do hardware do PLC é necessárioinserir no projeto, uma sub-pasta de projeto, onde serão encontradas áreas de configurações e de programações. Esta sub-pasta condiz com a família SIMATIC da CPU utilizada. Neste caso, usaremos como exemplo a família SIMATIC 300. Observe que agora, a pasta principal do projeto possui uma sub-pasta. Essa vem com nome padrão da família selecionada, SIMATIC 300. Selecionando a sub-pasta, é mostrado o seu conteúdo na direita da tela. Inicialmente constará apenas um item: “Hardware”. Clicando duas vezes no item “Hardware” abrirá uma a tela de configuração chamada “HW Config”. Nesta tela será arquitetado o sistema do PLC, ou seja, será montado o conjunto de rack, CPU, módulos de rede e I/O`s. Todos os componentes referentes ao S7 (Redes de comunicação, famílias lógicas e estações) estão acessíveis na área “hardware catalog”. Este é aberto através de um botão localizado no menu. Menu Insert=>Station=>Tipo de hardware Duplo clique em SIMATIC 300(1) Duplo clique em Hardware abrirá o configurador de hardware IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 22 de 72 Configurador de Hardware Salva e compila Salva Criar uma nova estação Editar uma configuração existente no PG/PC OFFLINE - ONLINE Donwload para o módulo Upload do módulo Catálogo Eletrônico O catálogo eletrônico contém toda a alista de módulos existente do S7. Atualizações deste catálogo (novas placas) estarão sempre disponíveis via internet ou via o distribuidor local. Hardware Catalog IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 23 de 72 Primeiro passo: Inserir um rack Selecione a família desejada no catálogo eletrônico, em seguida abra a pasta com o nome “RACK-300”, dentro dela irá aparecer um ícone com o nome “RAIL”, um duplo clique nele irá adicionar um “RACK” com 11 Slots para adicionar todos os dispositivos. Observação: o programa respeita a posição de cada módulo no rack (ver página 4). Duplo clique em Rail IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 24 de 72 Segundo passo: Inserir uma Fonte de alimentação (PS) Abra a pasta chamada “PS-300” e logo em irá aparecer opções de fontes para a sua escolha. Arraste a fonte desejada até o Slot 1 ou apenas dê um duplo clique sobre a fonte. Escolha o modelo da Fonte e com um duplo clique ela é selecionada. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 25 de 72 Terceiro passo: Inserir a CPU Abra a pasta chamada “CPU-300” e escolha a pasta com o nome da CPU que deseja, em seguida abra essa pasta e logo aparecerão modelos diferentes de CPU para sua escolha. Arraste até o slot 2 ou apenas dê um duplo clique sobre a CPU desejada. Escolha o modelo da CPU e com um duplo clique ela é selecionada. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 26 de 72 Quarto passo: Inserir módulo(s) de sinal Para selecionar módulos de sinal é necessário abri uma pasta chamada “SM-300”, aparecerá muitas sub-pastas com diferentes tipo de módulos,escolhido o tipo abra e arraste o módulo escolhido para qualquer posição no RACK entre o Slot 4 e 11. AI= Entrada Analógica AO= Saída Analógica DI= Entrada Digital DO= Saída Digital Escolha o(s) módulo(s) de sinal e com um duplo clique ele é selecionado IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 27 de 72 Parâmetro e Propriedades da CPU Observação: As propriedades de cada módulo podem ser acessadas com um duplo clique sobre o módulo. O usuário pode fazer esses procedimentos fora de ordem, mas deverá respeitar as posições dos módulos. Com um duplo clique em cima da CPU abriremos uma janela com suas propriedades IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 28 de 72 Edição de Tag`s usando Hardware Configurator 1. No “hardware configurator” clique com o botão direito do mouse no módulo de I/O desejado. Abrirá um menu; 2. Selecione a opção “Edit Simbolic Names”; 3. Aparecerá uma tela de edição dos pontos do módulo selecionado. Nesta tela há duas colunas para edição. Uma condiz com o tag e a outra com a descrição do ponto do módulo. 4. Após a configuração pressione o botão OK da tela e salve a alteração, não esquecendo de também compilá-la. Address: Endereço da Entrada/Saída. Symbol: O “apelido” dado pelo usuário para respectiva Entrada/Saída. Data Type: Tipo de dados da Entrada/Saída. Comment: Comentário sobre a Entrada/Saída. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 29 de 72 Parametrização dos módulos I/O`s Analógicos Clicando duas vezes em qualquer módulo analógico abre uma área de parametrização. Os seguintes parâmetros podem ser configurados nestes módulos: - 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 substituídos de saída (assumir o último valor). Após a configuração pronta é importante salva-la e compilá-la. Terminada a configuração, salve e compile, e faça o download das informações para o módulo. Range de leitura Tipo de medição: tensão ou corrente Supervisão de quebra de fio IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 30 de 72 De volta a tela SIMATIC Manager, note que agora junto com o ícone do hardware há também um ícone da CPU que foi configurada. CPU já Configurada Download do harwdware e Blocos IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 31 de 72 Comunicação A comunicação entre o programador e o controlador pode ser feita através de uma rede ou diretamente na CPU (utilizando um cabo com interface MPI ou PPI – acessório específico da Siemens). Tomaremos com exemplo uma comunicação direta do tipo MPI. A saber: MPI significa Multi-Point-Interface, este tipo de comunicação 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 CPU existe somente uma porta MPI, porém é possível acessar através dela todos os outros módulos programáveis, tais como FM`s. 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, e ainda outros CLP`s adicionais podem ser conectados. A quantidade de conexões que podem ser operadas simultaneamente depende da CPU. 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 inteligentes; - Monitoração do sistema e funções de informação; - Troca de dados entre CLP`s; - Download e Upload. As mais importantes características da MPI são: - Padrão RS-485 e taxa de transmissão 187.5Kaud; - Distâncias até 50m ou até 9100m com repetidores; - Componentes padrões de Profibus DP (cabo, conector e repetidor). IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 32 de 72 Configuração da Interface de Comunicação Antes de entrar em comunicação com o CLP é necessário selecionar a interface de comunicação desejada. Para isso, deve-se clicar na opção “Set PG/PC Interface...” localizada no menu “Options”. Ver figura 3. FIG. 3Set PG/PC Interface IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 33 de 72 Observe que abrirá a caixa “Installing/Uninstalling Interfaces”. Esta caixa é usada para instalar ou desinstalar placas de interface de comunicação. Segue abaixo os passos para instalação de uma placa de comunicação, neste caso será instalada a placa “PC Adapter”. Esta placa é utilizada para MPI ou Profibus. 1. Selecione a placa PC Adapter no campo módulo; 2. Pressione o botão “Instal”, localizado na parte central da tela. Observe que é adicionada a placa PC Adapter no campo “Interface”, no lado direito da tela; 3. Pressione o botão “Close”. FIG.4 Placas de Interface Botão Close Botão Install IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 34 de 72 Após a instalação da placa de interface de comunicação é necessário configurá-la através da caixa “Access Path”: 1. Selecione a interface desejada (MPI) no campo “Interface Parameter Assigment Used”; 2. Pressionando-se o botão “Properties’”, localizado no canto superior direito da tela, irá abrir a tela de configuração “Properties” (FIG.6). Nesta tela encontram-se duas áreas de configuração: MPI e Local Connection. 3. Na área MPI é configurado o “Station Parameters”, onde se encontram o Adress (padrão 0) e o Timeout (padrão 30s). Também no MPI são configurados a Taxa de transmissão (187.5 Kbps) e o Endereço máximo da rede (31); 4. Na área Local Connection são configurados a porta COM utilizada no microcomputador e a taxa de comunicação da mesma (FIG.7). FIG.5 MPI Properties IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 35 de 72 FIG.6 Taxa de transmissão Endereço do Micro na rede Endereço máximo da rede Timeout IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 36 de 72 FIG. 7 Porta COM Taxa de transmissão da porta de comunicação IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 37 de 72 Download e Upload da Aplicação Depois de estabelecida a comunicação, você pode fazer o download do seu programa ou um upload do programa que estiver no controlador. É importante mencionar que há várias formas de realizar um download, porém neste tópico será mostrado apenas o download da aplicação geral. De acordo com os tópicos seguintes, serão mostrados as demais maneiras e atalhos para realização do download. Download Para realizar o download da aplicação basta clicar com o botão esquerdo do mouse na opção “Download” localizado no menu “PLC” (FIG. 8). FIG. 8 Opção Download IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 38 de 72 Upload Para realizar upload da aplicação basta clicar com o botão esquerdo do mouse na opção “Upload” localizado no menu “PLC” (FIG. 9). FIG. 9 Opção Upload IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 39 de 72 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 Programa Linear: Todas as instruções estão contidas em um bloco (normalmente no OB1) 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). OB1 OB1 OB1 Recipiente A Recipiente B Misturador Exaustor Bomba Exaustor Programa Particionado: Instruções para cada dispositivo estão contidos em blocos individuais. OB 1 chama cada bloco em seqüência. 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 O programa é dividido em blocos, cada bloco contém uma lógica específica Particionado para dispositivos ou tarefas. As informações residentes no bloco de organização (OB1) determinam a ordem de execução dos blocos a serem processados. Um programa particionado pode, por exemplo, conter blocos de instruções com os quais os modos de operações individuais de um processo industrial são controlados. Programa Um programa estruturado contém blocos de instruções com parâmetros Estruturado 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. Exemplo de blocos parametrizáveis. - O bloco “BOMBA" contém instruções para uma bomba, com um set de entradas e saídas exigidas para qualquer bomba usada no processo. - O 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. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 40 de 72 Estrutura de dados Tipo BOOL 0 BYTE 0 0 0 0 0 0 0 0 WORD 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DWORD 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Bool(Bit): Verdadeiro ou Falso (0/1); Byte(8 Bits): 255 Word(2 Bytes): (-32768 até 32767) DWord(2 Words): (-2147483648 até +214483647) MY.Z: Memória de acesso a Bit. Exemplo: M6.2: O programa acessa o Bit 2 (Variável “Z”) do Byte 6 (Variável “Y”). MBY: Memória de acesso a Byte. Exemplo: MB122: O programa acessa o valor do Byte 122 (Variável “Y”). MWY: Memória de acesso a Word. Exemplo: MW12: O programa acessa o valor da Word (Byte 12 e 13). MDY: Memória de acesso a Double Word. Exemplo: MD50: O programa acessa o valor da Double Word (Byte 50, 51, 52 e 53). Observação: Variável “Y” é referente ao Byte, variável “Z” é referente ao Bit Exemplos: I0.5: Equivale ao Bit na posição 5 do Byte 0. Q1.0: Equivale ao Bit na posição 0 do Byte 1. POSIÇÃO DB1.DBX0.0: O programa acessa o estado do Bit 0 do Byte 0 da Data Block(DB) número 1; DB10.DBW4: O programa acessa o valor da Word (Byte 4 e 5)da Data Block(DB) número 10; DB2.DBB2: O programa acessa o valor do Byte número 2 da Data Block(DB) número 2; DB13.DBD14: O programa acessa o valor da Double Word (Byte 14,15,16 e 17) da Data Block(DB) número 13. 0 1 2 3 4 5 6 7 IB0 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 IW2 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 41 de 72 Blocos de Programa Blocos de Sistema Blocos de sistemas são funções pré-definidas ou blocos de funções integradas ao sistema operacional da CPU. Estes blocos não ocupam espaço adicional na memória do usuário. Os blocos de sistema são chamados pelos programas do usuário. Estes blocos têm a mesma interface, a mesma designação, e mesmo número em todo o sistema (S7-300/400). Dessa forma, pode-se portar o mesmo programa do usuário em várias CPU`s. Blocos de Usuário 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 o seu programa comvaias opções de blocos de usuário. Alguns desses blocos podem funcionar ciclicamente, enquanto outros blocos podem ser executados somente quando necessitado. Blocos de usuário são também chamados de blocos de programa. Blocos de Sistema Função do Sistema (SFC) É uma função pré-programada e testada que é integrada na CPU. Algumas das tarefas suportadas por estas funções são de configurar 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 do 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 partes do sistema operacional. SFB`s devem ser associados a um DB, o qual deverá ser transferido para a CPU como parte do seu programa. Blocos de Dados de Sistema (SDB) É 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. BLOCO SISTEMA Tipo de Blocos 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 (sem memória) Bloco de Dados de Sistema (DB) - Configuração de dados e parâmetros IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 42 de 72 Blocos de Usuário 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 OB1 para chamar estes blocos quando necessário. Além do OB1, o sistema operacional pode chamar outros OB`s que reagem a certos eventos, tais como: - Interrupção Data Programada; - Interrupção de Diagnóstico; - Interrupção de Erro; - Interrupção de tempo de ciclo; - Interrupção de hardware. Blocos de Função (FB) É uma função ou uma seqüência de comandos armazenados 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 ao FB, e alguns dos dados locais são arquivados neste bloco de dados associado (Instance DB). Outros dados temporários são arquivados na pilha local (L stack). 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 qual não é designada área de memória. Um FC não necessita de um bloco de dados instance. As variáveis locais são arquivadas na pilha 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. Blocos de dados são áreas de leitura / escrita que podem ser carregadas na CPU como parte de seu programa. BLOCO DE USUÁRIO Tipo de Blocos Características Bloco de Organização (OB) - 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 - Parametrizável / retentivo - Parametrizável / não retentivo Função (FC) - Um valor de retorno será transferido - Não retentivo - Parametrizável Bloco de Dados (DB) - Estruturado, arquiva dados locais (DB instance) - Estruturado, arquiva dados globais (válido no programa inteiro) IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 43 de 72 Inserção de Blocos de Programa Para inserir blocos de programas deve-se seguir os passos abaixo: 1. No SIMATIC Manager, deve-se abrir a árvore do projeto até a pasta “Blocks”. Note que nesta pasta já se encontra um bloco, o “OB1”; 2. Clique com o botão direito do mouse na parte direita da tela (abrirá um menu); 3. Selecione o item “Insert New Object”. Este abrirá 6 opções de blocos; 4. Clique com o botão esquerdo do mouse no bloco desejado. Abrirá uma tela de configuração do bloco. Nesta coloque um nome para o bloco e clique no botão OK da tela. Ver FIG. 10 FIG. 10 Árvore do projeto aberta até a pasta “Blocks Item “Insert New Object” 6 opções de blocos do programa IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 44 de 72 Tabela de Símbolos A tabela de dados do programa pode ser criada de dois modos: - Edição de tag`s dos I/Os através do “hardware configurator”(Ver página 28); - Edição de tag`s dos I/O`s, das memórias internas e das DB`s através da lista de simbólicos. Edição de Tag`s usando lista de Simbólicos 1. No “SIMATIC Manager” abra a árvore do projeto até a pasta “S7 Program”; 2. Note que no lado direito da tela há um ícone chamado de “Symbols”. Duplo clique no mesmo. Aparecerá uma tela chamada de “Symbol Editor”. Nesta tela aparecerá todos os tag`s já criados, sejam eles para I/O`s físicos ou memórias internas. 3. Clique no campo “Symbol” e insira um tag; 4. Clique no campo “Adress” e insira um endereço, seja ele de um ponto físico ou uma memória; 5. Clique no campo “Data Type” e insira o tipo de dado, ou seja, se é bool, word, integer, dobleword, timer, count, etc; 6. O campo “Coment” serve para inserir um comentário sobre o tag criado; 7. Clique no campo “Symbol” e insira um tag; 8. Após a edição salve a tabela e feche a tela. Campo para Tag`s Campo para endereço Campo para tipo de dados Campo de comentários IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 45 de 72 Programação Linguagens de programação do STEP 7 No STEP 7 pode-se programar em três tipos de linguagem: LAD – Diagrama Ladder; FBD - Blocos de Função; STL – Lista de Instrução. É importante também ressaltar que após o programa criado em uma linguagem, por exemplo, LAD, esse pode ser convertido para uma outra linguagem, por exemplo, STL. Faixa de Endereçamento Máximo no STEP 7 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 aos I/O`s analógicos PIW e PQW) T Temporizadores C Contadores DB Data Block DI Data Block (usado em bloco de dados instance) FAIXA DE ENDEREÇAMENTO MÁXIMO Área de Endereço Tipo de Acesso Operando Endereçamento Max. Imagem do Processo I/Q - bit entrada/saída - byte entrada/saída - Word entrada/saída - double Word entrada/saída I/Q IB/QB IW/QW ID/QD 0.0 a 65535.7 0 a 65535 0 a 65534 0 a 65532 Memory Makers (Flags) - bit de memória - byte de memória - Word de memória - double Word de memória M MB MW MD 0.0 a 16383.7 0 a 16383 0 a 16382 0 a 16380 I/O Analógico - byte I/Q, periferia. - word I/Q, periferia - double word I/Q, periferia PIB/PQB PIW/PQW PID/PQD 0 a 65535 0 a 65534 0 a 65532 Temporizadores Temporizadores (T) T 0 a 512 Contadores Contadores (C) C 0 a 512 Blocos de Dados Blocos de Dados (DB) DB 1 a 8192 Dados em blocos de dados Aberto com OPN DB Bit, byte, Word, double Word Aberto com OPN DI Bit, byte, Word, double Word DBX, DBB DBW, DBD DIX, DIB DIW, DID 0 a 65532 0 a 65532 IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 46 de 72 Principais Instruções Normally Open Contact – Instrução de entrada Esta instrução é usada para determinar se o bit está em On (1) Normally CloseContact – Instrução de entrada Esta instrução é usada para determinar se o bit está em Off (0) Coil – Instrução de saída Está instrução é usada quando se quer tornar verdadeiro um bit após uma condição lógica. Set – Instrução de saída Está instrução é uma saída retentiva e só pode mudar o estado de um bit para On (1). Reset – Instrução de saída Está instrução é uma saída retentiva e só pode mudar o estado de um bit para Off (0). IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 47 de 72 Positive RLO Edge Detection – Instrução de entrada Está instrução que permite um pulso na borda de subida (transição). Negative RLO Edge Detection – Instrução de entrada Está instrução que permite um pulso na borda de descida (transição). Timer On Delay (S_ODT) / Timer Off Delay (S_OFFDT) Estas instruções são usadas para ligar uma saída (S_ODT) ou desligar uma saída (S_OFFDT) depois de um tempo pré determinado. S Entrada TV Preset ou tempo desejado R Reset do temporizador Q Saída BI Contagem do tempo no formato inteiro BCD Contagem do tempo no formato BCD O valor do acumulador é automaticamente zerado quando a condição que iniciou a contagem é retirada ou pode ser zerado pela instrução RES IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 48 de 72 Contador Crescente (S_CU) Com um “flanco” de impulso positivo na entrada S, o contador é carregado com o valor da entrada PV. Iniciando com 0 ou PV, 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 PV não for igual a 0. Se houver um flanco de impulso na entrada R o contador é resetado, isto é, o contador é setado com o valor 0. CU Acrescenta 1 na contagem S Carrega o valor PV no contador PV Preset R Reset Q Saída CV Valor corrente do contador no formato hexadecimal CV_BCD Valor corrente do contador no formato BCD Contador Decrescente (S_CD) Com um “flanco” de impulso positivo na entrada S, o contador é carregado com o valor da entrada PV. Iniciando com 0 ou PV, o contador conta decrescentemente a cada vez que existe um flanco de impulso positivo na entrada CD. A saída Q é sempre 1, enquanto o valor de PV não for igual a 0. Se houver um flanco de impulso na entrada R o contador é resetado, isto é, o contador é carregado com o valor 0. CD Subtrai 1 na contagem S Carrega o valor PV no contador PV Preset R Reset Q Saída CV Valor corrente do contador no formato hexadecimal CV_BCD Valor corrente do contador no formato BCD IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 49 de 72 Comparações de Inteiros Compara dois valores inteiros de acordo com o bloco. Se a função for verdadeira a saída vai para nível lógico 1. IN1 é igual a IN2 IN1 é diferente de IN2 IN1 é maior que IN2 IN1 é menor que IN2 IN1 é maior ou igual a IN2 IN1 é menor ou igual que IN2 Há também todos estes blocos de comparações para formatos “Double Integer” e “Real”. Move 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 a saída º ENO tem o mesmo estado do sinal que EM. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 50 de 72 And (WAND_W) Executa uma operação AND bit a bit entre IN1 e IN2 ` Or (WOR_W) Executa uma operação OR bit a bit entre IN1 e IN2 Or (WOR_W) Executa uma operação XOR bit a bit entre IN1 e IN2 Addiction (ADD_I) Esta instrução faz a soma de dois valores inteiros. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 51 de 72 Subtract (SUB_I) Esta instrução faz a subtração de dois valores inteiros. Multiply (MUL_I) Esta instrução faz a multiplicação de dois valores inteiros. Divide (DIV_I) Esta instrução faz a divisão de dois valores inteiros. Obs.: Para todas as operações aritméticas há blocos específicos para formatos de números “Double Integer” e “Real”. Jump 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; em STL o label é localizado atrás da junção JU. Jump Label IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 52 de 72 Editando o Organization Block Edição de Blocos de Programa Para abrir um bloco de usuário, deve-se duplo clicar no mesmo ou com o botão direito do mouse selecionar a opção open object. Na figura abaixo é ilustrado o bloco “OB1” sendo aberto pelo usuário. Sub-pasta “Blocks” Botão direito do mouse Open object Escolha sua Linguagem de programação Nome simbólico para o Bloco Confirma configuração Comentário IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 53 de 72 A edição de bloco é de forma simples. Para auxiliar na elaboração da lógica há uma biblioteca de instruções chamada de “Program Elements” ou Biblioteca de instruções. Esta é acessada através de um botão localizado na barra de ferramentas. Título do bloco Botão de visualização da biblioteca de instruções Tabela de Declarações Biblioteca de instruções IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 54 de 72 A edição do programa em diagrama de contatos é feita basicamente com 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 exemplo I0.0,M43.5).Os elementos lógicos são encontrados ou na barra de ferramentas na forma de ícone ou através de uma biblioteca de instruções, como mostrado na figura abaixo. Inserir endereços Biblioteca de instruções IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 55 de 72 Com a programação finalizada não esquecer de salvar a edição dos blocos. E para atualizar o bloco na CPU, há um botão de “Download” na barra de ferramentas. Seção de Instruções Nesta área é especificada 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 é 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 acionada. 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). Download do programa para o módulo Salve o Programa depois de feito Seção de instruções IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 56 de 72 Conexão On-line 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 STOP. Com o Step7 pode-se estabelecer conexão de dois métodos: - Através do Blocode Usuário; - Através do SIMATIC Manager. Conexão On-line através do Bloco de Usuário Com o bloco descarregado na CPU, para visualizá-lo basta clicar em um ícone chamado “Monitor on/off” que está localizado na barra de ferramentas do bloco. Este ícone é caracterizado por um óculos. Com o bloco on-line pode-se realizar alterações na lógica do mesmo, porém não deve se esquecer de salvá-lo. Status da CPU Monitor ON IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 57 de 72 Conexão On-line através do SIMATIC Manager Para visualizar os blocos on-line deve-se clicar em um ícone chamado “Online” que está localizado na barra de ferramentas do bloco, ou se preferir, através do menu View On-line. Quando selecionar o diretório da CPU, o SIMATIC Manager exibe os nomes de todos os blocos localizados na CPU. Pode-se também usar este menu para abrir blocos para edição e depuração de programas. Online Menu View IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 58 de 72 Criando um Function Sub-Pasta Blocks Botão direito do mouse Insert New Object =>Function Escolha sua Linguagem de programação Nome simbólico para o Bloco Confirma configuração IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 59 de 72 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 do bloco nesta tabela. A parametrização torna possível passar variáveis entre blocos para que sejam usados universalmente. Tabela de declarações de variáveis IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 60 de 72 Programando a FC e adicionando na OB Adicionamos as variáveis de entrada: Adicionamos a variável de saída: Fazemos a Lógica utilizando as variáveis adicionadas anteriormente: IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 61 de 72 Salvamos e abrimos nosso OB1, nosso FC criado está no caminho da figura abaixo: Um duplo clique sobre ele o adicionará na nossa Network: Apenas coloque os endereços e salve o OB1 e ele estará pronto para ser usado. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 62 de 72 VAT - Tabela de Monitoração/Modificação de Variáveis A ferramenta Monitor/Modify Variable é uma ferramenta com a qual pode se exibir os estados dos operandos do programa. Podemos criar tabelas de variáveis em vários formatos que necessariamente não têm que ser uma parte do programa. Insert=>S7 Block => Variable Table Nome simbólico para o Bloco Confirma configuração IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 63 de 72 Duplo clique no arquivo criado no SIMATIC MANAGER. A seguinte tela se abrirá: Inserindo intervalo de variáveis para monitoração: Í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ída) Botão direito do mouse Endereço da variável Tipo de dado da variável Número de bits que será gerado a partir do endereço IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 64 de 72 Modo monitor ativo Modo RUN ativo Característica das variáveis como endereço,símbolo , tipo de dado mostrado e seus status atual Local onde pode se modificar o valor da variável IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 65 de 72 Data Block(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 Bloco 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. Existem dois tipos diferentes de Blocos de Dados, cada um servindo a um propósito diferente dependendo de sua relação ao bloco de programa. 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. Criando um DB No menu insert=>S7 Block=>Data Block. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 66 de 72 Abra o bloco com um duplo clique sobre ele. Tipo de Data Block Nome simbólico para o Bloco Confirma configuração Nome da variável Tipo da variável Valor Inicial Comentários Endereço de memória local Em qual FB ele irá ser Instance IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 67 de 72 Exemplo de acesso a um Data Block IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 68 de 72 Referência Cruzada (Cross Reference) 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==>Display. Clique em Cross-references e depois em OK. IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 69 de 72 Opções Lista todos os operandos e sua localização (Bloco e Segmento). Lista o mapa de utilização da memória I/Q/M/C/T. Lista a estrutura do programa e 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. Para todas as opções pode-se selecionar um filtro, isto é, selecionar quais os operandos ou faixa de operandos que se deseja visualizar. Endereço ou Símbolo da variável Bloco(s) onde se encontra a variável Linguagem de programaçãoTipo de acesso: Leitura(R) ou Escrita(W) Local onde se encontra a variável IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 70 de 72 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. A informação é acessada dentro da Referência Cruzada no menu View==> Program Strucuture ou pelo ícone : Go To Location Botão direito do mouse em cima da variável: IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 71 de 72 Backup de aplicação A estrutura de projeto Step7 é 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. 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 forma: Selecione FILE=>ARCHIVE, escolha o projeto a ser arquivado, depois escolha o nome do arquivo final e o lugar aonde deverá ser gravado. 1 2 3 IASTECH TREINAMENTO EM STEP-7 Versão 3.0 11/10/2007 Step7Básico_42534.doc pag. 72 de 72 Recuperando Um arquivo anteriormente comprimido precisa ser restaurado antes de ser utilizado. Isto é feito pelo caminho oposto ao arquivamento, através do caminho FILE=>RETRIEVE, escolha o projeto a ser recuperado e escolha o local final dos arquivos: 1 2 3