aula 2 - padrão iec61131
DESCRIPTION
AULA 2 - Padrão IEC61131TRANSCRIPT
![Page 1: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/1.jpg)
PadrãoIEC 61131
09 de março de 2010
![Page 2: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/2.jpg)
OBJETIVOS
• Desenvolvimento de habilidades básicas para programaçãono padrão IEC 61131-3;
• Capacitar o entendimento de uma programação IEC;
• Conhecer as características das linguagens da norma.
![Page 3: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/3.jpg)
BENEFÍCIOS
• Redução nos gastos com recursos humanos (em treinamento,depuração, manutenção e consultoria);
• Técnicas de Programação usadas em mais ambientes(Controle Industrial Geral);
• Combinar harmoniosamente diferentes componentes dediferentes locações, empresas, paises ou projetos.
• Modularizar o problema de controle;
• Estruturar a programação do controlador;
• Reutilizar software e conhecimento;
![Page 4: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/4.jpg)
IEC 61131
• Trata-se de um padrão IEC (Internacional ElectrotechnicalCommission) para CLPs;
• Único padrão global para programação de controle industrial;
• Primeiras partes publicadas em 1992;
• Uma interface de programação padrão permite as pessoascom diferentes habilidades e formações, criar elementosdiferentes de um programa durante estágios diferentes dociclo de vida de um software: especificação, projeto,implementação, teste, instalação e manutenção.
![Page 5: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/5.jpg)
PARTES
![Page 6: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/6.jpg)
IEC 61131 - Linguagens
• O padrão inclui a definição da linguagem Sequential FunctionChart (SFC), usada para estruturar a organização interna doprograma, e de quatro linguagens:
– Lista de Instrução (IL);
– Diagrama Ladder (LD);
– Diagrama de blocos de funções (FBD);
– Texto Estruturado (ST).
![Page 7: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/7.jpg)
CERTIFICAÇÃO DE PRODUTOS
• PLCOpen é uma associação independente que promove umapadronização na implementação da norma IEC 61131-3.
– Atuação:
• Divulgação da norma;
• Definição de interfaces comuns;
• Certificação de produtos;
– Recomendações sobre utilização da norma.
– WWW.PLCOPEN.ORG
![Page 8: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/8.jpg)
IDENTIFICADORES
• O primeiro caracter não pode ser um dígito.
• Caracter underline múltiplos não são permitidos.
• Identificador não pode incluir espaço.
• Embora os identificadores possam ter qualquer tamanho, apenas os 6 primeiros caracteres são considerados para unicidade.
• Palavras chaves: Não usar identificadores que coincidam com as palavras chaves da linguagem.
(***********************************)
(* Comentários devem ser envolvidos por *)
(***********************************)
![Page 9: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/9.jpg)
TIPOS DE DADOS
• Inteiro;
• Real (ponto flutuante);
• Data e hora;
• String;
• Booleana, Byte e Word.
![Page 10: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/10.jpg)
INTEIROS
• Um CLP não precisa suportar todos estes tipos de dados.
![Page 11: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/11.jpg)
PONTO FLUTUANTE
![Page 12: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/12.jpg)
DURAÇÃO (TEMPO)
• Medição de intervalos de tempo ou definição de timeouts;
![Page 13: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/13.jpg)
DATAS
• Armazenar a data e tempo de eventos e alarmes.
• Escalonar eventos de controle baseado em data e hora. Porexemplo aquecer automaticamente um reator emdeterminada hora.
• Armazenar quando um sistema foi desenergizado e recuperoupara calcular tempo de down time. Medição de intervalos detempo ou definição de timeouts;
![Page 14: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/14.jpg)
DATAS
![Page 15: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/15.jpg)
DATAS
![Page 16: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/16.jpg)
STRING
• Armazenar nome de bateladas: 'JOB_X32A3‘;
• Armazenar texto de mensagens para operador;
• Armazenar mensagens para outros sistemas;
• Caracteres não printáveis devem ser inseridos na notação:
$Código_hexadecimal_do_caracter;
$0D$0A Alimenta linha e retorna carro;
![Page 17: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/17.jpg)
STRING
• Exemplos:
'Fim da batelada AX45_65'
'Fim do relatório $N'
'$01$02$10 - 3 caracteres com código decimal 1, 2 e 16
- string nulo
![Page 18: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/18.jpg)
BIT STRING
• Uma variável do tipo BOOL tem dois estados: TRUE e FALSE.
• Bit strings são definidos da mesma forma que uma variável inteira:
146
2#1101
etc
![Page 19: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/19.jpg)
VALORES INICIAIS
![Page 20: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/20.jpg)
TIPOS DE DADOS DERIVADOS
• Devemos usar as palavras chaves para construtores de tipos:
TYPE
PRESSURE: REAL;
END_TYPE;
![Page 21: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/21.jpg)
ESTRUTURA
• Uma estrutura é construída através de um construtor de estruturas:
STRUCT
END_STRUCT;
• Vamos definir um novo tipo para designar um sensor de pressão que deverá conter:
1. O valor corrente da pressão como uma variável analógica.
2. O status do dispositivo: operante ou faltoso
3. A data da calibração
4. O máximo valor seguro de operação
5. O número de alarmes no período de operação corrente.
![Page 22: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/22.jpg)
ESTRUTURA
TYPE PRESSURE_SENSOR:
STRUCT
INPUT: PRESSURE;
STATUS: BOOL;
CALIBRATION: DATE;
HIGH_LIMIT: REAL;
ALARM_COUNT: INT;
END_STRUCT;
END_TYPE
![Page 23: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/23.jpg)
ENUMERAÇÕES
• Serve para nomear os diferentes status de um valor:
TYPE MODO_DO_DISPOSITIVO:
(INICIALIZANDO, EXECUTANDO, STANDBY, FALHA);
END_TYPE
![Page 24: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/24.jpg)
FAIXAS
• Pode-se definir faixa de valores de segurança para variáveis:
TYPE
MOTOR_VOLTS: INT(-6..+12);
END_TYPE
• O compilador deve assegurar que apenas valores dentro da faixa designada sejam atribuídos ás variáveis.
![Page 25: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/25.jpg)
ARRAYS
• Pode ser constituído de múltiplos valores dos tipos de dados elementares ou derivados.
TYPE TANQUE_PRESSURE:
ARRAY [1..20] OF PRESSURE;
END_TYPE
TYPE PÁTIO_DE_TANQUES:
ARRAY [1..3, 1..4] OF TANQUE_PRESSURE;
END_TYPE
![Page 26: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/26.jpg)
INICIALIZAÇÃO DE VARIÁVEIS
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
![Page 27: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/27.jpg)
INICIALIZAÇÃO DE VARIÁVEIS
TYPE PRESSURE_SENSOR:
STRUCT
INPUT: PRESSURE:= 2.0; (* substitui default *)
STATUS: BOOL := 0; (* Default 0 *)
CALIBRATION: DATE:= DT#1994-01-10; (* Data de instalação *)
HIGH_LIMIT: REAL := 30.0; (* Limite default *);
ALARM_COUNT: INT :=0; (* Sem alarmes *)
END_STRUCT;
END_TYPE
![Page 28: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/28.jpg)
INICIALIZAÇÃO DE VARIÁVEIS
• Redefinindo valores defaults de membros de estruturas:
TYPE GAS_PRESSURE_SENSOR:
PRESSURE_SENSOR(PRESSURE:=4.0, HIGH_LIMIT:=40.0);
END_TYPE
• Todos os tipos derivados de GAS_PRESSURE_SENSORherdarão os novos valores default.
![Page 29: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/29.jpg)
DEFINIÇÃO DE VARIÁVEIS
• Devem ser definidas no início das Program Organisation Units(POUs):
• Programas• Blocos de Funções• Funções
• Uma lista de variáveis é declarada dentro da especificação do tipode variável:
ESPECIFICAÇÃO_DE_TIPOA, B, C: REAL;IN1, IN2: INT;
END_ESPECIFICAÇÃO_DE_TIPO
![Page 30: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/30.jpg)
VARIÁVEIS INTERNAS OU LOCAIS
• São declaradas dentro de uma POU;
VAR
VELOCIDADE_MEDIA: REAL;
INIBE: BOOL;
END_VAR
![Page 31: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/31.jpg)
VARIÁVEIS DE ENTRADA
• São as variáveis de entrada para uma POU e são supridas poruma fonte externa.
VAR_INPUT
SetPoint: REAL;
Max_Count: SINT;
END_VAR
![Page 32: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/32.jpg)
VARIÁVEIS DE SAÍDA
• São as variáveis de saída de uma POU e fornecem valores queserão escritos em um dispositivo externo. São requeridas porprogramas e blocos de função, mas não por funções.
VAR_OUTPUT
Message: STRING(10);
Status: BOOL;
END_VAR
![Page 33: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/33.jpg)
VARIÁVEIS DE ENTRADA/SAÍDA
• São as variáveis que agem tanto como entrada como saídapodendo ser modificadas em uma POU. O valor de umavariável de entrada e saída é armazenado numa variável que éexterna à POU.
TYPE MODO_DO_DISPOSITIVO:
(INICIALIZANDO, EXECUTANDO, STANDBY, FALHA):= STANDBY;
END_TYPE
VAR_IN_OUT
AUTO: MODO_DO_DISPOSITIVO;
END_VAR
![Page 34: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/34.jpg)
VARIÁVEIS GLOBAIS
• Podem ser configuradas no nível de configuração, resource ouprograma e acessadas por POUs por meio de uma declaraçãode variável externa.
VAR_GLOBAL
Velocidade_Linha: REAL;
Numero_Job: INT;
END_VAR
![Page 35: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/35.jpg)
VARIÁVEIS EXTERNAS
• São declaradas dentro de POUs e propiciam acesso a variáveisglobais definidas no nível de configuração, resource ouprograma.
VAR_EXTERNAL
Velocidade_Linha: REAL;
Numero_Job: INT;
END_VAR
![Page 36: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/36.jpg)
VARIÁVEIS DE REPRESENTAÇÃO DIRETA
• São variáveis que permitem acessar diretamente as posiçõesde memória dos CLPs. Todas começam com o caracter %seguido de duas letras;
• A memória de um CLP pode ser dividida em três regiõeslógicas:
![Page 37: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/37.jpg)
VARIÁVEIS DE REPRESENTAÇÃO DIRETA
%I100 (* Memória de entrada bit 100 *)
%IX100 (* Memória de entrada bit 100 *)
%IW122 (* Memória de entrada palavra 122 *)
%IW10.1.21 (* Poderia representar: Rack 10, Módulo 1, canal 21 *)
%QL100 (* Memória de saída long word 100 *)
%MW132 (* Poisção de memória 132 *)
![Page 38: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/38.jpg)
RETENÇÃO
• Indica que as variáveis seguintes serão colocadas em memóriaretentiva, isto é que mantêm o seu valor em caso de perda dealimentação do CLP.
VAR_OUT RETAIN
PRODUCAO_ACUMULADA: REAL;
END_VAR
![Page 39: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/39.jpg)
CONSTANTE
• Indica que os valores de uma lista de variáveis não podem sermodificados.
• Não pode ser utilizado com variáveis de saída.
(* Define velocidade inicial e relação entre engrenagens comoconstantes *)
VAR CONSTANT
StartUp_Speed: REAL := 12.3; (* m/s *)
GearRatio: SINT := 12;
END_VAR
![Page 40: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/40.jpg)
AT
• É usado para fixar a posição de memória do CLP para algumavariável particular que possui um identificador.
• Todas as variáveis que não tiverem o atributo AT serãoendereçadas automaticamente pelo compilador.
(* Define que o array de varredura de dados irá começar na posição *)
(* de memória word 10, e que as saídas 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
![Page 41: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/41.jpg)
AT
• Também é possível usar o atributo AT para declarar quedeterminados tipos de dados existem em certas posições dememória.
(* Declara que a posição de memória 100 é ocupada por um inteiro e quea posição 210 é ocupada por um real *)
VAR
AT %IW100: INT;
AT %QD210: REAL;
END_VAR
![Page 42: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/42.jpg)
INICIALIZAÇÃO DE VARIÁVEIS
• Durante a declaração de uma variável podemos atribuir um valor de inicialização 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 posição de entrada 100 para valor binário 1001 *)
AT %I100: WORD:= 2#0000_1001;
END_VAR
![Page 43: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/43.jpg)
INICIALIZAÇÃO DE VARIÁVEIS
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
![Page 44: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/44.jpg)
LINGUAGENS DE PROGRAMAÇÃO
![Page 45: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/45.jpg)
IL – Lista de Instruções
• Linguagem textual de baixo nível (linguagem de máquina);
• Baseada em comandos “load”, “store”, “move”, “add”;
• Apresentam alta eficiência em pequenas aplicações (comosensores/atuadores inteligentes) ou na otimização de partesde uma aplicação;
• Utiliza o registrador IL do processador.
![Page 46: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/46.jpg)
ST – Texto Estruturado
• Linguagem textual de ‘alto’ nível (similar ao Pascal, C, etc.) =>incorporando uma série de conceitos intuitivos;
• Utilização na implementação de procedimentos complexos,que são difíceis de expressar com linguagens gráficas taiscomo linguagem de algoritmos de otimização de processo einteligência artificial;
![Page 47: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/47.jpg)
ST – Texto Estruturado
• Expressões de atribuição de valor:
Var1:= Var2;
• Expressões de seleção (if, then, else, case, etc.):
IF Var1= 0.0 THEN
Var2 := Var3/(2.0*Var4)
ELSE
Var2 := Var3/Var5;
• Expressões relacionadas a elaboração de loops (for, while, repeat, etc.):
FOR I:=1 TO 1000 BY 2 DO
Var2 := Var2 – 1;
END_FOR
![Page 48: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/48.jpg)
ST – Texto Estruturado
• Expressões de controle do fluxo do programas (return, exit, etc.) :
• Expressões relacionadas a funções e blocos funcionais:
Monitor (In:=IX5) Chamada de bloco funcional
Var1 := Monitor.Q Uso da saída de um bloco de funções
![Page 49: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/49.jpg)
LD - Ladder
• Trata-se de uma linguagem gráfica baseada em símbolos eesquemas elétricos, tais como relés, contatos e bobinas,proporcionando um entendimento intuitivo das funções deinter-travamento, sendo muito bem aceita pelos profissionaisda área de automação e controle de processos.
![Page 50: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/50.jpg)
LD - Ladder
– Bobinas:
• Bobinas inversas.
• Bobinas sensíveis a borda de subida ou descida.
• Bobinas de memorização .
• Bobinas de set/reset.
– Temporizadores
• ‘On delay’.
• ‘Off delay’.
• Do tipo pulso.
– Comandos para manipulação do fluxo
• Return, jump..
![Page 51: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/51.jpg)
LD - Ladder
![Page 52: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/52.jpg)
FDB – Diagrama de Blocos Funcionais
• Linguagem gráfica que permite ao usuário construirprocedimentos combinacionais complexos utilizando-se deblocos lógicos padrões como, AND, OR, NOT, etc. pararepresentação de equações booleanas.
• Muito utilizado no desenvolvimento de dispositivosautomatizados de baixo custo.
![Page 53: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/53.jpg)
SFC – Grafcet
• Também conhecido pelo nome de GRAFCET => divide o processoem um número definido de passos separados por transições.
• Núcleo do IEC 61131-3 => as outras linguagens são utilizadasapenas para descrever as ações realizadas a cada passo, bem comoas lógicas combinatórias envolvidas.
• Oferece muitas vantagens aos usuários e programadores =>modelagem de problemas complexos de automação.
• Problema pode ser sub-dividido em várias partes => programaçãomais simples.
• Fácil visualização das seqüências de operações, alteração deespecificação e a detecção de falhas conceituais no programa.
![Page 54: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/54.jpg)
SFC – Grafcet
• O diagrama funcional GRAFCET deverá atender as seguintesexigências:
• Aplicabilidade a todo sistema lógico de controle para descrição deum automatismo industrial, não importando sua complexidade outecnologia utilizada (elétrica, mecânica, pneumática, eletrônicaatravés de software ou hardware dedicado, etc.);
• Possibilidade de uma descrição completa do sistema, onde asevoluções poderão ser expressas seqüencialmente, ou seja, apossibilidade de uma decomposição das etapas;
• Possibilidade de ser utilizada na descrição de processoscombinatórios, fornecendo assim ao automatismo uma descriçãoseqüencial mais fácil de ser analisada e compreendida.
![Page 55: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/55.jpg)
SFC – Grafcet
![Page 56: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/56.jpg)
SFC – Grafcet
![Page 57: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/57.jpg)
SFC – Tipos de ações
• Condicionais: A execução de uma ação pode ser submissa auma condição lógica entre variável de entrada ou de outraetapa, isto é, mesmo o estado de uma etapa sendo ativo podehaver ações condicionais que não sejam executadas pois suacondição é momentaneamente falsa.
• Impulsionais: A ativação da ação ocorrerá durante um tempodeterminado, quando a etapa torna-se ativa;
• Contínuas: A ação permanece sendo executada enquanto aetapa estiver ativa.
![Page 58: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/58.jpg)
SFC – Transições e Receptividade
![Page 59: Aula 2 - Padrão Iec61131](https://reader031.vdocuments.net/reader031/viewer/2022020403/577c777b1a28abe0548c4442/html5/thumbnails/59.jpg)
SFC – Principais funções
• Funções Lógicas: As receptividades podem ser compostas pormais de uma variável, ligada através de uma das funçõeslógicas AND, OR ou NOT. As variáveis podem serrepresentadas por etapa, transição, entrada ou saída.
• Temporizador: Uma receptividade pode se tornar verdadeira,após um determinado tempo de ativação de umadeterminada etapa.
• Mudança de Estado: Uma receptividade pode avaliar oumudar o estado de uma variável. As variáveis podem ser umadeterminada etapa, transição, entrada ou saída.