Prévia do material em texto
. Webinar: Programação Básica CLPs com IHM Incorporada Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 2 Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 3 ÍNDICE 1. O QUE É UM CLP? ................................................................................................................................................. 4 2. NORMA IEC 61131-3 .............................................................................................................................................. 5 LISTA DE INSTRUÇÕES ................................................................................................................................... 5 TEXTO ESTRUTURADO ................................................................................................................................... 5 DIAGRAMA DE BLOCOS DE FUNÇÕES .......................................................................................................... 5 LINGUAGEM LADDER ...................................................................................................................................... 6 DIAGRAMA DE FLUXO ..................................................................................................................................... 6 3. LINGUAGEM LADDER ............................................................................................................................................ 7 4. CONTROLADORES TUDO EM UM ...................................................................................................................... 10 5. INTRODUÇÃO AO SOFTWARE CSCAPE ............................................................................................................ 12 5.1 HELP FILE – ARQUIVO DE AJUDA ................................................................................................................ 12 5.2 PRIMEIROS PASSOS ..................................................................................................................................... 12 6. CONFIGURAÇÕES BÁSICAS E PROGRAMAÇÃO .............................................................................................. 14 7. TEMPORIZADORES E CONTADORES ................................................................................................................ 19 8. EDITOR DE TELAS ............................................................................................................................................... 24 9. REDE CSCAN ....................................................................................................................................................... 30 10. REDE MODBUS-RTU ............................................................................................................................................ 34 11. MÍDIA REMOVÍVEL ............................................................................................................................................... 36 12. CONFIGURAÇÃO DE RECEITAS ......................................................................................................................... 43 GLOSSÁRIO ..................................................................................................................................................................... 47 Esse material é referente aos webinars realizados nos dias 10, 17 e 24 de junho de 2020, para assistir à apresentação acesse: .com/novusbr Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 4 1. O QUE É UM CLP? Um CLP (controlador lógico programável) é um computador digital usado para automação industrial para automatizar diferentes processos eletromecânicos. Foi introduzido para eliminar problemas como o alto consumo de energia decorrente do uso de relés para controlar os processos de fabricação. Consiste em um microprocessador programado cujo programa (lógica de funcionamento) é desenvolvida em um computador e posteriormente baixado por um cabo para o CLP. O programa é armazenado em uma memória não volátil do equipamento. O controlador lógico programável recebe informações dos dispositivos e sensores de entrada conectados, processa os dados recebidos e aciona as saídas necessárias de acordo com seus parâmetros pré-programados. Com base em suas entradas e saídas, um CLP pode facilmente monitorar e registrar dados de tempo de execução, como temperatura operacional, produtividade da máquina, geração de alarmes quando uma máquina falha, processos automáticos de partida e parada e muito mais. Isso significa que os CLPs são soluções de controle de processo de fabricação robustas e flexíveis, adaptáveis à maioria das aplicações. Os componentes de hardware do PLC incluem: • CPU: verifica regularmente o CLP para evitar erros e executa funções como operações aritméticas e operações lógicas. • Memória: a ROM do sistema armazena permanentemente dados fixos usados pela CPU, enquanto a RAM armazena as informações do dispositivo de entrada e saída, valores do temporizador, contadores e outros dispositivos internos. • Módulo de Saída: esta seção fornece controle de saída sobre dispositivos como bombas, solenóides, luzes de sinalização, motores e outros atuadores. • Módulo de Entrada: uma seção de entrada que rastreia dispositivos de campo, como chaves comutadoras, botões e sensores. • Fonte de alimentação: embora a maioria dos CLPs trabalhe em 24 Vcc ou 220 Vca, alguns possuem fontes de alimentação isoladas. Figura 1 - Representação do hardware de um CLP. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 5 2. NORMA IEC 61131-3 No passado, diferentes fabricantes tinham conceitos e metodologias de programação diferentes, o que levava à incompatibilidade entre os sistemas os tornando menos confiáveis e consumindo muito tempo e esforço na programação e manutenção dos sistemas de máquinas e processos. O padrão IEC fornece padrões de programação independente do fabricante, deixando o projeto mais flexível e também podendo reutilizar parte do código em outros programas como uma espécie de biblioteca Com os avanços no campo da ciência e tecnologia; as técnicas de hardware e software (programação) também foram avançadas para atender aos requisitos do mercado. A IEC 61131-3 é a terceira parte da norma IEC 61131; é um padrão para a programação de sistemas de controle industrial com controladores lógicos programáveis. A IEC 61131-3 especifica a sintaxe e a semântica de duas linguagens de programação textuais, Lista de instruções (IL) e Texto estruturado (ST), e duas linguagens gráficas, diagrama em Ladder (LD) e diagrama de blocos de funções (FBD) e uma linguagem em gráfico de funções sequenciais (SFC). LISTA DE INSTRUÇÕES Se assemelha ao assembly que é uma linguagem muito utilizada no desenvolvimento de programa para microcontroladores, pois define mneumônicos, é considerada uma linguegem de baixo nível. Ideal para programas com poucas quebras no fluxo de execução, para resolução de problemas pequenos e, consequentemente, adequadas para CLPs de mesmo porte. Algumas regras para a estruturação de um programa em IL devem ser seguidas: • Cada instrução deve começar numa nova linha; • Toda instrução pode ser precedida de um rótulo, seguido de dois pontos “:”; • O operador pode incluir um modificador; • Comentários devem ficar no final da linha, ou em linhas sem instruções; • O programa pode conter linhas em branco. TEXTO ESTRUTURADO De forma geral a linguagem de texto estruturado é muito parecida com o PASCAL e o BASIC . Assim como PASCAL e o BASIC, ela também não é case sensitive, o que significa que letras maiúsculas não são diferenciadas de letras minúsculas. Os programas começamApostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 54com comando PROGRAM e terminam com END_PROGRAM, a maioria dos comandos são finalizados com ponto e virgula. Por ser uma linguagem textual e de alto nível, possibilita a solução de problemas mais complexos, usando comandos básicos da programação como laços de repetição e condicionais. DIAGRAMA DE BLOCOS DE FUNÇÕES É uma linguagem gráfica em que os elementos são interligados de forma análoga a circuitos elétricos na qual permite ao usuário tanto utilizar blocos pré-programados, como por exemplo contadores, temporizadores e lógicas booleanas, quanto criar seus próprios blocos da maneira que lhe for conveniente (encapsulamento). Estes blocos criados podem ser programados em outras linguagens, e os softwares de desenvolvimento geralmente contam com bibliotecas de funções FBD, o que faz com que a linguagem seja extremamente flexível e recomendada. https://pt.wikipedia.org/wiki/Assembly https://pt.wikipedia.org/wiki/Controlador_l%C3%B3gico_program%C3%A1vel https://pt.wikipedia.org/wiki/BASIC Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 6 Principais blocos de funções: • Blocos biestáveis - Set\Reset; • Bloco CTU - contador decrescente; • Bloco TON - temporizador na energização; • Bloco TOF - temporizador na desenergização; • Bloco MOV - Movimento de valores; • Bloco PID - Algoritmo de controle; LINGUAGEM LADDER A linguagem Ladder foi originalmente desenvolvida para construir e melhor documentar circuitos a relés, utilizados em processos de produção. Todos os dispositivos dos circuitos elétricos como botões, válvulas e solenoides podem ser representados em símbolos nos Diagramas Ladder, incluindo suas conexões. Por isso é uma linguagem gráfica que muito se assemelha aos diagramas elétricos, e muitas vezes é chamada de Diagrama de Contatos. DIAGRAMA DE FLUXO O diagrama de fluxo sequencial – SFC (Sequential Flow Chart) também chamado de Grafcet permite descrever os comportamentos de um automatismo em função das informações que recebe. A linguagem SFC não pretende minimizar as funções lógicas que representam a dinâmica do sistema, pelo contrário o seu potencial reside na imposição de um funcionamento rigoroso, evitando desta forma incoerências, bloqueios ou conflitos durante o funcionamento do mesmo. As suas principais características são: • Claridade, legibilidade e apresentação sintética. • Oferece uma metodologia de programação estruturada, "Top-Down" (de forma descendente) que permite o desenvolvimento conceptual do geral para o particular. • Introduz um conceito "tarefa" de forma hierarquizada. Neste treinamento iremos dar enfoque maior a programação em linguagem Ladder e diagrama de Blocos, no software Cscape, utilizado para a programação dos controladores das famílias X e XL em modo de programação “Ladder Avançado”. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 7 3. LINGUAGEM LADDER Anteriormente a evolução da eletrônica e seus componentes, a automação de máquinas e processos era realizada através do intertravamento entre os acionamentos de relés, esse tipo de controle era conhecido como Lógica de Relés. Com a criação dos primeiros CLPs a linguagem implementada para sua programação foi baseada na antiga lógica de relés, nascia então a Linguagem Ladder que segue sendo utilizada para programação de CLPs até os dias atuais, pois os princípios fundamentais da lógica de controle de máquinas e processos ainda são os mesmos. Na programação de CLPs, Ladder é uma linguagem de programação usada para desenvolver expressões lógicas para automatizar tarefas. Os recentes avanços na tecnologia de software significam que a programação de CLPs usando lógica ladder foi estendida para contagem, tempo, aritmética, sequenciadores, controle PID, funções de manipulação de dados e muito mais. Ao longo dos anos, a lógica ladder se tornou uma poderosa linguagem de programação PLC. A lógica ladder é amplamente utilizada para programar CLPs em diversas aplicações de automação industrial, como: • Sistema de transporte de manuseio de materiais. • Sistemas de paletização. • Transporte e Classificação de Pacotes Logísticos. • Sistemas de dosagem. • Envase e rotulagem de bebidas. • Controle de nível em reservatórios. A maneira simples de descrever um diagrama Ladder é como uma linguagem de programação gráfica que usa uma série de trilhos e degraus contendo símbolos lógicos que são combinados para formar expressões de tomada de decisão, por isso em tradução direta temos Ladder como uma Linguagem “Escada”. Os trilhos em um diagrama Ladder representam os fios de alimentação de um circuito de controle lógico de relés. Há um trilho de alimentação de tensão positivo no lado esquerdo e um trilho de tensão zero no lado direito. Em um diagrama de escada, o fluxo lógico é do trilho esquerdo para o trilho direito. Figura 2 - Exemplo de diagrama em linguagem Ladder Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 8 1. Trilhos - Existem dois trilhos em um diagrama de escada que são desenhados como linhas verticais que percorrem as extremidades mais distantes da página. Se eles estivessem em um circuito lógico de relés, representariam as conexões ativa e de zero volt da fonte de alimentação, onde o fluxo de energia passa do lado esquerdo para o lado direito. 2. Degraus - Os degraus são desenhados como linhas horizontais e conectam os trilhos às expressões lógicas. Se eles estivessem em um circuito lógico de relé, representariam os fios que conectam a fonte de alimentação aos componentes de comutação e relé. 3. Entradas - As entradas são ações de controle externo, como um botão pressionado ou uma chave fim-de- curso sendo acionados. As entradas são fisicamente conectadas aos terminais do CLP e representadas no diagrama ladder por um símbolo de contato normalmente aberto (NO) ou normalmente fechado (NC). 4. Saídas - As saídas são dispositivos externos que estão sendo ligados e desligados, como um motor elétrico ou uma válvula solenóide. As saídas também são conectadas aos terminais do CLP e são representadas no diagrama ladder por um símbolo de bobina de relé. 5. Expressões lógicas - As expressões lógicas são usadas em combinação com as entradas e saídas para formular as operações de controle desejadas. 6. Endereço e nomes de tags - A notação de endereço descreve a estrutura de endereçamento da memória de entrada, saída e expressão lógica do CLP. Os nomes das tags são as descrições alocadas aos endereços. 7. Comentários - Por último, mas não menos importante, os comentários são uma parte extremamente importante de um diagrama Ladder. Os comentários são exibidos no início de cada linha e são usados para descrever as expressões lógicas e as operações de controle que a linha ou grupos de linhas estão executando. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 9 FAMÍLIA XL & X Controladores Lógicos Programáveis com IHM Incorporada Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 10 4. CONTROLADORES TUDO EM UM As famílias X e XL são compostas por controladores programáveis robustos e confiáveis com IHM incorporada, apresentando uma interface gráfica, I/O integrado e ampla conectividade, com diversos protocolos de comunicação disponíveis. Todos os modelos permitem programação em Ladder avançado ou IEC-61131-3 e podem ter a memória expandida por cartão MicroSD para registro de dados de processo. Com alto desempenho, a família XL compreende diversos modelos para as mais variadas aplicações e necessidades: XLe, XLt, XL4, EX6, X7 e EX10. Esta família possui várias opções de I/Os, permitindo a seleção mais adequada em termos de custo e recursos paracada aplicação, bem como diversos protocolos de comunicação como o Profibus, J1939, CANopen e Device Net, além do Modbus. O modelo XLe possui uma tela monocromática gráfica com 10 botões de funções personalizáveis, enquanto o modelo XLt possuímos uma tela touch screen monocromática de 3,5". A partir do modelo XL4, as telas são touch screen coloridas, variando de 3,5" até 10,4", e suportam um cartão MicroSD de até 32Gb para registros de dados, além de possuírem maior capacidade de processamento e porta Ethernet. As características de cada modelo estão descritas na Tabela 1. Com um perfil estreito e design compacto e elegante, a família X compreende dois modelos: X2 e X5. O modelo X2 é o modelo de melhor custo-benefício e o X5 é o modelo de ampla conectividade com maior poder de processamento. Ambos modelos possuem porta USB para programação e interfaces CAN, RS232 e RS485 para ser usadas como barramento de expansão ou comunicação. O Modelo X5 possui ainda porta ethernet, o qual permite acessá-lo remotamente, configurá-lo ou usá-lo como servidor de dados e página HTML. Com um perfil estreito e design compacto e elegante, a família X compreende dois modelos: X2 e X5. O modelo X2 é o modelo de melhor custo-benefício e o X5 é o modelo de ampla conectividade com maior poder de processamento. Seu conjunto integrado de I/O, que compreende entradas/saídas digitais e entradas/saídas analógicas, permite a automação com um único equipamento. Ambos modelos possuem porta USB para programação e interfaces CAN, RS232 e RS485 para ser usadas como barramento de expansão ou comunicação. O Modelo X5 possui ainda porta ethernet, o qual permite acessá-lo remotamente, configurá-lo ou usá-lo como servidor de dados e página HTML. O software Cscape combina, em um ambiente totalmente integrado, as funções de programação do CLP, desenvolvimento das telas da IHM, configuração de I/O especial e suporte aos vários protocolos de comunicação disponíveis. A programação é baseada na IEC 61131-3 e também pode ser desenvolvida em Ladder Advanced, linguagem que unifica a facilidade e padronização do Ladder IEC com funções e blocos especiais que facilitam o desenvolvimento do programa e a integração com o mundo externo. A licença do software é gratuita e está disponível para download em www.novus.com.br . Todas estas características fazem do Cscape da NOVUS um software versátil, de fácil adaptação e aprendizado. Figura 3 - CLP NOVUS XLt Figura 4 - CLP NOVUS X5 Figura 5 - Cscape: Software de programação http://www.novus.com.br/ Tabela 1 - Família XL: características técnicas 5. INTRODUÇÃO AO SOFTWARE CSCAPE Objetivo: O objetivo deste guia rápido é nos familiarizarmos com os recursos e funcionalidades do software de programação Cscape. Equipamentos necessários: Um computador com o Cscape instalado. 5.1 HELP FILE – ARQUIVO DE AJUDA Pressionando F1, ou entrando no menu Help → Contents, você terá acesso ao manual que lhe será muito útil durante todo seu desenvolvimento de programas. 5.2 PRIMEIROS PASSOS ➢ Existem duas formas para criar um novo programa. Um programa novo: • Criar um programa via o menu File encontrado no menu principal. • Criar um novo programa clicando no ícone correspondente na barra de ferramentas que se encontra no topo da tela. ➢ Todos os programas são salvos com a extensão “.csp”: • Salvar um programa via menu File ou clicando no ícone correspondente na barra de ferramentas. ➢ Abrindo um programa: • Podemos abrir um programa via menu File, via seu ícone correspondente na barra de ferramentas. ➢ A configuração do controlador é executada clicando no menu Controller e selecionando Hardware configuration. Se não houver nenhum controlador conectado ao PC, ou o target ID não coincida, vira a configuração padrão (CPU XLe). Podemos configurar o Controlador de duas maneiras: • Configurar manualmente clicando no botão config ao lado do desenho do controlador em questão e selecionando em uma lista que lhe será apresentada. • Configurar o controlador usando o botão “Auto Config System”. Figura 6 - Configuração de Hardware Cscape Não se esqueça que, usando o Auto Config System, você irá perder qualquer configuração que você já tenha feito. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 13 ➢ Barras de ferramentas são usadas para selecionar elementos de ladder e suas funções. • Project Toolbox – Este menu permite ao programador selecionar entre os diversos elementos de ladder, separados por grupo de função (item 1 na imagem abaixo). • Menu Toolbar Selection – O programador pode selecionar para mostrar múltiplas barras de ferramentas, basta acessar o menu View → Toolbars (item 2). Figura 7 - CScape janela principal ➢ A barra de status tem diversos recursos uteis (item 3). • User – O campo User indica qual usuário esta atualmente logado no programa usando o recurso de segurança, caso apresente NONE, não há usuário logado. • Model – Indica qual modelo de equipamento está conectado ao PC. • Program Equality – Indica se o programa que está na tela esta igual ao que está no controlador. • Local and Target – O “Local ID” indica qual equipamento está ligado ao PC e o “Target ID” indica qual equipamento está vinculado ao programa. ➢ Iniciando um novo Rung (Network) pode ser feita de duas maneiras. • Adicionando um contato – Um novo rung pode ser criado adicionando um contato na coluna A da área de ladder. Para verificar se o rung esta ok, deve ser observado se na margem esquerda da área de ladder tem um símbolo de parafuso (item 5 na imagem acima). Outro cuidado a ser tomado é que, quando queremos um contato em paralelo, devemos adicionar um branch (braço) antes de adicionar o contato paralelo. • Clique direito na borda – veja o item 4 na figura anterior. ➢ Data Watch habilita o usuário a monitorar memorias e bits dentro do controlador (item 6). Data Watch pode ser selecionada via ícone de lupa na barra de ferramentas, ou selecionando no menu Controller. ➢ Project navigator – Neste menu você consegue acessar os principais pontos mais importantes referentes ao seu projeto e seu controlador, facilitando assim a sua programação. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 14 6. CONFIGURAÇÕES BÁSICAS E PROGRAMAÇÃO Objetivo: O objetivo deste cápitulo é prover o conhecimento para usar o Cscape e criar um programa básico, incluindo configuração de hardware, ladder e telas. Configurações básicas e programação: Quando começamos com um novo programa no Cscape o primeiro cuidado a ser tomado é configurar o Controlador e o IO correto. Desta forma o Cscape saberá que tipo de IO que precisa ser mapeado, o tamanho de tela e etc. Procedimento: Passo 1 ➢ Conectar o XLx ao PC. Podemos programar o controlador com diversas portas, em nosso treinamento usaremos a RS232 para comunicar com Xle e a ethernet para comunicar com o Xl4. Passo 2 ➢ Iniciando o Cscape no PC. Abra o Cscape no PC, no menu connection wizard que aparecerá selecione o modo de comunicação que usaremos neste exercício, que no caso é ethernet. Caso tenha algum projeto aberto vamos fechá- lo clicando em File → Close. Agora clique em File New. Selecione a opção Advanced Ladder Editor. Figura 8 – Portas de Conexão ao CLP Passo 3 ➢ Salve o programa com um novo nome. Clique no menu File → Save As… Digite o nome desejado ao seu programa e clique em Save Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 15 Passo 4 ➢ Configurando o XL Dê 2 cliques no menu Hardware configuration no “Project Navigator”, clique no ícone ou clique no menu Controller → Hardware Configuration: Figura 9 - Seleção de Hardware Como estamos ligados ao controlador iremos clicar em “Auto Config System” e o Cscapeirá ler o Controlador conectado na porta que selecionamos anteriormente. Neste caso iremos pular para o passo 5, caso não tenha usado o auto config execute as instruções abaixo. Configurando o hardware manualmente: 1. Duplo clique na imagem do controlador, ou clicando no botão Config ao lado. 2. Selecione a serie XL correspondente, e em seguida selecione o Modelo de hardware que estamos usando, neste treinamento usaremos o HEXC1E2. 3. Clique em OK para voltar à tela anterior. Figura 10 - Configuração de Hardware 4. Clique em OK novamente para sair da configuração de hardware. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 16 Passo 5 ➢ Salve o programa. Clicando no ícone ‘Save’ na barra de ferramentas , ou clicando no menu File e selecionando Save. Passo 6 ➢ Nomeando alguns IOs. Clique no menu Program e selecione I/O Names, você pode acessar também pelo Project Navigator. • Adicionamos IOs clicando em Add e preenchemos as informações. • Editamos um IO existente clicando duas vezes em sua linha na tabela. Iremos adicionar os seguintes IOs: %I1 START – Configure Como 1 bit. %I2 STOP – Configure Como 1 bit. %Q1 RUN – Configure Como 1 bit. Figura 11 Passo 7 ➢ Programar o seguinte Rung: 1. Clique na barda da sua área de ladder e selecione New Rung, apos isso crie 2 contatos NA em sequência. 2. Selecione o segundo contato, clique com o botão direito do mouse e selecione a opção “toggle". NA/NC”. 3. Adicione linhas verticais (branches) ao lado do primeiro contato e adicione o contato. 4. E por último, adicione uma bobina (coil). Figura 12 Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 17 Passo 8 ➢ Adicionando nome aos elementos em tela. 1. Dois cliques em cada elemento. 2. Digite o nome do element, ou selecione na lista de nomes. 3. Clique em OK. Passo 9 ➢ Criando uma tela. 1. Abriremos o editor de telas clicando no item Graphics no menu project navigator, ou clicando no ícone na barra de ferramentas. 2. Vamos selecionar o item indicator, representado pelo ícone , e iremos clicar na tela, segurar e mover o mouse até uma posição que lhe agrade. 3. Agora de um duplo clique no element indicator na tela e configuraremos como na imagem abaixo. Figura 14 - Configurando elementos de tela 4. Clicando em Legend >>>> iremos definir o texto que fica em cima do indicator. 5. Clique em OK e em OK novamente, você terá uma tela como a abaixo, lembre-se que não precisamos fazer telas idênticas, pode criar o seu design à vontade. Figura 13 Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 18 Figura 15 - Configurando tela da IHM 6. Assim que estiver satisfeito com sua tela feche o editor de telas como qualquer programa no Windows, clicando no X superior direito da janela… as alterações serão salvas automaticamente. Passo 10 ➢ Salve o programa. Passo 11 ➢ Envie (Download) o programa para o controlador. 1. Clique no ícone ou selecione o menu Program → Download. Nota: Não é necessário colocar o controlador em STOP, o próprio Cscape fará isso, e após enviar o programa irá colocar em RUN. 2. Selecione a opção de usar o SmartLoad. 3. Clique em ‘OK’. Assim que finalizar o envio, certifique-se que seu controlador esteja em Run mode, observe os ícones de semáforo, o verde tem que estar “pressionado”. Passo 12 ➢ Debugar o programa Clique no ícone na barra de ferramentas do Cscape ou clique no menu Debug → Debug/Monitor. Figura 16 Parabéns! Você finalizou seu primeiro programa na linha Xl, agora vamos para o LAB 2 para desenvolvermos novas habilidades. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 19 7. TEMPORIZADORES E CONTADORES Objetivo: Aprender como funciona os temporizadores e contadores e as diferenças entre eles. Timers: Os temporizadores consomem 2 words consecutivas. Associando o timer ao %R1 significa que ele usará %R1 e %R2. A primeira Word registra o tempo acumulador, a segunda word trabalha da seguinte forma, os primeiros 14 bits são registros internos do temporizador, não devem ser manipulado, os 2 últimos bits são status. O 15º indica se o bloco esta ou não energizado, e o 16º indica quando o temporizador atingiu seu tempo, e libera o resto da logica a funcionar. Podemos endereçar apenas um bit de uma word, portando, seguindo o exemplo anterior, podemos usar o %R2.16 como endereço de bit (o 16º bit da word %R2). Podemos endereçar também uma terceira word ao temporizador, não necessariamente consecutivas, ao registro PT (ou Preset Timer) do temporizador. Nota: O registro padrão usando nos temporizadores é %R. Não confundam %T, %T são registros de bits temporário e não de temporizadores. Um temporizador se apresenta da seguinte forma no ladder: Figura 17 - Temporizador Entretanto, internamente funciona como abaixo: Figura 18 - Temporizador configuração interna Neste exemplo está selecionado uma resolução de 100ms (0,1s). O timer esta configurado para %R1 e o PT esta com o inteiro 50 gravado, portanto, PT x Resolução = tempo , 50 x 0.1s = 5.0 segundos… Se F1 não esta pressionada: %R1 = 0, %R2.15 = OFF, and %R2.16 = OFF Se F1 for pressionada por 2,5 segundos: %R1 = 25, %R2.15 = ON, and %R2.16 = OFF Se F1 for pressionado por 5 seg. ou mais: %R1 = 50, %R2.15 = ON, and %R2.16 = ON Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 20 Parte 1 – TON Timers Lab: Temporizadores iniciam a contagem assim que o bloco TON é energizado, e libera a para o resto do Rung assim que atingir o tempo programado. Se o temporizador for desernegizado ele reseta-se automaticamente. a. Crie um programa novo. b. Configure o Hardware corretamente como aprendemos no Lab1. c. Crie uma versão modificada da nossa logica de start, agora contendo um temporizador que exige que o usuário pressione o botão START por 3 segundos antes de energizar o circuito. Figura 19 d. Abra o editor gráfico e configure um indicator para mostrar o Status do comando. Vinculador a saída %Q1 ‘RUN’. e. Configure um campo numérico “Numeric data field” para mostrar o tempo decorrido %R1. Configure para não ser editável, o formado deve ser decimal 1.1, portanto, se %R1 contiver um valor de 11, na IHM será apresentado como 1,1. Adicione também “Engineering Units” para mostrar que o valor esta sendo apresentado em segundos. Figura 20 f. Nomeie os campos correspondentes para que fique claro do que se trata cada informação na tela. A tela devera parecer como a abaixo: Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 21 Figura 21 g. Salve faça o download do programa e teste sua aplicação. Nota: O temporizador pode ser retentivo, bastando assim, configura-lo como tal e configurar um bit para restá-lo. Parte 2 – TOF Timers Lab Temporizador TOF tem o funcionamento inverso ao TON, ele deixa passar energia ao resto da rung mesmo desligado, mas assim que é energizado ele conta o tempo programado e desliga sua saída. 1. Continuando o programa que fizemos acima (parte 1) vamos fazer com que, apos desligar o comando %Q1 ligamos a saída %Q2 por mais 5 segundos DICA: Não se esqueça de não sobrepor os temporizadores! Sempre use registradores que nunca foram usados. Se possível desenvolva o programa, mas se precisar uma solução possível esta no final do capítulo. 2. Apos finalizar o programa faça o download para o controlador e teste sua aplicação Counters: O objetivo dos contadores é fazem contagem até um determinado valor, tanto progressivamente (count-up) quanto regressivamente (count-down). Os contadores também consomem 2 words consecutivas, ou seja,vinculando o registro %R51 ao contador ele ira assumir %R51 e %R52. O primeiro dos 2 registros, contem o valor de contagem acumulado, a segunda word trabalha da seguinte forma, os primeiros 14 bits são registros internos do contador, não devem ser manipulado, os 2 últimos bits são status. O 15º indica se o bloco esta ou não energizado, e o 16º indica quando o contador atingiu ou excedeu seu Preset Value, e libera o resto da logica a funcionar. IMPORTANTE: O contador irá continuar a passar energia ao resto da rung mesmo que dês energize sua entrada, só conseguirá desligar resetando o contador. Podemos endereçar também uma terceira word ao contador, não necessariamente consecutivas, ao registro PV (ou Preset Value) do contador. Count-Up (CTU), quando resetado, inicializa seu acumulador com 0 e conta progressivamente até atingir o valor programado em PV, setando sua saída. O contador continuara contando mesmo depois de passar o PV. Count-Down counters (CTD), quando resetado, inicializa seu registro com o valor programado no PV e conta regressivamente, energizando o final da rung assim que contagem chega a zero, permanecendo assim até que seja resetado novamente. O contador continuara contando negativamente a cada pulso que receber. Os contadores (UP ou Down) contam na transição positive de sua entrada, e apenas neste momento, precisa ser desernegizado e reenergizado para contar mais um pulso novamente. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 22 Parte 3 – Counters Lab 1. Para o programa do laboratório de contadores vamos adicionar um contador para contar a quantidade de partidas bem sucedidas de nossa máquina. 2. Adicionaremos também um contador que, apos 3 partidas mal sucedidas iniba partir a máquina, exigindo um reset. DICA: Idêntico ao temporizador, os contadores usam 2 registros, cuidado com o uso destes blocos. 3. Use a tecla F1 (%K1) para resetar o primeiro contador. 4. Use a tecla F2 (%K2) para resetar o Segundo contador, mas apenas depois que atingir a contagem programada (3 partidas mal sucedidas). 5. Adicione um campo de texto na tela para sinalizar falha. 6. Adicione um campo numérico para sinalizar quantas falhas a máquina permite até “travar” e exigir um reset. A tela devera parecer com a seguinte: Figura 22 7. Envie para o controlador e teste seu programa. PARABÉNS, Você concluiu o cápitulo de Temporizadores e Contadores. Solução Timer TOF: Cada vez que %Q1 é desligado o temporizador TOF conta 5 segundos com a saída ativa, como %Q1 desligado o contato pôs contador permite energizar o %Q2, permanecendo ligado por 5 segundos. Figura 23 Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 23 Solução do lab de Contadores: Tenha em mente que em programação existem diversas maneiras para chegar no resultado desejado, esta é apenas uma das opções. Para contar as partidas bem sucedidas, colocamos um contado de %Q1 acionando o contador. Veja que p PV do contador de partidas bem sucedidas é 0, isto porque o objetivo deste contador é apenas totalizar. O Contador de falhas na partida (Pressionou Start por menos de 3 segundos) verifica a borda de descida do botão Start (quando o botão é liberado) e o status de %Q1, ou seja, se eu liberei o botão %I1 antes de acionar %Q1 o contador CTD decrementa em um ponto. Figura 24 Para desabilitar a partida do comando, usamos o último bit da segunda word do contador CTD, ou seja, quando o contador atingir o seu objetivo de contagem (no caso 3 tentativas). Figura 25 Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 24 8. EDITOR DE TELAS Objetivo: Entender mais sobre criar telas e o editor de telas. Descrição: Nos capítulos anteriores aprendemos alguns detalhes sobre elementos de telas. Neste capítulo, detalharemos alguns objetos de tela, para podermos mostrar dados de diversas formas diferentes. Para adicionar um elemento em tela, basta clicar no elemento na barra de ferramentas, depois clique e arraste na tela para ter o tamanho desejado, da mesma forma que fazemos no ladder. Clique e libere o botão do mouse: Veja nas imagens abaixo como proceder para adicionar um elemento na tela de um Xle, o procedimento é idêntico para todos os equipamentos da linha XL. Figura 26 Clique e segure o botão na tela e arraste para a esquerda até a posição desejada: Figura 27 Libere o botão e o objeto está posicionado. Ainda assim, se não ficou de acordo, você pode redimensioná-lo e reposicioná-lo á vontade: Figura 28 Objetos gráficos: Static Text – Texto Estático Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 25 Texto Estático é usado em informações e campos em tela que não estejam vinculadas a nenhum registro. Numeric Data – Dado Numérico Numeric Data são usados para apresentar alguma informação na tela, podendo ser Inteiro, Double inteiro, ponto flutuante, hexadecimal, e diversos outros formatos. Este campo pode ser editável, portanto, serve para entrar dados no controlador, ou pode ser usado apenas como um display. Time Data – Data e hora Time Data é um campo que é apresentado formatado como data ou hora, este campo é vinculado a 3 registros consecutivos que contêm data ou hora, na mesma ordem que o RTC do controlador. O controlador registra a data e hora nos registradores de sistema %SR44 - %SR50. Para hora: a ordem nos registros são Segundos, minutos e hora. Para data: a ordem é, dia, mês e ano. Timer Data – Dados de temporizador Timer data é um campo formatado automaticamente para hora, especificamente para ser usada junto com um temporizador, contado hora, minuto, segundo. Password Data – Entrada de senha Password Data é um campo ligado a 2 registros, na tela apresenta apenas asteriscos, serve para esconder um valor e desenvolver uma senha. Text Table – Tabela de texto Text Table é um objeto que lhe permite associar textos a um determinado registro, mostrando um texto para cada valor no registro. Menu Menu é um objeto que permite que você crie um sistema de menus e sub menus. Cada item em um menu pode ser um Screen Jump, um link para um sub-menu ou uma escrita de valor em um registro. Indicator - Indicador Indicator é usado como um indicador de Ligado/Desligado para dados discretos (booleanos). É vinculado a registros de 1 bit. Existem diversos formatos de apresentação. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 26 Switch / Button – Chave / Botão Switch também conhecido como Button é usado para acionar algum bit, podendo ser momentário, toggle switch ou botão liga ou botão desliga. Em controladores com softkey os Switch são vinculados automaticamente bastando apenas criar o botão próximo a tecla. Selector - Seletor Selector é um objeto que permite fazer a seleção de até 4 itens pressionando o seletor desejado. O Selector é vinculado a um registro word que tem o valor respectivo ao botão selecionado, 0 para o primeiro, 1 para o segundo, 2 para o terceiro e 3 para o quarto item. O número de seletores e seus nomes são configuráveis. Screen Jump – Pule para tela Screen Jumps é um botão que é usado para navegar entre telas. É apenas um dos diversos métodos possíveis. Bar Graph / Meter / 360° Gauge Estes itens são diversas formas de mostrar word, o bargraph pode ser configurado tanto na horizontal ou vertical baseado em suas dimensões. Meter mostra uma agulha correndo em um gauge, indo da esquerda para a direita. 360° Gauge é uma agulha flutuante que pode apontar para qualquer ângulo dos 360°. Pode ser o fundo transparente e usar uma imagem de fundo Static Bitmap / Animation – Imagem estática / AnimaçãoEstes elementos são métodos de mostrar gráficos e símbolos customizados. O Static Bitmap, mostra apenas uma imagem. Animation mostra uma sequência de até 50 imagens, que, vinculado a um registro e dependendo do valor contido neste registro mostra uma das 50 imagens. Data Trend / X-Y Graph – Gráfico de tendência / Gráfico X-Y Estes objetos servem para mostrar gráficos na tela. O Data Trend pode exibir até 4 penas, cada uma ligada a um registro diferente. Ele mostra um gráfico com valores coletados sobre um período de tempo. O período de amostragem do gráfico é configurável e há diversos outros atributos configuráveis no gráfico. X-Y Graph pode exibir até 4 penas configuráveis, cada uma vinculada a um conjunto de registros, este gráfico exibe todas as informações ao mesmo tempo, preenchendo inteiramente o gráfico imediatamente após o trigger ser acionado. Usando dados em registradores consecutivos para o Eixo X. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 27 Alarm Object – Objetos de alarme Alarm object, que iremos ver mais detalhadamente neste lab, é usado para criar a interface de controle de alarmes na IHM do nosso controlador. Ele pode ser apresentado como um botão ou como listas, e pode ser configurado para serem alarmes ativos, histórico e etc. Removable Media Manager – Gerenciador de Midia Removível Este elemento permite acessar os diretórios do cartão de memória. Um navegador de pastas será apresentado na tela. Dependendo da configuração do elemento o usuário poderá ou não apagar arquivos, formatar o cartão, mudar de diretório e etc. Desta forma limitando (ou não) o acesso ao cartão de memória ao usuário. Rectangle / Ellipse / Rounded Rectangle / Line – Retangulo / Elipse / Retangulo arredondado / Linha Estes simples objetos são usados com o proposito de desenhar na tela e melhorar a apresentação de seu projeto. Editor de telas Lab Neste lab, iremos utilizar o programa que fizemos no Lab 3 (Temporizadores e contadores), abra-o e no menu File clique em Save AS... e salve como “Lab6 telas.csp”. 1. No Graphics Editor, clique no menu Config → Alarm para configurar os alarmes. Os configure como apresentado abaixo: Figura 29 - Configuração de Alarmes ❑ Alarm Trigger: %M1600 ❑ Max Number of Alarms: 32 Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 28 Defina os 4 primeiros alarmes como abaixo: ❑ Alarm 1, Group 1 Aviso de baixa velocidade ❑ Alarm 2, Group 1 Aviso de Alta velocidade ❑ Alarm 3, Group 1 Sobrecarga no Motor ❑ Alarm 4, Group 1 Emergencia acionada 2. Feche a configuração de alarme e feche o Graphic editor. No ladder iremos criar algumas logicas. 3. Acione %M1601 quando %R10 for menor que 50 e %Q1 estiver acionado. 4. Acione %M1602 quando %R10 for maior que 90 e %Q1estiver acionado. DICA: Função de comparação ire ser necessária para testar o valor de %AI1. 5. Adicione uma logica que acione %M1603 quando o contador de partidas mal sucedidas atingir seu PV. 6. Adicione uma logica que acione %M1604 quando %I3 for acionado. DICA: Em nossos kits, botões vermelhos são NF (Normal fechado), ideal para simular botões de emergência. 7. Adicione uma logica de SCALE (Advanced Math) que linearize %AI1 para %R10. Figura 30 8. Adicione na tela o seguinte item. a. Adicione na tela um “numérico Data” mostrando o valor de %R10. b. Adicione um Meter mostrando o valor de %R10. c. Adicione um botão para acessar a tela de alarmes. d. Adicione um histórico de Alarmes. Um exemplo de como sua tela poderá sair: Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 29 Figura 31 Envie o programa para o Controlador, teste os alarmes e veja o funcionamento dos mesmos. Solução Figura 32 PARABÉNS, VOCÊ COMPLETOU O CAPÍTULO SOBRE O EDITOR DE TELAS! Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 30 9. REDE CSCAN Objetivo: Entender como funciona a transferência de dados entre controlador para controlador (XL com XL) via rede CsCAN. Descrição: A rede CsCAN (Cscape Control Area Network) é uma rede peer-to-peer baseada no protocolo CAN. Embora o cabeamento físico não seja novidade para quem já trabalhou com redes baseadas em CAN (DeviceNet, Honeywell’s SDS, J1939, para exemplificar), foi criado o protocolo CsCAN para oferecer alguns recursos que não existem em outros protocolos. Em redes P2P não tem mestre ou escravo, cada controlador publica ou consome informações na rede e pode ser consumido por outros controladores que queiram consumir aquela informação. Um controlador que precisa de uma determinada informação de outro Controlador pode buscar a informação, sendo necessário apenas o ID do outro controlador. Um controlador pode, também, enviar para rede um pulso (heartbeat) para avisar para rede que ele esta “vivo”. Uma das vantagens que temos nesta rede é a possibilidade de programar qualquer outro controlador que esteja ligado na mesma rede, bastando estarmos ligado fisicamente apenas em um controlador. Vamos fazer uma comunicação entre os 2 equipamentos ligados em nosso bastidor, portanto faremos 2 programas. Parte 1 – Dados analógicos sobre CsCAN Passo 1 (XL4) ➢ Crie um programa novo. 1. Nomeie o programa como “lab rede xl4.csp”. 2. Configure o target ID do Controlador XL4 para 253 e o Baud rate para 125K. 3. Configure o controlador. (Caso necessário releia o lab 1) 4. Crie no ladder, um contador que incremente o registro %R1 cada 1 segundo. Este contador deve contar até 200 e reiniciar a contagem, lembre-se de usar o 16º bit de %R2 para isso. DICA: %S5 é um registro de sistema que pulsa a cada 1 segundo. 5. Escreva um rung para publicar o valor do acumulador do contador permitindo assim outros nós da rede acessar a informação. Para isso usa-se o bit %S7 (sempre ligado) e o bloco NET_PUT Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 31 Figura 33 6. Crie um display para mostrar o valor de contagem na tela. 7. Salve o programa e envie para o controlador. Passo 2 ➢ Crie outro programa. 1. Nomeie o programa de “lab redes xle.csp”. 2. Configure o node ID do Xle para 252 e Baud rate de 125K. 3. Configure o controlador (Caso necessário releia o capítulo 6). 4. Configure a rede para ler informação do Nó 253 e gravar em %R1 Isto será feito usando o bloco NET_GET. Figura 34 Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 32 5. Configure na tela um campo numérico para mostrar o dado que está sendo lido do Nó 253. 6. Salve o programa e envie para o controlador. Passo 3 ➢ Verifique a funcionalidade do programa. Ambos os controladores devem mostrar o mesmo valor que o XL4 está contando. ➢ Parte 1 Solução. Figura 35 - Nó 253 (XL4) lógica ladder Figura 36 - Nó 252, lógica ladder Parte 2 – Dados digitais sobre CsCAN Passo 1 ➢ Modifique o programa do Nó 252 (Xle) 1. Publique a entrada digital %I1 via CsCAN. Isto querer um bloco de instrução NET_PUT. Configure-o conforme o exemplo abaixo. Figura 37 2. Salve o programa e envie-o para o controlador. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 33 Passo 2 ➢ Modifique o programa do nó 253 1. Configure o nó 253 para ler a entrada digital que o nó 252 está publicando, use o bloco NT_GET e grave em %T1. Figura 38 2. Escreva uma linha adicional fazendo com que o acionamento da entrada do Xle acione uma saída da Xl4. Passo 3 ➢ Verifique a funcionalidade do programa. Quando acionado %I1 no nó 252, a primeira saída do nó 253 é acionada. ➢ Parte 2 Solução Figura 39 - Nó 252 adicionado Figura 40 - Nó 253 adicionado PARABÉNS, VOCÊ COMPLETOU O CAPÍTULO DE REDECSCAN! Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 34 10. REDE MODBUS-RTU Objetivo: Implementar a troca de dados entre controladores da família XL e controladores e/ou indicadores da linha N através do protolocolo Modbus-RTU. Descrição: Modbus é um protocolo de comunicação de dados do tipo mestre / escravo amplamente utilizado em sistemas de automação industrial, criado ainda na década de 70 até hoje é um dos protocolos mais utilizados entre CLPs e instrumentos de medição e acionamento. Abaixo segue procedimento para configuração de uma rede Modbus-RTU para leitura e escrita em equipamentos configurados como escravos: 1. Configuração da porta: Configuraremos aos parâmetros de rede da porta MJ2 para operar com o protocolo Modbus acessando suas configurações através do menu Controller >> Hardware Configuration >> Serial Ports >> clicando no botão “Config”. Será apresentada a janela abaixo: Figura 41 2. Na porta MJ2 será selecionado a opção do protocolo Modbus Master v3.20, nesta mesma janela a direita da caixa de seleção do protocolo temos os botões “Network”, “Devices” e “Scan List”, os quais correspondem as demais confirgurações para se estabelecer a troca de dados entre a XL (mestre) e os demais equipamentos da rede (escravos). 3. Na opção Network, vamos definir a configuração da porta RS485, devemos previamente verificar se todos os equipamentos de nossa rede, estão devidamente configurados com os parâmetros: Baud Rate (velocidade), Parity (paridade), data Bits (tamanho do pacote de dados), Stop Bits (bits de parada) e Protocol (tipo do protocolo) de forma igual em nosso exemplo iremos fazer a comunicação com o controlador NOVUS N1200 com os seguintes parâmetros de rede: - Baud Rate: 9600 bps; - Paridade: Nenhuma; - Bits de Parada: 1 - Protocolo: Modbus-RTU Figura 42 Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 35 4. Na opção Devices, devemos declarar a relação de equipamentos escravos que compõem nossa rede, seus respectivos endereços e como seus registradores são apresentados. Figura 43 5. Finalmente na opção Scan List, vamos definir quais registradores serão lidos do equipamentos escravos e quais ficarão disponíveis para a escrita de valores (conforme tabela Modbus do equipamento), neste momento cada registrador que iremos ter a interação irá corresponder a uma variável interna da XL e será por meio desta que iremos realizar os procedimentos de leitura e/ou escrita. Figura 44 Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 36 11. MÍDIA REMOVÍVEL Objetivo: Entender as funcionalidades da Midia Removível dos controladores que permitem estas funções. Descrição: Os controladores da linha XL permitem que seja usado cartões de memória para diversas funções: ❑ Ler/escrever/renomear/apagar arquivos no formato CSV via ladder ❑ Registrar automaticamente dados usando a função de data logging ❑ Capturar imagens da tela atual em um arquivo de imagem ❑ Carregar um programa novo no Controlador sem a necessidade de um PC. ❑ Hospedar páginas web que permita que se controle os dados via internet (Xle não suporta este recurso) ❑ Uso de FTP para ler ou escrever arquivos no cartão de memória via internet (Xle não suporta este recurso) Funções no ladder Informações podem ser armazenados e lidos do cartão de memória usando blocos lógicos no ladder do Cscape. Este método permite que o cartão de memória seja usado para logar dados (datalogger) ou armazenar receitas no controlador ou fazer diversas outras funções. Quando escrevemos dados no cartão de memória, a informação é salva no formato CSV (Comma separed value, ou valores separados por vírgula). O cartão de memória pode ser removido do controlador e lido em uma planilha no PC e o inverso também é possível, editar valores em uma planilha salvá-lo no cartão de memória acssa-lo no controlador. As funções de Leitura (Read), Escrita (Write), renomear (Rename), Deletar (Delete) e Copiar (Copy) são encontradas no menu Project toolbox → Removable media. Figura 45 Procedimento: 1. Abra o Cscape e crie um novo programa e configure o hardware como já foi aprendido anteriormente 2. Crie no ladder um bloco de escrita que escreve no cartão de memória 6 registros começando em %R1 e é disparado pela tecla F1. Configure para sobrescrever (Overwrite) o arquivo gerado, e o chamaremos de Dados.csv, configure para ter 2 colunas por linha e marque a opção “End of Row now”. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 37 Figura 46 3. Crie uma linha que, quando pressionar F2 lê um valor do arquivo “dados.csv” e grava esta informação em %R11. O offset deverá ser configurado via %R200. Figura 47 4. Configure uma tela para ter as seguintes informações: ❑ Registradores editáveis de %R1 a %R6. ❑ Instrução “Pressione F1 para gravar os dados no arquivo dados.csv”. ❑ Um botão para pular para a tela 2. 5. Configure a tela 2 para ter as seguintes informações: ❑ Registrador %R200, o offset, editável e limitado de 0 a 5 ❑ Registrador %R11, apenas leitura (Não editável). ❑ Instruções para leitura “Pressione F2 para ler o dado solicitado” ❑ Adicione um RM manager na tela As telas deverão parecer como as abaixo: Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 38 Figura 48 Figura 49 6. Envie o programa para o controlador. 7. Modifique os valores de %R1 a %R6 na tela 1 e pressione F1 para escrever no cartão de memória. 8. Vá para a página 2 e defina o valor 0 em %R200 e pressione F2. O valor de %R11 deverá ser o valor gravado em %R1. 9. Modifique %R200 para um valor entre 0 e 5 e pressione, veja que ele lerá algum valor entre %R1 e %R6. 10. Usando o botão RM Manager, você navega no cartão de memória e poderá apagar o arquivo criado “dados.csv” Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 39 Solução: Figura 50 Data Logging – Registrando Dados Uma boa função para registrar dados continuamente é configurar a função de datalogger do controlador. Ao contrário das funções mostradas anteriormente, o recurso de Data logging do controlador permite registrar até 100 registros variados em até 10 grupos de dados. A função Data logging é configurado via Project Navigation => Data Logging. Figura 51 Na janela a baixo a esquerda [Figura 52 (A)] em Group Operations configuramos nossos grupos de históricos, é importante observar que mesmo a caixa de seleção Enable Data Log estando ativa no topo da janela, precisamos também definir qual registrador irá ativar o registro dos dados, em nosso exemplo escolhemos o registrador interno %S007 (Always ON) que está sempre ativo quando o CLP estiver em modo de execução de programa, ou seja, em nosso exemplo o registro será constante. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 40 (A) (B) Figura 52 Na mesma janela a direita, uma vez criado o grupo de histórico, devemos elencar quais variáveis do nosso projeto serão registradas, fazemos isso clicando no botão Add Variable, ao lado ainda temos os botões para modificarmos e excluirmos uma variável. Apesar de definirmos o grupo e quais variáveis serão registradas, ainda é necessário configurar o local de armazenagem e o intervalo de registro, clicando em Group Attributes, será aberta a janela descrita na figura 52(B) e iremos configurar: - Group Status Register: Será definida um word para que se possa salvar as informações de status deste grupo de histórico; - DataLog Interval: Define a peridicidade dos registros; - Data Log Path: Definirmos o nome da pasta que será criada no cartão de memória para armazenar os dados de histórico. Nomeando arquivo em um cartão de memória Os blocos de funções de Midia removível suporta formatação padrão FAT16. Todos os nomes são limitados no formato 8.3 (nome do arquivo de 8 caracteres 3 de extensão), o caminho dos arquivos + nome dos arquivos devem ter no máximo 147 caracteres de comprimento. Quando criamos arquivos e diretórios é desejável incluir no caminho alguns dados de data e hora. Existem 6 símbolos especiais que podem ser usados na criação do nome do arquivo/caminho, que serão substituídos pela informação desejada. Exemplo das descrições de símbolos $Y É substituído pelos 2 últimos dígitos do ano 2004 = 04 $M É substituído por uma codificação de 2 dígitos Março= 03 $D É substituído pelo dia atual 22nd = 22 $h É substituído pela hora atual no formato 24 horas 4 PM = 16 $m É substituído pelo minute atual $s É substituído pelo Segundo atual Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 41 $p É substituído por um valor de 1 a 1023 correspondendo a tela atual da ihm, numa formatação de 4 dígitos. 53 = 0053 (1-1023, Usado principalmente para captura de tela) Note que todos os símbolos iniciam em cifrão ($), Símbolos de datas estão em maiúsculas e horas em minúsculas. Contador de arquivos de mídia removível Outra ferramenta disponível em nomeação Midia removível, é o contador de arquivos. Existem 4 contadores de arquivos disponíveis e podem ser configurados separadamente. A configuração pode ser feita no editor gráfico clicando em Config → Filename Counters. Cada contador requer registrador de 32 bits e o valor do contador é incrementado automaticamente cada vez que o contador é acessado. Acessar o contador é similar aos símbolos ensinados anteriormente, o formato para acessá-los é dado da seguinte forma: $[numero do contador]u[Numero de dígitos, 1 a 8] Por exemplo, usando o contador 1 para captura de telas, se o contador tem o valor máximo de 59, o valor atual está em 35 e auto incremento esta ativo: $1u4 = 0035 Download de programa via Cartão de memória Outro recurso da mídia removível é a opção de carregar um programa no controlador via cartão de memória, sem a necessidade de um PC. O Cscape salva um arquivo em um formato especial com a extensão .pmg, clicando em File Export to Removable media. Pode ser salvo diretamente no cartão de memória, ou enviado ao controlador posteriormente. O usuário então, poderá inserir o cartão de memória no controlador e através do menu de sistema do controlador carregar o arquivo. Figura 53 Captura de telas Um recurso interessante e útil é a possibilidade de fazer captura de telas e salvá-las no cartão de memória como JPG ou bitmap. Estas imagens podem ser visualizadas através do Removable Media Manager, ou visualizado em um computador com seu visualizador de imagens favorito. Configura-se a função de captura de imagens no Editor de telas, acessando o menu Config → Screen Capture. Um registrador de um bit é solicitado para a função e definição do nome do arquivo a ser salvo. DICA: Sempre use um bit setavel para fazer uma captura de tela, o controlador, ao finalizar a captura, reseta o bit automaticamente, ate servindo como um feedback de que a captura foi executada com êxito. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 42 Procedimento: 2. Vamos fazer a tecla F3 capturar telas. Configure uma linha em nosso ladder para que F3 acione %T3. 3. No editor de telas, configure a captura de tela para ser executada via %T3 e especifique o nome do arquivo para “telas\$p.bmp” Figura 54 4. Envie o programa ao controlador e teste a função captura de tela. 5. Entre na tela que tem o Removable Media Manager e acesse e veja que a pasta telas foi criada e as telas capturadas estão dentro dela. PARABÉNS! Você finalizou o capítulo sobre mídias removíveis. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 43 12. CONFIGURAÇÃO DE RECEITAS Nos mais diversificados processos industriais é muito comum que o produto final seja uma somatória de várias outras componentes, que após sua industrialização obtém-se o produto final, por similaridade muito destes processos em bateladas diference apenas da quantidade. Quando processos deste tipo nos são apresentados, uma alternativa para facilitar a programação é se utilizar da função RECEITAS. A associação mais comum desta função é sua relação com o processo de fabricação de um bolo, a qual devemos adicionar ingredientes como: farinha, leite, fermento e outros, contudo para cada tipo de bolo (produto), temos um certo valor de dosagem, desta forma para cada produto selecionado um conjunto de variáveis dentro do CLP será atualizado com novos valores. Os controladores da família XL possuem tal funcionalidade e por também possuírem IHM incorporada facilitam ainda mais a interação entre o sistema de automação e seu operador. Tendo capacidade para 1024 receitas (produtos) diferentes, cada uma composta por até 250 ingredientes (variáveis). Abaixo segue procedimento para utilização de Receitas nos controladores da família XL: 1. Criando um Novo Projeto No software de programação CSCAPE , vá até o menu File e selecione a opção New. Figura 55 Nosso exemplo será criado no modo de edição Ladder Avançado, conforme figura abaixo. Figura 56 2. Criando uma Nova Receita Após criação do novo projeto deve-se selecionar o editor de Receitas através do Menu Program >> Recipes Editor será apresentada a tela criarmos uma nova receita, o qual deveremos nomear nossa receita, nomear arquivo que armazenará as variáveis e também o número de produtos e ingredientes. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 44 Figura 57 O nome do arquivo deve conter a extensão “.CSV” e este será armazenado dentro do cartão microSD. O editor de Receitas será apresentado em forma de tabela e poderemos inserir o valor que cada variável irá assumir de acordo com o produto a ser selecionado. Figura 58 Em nosso exemplo temos 03 produtos que são compostos pela mistura de 03 líquidos em quantidades diferentes, para realizar a edição dos nomes e endereçarmos as variáveis basta dar um duplo clique sobre o produto ou ingrediente. Figura 59 Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 45 Nesta tela conforme a imagem acima deve-se também indicar qual registrador do programa (Controller Register / Address) irá receber o valor que será atribuído a determinado produto, seu formato e a unidade de medida relacionada. Realizando a configuração dos registradores e valores das variáveis, podemos fechar o Editor de Receitas e iniciar a construção das telas que irão permitir a manipulação das receitas. 3. Manipulação da Receita Acessar o Editor de Telas no menu Screens >> View / Edit Screens Figura 60 Iremos utilizar o botão “Recipes” para criar os botões virtuais que permitirão ao usuário do sistema: Visualizar, Salvar, Selecionar e Editar a receita futuramente. Neste exemplo além dos botões para manipulação da receita foram adicionados 03 displays numéricos (Numeric Data Properties) para visualização dos valores dos registradores que foram definidos para cada variável da receita. Figura 61 Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 46 Figura 62 Após conclusão da configuração dos elementos gráficos de tela, pode-se fechar oeditor gráfico e realizar o envio do programa ao CLP. 4. Executando a Aplicação Após o donwload poderemos via IHM realizar a seleção e alteração da Receita conforme descrito nas telas que se seguem: Figura 63 (a) Figura 64(b) Figura 65(c) Figura 66 (d) Clicando no botão “Editar Receitas” podemos selecionar qual produto deseja-se alterar. As setas direcionais devem ser utilizadas para navegação, o botão “Exit” retornará para tela anterior e temos o botão Enter ao final da tela para seleção da opção desejada.(Figura 62 b) Selecionando o produto desejado, podemos escolhar qual dos ingredientes é preciso alterar a quantidade. (Figura 62 c) Selecionando o ingreditente, podemos realizar sua alteração de valor conforme necessidade. (Figura 62 d). Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 47 Glossário Tipos de Dados BOOL – BOOL/Booleano; um único bit. Ele pode conter valores “0” ou “1”, também representado por “FALSE” ou “TRUE” ou ainda “FALSO” ou “VERDADEIRO”. BYTE - Byte; Uma sequência de 8 bits. WORD – WORD/Palavra, uma sequência de 16 bits. Word é usado para a maioria dos dados em um CLP. DWORD - Double Word/ duas palavras; Uma sequência de 32 bits. Dword usa 2 words consecutivas no CLP. INT – Integer/Inteiro; Um valor de 16-bit com sinal. Inteiros atendem a faixa de -32767 a +32768 DINT - Double Integer/Inteiro duplo ; Um valor de 32 bits com sinal, comporta um valor de -2,147,483,648 a +2,147,483,647. UINT - Unsigned Integer/Inteiro sem sinal ;um valor de 16 bits sem sinal, o range comporta os valores de 0 (zero) a 65,535. UDINT - Unsigned Double Integer/ Duplo inteiro sem sinal; Um valor de 32 bits sem sinal, comporta o range de 0 (zero) a 4,294,967,296. REAL - Floating Point/Ponto Flutuante; Um valor de 32 bits. Os valores são armazenados na especificação da IEEE (seis dígitos), os valores atendem um range de -3.40282E+38 a +3.40282E+38. STRING – String/sequência de Caracteres; Uma sequência de caracteres de tamanho variável, cada byte representa um caractere. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 48 Tipos de registradores Type Descrição e exemplo de uso Formato Retentivo? Qtd disponiv %I Entradas digitais, sensors, botões, chaves, fins de curso Boleano SIM 2048 %Q Saidas fisicas; relés, válvulas, contatores, luminosos Boleano NÃO 2048 %AI Entradas analogicas de campo; Temopares, 4 a 20mA, 0 a 10V WORD SIM 512 %AQ Saidas analogicas de campo; valvulas proporcionais, 4 a 20mA WORD NÃO 512 %IG Entradas discretas vinda de outro Controlador Boleano SIM 64 per node %QG Saida discreta direcionada a outro Controlador Boleano NÃO 64 per node %AIG Entrada analogical global, vinda de outro Controlador WORD SIM 32 per node %AQG Saida analogical global, indo para outro controlador WORD NÃO 32 per node %T Bits internos temporarios, usado em logicas não retentivas Boleano NÃO 2048 %M Bits interos, usados em logicas retentivas Boleano SIM 2048 %R Registradores internos, usado em temporizadores, aritimetica… WORD SIM 9999 %K Teclas de funções Boleano NÃO 4-12 %D Bits de tela indica qual tela esta ativa… Boleano NÃO 1023 %S Bits internos de sistema Boleano --- --- %SR Registradores internos de sistema WORD --- --- Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 49 Bits de Sistema Point Name Function Point Name Function %S01 FST_SCN Indicates First Scan %S07 ALW_ON Always ON %S02 NET_OK Network is OK %S08 ALW_OFF Always OFF %S03 T_10MS 10mS pulse %S09 PAUSING_SCN Pause 'n Load soon %S04 T_100MS 100mS pulse %S10 RESUMED_SCN Pause 'n load done %S05 T_1SEC 1 second pulse %S11 FORCE I/O being forced %S06 IO_OK I/O is OK %S12 FORCE_EN Forcing is enabled Registradores de sistema SR # Name Min Max SR # Name Min Max 1 User Screen Number 0 1023 39 BIOS Version 2 Alarm Screen Number 0 1023 40 FPGA Version 3 System Screen Number 0 10* 41 LCD Columns 4 Self Test Result 42 LCD Rows 5 Controller Mode (RUN..) 0 2 43 Keypad Type 6 Scan Rate Avg 44 RTC Seconds 0 59 7 Reserved 45 RTC Minutes 0 59 8 Reserved 46 RTC Hours 0 23 9 Edit Buffer Low 47 RTC Day of Month 1 31 10 Edit Buffer High 48 RTC Month 1 12 11 Ladder Size Low 49 RTC Year 1996 2095 12 Ladder Size High 50 RTC Day of Week 1 7 13 User Text Size Low 51 Network Error Count 14 User Text Size High 52-55 Reserved 15 System Text Size Low 56 Last Key 16 System Text Size High 57 LCD Backlight 17 I/O Config Size Low 58 User Leds 18 I/O Config Size High 59-60 Reserved 19 Net Config Size Low 61 Num Ids 20 Net Config Size High 62-174 Reserved 21 Security Data Size Low 175 CF Status 22 Security Data Size High 176 CF Free Low 23 Ladder CRC 177 CF Free High 24 User Text CRC 178 CF Total Low 25 System Text CRC 179 CF Total High 26 I/O Config CRC 180 Reserved 27 Net Config CRC 181 Alarms Unacknowledged 28 Security Data CRC 182 Alarms Active 29 Network ID Low 1 253 183 System Beep 0 1 30 Network Baud Rate 0 3 184 User Beep 0 1 Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 50 SR # Name Min Max SR # Name Min Max 31 Network Required 0 1 185 Screen Saver 0 1 32 LCD Contrast 1 255 186 Screen Saver Time 5 1200 33 Key Toggle Mode 0 1 187 Network Usage (Avg) 0 1000 34 Serial Protocol 188 Network Usage (Min) 0 1000 35 Serial Number Low 189 Network Usage (Max) 0 1000 36 Serial Number High 190 Network TX Use (Avg) 0 1000 37 Model Number 191 Network TX Use (Min) 0 1000 38 Engine Version 192 Network TX Use (Max) 0 1000 *Número maximo de telas pode variar de acordo com o controlador. Para detalhes do funcionamento dos Bits e Registros de Sistema consulte o Help do Cscape. Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 51 Anotações Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 52 Anotações Apostila | Programação Básica CLPs com IHM Incorporada NOVUS PRODUTOS ELETRÔNICOS LTDA. 53 Anotações