Sie sind auf Seite 1von 7

NORMA IEC 1131-3

Padronização em Programação de Controle Industrial

Considerando-se o reconhecimento da necessidade de um padrão para CLP’s, por parte da


comunidade industrial internacional, em 1979, foi designado um grupo de trabalho com o IEC
(International Electro-technical comission) voltado para este propósito. Este grupo tinha como
objetivo analisar o projeto completo de CLP’s (inclusive hardware), instalação, testes,
documentação, programação e comunicações. Este grupo designou 8 frentes de trabalho para
desenvolver diferentes partes do padrão para CLP’s. A primeira parte do padrão foi publicada em
1992 (General Information – conceitos e definições de terminologias básicas). A parte 3, referente
às linguagens de programação, foi publicada em 1993.

A IEC 1131-3 é o único padrão global para programação de controle industrial. Uma interface de
programação padrão permite a pessoas com diferentes habilidades e formações, criar elementos
diferentes de um programa durante estágios diferentes do ciclo de vida de um software:
especificação, projeto, implementação, teste, instalação e manutenção. O padrão inclui a definição
da linguagem Sequential Function Chart (SFC), usada para estruturar a organização interna do
programa, e de quatro linguagens: Lista de Instrução (IL), Diagrama Ladder (LD), Diagrama de
blocos de funções (FBD) e Texto Estruturado (ST).

Uma maneira elegante de se olhar para o padrão IEC 1131-3 é dividindo-o em duas partes:
• Elementos comuns;
• Linguagens de Programação;

Analisando-se com mais detalhes cada uma destas partes:

Elementos Comuns

Tipos de dados
Usado para definir o tipo de dado de qualquer parâmetro, evitando-se dividir tipos diferentes de
variáveis, por exemplo. Os tipos de dados são: booleana, inteiro, real, byte e word, mas também
data, hora e string. Baseado nestes tipos, é possível também definir-se um tipo de dado próprio,
chamado tipo derivado de dado. Por exemplo, pode-se definir um tipo de dado como sendo analog
input channel.

Variáveis
Variáveis podem ser atribuidas somente para explicitar endereços de hardware (entradas e saídas)
em configurações, recursos e programas. Isto garante um alto nível de independência do hardware,
viabilizando sua reutilização. O uso dos nomes das variáveis é normalmente limitado à POU em que
ela foi declarada, e podem, portanto, serem reusadas em outras POU’s, sem conflito. Para que uma
variável seja global, deve ser declarada como tal.

Configuração, Recursos e Tarefas


Para entender melhor estes conceitos, vamos nos referenciar à figura 01, que mostra o modelo de
software proposto pelo padrão IEC 1131-3.

Profa. Carmela Maria Polito Braga – DELT / EEUFMG 1


Configuration

Resource Resource

Task Task Task Task

Program Program Program Program

FB FB FB FB

Figura 01: Modelo de software proposto pelo padrão IEC 1131-3

Configuração (configuration): formulação de um software completo, requerido para resolver um


problema particular de controle. Uma configuração é especificada para um tipo particular de
sistema de controle, incluindo os recursos de hardware. Para uma dada configuração pode-se definir
um ou mais recursos (resources).

Recursos (resources): corresponde a uma facilidade de processamento que é capaz de executar


programas baseados no padrão IEC. Para um dado recurso uma ou várias tarefas podem ser
definidas.

Tarefas (tasks): controlam a execução de um conjunto de programas e/ou blocos de função. Podem
ser executadas periodicamente ou na ocorrência de algum evento (trigger), como, por ex., a
mudança de uma variável para uma região limite.

Programas (programs): construidos a partir de elementos diferentes de software, escritos em


qualquer linguagem definida pelo padrão IEC.

CLP convencional: contém um recurso, executa uma única tarefa, controlando um único programa,
executado em malha fechada.

IEC 1131-3: oferece muito mais possibilidades que isto. Abre novas perspectivas para o futuro.
Incluindo multiprocessamento e programas de execução controlada por evento.

Unidades de Organização de Programas (Program Organization Units - POU)


• Funções (Functions)
IEC define algumas funções padrão (ADD, ABS, SQRT, SIN, COS) e funções definidas
pelo usuário.
• Blocos de funções (Functions blocks diagrams - FBD)
São equivalentes a circuitos integrados, Ics, representando uma função de controle
especializada. Eles contém dados e algoritmo, o que equivale a dizer que possuem memória

Profa. Carmela Maria Polito Braga – DELT / EEUFMG 2


