Escolar Documentos
Profissional Documentos
Cultura Documentos
IEC 61131
09 de maro de 2010
OBJETIVOS
Desenvolvimento de habilidades bsicas para programao
no padro IEC 61131-3;
BENEFCIOS
Reduo nos gastos com recursos humanos (em treinamento,
depurao, manuteno e consultoria);
Tcnicas de Programao usadas em mais ambientes
(Controle Industrial Geral);
Combinar harmoniosamente diferentes componentes de
diferentes locaes, empresas, paises ou projetos.
Modularizar o problema de controle;
Estruturar a programao do controlador;
Reutilizar software e conhecimento;
IEC 61131
Trata-se de um padro IEC (Internacional Electrotechnical
Commission) para CLPs;
PARTES
CERTIFICAO DE PRODUTOS
PLCOpen uma associao independente que promove uma
padronizao na implementao da norma IEC 61131-3.
Atuao:
Divulgao da norma;
Definio de interfaces comuns;
Certificao de produtos;
Recomendaes sobre utilizao da norma.
WWW.PLCOPEN.ORG
IDENTIFICADORES
TIPOS DE DADOS
Inteiro;
Real (ponto flutuante);
Data e hora;
String;
Booleana, Byte e Word.
INTEIROS
PONTO FLUTUANTE
DURAO (TEMPO)
Medio de intervalos de tempo ou definio de timeouts;
DATAS
Armazenar a data e tempo de eventos e alarmes.
Escalonar eventos de controle baseado em data e hora. Por
exemplo aquecer automaticamente um reator em
determinada hora.
DATAS
DATAS
STRING
STRING
Exemplos:
'Fim da batelada AX45_65'
'Fim do relatrio $N'
'$01$02$10 - 3 caracteres com cdigo decimal 1, 2 e 16
- string nulo
BIT STRING
VALORES INICIAIS
ESTRUTURA
Uma estrutura construda atravs de um construtor de estruturas:
STRUCT
END_STRUCT;
ESTRUTURA
TYPE PRESSURE_SENSOR:
STRUCT
INPUT: PRESSURE;
STATUS: BOOL;
CALIBRATION: DATE;
HIGH_LIMIT: REAL;
ALARM_COUNT: INT;
END_STRUCT;
END_TYPE
ENUMERAES
Serve para nomear os diferentes status de um valor:
TYPE MODO_DO_DISPOSITIVO:
(INICIALIZANDO, EXECUTANDO, STANDBY, FALHA);
END_TYPE
FAIXAS
Pode-se definir faixa de valores de segurana para variveis:
TYPE
MOTOR_VOLTS: INT(-6..+12);
END_TYPE
ARRAYS
Pode ser constitudo de mltiplos valores dos tipos de dados
elementares ou derivados.
TYPE TANQUE_PRESSURE:
ARRAY [1..20] OF PRESSURE;
END_TYPE
TYPE PTIO_DE_TANQUES:
ARRAY [1..3, 1..4] OF TANQUE_PRESSURE;
END_TYPE
INICIALIZAO DE VARIVEIS
TYPE PRESSURE:
REAL:=1.0; (* Default 1 bar *)
END_TYPE
TYPE MODO_DO_DISPOSITIVO:
(INICIALIZANDO, EXECUTANDO, STANDBY, FALHA):= STANDBY;
END_TYPE
TYPE VESSEL_PRESS_DATA:
ARRAY[1..20] OF PRESSURE:= 10(1.1), 5(1.3), 5(1.7);
END_TYPE
INICIALIZAO DE VARIVEIS
TYPE PRESSURE_SENSOR:
STRUCT
INPUT: PRESSURE:= 2.0;
STATUS: BOOL := 0;
CALIBRATION: DATE:= DT#1994-01-10;
HIGH_LIMIT: REAL := 30.0;
ALARM_COUNT: INT :=0;
END_STRUCT;
END_TYPE
(* substitui default *)
(* Default 0 *)
(* Data de instalao *)
(* Limite default *);
(* Sem alarmes *)
INICIALIZAO DE VARIVEIS
Redefinindo valores defaults de membros de estruturas:
TYPE GAS_PRESSURE_SENSOR:
PRESSURE_SENSOR(PRESSURE:=4.0, HIGH_LIMIT:=40.0);
END_TYPE
DEFINIO DE VARIVEIS
Devem ser definidas no incio das Program Organisation Units
(POUs):
Programas
Blocos de Funes
Funes
Uma lista de variveis declarada dentro da especificao do tipo
de varivel:
ESPECIFICAO_DE_TIPO
A, B, C: REAL;
IN1, IN2: INT;
END_ESPECIFICAO_DE_TIPO
VARIVEIS DE ENTRADA
So as variveis de entrada para uma POU e so supridas por
uma fonte externa.
VAR_INPUT
SetPoint: REAL;
Max_Count: SINT;
END_VAR
VARIVEIS DE SADA
So as variveis de sada de uma POU e fornecem valores que
sero escritos em um dispositivo externo. So requeridas por
programas e blocos de funo, mas no por funes.
VAR_OUTPUT
Message: STRING(10);
Status: BOOL;
END_VAR
VARIVEIS DE ENTRADA/SADA
So as variveis que agem tanto como entrada como sada
podendo ser modificadas em uma POU. O valor de uma
varivel de entrada e sada armazenado numa varivel que
externa POU.
TYPE MODO_DO_DISPOSITIVO:
(INICIALIZANDO, EXECUTANDO, STANDBY, FALHA):= STANDBY;
END_TYPE
VAR_IN_OUT
AUTO: MODO_DO_DISPOSITIVO;
END_VAR
VARIVEIS GLOBAIS
Podem ser configuradas no nvel de configurao, resource ou
programa e acessadas por POUs por meio de uma declarao
de varivel externa.
VAR_GLOBAL
Velocidade_Linha: REAL;
Numero_Job: INT;
END_VAR
VARIVEIS EXTERNAS
So declaradas dentro de POUs e propiciam acesso a variveis
globais definidas no nvel de configurao, resource ou
programa.
VAR_EXTERNAL
Velocidade_Linha: REAL;
Numero_Job: INT;
END_VAR
%I100
%IX100
%IW122
%IW10.1.21
21 *)
%QL100
%MW132
RETENO
Indica que as variveis seguintes sero colocadas em memria
retentiva, isto que mantm o seu valor em caso de perda de
alimentao do CLP.
VAR_OUT RETAIN
PRODUCAO_ACUMULADA: REAL;
END_VAR
CONSTANTE
Indica que os valores de uma lista de variveis no podem ser
modificados.
No pode ser utilizado com variveis de sada.
(* Define velocidade inicial e relao entre engrenagens como
constantes *)
VAR CONSTANT
StartUp_Speed: REAL := 12.3; (* m/s *)
GearRatio: SINT := 12;
END_VAR
AT
usado para fixar a posio de memria do CLP para alguma
varivel particular que possui um identificador.
Todas as variveis que no tiverem o atributo AT sero
endereadas automaticamente pelo compilador.
(* Define que o array de varredura de dados ir comear na posio *)
(* de memria word 10, e que as sadas digitais no bit 120 *)
VAR
SCAN_DATA AT %IW10: ARRAY[1..8] OF SINT;
DIG_OUTPUTS AT%QX120: ARRAY[0..15] OF BOOL;
END_VAR
AT
Tambm possvel usar o atributo AT para declarar que
determinados tipos de dados existem em certas posies de
memria.
(* Declara que a posio de memria 100 ocupada por um inteiro e que
a posio 210 ocupada por um real *)
VAR
AT %IW100: INT;
AT %QD210: REAL;
END_VAR
INICIALIZAO DE VARIVEIS
Durante a declarao de uma varivel podemos atribuir um
valor de inicializao que sobrescreve o valor default definido
pelo tipo de dados.
VAR
Process_Runs: INT := 10;
Max_tem: REAL := 350.0;
END_VAR
VAR
(* Define palavra na posio de entrada 100 para valor binrio 1001 *)
AT %I100: WORD:= 2#0000_1001;
END_VAR
INICIALIZAO DE VARIVEIS
VAR_OUTPUT
(* Mensagem inicial para operador *)
Message: STRING(21) := Operacional;
(* Estabelece perfil de velocidade *)
Speeds: ARRAY[1..4] OF REAL := 10.1, 2(20.5), 33.1;
END_VAR
VAR_GLOBAL
SENSOR1: PRESSSURE_SENSOR( PRESSURE := 4.0,
HIGH_LIMIT:= 50.0);
END_VAR
LINGUAGENS DE PROGRAMAO
IL Lista de Instrues
Linguagem textual de baixo nvel (linguagem de mquina);
Baseada em comandos load, store, move, add;
ST Texto Estruturado
Linguagem textual de alto nvel (similar ao Pascal, C, etc.) =>
incorporando uma srie de conceitos intuitivos;
ST Texto Estruturado
Expresses de atribuio de valor:
Var1:= Var2;
ST Texto Estruturado
Expresses de controle do fluxo do programas (return, exit,
etc.) :
Var1 := Monitor.Q
LD - Ladder
Trata-se de uma linguagem grfica baseada em smbolos e
esquemas eltricos, tais como rels, contatos e bobinas,
proporcionando um entendimento intuitivo das funes de
inter-travamento, sendo muito bem aceita pelos profissionais
da rea de automao e controle de processos.
LD - Ladder
Bobinas:
Bobinas inversas.
Bobinas sensveis a borda de subida ou descida.
Bobinas de memorizao .
Bobinas de set/reset.
Temporizadores
On delay.
Off delay.
Do tipo pulso.
Comandos para manipulao do fluxo
Return, jump..
LD - Ladder
SFC Grafcet
Tambm conhecido pelo nome de GRAFCET => divide o processo
em um nmero definido de passos separados por transies.
Ncleo do IEC 61131-3 => as outras linguagens so utilizadas
apenas para descrever as aes realizadas a cada passo, bem como
as lgicas combinatrias envolvidas.
Oferece muitas vantagens aos usurios e programadores =>
modelagem de problemas complexos de automao.
Problema pode ser sub-dividido em vrias partes => programao
mais simples.
Fcil visualizao das seqncias de operaes, alterao de
especificao e a deteco de falhas conceituais no programa.
SFC Grafcet
O diagrama funcional GRAFCET dever atender as seguintes
exigncias:
Aplicabilidade a todo sistema lgico de controle para descrio de
um automatismo industrial, no importando sua complexidade ou
tecnologia utilizada (eltrica, mecnica, pneumtica, eletrnica
atravs de software ou hardware dedicado, etc.);
Possibilidade de uma descrio completa do sistema, onde as
evolues podero ser expressas seqencialmente, ou seja, a
possibilidade de uma decomposio das etapas;
Possibilidade de ser utilizada na descrio de processos
combinatrios, fornecendo assim ao automatismo uma descrio
seqencial mais fcil de ser analisada e compreendida.
SFC Grafcet
SFC Grafcet