IEC 61131-3

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

IEC 61131-1 – Informações Gerais- FÉ 2[editar | editar código-fonte]

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:

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[editar | editar código-fonte]

Visão geral:[editar | editar código-fonte]

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[editar | editar código-fonte]

As seis linguagens definidas pela norma IEC 61131-3:

- Texto Estruturado (ST)

- Lista de Instruções (IL)

- Ladder Diagrams (LD)

- Diagramas de Blocos Funcionais (FBD)

- Funções Gráficas de Sequenciamento (SFC)

- Funções Gráficas Contínuas (CFC) – extensão da IEC 61131-3, que dá liberdade à posição dos elementos do gráfico.

As duas primeiras linguagens acima são ditas textuais por conterem instruções na forma de texto.

As duas seguintes 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.

Figura 1. Lista de Instruções (IL)

Figura 2. Texto Estruturado (ST)

Figura 3. Diagramas de Blocos Funcionais (FBD)

Figura 4. Ladder Diagrams (LD)

Conceitos Básicos

A norma IEC em sua parte 3 tem por objetivo, entre outros:

- 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 botton-up, fundamentada em 3 princípios:

- Modularização;

- Estruturação;

- Reutilização;

Principais Conceitos:

Configurações (Configurations): corresponde ao software necessário a 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 interagentes com suas configurações individuais e uma configuração total dada pelo resultado das diversas configuraçõ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): é 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 CP consiste na criação e associação de POUs entre si.

POUs podem ser formadas a partir de associação de outras POUs, de forma a estruturar a programação e reutilizar o código.

Estruturam-se em Programas, Blocos Funcionais e Funções, reutilizáveis mediante réplicas.

Podem ser de fornecimento do fabricante do CLP ou desenvolvidas pelo usuário.

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: 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:

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.

Comportamentos na Partida e Parada segundo a norma:

Partida:

- Quando uma configuração parte, todas as variáveis globais são inicializadas e todos os recursos são ativados;

- Quando um recurso parte, todas as variáveis dentro do recurso são inicializadas e todas as tarefas são habilitadas;

- Uma vez habilitadas as tarefas, todos os programas e blocos funcionais associados a esta tarefa serão executados uma vez, quando a tarefa estiver ativa;

Parada:

Quando uma configuração para, todos os recursos param;

Quando um recurso para, todas as tarefas são desabilitadas interrompendo a execução de programas e blocos funcionais;

Variáveis

Bit Strings

BIT - 1 bit

BYTE - 8 bit (1 byte)

WORD - 16 bit (2 byte)

DWORD - 32 bit (4 byte)

LWORD - 64 bit (8 byte)

INTEIROS

SINT - signed short (1 byte)

INT - signed integer (2 byte)

DINT - double integer (4 byte)

LINT - long integer (8 byte)

U – Unsigned

REAL - floating point

REAL - (4 byte)

LREAL - (8 byte)

TIME – duração do tempo depois que começou o evento.

Data e tempo do dia:

DATE – data do lendário

TIME_OF_DAY – tempo do relógio

DATE_AND_TIME: tempo e data

IEC 61131-4 – Orientações para o usuário[editar | editar código-fonte]

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[editar | editar código-fonte]

A parte 5 está relacionada com os aspectos de comunicação de um CP, como a definição do módulo de comunicação, seus blocos funcionais e mecanismos para conexão entre CP`s e outros dispositivos de automação. Ele especifíca como um CP pode se comunicar com um servidor ou qualquer outro tipo de dispositivo.

A norma não pretende especificar como um dispositivo qualquer pode se comunicar com outro através de um CP como servidor. O comportamento do CP 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[editar | editar código-fonte]

Visão geral:

Essa parte da norma especifica os requisitos para controladores programáveis ​​(PLCs) 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.

IEC 61131-7 – Programação de controle FUZZY[editar | editar código-fonte]

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    

IEC 61131-8 – Implementação das Linguagens[editar | editar código-fonte]

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 IEC 61131-3 é a terceira parte (de 8) do padrão internacional IEC 61131 para Controladores Lógicos Programáveis (CLPs), e foi originalmente publicada em dezembro de 1993 pela IEC. A versão atual da norma (terceira) foi publicada em Fevereiro de 2013.

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 [1]:

Referências

  1. PLCOpen. «Introduction into IEC 61131-3 Programming Languages». Consultado em 18 de nov. de 2015. 
Wiki letter w.svg Este artigo é um esboço. Você pode ajudar a Wikipédia expandindo-o. Editor: considere marcar com um esboço mais específico.