passada ( o que consiste em uma das diferenças entre uma FBD e uma função). Como um CI
ou uma caixa preta, eles possuem uma interface bem definida. Permite separar bem os níveis
de programação e manutenção. Ex.: PID. São altamente reutilizáveis.
• Programas (Programs)
Tipicamente, um programa consiste em uma rede de funções (functions) e blocos de função
(function blocks), que podem trocar dados. Funções e blocos de funções são blocos de
construção, básicos, contendo uma estrutura de dados e um algoritmo.

Linguagens de Programação

Gráficas
• Sequential Function Chart (SFC): descreve graficamente o comportamento sequencial de
um programa de controle. É derivado de redes de Petri e do Grafcet IEC 848. O SFC
estrutura a organização interna de um programa, ajudando a decompor um problema de
controle em partes gerenciáveis, enquanto mantém uma visão global da solução do
problema. Consiste em um conjunto de steps, ligados a blocos de ação e transições. Cada
step representa um estado particular do sistema sob controle. A transição é associada com a
condição, que, quando verdadeira, desativa o step anterior a ela e ativa o step seguinte. Cada
elemento pode ser programado em qualquer linguagem IEC, inclusive o próprio SFC. É
possível a implementaçao, inclusive, de sequências paralelas, como usualmente requerido
em aplicações de processos batch.

STEP 1 N Enche

Transição 1

STEP 2
S Esvazia

Transição 2

STEP 3

Figura 02: Programa SFC

• Diagrama Ladder (Ladder Diagram – LD)


• Blocos de Função (Function Block Diagram – FBD)

Textuais

• Lista de Instruções (Instruction List – IL)


• Texto Estruturado (Structured Text – ST)

Profa. Carmela Maria Polito Braga – DELT / EEUFMG 3


Lista de Instruções Texto Estruturado

LD A

ANDN B C = A AND NOT B

ST C

Diagrama de Blocos Diagrama Ladder

A C A B C
( )
B

Figura 03: Exemplo de um mesmo código implementado nas 4 linguagens IEC

A figura 03 mostra um mesmo pedaço de código implementado nas quatro linguagens IEC. A
escolha da linguagem de programação é dependente de:
• background o programador;
• do problema a ser tratado;
• do nível de descrição do problema;
• da estrutura do sistema de controle;
• da interface para outros departametos/pessoas;

Diagrama Ladder tem suas raízes nos EUA. É baseado na representação gráfica de logica de relés
em escada.

Lista de instruções é a contra-parte européia. Como linguagem textual é semelhante ao assembler.

Diagrama de blocos é muito comum para a indústria de processos. Ele expressa o comportamento
de funções, blocos de funções e programas como um conjunto de blocos gráficos interconectados.,
como em um desenho de circuito eletrônico.Assemelha-se à representação de um sistema em termos
do fluxo de sinais entre os elementos de processamento.

Texto estruturado é uma linguagem muito poderosa com suas raízes em Ada, Pascal e "C'. Pode ser
usada na definição de blocos de função complexos, que podem ser utilizados com quaisquer outras
linguagens, e no detalhamento das ações e transições de um programa SFC.

Considerações Finais

O padrão IEC 1131-3 está provocando grande impacto na indústria de controle industrial. Isto,
visivelmente, está acontecendo para os CLP's convencionais, que começam a apresentar ambientes
de programação com mais de uma linguagem (dentre as recomendadas pela norma, o GE-Fanuc 90-
30, por exemplo, oferece além do Ladder, a lista de instruções), mas também nos pacotes de
softlogic (como o IsaGraf) para sistemas de controle baseado em PC (utilizando-se apenas um rack
remoto de I/O para aquisição de dados), incluindo os pacotes SCADA (Cimplicity, da GE-Fanuc,
por exemplo, oferece a linguagem SFC). Fabricantes de CLP convencionais também já oferecem
pacotes de softlogic (fxControl, da GE-Fanuc, por exemplo) e hardware para I/O apenas (Versamax,

Profa. Carmela Maria Polito Braga – DELT / EEUFMG 4


da GE-Fanuc, por exemplo. Mas também, os fornecedores de software SCADA estão oferecendo
seus pacotes de softlogic ( o Wizcontrol, da Wiscon, por exemplo). Isto deixa claro que embora
ainda muito precisa ser feito até que o padrão se torne de fato, um padrão na programação de
controle de processos, ele tem tido um impacto muito grande sobre o setor, ganhando adesão
crescente, e trazendo inúmeros benefícios tanto para o desenvolvimento de projetos quanto para a
manutenção dos sistemas desenvolvidos.

Profa. Carmela Maria Polito Braga – DELT / EEUFMG 5


O pacote IsaGraf

O IsaGraf é um ambiente de de desenvolvimento de Soft Logic, em windows, independente de


hardware, baseado no padrão internacional para linguagens de programação de controle e
automação , IEC 61131-3. Foi desenvolvido pela CJ International.

Ele oferece um ambiente de trabalho (Workbench) incluindo as cinco linguagens de programação de


CLP’s recomendadas pela norma, quais sejam: Sequential function chart (SFC), Function blocks
diagram (FBD), Ladder diagram (LD), Structured Text (ST), e Instruction List (IL). Além destas
cinco, o pacote IsaGraf inclui também a linguagem Flow chart (FC). Em agosto de 1996, o editor
de IsaGraf recebeu o certificado de consentimento (compliance) da organização PLCopen.

O IsaGraf é composto de duas partes: a bancada de trabalho (Workbench) e o alvo (hardware ) de


execução de programas (Target). O workbench oferece um ambiente completo de programação de
soft Logic sob windows 3.1x, 95, 98, NT (e todos os pacotes de emulação de windows). Oferece
também ferramentas de depuração e simulação dos programas, modificação dos mesmos e
monitoração on-line. As aplicações geradas possuem portabilidade que asseguram ao Target
executar a aplicação em qualquer hardware (conhecido como Target Independent Code – TIC).

Regras de Execução

O IsaGraf é um sistema síncrono. Todas as operações são disparadas por um relógio. A duração
básica do relógio é chamada de tempo de ciclo.

A hierarquia dos programas é dividida em quatro seções ou grupos: BEGIN, SEQUENTIAL, END e
FUNCTIONS. As operações básicas processadas durante um ciclo são:

Os programas das seções BEGIN e END descrevem operações cíclicas. Eles não dependem do
tempo. Os programas da seção SEQUENTIAL descrevem operações sequenciais, onde a variável
tempo aparece, explicitamente, para distinguir as operações básicas.

Os programas da seção BEGIN são sistematicamente executados no início de cada ciclo de


execução. Os programas da seção END são sistematicamente executados a cada fim de ciclo de
execução. Os programas da seção SEQUENTIAL, implementados em SFC ou FC, são executados
com base nas regras dinâmicas destas linguagens. Programas das seções BEGIN e END não podem
ser escritos em SFC ou FC.
Programas da seção FUNCTION são sub-programas que podem ser chamados por outro programa
no projeto. Um programa da seção FUNCTION pode chamar outro programa desta seção.

Obs.: Um programa pode ser totalmente executado somente no BEGIN.

Profa. Carmela Maria Polito Braga – DELT / EEUFMG 6


Lê variáveis de entrada

Processa os programas
da seção BEGIN

Processa os programas
da seção SEQUENTIAL
de acordo com as regras
de evolução de SFC/FC

Processa os programas
da seção END

Atualiza os dispositivos
de Saída

Metodologia de Projeto

1. Criar um projeto (no menu Project Management, em File/Open/New/ “nomeprojeto”); Inicia-


se com a preparação de uma especificação detalhada do projeto criado (referência, autor, data,
versão, descrição). Abrir o projeto com duplo clique no nome ou no menu File/Open.
2. Criar a base de dados, ou declarar as variáveis e seus tipos (no menu do programa em
File/Dictionary).
3. Criar novo programa, quantos desejar dentro do projeto, definindo, na criação, a seção de que
fará parte, bem como, a linguagem de programação a ser utilizada no seu desenvolvimento (no
menu do programa em File/New).
4. Editar os programas;
5. Verificar (no menu do programa Make/Verify, ou clicando no ícone correspondente na segunda
linha do menu).
6. Conexão de I/O, que é dependente do hardware externo de aquisição (no menu do programa
Project/ I/O conection ou clicando no ícone correspondente na segunda linha do menu. Cuidar
para usar E/S simuladas no teste do programa);
7. Compilar o programa (no menu do programa Make/Make application ou no ícone
correspondente na segunda linha do menu).
8. Simular o programa (no menu do programa Debug/Simulate ou no ícone correspondente na
segunda linha do menu). Para definir previamente quais programas serão abertos no momento
da simulação, ir no menu do programa Debug/Workspace e selecionar quais programas devem
ser abertos.
9. Se desejado, desenvolver interface gráfica do processo, por emio da ciração de um Spotlight.

Profa. Carmela Maria Polito Braga – DELT / EEUFMG 7

Das könnte Ihnen auch gefallen