Escolar Documentos
Profissional Documentos
Cultura Documentos
A1 (IEC 61131-3)
Manual Rev. 1.10 Setembro/2006 Ref.5-085.110
ATOS
Este manual não pode ser reproduzido, total ou parcialmente, sem autorização por escrito da Atos.
Seu conteúdo tem caráter exclusivamente técnico/informativo e a Atos se reserva no direito, sem
qualquer aviso prévio, de alterar as informações deste documento.
2
Termo de Garantia
A Atos Automação Industrial LTDA. assegura ao comprador deste produto,
garantia contra qualquer defeito de material ou de fabricação, que nele apresentar no
prazo de 360 dias contados a partir da emissão da nota fiscal de venda.
3
CONVENÇÕES UTILIZADAS
• Títulos de capítulos estão destacados no índice e aparecem no cabeçalho das
páginas;
ATENÇÃO: Este ícone identifica tópicos que devem ser lidos com
extrema atenção, pois afetam no correto funcionamento do equipamento
em questão, podendo até causar danos à máquina / processo, ou mesmo
ao operador, se não forem observados e obedecidos.
4
ATOS
Conteúdo
CAPÍTULO 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... . . . . . . . . . 7
Linguagens de
d e Programação ................................ ................................ ................................ ............. 11
5
ATOS
Exercício 5 - Máquina
Máquin a de encher garrafas ................................ ................................ ........................... 33
6
ATOS
CAPÍTULO 1
.INTRODUÇÃO.
7
ATOS INTRODUÇÃO
8
INTRODUÇÃO ATOS
Parte 4 User guidelines Orientações para seleção, instalação e manutenção de 2004 (2ª Ed.)
CLP’s.
Parte 5 Communications Funcionalidades para comunicação com outros 2000 (1ª Ed.)
dispositivos.
Parte 6 Reservada
Parte 7 Fuzzy Control Funcionalidades de software, incluindo blocos 2000 (1ª Ed.)
Programming funcionais padrões para tratamento de lógica nebulosa
dentro de CLP’s.
Parte 8 Guidelines for the Orientações para implementação das linguagens IEC 2003 (2ª Ed.)
Application and 1131-3.
Implementation of
Programming
Languages
9
ATOS INTRODUÇÃO
IEC 61131-3
name change
70 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
10
INTRODUÇÃO ATOS
Linguagens de Programação
O IEC (International Electrotechinal Commitee) é responsável pela
padronização das linguagens de programação. Existem cinco tipos básicos de
linguagem que normalmente são encontradas em controladores programáveis e
são padronizadas pela norma IEC 61131-3:
Linguagens Textuais
Linguagens Gráficas
Step 1 N FILL
Transition 1
Step 2 S Empty
Transition 2
Step 3
11
ATOS INTRODUÇÃO
L i n gu a g e n s T ex tu a i s
É uma linguagem de alto nível muito poderosa, com raízes em Pascal e “C”.
Contém todos os elementos essências de uma linguagem de programação
moderna, incluindo condicionais (IF-THEN-ELSE e CASE OF) e iterações (FOR,
WHILE e REPEAT).
Exemplo:
I:=25;
WHILE J<5 DO
Z:= F(I+J);
END_WHILE
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
L i n gu a g e n s G r á fi c a s
12
INTRODUÇÃO ATOS
PLCOpen:
A PLCOpen é uma associação mundial independente de produtos e
fabricantes. Como tal, a missão desta associação é ser a líder na solução de
assuntos relacionados à programação de controle para suportar o uso de normas
internacionais neste campo.
A PLCopen foi fundada em 1992 e tem sua sede na Holanda. Para atingir
os seus objetivos, a organização PLCopen trabalha em aperfeiçoamentos para a
programação de controladores industriais, para gerar maior eficiência no
controle em si.
Uma das principais atividades da PLCopen está focada na IEC 61131-3, a
única norma mundial para programação de controladores industriais. A norma
harmoniza a forma como pessoas projetam e operam os controladores
industriais, padronizando a interface de programação. Uma interface de
programação padronizada permite que pessoas de diferentes formações e
habilidades possam criar diferentes elementos de um programa em diferentes
estágios do ciclo de vida software: especificação, projeto, implementação, teste,
implantação e manutenção. Todas as partes aderem a uma estrutura comum e
funcionam juntas de forma harmoniosa. A norma inclui a definição da linguagem
Sequenciamento Gráfico de Funções (SFC), usada para estruturar a organização
interna do programa, e quatro linguagens de programação interoperáveis: Lista
de Instruções (IL), Diagrama Ladder(LD), Diagrama de Blocos (FBD) e Texto
Estruturado (ST). Através da decomposição em elementos lógicos,
modularização e modernas técnicas de software, cada programa é estruturado,
aumentando a sua reutilização, reduzindo erros e melhorando a programação e
eficiência do usuário.
13
ATOS INTRODUÇÃO
14
ATOS
CAPÍTULO 2
.PARTE COMUM.
15
ATOS PARTE COMUM
16
PARTE COMUM ATOS
Introdução
Neste item serão apresentados os elementos comuns da norma que são
usados por todas as linguagens de programação da norma. O correto
entendimento de elementos como variáveis e tipos de dados que são utilizados é
essencial para permitir a utilização de qualquer linguagem de programação.
Ao final deste item você será capaz de:
Nomear os elementos de software usando identificadores, tais como
variáveis;
Declarar variáveis utilizando tipos de dados padrões;
Declarar variáveis utilizando tipos de dados, vetores e estruturas;
Inicializar as variáveis.
Um dos aspectos mais importantes da programação de qualquer sistema é
a capacidade de decompor o software em partes menores. A norma proporciona
que sejam desenvolvidos ambientes de programação capazes de decompor
programas complexos em diferentes elementos de software, os quais possuem
uma interface padronizada e bem definida entre os mesmos. O modelo de
software (software model) é muito importante, pois consiste em um conjunto de
conceitos que definem uma infra-estrutura para decomposição do projeto de
automação em partes. Também são definidas cinco linguagens de programação
para o desenvolvimento de módulos ou componentes de software.
A programação baseada na norma IEC é orientada para o
desenvolvimento de programas a partir da abordagem de cima para baixo (top-
down) e de baixo para cima (botton-up).
Elementos Comuns
Linguagens de Programação
De baixo
para cima
17
ATOS PARTE COMUM
Configuração
Recurso Recurso caminho de acesso
Caminho de acesso
Função de Comunicação
Figura 6 – Modelo de software IEC 61131-3
Configuração (Configurations):
No nível mais alto, o software para um sistema de controle está contido em
uma configuração. Uma configuração corresponde ao software necessário para
um único CLP. Mas, em sistemas mais complexos como em uma manufatura
pode existir diversas configurações ou uma configuração com diversos CLP’s, as
quais interagem entre si através de interfaces de comunicação padronizada pela
norma.
18
PARTE COMUM ATOS
Configuração no Âmbito da norma IEC não deve ser confundida com o termo
normalmente usado para expressar os passos para definição de parâmetros e
setups para um sistema, ou seja, “configurando um sistema”.
Recurso (Resources):
Dentro de cada configuração podem existir um ou mais recursos. Um recurso
é basicamente qualquer elemento com capacidade de processamento,
responsável pela execução dos programas. Este elemento pode ser visto como
uma máquina virtual capaz de executar um ou mais programas. Uma
característica interessante dos resources é que eles são uma divisão de software
mas que também podem refletir uma divisão no hardware. Cada recurso deve
ser independente, não podendo ser influenciado por outros recursos.
Programas (Programs):
Um Programa IEC pode ser construído a partir de diferentes elementos de
software, cada um escrito em qualquer uma das diferentes linguagens da
norma.
Tipicamente, um Programa consiste de um número de blocos funcionais
interconectados, capazes de trocar dados através das conexões de software. Um
Program pode acessar as variáveis do CLP e comunicar com outros Programs. A
execução de diferentes partes de um Program, function blocks por exemplo,
pode ser controlada usando Tasks.
Segundo a norma, “programa é uma montagem lógica de todos os elementos
de linguagens e construções necessárias para o processamento de sinal
requerido para o controle de uma máquina ou processo por um sistema
controlador programável”.
19
ATOS PARTE COMUM
Funções (Functions):
Funções são elementos de software que não aparecem no modelo de
software. Funções não possuem persistência, existindo apenas em tempo de
execução, assim como sub-rotinas. Portanto, sempre produzem o mesmo
resultado para o mesmo conjunto de entradas.
Funções podem ter apenas uma saída, sem considerar a saída ENO para
controle de execução, ao contrário dos Blocos de Funções que podem ter várias.
O resultado pode ser um tipo de dado simples de múltiplos elementos (vetores e
estruturas). As funções trigonométricas são os tipos mais comuns de funções.
Tarefas (Tasks):
Uma Task é um mecanismo de escalonamento muito útil para sistemas de
tempo real, que executa Programas ou Blocos funcionais periodicamente ou em
resposta a um evento (mudança de estado de alguma variável booleana),
permitindo a execução de programas em diferentes taxas.
A necessidade de se executar programas em taxas diferentes tem por
objetivo atender as exigências de tempo de resposta do processo sob controle e
de otimizar o uso da capacidade de processamento do CLP.
Um forno, por exemplo, que possui uma capacidade térmica muito
grande, pode ser controlado por um algoritmo que executa uma vez a cada
minuto, permanecendo estável. Já as funções de intertravamento de segurança
de uma máquina ferramenta devem ser executadas a cada 5 ms. A cada tarefa
podemos atribuir um período de execução e uma prioridade.
20
PARTE COMUM ATOS
Task não-preemptiva
Task preemptiva
Fluxo de controle:
A norma IEC não define os mecanismos para controle de execução dos
elementos de software, os quais são dependentes da implementação.
Entretanto, são definidos os comportamentos na partida e parada do sistema:
Partida:
Quando uma configuração parte, todas as variáveis globais são
inicializadas e todos os recursos são atividados.
Quando um recurso parte, todas as variáveis dentro do recurso são inicializadas
e todas tarefas são habilitadas.
Uma vez habilitada as tarefas, todos os programas e blocos funcionais
associados às mesmas executarão quando a tarefa estiver ativa.
Parada:
Quando uma configuração para, todos os recursos da mesma param.
Quando um recurso para, todas as tarefas são desabilitadas, interrompendo a
execução dos programas e blocos funcionai.
Deve ser observado que um programa somente controla a execução dos
blocos funcionais associados à mesma tarefa. Entretanto, os blocos funcionais
podem ser associados a tarefas distintas, não sendo necessariamente
sincronizados com os programas.
21
ATOS PARTE COMUM
RECURSO
PROGRAMA
CONFIGURAÇÃO
22
PARTE COMUM ATOS
CONFIGURAÇÃO CONFIGURAÇÃO
RECURSOS
RECURSOS
CONFIGURAÇÃO
23
ATOS PARTE COMUM
TAMANHO
TIPO DE DADO INTERVALO
(em memória)
BOOL 1 bit TRUE e FALSE
BYTE 8 INFORMAÇÃO BINÁRIA
SINT 8 bits -127 a +127
INT 16 bits -32768 a +32767
DINT 32 bits -2147483648 a +2147483647
LINT 64 bits 2e+63 a (2e+63)-1
USINT 8 bits 0 a 256
UINT 16 bits 0 a 65535
UDINT 32 bits 0 a 4294967295
ULINT 64 bits 0 a (( 2e+64)-1)
WORD 16 bits 0 a FFFF
DWORD 32 bits 0 a FFFFFFFF
LWORD 64 bits 0 a FFFFFFFFFFFF
-3.40282346638528860e+38a 3.40282346638528860e+38
REAL 32 bits
Underflow: 1.1754943508222875e-38
Inteiro:
o Decimais: -123 0 +463 23_123
Ponto flutuante:
o 10.123 +12_123.21 -1.65E-10
Tempo:
Declarações: d=dias, h=horas, m=minutos, s=segundos, ms=milisegundos.
o Forma curta: T#12d3h3s T#12d3.5h
o Forma longa: TIME#6d_5h_3m_4s
Data e hora:
o D#1994-06-10 d#1995-01-13 DATE#1993-10-15
o TOD#10:10:30 TOD#23:59:59 TIME_OF_DAY#05:00:00:56
24
PARTE COMUM ATOS
o DT#1993-06-12-15:36:55.40
o DATE_ABND_TIME#1995-02-01-12:00:00
Bits:
o False 0 True 1
ANY_INT
SINT INT DINT LINT USINT UINT ULINT UDINT
ANY_BIT
BOOL BYTE WORD DWORD LWORD
STRING
ANY_DATE
DATE_AND_TIME DATE TIME_OF_DAY
TIME
Figura 10 – Hierarquia dos tipos de dados elementares
Estruturas:
Tipos de dados compostos podem ser derivados pela definição de uma
estrutura, através do uso de palavras-chave STRUCT e END_STRUCT.
25
ATOS PARTE COMUM
Variáveis
Variáveis de escopo Local e Global
A norma exige a declaração de variáveis dentro de diferentes elementos
de software, tais como Programas e Blocos Funcionais. As variáveis podem
utilizar nomes com significado abrangente (simbólicos) e serem de diferentes
tipos de dados. As variáveis podem ser de alocação dinâmica e associadas a
posições de memória (representação direta). O escopo das variáveis é local ao
elemento de software que as declara, permitindo acesso dentro do próprio
elemento que pode ser uma Configuração, Recurso, Programa, Bloco Funcional
ou Função. Variáveis também podem ser de escopo global, sendo acessadas por
todos os elementos contidos no mesmo, incluindo os elementos aninhados.
CONFIGURAÇÃO
RECURSO
PROGRAMA_1 PROGRAMA_2
VARIÁVEIS GLOBAIS
FB_1 FB_2
EFETIVO_TEMP
26
PARTE COMUM ATOS
%IW8.0 Leitura de sinal da entrada proveniente de uma placa analógica (slot 8, entrada 0)
%QW8.0 Escrita de sinal na saída proveniente de uma placa analógica (slot 8, saída 0)
Atributos de variáveis:
Retenção: Indica que as variáveis seguintes serão colocadas em memória
retentiva, isto é que mantêm o seu valor em caso de perda de
alimentação do CLP. São declaradas utilizando Retain.
Constante: Indica que os valores de uma lista de variáveis não podem ser
modificados.
27
ATOS PARTE COMUM
Reutilização:
A norma IEC estimula a reutilização desde o nível mais macro, com Programs,
até o nível mais micro, com Functions e Function Blocks. A recursividade não é
permitida dentro de uma POU, para garantir a estabilidade da aplicação.
28
ATOS
CAPÍTULO 3
.EXERCÍCIOS.
29
ATOS EXERCÍCIOS
30
EXERCÍCIOS ATOS
a) Acionamento de solenóide:
31
ATOS EXERCÍCIOS
Tela exemplo:
TEMPORIZADOR
PRE. EFE.
32
EXERCÍCIOS ATOS
Exercício 3 - Contador
Programe um contador, que conte pulsos com a 1ª entrada digital e seja
resetado com a 2ª entrada digital. No final da contagem deverá acionar a 1ª
saída digital, sinalizando assim o final da contagem. Programe também uma tela
com um campo de edição e um campo de visualização. Considere que o número
de pulsos a ser definido através da IHM varie de 0 a 100 pulsos.
Tela exemplo:
CONTADOR
PRE. EFE.
33
ATOS EXERCÍCIOS
Tela 000 - Tela texto, na primeira linha nome da empresa, na segunda linha
nome da máquina.
MAC VIDROS
ENCHEDORA SR 2000
SELECIONE
S1-TEMPOS S2-CONT.
34
EXERCÍCIOS ATOS
TEMPORIZADOR
0000 PRE. 0000 EFE.
C= A*B
A+B
A=B
A<B
A>B
35
ATOS EXERCÍCIOS
Programe uma tela para editar B, visualizar A e mostrar string dos possíveis
resultados da comparação
36
EXERCÍCIOS ATOS
BOMBA DESLIGADA
MODO MANUAL
FALTA PRODUTO
VALVULA 1 ABERTA
LIBERANDO PRODUTO
VALVULA 2 ABERTA
37
ATOS EXERCÍCIOS
RECIPIENTE CHEIO
PODE LIBERAR PRODUTO
Exemplo de tela:
PRODUTO 1
0000 PRE. 0000 EFE.
Tela 001 - Mostrar o nome do produto ou código. Editar o preset e visualizar o
efetivo Utilizar uma tela com um campo de edição e um campo de visualização
de quatro dígitos. Deve ser uma tela intermediária.
Exemplo de tela:
PRODUTO 2
0000 PRE. 0000 EFE.
38
EXERCÍCIOS ATOS
ENVASAMENTO DIÁRIO:
. PRESET: garr.
EFETIVO: garr.
39
ATOS EXERCÍCIOS
REFUGOS DIÁRIOS:
PR. ALARME: garr.
EFETIVO: garr.
QUANT. CRITICA
DE REFUGOS!
>5000 GARRAFAS
VERIFICAR!
40
EXERCÍCIOS ATOS
Tela 000 – Tela texto, na primeira linha nome da empresa, na segunda linha
“MANUTENÇÃO PREVENTIVA”.
“xxxxxxxxxx”
MANUTENÇÃO PREVENTIVA
Manutenção Preventiva
A cada “xx” Horas.
Atual......................................[
xx]
[Vericacao]
[Zerar]
Tela 002 – Tela de Alarme, que será mostrada ao usuário depois de completado
o período para a realização da manutenção preventiva.
REALIZAR
MANUTEN. PREVENTIVA
E ZERAR O HORIMETRO
41
ATOS EXERCÍCIOS
Preventiva:
- Reapertar parafusos
da Base;
- Lubrificar eixo 1;
Exemplo de tela:
Eana1: V
cc
Régua:
mm
42
EXERCÍCIOS ATOS
Tela 000 – Tela de texto, na primeira linha nome da empresa, na segunda
linha nome da máquina.
“xxxxxxxxxx”
EXTRUSORA “xxxxx”
.
Velocidade do Motor:
Fundo de escala:
rpm
Veloc. Atual:
rpm
Exercício 19 – Análise de Ph
Programe um sistema de análise do pH da água de uma Estação de Tratamento
de Água - ETA, para o controle da dosagem do alcalinizante. Considere um sinal
de uma entrada analógica, proveniente de um medidor de PH que tem sua faixa
de 0 a 20mA para variação do PH de 0,00 a 14,00. Programe também uma tela
para somente visualização da variação do pH na escala de 0,00 a 14,00 e na
escala de 0 a 20mA. E 4 telas para mostrar mensagens para o operador, nas
seguintes situações:
pH BAIXO
pH ALTO
VERIFICAR
ALCALINIZANTE
pH MUITO BAIXO
43
ATOS EXERCÍCIOS
Volts
2 Tempo (s)
44
EXERCÍCIOS ATOS
TEMPERATURA DO FORNO
EFETIVO:
PRE. MÍNIMA:
oC
PRE. MAXIMA:
oC
PRESET ALARMES:
TEMP. MÍNIMA: oC
TEMP. MAXIMA: oC
TERMOPAR
INVERTIDO
TERMOPAR
ABERTO
TEMPERATURA
MINIMA
TEMPERATURA
MAXIMA
45
ATOS EXERCÍCIOS
46
ATOS
CAPÍTULO 4
.GLOSSÁRIO.
47
ATOS GLOSSÁRIO
48
GLOSSÁRIO ATOS
49
ATOS GLOSSÁRIO
50