Baixe o app para aproveitar ainda mais
Prévia do material em texto
U NI V E R S I D A D E D O OE S T E D E S A N T A C A T AR I N A Á R E A D E C I Ê N C I A S E X A T A S E T E C N O L Ó G I C A S C u r s o de E s p ec ia l iz a ç ã o em E ng e n ha r i a d e A u t o m a çã o I n d u s t r ia l D i s c ip l i na : Co n t r o l a d o r es L ó g i c os Pr o g r a m á v e i s P r o f es s or : N i ko l as H en n em a n n Ba r b o s a Apostila Controladores Lógicos Programáveis S7-1200 Siemens / TIA PORTAL NIKOLAS HENNEMANN BARBOSA Joaçaba, 2017 Página | 2 1 Introdução .................................................................................................... 9 2 Criando um Projeto .................................................................................... 10 3 Configurando o hardware .......................................................................... 13 3.1 Configuração Manual de Hardware .......................................................................... 13 3.2 Configuração Automática de Hardware ................................................................... 16 3.3 Configuração do endereço IP ................................................................................... 18 3.4 Configuração de endereços lógicos .......................................................................... 18 3.5 Configuração de Clock e System Memory ................................................................ 19 4 Project Tree ............................................................................................... 21 4.1 Device Configuration ............................................................................................... 22 4.2 Online & Diagnostics ................................................................................................ 22 4.3 Program Blocks ........................................................................................................ 22 4.4 Technology Blocks ................................................................................................... 22 4.5 External Source File ................................................................................................. 23 4.6 Declaração da Lista de Variáveis .............................................................................. 23 4.7 PLC Data Types ........................................................................................................ 24 4.8 Watch and Force Tables ........................................................................................... 24 4.9 Program Info ........................................................................................................... 26 4.10 Local Modules ......................................................................................................... 26 5 Programação Básica.................................................................................. 29 5.1 Temporizadores ....................................................................................................... 31 5.2 Contadores .............................................................................................................. 37 5.3 Comparadores ......................................................................................................... 39 6 Programação Avançada ............................................................................ 43 6.1 Tipos de Blocos ........................................................................................................ 43 6.1.1 Functions ......................................................................................................... 44 Página | 3 6.1.2 Function Block ................................................................................................. 47 6.1.3 Bloco de Dados (DB) ......................................................................................... 50 6.1.3.1 Tipos Elementares ........................................................................................ 50 6.1.3.2 Tipos Complexos .......................................................................................... 51 6.1.4 Blocos de Organização (OB) ............................................................................. 52 6.1.4.1 OB1 – Program Cycle .................................................................................... 54 6.1.4.2 OB10x – Startup ........................................................................................... 54 6.1.4.3 OB20x – Time delay interrupt ....................................................................... 54 6.1.4.4 OB3x – Cyclic Interrupt ................................................................................. 55 6.1.4.5 OB4x – Hardware Interrupt .......................................................................... 55 6.1.4.6 OB80 – Time error interrupt ......................................................................... 55 6.1.4.7 OB82 – Diagnostic Interrupt ......................................................................... 55 6.2 User Data Type (UDT) .............................................................................................. 55 6.3 Multi-instance ......................................................................................................... 57 6.4 Controle PID ............................................................................................................ 59 6.4.1 Configuração do PID......................................................................................... 62 6.4.2 Comissionamento do PID ................................................................................. 65 6.5 Linguagem SCL ......................................................................................................... 67 6.6 Comunicação entre dois S7-1200 via ethernet ......................................................... 70 6.6.1 Configuração TSEND_C..................................................................................... 71 6.6.2 Configuração TRCV_C ....................................................................................... 76 6.7 Rede AS-i ................................................................................................................. 80 6.7.1 Topologia ......................................................................................................... 83 6.7.2 Módulos de I/O ................................................................................................ 86 6.7.3 Endereçamento de Rede .................................................................................. 89 6.7.4 Comunicação via DP coupler para rede AS-i ..................................................... 90 Página | 4 6.8 Rede Profibus DP ..................................................................................................... 97 7 Download do Programa ............................................................................. 98 8 Iniciando um Projeto com a IHM ................................................................ 99 8.1 Configurando a IHM............................................................................................... 101 8.1.1 Criando a Conexão com o CLP ........................................................................ 101 8.1.2 Layout de Tela................................................................................................ 102 8.1.3 Pré-configurando alarmes: ............................................................................. 103 8.1.4 Mapeamento de Telas ................................................................................... 104 8.1.5System Screen................................................................................................ 105 8.1.6 Rodapé .......................................................................................................... 106 8.2 Objetos de Tela...................................................................................................... 107 8.2.1 Basic Objects .................................................................................................. 107 8.2.2 Elementos ...................................................................................................... 108 8.2.2.1 Display (I/O Field) ....................................................................................... 108 8.2.2.2 Botão ......................................................................................................... 108 8.2.2.3 Display Simbólico (Symbolic I/O Field) ........................................................ 108 8.2.2.4 Display Gráfico (Graphic I/O Field) .............................................................. 108 8.2.2.5 Display de Data/Hora (DateTime Field) ....................................................... 108 8.2.2.6 Bar (Bar)..................................................................................................... 108 8.2.2.7 Switch (Switch)........................................................................................... 109 8.3 Propriedades dos objetos ...................................................................................... 109 8.4 Animações ............................................................................................................. 110 8.5 Events.................................................................................................................... 112 8.5.1 Funções dos Eventos ...................................................................................... 113 Página | 5 Indice de Figuras Figura 1 - Tela de Abertura TIA Portal V11 ............................................................................... 10 Figura 2 - Tela de Criação do Projeto ....................................................................................... 11 Figura 3 - Iniciando o Projeto .................................................................................................. 12 Figura 4 - Configurando o Hardware ........................................................................................ 13 Figura 5 - Inserindo a CPU ....................................................................................................... 14 Figura 6 - Configurando o Hardware ........................................................................................ 15 Figura 7 - Inserindo uma CPU genérica .................................................................................... 16 Figura 8 - Auto-detectando o hardware................................................................................... 17 Figura 9 - Hardware detectado ................................................................................................ 17 Figura 10 - Configurando o Endereço IP................................................................................... 18 Figura 11 - Endereçamentos Lógicos ....................................................................................... 19 Figura 12 - Configuração de Memória de Clock e de Sistema ................................................... 20 Figura 13 - Project Tree ........................................................................................................... 21 Figura 14 - Technology Blocks ................................................................................................. 23 Figura 15 - Declaração de Variáveis ......................................................................................... 24 Figura 16 - Watch Window ...................................................................................................... 25 Figura 17 - Force table ............................................................................................................ 25 Figura 18 - Program Info ......................................................................................................... 26 Figura 19 - Local Modules ....................................................................................................... 27 Figura 20 - Local Modules na Arvore do Projeto ...................................................................... 28 Figura 21 - Elementos de Programação ................................................................................... 29 Figura 22 - Gráfico TON ........................................................................................................... 31 Figura 23 - Gráfico TOF............................................................................................................ 32 Figura 24 - Gráfico TP .............................................................................................................. 32 Figura 25 - Inserindo um TON.................................................................................................. 33 Figura 26 - Nomeando o TON .................................................................................................. 34 Figura 27 - Utilização do TON .................................................................................................. 35 Figura 28 - TON Online - Contagem de Tempo ......................................................................... 36 Figura 29 - Tempo Atingido ..................................................................................................... 36 Figura 30 - Nomeando o Contador .......................................................................................... 37 Figura 31 - Utilizando o Contador ............................................................................................ 39 Página | 6 Figura 32 - Comparador Igual .................................................................................................. 40 Figura 33 - Comparador Diferente ........................................................................................... 40 Figura 34 - Comparador Maior ................................................................................................ 41 Figura 35 - Comparador Menor ............................................................................................... 41 Figura 36 - Comparador Maior Igual ........................................................................................ 41 Figura 37 - Comparador Menor Igual ....................................................................................... 42 Figura 38 - Tipos de blocos ...................................................................................................... 43 Figura 39 - Tipos de Programas ............................................................................................... 44 Figura 40 - Function ................................................................................................................ 45 Figura 41 - Criando uma FC ..................................................................................................... 45 Figura 42 - Variáveis da FC ...................................................................................................... 46 Figura 43 - Function Block ....................................................................................................... 47 Figura 44 - Inserindo um FB ..................................................................................................... 48 Figura 45 - Variáveis FB ...........................................................................................................49 Figura 46 - Acessando dados de uma DB global ....................................................................... 50 Figura 47 - Dados Elementares ................................................................................................ 51 Figura 48 - Dados Complexos .................................................................................................. 52 Figura 49 - Tipos de OBs .......................................................................................................... 53 Figura 50 - Blocos de Organização ........................................................................................... 54 Figura 51 - PLC Data Types ...................................................................................................... 56 Figura 52 - Declarando uma UDT ............................................................................................. 56 Figura 53 - Multi-instance ....................................................................................................... 58 Figura 54 - Intanciando o DB ................................................................................................... 59 Figura 55 - Bloco de Controle PID ............................................................................................ 60 Figura 56 - Inserindo o OB30 ................................................................................................... 61 Figura 57 - Bloco PID ............................................................................................................... 62 Figura 58 - Janela de configuração do PID ............................................................................... 63 Figura 59 - Configuração da escala do PID ............................................................................... 63 Figura 60 - PID manual ............................................................................................................ 64 Figura 61 - Acesso aos parametros PID .................................................................................... 65 Figura 62 - Start do PID ........................................................................................................... 66 Figura 63 - Pretuning PID ........................................................................................................ 67 Figura 64 - Exemplo de código SCL .......................................................................................... 68 Página | 7 Figura 65 - Funções de conversão de tipos de dados ............................................................... 69 Figura 66 - Funções de conversão numérica ............................................................................ 69 Figura 67 - Estações configuradas ........................................................................................... 70 Figura 68 - Blocos de comunicação ethernet ........................................................................... 71 Figura 69 - TSEND_C................................................................................................................ 72 Figura 70 - Configuração bloco TSEND_C ................................................................................. 72 Figura 71 - Connection data TSEND_C ..................................................................................... 73 Figura 72 - TSEND_C configuração ........................................................................................... 74 Figura 73 - Block Parameters TSEND_C .................................................................................... 75 Figura 74 - Bloco TSEND_C configurado ................................................................................... 76 Figura 75 - Configuração TRCV_C ............................................................................................ 77 Figura 76 - TRCV_C Block Parameters ...................................................................................... 78 Figura 77 - Conecction Data TSEND_C ..................................................................................... 79 Figura 78 - Entrada REQ TSEND_C ........................................................................................... 80 Figura 79 - Topologia convencional de um sistema de automação........................................... 81 Figura 80 - Ligação convencional ............................................................................................. 81 Figura 81 - Instalação convencional ......................................................................................... 82 Figura 82 - Ligação com rede AS-i ............................................................................................ 82 Figura 83 - Instalação AS-i ....................................................................................................... 83 Figura 84 - Linha do tempo AS-i ............................................................................................... 83 Figura 85 - Topologia Rede AS-i ............................................................................................... 84 Figura 86 - Topologia integrada ............................................................................................... 85 Figura 87 - Características rede AS-i ........................................................................................ 85 Figura 88 - Topologia em arvore .............................................................................................. 86 Figura 89 - Módulos de campo ................................................................................................ 87 Figura 90 - Montagem dos módulos ........................................................................................ 87 Figura 91 - Terminais Vampiro ................................................................................................ 88 Figura 92 - Dispositivos com AS-i integrado ............................................................................. 88 Figura 93 - Módulo configurador ............................................................................................. 89 Figura 94 - Topologia com DP coupler ..................................................................................... 90 Figura 95 - Módulo DP Coupler AS-i......................................................................................... 91 Figura 96 - Endereçamento Profibus ....................................................................................... 92 Figura 97 - Selecionando o DP Coupler no catálogo de hardware ............................................ 93 Página | 8 Figura 98 - Escravo inserido..................................................................................................... 94 Figura 99 - Rede profibus associada entre os equipamentos ................................................... 95 Figura 100 - Configuração do endereço Profibus no TIA .......................................................... 96 Figura 101 - Configuração DP Coupler ..................................................................................... 96 Figura 102 - Acesso aos endereços AS-i ................................................................................... 97 Figura 103 - Fazendo Download .............................................................................................. 98 Figura 104 - Inserindo a IHM ................................................................................................... 99 Figura 105 - Selecionando o Equipamento............................................................................. 100 Figura 106 - Inserindo uma Conexão entre IHM e CLP ...........................................................101 Figura 107 - Configurando o Layout da Página ....................................................................... 102 Figura 108 - Pré-configurando Alarmes ................................................................................. 103 Figura 109 - Navegação de Telas ........................................................................................... 104 Figura 110 - Configuração de Telas do Sistema ...................................................................... 105 Figura 111 - Botões pré-configurados .................................................................................... 106 Figura 112 - Objetos de Tela .................................................................................................. 107 Figura 113 - Propriedades do Botão ...................................................................................... 110 Figura 114 - Animações do Objeto Botão .............................................................................. 111 Figura 115 - Eventos do objeto Botão .................................................................................... 112 Figura 116 - Funções dos Eventos.......................................................................................... 113 Página | 9 1 Introdução A presente apostila tem como objetivo auxiliar os alunos do curso de programação avançada de CLP, IHM e Supervisórios na criação de um projeto novo utilizando o software TIA V11, destinado a programação de Controladores Lógicos Programáveis da linha S7-1200 da Siemens. Neste documento também estão descritos procedimentos para utilização de temporizadores, contadores, entradas e saídas analógicas, criação de FC, FB e DB, programação estruturada, programação em SCL, STL, bem como utilização do controle PID próprio do CLP. Levando em consideração a arquitetura e a filosofia TIA (Totally Integrated Automation), neste software é possível a programação de toda a linha de CLP’s, IHM e Supervisório da Siemens. A versão utilizada no SENAI é a TIA Basic, liberando apenas a programação da linha S71200 e IHM KTP, porém, nas versões Professional e Advanced, estão liberadas todas as famílias de CLP’s (S7-1200, S7-300, S7-400, ET200s CPU) e também toda a linha de IHM’s (KTP, TP, MP, Comfort Panel). Utilizando este princípio, nesta apostila também estará disponível um tutorial de criação de projeto uitilizando a IHM KTP600, disponíveis nos KIT didáticos do SENAI. O software de supervisão que será utilizado em sala de aula é o Elipse E3, da marca Elipse de Porto Alegre – RS. Este supervisório é um dos lideres atuais do mercado de sistemas de supervisão, tendo uma ampla plataforma de desenvolvimento, aliando simplicidade e funcionalidade ao seu sistema. Página | 10 2 Criando um Projeto Na área de trabalho, de um duplo clique no ícone TIA Portal V11. A seguinte tela abrirá Figura 1 - Tela de Abertura TIA Portal V11 Página | 11 Após aberto o software, a seguinte tela irá aparecer. Figura 2 - Tela de Criação do Projeto Nesta tela, podem ser feitos os seguintes comandos: Open existing project: Dá a possibilidade de abrir um projeto existente. Create new project: Cria um novo projeto. Migrate project: Migra um software iniciado no Simatic Manager V5.x para o TIA V11 Página | 12 Ao clicar em create new project, será possível nomear o projeto, bem como alterar seu destino de gravação, caso necessite gravá-lo em pen-drive, por exemplo. Figura 3 - Iniciando o Projeto Página | 13 3 Configurando o hardware 3.1 Configuração Manual de Hardware Após nomear e selecionar o caminho de destino, clique em create. O projeto será criado e você poderá iniciar os trabalhos, conforme mostra a figura 4. Figura 4 - Configurando o Hardware Criado o projeto, devemos iniciar a configuração de Hardware do sistema. De um clique no botão destacada em vermelho na figura 4. Esta configuração é indispensável para o correto funcionamento do CLP. É dever do aluno configurar no software quais são os equipamentos utilizados no kit. Página | 14 Após selecionada a ferramenta de configuração de equipamento, como se trata de um projeto novo, devemos inserir um novo equipamento, como sugere a figura 5. Figura 5 - Inserindo a CPU Após clicar no botão add new device, poderá ser escolhido o modelo de CLP e IHM que serão utilizados no projeto. O CLP montando nos kits didáticos é a: CPU 1214C DC/DC/DC: código 6ES7 214-1AE30-0XB0. Página | 15 É indispensável que os módulos montados no kit didático sejam totalmente reproduzidos no software, de modo que não ocorram erros na inicialização do CLP quando do download das configurações para o mesmo. Desta forma, é necessário configurar os seguinte módulos juntamente com a CPU: CM1241 (RS485) - 6ES7 241-1CH30-0XB0 CM1243-5 (PROFIBUS DP) – 6GK7 243 – 5DX30 – 0XE0 Deve-se seguir a sequência de montagem como mostra a figura 6. Figura 6 - Configurando o Hardware Com um duplo clique sob os módulos de comunicação, automaticamente eles são inseridos no rack, conforme figura a cima. Vale lembrar que está configuração está sendo feita em função do KIT didático que será trabalhando em aula, possuir exatamente estes módulos, porém, estas configuração varia de acordo com a aplicação automatizada. Página | 16 3.2 Configuração Automática de Hardware Outra maneira de fazer a configuração do hardware, é fazendo-o de forma automática. Apenas os equipamentos que suportem porta Profinet integrada possuem esta característica. Para fazer-se esta configuração, ao invés de adicionar o modelo já CPU, insere-se um modelo “sem especificação”,e logo após, da-se um comando para que o TIA detecte a configuração completa do hardware, importando os modelos de módulos e cartões de expansão conectados a CPU, bem como suas respectivas versões de firmware. Figura 7 - Inserindo uma CPU genérica Após inserir a CPU genérica, a seguinte tela abrirá. (Figura 8) Página | 17 Figura 8 - Auto-detectando o hardware Clicando em detect, o software estabelecerá uma conexão com o CLP lendo todas as configurações do hardware conectado ao computador. Figura 9 - Hardware detectado Feito isto, o software estará configurado e pronto para iniciar a programação. Página | 18 3.3 Configuração do endereço IP Após a inserção dos módulos de comunicação, o próximo passo é a configuração do endereço IP do CLP. Para tal comunicação, basta um duplo clique na porta RJ45 junto da CPU. Figura 10 - Configurando o Endereço IP Caso não seja selecionado automaticamente o campo ethernet address, na tela de propriedades, deve-se selecionar o campo e configurar o endereço IP, conforme figura 7. Depois de configurado o endereço IP, é necessário salvar o projeto no botão save project. Salvando o projeto, o programa irá compilar as informações e só assim as entradas estarão disponíveis para a programação. 3.4 Configuração de endereços lógicos Após a correta configuração do hardware é interessante verificar os endereços lógicos fornecidos pelo software as entradas e saídas do sistema. Estes endereços são de suma importância para o correto desenvolvimento do software. Conforme mostra a figura 9, podemos modificar todos os endereçamentos tanto da CPU como de módulos de expansão: Página | 19 Figura 11 - Endereçamentos Lógicos Todos os endereços em destaque na figura 11, podem ser modificados através do software,basta a modificação na referida janela: device overview. A medida em que são inseridos os módulos, automaticamente o software atribui endereços a eles, deve-se verificar quais são estes endereços para fazer a correta utilização no desenvolvimento do programa. 3.5 Configuração de Clock e System Memory Esta configuração é muito utilizada para auxiliar o programador durante o desenvolvimento do software, uma vez que podem-se configurar memórias de sistema para aplicações específicas como: Memória sempre em UM; Memória sempre em ZERO; Memória de ciclo de inicialização; Mudança do status do diagnóstico; Página | 20 Para isto é necessario habilitar estas funções. Juntamente com estas configurações, pode-se habilitar também, memórias que possuem um pulso de clock definido. Todas estas configurações estão disponíveis com um duplo clique na CPU, abrindo a aba de propriedades. Figura 12 - Configuração de Memória de Clock e de Sistema Página | 21 4 Project Tree Na tela à esquerda do monitor, denominada Project Tree, estão todas as informações necessárias para o desenvolvimento da aplicação. Figura 13 - Project Tree As principais pastas para o desenvolvimento do programa são: PLC tags: Responsável pela declaração da lista de IO’s do sistema; Program blocks: Nesta pasta está o bloco de programação principal para o início do programa, denominado Main [OB1]. Página | 22 4.1 Device Configuration Responsável pela configuração do equipamento. Com um duplo clique nele, você poderá modificar a configuração de hardware atual, inserindo ou removendo objetos. Também é possível a criação/modificação de configurações de rede. 4.2 Online & Diagnostics Esta aba será acessível somente quando o CLP estive em modo online, dando acesso as funções de reset da CPU, buffer de diagnóstico, capacidade da CPU de temporizadores/contadores e etc 4.3 Program Blocks Nesta pasta estão concentrados todos os blocos utilizados no programa, sejam eles FC, FB, DB, OB. Também está disponível a função para inserir novos blocos ao programa. 4.4 Technology Blocks Blocos tecnológicos são blocos de funções prontos e disponibilizados pela Siemens, como blocos de controle PID, blocos de controle de movimento (motion) para utilização com inversores de frequência e servos-motores. Página | 23 Figura 14 - Technology Blocks 4.5 External Source File Através destas fontes, é possível importar um programa feito em SCL para o projeto atual Caso você tenha exportado as fontes de um projeto do Simatic Manager, é possível a importação para o TIA V11 através desta função. 4.6 Declaração da Lista de Variáveis Um duplo clique sob a opção Show all tags, na pasta PLC Tags, abrirá uma janela onde poderão ser realizadas todas as declarações de variáveis do sistema. Página | 24 Figura 15 - Declaração de Variáveis Para a declaração de variáveis somente é necessária a escrita do nome do símbolo que será utilizado, ao pressionar a tecla ENTER, automaticamente as outras colunas serão preenchidas, inclusive a coluna de endereçamento. Por padrão, esta coluna inicia sempre no endereço %I0.0. Caso seja necessário mudar a área de endereçamento, o mesmo deve ser feito à mão. 4.7 PLC Data Types Nesta seção é possível criar um tipo de dado conforme a necessidade do usuário. Ao invés de se trabalhar com variáveis do tipo bool, byte, word, double word, pode-se criar uma própria estrutura de dados, acessando-a através de uma DB e utilizando seus dados internos. Mais detalhes serão vistos no capitulo 6.1.5 de programação avançada. 4.8 Watch and Force Tables Neste local é possível criar tabelas para monitorar e forçar variáveis do sistema. Clicando em “add new watch table”, uma nova tabela será criada. Nela poderão ser inseridos os endereços a serem monitorados, por exemplo, entradas digitais e analógicas, saídas digitais e analógicas, memórias de quaisquer tipo, endereços de DB. Página | 25 Figura 16 - Watch Window Caso seja necessário forçar algum endereço, deve-se manipular a tabela chamada “force table”. Através dela, o CLP ignora o resultado lógico da operação do determinado endereço e prevalece o que estiver na tabela de force. É importante lembrar que não podem ser forçados endereços de entradas digitais ou analógicas, por se tratarem de elemento que fornecem o sinal para o CLP. São aceitos apenas endereços de saída digital e analógica, memórias e endereçamentos de DB’s. Figura 17 - Force table Página | 26 Após inserido o valor a ser forçado na colune “force value”, é necessário aplicar o valor, pressionando o primeiro F da coluna superior esquerda, conforme a figura 17. 4.9 Program Info Mostra as principais informações a respeito do programa que está sendo desenvolvido, como: Utilização de memória de dados e de trabalho; Numero de FC’s, FB’s, DB’s e OB’s utilizados Memória disponível; Figura 18 - Program Info 4.10 Local Modules Dá acesso ao módulos periféricos a CPU, como por exemplo, remotas profibus, cartões de rede... Página | 27 Figura 19 - Local Modules A figura 19 se reflete na seguinte arvore de projeto de local modules: Página | 28 Figura 20 - Local Modules na Arvore do Projeto Página | 29 5 Programação Básica Neste tópico será dada ênfase na utilização de temporizadores, contadores e comparadores de entradas analógicas. Operação simples, porém de grande importância durante a programação de CLP’s. Para o início da programação, deve-se levar em consideração a tabela destacada na figura 10. Figura 21 - Elementos de Programação Nesta barra de ferramentas é possível inserir as principais instruções para o desenvolvimento do programa. Página | 30 Da esquerda para a direita, na tabela destacada, a ordem de elementos é: Contato NA; Contato NF; Bobina Simples; Bloco Genérico (utilizados para chamar temporizadores e contadores); Abertura de linha; Fechamento de Linha; Para alteração do tipo da bobina simples, basta um duplo clique sob a mesma, onde aparecerão os outros modelos disponíveis, conforme figura ao lado. Instrução Descrição Simbolo NA Contato Normalmente Aberto NF Contato Normalmente Fechado Bobina Simples Bobina Simples Bobina SET Bobina SET – Atribui o valor 1 ao endereço de forma retentiva Bobina RESET Bobina Reset – Atribui o valor 0 ao endereço de forma retentiva Bobina SB Bobina Set bit field Bobina RB Bobina Reset bit field Página | 31 P Flanco Positivo – Atua como um filtro de entrada, lendo apenas o instante em que o nível lógico passa de 0 para 1, durante um ciclo de scan. N Flanco Negativo - Atua como um filtro de entrada, lendo apenas o instante em que o nível lógico passa de 1 para 0, durante um ciclo de scan. NOT Contato de Negação – Inverte o nível lógico da entrada da instrução em sua saída 5.1 Temporizadores Existem basicamente três tipos de temporizadores utilizados no TIA V11, são eles: TON: Temporizador com retardo na energização; Figura 22 - Gráfico TON Página | 32 TOF: Temporizador com retardo na desenrgização; Figura 23 - Gráfico TOF TP: Temporizador de pulso; Figura 24 - Gráfico TP Para inserir o temporizador, basta selecionar a empty box e nomeá-la com o nome do temporizador que será utilizado (TON, TOF, TP). A figura11 mostra este procedimento. Página | 33 Figura 25 - Inserindo um TON Página | 34 Ao inserir o temporizador, abrirá uma janela conforme a figura abaixo: Figura 26 - Nomeando o TON Nesta janela, é necessário inserir um nome para o temporizador. IMPORTANTE: NÃO DEVEM SER UTILIZADOS CARACTERES ESPECIAIS E ESPAÇOS NO NOME DO TEMPORIZADOR. Página | 35 Inserido o temporizador o mesmo possui duas entradas e duas saídas: IN: Quando habilitada, inicia a contagem do tempo; PT: Preset do tempo a ser contado. Sua sintaxe deve ser T#xxs; Q: Saída do temporizador que é ativada quando a contagem chega ao preset; ET: Tempo decorrido da contagem. Geralmente utilizado para mostrar em IHM. Figura 27 - Utilização do TON Página | 36 As figuras a seguir mostram o comportamento online do temporizador: Figura 28 - TON Online - Contagem de Tempo Quando o temporizador atinge a contagem do preset, a saída Q é ativada: Figura 29 - Tempo Atingido Página | 37 5.2 Contadores O contador é dividido em três tipos: CTU: contador crescente; CTD: contador decrescente; CTUD: contador crescente/decrescente. Para inserir o contador, basta selecionar a empty box e nomeá-la com o nome do temporizador que será utilizado (CTU, CTD, CTUD). Ao inserir o contador, a mesma janela do temporizador irá aparecer. Nela deve- se colocar um nome para o temporizador, levando em consideração a observação do temporizador: NÃO UTILIZAR CARACTERES ESPECIAIS NEM ESPAÇO. Figura 30 - Nomeando o Contador Página | 38 Ao inserir o contador, o mesmo possui três entradas e duas saídas, conforme mostra a figura abaixo: CU: Cada pulso nesta entrada, incrementa a contagem do contador; R: Um pulso nesta entrada reinicia a contagem; PV: Preset de contagem para acionar a saída Q; Q: Saída ativada quando a contagem chega no número pré-determinado; Página | 39 CV: Contagem decorrida até o momento. Normalmente utilizada para IHM. Figura 31 - Utilizando o Contador A opção demonstrada acima é a mais prática para se obter os blocos desejados, porém existem outros meios de chama-los na network de programação. A outra maneira mais utilizada é através da barra lateral direita chamada Instructions: As pastas mais utilizadas são as destacadas em vermelho na figura ao lado: Bit logic operation: Possui as operações binárias a serem utilizadas (contato NA, NF, bobina …); Timer operations: Possui todos os temporizadores disponíveis para utilização no software; Counter operations: Contém os contadores disponíveis para utilização no software; Comparator operations: Operações de comparações do tipo maior, menor, maior/igual, menor/igual, igual, diferente e etc... Math Functions: Operações matemáticas disponíveis de soma, subtração, divisão, multiplicação e etc... 5.3 Comparadores Página | 40 Os comparadores são inseridos da mesma forma dos contatos NA, porém devem ser buscados na aba ao lado, conforme mostra a figura acima: Os comparadores estão divididos da seguinte maneira: Igual: Figura 32 - Comparador Igual Diferente: Figura 33 - Comparador Diferente Maior: Página | 41 Figura 34 - Comparador Maior Menor: Figura 35 - Comparador Menor Maior Igual: Figura 36 - Comparador Maior Igual Menor Igual: Página | 42 Figura 37 - Comparador Menor Igual Em todos estes blocos, é muito importante a distinção dos tipos de dados a serem comparados, pois não é possível a comparação de duas variáveis diferentes, como por exemplo: Comparar uma variável do tipo INT com uma variável do tipo REAL. A ordem de processamento da comparação é dada pelo elemento acima do contato com o elemento abaixo do mesmo, logo, comparamos o primeiro com o segundo. Página | 43 6 Programação Avançada Para o desenvolvimento de um programa estruturado, organizado e que facilite futuras manutenções ou então futuras expansões de hardware/software, faz-se necessária a utilização de métodos avançados de programação. Estes métodos visam a melhoria da interpretação do programa, bem como sua estruturação. Tais técnicas também podem ser utilizadas em programas mais simples, pois quanto mais organizado o programa, melhor... Figura 38 - Tipos de blocos 6.1 Tipos de Blocos Os blocos de programação estão subdivididos em 5 áreas: FC [Function]; FB [Function Block]; DB [Data Block]; OB [Organization Block]; Dependendo do tipo de bloco a ser utilizado na aplicação, o programa pode ser dividido nas seguintes áreas: Página | 44 Figura 39 - Tipos de Programas Programa Linear: Tem sua estrutura marcada pela ausência de qualquer bloco. Todo o programa é escrito dentro do OB1, que é o bloco principal de programação. Programa Particionado: Tem sua estrutura fracionada em vários blocos. Facilita a organização e manutenção do programa. Normalmente utilizados com FC’s. Programa Estruturado:Programação estruturada através da utilização de FB’s. (FC) Os elementos Functions são funções que executam determinadas ações e não possuem armazenamento de memória. Todos os dados são perdidos após a função chegar ao fim da chamada. Quando são utilizados blocos do tipo function é necessária a utilização de variáveis globais para o armazenamento de dados. 6.1.1 Functions Página | 45 Figura 40 - Function Para criação de uma function, seguem-se os passos conforme descrito na figura: Figura 41 - Criando uma FC Após criada a FC, ela ficará armazenada juntamente com o OB1, na pasta Program Block com a árvore do projeto. Para criar a programação dentro da FC, devemos levar em consideração as variáveis de entradas, saídas e temporárias que constituem a mesma. Página | 46 Figura 42 - Variáveis da FC Input: São dados de entrada do sistema, como por exemplo: sensores, botões, fins-de-curso e etc. Geralmente são variáveis apenas de leitura do sistema Output: São as variáveis de saída do bloco, como por exemplo: válvula para acionamento de um cilindro, contatora para acionamento de um motor e etc. Geralmente são variáveis somente de escrita do sistema, onde pode-se alterar o valor do estado atual do equipamento. InOut: São variáveis onde podem ser feitas leituras e escritas simultaneamente. Geralmente variáveis que possam comunicar com algum sistema de supervisão para alteração de setpoint’s de um processo. Temp: São as variáveis temporárias da função. Estas variáveis temporárias que auxiliam na programação dentro da FC. Ao invés de se utilizar de uma memória M (globais) do CLP, podem- se utilizar as memórias L (locais). Estas variáveis estarão disponíveis apenas dentro do bloco que elas foram criadas. Deve-se levar em consideração que ao utilizar memórias Locais, SEMPRE, deve-se primeiramente escrever um valor nela, para depois poder fazer uma leitura. Isto justifica o porque de a FC perder os dados após o término do processamento do bloco. As Fc’s, não possuem uma área para armazenar os dados após a primeira varredura do software, ou seja, caso uma leitura seja realizada antes de uma escrita, corre-se o risco de ler um valor que não seja coerente com o processo. (FB) Página | 47 O FB possui uma área de armazenamento de memória. Toda vez que a FB for chamada, deverá ser associada a ela um novo data block (DB). Nesta DB, sãosalvos todos os tipos de dados do bloco, como: entradas, saídas, variáveis temporárias, locais.. Figura 43 - Function Block Todos os dados contidos dentro de cada DB, podem ser acessados pela chamada da FB. 6.1.2 Function Block Página | 48 Figura 44 - Inserindo um FB Após criada a FB, ela ficará armazenada juntamente com o OB1, na pasta Program Block juntamente com a árvore do projeto. Para criar a programação dentro da FB, devemos levar em consideração as variáveis de entradas, saídas e temporárias que constituem a mesma. Página | 49 Figura 45 - Variáveis FB Input: São dados de entrada do sistema, como por exemplo: sensores, botões, fins-de-curso e etc. Geralmente são variáveis apenas de leitura do sistema Output: São as variáveis de saída do bloco, como por exemplo: válvula para acionamento de um cilindro, contatora para acionamento de um motor e etc. Geralmente são variáveis somente de escrita do sistema, onde pode-se alterar o valor do estado atual do equipamento. InOut: São variáveis onde podem ser feitas leituras e escritas simultaneamente. Geralmente variáveis que possam comunicar com algum sistema de supervisão para alteração de setpoint’s de um processo. Temp: São as variáveis temporárias da função. Estas variáveis temporárias que auxiliam na programação dentro da FB. Ao invés de se utilizar de uma memória M (globais) do CLP, podem- se utilizar as memórias L (locais). Estas variáveis estarão disponíveis apenas dentro do bloco que elas foram criadas. Deve-se levar em consideração que ao utilizar memórias Locais, SEMPRE, deve-se primeiramente escrever um valor nela, para depois poder fazer uma leitura. Static: Variáveis estáticas que são salvas dentro da DB instanciada da FB. Desta maneira, estes dados são salvos ao final do processamento do bloco, podendo ser utilizados no próximo ciclo de scan do sistema. Página | 50 Blocos de dados são elementos utilizados na organização e estruturação do programa. Eles dividem-se basicamente em duas estruturas. DB’s globais e DB’s instanciadas. DB’s globais podem ser acessados de qualquer parte do programa. Um exemplo claro de funcionamento de uma DB global é quando ela não está associada a nenhum FB, por exemplo...uma DB onde estarão todos os dados que serão utilizados na IHM ou supervisório. Desta maneira, entende-se que o DB não é uma ferramenta de programação, pois internamente ele não possui lógicas, apenas armazena dados de todos os tipos para serem acessados posteriormente. Figura 46 - Acessando dados de uma DB global DB’s instanciadas são aquelas que são delcaradas juntamente com alguma FB, por exemplo: TON, CTU ou qualquer outra FB que for criada dentro do programa. Existem dois grupos de dados que podem ser trabalhados dentro das DB. São os tipos elementares e os tipos complexos, aos quais iremos ver a seguir. 6.1.3.1 Tipos Elementares 6.1.3 Bloco de Dados (DB) Página | 51 Dados elementares são utilizados com frequência em programações básicas, pois possuem os tipos de dados básicos: Figura 47 - Dados Elementares 6.1.3.2 Tipos Complexos Variáveis de tipo complexo são utilizados quando o programa desenvolvido exige um nível de controle ou estruturação maior, pois em sua maioria são unidos vários tipos de dados elementares em uma única estrutura, de fácil acesso e entendimento. Página | 52 Figura 48 - Dados Complexos Os blocos de organização são a interface entre o sistema operacional do CLP e o programa do usuário, elas podem ser programadas pelo usuário, isto permite controlar a reação da CPU, os blocos de organização chamados pelo sistema operacional para os seguintes eventos. Comportamento de partida – Definem como a CPU se porta no momento da passagem de STOP para RUN. Processamento de programa cíclico – Execução normal do programa. Execução de programas dirigidos à interrupção – Partes do código que necessitam de processamento interrupto em sua execução, como exemplo pode-se citar um calculo PID. Manipulação de erros – Diagnósticos do sistema, monitoração e tratamento de erros. Todas as OB’s têm funções especiais, a próxima imagem descreve a numeração correspondente a OB’s específicas e logo se descreve algumas OB’s para tratamento e diagnósticos de erros. 6.1.4 Blocos de Organização (OB) Página | 53 Figura 49 - Tipos de OBs Os blocos de organização podem ser divididos da seguinte forma: Página | 54 Figura 50 - Blocos de Organização 6.1.4.1 OB1 – Program Cycle O Program Cycle é executado ciclicamente no bloco principal do programa. Todos os blocos criados (FC,FB) devem ser chamados nele para serem executados. 6.1.4.2 OB10x – Startup O OB de startup é executado apenas uma vez quando o modo de operação do CLP passa de STOP para RUN. Somente após a execução deste OB, é que o OB Program Cycle será executado. 6.1.4.3 OB20x – Time delay interrupt Este OB irá interromper o programa ciclico quando um tempo específico de execução expirar. Por exemplo, uma vez por semana, uma vez por mês. Este tempo é especificado através da entrada de parâmetro da instrução “SRT_DINT” Página | 55 6.1.4.4 OB3x – Cyclic Interrupt O OB de interrupção ciclica é executado em tempos específicos de intervalos. É muito utilizado para executar blocos de controle PID e ele é definido na janela de diálogo do OB 6.1.4.5 OB4x – Hardware Interrupt O OB de interrupção de hardware interrompe a execução do programa cíclico quando alguma anomalia de hardware é encontrada, por exemplo, a retirada de algum módulo da CPU ou danificação de algum equipamento de hardware. 6.1.4.6 OB80 – Time error interrupt A interrupção de tempo ocorre quando o tempo de ciclo máximo é atingido. Este tempo geralmente é de 150ms e interrompe imediatamente a execução do programa cíclico. 6.1.4.7 OB82 – Diagnostic Interrupt A interrupção de diagnostic interrompe a execução do programa cíclico quando a opção de diagnóstico é habilitada em algum módulo que tenha essa função em específico. 6.2 User Data Type (UDT) User data types são utilizados muito especificamente quando se fala em programação estruturada. Através deles, podemos definir um tipo de dado que reúna mais de uma informação, por exemplo, podemos criar uma estrutura que contenha dados booleanos, inteiros, reais e etc...tais tipos de dados, são utilizados e acessados em nosso programa de usuário através da utilização do “.”, como podemos ver na figura 48. Página | 56 Figura 51 - PLC Data Types Neste exemplo, foi criada uma estrutura para se trabalhar com valores analógicos. Todos estes valores serão lidos e utilizados num sistema de supervisão, logo, reunimos todas as informações necessárias em um único tipo de dado, chamado ANALÓGICO. Para acessar estar informações, temos que declarar uma variável do tipo ANALÓGICO em nossa DB principal. Figura 52 - Declarando uma UDT Página | 57 Note que o software criou uma estrutura em cima do tipo de dado analógico. Neste estrutura estão todos os dados contidos no tipo de dado criado anteriormente. Para acessar estes dados, devemos primeiro acessar a DB depois a estrutura da UDT para então acessar a informação final. Outra utilização da UDT é na criação de tipos de dados para comunicação com protocolos específicos, por exemplo DNP3.0, um protocolo muito utilizado em Usinas Hidrelétricas e Subestações. Também pode ser utilizado para criar tipos de dados que facilitem a comunicaçãocom equipamentos externos. 6.3 Multi-instance O multi-instance é muito utilizado quando falamos em programação estruturada, pois ele permite declarar diversos tipos de dados e blocos dentro de um Data Block. Para se utilizar do multi-instance é indispensável que se faça a utilização de Function Block, pois apenas nela está disponível a área de memória STATIC, ao qual é utilizada na declaração do multi instance, conforme indica a figura 50 Página | 58 Figura 53 - Multi-instance Neste caso, declaramos um temporizador IEC na aba static de uma FB. Como já visto anteriormente, os temporizadores IEC se utilizam de DB’s para armazenamento de seus dados, sendo assim, a partir deste momento, será possível acessar seus dados internamente dentro de uma DB, pois dentro da DB principal da minha FB1, inserimos mais uma DB, que é a DB do temporizador. Desta forma, note que agora existe um sustenido “#” Outra maneira de instanciar a DB é quando o bloco é chamado na network do programa. Página | 59 Figura 54 - Intanciando o DB Neste caso, devemos selecionar a opção multi-instance, nomear a db conforme a nossa preferência e então ele ficará da mesma forma da figura 50. Com o sustenido em frente e podendo ser acessada dentro do bloco. O multi-instance funciona para qualquer tipo de DB, não podendo ser utilizada em FC’s 6.4 Controle PID Os controladores da siemens, possuem um bloco nativo para controle de processos. Este bloco pode ser encontrado na aba Technology conforme mostra a figura 51. Página | 60 Figura 55 - Bloco de Controle PID Para o correto funcionamento do bloco PID, é necessário que seja criado um Bloco de Organização de interrupção de tempo OB30, pois a atualização do PID tem prioridade sobre a execução do programa cíclico. Página | 61 Figura 56 - Inserindo o OB30 Neste OB30, iremos configurar o scantime em 100ms, porém, pode ser configurado um tempo qualquer a cima de 10ms. Quando o bloco for inserido em uma network do programa, ele seguirá o mesmo conceito de temporizadores e contadores que vimos anteriormente, necessitando nomear a DB que ele possui. Após inserido, o bloco ficará da seguinte maneira: Página | 62 Figura 57 - Bloco PID Neste caso, dois botões aparecem no canto direito superior do bloco são eles: Botão de configuração; Botão de comissionamento; Ambos abrem novas janelas para acesso as configurações do sistema. Na janela de configuração do PID, temos acesso a três diferentes abas: Basic settings:Nesta aba é configurado o tipo de controle que será utilizado, exemplo, temperatura, pressão, nível, vazão e etc...além de entrar também com os endereços das variáveis externas (sensores e atuadores) relevantes ao processo, 6.4.1 Configuração do PID Página | 63 Figura 58 - Janela de configuração do PID Process value settings:Nesta aba se encontram os valores de escala do processo, tanto das variáveis de entrada quanto as de saída Figura 59 - Configuração da escala do PID Advanced settings: Nesta aba é possível fazer a configuração manual dos valores de PID principalmente, além de poder configurar também valores de limite para atuação das saídas. Página | 64 Figura 60 - PID manual Para poder acessar os parâmetros de PID através de uma IHM, deve-se acessar os seguintes parâmetros dentro da DB do bloco PID na estrutura sRet. P = r_Crtl_Gain I = r_Ctrl_Ti D = r_Ctrl_Td Página | 65 Figura 61 - Acesso aos parametros PID No botão de comissionamento, localizado no canto superior direito do bloco PID, pode ser analisado um gráfico de atuação do bloco em cima das variáveis de controle. Inicialmente o PID não é executado. Para ele inicar a execução do bloco, deve-se pressionar o botão Start, conforme figura abaixo: 6.4.2 Comissionamento do PID Página | 66 Figura 62 - Start do PID O próximo passo é executar o pretunnig, onde o bloco realiza o primeiro ciclo de cálculos tentando aproximar ao máximo a entrada (pena verde), do setpoint do sistema (pena azul). Para que isto aconteça, devemos pressionar o botão start do Pretuning, no canto superior direito da tela de comissionamento. Página | 67 Figura 63 - Pretuning PID Os cálculos de pretuning nem sempre são precisos, em função disto, é possível realizar outros tipos de cálculo, utilizando o modo fine tuning 6.5 Linguagem SCL SCL é uma linguagem de programação que segue os padrões de utilização do VB script da Microsoft e também do Delphi da Borland. Através de uma linguagem alto nível, pode-se chegar a resultados lógicos de operações com métodos muito mais ágeis e simples do que através da linguagem convencional Ladder. Nos CLP’s S7-1200 e S7-1500, o SCL já está incorporado na criação de FC’s e FB’s. Nas versões do Simatic Manager V5.5, é necessária a utilização de um pacote de software adquirido separadamente. Página | 68 Figura 64 - Exemplo de código SCL Através da programação de alto nível, é possível a utilização de funções como IF, ELSE, CASE, FOR, WHILE e etc, que auxiliam na criação de blocos, principalmente quando se tratam de cálculos numéricos e conversões de tipos de dados. A figura abaixo monstra algumas funções de conversão de dados: Página | 69 Figura 65 - Funções de conversão de tipos de dados Exemplo de funções numéricas: Figura 66 - Funções de conversão numérica Estas são as principais funções utilizadas para a programação SCL, de acordo com a norma IEC 61131-1. Página | 70 Outras linguagens de programação de acordo com a norma são: Ladder; FBD; Grafcet; STL; SCL; Demais dúvidas podem ser encontradas no manual do equipamento. 6.6 Comunicação entre dois S7-1200 via ethernet Primeiramente devemos ter em apenas um projeto a configuração de hardware das duas estações que irão comunicar-se pela rede. Figura 67 - Estações configuradas É importante salientar que as duas estações devem estar no mesmo domínio de endereçamento IP. Neste exemplo a estação denominada PLC_1 irá enviar dados para a estação denominada PLC_2. Para isto, se faz necessária a utilização de dois blocos do sistema disponíveis na biblioteca Open Communication, do software. Página | 71 Figura 68 - Blocos de comunicação ethernet No projeto PLC_1, deverá ser inserido o bloco TSEND_C, para envio de dados ao PLC_2. Ao inserir este bloco, automaticamente o software cria uma DB para comunicação. Esta DB poderemos nomeá-la conforme nossa necessidade. 6.6.1 Configuração TSEND_C Página | 72 Figura 69 - TSEND_C Após inserido o bloco, devemos configurar ele devidamente em suas propriedades. Figura 70 - Configuração bloco TSEND_C Página | 73 Na aba Configuration das propriedades do bloco TSEND_C, iremos selecionar o parceiro de conexão do PLC_1, que neste caso é o PLC_2. Assim que selecionado, automaticamente, ele puxará as informações desta estação como subrede e endereço IP. O próximo passo é a configuração de uma conexão de dados no PLC_1 Figura 71 - Connection data TSEND_C Por hora, iremos deixar de lado a configuração do parceiro PLC_2. Lembre sempre de salvar o projeto. Página | 74 Figura 72 - TSEND_C configuração Neste caso, a conexão ficará configurada da maneira conforme a figura 53. Será utilizada coma conexão ISO-on-TCP e no campo TSAP, devemoscompletar com ISSO-1 nos dois campos. Com os parâmetros de conexão do bloco configurado, devemos agora configurar os parâmetros de envio do bloco. Para isto, devemos ir na aba Block Parameters Página | 75 Figura 73 - Block Parameters TSEND_C Neste caso, devemos fazer a configuração conforme a figura 54. Na área SEND AREA (DATA), iremos configurar o dado que será enviado para o parceiro PLC_2. Neste caso, podemos declarar uma memória qualquer MW10. Caso fosse necessário o envio de mais informações, poderíamos utilizar o campo length para isto. Ao final da programação, o bloco ficará da seguinte maneira: Página | 76 Figura 74 - Bloco TSEND_C configurado Com o bloco de envio configurado, devemos agora, fazer a configuração do bloco de recebimento na estação PLC_2. A configuração procede da mesma maneira do TSEND_C. 6.6.2 Configuração TRCV_C Página | 77 Figura 75 - Configuração TRCV_C A configuração da estação PLC_2, na aba propriedades do bloco TRCV_C ficará conforme a figura 56. Devemos selecionar o parceiro, que neste momento é a estação PLC_1 e adicionar as conexões de dados a eles. Para o PLC_2 deverá ser criada uma nova conexão. Para o PLC_1, utilizaremos a que já é existente. Na aba Block Parameters iremos configurar conforme a figura 57. Página | 78 Figura 76 - TRCV_C Block Parameters Nesta aba, iremos configurar no campo RECEIVE AREA (DATA),onde iremos receber os dados enviados pelo PLC_1, podendo ser uma memória de qualquer endereço, não necessariamente o endereço configurado no PLC_1. Após configurado o bloco TRCV_C, devemos agora, retornar ao projeto do PLC_1 e o campo que havia ficado incompleto durante a sua configuração, devemos complementar as informações com a conexão de dados criada no PLC_2. Página | 79 Figura 77 - Conecction Data TSEND_C Com os blocos TSEND_C e TRCV_C configurados, devemos fazer um trigger na entrada REQ do bloco TSEND_C. Este trigger pode ser feito de diversas maneiras, inclusive fazendo a utilização das Clock Memory disponibilizadas e configuradas em cada equipamento. Por outro lado, na entrada REQ da estação PLC_2, sempre estaremos com ela habilitada, de modo que os dados enviados sempre cheguem ao destino. Página | 80 Figura 78 - Entrada REQ TSEND_C Como pode-se ver na figura 59, inserimos uma clock memory de 1Hz na entrada REQ. Ou seja, esta entrada ficará variando entre 0 e 1 e sempre na borda de subida, fará o envio de dados ao parceiro. 6.7 Rede AS-i A rede Actuator Sensor – interface (AS-i) é um protocolo aberto para transmissão de dados digitais e analógicos a nível de processo, capaz de interligar atuadores e sensores a sistemas de controle através de uma interface padronizada, onde, alimentação e dados utilizam do mesmo meio físico. Página | 81 Figura 79 - Topologia convencional de um sistema de automação Tendo em vista a utilização de apenas um cabo para alimentação e transmissão de sinais, é notável a grande diferença, principalmente em nível de manutenção quando o sistema AS-i é utilizado. Em um sistema convencional, sem a utilização do protocolo, todos os elementos de campo (atuadores e sensores) estariam ligados diretamente a CPU do processo, conforme a figura 49. Figura 80 - Ligação convencional Página | 82 Isto levaria diretamente ao que representa a figura 50, em termos de fios e cabos em leitos e eletrocalhas da instalação. Figura 81 - Instalação convencional O protocolo AS-i é utilizado também visando a diminuição do tempo de instalação dos sensores e atuadores de campo, bem como a diminuição da utilização dos espaços físicos. Tendo em vista a utilização da rede AS-i, o sistema da figura 49 é diretamente correspondente ao da figura 51 abaixo: Figura 82 - Ligação com rede AS-i Isto remete diretamente a instalações físicas menores, conforme a figura 52: Página | 83 Figura 83 - Instalação AS-i A capacidade de escravos da rede AS-i vem crescendo a cada versão lançada da topologia,também é possível utilizar este protocolo para seguranças de máquina, relacionadas a NR-12, pois ela possui módulos compatíveis com a função Fail Safe (falha segura). Figura 84 - Linha do tempo AS-i Os equipamentos que compõe um sistema AS-i são os seguintes: 6.7.1 Topologia Página | 84 Mestre da rede: Fonte de Alimentação 24V; Estações escravas para interligação dos elementos de camp Figura 85 - Topologia Rede AS-i Também é possível a integração da rede AS-i com outras redes, para isto, faz-se necessária a utilização de “coupler”, que são gateways de conversão de um determinado protocolo para outro, que veremos a seguir. Página | 85 Figura 86 - Topologia integrada A figura 55 mostra uma topologia integrada a sistemas Profinet e Profibus. Para a instalação de componentes AS-i, deve-se levar em consideração que a rede por padrão tem um alcance de 100m e até 62 escravos, porém, caso a rede tome outras proporções, faz-se necessária a utilização de acessórios para aumentar o alcance da rede. Figura 87 - Características rede AS-i Padrão: 100m sem acessórios adicionais; Com plug extensor: 200m, apenas uma fonte de alimentação é necessária Página | 86 Com repetidor:300m, 100m por segmento com um repetidor e uma fonte de alimentação por segmento. Importante salientar que pode-se ter apenas dois repetidores em série sem a utilização de escravos entre eles. Com repetidor e plug extensor:400m, apenas um repetidor ligado em série se combinado ao plug extensor A máxima distância que a rede pode alcançar é de 600m, levando em conta algumas considerações: Máxima distância entre o mestre da rede e os escravos: 400m 1 fonte de alimentação por segmento; Com repetidores conectados em paralelo: extensão em todas as direções partindo do mestre; Com plug extensor: 200m por segmento; Figura 88 - Topologia em arvore Existem dois meios de se conectar os sensores de campo à rede AS-i: Módulos de I/O, chamados módulos de campo; Dispositivos com AS-i inegrado; No primeiro meio, os sensores e atuadores que não possuem AS-i integrado, são conectados a módulos AS-i e estes fazem a conversão do sinal para a rede, conforme mostra a figura 58. 6.7.2 Módulos de I/O Página | 87 Figura 89 - Módulos de campo Para a correta instalação destes módulos, devemos fazer a ligação do cabo AS-i (amarelo) para a alimentação e troca de dados quando estivermos utilizando módulos de entradas digitais. Caso sejam utilizados módulos de saída digital, é necessária a instalação do cabo auxiliar da fonte (preto) para uma segunda alimentação aos dispositivos a serems acionados. Figura 90 - Montagem dos módulos A conexão física dos componentes é dada através dos “terminais vampiro”, que perfuram o cabo e fazem a conexão com os terminais do módulo; Página | 88 Figura 91 - Terminais Vampiro Quando os dispositivos utilizados já possuem a rede AS-i incorporada, não se faz necessária a utilização de módulos de campo, pois os próprios equipamentos já possuem a conexão com os cabos da rede. Figura 92 - Dispositivos com AS-i integrado ; Página | 89 O endereçamento da rede para os módulos de campo ou para os dispositivos com a rede integrada, se dá através do módulo configurador. Nele é possível configurar o endereçamento de cada módulo da rede, bem como monitorar os níveis de tensão da mesma.Com o configurador é possível a endereçar apenas um módulo por vez. Figura 93 - Módulo configurador Como em qualquer outra rede, não é possível que dois escravos possuam o mesmo endereçamento, pois ocasiona erro na rede e até, em alguns casos, a parada do CLP. 6.7.3 Endereçamento de Rede Página | 90 O equipamento utilizado neste exemplo é visto como um escravo Profibus-DP, porém um mestre da rede AS-i. Ele possui dois botões e alguns LED’s para a sua confiuguração. Figura 94 - Topologia com DP coupler No manual do equipamento existem todas as funções dos LED’s do equipamento e suas funções. O código do equipamento utilizado fisicamente é o 6GK1 415-2AA10, porém, no software o equipamento utilizado na configuração deve ser o 6GK1 415-2AA01, conforme especificação do fabricante. 6.7.4 Comunicação via DP coupler para rede AS-i Página | 91 Figura 95 - Módulo DP Coupler AS-i Para a configuração do endereço Profibus-DP do módulo coupler, deve-se pressionar o botão Display até que o LED ADR fique aceso. Após isto, deve-se seguir a seguinte sequencia: 1. Interromper a comunicação Profibus; 2. Pressionar o botão “display” até o LED ADR ficar aceso (após isto, ele indicará o endereço atual do escravo); 3. Caso você pressionar “display” novamente, ele retornará para o endereço do escravo e o o endereço ficará salvo; 4. Quando você pressionar o botão “set”o LED ficará aceso, do contrário, se você pressionar “display”o LED se apagará. Você deverá repetir a operação para os 7 LED’s de endereço, ligando ou desligando cada BIT para compor o endereço seguindo a seguinte sequencia: 1-2-4-8-16-32-64. Com esta estes 7 LED’s de endereçamento, ó possível fazer combinações de 0 a 127 (número máximo de escravos profibus, conforme norma); Página | 92 5. Quando todos os bits estiverem endereçados os LED de endereço começarão a piscar, se você pressionar o botão “set”, ele salvará o endereço do escravo. Caso você pressione o botão “display”, o endereço será descartado. Figura 96 - Endereçamento Profibus Neste caso, temos o endereço Profibus configurado em 69 ( 64+4+1), conforme a figura 65. Feito isto, devemos iniciar a programação no TIA PORTAL. A primeira etapa é configurar o hardware do CLP que corresponda ao KIT de desenvolvimento utilizado no curso. Após esta configuração, deve-se primeiramente selecionar a aba Network view, dentro de Devices & Networks na árvore do projeto. Selecionando esta aba, o catálogo de hardware irá mudar, oferecendo as opções de equipamentos que podem entrar em rede conforme a figura 66. Página | 93 Figura 97 - Selecionando o DP Coupler no catálogo de hardware Com um duplo clique no equipamento, o mesmo aparecerá na área comum da janela principal de configuração, porém, não haverá nenhuma rede associada a este escravo, conforme a figura 67. Página | 94 Figura 98 - Escravo inserido Para associar uma rede ao escravo, o método utilizado é o drag & drop (arrastar e soltar) entre as conexões de cor roxa dos dois equipamentos. Página | 95 Figura 99 - Rede profibus associada entre os equipamentos Selecionando o escravo na tela da figura 68, teremos que configurar o mesmo endereço profibus configurado no hardware, agora no software. Página | 96 Figura 100 - Configuração do endereço Profibus no TIA O próximo passo é dar um duplo clique no escravo dp coupler, a fim de entrar em suas propriedades de confoguração. Figura 101 - Configuração DP Coupler Página | 97 Neste caso, iremos configurar uma troca de dados de 16 bytes entre mestre e escravo, tendo disponíveis os endereços 2 até 17 para entradas e 2 até 17 para saídas. A comunicação com os escravos AS-i, acontece de forma direta, utilizando os endereços citados acima. Como neste curso trabalhamos com um módulo de 4 entradas e outro módulo de 4 saídas, para acessar estes endereços, utilizaremos da mesmo forma que acessamos endereços nativos da CPU, através das letras “I” e “Q” respectivamente. Desta forma teremos os seguinte endereços acessíveis: I 2.0 até I 2.3 – representando as 4 entradas do módulo de campo; Q2.0 até Q2.3 – representando as 4 saídas do módulo de campo; Figura 102 - Acesso aos endereços AS-i 6.8 Rede Profibus DP Página | 98 7 Download do Programa Com o programa finalizado, é necessário fazer o download do mesmo para o equipamento. Figura 103 - Fazendo Download A tela acima Irá abrir e então será necessário selecionar qual o meio físico utilizado para efetuar o download. No caso do kit de desenvolvimento, estará previsto a utilização do meio físico, ethernet, bem como sua referida placa de rede, conforme mostra a tabela destacada na figura 24. Caso em um primeiro momento o programa não encontre nenhum CLP na rede, significa que o IP configurado é diferente do IP programado no CLP, desta forma, faz-se necessária a utilização da opção “Show all accessible devices”, para que o programa encontre todos os equipamentos conectados a ele e assim, será feita a seleção do CLP e posteriormente o download. Obs.: Para efetuar o download completo, isto é, configuração de hardware + software, é necessário selecionar na aba do Projeto, o item do CLP_1[CPU 1214C DC/DC/DC], lembrando que todo download de hardware leva a CPU para stop. Página | 99 Caso seja necessário apenas o download do software, é necessário selecionar a pasta Program Block e prosseguir com o download. 8 Iniciando um Projeto com a IHM Levando em consideração que a programação vai ser feita de forma integrada entre CLP e IHM, e que os dois equipamentos vão permanecer no mesmo projeto, podemos ter como base o projeto existente até o momento desta apostila. No projeto que estamos trabalhando, podemos inserir um novo equipamento, conforme sugere a figura abaixo: Figura 104 - Inserindo a IHM Página | 100 Após o duplo clique em Add new device, a seguinte janela irá aparecer para fazer a seleção do equipamento desejado: Figura 105 - Selecionando o Equipamento O kit didático utilizado em aula acompanha uma IHM modelo KTP 600 Basic Color PN, desta forma, devemos localizá-la na árvore acima e em seguida, clicar em OK. Página | 101 8.1 Configurando a IHM Após a seleção do equipamento, uma janela assistente para configuração irá aparecer. Nesta janela estão todas as opções necessárias para a pré-configuração da IHM, onde pode ser feita a seleção da conexão, pré-criação de alarmes, layout de telas, mapa de navegação e etc... Figura 106 - Inserindo uma Conexão entre IHM e CLP Nesta figura, podemos selecionar com qual CLP iremos fazer a conexão, caso nosso projeto tenha mais de um equipamento. Com esta IHM, pode-se estabelecer conexão com mais de um CLP também, basta inserir uma nova conexão manualmente após finalizado o assistente. Após selecionada a conexão, clicar em NEXT. 8.1.1 Criando a Conexão com o CLP Página | 102 A próxima tela trata-se da configuração do layout da página: Figura 107 - Configurando o Layout da Página Neste parte da configuração, é possível selecionar um logo para colocar no cabeçalho da página, bem como opções de esconder/mostrar o relógio, cor de fundo da tela. 8.1.2 Layout de Tela Página | 103 Após a configuração do layout da página, podem ser pré-configuradas algumas telas de alarmes, como: Alarmes ativos; Alarmes reconhecidos; Alarmes não
Compartilhar