Você está na página 1de 144

ufjf

Linguagens de Programao CLP

Bruno Gomes Marques

IEC 61131

IEC - International Electro-technical Comission


Surgiu em 1992
20 anos aps criao do primeiro CLP Exigncia de padronizao

IEC 61131

Dividida em 8 partes:

IEC 61131-1 , Informaes gerias


IEC 61131-2,Requisitos de Hardware IEC 61131-3,Linguagens de Programao IEC 61131-4,Guia de Orientao ao Usurio

IEC 61131

IEC 61131-5,Comunicao

IEC 61131-6,Comunicao via Fieldbus


IEC 61131-7,Programao usando lgica Fuzzy IEC 61131-8,Guia para implementao de linguagens

IEC 61131

Objetivos:

Estabelecer critrios para seleo e aplicao de CLPs


Especificar requisitos mnimos Definir regras :semntica sintaxe

Definir comunicao

IEC 61131

Benefcios

Reduo de custos : treinamentos ,manuteno , engenharia e consultoria


Foco na soluo do problema , no na construo do software Reduo na dependncia de fornecedores : consultorias e hardware

IEC 61131

Benefcios:

Reduo de erros e inconsistncias nas lgicas


Solues iguais para problemas iguais : muda parmetro , no o software todo Uso de bibliotecas padres

IEC 61131

IEC 61131 parte 3 linguagens de programao

Objetivo

Fornecer metodologia de construo de lgica de programao Permitir quebra do programa em partes gerenciveis

IEC 61131

Definir 5 linguagens de programao

Permisso de utilizao de outras linguagens desde que obedecida as mesmas formas de chamadas e troca de dados Visual Basic,Flow Chart,C++ , etc

IEC 61131

Instruction List (IL)

Structured Text (ST)


Function Block Diagram (FBD) Ladder Diagram (LD) Sequential Function Chart(SFC)

10

IEC 61131

IL e ST textuais

LD e FBD grficas
SFC grfica e textual

11

IEC 61131

Lista de Intrues (IL)


Linguagem de baixo nvel


Menos amigvel Semelhante ao Assembly Origem europia

12

IEC 61131

Linguagem bsica para exportao de programas (portabilidade) Otimizao de cdigos Ideal para pequenas aplicaes

13

IEC 61131
Texto Estruturado (ST)

Linguagem de alto nvel


Semelhante ao Pascal Razes Ada , C

14

IEC 61131

Ideal para:

Tomada de decises
Declaraes de variveis, Configuraes Clculos Definir aes e condies

15

IEC 61131

Diagrama de Blocos Funcionais(FBD)


Linguagem grfica
Mais amigvel que as textuais Baseada em circuitos lgicos Descreve processo atravs de blocos interligados

16

IEC 61131

Ideal para controle discreto ,sequencial , regulatrio Representao de fcil interpretao Destaca fluxo de informaes e processamento de sinais Encapsula algoritmos

17

IEC 61131

Diagrama Ladder

Linguagem grfica
Bastante amigvel Baseada em lgica de contatos

18

IEC 61131

Fcil compreenso

Adequada para controle discreto, combinacional e sequencial


Linguagem mais utilizada Origem nos EUA

19

IEC 61131

Grficos de funes sequenciais(SFC)


Originou-se na Frana
Baseado nas redes de Petri Norma IEC 848 Grafcet

20

IEC 61131

Descreve o comportamento do programa

Organiza estrutura interna


Ajuda a decompor um problema de controle em partes gerenciveis Mantem viso global da soluo do problema

21

IEC 61131

Usada na estruturao do problema , independente da linguagem utilizada Fcil representao e interpretao Facilidade de diagnstico

22

IEC 61131

Descreve comportamento do sistema

Fcil localizao de falhas

23

Ladder

Linguagem Ladder

24

Ladder

Primeira Linguagem

Diagrama de Contatos
Escada Degraus Segue normas internacionais

25

Ladder

Ciclo de varredura
Uma etapa ativa , restante inativa Clock Tempo total para realizar o ciclo

Duas linhas verticais representando plos(fonte)


Chaves NA ,NF

26

Ladder

Evitar quebra de paradigma


Melhor aceitao Facilidade na transformao esquema eltrico/ladder

27

Ladder

28

Ladder

29

Ladder

30

Ladder

31

Ladder

32

Ladder

33

Ladder

34

Ladder

35

Ladder

36

Ladder

Temporizador M2 = ajuste de tempo para acionamento de S1 M1 = contagem regressiva , quando temp acionado E1 = 1 , habilita contagem E2 = 1, inicia contagem

37

Ladder
Partida estrela Tringulo

Reduz corrente inicial Fiao de menor bitola Evita multa por baixo fator de potncia

38

Partida com reverso

39

Ladder

40

Partida com reverso

41

Partida com reverso

42

Partida com reverso


Aplicao prtica
Partida sequencial de motores

Trs motores Evita partida simultnea Evitar picos de consumo de energia e de corrente

43

Partida sequencial

44

Segurana em prensas
Segurana em prensas

Dois botes para acionamento Operador precisa usar as duas mos Evitar acidente

45

Segurana em prensas

46

Ladder
Partida estrela - tringulo

47

Ladder

K1 deve permanecer sempre ligado


K3 fica ligado por 6 segundos(estrela) K2 liga logo aps k3 desligar k2 e k3 nunca podem ser ligados juntos

48

Ladder

49

Diagrama de Blocos

Linguagem FBD

50

Diagrama de Blocos

Equipamento comercial Logo 24RL

Siemens
Linguagem padronizada

51

Diagrama de Blocos

52

Diagrama de Blocos

53

Diagrama de Blocos

Funes Gerais

Tcnicas digitais

Portas lgicas AND, OR ,NOR ,NAND...

54

Diagrama de Blocos

Funo AND

55

Diagrama de Blocos

Funo OR

56

Diagrama de Blocos

Funo NAND

57

Diagrama de Blocos

Funo NOR

58

Diagrama de Blocos
Funes especiais

Trg = trigger (disparo) , inicia a contagem

Par = parameter (parmetro) ,tempos ajustado em segundos minutos ou horas

59

Diagrama de Blocos
Retardo de ativao

Trg = 1 inicia contagem do tempo ajustado Par = tempo ajustado

60

Diagrama de Blocos
Retardo de Desativao

Trg = 1 , sada ativada Trg = 0 , inicia contagem at desativao R = Reset , volta ao estado inicial

61

Diagrama de Blocos
Rel de Impulsos

Trg = 1, ativa ou desativa sada R = 1, desativa sada Par: ativa ou no remanecncia Sada Q muda de estado a cada pulso Trg

62

Diagrama de Blocos
Rel de Impulsos simtricos

En = enable , habilita En = 1, aciona gerador de impulsos T= tempo de acionamento e desacionamento

63

Diagrama de Blocos
Rel de contato Passageiro

Trg = 1 ,aciona sada imediatamente , inicia contagem para desativao Par = tempo ajustado para desativao

64

Diagrama de Blocos
Rel de auto-reteno(SET-RESET)

S = 1 ,sada Q ativada ,Q=1 R = 1 ,a sada Q desativada Par = 1 , ativa memria , Par = 0 ,desativa

65

Diagrama de Blocos
Contador crescente /decrescente

R= 1, zera contagem , desativa sada Cnt = conta transies de 0 para 1 somente Dir =1 , contagem crescente ,0 decrescente Par = valor desejado para contagem

66

Partida com reverso

67

Diagrama de Blocos
Partida com reverso

68

Diagrama de Blocos
O que acontece se I1 e 12 forem acionados simultaneamente?

69

Diagrama de Blocos

Acionamento alternado de motores

70

Diagrama de Blocos

O que acontece se I1 for 0 ?

71

Diagrama de Blocos

Segurana de prensa com contato passageiro

72

Diagrama de Blocos

Partida estrelatrinngulo

73

Diagrama de Blocos

Partida estrela tringulo

74

Diagrama de Blocos

Partida estrela tringulo

75

B003 = OU exclusivo

Structured Text

Linguagem ST

76

Structured Text

Texto estruturado
Linguagem de alto nvel Forte semelhana sinttica com Pascal

77

Structured Text

Tipos de Dados
Inteiros

78

Structured Text

Nmeros de ponto flutuante

Representao de tempo

79

Structured Text

String

Bit Strings

80

Structured Text
Tipos de Dados derivados
4 tipos

struct Enumerated Sub-ranges Array

Comando TYPE e END_TYPE

81

Structured Text
Tipo Struct

Dado composto Um TYPE pode conter um ou mais Structs

Construdo com os comandos STRUCT e END_ STRUCT

82

Structured Text

exemplo

83

Structured Text
Tipo Enumerated

Construdo colocando elementos da enumerao entre parnteses Cada elemento tem um nome diferente

84

Structured Text

Exemplo

85

Structured Text
Tipo Array

Matrizes e Vetores

86

Structured Text
Tipo Sub-Ranges

Sub-intervalos Limite superior e inferior

87

Structured Text

exemplo

88

Structured Text

Comparao linguagem ST e Pascal

89

Structured Text

Inicializao de matrizes
Rpida e mais fcil em ST Requer maior esforo em Pascal

90

Structured Text

Funes de Chamada

91

Structured Text

Funes de Chamada
FUNCTION ,END FUNCTION, VAR, END VAR pertencem linguagem ST

92

Structured Text

Instrues condicionais

93

Structured Text

