SUPERVISÃO E CONTROLE OPERACIONAL DE SISTEMAS Prof. André Laurindo Maitelli DCA-UFRN Programação de CLPs Definição • Padronização IEC 1131-3 • Linguagem Gráfica – Diagrama de Lógica de Relé (Ladder) – Diagrama de Blocos de Funções (FB) – Sequencial Function Chart (SFC) • Linguagem Textual – Lista de Instruções (IL) – Texto Estruturado (ST) Exemplos Texto Estruturado Lista de Instruções C=A AND NOT B LD A ANDN B ST C Bloco de Função AND A B DIAGRAMA LADDER A B C ( ) C SFC Linguagem Ladder • Forma de programação usada para passar instruções ao CLP sobre como deve ser executado o controle sobre o processo • Utiliza símbolos similares aos usados em diagrama elétrico de reles como linguagem de programação Endereçamento • É um número ou código usado para identificar cada ponto físico de entrada ou saída do CLP ou algum ponto interno • Cada registro (conjunto de 16 bits) associado a um grupo de E/S ou pontos internos também tem um endereço • O endereço serve para referenciar pontos ou registros no programa ladder CLP Allen Bradley – SLC 500 • A memória do usuário é organizada em arquivos: de dados e de programas Exemplo – endereçamento Allen Bradley I IDENTIFICADOR DO ARQUIVO 1 2 RACK BIT CLP Allen Bradley – Micrologix • A memória do usuário consiste de 4 unidades: – – – – Seções de arquivos Arquivos Palavras Bits • O Micrologix possui 2 seções de arquivos: – Programas – Dados CLP Allen Bradley – Micrologix • Estrutura da seção de arquivos de dados: Exemplo – endereçamento Micrologix IDENTIFICADOR DO ARQUIVO I PALAVRA 1 BIT 2 Instruções Básicas Instruções Básicas - exemplos Instruções Tipo Relé Contato NA Contato NF Bobina Exemplo - Instruções Tipo Relé CIRCUITO ELETROMECANICO DIAGRAMA LADDER I:0/1 I:0/2 B1 O:0/1 ( ) B2 B1 M B2 M O:0/1 M G M O:0/1 O:0/2 ( ) M G R O:0/2 O:0/3 ( ) M R Bobina com Retenção Exemplo – Bobina com Retenção CIRCUITO ELETROMECANICO DIAGRAMA LADDER I:1/1 B1 O:2/1 (S) B2 B1 M I:1/2 O:2/1 M M (R) B2 M Binários (B3) • São variáveis binárias internas IDENTIFICADOR DO ARQUIVO B3 NUMERO DA PALAVRA 1 NUMERO DO BIT 02 Temporizadores • Os temporizadores disponíveis no SLC500 possuem a seguinte estrutura de arquivo: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Palavra 0 Bits de Estado do Temporizador Palavra 1 Valor Predefinido Palavra 2 Valor Acumulado Instrução de Temporização TON TIMER- Endereço do temporizador TIME BASE- Base de tempo PRESET- Valor definido como limite ACCUM- Valor acumulado TON (Timer On-Delay) • A palavra 0 do temporizador TON possui 3 bits de estado: EN (Enable Bit) Habilita o temporizador a iniciar a contagem do tempo predefinido. É o bit 14 da palavra 0 TT (Timer Timing Bit) Este bit tem seu estado inicial 0. Quando o temporizador (TON) começa a temporizar ele é levado para 1 e só é ressetado quando a linha de temporizador voltar a ser falsa. É o bit 15 da palavra 0 DN (Done Bit) este bit é inicializado com 0 e ao final do tempo predeterminado é levado para 1. É o bit 13 da palavra 0 • Endereço dos temporizadores: T4:X/DN, T4:X.ACC, T4:X.PRE Exemplo de Aplicação TON I:001 01 T4:0 EN TON TIMER ON DELAY TIMER T4:0 TIME BASE 1.0 Preset 180 Accum 0 EN DN O:001 01 T4:0 O:001 DN 02 Instrução de Temporização TOF TIMER- Endereço do temporizador TIME BASE- Base de tempo PRESET- Valor definido como limite ACCUM- Valor acumulado TOF (Timer Off-Delay) • Possui os mesmos bits de estado do temporizador TON • Quando a linha do TOF vai para o valor lógico 1, o bit DN é setado. Quando a linha do TOF é ressetada (vai para nível lógico 0) inicia-se a contagem do tempo predefinido. Ao final da contagem, o bit DN é ressetado • Se durante o processo de temporização a linha do TOF é levada para nível lógico 1 então o valor acumulado é zerado, os bits DN e EN são zerados e o bit TT é setado Exemplo de Aplicação TOF I:012 10 T4:0 EN TOF TIMER ON DELAY TIMER T4:0 TIME BASE 1.0 Preset 180 Accum 0 EN DN O:013 01 T4:0 O:013 DN 02 Instrução de Contagem (CTU) CTU COUNT UP Counter Preset Accum COUNTER- Endereço do Contador PRESET- Valor definido como limite ACCUM- Valor acumulado CU- Contador habilitado DN- Contagem concluída CU DN CTU • O CTU possui em sua palavra zero os seguintes bits: – OV (Overflow Bit) Esse bit é setado quando o valor acumulado supera o valor predefinido. (Bit 12) – DN (Done Bit) Esse bit é setado quando o valor acumulado atinge o valor predefinido de contagem. (Bit 13) – CU (Count Up Enable) Esse bit, quando setado, habilita o CTU. (Bit 15) • Quando usamos o CTU, o valor acumulado é iniciado com o valor 0 e toda vez que a linha do CTU vai de nível lógico 0 para 1, esse valor é incrementado. Exemplo de Aplicação - Contador I:001 01 C5:0 DN I:001 02 CTU COUNT UP Counter Preset Accum CU C5:0 4 0 DN O:001 01 C5:0 RES Instruções de Comparação Instruções de Comparação - exemplos Instruções Matemáticas Instruções Matemáticas - exemplos I:012 ADD 10 ADD SOURCE A SOURCE B N7:3 N7:4 DETINATION N7:20 Instruções de Manipulação de Dados Instruções Manipulação - exemplos RSLogix • O RSLogix 500® disponibiliza um ambiente de programação em linguagem ladder RSLogix • Novo projeto RSLogix • Configurando o driver de comunicação: RSLinx RSLogix • Configurando os módulos de entrada e saída RSLogix • Conjunto de Instruções: