Você está na página 1de 6

PLCopen

for efficiency in automation


PO Box 2015, 5300 CA Zaltbommel, Netherlands, T. *.31.418.541139, F. *.31.418.516336, www.plcopen.org

IEC 61131-3: a norma para programao


IEC 61131-3 a primeiro esforo real para a
padronizao das linguagens de programao para a
automao industrial. Como este apelo mundial, esta
uma norma independente de qualquer empresa.
IEC 61131-3 a terceira parte da famlia IEC 61131.
Esta consiste de:
Parte 1
General Overview
Parte 2
Hardware
Parte 3
Programming Languages
Parte 4
User Guidelines
Parte 5
Communication
Existem muitas formas de entender a parte 3 da norma.
Vamos identificar algumas:
o resultado da Fora Tarefa 3, Linguagens de
Programao, dentro do IEC TC65 SC65B
o resultado do trabalho rduo de 7 empresas
internacionais somando dezenas de anos de
experincia no campo da automao industrial
aprox. 200 pginas de texto, com cerca de 60
tabelas, incluindo tabelas de caractersticas
a especificao da sintaxe e semntica de uma
sute unificada de linguagens de programao,
incluindo o modelo geral de software e uma
linguagem de estruturao.
Outra elegante forma dividir a norma em duas partes
(vide figura 1):
1. Elementos Comuns (Common Elements)
2. Linguagens e programao (Programming
Languages)

Norma IEC 61131-3

Elementos Comuns
Tipagem de Dados
Dentro dos elementos comuns, os tipos de dados so
definidos. A tipagem de dados previne erros na fase
inicial. usada para definio do tipo de qualquer
parmetro usado. Isto evita, por exemplo, a diviso de
uma data por um inteiro. Os tipos de dados comuns so
Boolean, Integer, Real, Byte e Word, mas tambm
Date, Time_of_Day e String. Baseado nisto, possvel
definir os nossos tipos de dados pessoais, chamados de
tipos derivados. Desta forma, pode-se definir uma
entrada analgica como tipo de dado e reutiliz-la
inmeras vezes.

Variveis
Variveis so associadas somente para endereos
explcitos de hardware (entradas e sadas por ex.) nas
configuraes, recursos e programas. Desta forma,
cria-se um alto nvel de independncia do hardware,
proporcionando a reutilizao do software.
O escopo das variveis normalmente limitado
unidade de organizao nas quais elas so declaradas
(escopo local).
Isto significa que os nomes delas podem ser
reutilizados em outras partes sem nenhum conflito,
eliminando outra fonte de erros muito comum, dados
corrompidos pelo programa. Se as variveis tiverem
escopo global, estas devem ser declaradas como tal
(VAR_GLOBAL).
A cada parmetro pode ser atribudo um valor inicial
na partida a quente e a frio do sistema, de forma a se
garantir os valores corretos.

Configurao, Recursos e Tarefas


Elementos Comuns

Para melhor entendimento, vamos observar o modelo


de software, como definido pela norma (veja a seguir):

Linguagens de Programao

Vamos olhar estas partes com mais detalhes:


1

Funes

Configuration
Resource
Task

Program

Resource
Task

Task

Program
FB

Program

FB

Task

Function
Block

A IEC definiu funes padres e funes definidas


pelos usurios. Funes padres so, por exemplo,
ADD(ition), ABS (absolute), SQRT, SINus e
COSinus. Funes definidas pelo usurio, uma vez
definidas, podem ser usadas inmeras vezes.

Execution
control path

Blocos Funcionais, FBs

FB

Program
FB

FB

Access path

No nvel mais alto, o software deve resolver um


problema particular de controle que pode ser
formulado como uma Configurao (Configuration).
Uma configurao especfica para um sistema de
controle particular, incluindo a disposio do
hardware, recursos de processamento, endereamento
de memria para I/O e demais capacidades do sistema.
Dentro da configurao pode-se definir um ou mais
recursos (Resources). Pode-se entender um recurso
como elemento com capacidade de processamento dos
programas IEC.
Dentro de um recurso, uma ou mais tarefas (Tasks)
podem ser definidas. Tarefas controlam a execuo de
um conjunto de programas ou blocos funcionais. Estas
podem ser executadas periodicamente ou quando da
ocorrncia de um evento especfico, tal como uma
mudana de varivel.
Programas (Programs) so constitudos de um nmero
de diferentes elementos escritos usando qualquer uma
das linguagens definidas pela IEC. Tipicamente, um
programa consiste de uma rede de Funes (Functions)
e Blocos Funcionais (Function Blocks), os quais so
capazes de trocar dados. Funes e Blocos Funcionais
so os blocos bsicos de construo, contendo uma
estrutura de dados e um algoritmo.
Vamos fazer uma comparao com um CLP
convencional: este contm um recurso, executando
uma tarefa, controlando um programa, processando de
forma cclica. A IEC 61131-3 acrescenta muito mais
capacidade, tornando-o aberto para o futuro. Um futuro
que inclui multi-processamento e programas
disparados por eventos. E este futuro no est longe:
basta olhar para os sistemas distribudos ou sistemas de
controle de tempo-real. A IEC 61131-3 apropriada
para uma ampla faixa de aplicaes, sem a necessidade
de se aprender linguagens de programao adicionais.

Unidades de Organizao de Programas


Na IEC 61131-3, os Programas, Blocos Funcionais e
Funes so chamadas de Unidades de Organizao de
Programas (POUs).

Blocos Funcionais so equivalentes aos circuitos


integrados, CIs, representando uma funo de controle
especializada. Estes contm dados e um algoritmo, de
modo que eles preservam os estados passados (uma das
principais diferenas das Funes). Possuem tambm
uma interface bem definida e escondem o seu
contedo, tais como os CIs. Desta forma, os FBs
proporcionam uma separao clara entre diferentes
nveis de programadores e equipes de manuteno.
Uma malha de temperatura (PID) um excelente
exemplo de Bloco Funcional. Uma vez definido, este
pode ser usado inmeras vezes, no mesmo programa,
diferentes programas, ou mesmo diferentes projetos,
tornando-o altamente reutilizvel.
Blocos Funcionais podem ser escritos em qualquer
uma das linguagens IEC, e em muitos casos mesmo na
linguagem C. Neste sentido, eles podem ser
definidos pelo usurio. Blocos Funcionais Derivados
so baseados nos FBs padres, mas tambm nos
completamente novos, FBs customizados so
permitidos pela norma: isto estabelece um framework.
As interfaces de funes e blocos funcionais so
descritas da mesma forma:
FUNCTION_BLOCK Example
VAR_INPUT:
X : BOOL;
Y : BOOL;
END_VAR
VAR_OUTPUT
Z : BOOL;
END_VAR
(* statements of functionblock body *)
END_FUNCTION_BLOCK

As declaraes acima descrevem a interface para um


bloco funcional com dois parmetros booleanos de
entrada e um parmetro booleano de sada.

Programas
Com os anteriormente mencionados blocos bsicos de
construo, podemos dizer que um programa uma
rede de Funes e Blocos Funcionais. Um programa
pode ser escrito em qualquer uma das linguagens de
programao definidas.
2

Sequenciamento Grfico de Funes, SFC


Step 1

FILL

Grficas:
Diagrama Ladder, LD
Diagrama de Blocos Funcionais, FBD
Instruction List (IL)
LD

Transition 1

Step 2

C:= A AND NOT B

ANDN B

Empty

ST

Function Block Diagram (FBD)

Transition 2

Step 3

O SFC descreve graficamente o comportamento


seqencial de um programa de controle. derivado das
redes de Petri e da norma IEC 848 Grafcet, com as
alteraes necessrias para converter a representao
de uma documentao padro para um conjunto de
elementos de controle de execuo.
O SFC estrutura a organizao interna do programa e
ajuda a decompor o problema de controle em partes
gerenciveis, enquanto mantm a sua viso geral.
O SFC consiste de Passos, interligados com blocos de
Aes e Transies. Cada passo representa um estado
particular do sistema sendo controlado. Uma transio
associada com uma condio, a qual, quando
verdadeira, causa a desativao do passo anterior
mesma e a ativao do passo seguinte. Passos so
ligados com blocos de aes, desempenhando uma
determinada ao de controle. Cada elemento pode ser
programado em qualquer linguagem IEC, incluindo o
prprio SFC.
possvel o uso de seqncias alternativas e mesmo
paralelas, tais como as normalmente usadas em
aplicaes de bateladas. Por exemplo, uma seqncia
usada para o processo primrio, a segunda para a
monitorao das restries operacionais.
Devido a sua estrutura geral, o SFC funciona tambm
como uma ferramenta de comunicao, integrando
pessoas de diferentes formaes, departamentos e
pases.

Linguagens de Programao
So definidas quatro linguagens pela norma. Isto
significa que suas sintaxes e semnticas foram
definidas, eliminando a chance de dialetos. Uma vez
aprendidas, possvel o uso de uma variedade de
sistemas baseados nesta norma.
As linguagens consistem de 2 textuais e duas grficas:
Textuais
Lista de Instrues, IL
Texto Estruturado, ST

AND
A

Structured Text (ST)

Ladder Diagram(LD)
A B

-| |--|/|----------------( )

Na figura anterior, as quatro linguagens descrevem a


mesma lgica de programa.
A escolha da linguagem de programao depende:
da formao do programador
do problema a resolver
do nvel da descrio do problema
da estrutura do sistema de controle
da interface com outras pessoas/departamentos
Todas as quatro linguagens so interligadas: elas
proporcionam uma plataforma comum, com uma
ligao com a experincia existente. Neste sentido, elas
tambm funcionam como uma ferramenta de
comunicao, integrando pessoas de diferentes
formaes.
Diagrama Ladder tem sua origem nos EUA.
baseada na representao grfica da Lgica de Rels.
Lista de Instrues a contraparte europia. Como
uma linguagem textual, se assemelha ao assembler.
Diagrama de Blocos Funcionais muito usada na
indstria de processos. Expressa o comportamento de
funes, blocos funcionais e programas como um
conjunto de blocos grficos interligados, como nos
diagramas de circuitos eletrnicos. Se parece com um
sistema em termos do fluxo de sinais entre elementos
de processamento.
Texto Estruturado uma linguagem de alto nvel
muito poderosa, com razes em Ada, Pascal e C.
Contm todos os elementos essenciais de uma
linguagem de programao moderna, incluindo
condicionais (IF-THEN-ELSE e CASE OF) e iteraes
(FOR, WHILE e REPEAT). Estes elementos tambm
podem ser aninhados. Esta linguagem excelente para
a definio de blocos funcionais complexos, os quais
podem ser usados em qualquer outra linguagem IEC.
3

Exemplo em ST:

janelas, uso de hipertexto, verificao durante a


programao, etc.
Fique atento, pois estas so caractersticas no
definidas pela norma: um ponto onde os fabricantes
podem se diferenciar.

I:=25;
WHILE J<5 DO
Z:= F(I+J);
END_WHILE

Concluso

IF B_1 THEN
%QW100:= INT_TO_BCD(Display)
ENDIF
CASE TW OF
1,5: TEMP := TEMP_1;
2:
TEMP := 40;
4:
TEMP := FTMP(TEMP_2);
ELSE
TEMP := 0;
B_ERROR :=1;
END_CASE

Top-down versus bottom-up

Top Down

Common Elements

Programming Languages
Bottom Up

A norma tambm permite duas formas para o


desenvolvimento de programas: top-down e bottom-up.
possvel especificar toda uma aplicao dividindo-a
de cima para baixa em parte menores, declarando as
variveis, e assim por diante. Ou pode-se comear de
baixo, a partir de funes e blocos funcionais
derivados, por exemplo. Em ambos os caso, o ambiente
de desenvolvimento ir auxili-lo durante todo o
processo.

As implicaes tcnicas da norma IEC 61131-3 so


muitas, deixando bastante espao para crescimento e
diferenciao. Isto torna esta norma propensa para
evoluir muito neste sculo.
A norma IEC 61131-3 causar um grande impacto em
toda indstria de controle industrial. Certamente a
norma no ficar restrita para o mercado de CLPs
convencionais. Atualmente, a norma j adotada no
mercado de Motion Control, sistemas distribudos e
sistemas de controle baseados em PC/Softlogic,
incluindo pacotes SCADA. E as reas de aplicao
continuam crescendo.
Ter uma norma sobre uma ampla rea de aplicao
proporciona muitos benefcios para os usurios e
programadores. Os benefcios da adoo da norma so
vrios, dependendo da rea de aplicao. Alguns
exemplos so:
reduo do desperdcio de recursos humanos, no
treinamento, depurao, manuteno e consultoria
destinar maior ateno para a soluo de problemas
atravs da reutilizao de software em alto nvel
eliminao de erros e dificuldade de entendimento
utilizao de melhores tcnicas de programao em
um ambiente mais amplo: indstria de controle e
geral
combinao de diferentes componentes de
diferentes programas, locais, empresas e mesmo
pases

Implementaes
O atendimento completo s exigncias da norma IEC
61131-3 no simples. Por esta razo, a norma permite
a implementao parcial em vrios aspectos. Isto cobre
o nmero de linguagens, funes e blocos funcionais
suportados. Tambm d uma liberdade maior para os
fabricantes, mas os usurios devem ficar atentos
durante o processo de seleo. Novas verses podem
tambm ter um nvel de implementao
dramaticamente alto.
Muitos ambientes de programao IEC atuais oferecem
tudo esperado para os modernos ambientes: uso do
mouse, menus, telas grficas, suporte para mltiplas
4

Melhorias da norma

pela PLCopen

A PLCopen uma associao mundial


independente de produtos e fabricantes que suporta
a norma IEC 61131-3. Atravs da implementao
desta norma em muitos ambientes de
desenvolvimento, os usurios podero escolher
entre diferentes marcas e tipos de controladores
com pouqussimo treinamento e intercambiar
aplicaes com o mnimo de esforo.
A organizao PLCopen trabalha com a promoo
da adoo da norma, assim como realar a norma
no sentido tcnico. Este ltimo inclui certificaes
e intercmbio.
Membros da PLCopen podem participar dos
comits, e como tal ter informaes em avano,
uma forte identidade, assim como influenciar nos
resultados.
Alm disso, eles podem usar a logomarca da
PLCopen para a sua promoo. Os comits que
trabalham com a PLCopen e seus resultados so
descritos resumidamente a seguir.

Programao, PSE (ambientes de


desenvolvimento). Cada PSE pode ser testado para
mostrar que compatvel com um subconjunto da
norma IEC 61131-3 especificado pela PLCopen. A
norma possui um grande nmero das chamadas
Tabelas de Caractersticas e a PLCopen definiu
quais elementos destas tabelas devem ser
suportados para atender s exigncias de
compatibilidade. Adicionalmente, a PLCopen
estende a norma para suportar a reutilizao dos
blocos funcionais definidos pelo usurio
(derivados) entre diferentes PSEs.

Resultados Tcnicos
Os comits tcnicos, TCs, com representantes dos
membros da PLCopen, trabalham em itens
especficos.
Dentro do TC1 Normas, a PLCopen coleta
propostas de seus membros para o grupo de
trabalho IEC 65B WG7, desenvolve uma posio
conjunta, e distribui as informaes relativas. Isto
foi objetivado especificamente na segunda edio
da norma, a qual foi publicada no incio de 2003.
TC2 - Funes define bibliotecas comuns de
Funes e Blocos Funcionais para reas de
aplicao especficas. Um exemplo a biblioteca
de Blocos Funcionais para aplicaes de Motion
Control. Esta padronizao integra os aspectos de
segurana e controle de movimento no controle
industrial. Como tal, proporciona uma visualizao
e entendimento comum para os usurios:
programadores assim como equipes de implantao
e manuteno. Com mltiplas implementaes
desta biblioteca, a reutilizao de software e a
escala dos sistemas de controle so muito mais
fceis, mesmo atravs de diferentes arquiteturas e
marcas de controladores. O intercmbio de partes
de programas atravs do Nvel Reutilizao da
PLCopen (veja a seguir para maiores detalhes)
desempenha um importante papel aqui.

Certificao e Testes de Conformidade


TC3 Certificao define um sistema de
certificao para os Ambientes de Suporte a

Nvel Conformidade, CL. Com a ampla faixa de


reas de aplicao da norma IEC 61131-3, nem
todas implementaes utilizam exatamente os
mesmos tipos de dados. Para comportar isto, a
certificao de acordo com o Nvel Conformidade,
CL, implica que o fornecedor da PSE selecione os
tipos de dados pelo seu produto em concordncia
com a declarao de conformidade. Todas as
caractersticas da IEC so testadas. Isto significa
que embora o teste seja to tipo Sim/No
(conformidade e no-conformidade), podem existir
diferenas entre dois produtos certificados. Estas
diferenas podem influenciar a reutilizao dos
blocos funcionais definidos pelo usurio.
O nmero total de tipos de dados definidos pela
norma so 26 (tabelas 10 e 12 da norma). Esta faixa
vai desde sinais digitais simples ON/OFF (BOOL)
at estruturas potencialmente complexas. Portanto,
CL tem 26 opes: tipo de dado suportado e nosuportado. Somente os tipos de dado suportados
so usados para teste.
Adicionalmente, o Nvel Reutilizao, RL,
dedicado a fazer que as unidades de programao
Funo e Blocos Funcionais sejam reutilizveis em
diferentes PSEs. Isto feito atravs do intercambio
em uma forma de texto simples da linguagem ST.
Para representao em outra linguagem, uma
ferramenta de converso de/para ST pode ser
includa. Esta a maior, mas natural, contribuio
da PLCopen para a norma IEC 61131-3.
Historicamente existe um nvel de entrada chamado
de Nvel Bsico, BL, para mostrar o
comprometimento com a norma. Embora mais
limitado, possvel desenvolver aplicaes
baseadas nele. BL proporciona um ponto de entrada
para os fabricantes, mostrando o comprometimento
deles com a norma.
5

Para os usurios, este nvel proporciona uma


interpretao uniforme da norma, especialmente
importante se eles tem que trabalhar com sistemas
de diferentes fabricantes.
Especificaes detalhadas da maioria das
linguagens da norma IEC 61131-3 esto quase
prontas. O trabalho continua para as linguagens
restantes. Os procedimentos de teste de
compatibilidade e credenciamento para os
laboratrios de teste foram estabelecidos.
Laboratrios independentes tm sido credenciados
e um crescente nmero de produtos tem sido
certificados. Para um lista completa consulte o
website www.plcopen.org.
TC4 Comunicaes trabalha na relao entre a
comunicao e as linguagens de programao, tal
como o mapeamento do Profibus e CANopen via
IEC 61131-5 sobre a IEC 61131-3.
TC5 Software Seguro prepara recomendaes
para a aplicao da norma IEC 61131-3 numa
adaptao para aplicaes de alta confiabilidade
(Safety Systems), especialmente para as novas
normas para sistemas seguros IEC 61508 e 61511.
TC6 XML trabalha na especificao de
esquemas XML para todas as linguagens, assim
como projetos inteiros. Esta especificao ir
proporcionar a base para intercmbio, assim como a
integrao com outras ferramentas de software,
incluindo ferramentas de desenvolvimento de alto
nvel, ferramentas de documentao e verificao.

Eventos Promocionais
Uma importante tarefa da PLCopen informar
usurios/programadores sobre os benefcios da
padronizao da programao de controle
industrial. Isto feito via:
o website da PLCopen: www.plcopen.org ;
publicao de um folheto gratuito (newsletter)
impresso e eletrnico, chamado
PLCopening;
publicaes na imprensa;
participao em conferncias e mostras;
organizao de conferencias e seminrios
prprios, como o ICP em Outubro;

PC2 Treinamento Comum definiu uma base


comum para treinamento. Esta inclui certificao.
Neste sentido, centros de treinamento certificados
para treinamento na norma IEC 61131-3 podem ser
facilmente identificados.

Benefcios da Filiao
A filiao na PLCopen tem muitos benefcios para
os fabricantes e institutos. A PLCopen suporta
fortemente a comunidade de usurios. Para isto,
foram criadas categorias de filiao adicionais.
Atravs da filiao com a PLCopen, faz-se uma
declarao clara do seu comprometimento com a
norma IEC 61131-3, se tornando mais visvel como
tal, podendo-se usar o logo da PLCopen, e ter
acesso a informaes em avano assim como
influenciar no trabalho realizado.
Para maiores informaes, favor acessar o website
www.plcopen.org, assim como a revista eletrnica,
para a qual voc pode se inscrever no website.

Traduo:
Marcos Fonseca
Diretor da Diviso de Tecnologia da Automao
ATAN Sistemas
www.atan.com.br

Os Comits Promocionais PC1, PC3 e PC4


suportam estas atividades.
Membros da PLCopen so mais bem vistos no
mercado como apoiadores de padres abertos.
6