Instrues condicionais
Principal diferena : BEGIN e END Omisso em ELSE e CASE

ELSE IF omisso necessria de ponto e virgula no Pascal

94

Structured Text

Laos lgicos

95

Lista de Instrues

Linguagem LI

96

Lista de Instrues

Intruction List
Mnemnicos Assembly

Operaes lgicas booleanas

97

Lista de Instrues

Execuo mais rpida


Dificuldade em alteraes no cdgo j implementado Bom pra resolver problemas simples

98

Lista de Instrues
Sintaxe

Cada instruo comea em uma nova linha Contem rtulo , operadores e modificadores , operando e comentrio Podem ser includas linhas em branco

99

Lista de Instrues

10 0

Lista de Instrues
Rtulo (etiqueta)

No pode exceder 16 caracteres Primeiro caracter deve ser uma letra

Restante letra , numero ou smbolo


No pode haver dois rtulos iguais

10 1

Lista de Instrues
Modificadores de instrues

( = adiada at encontrar ) C = instruo executada somente se contedo atual diferente de zero

10 2

Lista de Instrues

Principais Comandos

10 3

Lista de Instrues

Principais Comandos

10 4

Lista de Instrues

Exemplos

10 5

Lista de Instrues

10 6

Lista de Instrues

Onde est o erro ?

10 7

Lista de Instrues

10 8

Lista de Instrues

10 9

Q1 = 1

Lista de Instrues

11 0

Q1 = 0

Lista de Instrues
Operaes adiadas

LIFO Last input , First output

Altera ordem natural das intrues

11 1

Lista de Instrues

11 2

Lista de Instrues

Q1 = (I1.I2)+(I3.I4)

11 3

Lista de Instrues

Podem ser usados rels auxiliares


Armazenamento temporrio de informao Vantagem: Melhora clareza do programa

Desvantagem: precisa de mais memria

11 4

Lista de Instrues

exemplo

11 5

Lista de Instrues

Q1 = (I2+I2).(I3+I4)

11 6

Lista de Instrues

Com rels auxiliares

11 7

Lista de Instrues

Mnemnicos de alguns fabricantes

11 8

Lista de Instrues

exemplo

11 9

Liguagem SFC

Linguagem SFC

12 0

Linguagem SFC

GRAFCET
Desenvolvida em 1975 por franceses Facilidade de interpretao

Modelagem de sequenciamento e funes lgicas e

12 1

Linguagem SFC

Norma IEC 848


Norma francesa NF C03-190

12 2

Linguagem SFC

Elementos de um Grafcet

12 3

Linguagem SFC
Etapa

o estado atual Pode estra ativa ou inativa

Conjunto de etapas determina estado do Graficet

12 4

Linguagem SFC
Transio

Representada por traos Evoluo de uma situao para outra

Pode ser vlida ou no


Uma evoluo vlida quando todas as etapas precedentes estiverem ativas

12 5

Linguagem SFC
Arcos Orientados

Indicam a sequencia Ligam etapas , transies

Conveno : de cima para baixo

12 6

Linguagem SFC
Ao

Representam efeitos que devem ser obtidos O que deve ser feito

Ordem de comando

12 7

Linguagem SFC

exemplo

12 8

Linguagem SFC
Ordens de comando atuam sobre:

Elementos fsicos do mecanismo Elementos auxiliares

Interfaces homem-mquina

12 9

Linguagem SFC
Ordem contnua

Depende somente da ativao da etapa a qual estiver associada

13 0

Linguagem SFC
Ordem condicional

Depende da ativao da etapa associada Depende tambm de condies a serem satisfeitas

13 1

Linguagem SFC
Ordem condicional com retardo

13 2

Linguagem SFC

Ordem condicional limitada no tempo

13 3

Linguagem SFC

Impulsional

13 4

Linguagem SFC

SET e RESET

13 5

Linguagem SFC
Receptividade

Funo lgica associada a transio Habilita ocorrncia , se estado lgico verdadeiro

13 6

Linguagem SFC
Receptividade associada a temporizao

13 7

Linguagem SFC
Um Graficet comandado por outro

13 8

Linguagem SFC
Exemplo: mquina de estampar peas

13 9

Linguagem SFC

14 0

Simuladores
Simuladores

Step7 MicroWin 2.0 (SENAI) SimuPLC

LadSIM Ladder Lgic editor


ZelioSoft (Schineider, em portugues) Easy PLC

14 1

Simuladores

LdMicro
I-Trilogi ( Java) FST 4.0 (Festo)

CLIC 02 LAD(WEG)
Concept 2.5 (FBD,IL ,ST, e SFC)] PLC Zap 500

14 2

Simuladores

PLCsim (Siemens)

Logix
Simulador Online (www.plcsimulator.net)

14 3

14 4