IEC 61131
Origem: A série IEC 61131 surgiu nos anos 1980 por iniciativa da IEC (International Electrotechnical Commission), especialmente através do comitê TC 65/SC 65B, responsável por sistemas de controle industrial. Seu objetivo era padronizar os CLPs na indústria, com as primeiras normas publicadas entre 1992 e 1995 (Partes 1 a 4), abordando conceitos gerais, testes, linguagens de programação e diretrizes de uso. As partes seguintes expandiram o escopo: Parte 5 (comunicações) e Parte 7 (lógica fuzzy) em 2000, Parte 6 (segurança funcional) em 2012 e Parte 8 (guia de aplicação) em 2017. Juntas, elas estabelecem a base técnica, prática e segura para o uso global de CLPs.
IEC 61131-1 A primeira parte da norma IEC 61131 define as informações gerais dos controladores lógicos programáveis (CLP/CP), delimitando e identificando as principais características relevantes para a seleção e aplicação de CP`s, e também para qualquer equipamento ou acessório ligado à CPU.
Algumas características funcionais associadas são: Interface Homem-Máquina: o operário interpreta as funções da máquina, sendo através de monitores, botoeiras, touchscreen, etc; Estrutura do hardware do CP; Processamento dos sinais; Fontes de alimentação.
A programação de um CLP pode ser realizada, bem como sobre uma plataforma de hardware e software específico de um computador de uso geral ou de um computador pessoal com funções de ambiente industrial. Esta norma aplica-se a todos os produtos que executam a função de CLP's e/ou seus periféricos associados.
Ela também foi constituída para que os CLP`s de diferentes fabricantes possam ser utilizados por programas distintos, e não apenas pelos dos próprios fabricantes. Apesar de definir informações gerais dos CLP`s, esta norma não lida com a segurança funcional ou outros aspectos do sistema automatizado, como choques elétricos, riscos de incêndio e erros de operação.
IEC 61131-2 - Requisitos de Equipamentos e Testes A parte 2 da norma estabelece requisitos funcionais de Segurança de Manuseio, proteções e recomendações contra Interferências eletromagnéticas e requisitos construtivos elétricos, mecânicos e ambientais.
Outro ponto definido por esta parte da norma refere-se a memórias de backup: tipos, especificação, capacidades. Por consequência das definições de hardware, a parte 2 define também todos os testes necessários à certificação de um determinado CP conforme definido por esta norma.
Está norma se aplica a qualquer produto que exerça função de um PLCs e os periféricos associados.
Os equipamentos contidos neste padrão são para o uso da categoria de sobre tensão 2 (IEC 60664-1), em instalações de baixa tensão, onde a tensão elétrica nominal não exceda AC 1000Volts rms (50/60Hz) ou DC 1500V.
Especificações da norma IEC 61131–2: Serviços, armazenamento e transporte requisitos para o PLCs e seus periféricos. Requisitos funcionais para PLCs e seus periféricos. Requisitos EMC para PLCs e seus periféricos. Requisitos de segurança de PLCs e seus periféricos. Obriga o fabricante a fornecer informações. Metodologia de ensaio e procedimentos que deve ser seguidos para a verificação dos PLCs e seus periféricos, com seus devidos requisitos. Testes de rotina de segurança para PLCs e seus periféricos.
IEC 61131-3 – Linguagens de Programação A norma IEC em sua parte 3 tem por objetivo:
Fornecer metodologias de construção de lógicas de programação de forma estruturada e modular, permitindo a quebra dos programas em partes gerenciáveis; Definir 5 linguagens de programação, cada uma com suas características, de forma a cobrir a maioria das necessidades de controle atuais; Permite o uso de outras linguagens de programação, desde que obedecidas as mesmas formas de chamadas e trocas de dados (Visual Basic, Flow Chart, C++, etc); Abordagem e estruturação top-down e bottom-up, fundamentada em 3 princípios: Modularização; Estruturação Reutilização.
Dentro destes aspectos, a IEC 61131-3 define cinco linguagens de programação: ST (Structured Text) Texto Estruturado IL (Instruction List) Lista de Instruções LD (Ladder) Linguagem ladder FBD (Function Block Diagram) Diagrama de bloco SFC (Sequential Flow Chart) Diagrama de Fluxo
As duas primeiras linguagens acima (ST e IL) são ditas textuais por conterem instruções na forma de texto. As duas seguintes (LD e FBD) são ditas gráficas por possuírem representação na forma de símbolos. A linguagem SFC é normalmente tida como linguagem gráfica, porém também permite programações textuais.
É comum em alguns ambientes de programação que atendem à IEC 61131-3 como o CODESYS, a presença de uma sexta linguagem de programação, conhecida como CFC (do inglês Continuous Function Chart) que não faz parte das definições da norma.
Principais Definições Configurações (Configurations): corresponde ao software necessário à um CLP ou conjunto de CLP´s para que este(s) cumpra(m) suas funções de controle. A configuração define todos os elementos com suas configurações individuais e uma configuração total dada pelo resultado das diversas combinações.
Recursos (Resources): qualquer elemento com capacidade de processamento dentro de uma configuração, capaz de executar programas. O recurso pode existir fisicamente (CPU do processador, interfaces de operação IHM, gateways de comunicação) ou virtualmente (uso compartilhado de memórias de processamento por softwares distintos).
Tarefas (Tasks): controla a execução de programas ou blocos funcionais de forma periódica ou por disparo por eventos (“triggers”)
Unidade de Organização de Programas (POU, do inglês Program Organization Unit): é a forma definida pela norma para se implementar o software do CLP através da associação de variáveis e instruções, utilizando as linguagens da norma ou linguagens adicionais. Portanto, o software aplicativo do Controlador Lógico consiste na criação e associação de POUs entre si.
Programas (Programs): construído a partir de Blocos Funcionais e Funções em qualquer das linguagens da norma. Pode acessar diretamente as Entradas e Saídas e comunicar com outros programas. Diferentes partes de um programa podem ser controladas por tarefas.
Blocos Funcionais (Function Blocks): Partes de programas hierarquizados e estruturados de forma a serem parametrizáveis e reutilizáveis. Os dados nos Blocos possuem persistência, mantendo-se inalterados entre cada execução do bloco.Exemplos de blocos funcionais são PID, temporizadores, contadores e blocos criados com funções específicas como controle de motores. Podem ser usados como partes integrantes de Blocos Funcionais mais complexos.
Funções (Functions): funções ou procedimentos são elementos de programação que, diferentemente de blocos funcionais, não possuem persistência, gerando resultados a cada execução. Exemplos de funções são blocos aritméticos, comparadores e lógicos.
Variáveis Globais e Locais (Global and Local Variables): Variáveis são declaradas de duas formas: localmente e globalmente. Uma variável é dita Global quando é declarada na Configuração ou no Recurso, passando a ser aceita por todas as partes dentro do nível declarado. Variáveis globais podem ser aceitas também por outras Configurações ou mesmo diferentes CLP´s, desde que devidamente declaradas em cada um deles.
Tipos de Variáveis Abaixo estão as definições de tipos de variáveis definidas na normahttps://help.codesys.com/api-content/2/codesys/3.5.12.0/en/_cds_struct_reference_datatypes/: +TipoMemóriaLimite MínimoLimites MáximoObservaçõesBOOL1 bitFalse (0)True (1)BYTE8 bits0255WORD16 bits065535DWORD32 bits04294967295LWORD64 bits0264-1SINT8 bits -128127USINT8 bits0255INT16 bits -3276832767UINT16 bits065535DINT32 bits-21474836482147483647UDINT32 bits04294967295LINT64 bits-263263-1ULINT64 bits0264-1REAL32 bits-3.402823e+383.402823e+38LREAL64 bits-1.7976931348623158e+3081.7976931348623158e+308TIME32 bits0 ms4294967295 msTIME_OF_DAY32 bits0 (00:00:00AM:000)4294967295 (11:59:59 PM:999)LTIME64 bits0213503d23h34m33s709ms551us615nsDATE32 bits0 (01.01.1970)4294967295 (2106-02-07)DATE_AND_TIME32 bits0 (1970-01-01, 00:00:00)4294967295 (2106-02-07,06:28:15)STRING1 byte por caractere + 1Codificação ASCIIWSTRING1 byte por caractere + 1Codificação Unicode A alocação de memória para variáveis do tipo STRING e WSTRING depende da declaração, se não for definida uma dimensão o sistema alocará 80 caracteres para a variável por padrão. A memória alocada sempre será 1 byte por caractere + 1 byte (por exemplo: a declaração STRINGocupará 68 bytes na memória).
IEC 61131-4 – Orientações para o usuário Aqui são apresentadas as orientações para que aqueles que querem utilizar os Controladores Lógicos Programáveis possam os comprar e instalar, assim como a seus módulos. Ou seja, indica a forma como seus usuários/fabricantes devem especificar hardware e software necessários ao projeto, assim como instalar, comissionar e certificar o sistema de automação instalado e como formalizar a comunicação entre fornecedores e usuários finais. Essa parte também recomenda quanto a condições ambientais, assim como o uso de fiações corretas e aterramento e supressões de ruídos e transientes. Ela ainda interage com as normas IEC61508 e IEC 61511 que tratam de aplicação de Controladores Lógico Programáveis em sistemas de segurança.
IEC 61131-5 - Comunicações A parte 5 está relacionada com os aspectos de comunicação de um Controlador Programável, como a definição do módulo de comunicação, seus blocos funcionais e mecanismos para conexão entre controladores e outros dispositivos de automação. Ele especifica como um controlador pode se comunicar com um servidor ou qualquer outro tipo de dispositivo.
A norma não possui a finalidade de especificar como um dispositivo pode se comunicar com outro através de um controlador (como um servidor ou gateway). O comportamento do controlador como um cliente e servidor de comunicação é especificado independentemente do subsistema de comunicações em particular, mas a funcionalidade de comunicação pode ser dependente das capacidades do subsistema de comunicações utilizado.
Além disso, os meios definidos nesta parte da IEC 61131 podem ser utilizados para comunicações dentro de um programa ou entre programas.
IEC 61131–6 - Comunicação via Fieldbus Essa parte da norma especifica os requisitos para controladores programáveis e seus periféricos associados, tal como definido na Parte 1, que se destinam a ser usado como o subsistema de lógica de um elétrico / eletrônico / programável eletrônico (E / E / PE) sistema relacionada com a segurança.
Essa norma é aplica para um FS-PLC com um Safety Integrity Level (SIL) capacidade não superior a SIL 3.
Objetivo da norma 61131-6:
Estabelecer e descrever os elementos do ciclo de vida de segurança de um FS-PLC, em harmonia com o ciclo de vida geral de segurança identificada no IEC 61508-1, -2 e -3.
Estabelecer e descrever os requisitos para FS-PLC HW e SW que se relacionam com os requisitos de segurança e de integridade de segurança funcionais de um sistema relacionado à segurança E / E / PE;
Estabelecer métodos de avaliação para um FS-PLC para essa norma e os seguintes critérios:
Reivindicação Safety Integrity Level (SIL) para o qual a FS-PLC é capaz.
A probabilidade de falha no valor demanda (PFD);
Uma frequência média de falha perigosa de valor por hora (PFH);
Um valor para a fração de falha segura (SFF);
Um valor para a tolerância a falhas de hardware (HFT);
Um valor para a cobertura de diagnóstico (DC);
Verificação dos processos de ciclo de vida de segurança especificado pelo fabricante FS- PLC estão no lugar;
Estado seguro definido;
As medidas e técnicas para a prevenção e controle de falhas sistemáticas;
Para cada modo de falha abordado nesta norma, o comportamento funcional no estado falhou;
Estabelecer as definições e identificar as principais características relevantes para a selecção e aplicação de FS- PLCs e nos seus periféricos.