A primeira parte da norma IEC 61131 define as informações gerais dos controladores programáveis (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:
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.
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:
A norma IEC em sua parte 3 tem por objetivo:
Dentro destes aspectos, a IEC 61131-3 define cinco linguagens de programação:
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.
Abaixo estão as definições de tipos de variáveis definidas na norma[1]:
Tipo | Memória | Limite Mínimo | Limites Máximo | Observações |
---|---|---|---|---|
BOOL | 1 bit | False (0) | True (1) | |
BYTE | 8 bits | 0 | 255 | |
WORD | 16 bits | 0 | 65535 | |
DWORD | 32 bits | 0 | 4294967295 | |
LWORD | 64 bits | 0 | 264-1 | |
SINT | 8 bits | -128 | 127 | |
USINT | 8 bits | 0 | 255 | |
INT | 16 bits | -32768 | 32767 | |
UINT | 16 bits | 0 | 65535 | |
DINT | 32 bits | -2147483648 | 2147483647 | |
UDINT | 32 bits | 0 | 4294967295 | |
LINT | 64 bits | -263 | 263-1 | |
ULINT | 64 bits | 0 | 264-1 | |
REAL | 32 bits | -3.402823e+38
|
3.402823e+38 | |
LREAL | 64 bits | -1.7976931348623158e+308 | 1.7976931348623158e+308 | |
TIME | 32 bits | 0 ms | 4294967295 ms | |
TIME_OF_DAY | 32 bits | 0 (00:00:00AM:000) | 4294967295 (11:59:59 PM:999) | |
LTIME | 64 bits | 0 | 213503d23h34m33s709ms551us615ns | |
DATE | 32 bits | 0 (01.01.1970) | 4294967295 (2106-02-07) | |
DATE_AND_TIME | 32 bits | 0 (1970-01-01, 00:00:00) | 4294967295 (2106-02-07,06:28:15) | |
STRING | 1 byte por caractere + 1 | Codificação ASCII | ||
WSTRING | 1 byte por caractere + 1 | Codificaçã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 STRING[67]ocupará 68 bytes na memória).
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.
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.
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.
A norma define e estrutura o uso de linguagem utilizada em programação difusa – Fuzzy Control Language (FCL).
Composta de seis tópicos, essa parte define:
- O escopo e objetivo da programação Fuzzy;
- Referências normativas;
- Termos técnicos;
- Integração da lógica Fuzzy com os CLPs;
- Semânticas e sintaxes da FCL;
- 5 anexos contendo definições, exemplos práticos, símbolos, abreviações e sinônimos;
A lógica fuzzy é uma extensão da lógica booleana, ela admite valores intermediários entre 0 e 1, como se existisse entre o verdadeiro e o falso um talvez, ou um 0,5 entre o 0 e 1.
A programação de controle fuzzy permite uma interface entre outros programas de controle, como podemos ver na figura abaixo.
Como exemplo, temos a programação de um bloco de função fuzzy:
FUNCTION_BLOCK Fuzzy_FB
VAR_INPUT
temp : REAL;
pressure : REAL;
END_VAR
VAR_OUTPUT
valve : REAL;
END_VAR
FUZZIFY temp
TERM cold := (3, 1) (27, 0);
TERM hot := (3, 0 (27, 1);
END_FUZZIFY
FUZZIFY pressure
TERM low := (55, 1) (95, 0);
TERM high:= (55, 0) (95, 1);
END_FUZZIFY
DEFUZZIFY valve
TERM drainage := -100;
TERM closed := 0;
TERM inlet := 100;
ACCU : MAX;
METHOD : COGS;
DEFAULT := 0;
END_DEFUZZIFY
RULEBLOCK No1
AND : MIN;
RULE 1 : IF temp IS cold AND pressure IS low THEN valve IS inlet
RULE 2 : IF temp IS cold AND pressure IS high THEN valve IS closed WITH 0.8;
RULE 3 : IF temp IS hot AND pressure IS low THEN valve IS closed;
RULE 4 : IF temp IS hot AND pressure IS high THEN valve IS drainage;
END_RULEBLOCK
END_FUNCTION_BLOCK
A oitava parte da norma complementa a terceira de forma a orientar usuários envolvidos com programação, configuração, instalação e manutenção de Controladores Lógicos Programáveis, de forma que a implementação de elementos comuns e linguagens de programação se dê de forma sistematizada, melhorando as práticas e garantindo a qualidade. Essa parte também orienta como devem ser utilizadas linguagens adicionais, assim como variáveis locais e globais.
A parte três da IEC 61131 estabelece critérios para linguagens de programação e define duas linguagens gráficas e duas linguagens textuais para CLPs [2]: