Escolar Documentos
Profissional Documentos
Cultura Documentos
Marcelo Lucas
Universidade de Uberaba
Reitor
Marcelo Palmério
Editoração e Arte
Produção de Materiais Didáticos-Uniube
Revisão textual
Márcia Regina Pires
Diagramação
Andrezza de Cássia Santos
Projeto da capa
Agência Experimental Portfólio
Edição
Universidade de Uberaba
Av. Nenê Sabino, 1801 – Bairro Universitário
Lucas, Marcelo.
L962a Automação industrial I / Marcelo Lucas, Florisvaldo
Cardozo Bomfim Junior – Uberaba: Universidade de Uberaba,
2017.
336 p. : il.
O quinto capítulo nos dará uma visão geral dos sistemas de supervisão
e controle. Inicialmente serão mostradas a evolução dos sistemas de
supervisão e controle, bem como sua classificação hierárquica. Em
seguida, será feita uma descrição dos SDCD, Sistemas Digitais de
Controle Distribuído, além dos detalhamentos de seus subsistemas.
E, finalmente, será apresentada uma descrição geral da automação
industrial, que vai desde sua evolução, passando pela arquitetura, até
as redes que fazem a integração desses sistemas, isto é, das redes de
informação ou corporativas, às de redes controle.
Bons estudos!
Capítulo
Automação e controladores
lógicos programáveis
1
Marcelo Lucas
Introdução
Por meio dos estudos propostos, esperamos que você compreenda
e identifique situações-problema contextualizadas, envolvidas
no projeto de sistemas de controle discreto. Para tanto, sugiro
que, ao ler os conteúdos abordados, você faça uma síntese das
principais dificuldades encontradas no desenvolvimento dessa
atividade de aprendizagem. Tais dificuldades servirão para uma
posterior discussão entre todos os envolvidos no processo ensino-
aprendizagem, alunos, preceptor, tutor web e professores. Sendo
assim, este trabalho tem o objetivo de auxiliá-lo no processo de
construção de conhecimentos teórico-iniciais, necessários para
acompanhamento dos conteúdos que serão trabalhados.
Esquema
1.1 A evolução do controle de processos industriais
1.2 Tipos de variáveis de processo
1.2.1 Processo contínuo
1.2.2 Processo discreto
1.3 Sistema de controle
1.4 Áreas de aplicação dos controladores programáveis
1.5 Controlador lógico programável versus painel de relés
1.6 Computador industrial versus controlador programável
1.7 Perspectivas futuras
1.8 Principais elementos em acionamentos elétricos
Com invenção do regulador mecânico para a pressão do vapor (Figura 1), feito
por James Watt, a máquina passou a ter um uso industrial importante,
pois agora a pressão do vapor era regulada automaticamente por um
dispositivo, podendo a máquina assim efetuar um trabalho ou uma
etapa de um processo. Surge o processo industrial em substituição ao
processo de manufatura, em que máquinas realizam parte do processo
de produção.
rotação normal
alta rotação
SAIBA MAIS
James Watt
SAIBA MAIS
CAD/CAE/CAM
Abreviaturas de computer aided design, engineering, manufacturing. Designam
sistemas, processos e programas de desenho, engenharia e manufatura
(fabricação) auxiliados por computador. Para construir um navio, por exemplo,
o estaleiro pode ter um programa que auxilia nos cálculos de engenharia naval,
no desenho (e posteriores modificações) da planta do navio e, depois, pode
até emitir comandos para o corte de chapas de aço conforme as medidas
especificadas. A denominação pode se referir apenas ao programa como a
toda uma estação de trabalho dedicada a essa finalidade.
8 UNIUBE
• Processos industriais
Quando observamos o processo do ponto de vista da produção,
normalmente podemos defini-lo como sendo o local (físico) onde os
materiais e a energia se juntam e são transformados em um determinado
produto. Para os engenheiros de controle, o processo pode ser entendido
como um conjunto de variáveis que devem ser conhecidas e controladas
com vários objetivos, dentre eles podemos citar:
Programa
Comparador + (algoritmo de controle)
Controlador
Sensores Atuadores
Processo
• contínuo;
• batelada;
• discreto;
• fabricação de itens.
UNIUBE 11
• Sinal analógico
Sinal analógico é aquele que representa de forma contínua uma
determinada faixa de valores da grandeza física (Figura 3).
v Sinal Analógico
0 t
• Sinal digital
Sinal digital é aquele em que somente dois valores são representados.
São designados genericamente de 0 e 1 (Figura 4).
12 UNIUBE
v
Sinal Digital
1 0 1 0 1 1 1
0 t
Figura 4: Sinal digital.
• Sistema de comando
Consiste num conjunto de elementos interligados em malha aberta, isto
é, as informações processadas nesses elementos apresentam-se num
único sentido, da entrada para a saída e o seu diagrama de blocos pode
ser visto na Figura 5, a seguir.
Elemento Processo ou
Controlador Atuador Acionamento
de entrada máquina
chaves, CLP, reles, motores,
sensores, computador, válvulas cilindros,
transdutores processador
Condição Processo ou
Controlador Atuador Acionamento
desejada máquina
Condição
atual
(sensores)
Realimentação
CLP
E1
E2 Interfaces S1
S2
Memórias
En Sn
S A
S A
SAIBA MAIS
• Funcionalidades
Os Controladores Lógicos Programáveis (CLPs) são equipamentos
eletrônicos de última geração, utilizados em sistemas de automação
flexível. Permitem desenvolver e alterar facilmente a lógica para
acionamento das saídas em função das entradas. Desta forma, pode-se
utilizar de inúmeros pontos de entrada de sinal, para controlar diversos
pontos de saída de sinal (cargas).
UNIUBE 17
• Evolução histórica
O controlador lógico programável nasceu na indústria automobilística
americana no final dos anos 1960. O primeiro CLP foi projetado pela divisão
Hydromic Division, da General Motors Corporation, em 1968, sob a liderança
do engenheiro Richard Morley, cuja finalidade seria substituir os painéis de
relés nos controles dos processos baseados em lógicas combinacional/
sequêncial das linhas de montagem nas indústrias de manufatura,
principalmente automobilística. Foram progressivamente adotados pelas
indústrias de processos devido à grande dificuldade que havia para mudar a
lógica de controle de painéis de comando ao se alterar a linha da montagem.
Essas mudanças exigiam muito tempo e dinheiro.
UNIUBE 19
Desde seu aparecimento até hoje, muita coisa evoluiu Componentes físicos
IMPORTANTE!
SINTETIZANDO...
Operações aritméticas
1971 a 1976
Impressão de documentação/relatórios
• controle de processos;
• automação da manufatura;
• integração de sistemas de automatização;
• linhas de fabricação e montagem;
• automação predial;
• controle de subestações de energia.
24 UNIUBE
Funções:
Aplicações usuais:
PARADA OBRIGATÓRIA
IMPORTANTE!
MEMÓRIA DE PROGRAMA
INTERFACES
PROGRAMA MONITOR RS 232 – PROGRAMAÇÃO
APLICAÇÃO DO USUÁRIO INTERFACE DE – SUPERVISÃO
MÁQUINA OU CARTÕES DE COMUNICAÇÃO
PROCESSO ENTRADA SERIAL
MEMÓRIA – REDE DE CLP’S
PROCESSADOR
IMAGEM DE I/O RS 485 – MÓDULOS DE I/O
CARTÕES REMOTOS, ETC
DE SAÍDA
FONTE
EXTERNA
FONTE
Processador
Cartões de entradas
Elemento discreto
BOTÃO
CHAVE
PRESSOSTATO
FLUXOSTATO
TERMOSTATO CARTÃO DE
ENTRADAS CPU
FIM DE CURSO
DISCRETAS
TECLADO
CHAVE BCD
FOTO CÉLULA
OUTROS
CAMPO CAMPO
ENTRADA 1 ENTRADA 1
ENTRADA 2
PSH Sensor indutivo 2 fios
(a) (b)
Figura 11: (a) Entradas digitais com fonte externa e (b) Sensor capacitivo, indutivo, óptico, indutivo
magnético ou saída à transistor com alimentação de 8 a 30 VCC.
Elemento analógico
CAMPO ENTRADA
ENTRADA 2
PT T
fonte
Figura 12: Entrada
COMUM
analógica em corrente.
TRANSMISSORES IA
TACO GERADOR IA
TERMOPAR IA CPU
TERMO RESISTÊNCIA IA
SENSOR DE POSIÇÃO IA
Elementos Discretos
Cartões de saída
VÁLVULA SOLENÓIDE
CONTADOR
SINALIZADOR
CARTÃO RELÉ
CPU DE SAÍDAS SIRENE
DISCRETAS DISPLAY
OUTROS
IMPORTANTE!
saída 2
carga carga
fonte fonte
saída 2
comum
(a) (b)
Figura 16: (a) Saídas digitais independentes e (b) Saídas digitais com ponto comum.
Fonte: Acervo do autor.
POSICIONADOR SAÍDA 1
CONVERSOR
CARTÕES INDICADOR
UCP VÁLVULA PROPORCIONAL
SAÍDA 2 POSICIONADO ATUADOR
ANALÓGICOS
ATUADOR ELÉTRICO
OUTROS
COMUM
(a) (b)
Figura 17: (a) Cartão de saída analógica e (b) Esquema de ligação com posicionadores e atuadores.
UNIUBE 35
Bit
Byte
Memórias
Vamos compreendê-lo!
Organização da memória
Memória do sistema
Tabela de dados
Preset
• estados das entradas e saídas conectadas ao
controlador programável; Valor definido,
setpoint. Exemplos
• estados internos; de preset: tempo
pré-definido no
• valores preset de contadores e temporizadores. temporizador/contador.
Informações
Os registros são posições de memórias destinadas representadas por
a armazenar informações quantitativas. Podem um grupo de bits
(word), ou seja,
ser utilizados para armazenar valores preset são posições de
memória destinadas
de contadores e temporizadores, bem como de a armazenar
informações
qualquer dado numérico manipulado pelo CLP. quantitativas.
Exemplos de registros:
entradas e saídas
analógicas, canais de
Memória da aplicação leitura de temperatura,
valores de setpoint
de contadores e
temporizadores,
A memória da aplicação é destinada ao assim como qualquer
outro dado numérico
armazenamento da lógica de controle definida manipulado pelo CLP.
pelo usuário, isto é, do programa de aplicação
ou programa do usuário.
Fonte de alimentação
Bateria
Circuitos auxiliares
Princípio de funcionamento
• Processamento cíclico
Leitura das entradas externas: nesta fase, a CPU, com base nos
estados dos dispositivos conectados aos cartões de entrada, utiliza
as informações da Tabela Imagem das Entradas (TIE);
Fim do Programa
do Usuário
Início
Fim
Interrupção
Rotina de interrupção
Após a execução desta rotina, a CPU passa a fazer uma varredura (ciclo)
constante, isto é, o processamento cíclico do programa do usuário, conforme
é visto na Figura 23, a seguir:
INÍCIO
CONDIÇÕES DE
INICIALIZAÇÃO
Não
OK
Sim
PROCESSAMENTO DE
INSTRUÇÕES DE USUÁRIO
Tempo
de
Não
Varredura
OK
Sim
STOP
PARADA DO SISTEMA
PWR
RUN
FUS PRG
COM
BAT
CP
XYZ/ZZ
PRO
I/O
110 VAC 24 VDC
Comunicação serial
A seguir, será feita uma breve descrição das três formas básicas de
comunicação entre o CLP, os dispositivos de I/O e o sistema de supervisão.
Figura 27: (a) Arquitetura local de CLP com I/O remotos ou distribuídos – (b) Arquitetura de rede
de CLPs.
• μCLPs
São CLPs de pouca capacidade de I/O (máximo 16 Entradas e 16 Saídas),
normalmente só digitais, compostos de um só módulo (ou placa), baixo custo
e reduzida capacidade de memória (máximo, 512 passos/512 Bytes).
50 UNIUBE
Transdutor
Sinal Modulado
Referência
(Ex: 4-20mA)
Características
• Linearidade
Parâmetro que indica que a relação entre o sinal gerado e a
grandeza física é o grau de proporcional (linear). Os sensores não
lineares são usados em faixas limitadas, em que os desvios são
aceitáveis, ou com adaptadores especiais que corrigem o sinal.
• Faixa de atuação
Intervalo de valores da grandeza em que pode ser usado o sensor
sem ser danificado ou provocar imprecisão no sinal gerado.
• Transdutores de temperatura
O controle de temperatura é necessário em processos industriais ou
comerciais, como a refrigeração de alimentos e compostos químicos,
fornos de fusão (produção de metais e ligas, destilação fracionada
(produção de bebidas e derivados de petróleo), usinas nucleares e
aquecedores e refrigeradores domésticos (fornos elétricos e microondas,
freezers e geladeiras).
UNIUBE 53
• Células fotovoltaicas;
• Fotorresistores ou LDRs (light dependent resistor): sensor cuja
resistência é diminuída com a incidência de luminosidade.
• Fotodíodo: diodo semicondutor em que a junção está exposta à luz.
A energia luminosa desloca elétrons para a banda de condução,
reduzindo a barreira de potencial pelo aumento do número de
elétrons, que podem circular se aplicada polarização reversa.
• Fototransistor: transistor cuja junção coletor-base fica exposta à luz e
atua como um fotodíodo. O transistor amplifica a corrente, e fornece
alguns mA com alta luminosidade.
54 UNIUBE
• Transdutores de posição
Em aplicações em que se necessita monitorar a posição de uma peça,
como tornos automáticos industriais, ou contagem de produtos, ou verificar a
posição de um braço de um robô ou o alinhamento de uma antena parabólica
com outra ou um satélite, usam-se sensores de posição.
Sensores de velocidade
Empregam-se nos controles e medidores de velocidade de motores
dentro de máquinas industriais, eletrodomésticos como videocassete e
CD, unidades de disquetes e Winchesters de computadores, na geração
de eletricidade (garantindo a frequência da CA), entre outros.
SAIBA MAIS
Sensores de vazão
Servem para medir o fluxo de líquidos em tubulações.
• Tipo turbina.
• Por pressão diferencial.
• Eletromagnético.
• Curiolis.
Transdutores de pressão
Transdutores Piezelétricos: alguns materiais isolantes têm a propriedade
de formar dipolos elétricos de forma permanente, de forma tal que estes
materiais reagem a pressões e a tensões elétricas.
Outros sensores
Chaves fim de curso: são interruptores que são acionados pela própria
peça monitorada. Há diversos tipos e tamanhos, conforme a aplicação.
56 UNIUBE
• eletroválvulas e cilindros;
• servomotores;
• servomotores dc ou cc;
• servomotores ac ou ca;
• motores de passo;
• motores lineares.
• Relés
Relés são os elementos fundamentais de manobra de cargas elétricas,
pois permitem a combinação de lógicas no comando, bem como a
separação dos circuitos de potência e comando.
• Contatores
Para fins didáticos, pode-se considerar os contatores como relés expandidos,
pois o princípio de funcionamento é similar. Conceituando de forma mais
técnica, o contator é um elemento eletromecânico de comando a distância,
com uma única posição de repouso e sem travamento.
Resumo
Referências
FRANCHI, Claiton Moro e CAMARGO, Valter Luís Arlindo de. Controladores lógicos
programáveis – sistemas discretos. 2. ed. São Paulo: Érica, 2008.
Introdução
Com a evolução dos microcontroladores, os CLP’s se tornaram
ferramentas de trabalho muito úteis e versáteis para aplicações
em sistemas de acionamento e controle e, por isso, são utilizados em
grande escala no mercado industrial. Com facilidade, eles permitem
o desenvolvimento e a alteração da lógica para acionamento das
saídas em função das entradas. Dessa forma, podemos associar
diversos sinais de entrada para controlar diversos atuadores ligados
nos pontos de saída.
• programabilidade;
• alta confiabilidade;
• imunidade a ruídos;
• isolação óptica das entradas e saídas;
• detecção de falhas;
• modularidade;
• startup rápido;
• operação em condições ambientais severas.
UNIUBE 61
• automotiva;
• transformadora de plástico;
• produção de açúcar e álcool;
• cerâmica;
• petroquímica;
• embalagem;
• bebidas;
• papel, etc.
Objetivos
Ao final dos estudos propostos, esperamos que você seja capaz de:
O que nos difere dos outros seres vivos é o fato de que pensamos e
a liberdade que possuímos para escolher nossos caminhos, portanto,
somos os únicos responsáveis por tudo que vem a nos acontecer.
Esquema
2.1 Especificação do CLP
2.2 Comunicação
2.3 Métodos de troca de dados
2.4 Linguagem de programação
2.5 Técnicas de programação
2.6 Norma ou padrão IEC 61131-3
2.6.1 Elementos comuns
2.6.2 Unidades organizacionasi de programas
2.7 Linguagens de programação definidas pela IEC 61131-3
64 UNIUBE
TABELA DE ESPECIFICAÇÕES
Modelo
Fabricante
CARACTERÍSTICAS GERAIS
Descrição Especificação
Isolação Óptica
Temperatura de Armazenagem
Temperatura de Operação
Umidade
Vibração
Imunidade a ruído
Indicadores LED
Método de Programação
Conjunto de Instruções
Interface Homem-máquina
Interface de Comunicação
Tempo de varredura
UNIUBE 65
CARACTERÍSTICAS DE HARDWARE
Entradas e saídas Fonte de alimentação
Entradas digitais Total Tipo de +5Vc +12Vcc – 12Vcc
24 VDC tipo PNP alimentação
24 VDC tipo NPN
AC
CPU
SAÍDAS DIGITAIS
24 VDC tipo PNP Modelo
24 VDC tipo NPN Quantidade de entradas
Relé Quantidade de saídas
TRIAC Tamanho da memória usuário
ENTRADAS ANALÓGICAS Tamanho da memória flash
0 a 20 mA Possui relógio calendário
0 a 10 Vcc Tipo de comunicação serial
SAÍDAS ANALÓGICAS
0 a 20 mA
0 a 10 Vcc
TEMPERATURA
Termopar tipo J
Termopar tipo J
Termopar tipo k
PT100 (50 a 150 ºC)
PT100 (0 a 200 ºC)
66 UNIUBE
RACK
Slot Modelo Total
Bastidor de 01 slot
Bastidor de 02 slots
Bastidor p/ trilho din de 2 slots
Bastidor de 04 slots
Bastidor p/ trilho din de 4 slots
Bastidor de 06 slots
Bastidor de 06 slots com expansão
Bastidor p/ trilho din de 6 slots
Bastidor p/ trilho din de 6 slots com expansão
Bastidor de 08 slots
Bastidor de 08 slots com expansão
Bastidor p/ trilho din de 8 slots
Bastidor p/ trilho din de 8 slots com expansão
Bastidor de 10 slots
Bastidor de 10 slots com expansão
Bastidor p/ trilho din de 10 slots
Bastidor p/ trilho din de 10 slots com expansão
Bastidor de 12 slots
Bastidor de 12 slots com expansão
Bastidor de 12 slots com expansão
Bastidor p/ trilho din de 12 slots
Bastidor p/ trilho din de 12 slots com expansão
2.2 Comunicação
Canais de comunicação
Taxa de transmissão
Tipologias de rede
• REDES PRODUTOR-CONSUMIDOR
Nesses tipos de configurações, os dados são transmitidos/recebidos
do nó fonte para todos os nós da rede simultaneamente. Numa mesma
rede, podem trafegar dados de controle de E/S (BTRBTW) e dados
de configuração (MSG). Podem-se priorizar os dados de E/S. Esses
sistemas podem ser Mestre/escravo, Multimestre ou Peer-to-peer para
E/S e mensagens.
70 UNIUBE
• COMUNICAÇÃO MULTIMESTRE
Pode-se ter mais de um mestre e cada mestre tem o seu próprio conjunto
de escravos.
• COMUNICAÇÃO PEER-TO-PEER
Um par de estações toma o controle da rede por vez. Assim, não há
necessidade de polling, que é a forma de se controlar uma linha de
comunicação com o envio de um sinal para uma estação a fim de verificar
se esta possui mensagens a transmitir. Esses dispositivos podem trocar
dados com mais de um dispositivo ou realizar múltiplas trocas com o
mesmo dispositivo.
72 UNIUBE
• MULTICAST
Dispositivos em que os dados são transmitidos simultaneamente a todos
os nós.
• TOKEN PASS
A cada instante, uma estação que está no controle da rede envia e recebe
seus dados e envia o polling para a próxima, a fim de saber se ela está
pronta para receber o controle. Em caso afirmativo, essa estação passará
a ter o controle da rede.
Cíclica
a cada 1000ms
a cada a cada
5ms 2000ms
Mudança de estado
Polling
Protocolos de comunicação
• supervisão;
• comando;
• planejamento;
• banco de dados.
Como exemplo desse nível, temos as redes Profi bus FMS, Modbus,
APR03M e Controlnet.
200m
1900m (10 Km 500 m
Distância máxima (RS-485)km 100 m
com repetidor) (125kb)
(fibra óptica)
coaxial
Especificação
par trançado par trançado 4 fios ou 4 fios
do cabo
trançados
Configuração dos
Sim Não Não Sim
dispositivos via rede
Ferramentas de
Sim Sim Sim Não
gerenciamento
Permite colisão Sim Não Sim Sim
Permite
comunicação Sim Não Sim Sim
por eventos
Autoconfiguração
Sim Não Não Não
básica
Integração com
Sim Sim Sim Não
outras redes
Quantidade
de dispositivos
Baixo Alto Alto Baixo
compatíveis
no mercado
• Linguagem de máquina
É a linguagem compreendida pelos microprocessadores ou
microcontroladores. Suas instruções são escritas em código binário
(bits 0 e 1). Para minimizar as dificuldades de programação usando este
código, pode-se utilizar também o código hexadecimal. Cada item do
programa chama-se linha ou passo, representa uma instrução ou dado
a ser operacionalizado.
• Linguagem assembler
Na linguagem assembler, o programa é escrito com instruções abreviadas
chamadas mnemônicos. Cada microprocessador ou microcontrolador
possui estruturas internas diferentes, portanto seus conjuntos de registros
e instruções também são diferentes.
• Pascal;
• C;
• Fortran;
• Cobol;
• Etc..
Elementos Comuns
Linguagens de Programação
• CONJUNTO DE CARACTERES
Utiliza-se o padrão ISO 646 “Basic code table”. Pode conter somente
letras maiúsculas, as minúsculas são convertidas para maiúsculas e as
palavras reservadas da linguagem são case sensitive.
• IDENTIFICADORES
Nome utilizado para referenciar um determinado objeto. As regras para
criação dos identificadores é:
Exemplo
• TIPOS DE DADOS
Os tipos de dados são definidos com objetivo de prevenir possíveis erros
que possam ocorrer na fase desenvolvimento da aplicação. Dessa forma,
tipo de dado representa o conjunto de valores que podem ser atribuídos às
variáveis. Isto impede, por exemplo, a divisão de uma data por um inteiro.
Os tipos de dados pré definidos são Boolean, Integer, Real, Byte e Word,
além de Date, Time_of_Day e String . Com base nos dados predefinidos, é
possível criar novos tipos de dados, chamados de tipos derivados.
Exemplo
TYPE
PRESSURE: REAL;
END_TYPE;
• ESTRUTURAS
Uma estrutura é construída usando STRUCT e END_STRUCT como
construtor de estruturas.
Exemplo
TYPE PRESSURE_SENSOR:
STRUCT
INPUT: PRESSURE;
STATUS: BOOL;
88 UNIUBE
CALIBRATION: DATE
HIGH_LIMIT: REAL;
ALARM_COUNT: INT;
END_STRUCT;
END_TYPE
• ENUMERAÇÕES
São utilizadas para definir os diversos status de um valor. É possível
definir faixa de valores segura para as variáveis.
Exemplos
TYPE MODO_DO_DISPOSITIVO:
(INICIALIZANDO, EXECUTANDO, STANDBY, FALHA);
END_TYPE
(* Faixas *)
TYPE
MOTOR_VOLTS: INT(6..+12);
END_TYPE
IMPORTANTE!
• ARRAYS
Constitui-se de um arranjo composto por múltiplos valores dos tipos de
dados elementares ou derivados. Esses arranjos podem ser unidimensionais
(vetores) ou multidimensionais (matrizes).
Exemplo
(* vetor *)
TYPE TANQUE_PRESSURE:
ARRAY [1..20] OF PRESSURE;
END_TYPE
UNIUBE 89
(* Matrizes *)
TYPE PATIO_DE_TANQUES:
ARRAY [1..3, 1..4] OF TANQUE_PRESSURE;
END_TYPE
• INICIALIZAÇÃO DE VARIÁVEIS
Podemos inicializar as variáveis definindo o valor default para um tipo
de dados criado.
Exemplo
TYPE
PRESSURE: REAL := 1.0; (* Default 1 bar *)
END_TYPE
• VARIÁVEIS
As variáveis são associadas somente para endereços explícitos de
hardware (entradas e saídas, por exemplo) nas configurações, recursos
e programas. Dessa forma, cria-se um alto nível de independência
do hardware, proporcionando a reutilização do software. Devem ser
declaradas no início das POU’s (Program Organisation Units):
• Programas
• Blocos de Funções
• Funções
Exemplo
VAR
VELOCIDADE_MEDIA: REAL;
INIBE: BOOL;
END_VAR
Exemplo
VAR_INPUT
SetPoint: REAL;
Max_Count: SINT;
END_VAR
Exemplo
VAR_OUTPUT
Message: STRING(10);
Status: BOOL;
END_VAR
Exemplo
TYPE
MODO_DO_DISPOSITIVO: (INICIALIZANDO, EXECUTANDO,
STANDBY, FALHA):= STANDBY;
END_TYPE
VAR_IN_OUT
AUTO: MODO_DO_DISPOSITIVO;
END_VAR
Exemplo
VAR_GLOBAL
Velocidade_Linha: REAL;
Numero_Job: INT;
END_VAR
Exemplo
VAR_EXTERNAL
Velocidade_Linha: REAL;
Numero_Job: INT;
END_VAR
92 UNIUBE
• X Bit
• B Byte (8 bits)
• W Word (16 bits)
• D Double word (32 bits)
• L Long word (64 bits)
Exemplo
• ATRIBUTOS DE VARIÁVEIS
RETAIN: 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.
Exemplo
VAR_OUT RETAIN
PRODUCAO_ACUMULADA: REAL;
END_VAR
• CONSTANT
Tornam constantes os valores de um grupo de variáveis, isto é, não podem
ser modificadas. Este atributo não pode ser aplicado a variáveis de saída.
Exemplo
IMPORTANTE!
Exemplo 1
Resolução:
TYPE STATUS_DO_MOTOR:
(OPERAÇÃO, DESLIGADO, MANUTENÇÃO, FALHA);
END_TYPE
94 UNIUBE
Exemplo 2
a) equipamento
b) controlador PID
Resolução:
TYPE SENSOR_DE_VAZAO:
STRUCT
INPUT: VAZAO; (* Valor da Vazão *)
STATUS: BOOL; (* Status do sensor *)
CALIBRATION: DATE; (* Data da última calibração *)
LIM_DE_HH: REAL; (* Alarme muito alto *)
LIM_DE_H: REAL; (* Alarme alto *)
LIM_DE_L: REAL; (* Alarme baixo *)
LIM_DE_LL: REAL; (* Alarme muito baixo *)
ALARME: BOOL; (* Status do Alarme *)
END_STRUCT;
END_TYPE
TYPE PID:
STRUCT
INPUT: KP; (* Ganho proporcional do controlador *)
INPUT: TI; (* Tempo integral do controlador *)
INPUT: TD; (* Tempo derivativo do controlador *)
INPUT: SP; (* Set point *)
INPUT: PV; (* Variável de processo *)
INPUT: AUTO_MANUAL; (* Automático/Manual *)
INPUT: ACK; (* Reconhecimento de alarme *)
OUPUT: MV; (* Variável manipulada *)
OUPUT: FEEDBACK; (* Sinal de realimentação *)
ALARME: BOOL; (* Alarme da PV *)
END_STRUCT;
END_TYPE
UNIUBE 95
Atividade 1
Atividade 2
Funções
Exemplo
FUNCTION AVE_REAL:REAL
VAR_INPUT
INPUT1, INPUT2: REAL;
END_VAR
• de entrada;
• de saída;
• internas ou temporárias.
Programas
PROGRAM
<lista de entradas/ saídas e variáveis internas>
<corpo do programa> em qualquer linguagem IEC
END_PROGRAM
Exemplo
PROGRAM Fermentador
VAR_INPUT (* Entradas do programa *)
Codigo_Reagente: INT;
Esteriliza: BOOL;
Periodo_fermentacao: TIME;
END_VAR
VAR_OUTPUT (* Saídas do programa *)
Producao: REAL:
Status:WORD;
END_VAR
VAR (* variáveis internas e blocos de função *)
pG_Loop, Temp_Loop: PID;
Fase: INT := 1;
END_VAR
(*
Corpo não mostrado no programa, mas pode ser ST, FBD, LD, SFC ou IL
*)
END_PROGRAM
UNIUBE 99
Exemplo
Exemplo
Resources
Tasks
• Escalonamento preemptivo
É recomendado para sistemas que devem apresentar comportamento
determinístico no tempo. Nesse sistema, quando o período de uma tarefa
de maior prioridade vence, a tarefa em execução sofre preempção e a
nova tarefa passa a executar imediatamente. Quando a tarefa de maior
prioridade termina, a tarefa anterior volta a ser executada.
Exemplos
Task FASTINTERLOCKS(
INTERVAL:= t#30ms, PRIORITY := 0);
Task LOG_Task (SINGLE:= LogFlag, PRIORITY := 3);
Task CONTROL_Task (INTERVAL:= t#500ms, PRIORITY :=1);
Essa associação deve ser feita com critério, para que a saída do processo
sempre seja modificada dentro de uma janela de tempo, em resposta
à modificações na entrada. Blocos de função não associados a tasks,
executam na mesma task do programa pai.
102 UNIUBE
Configurations
Exemplo de configuração
Configuration unit_l_confi g
VAR_GLOBAL
G_speed_setpoint: REAL;
G_runUp_Time: TIME;
G_Log_Event AT %M100: BOOL;
G_Log_data: ARRAY[1..100] OF INT;
END_VAR
VAR_ACCESS
UNIT1_START: Res1.Turbine1.speed_pv: BOOL
READ_WRITE;
UNIT1_ALARM: Res1.alarm_fl ag: BOOL READ_ONLY;
UNIT1_LOG: G_Log_Event: BOOL READ_WRITE;
UNIT1_DATA: G_Log_Data: ARRAY [1..100] OF INT
READ_ONLY;
END_VAR
END_Configuration
Task Task FB
Task Task
Function
Block
Execution
contras path Figura 11: Relação
entre configuração,
Acess path recursos e tarefas.
104 UNIUBE
SFC
ST IL FBD DL
Textuais Gráficas
Figura 12: Classificação das linguagens LD, FBD, IL e ST segundo norma IEC.
106 UNIUBE
LD %IX23.5
FlipFlop ( S1: = (%IW3 > = %MW3),
ORN Button
ANDN EmStop R: = Varln);
S Motor VarOut: = FlipFlop.Q1;
Exemplo
LD 1 (* Carregue 1 e armazene *)
ST %Q75 (* na saída 75 *)
Instruções gerais
Exemplo
Exemplo
Exemplo
Execução adiada
Exemplo
resultado := (A + B) * (A B)
Exemplo
Outro fato muito importante que deve ser observado pelo programador é
a não utilização de jumps (saltos) dentro de uma seção entre parênteses.
Modificadores
Exemplo
1 Pode representar qualquer tipo simples: SINTY, INT, DATE_AND_TIME, REAL, etc.
Operador Semântica
AND AND booleano
AND( AND adiado
ANDN( Adia a execução e inverte o resultado (NAND adiado)
ANDN Função NAND
Exemplo
Exemplo
LD 300.0
ST LOOP1.SP
LD %IW20
ST LOOP1.PV
CAL LOOP1
UNIUBE 113
Exemplo
Exemplo 3
TEMP
%IW1
AND
S1
AL1 Q1 Start
SR
OR
AL2 R
Reset
Resolução
Exemplo 4
Resolução
ou
LD 1
ST EXEMPLO.AL1
LD 0
ST EXEMPLO.AL2
LD 120
ST EXEMPLO.TEMP
CAL LOOP1
Atividade 3
x1, y1
D
y1 – y2
x2, y2
x1 – x2
REAL x1
REAL x2 BOOL
REAL y1
REAL y2 REAL
REAL MAX
( X 1 − X 2 ) + (Y 1 − Y 2 )
2 2
D=
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
TOP DOWN
Elementos Comuns
Linguagens de Programação
BOTTOM UP
Figura 15: Representação das possibilidades de programação segundo a norma EIC (top-down/
bottom-up).
UNIUBE 119
Atribuição
Exemplo
TYPE Alarm
STRUCT
TimeOn: DATE_AND_TIME;
Dutration: TIME;
END_STRUCT;
END_TYPE
VAR
Rate, A1: REAL;
Count: INT;
Alarm: Alarm;
Alarm2: Alarm;
Profile: ARRAY[1..100] OF REAL;
RTC1: RTC; (* Real time clock *)
END_VAR;
Rate:= 13.1; (* Valor literal i.e. constant *)
Count:= Count +1; (* Expressão simples *)
A1:= LOG(Rate); (* Valor da função *)
120 UNIUBE
Expressões
As expressões geram valores derivados de outras variáveis e constantes.
Expressões devem produzir valores do mesmo tipo de uma variável sendo
atribuída. Como nas linguagens tradicionais, quando os operadores têm a
mesma prioridade, eles são avaliados da esquerda para a direita. Existem
funções equivalentes aos operadores do ST.
Operadores
A seguir, veja alguns operadores básicos da linguagem ST, no Quadro 10.
Descrição Precedência
Expressão com parênteses
Lista de parâmetros de uma função
MAIOR
Exponenciação
Negação
Complemento booleano
Multiplicação
Divisão
Operador de módulo
Soma MENOR
Subtração
Comparação
Igualdade
Desigualdade
E booleano
OU Exclusivo booleano
OU booleano
UNIUBE 121
Exemplo
Area := PI*R*R;
V := K**(W*
T); (* K elevado à potência W
* T)
Volts := Amps*Ohms;
Status := (Valve1 = Open) XOR (Valv1 = Shut);
Forma Geral
InstanciaBlocoFunc(ParamEntrada1 := Expressão1, ParamEntrada2 :=
Expressão2,
PID
REAL SP
REAL PV MV REAL
Modo de
BOOL
controle
(* Primeira invocação *)
Loop1(PV:= Input1.Out + Offset, SP:= 100.0);
(* Invocação Posterior *)
Loop1(PV:= Input.Out + Offset, Modo:= MANUAL);
Loop1.Mode:= MANUAL;
Exemplo
Vazão := Loop1.MV;
Comandos condicionais
• IFTHENELSE
UNIUBE 123
Exemplo
IF Colisão THEN
Velocidade:= 0;
Freios:= ON;
END_IF;
IF (Porta = FECHADO) AND (Bomba = ON) AND (Temp > 200.0) THEN
EstadoControle:= Ativo;
ELSE
EstadoControle:= HOLD;
VelocidadeBomba:= 10.0;
END_IF;
124 UNIUBE
CASE
Exemplo
CASE seletor_velocidade OF
1: velocidade:= 10.0;
2: velocidade:= 20.4;
3: velocidade:= 30.0; Ventilador1 := ON;
4,5: velocidade:= 50; Ventilador2 := ON;
6..10: velocidade:= 60.0; Agua := ON;
ELSE
velocidade:=0; FalhaVelocidade:= TRUE;
END_CASE;
COMANDOS DE REPETIÇÃO
FOR..DO
Sua sintaxe é:
Exemplo
FOR I:=100 TO 1 BY –1 DO
Canal[I].status:= ON;
END_FOR;
WHILE WHILE..DO
Sua sintaxe é:
Exemplo
Sua sintaxe é:
REPEAT
<comandos>
UNTIL <expressão booleana>
END_REPEAT
UNIUBE 127
Exemplo
Tentativas:= 0;
REPEAT
Tentativas: = Tentativas + 1;
CambioMotor1(Modo:= DESABILITADO);
UNTIL (CambioMotor1.Estado = OFF) OR (tentativas > 4)
END_REPEAT
O COMANDO EXIT
Exemplo
Falta:= FALSE;
FOR I:= 1 TO 20 DO
FOR J:= 0 TO 9 DO
IF ListaEquipamentosFalta[I, J] THEN
NumeroFalta:= I*10 + J;
Falta:= TRUE;
EXIT;
END_IF;
END_FOR;
IF Falta THEN EXIT;
END_FOR;
O COMANDO RETURN
Exemplo
FUNCTION_BLOCK TEST_POWER
VAR_INPUT
Corrente, Tensao1, Tensao2, Tensao3: REAL;
END_VAR
VAR_OUTPUT
Sobretensao: BOOL;
END_VAR
Dependências de implementação
Exemplo
Resolução:
Exemplo
O ato de eliminar o
Construa um bloco funcional contendo uma rotina de ruído intermediário
num interruptor
debouncing, ao se ler uma tecla. mecânico.
Resolução
FUNCTION_BLOCK DEBOUNCE
(***Interface Externa ***)
VAR_INPUT
IN: BOOL; (* Valor Default = 0 *)
DB_TIME: TIME:= t#10ms; (* Valor Default = t#10ms *)
130 UNIUBE
END_VAR
END_VAR
(* Corpo da função *)
DB_ON(IN:= IN, PT := DB_TIME);
DB_OFF(IN:= NOT IN, PT:=DB_TIME);
DB_FF(S1:=DB_ON.Q, R := DB_OFF.Q);
OUT:= DB_FF.Q;
ET_OFF:= DB_OFF.ET;
END_FUNCTION_BLOCK
Atividade 4
Atividade 5
Resumo
Referências
FRANCHI, Claiton e Moro; CAMARGO, Valter Luís Arlindo de. Controladores lógicos
programáveis: sistemas discretos. 2. ed. São Paulo: Érica, 2008.
LEWIS, R.W. Programming industrial control systems using IEC 11313. Institution
of Electrical Engineers, 1998.
132 UNIUBE
RIBEIRO, Marco Antônio. Automação industrial. 4. ed. Salvador: Tek Treinamento &
Consultoria Ltda, 1999.
Introdução
Caro(a) aluno(a),
A sabedoria não nos é dada. É preciso descobri-la por nós mesmos, depois de uma
viagem que ninguém nos pode poupar ou fazer por nós.
Marcel Proust
134 UNIUBE
Objetivo
Após o estudo deste capítulo, esperamos que você seja capaz de:
Esquema
3.1 Diagrama de blocos funcionais (function block diagram – FBD)
3.2 Diagrama de Contatos (Ladder Diagram – LD)
3.2.1 Layout de diagramas ladder
Declaração de variáveis
CÓDIGO
(a) (b)
Figura 1: (a) Definição do tipo bloco de função (b) Instâncias de blocos de função.
Notação:
Parâmetro de Parâmetro de
entrada Tipo de bloco funcional saída
DELAY
BOOL RUN
INT N
Tipo do parâmetro
de saída
Tipo do parâmetro
de entrada
Figura 2: Notação de bloco funcional.
136 UNIUBE
Elementos gráficos
Linhas horizontais
e verticais
Interconexão de fluxos
de sinais horizontais +
e verticais
UNIUBE 137
Cruzamento de fluxos de
sinais vertical e horizontal
+ +
Esquinas de fluxo
de sinais
+ + +
+ +
+ +
Fluxo de sinal
Balança 1
Balança
Ajuste de tara Offset Peso ADD
DIV
Peso Médio >
Balança 2 Conector inter
diagramas
Balança
Offset Peso
2.0
Constantes
literais
Balança
DIV
Balança 2
Conector inter
diagramas
Balança
Offset Peso
2.0
Constantes
literais
Bomba1
Chave1
MotorBomba
ChaveBomba
16 NumBomba Pos Inibe Status NOT P1_Sp
ADD
X3 OR
NOT Trip
TEST1 NOT
VA12
Realimentação
Malha1 Carga1
Controlador Simulador
SEG_ORDEM
>=
ERRO_ALVO
0.15
Não existe limite definido pelo padrão quanto ao número de FBDs e sua
complexidade.
:> AND
AdicioneAcido AND EN ENO EN ENO
pH_Alto
VelocBomba
100.0 VelocMotor
Velocidade
Offset
Jump
NívelGas >=
ALARME_GAS
0.15
100.0
< GAS_OK
0.02
Label
ALARME_DE_GAS:
ENABLE AND
SIRENE
MX12
Não existem regras definidas pelo padrão IEC 611313 quanto a avaliação
de rede de FDB, portanto, a ordem de avaliação varia de um produto
para outro. Geralmente o que acontece na maioria das implementações
é que nenhum elemento da rede será executado, a menos que todas as
suas entradas proveniente de outros elementos tenham sido finalizadas.
A avaliação não estará completada até que todas as saídas tenham sido
definidas, e consequentemente a avaliação de uma rede também só
estará concluída quando a avaliação de todos os blocos de função dessa
rede tiver sido concluída. E, finalmente, quando dados são transferidos
de uma rede para outra, todos os valores a serem transferidos devem ter
sido determinados pela mesma avaliação da rede. A Figura 8, a seguir,
representa, de uma forma geral, o sentido de avaliação de uma rede de
blocos de função. Ela mostra que a avaliação é feita da esquerda para a
direita, e de cima para baixo.
142 UNIUBE
Exemplo
Malha1 Carga1
Controlador Simulador
SEG_ORDEM
>=
ERRO_ALVO
0.15
Resolução
VAR
Malha1: Controlador;
Carga1: Simulador;
END_VAR
Bloco de função
DAMPER
BOOL CloseLS
BOOL MoveTimeOut
FBDS
Posição
RS
REQOpen S Q DemandOpen
AND OR
OpenLS IN Q Discrepancy
DemandClose PT
AND
CloseLS
IN
Move TimeOut
Discrepancy
PT
Funcionamento
Bloco de função
Parâmetro Parâmetro
de entrada Tipo de bloco funcional de saída
DELAY
BOOL RUN
INT N
Tipo do parâmetro
de saída
Tipo do parâmetro
de entrada
FUNCTION_BLOCK DELAY
(* Declaração de variáveis *)
VAR_INPUT (* Parâmetros de entrada *)
RUN: BOOL; (* Inicializar para 1 para executar o bloco, i.e.
ativar o atraso *)
XIN: REAL; (* Entrada a ser atrasada *)
N: INT; (* Largura do atraso em número de amostras *)
END_VAR
VAR
X: ARRAY[0..127] OF REAL; (* Buffer circular *)
I, IXIN, IXOUT: INT:= 0;
END_VAR
(* Algoritmo *)
IF RUN THEN
(* Incrementa o índice da entrada *)
(* Armazena o valor de entrada no buffer circular *)
IXIN:= MOD(IXIN+1, 128); X(IXIN):= XIN;
(* Incrementa o índice da saída *)
(* salva valor de saída no buffer circular *)
IXOUT:= MOD(IXOUT+1, 128); XOUT:=X(IXOUT);
ELSE
(* reseta valores dos índices *)
IXIN:= N; IXOUT := 0;
(* saída = entrada *)
XOUT:= XIN;
(* limpa buffer *)
FOR I:= 0 TO N DO
X[I]:= XIN;
END_FOR;
END_IF;
END_FUNCTION_BLOCK
Funcionamento
0 N 127
XIN XIN XIN XIN XIN XIN XIN XIN XIN XIN XIN XIN
IXOUT IXIN
• Biestáveis
Biestável RS
SR OR
S1 Q1
BOOL S1 Q1 BOOL
AND
R
BOOL R
Q1
RS AND
R1 Q1
BOOL S Q1 BOOL
OR
S
BOOL R1
Q1
BiestávelRS SEMÁFORO
FUNCTION_BLOCK SEMA
SEMA VAR_INPUT
CLAIM, RELEASE: BOOL;
END_VAR
BOOL CLAIM BUSY BOOL VAR_OUTPUT
BUSY:BOOL;
END_VAR
BOOL RELEASE VAR
X: BOOL := 0;
END_VAR
BUSY := X;
IF CLAIM THEN
X:= 1;
ELSEIF RELEASE THEN
BUSY := 0; X := 0;
END_IF
END_FUNCTION_BLOCK
• Detetor de bordas
Detectordebordadedescida
R_TRIG FUNCTION_BLOCK F_TRIG
VAR_INPUT
CLK: BOOL;
BOOL CLK Q BOOL END_VAR
VAR_OUTPUT
Q: BOOL;
END_VAR
VAR
M: BOOL := 1;
END_VAR
CLK Q := NOT CLK AND NOT M;
M := NOT CLK;
END_FUNCTION_BLOCK
Q
CLK2
OUT
• Contadores
FUNCTION_BLOCK CTU
Contadorincremental VAR_INPUT
CU: BOOL R_EDGE;
R: BOOL;
CTU PV: INT;
END_VAR
VAR_OUTPUT
BOOL CU Q BOOL Q: BOOL;
CV: INT;
END_VAR
BOOL R IF R THEN
CV := 0;
ELSIF CU AND (CV < PV) THEN
INT PV CV INT CV := CV + 1;
END_IF;
Q := (CV >= PV);
END_FUNCTION_BLOCK
150 UNIUBE
Funcionamento:
Este contador conta pulsos positivos em CU até que um valor máximo
PV seja atingido. Neste instante, o valor de contagem é congelado e a
saída Q é ativada. R reseta o contador e faz Q:= 0.
Contador decremental
FUNCTION_BLOCK CTD
CTD VAR_INPUT
CD: BOOL R_EDGE;
LD: BOOL;
BOOL CD Q BOOL PV: INT;
END_VAR
BOOL LD VAR_OUTPUT
Q: BOOL;
CV: INT;
INT PV CV INT
END_VAR
IF LD THEN
CV := PV;
ELSIF CD AND (CV > PV) THEN
CV := CV 1;
END_IF;
Q := (CV <= 0);
END_FUNCTION_BLOCK
Funcionamento:
Este contador decrementa um contador a cada pulso positivo em CD
até atingir o valor 0. Aí a contagem é interrompida e Q vai para TRUE. A
entrada LOAD (LD) é usada para carregar o valor inicial CV do contador
e fazer Q igual a 0.
FUNCTION_BLOCK CTUD
Contador incremental/decremental
VAR_INPUT
CU, CD: BOOL R_EDGE;
R, LD: BOOL;
CTUD PV: INT;
END_VAR
BOOL CU QU BOOL VAR_OUTPUT
QU, QD : BOOL;
CV: INT;
BOOL CD QD BOOL END_VAR
IF R THEN
BOOL R CV := 0;
ELSIF LD THEN
CV := PV;
BOOL LD ELSIF CU AND (CV< PV) THEN
CV := CV +1;
INT PV CV INT ELSIF CD AND (CV > 0) THEN
CV := CV 1;
END_IF;
QU := (CV >= PV);
QD := (CV <= 0);
END_FUNCTION_BLOCK
UNIUBE 151
Funcionamento:
Incrementa o contador a cada pulso em CU e decrementa a cada pulso
em CD. R reseta o contador. LD carrega um valor inicial. PV é o valor
inicial de contagem. QU sinaliza que o valor máximo foi atingido. QD
indica que o contador chegou a 0.
• Temporizadores
Temporizador de pulso
TP
IN
BOOL IN Q BOOL
PT
TIME PT ET TIME Q
ET
Funcionamento:
Quando a entrada IN vai para 1, a saída Q vai para 1 e permanece neste
estado durante o tempo PT, independente do estado de IN. A saída ET
será incrementada. Enquanto Q é TRUE, o tempo decorrido ET será
incrementado. Ao final do pulso, o tempo decorrido será mantido até o
início do próximo pulso.
Temporizador de pulso
IN
TOM
PT PT
BOOL IN Q BOOL
Q
TIME PT ET TIME
ET
152 UNIUBE
Funcionamento:
Após o início do pulso, a saída ficará em 0 durante o tempo especificado
por PT e depois irá para 1 até que IN volte a zero. Durante a temporização,
a saída ET refletirá o valor do tempo decorrido.
TOF IN
BOOL IN Q BOOL
PT PT
TIME PT ET TIME Q
ET
Funcionamento:
A saída Q é mantida em 1 durante o tempo PT após IN voltar para 0.
Durante a temporização, a saída ET refletirá o valor do tempo decorrido.
Exemplo
CONFIGURATION SYTEM_ABC
VAR_GLOBAL RTC
RTC_Clock1: RTC;
END_VAR BOOL RUN Q BOOL
DATE_AND_TIME PDT CDT DATE_AND_TIME
PROGRAM PROG1
VAR_EXTERNAL
RTC_CLOCK1 : RTC;
END_VAR
***
IF SetClck = True THEN
(* Inicializa relógio *)
RTC_Clock1(RUN := 0);
RTC_Clock1(RUN : =1, PDT := InputTime);
UNIUBE 153
ELSE
(* Atualiza data hora correntes *)
RTC_Clock1(RUN := 1);
CurrentTime:= RTC_Clock1.CDT;
***
Funcionamento:
Inicialmente, o valor inicial do real time clock deve ser feito igual à data
e hora iniciais, com RUN igual a 1, sendo que:
O bloco está sendo executado pela primeira vez.
O bloco havia sido executado logo antes com RUN = 0.
Após isso, o bloco deve ser chamado com RUN = 1 e apresentará
na saída CDT o valor da data e hora correntes. Este bloco deve ser
declarado como uma variável global. Em geral, apenas um bloco é
definido, a menos que se deseje trabalhar com diversos fusos horários.
Integral
FUNCTION_BLOCK INTEGRAL
VAR_INPUT
RUN: BOOL; (* Integra: 1, Mantém: 0)
R1: BOOL; (* Reset *)
XIN: REAL; (* Entrada *)
X0:REAL; (*Valor Inicial *)
CYCLE: TIME; (* Tempo de ciclo *) INTEGRAL
END_VAR BOOL RUN Q BOOL
VAR_OUTPUT
BOOL R1 XOUT REAL
Q: BOOL; (* 1 = Não reset *)
XOUT: REAL; (* Valor integrado *) REAL XIN
END_VAR
REAL X0
Q:= NOT R1;
IF R1 THEN TIME CYCLE
XOUT := X0;
ELSIF RUN THEN
XOUT := XOUT + XIN * TIME_TO_REAL(CYCLE);
END_IF;
END_FUNCTION_BLOCK
154 UNIUBE
Funcionamento:
Integra o valor da entrada XIN no tempo enquanto RUN = TRUE, caso
contrário, mantém o valor da saída. Valor de integração pode ser igualado
a um valor X0, definindo-se a entrada R1 = TRUE. CYCLE define o tempo
entre execuções.
Q = 1 se o bloco não estiver em reset
Aplicação:
Algoritmos PID
Para calcular energia
Para calcular o volume de um tanque
Derivada
FUNCTION_BLOCK DERIVATIVE
VAR_INPUT
RUN: BOOL; (* 0 = Reset *)
XIN: REAL; (* Entrada *)
CYCLE: TIME; (* Tempo de ciclo *)
END_VAR
VAR_OUTPUT
XOUT: REAL; (* Valor da derivada *)
END_VAR
VAR
X1, X2, X3: REAL;
END_VAR
IF RUN THEN
XOUT:= (3.0 * (XIN X3) + (X1 X2) / (10.0 *
TIME_TO_REAL(CYCLE));
X3:= X2; X2 := X1;
X1:= XIN;
ELSE DERIVATE
(* Reset *)
XOUT:= 0.0; X1 := XIN; BOOL RUN XOUT REAL
X2 := XIN; X3 := XIN; REAL XIN
END_IF;
END_FUNCTION_BLOCK TIME CYCLE
UNIUBE 155
Funcionamento:
Produz saída XOUT equivalente à taxa de variação de XIN.
Se RUN = True: a derivada é calculada.
Se RUN = False, a derivada é zero.
Aplicação:
• Algoritmos PID.
• Cálculo de taxa de variação da posição para obter a velocidade.
• Cálculo da taxa de variação de variáveis de processo para validação.
Pid
LEGENDA:
PID
PV – Variável de Processo
BOOL AUTO XOUT REAL
SP – Set Point
REAL PV
XOUT – Variável manipulada
REAL SP
X0 – Ajuste Manual da Saída
REAL X0
REAL KP KP – Ganho proporcional
TR – Tempo de reset
REAL TR
REAL TD TD – Tempo Derivativo
FUNCTION_BLOCK PID
VAR_INPUT
AUTO: BOOL; (* 0 = Manual, 1 = Automático *)
PV: REAL; (* Variável de Processo *)
SP: REAL; (* Set Point *)
X0: REAL; (* Ajuste manual de saída *)
KP: REAL; (* Constante Proporcional *)
TR: REAL; (* Tempo de Reset *)
TD: REAL; (* Tempo derivativo *)
CYCLE: TIME; (* Tempo de ciclo do bloco *)
END_VAR
VAR_OUTPUT
XOUT: REAL; (* Valor da derivada *)
END_VAR
VAR
ERROR: REAL; (* Erro *)
ITERM: INTEGRAL; (* Componente Integral *)
DTERM: DERIVATIVE; (* Componente Derivativo *)
END_VAR
156 UNIUBE
INTEGRAL
AUTO RUN Q
R1 XOUT ITERM_XOUT>
TR
. XIN
X0
CYCLE
X0 .
ERROR
DERIVATE
XIN
X0 2
SP ERROR XOUT PV
+ + KP Process KP
-
ERROR
∫ TR–1 .
>ITERM_XOUT / + XOUT
TR
d/dt TD
>DTERM_XOUT .
TD
• Gerais
Rampa
PID FUNCTION_BLOCK RAMP
VAR_INPUT
BOOL RUN RAMP REAL RUN: BOOL; (* 0 = Reset *)
X0: REAL; (* Valor inicial *)
REAL X0 XOUT REAL
X1: REAL; (* Valor alvo *)
REAL X1 TR: REAL; (* Duração da rampa *)
CYCLE: TIME; (* Tempo de ciclo *)
TIME TR HOLDBACK: BOOL;(* Mantém valor
TIME CYCLE quando
true *)
BOOL HOLDBACK ERROR: REAL; (* Erro para Holdback *)
REAL ERROR PV: REAL; (* Valor da variável medida
*)
REAL PV END_VAR
VAR_OUTPUT
RAMP: BOOL;(* 1 enquanto gera ndo rampa
*)
XOUT: REAL;(*Valor da derivada *)
END_VAR
VAR
XI: REAL; (* Valor intermediário da
rampa *)
T: TIME := T#0s;(* Tempo de geração
da rampa *)
END_VAR
(* Algoritmo *)
UNIUBE 157
IF RUN THEN
(* Mantém saída se ABS(PV XOUT) >
ERRO *)
IF (HOLDBACK AND ABS(PV XOUT)
<
ERROR)
OR NOT HOLDBACK THEN
XOUT := X0 + (X1 X0) *
TIME_TO_REAL(T) /
TIME_TO_REAL(TR);
T:= T + CYCLE;
RAMP := TRUE;
ELSE
(* Não está gerando rampa devido a
Holdback *)
RAMP := FALSE;
XOUT := X0; XI := X0; T := T#0s;
END_IF;
END_FUNCTION_BLOCK
XOUT
PV
X1
Banda +/- Erro
X0
Rampa Congelada
TR
Time
Funcionamento:
Gera uma rampa de referência, em geral usada como set point de
velocidade ou temperatura de uma malha de controle. A saída XOUT
produz uma rampa que parte de um valor inicial X0 e tende a um
valor final X1 em um período de tempo estipulado TR. A função rampa
é ativada, fazendo-se RUN = 1, caso contrário XOUT = 0. Se a flag
HOLDBACK estiver ativada, a função rampa irá ficar congelada enquanto
o valor da PV estiver acima de um certo valor de erro. Isto facilita a
implementação de malhas de controle onde o processo não consegue
seguir uma determinada rampa. Ao invés de deixar o erro crescer
indefinidamente, o set point é mantido, até que a saída do processo
consiga acompanhá-la convenientemente.
158 UNIUBE
FUNCTION_BLOCK HYSTERESIS
VAR_INPUT
XIN1, XIN2: REAL;
EPS: REAL; (* Banda de histerese *)
END_VAR
VAR_OUTPUT
Q: BOOL:= 0; (* Valor inicial é 0 *)
END_VAR
IF Q THEN
IF XIN1 < (XIN2 EPS) THEN HYSTERESIS
Q: = 0;(* XIN1 diminuindo *)
REAL XIN1 Q BOOL
END_IF
ELSEIF XIN1 > (XIN2 + EPS) THEN REAL XIN2
Q:= 1; (* XIN1 aumentando *)
REAL EPS
END_IF
END_FUNCTION_BLOCK
Funcionamento:
Se a entrada XIN1 superar um nível dado XIN2 de um valor dado por
EPS, a saída Q irá para 1. A saída só volta ao nível 0 se XIN1 se tornar
inferior a XIN2 de um valor igual ou superior a EPS.
END_VAR
VAR_OUTPUT
ALARM: BOOL:= 0; (* Erro de relação em
alarme *)
TOTAL_ERR: REAL:= 0; (* Erro integrado *)
END_VAR
VAR
ErrorInt: INTEGRAL; (* Integral do erro *)
TimerOn: TON; (* Temporização de alarme em ON *)
TimerOff: TOF; (* Temporização de alarme em OFF *)
Erro: REAL;
END_VAR
(* Verifica erro entre variáveis de processo *)
Error:= ABS(PV1 RATIO * PV2);
IF RESET THEN
(* zera integrador *)
ErrorInt(R1:= 1; X0:= 0.0);
ELSE
(* Integra o erro *)
ErrorInt(RUN:=1, R1 := 0, XIN:= Error,
CYCLE:=CYCLE);
TOTAL_ERR:= ErrorInt.XOUT;
END_IF;
(* chama temporizadores de alarme se alarmes ativos *)
TimerOn(EN:=Error > TOLERANCE, PT:= TIMON);
TimerOff(EN:=TimerOn.Q, PT:= TIMOFF);
ALARM:= TimerOff.Q;
END_FUNCTION_BLOCK
Comentários
PV1 deve estar sempre a uma razão definida por RATIO de uma outra
variável de processo PV2. Se o valor do erro superar uma tolerância
dada, um temporizador de alarme é disparado. Se o alarme persistir por
um tempo superior a TIMON, a saída ALARM vai para 1. Um segundo
temporizador é disparado para garantir que ALARM ficará em 1 por, pelo
menos, por um tempo TIMOFF. O erro integrado no tempo é mostrado
na saída TOTAL_ERR.
160 UNIUBE
Atividade 1
• Diagrama de relés;
• Diagrama escada;
• Diagrama “ladder”.
PALAVRA
CONTADOR/
FABRICANTE MODELO E.D. S.D. E.A. S.A. BIT AUX. PALAVRA DO
TEMPORIZADOR
SISTEMA
%M1
90-70 %Rx
a
90-30 %I1 %Q1 %AI %AQ1 %R1 x
%M...
GEFANUC 90-20 a a a a a %S x+1
%T1
90-10 %I... %Q... %AI... %AQ... %R... x+2
a
MICRO PARA CADA
%T...
T4:0
I:SLOT. O:SLOT. I:SLOT. O:SLOT.
S: a
PONTO PONTO PONTO PONTO B3:0/0 N7:0
ALLEN R6:0 T4:...
SLC-500 I:1/0 O:1/0 I:3.0 O:3.0 a a
BRADLEY a C5:0
a a a a B3:... N7:...
R6:... a
I:... O:... I:3... O:3....
C5:...
R0 R60 A0 M0
M0
ALTUS AL500 a a ______ ______ a a ______
PARA CADA
R... R... A... M...
II0
T0
a
a
I0.0 O0.0 II3 OU0 F0.0 R0 FW0
FPC101 T31
FESTO a a ou e a a a
FPC103 C0
I... O... IU0 OU1 F15.15 R64 FW15
a
a
C15
IU3
Princípios básicos
Notação
chave2
contato normalmente bobina
fechado
contato normalmente
aberto
Linhas de
potência
Fluxo de alimentação
Figura 10: Exemplo de um programa ladder simples composto de 3 contatos e uma bobina.
CONTATOS
Borne de entrada Variável associada
NA NF
Ativa
Energizado 1 Fechado Aberto
True
Passiva
Dezenergizado 0 Aberto Fechado
False
Resumidamente...
Podemos dizer que quando o contato associado a uma entrada física
(borne) for usado para acionar ou energizar uma bobina, este deverá
ser do mesmo tipo do contato externo que aciona seu respectivo ponto
no módulo de entrada. Por outro lado, o contato que for usado para
desacionar ou desenergizar uma bobina deve ser de tipo contrário ao
contato externo que o aciona. A seguir no Quadro 4, é mostrado um
quadro elucidativo a esse respeito.
164 UNIUBE
CONTATOS
Borne de entrada Variável associada
NA NF
Ativa
Energizado 1 Fechado Aberto
True
Passiva
Desenergizado 0 Aberto Fechado
False
SIMBOLOGIA
Linhas horizontais
(fluxo de potência)
CONTATOS
Contato NA
Contato NF
BOBINAS
Bobina ( )
Bobina Negada
É setada para o oposto do estado da linha de ( )
potência
Bobina SET
É setada quando é alimentada e resetada pela (S)
instrução RESET
Bobina RESET
A bobina passa para o estado OFF e permanece ( R)
neste estado até ser setada pela instrução SET
Exemplo
Switch
Switch Trigger
t
P
Trigger
t
Scan
Resolução
VENT
001 END
|:0/0 0:1/15
000 L
Liga Lâmpada
|:1/1
Desliga
B3:1/15
Status
001 END
000 L
Desliga Liga Fim de curso 1 Motor
|:3/14 |:3/13
Motor
001 END
Expressão lógica Motor := NOT Desliga AND ((liga AND NOT Fim_de_Curso1) OR
((Fim_de_Curso2 OR Motor) AND Sensor_de_Temperatuta))
Exemplo
B
C
D
A
E
Resolução
Expressão lógica
A = ( B.C.D ) + ( B.C.E ) + ( B.C.F )
|:0/0 |:1/1 |:1/12 0:1/0
000
B C D A
|:0/0 |:1/1 |:1/3
B C E
|:0/0 |:1/1 |:1/4
B C F
001 END
UNIUBE 169
Expressão lógica
=A B.D. ( C + E + F )
B
|:0/0
001 END
Atividade 2
E1
E2
S1
E3
S2
E4
Temporizadores e contadores
Timer: Timer:
Time Base:
DN: Time Base: DN:
Preset: Preset:
Accum Accum
170 UNIUBE
Contadordecrescente Rearmedetemporizador/Contador
CTU
Count Down:
CU
RES
Counter:
Preset:
Accum: DN:
Instruções de comparação
Igual a (EQU) Diferente (NEQ)
EQU NEQ
EQUAL NOT EQUAL
SOURCE A: SOURCE A:
SOURCE B: SOURCE B:
LES LEQ
LESS THAM LESS THAM OR EQL
SOURCE A: SOURCE A:
SOURCE B: SOURCE B:
GRT GEQ
GREATER THAM GRTR THAN OR EQL
SOURCE A: SOURCE A:
SOURCE B: SOURCE B:
MEG LIM
MASKED EQUAL
LIMIT TEST
SOURCE A: LOW LIM:
SOURCE B: TEST:
COMPARE HIGHLIM:
• Carry (C): Energizado se for gerado um carry (vai 1); caso contrário,
desenergizado;
• Overflow (V): Indica que o resultado de uma instrução matemática
é muito grande para o destino;
• Zero (Z): Indica um valor 0 depois de uma instrução matemática,
movimentação ou lógica;
• Sinal (S): Indica um valor negativo (menor que 0) após uma instrução
matemática, movimentação ou lógica.
Os valores dos parâmetros identificados por Low Limit, Test e High Limit
podem ser programados com endereços de palavra ou constantes do
programa, observando-se as seguintes restrições:
UNIUBE 173
Instruções matemáticas
Soma Subtração
ADD SUB
SOURCE A: SOURCE A:
SOURCE B: SOURCE B:
DEST: DEST:
Multiplicação Divisão
MUL DIV
SOURCE A: SOURCE A:
SOURCE B: SOURCE B:
DEST: DEST:
174 UNIUBE
Negação Decodificação
NEG DCD
SOURCE SOURCE
DEST: DEST:
SQR
CLR SQUARE ROAT:
DEST: SOURCE
DEST:
Decodificação (DCD)
MOV MVM
MOVE MASKED MOVE
SOURCE: SOURCE:
DEST: MASK:
DEST:
E (AND) OU (OR)
AND OR
BITWISE AND: BITWISE INCLUSIVE OR
SOURCE A SOURCE A:
SOURCE B:
SOURCE B:
DEST:
DEST:
XOR
BITWISE EXCLUSIVE OR NOT
SOURCE A SOURCE
SOURCE B: DEST:
DEST:
• Carry (C): energizado se for gerado um carry (vai 1); caso contrário,
desenergizado;
• Overflow (V): indica que o resultado de uma instrução matemática é
muito grande para o destino;
• Zero (Z): indica um valor 0 depois de uma instrução matemática,
movimentação ou lógica;
• Sinal (S): indica um valor negativo (menor que 0) após uma instrução
matemática, movimentação ou lógica.
Registrador matemático
BSL BSR
EN EN
BIT SHIFT LEFT BIT SHIFT RIGHT
FILE FILE
DN DN
CONTROL CONTROL
BIT ADRESS: BIT ADRESS:
LENGHT LENGHT
UNIUBE 177
15 13 11 10 00
EN DN ER UL NÃO UTILIZADO
Atenção!
13) e erro (ER 11) também são resetados. A instrução invalida todos
os bits que ultrapassem o último bit na série, até o próximo limite de
palavra.
• Bit Address: é o endereço do bit fonte que a instrução insere no local
do primeiro bit da série BSL ou do último bit da série BSR.
• Lenght: é o número de bits na série, até 2047 bits. O valor 0 faz com
que o bit de entrada seja transferido para o bit UL.
Um valor que ultrapasse o fim do arquivo de programa faz com que ocorra
uma falha grave de runtime. Se o valor do comprimento for alterado pelo
programa de aplicação, certifique-se que este valor seja válido.
INHIB_2 MTR_2
MOTOR_CONT
SW1
P SWART MOTOR
SW1
P STOP
FORWARD
BATCHCNT CYCLE
1000.0
Figura 13: Controle de execução do programa em Ladder .
No exemplo anterior, vemos que toda vez que CHECK passar de 0 para
1, o bloco MAX será executado uma única vez. Dessa forma, podemos
utilizar os blocos lógicos, matemáticos e de comparação para controlar
o fluxo do programa em ladder e criar lógicas complexas de controle dos
blocos funcionais.
Jumps e Labels
LIGA
BORBULHA
OXIGÊNIO
BORBULHA:
BORB_EN BORBULHADOR
Exemplo
A1 A2 A3 X1
A2 AND
A3
OR
A1 OR X1 A3
B1
C1 C2
C1 AND
C2
1000.0 1000.0
• IF..
• THEN
• CASE
• FOR
• WHILE
• REPEAT
UNIUBE 183
Atividade 3
MAN1
FD1
Limpa Alarme
FD3
LED Alarme Incêndio
FD2
ALARME
184 UNIUBE
Step 1 N FILL
Transition 1
Step 2 S Empty
Transition 2
Step 3
Atenção!!!
É possível o uso de sequências alternativas e mesmo paralelas, tais
como as normalmente usadas em aplicações de bateladas. Por exemplo,
uma sequência é usada para o processo primário, a segunda para a
monitoração das restrições operacionais.
Estrutura de um chart
1 Descrição:
Start 1. Etapa inicial
2 2. Transição
Chave Liga = 1 3
3. Condição de transição
Fill
4. Etapa
Reator Cheio = 1 5. Timer1.ET = T#1h:
Stir representa uma
variável de saída de um
Timer1.ET = T#1h
temporizador externo.
Drain
Chave liga = 0
Stop
186 UNIUBE
Start Descrição:
1. Divergência OU
Chave Liga = 1
2. Transições nomeadas
Fill
2 definidas em outra
parte do SFC
Tran2 Tran3
1 3. Convergência OU
Stir Filter
4. Derivação com
Tran4 Tran5
3 seta direcional
Drain
Stop
Sequências simultâneas
Descrição:
Start
1. Divergência AND
Chave Liga = 1
2. Convergência AND
Fill 1
Tran1
Tran2 Tran3
Drain PressCks
2
UNIUBE 187
Etapa
Cada etapa pode ter um bloco de ação associado. O bloco de ação pode ser
definido utilizando-se de qualquer uma das linguagens padronizadas pela
norma IEC 611313 (ST, FBD, LD ou IL). Uma etapa pode estar ativada ou
desativada em um dado momento e representamos sua ativação colocando
uma marca em seu interior (flag EtapaNome.X = 1). O estado global de um
sistema em um dado momento é dado pelo conjunto de etapas ativadas.
EtapaNome
ETAPA ATIVA
Exemplo
Drain.X = 1
Descrição:
Start
1
Chave Liga = 1 1. Conexão direta com a flag.X
de estado ativo
Fill Válvula1
Tran1
Flag de tempo decorrido: onde cada estado tem associado uma variável
de tempo decorrido do tipo TIME. Esta variável computa quanto tempo
o estado está ativo, é zerada toda vez que o estado é ativado e retém o
seu último valor quando o estado é desativado.
Sintaxe: <EtapaNome>.T
UNIUBE 189
Ação
Ação
SFC
Start N PrompOperator ChaveLiga
ChaveLiga = 1
Fill P OpenValves
N StartPump
Tran1
MainPump := ON;
Pump1 := ON;
Stir_Loop
%IX30 X10 AL1 Pump1
PID
1000.0 SP OUT Stir_Drive
Pump1 V1 AuxSw1 AuxSw1
Stir_Speed PV
Pump2
1500.0 GT
OverSpeed
Stir_Speed
As rungs são envoltas em uma caixa retangular A rede FBD deve ser circundada por um box
com o nome da ação colocada no seu topo. retangular tendo o nome da ação em seu topo.
Se uma ação for definida para ser executada
continuamente, ela pode conter loops PID ou
outro tipo de loop realimentado de controle.
UNIUBE 191
Uma variável modificada por uma diretiva ST pode Uma variável modificada por uma
ser usada como a variável indicadora da ação. instrução IL pode ser usada como a
variável indicadora da ação.
As ações não têm seu uso restrito à SFC, e também podem ser usadas
nas linguagens FBD e LD como no exemplo, a seguir:
192 UNIUBE
Exemplo
N ShutDrain V1
Exemplo
%IX10 AND
N ShutDrain V1 AllShut
Enable
Qualificadores de ações
Observação
StepA.X
StepA N Action1
Action1
T1
T1
Set e Reset
Step1.X
Step1 S Action1
T1
S1
Action1
StepN.X
StepN R Action1
TN
TN
Step1.X
L
Step1 Action1 T1
T#4s
T1
Action1
4s
Step1.X
T1
Action1
4s
Step1.X
Step1 D
Action1 T1
T#4s
T1 Action1
4s
Step1.X
T1
Action1
P – Ação pulsada
Step1.X
Step1 P Action1 T1
T1
Action1
A ação é executada uma única vez após o estado ter sido ativado. Pelo
padrão, a ação deve ser executada ainda uma segunda vez; entretanto,
isto irá depender da implementação.
196 UNIUBE
Step1.X
Step1 SD
Action1
T#4s
StepN.X
T1
Action1
4s
TN
StepN.X
Step1.X
Step1 DS Action1
T#4s StepN.X
T1
Action1
4s
Step1.X
StepN R Action1
StepN.X
TN
Action1
4s
UNIUBE 197
Step1.X
Step1 SL
Action1 StepN.X
T#4s
T1
Action1
4s
Step1.X
StepN R Action1
StepN.X
TN
Action1
Exemplos
ACTION CONTING:
COUNT:= COUNT + 1;
END_ACTION
Imaginemos que esta ação está associada a uma etapa e se chama A1.
Dessa forma, toda vez que A1 é ativado, COUNT é incrementado de 1. Toda
vez que A1 é desativado, COUNT é incrementado uma segunda vez.
Para executar um bloco uma única vez, devemos ter acesso ao qualificador
da ação Q.
MotoOn P CountUp
Execução de um SFC
1) Duas etapas não podem ser diretamente ligadas. Elas devem ser
separadas por uma transição.
2) Duas transições nunca podem estar diretamente ligadas, elas devem
ser sempre separadas por uma etapa.
3) Se uma transição a partir de uma etapa leva a duas ou mais etapas,
então estas etapas iniciam sequências simultâneas. Sequências
simultâneas continuam independentemente.
4) Quando projetando um SFC, o tempo para realizar uma transição,
desativar as etapas anteriores e ativar as etapas posteriores, deve
ser considerado nulo.
200 UNIUBE
Step1
1 Step1
2 1
Importante!!
A melhor maneira de se evitar ambiguidades é usar expressões
mutuamente exclusivas para assegurar que apenas um dos ramos
estará ativado. Esta alternativa tem como benefício extra estar conforme
o padrão IEC 848.
Drill
*
Job=4 AND RDY NOT(Job=4) AND RDY
Turn Grind
Salto de sequência
LineStart LineRdy
TrNextPack
OilPress < 3.0 OilPress > 3.0
StartOil Label
OilPump Glue
Filter Check
Filter=0 (*On*)
TrCheckOk TrReWork
EndBatch
LineReady
Loop: É permitido um salto para uma etapa anterior, o que configura um loop.
202 UNIUBE
Convergência simultânea
TrGo
OnLine SelecAuto
Estados
Descrição
do forno
OCIOSO O forno está frio e não está em uso. O forno não contém lingotes
VAZIO O forno está sendo aquecido para a temperatura de operação
AQUECENDO O forno contém pelo menos um lingote e está com a porta fechada
PRONTO O forno está carregado e na temperatura de operação
O processo de tratamento do processo está completo e os lingotes
TRATAMENTO
podem ser descarregados
TERMINADO O forno está esfriando da sua temperatura de trabalho
RESFRIANDO O forno está frio e não está em uso, não contém lingotes
UNIUBE 203
CARREGAMENTO APLICA_RAMPA_TEMP
MANTEM_TEMP
PRONTO
SFCs podem ser definidos em modo texto. A utilidade seria ter uma
notação canônica para transportar programas entre CLPs.
INITIAL_STEP Start:
Prompt_Operator(N, StartSwitch); // Etapa inicial
END_STEP
STEP FILL:
OpenValves(P); // Ações associadas a etapa
StartPump(N);
END_STEP
UNIUBE 205
ACTION StartPump:
MainPump:= ON; // Comandos em ST ou IL
Pump1:= ON; END_ACTION
ActionName(Qualifier, Timed _qualifier, indicator variable); // Ação
Exemplo
TrGo
OnLine SelecAuto
Transições e Receptividades
1
Exemplo
Texto estruturado
Heat
Qualquer expressão ST que resulte em um valor
booleano pode ser usada para descrever uma Temp1>2000) AND
(Press > = 20)
condição de transição. Cool
Diagrama ladder
Conector de transição
Heat
Usamos um conector de transição >TransNewBatch
para colocar a condição de transição
Cool
em outra parte do diagrama.
Ready NewJob Enable
TransNewBatch>
UNIUBE 207
Transição nomeada
Step1
Uma transição pode receber um nome e ser definida em
outra parte do diagrama usando uma das linguagens Trans1
IEC: ST, FBD, LD ou IL.
Step2
TRANSITION Trans1:
:= AB1 AND CX3 OR CX5 AND (TX3 >= 100.2);
END_TRANSITION
IN1 AND
Uma transição pode ser definida grafica- EN1 OR
mente usando FBD. TransGo
IN2 AND
EN2
END_TRANSITION
Transição definida usando LD
END_TRANSITION
208 UNIUBE
TRANSITION Trans21:
LD %IX21
AND EX10
AND FDIR21
END_TRANSITION
Atividade 4
Em que:
Implementações
O atendimento completo às exigências da norma IEC 611313 não
é simples. Por esta razão, a norma permite a implementação parcial
em vários aspectos. Isto cobre o número de linguagens, funções e
blocos funcionais suportados. Também dá uma liberdade maior para os
fabricantes, mas os usuários devem ficar atentos durante o processo de
seleção. Novas versões podem também ter um nível de implementação
dramaticamente alto.
Fique atento!!!
Pois estas são características não definidas pela norma: é um ponto onde
os fabricantes podem se diferenciar.
• formação do programador;
• problema a resolver;
• nível da descrição do problema;
• estrutura do sistema de controle;
• interface com outras pessoas/departamentos.
Resumo
Chegamos ao final de mais uma etapa. Neste capítulo, realizamos
estudos abordando as linguagens de programação gráfica definidas no
padrão IEC (Diagrama de Blocos Funcionais, Diagrama de Contatos e
Cartas de Funções Sequenciais).
UNIUBE 211
Referências
BRYAN, L. A. & BRYAN, E.A. Programmable controllers: theory and implementation,
2. ed. United States of America: Industrial Text Company, 1997.
FRANCHI, Claiton Moro; CAMARGO, Valter Luís Arlindo de. Controladores lógicos
programáveis: sistemas discretos. 2. ed. São Paulo: Érica, 2008.
LEWIS, R.W. Programming industrial control systems using IEC 1131-3. Institution of
Electrical Engineers, 1998.
Marcelo Lucas
Florisvaldo Cardozo Bomfim Junior
Introdução
Caro(a) aluno(a).
Esquema
4.1 Controlador PID e suas Combinações
4.2 Ações Básicas de Controle
4.3 Modos de controle
4.4 Ação de controle on-off (liga-desliga) sem histerese
4.5 Ação de Controle on-off de duas posições com histere
4.6 Controle Prorporcional
4.6.1 Banda Prorporcional
4.6.2 Erro de offset
4.7 Controle Integral
4.7.1 Saturação da ação integral (Reset windup)
4.8 Controle Derivativo
4.9 Controlador Proporcional + Integral – PI
4.10 Controlador Proporcional + Derivativo – PD
4.11 Controlador Proporcional + integral + derivativo – PID
4.12 Estruturas de controladores PIDs industriais
4.12.1 PID com estrutura de blocos mista
4.12.2 Expressão Analítica
4.12.3 PID com estrutura de blocos paralela diagrama de blocos
4.12.4 PID com estrutura de blocos série
4.13 Controladores digitais
4.14 Variações Estruturais em Função da Alteração do SP
4.15 Técnicas, Projeto e Sintonia de Controladores PID
4.15.1 Sintonia por tentativa e erro
4.15.2 Métodos de Ziegler-Nichols (continuius cycling method)
4.15.3 Método baseado em modelos
4.15.4 Método de Ziegler e Nichols (Process Reaction Curve Method)
4.15.5 Método Semiempírico Cohen e Coon (C-C)
4.15.6 Projeto baseado no critério da integral do erro
4.15.7 Parâmetros Sugeridos para Projeto
4.15.8 Método da síntese direta
4.15.9 Controlador Baseado no Tempo de Decaimento Finito
4.15.10 Processos com tempo morto
4.15.11 Projeto de Controle Baseado no Método IMC
4.16 Determinação do tipo de algoritmo de controle
4.17 Conclusões
216 UNIUBE
Exemplo
Solenóide
S 127 V
Q
Alimentação
C h
QO
Observe que, neste tipo de ação, vai existir sempre um intervalo entre o
comando “liga” e o comando “desliga”. Este intervalo diferencial faz com
que a saída do controlador mantenha seu valor presente até que o sinal
de erro tenha se movido ligeiramente além do valor zero.
Valor desejado
ON
OFF
– 0 +
Desvio
Figura 2: Intervalo entre as ações de liga-desliga.
Fonte: Acervo dos autores.
“Off-set”
Cm(t)
m ( t ) K C e(t ) + P0 Equação 1
=
UNIUBE 221
no domínio S, temos:
M ( s ) K C E ( s ) + P0 Equação 2
=
E ( s ) = rsp ( s ) – Cm ( s ) Equação 3
Em que
1.6
1.4
1.2
MV e Erro
0.8
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7 8 9 10
tempo
Figura 5: Saída do modo de controle integral em função do erro.
Fonte: Acervo dos autores.
222 UNIUBE
M (s)
C (s)
G= = K C Equação 4
E (s)
M ( s ) 100
C (s)
G= =
E ( s ) PB Equação 5
Isto corresponde a:
K C é dado por:
∆M ∆M MÁX
KC
= =
∆C ∆CMÁX Equação 7
UNIUBE 223
Banda
Proporcional
Umax
US
Umin
emin 0 emax e
10
=
xp
=
xp
%
75 12
= 200
xp
50 9
25 6
Pe
0 3
3 6 9 12 15 psi
0 25 50 75 100%
Variação
de Carga
(distúrbio) tempo
“Offset”
Variável
Controlada Valor desejado
tempo
Variável
Controlada
Uma observação importante que deve ser feita é de que o valor do erro
offset depende diretamente da banda proporcional, tornando assim cada
vez menor à medida que a banda proporcional diminuiu. No entanto, à
medida que a banda proporcional diminuiu, aumenta a possibilidade do
aparecimento de oscilações, sendo, portanto, importante estar atento
quando escolher a banda proporcional de controle.
que muitas vezes pode ser contornado pelo operador que, de tempos
em tempos, manualmente, faz o reajuste do controle eliminando este
erro. Se, entretanto, isto ocorrer com frequência, a ação de correção do
operador torna-se impraticável, sendo necessário o uso de outro método
de controle.
t
m(t ) K i ∫ e(t )dt + P0 Equação 8
=
0
UNIUBE 227
Em que
1
Ki = Equação 9
Ti
6
MV e Erro
0
0 1 2 3 4 5 6 7 8 9 10
tempo
M (s) Ki 1 Equação 10
GC (=
s) = =
E (s) s Ti s
de(t )
m(t ) K d
= + P0 Equação 11
dt
Em que
8
6
5
6
MV e Erro
MV e Erro
4 5
4
3
3
2
1
1
0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
tempo tempo
(a) (b)
Figura 10: Saída do modo de controle derivativo em função do (a) erro em degrau e (b) erro em
rampa.
Fonte: Acervo dos autores.
230 UNIUBE
Função de Transferência
M (s)
(s)
GC= = K= dS Td S Equação 12
E (s)
t
KC
Ti ∫0
m(t ) =
K C e(t ) + e(t )dt + P0 Equação 13
Em que
6
MV e Erro
0
0 1 2 3 4 5 6 7 8 9 10
tempo
Função de Transferência
1 K C (Ti s + 1)
GC ( s ) = K C 1 + = Equação 14
Ti S Ti s
de(t )
m(t ) =
K c e(t ) + K cTd + P0 Equação 13
dt
AÇÃO PROPORCIONAL + DERIVTIVO (PD)
10
erro
MV
9
6
MV e Erro
0
0 1 2 3 4 5 6 7 8 9 10
tempo
Figura 12: Saída do modo de controle PD em função do erro.
Fonte: Acervo dos autores.
232 UNIUBE
Função de Transferência
c (s)
G= K c (1 + Td s ) Equação 14
Em que
M (s) Ki
Gc ( s ) = = KC + + K d s Equação 17
E (s) s
1 1
Gc ( s )= K C 1 + + Td s Equação 19
Ti s a Td s + 1
ou
1 T s +1
G= ( s ) K C 1 + d
c Equação 20
Ti s a Td s + 1
Diagrama de Blocos
PV D
1 de(t )
k p e(t ) + ∫ e(t ).dt + TD
S (t ) = Equação 21
TR dt
Ou
1
S ( s ) = k p 1 + + TD .S .E ( s ) Equação 22
TR .S
Esse controlador é denominado não interativo pelo fato das ações integral
e derivativa não interferirem na proporcional, mas pode-se notar que o
ganho proporcional interfere nas demais ações.
236 UNIUBE
Diagrama de Blocos
PV
D
Expressão Analítica
1 de(t )
S (t ) =
k p .e(t ) +
TR ∫ e(t ).dt + TD
dt
Equação 23
Ou
1
S ( s ) = k p + + TD .s .E ( s ) Equação 24
TR .S
Diagrama de Blocos
Saída para MV
SP Erro
P I D
PV
Expressão Analítica
T 1 de(t )
S (t ) =k p 1 + D .e(t ) + ∫ e(t ).dt + TD Equação 25
TR TR dt
Ou
T 1
S ( s ) = k p 1 + D + + TD .S .E ( s ) Equação 26
TR TR .S
ou ainda,
1
S (s) =
k p 1 + . (TD .S + 1) .E ( s ) Equação 27
TR .S
PARÂMETROS
1
CONTROLADOR M ( s ) = 2 + + 0,1 ⋅ s ⋅ E ( s )
s
KP TI TD
PID paralelo 2 1 0,1
PID misto 2 2 0,05
PID série 1,95 1,95 0,052
1 dPV(t)
S(t) = k p ⋅ e(t) +
TR ∫ e(t) ⋅ dt + TD
dt Equação 28
1 dPV(t)
TR ∫
S(t)
= k p e(t) + e(t) ⋅ dt + TD Equação 29
dt
T 1 dPV(t)
TR ∫
S(t)
= k p 1 + D ⋅ e(t) + e(t) ⋅ dt + TD Equação 30
TR dt
1 dPV(t)
S(t) = k p ⋅ PV(t) +
TR ∫ e(t) ⋅ dt + TD
dt
Equação 31
240 UNIUBE
1 dPV(t)
S(t) k p PV(t) +
=
TR ∫ e(t) ⋅ dt + TD
dt
Equação 32
T 1 dPV(t)
TR ∫
S(t)
= k p 1 + D ⋅ PV(t) + e(t) ⋅ dt + TD Equação 33
TR dt
Controlador Parâmetros
KC Ti Td
1
PI 0, 45K U ΤU ---
1, 2
1
PID 0,6K U 0,5ΤU ΤU
8
Fonte: Acervo dos autores.
Kpe –q s
Gp ( s ) =
τ s +1 Equação 34
(Com tempo morto ou FOPDT)
1.5
0.5 kp
0
q T
0 5 10 15 20
tempo (s)
Controlador Parâmetros
KC Ti Td
τ
P --- ---
K Pq
0,9τ q
PI ---
K Pq 0, 3
1, 2τ
PID 2q 0,5q
K Pq
o número de polos a mais que zeros sejam apenas dois, pois, assim
pode existir raiz que não cruze o eixo imaginário. Muitos pesquisadores
tentaram superar estas desvantagens apresentadas pelos métodos de
Z-N. Por exemplo, Hang et al. (1991) sugeriu alguns refinamentos para
a fórmula heurística de Ziegler-Nichols, que dão algumas melhorias
ao desempenho do controlador de PID. São utilizados o tempo morto
normalizado e ganho normalizado do processo para modificar os
parâmetros inicialmente fixados pela fórmula de Z-N. Eles também
introduzem um peso ao termo proporcional para reduzir o overshoot.
Procedimento de teste
Retroação
DM
Entrada Controlador Processo Saída
S
R(s) C(s)
+_ Gc(s) Gp(s)
Retroação
Figura 18: Sistema de controle: situação de exemplo.
Fonte: Acervo dos autores.
R(s)
= G (s)
C (s)
DM C
t t
Figura 19: Sistema de controle: situação de exemplo.
Fonte: Acervo dos autores.
k p e −qs
Gp (s) = Equação 35
τp s + 1
UNIUBE 249
DCss
63%DCss
28%DCss s
q t28% t63% t
Figura 20: Sistema de controle: situação de exemplo.
Fonte: Acervo dos autores.
∆css
kp = =τ 1.5 ( t 63% − t 28% )
∆M p
t q
q 1.5 t 28% − 63% a=
= 3 τp
Parâmetros
Controlador
Kc τi τd
P
1 a
1 +
____ ____
K pa 3
1 a
PI 0,9 +
K pa 12
30 + 3a
q
9 + 20a
____
1 a 32 + 6a 4
PID 1,333 + q q
K pa 4 9 + 20a 11 + 2a
Fonte: Acervo dos autores.
250 UNIUBE
1 a
kckp
= 0,9 + Equação 37
a 12
0,9
k c=
kp + 0, 083 Equação 38
a
0
0 1 2 3 4 a 5
Figura 21: Ganho de malha.
Fonte: Acervo dos autores.
UNIUBE 251
0.4
0.3
0.2
c(t)
0.1
0
0 50 100 150 200 250 300
t
Figura 22: Resposta temporal oscilatória típica.
Fonte: Acervo dos autores.
EXPLICANDO MELHOR
Resumidamente...
Ysp
Minimizar ISE
k c , τ I , τd
∂ ISE
=0
∂ kc
∂ ISE
=0
∂ τI
∂ ISE
=0
∂ τd
k p e −q s
Gp (s) = Equação 39
τps + 1
q
a= Equação 40
τp
254 UNIUBE
1
( s ) k c 1 +
Controlador Proporcional-Integral (PI) G c=
τIs
1
( s ) k c 1 + + τd s
Controlador Proporcional-Integral-Derivativo (PID) G c =
τIs
1
Controlador Proporcional-Integral (PI) Gc ( s) = k c 1 +
τ I s
a1 0.758 0.586
k p k c = a1a b1
b1 – 0.861 – 0.916
τi 1 a2 1.020 1.030
=
τ p a 2 + b2a b2 – 0.323 – 0.165
1
Controlador Proporcional-Integral-Derivativo (PID) Gc ( s) = k c 1 + + τ d s
τI s
a1 1.086 0.965
k p k c = a1a b1
b1 0.869 – 0.855
τi 1 a2 0.740 0.796
=
τ p a 2 + b2a b2 0.130 – 0.147
τd a3 0.348 0.308
= a 3a b 3
τp b3 0.914 0.9292
• processos autorregulados;
• processos não autorregulados
• e os processos com grande tempo morto.
Retroação
C(s)
1 R(s)
GC = Equação 42
G P (s) 1 − C(s)
R(s)
C (s) = R (s)
Equação 43
ou
C (s)
G(s)
= = 1
R(s) Equação 44
kc
Gc (s) = Equação 45
GP
kc
G P (s)
C(s) G P (s) kc
= = Equação 46
R(s) 1 + k c G (s) 1 + k c
P
G P (s)
1
Consideremos uma função de transferência de 1a ordem G p ( s ) = ,
τs + 1
em que τ é a constante de tempo em malha fechada mostrado na Figura
24, a seguir.
UNIUBE 259
R
Cperfeito
1
0.8
0.4
0.2
0
0 10 20 30 40 50 60
Figura 24: Resposta de um sistema de 1ª ordem com tempo finito de
decaimento.
Fonte: Acervo dos autores.
1
1 τs + 1
Gc (s) =
G P (s) 1 − 1
τs + 1
1 1
Gc (s) =
G P (s) τcs
e −qcs
G (s) = Equação 47
τc s + 1
e −qcs
1 τcs + 1
Equação 48
Gc (s) =
GP e −qcs
1 − τ s + 1
c
1 e −qcs
Gc (s) = −qc s
GP τcs + 1 − e Equação 49
Este controlador não tem a forma de PID padrão, mas o termo 1 − e −qc s
no denominador representa uma compensação de tempo morto.
( )
Aproximando o termo de tempo morto do denominador e −qc s por uma
expansão em série de Taylor de 1a ordem (proposta de Smith), temos:
1 e −qcs
Gc (s) =
G τcs + 1 − (1 − qcs ) Equação 51
simplificando
1 e −qcs
Gc (s) = Equação 52
G ( τ c + qc ) s
C 1
= (para processos sem tempo morto) Equação 53
R d τd s + 1
UNIUBE 261
C 1
e
- qd .s
= (para processo com tempo morto) Equação 54
R d τd s + 1
1
G=
C (s) K C 1 + + Τd s Equação 55
Τi s
D(s)
CM(s) _
+
GM(s) GM(s)
CM(s)
C(s) – CM(s)
Retroação
Figura 25: Diagrama de blocos de uma malha de controle acrescida de dois blocos com o modelo
aproximado do processo.
Fonte: Acervo dos autores.
D(s)
Entrada Saída
R(s) Controlador Processo
E M(s) C(s)
+
+ _ + _ G*c(s) Gp(s) +
CM(s)
_+
GM(s)
C(s) – CM(s)
Modelo do Processo
Figura 26: Diagrama de blocos equivalente.
Fonte: Acervo dos autores.
G *C
GC =
1 + G *C G M Equação 56
=C(s) G*C (s).G P (s).R(s) + 1 − G*C (s).G M (s) D(s) Equação 58
G M = G M + .G M −
Equação 59
UNIUBE 265
1
G*C = Equação 60
G M−
CM(s)
_+
GM(s)
C(s) – CM(s)
Modelo do Processo
f
G*C = Equação 62
G M−
266 UNIUBE
KP τ
GP ( s ) = τ -----
τs + 1 K P τd
K P −q . s 2τ + q q τ.q
GP ( s ) = e τ+
τs + 1 K P ( 2 τd + q ) 2 2τ + q
KP τ1 + τ2 τ 1 ∗τ 2
GP ( s ) = τ1 + τ 2
(τ 1s + 1) + (τ 2 s + 1) K P τd τ1 + τ 2
KP τ +τ τ 1 ∗τ 2
GP ( s ) = e −q . s 1 2 τ1 + τ 2
(τ 1s + 1) + (τ 2 s + 1) K P (τ d + q ) τ1 + τ 2
KP 2.ζ.τ τ
G P (s) = 2.ζ.τ
2 2
τ s + 2τζs + 1 K P τd 2.ζ
KP 2.ζ.τ τ
G P (s) = e −q.s 2.ζ.τ
2 2
τ s + 2τζs + 1 K P ( τd + q ) 2.ζ
Fonte: Acervo dos autores.
UNIUBE 267
1 2 5 10 20
t
q
Algoritmo Malha múltipla Controle PID Controle PI Controle P Controle
Especial • cascata ou PID puro ou PI Liga/Desliga
• Smith • etc
• IRM
4.17 Conclusão
Resumo
Marcelo Lucas
Introdução
A globalização da economia mundial provocou mudanças na
organização das empresas, e os impactos ocorridos podem ser
comparados aos da Revolução Industrial.
• maior rentabilidade;
• maior segurança;
• maior qualidade;
• e empresa mais competitiva.
Objetivos
• compreender os conceitos envolvidos nos sistemas utilizados
na supervisão e controle dos processos industriais;
• identificar as características dos sistemas de supervisão;
• analisar os conceitos básicos sobre redes de comunicação
de dados;
• reconhecer os principais componentes de sistemas de
supervisão.
274 UNIUBE
Esquema
5.1 Evolução dos sistemas de controle
5.2 Classificação dos sistemas de controle quanto a operação
5.2.1 Controle local
5.2.2 Controle centralizado
5.2.3 Controle distribuído
5.3 Tipos sistemas de controle digital – DCS
5.3.1 Sistema de aquisição de dados (DAS – Data Acquisition
System)
5.3.2 Controle de setpoint (SPC – Setpoint Control)
5.4 Controle Digital Direto (DDC Direct Digital Control)
5.4.1 Sistemas Digitais de Controle Distribuído (SDCS –
Distributed Control Digital System)
5.4.2 Subsistema de aquisição de dados e controle
5.4.3 Subsistema de monitoração e operação
5.4.4 Estação de operação
5.4.5 Subsistema de supervisão e otimização
5.4.6 Subsistema de comunicação
5.4.7 Sistemas de supervisão, controle e aquisição de dados
5.5 Principais aplicativos do software de supervisão
5.6 Tipos de processamento
5.7 Tipos de estações
5.8 Automação industrial: estratégias e considerações importante
5.8.1 A evolução da automação
5.8.2 Arquiteturas típicas de sistemas de automação
5.8.3 Rede de informação
5.8.4 Rede de controle
5.9 Equipamento de integração de redes
5.10 Arquitetura de rede única
5.11 Redes proprietárias
UNIUBE 275
Tradutores Atuadores
Planta
Parâmetros Estados
IMPORTANTE!
Exemplo
Em particular,
o padrão IEEE
802, para LANs,
são os mais bem
CONTROLADOR CONTROLADOR CONTROLADOR
sucedidos. ESCRAVO ESCRAVO ESCRAVO
CANAIS DIGITAIS E
Figura 2: Sistema de Controle APLICAÇÃO
ANALÓGICOS
centralizado tradicional
a multicomputador.
Fonte: Adaptado de Almeida
e Albuquerque (2003).
UNIUBE 285
CANAIS DIGITAIS E
ANALÓGICOS
APLICAÇÃO
CONTROLADOR
ESCRAVO
TRANSDUTOR ATUADOR
CANAIS DIGITAIS
E ANALÓGICOS
APLICAÇÃO
PROCESSO
DEMULTIPLEXADOR
ADC
COMPUTADOR
A solução com SDCD nos oferece o melhor dos dois sistemas que
o precederam. Podemos ter o controle das funções tão
independente quanto desejarmos, permitindo escolha por meio da
relação custo/benefício. Além disso, é possível monitorar e ajustar
as funções de controle de forma centralizada facilitando a atuação
do operador.
294 UNIUBE
Subsistemas de um SDCD
É aqui onde se concentra a grande parte das funções de Interface (nível 3).
Este subsistema trata especificamente da Interface HomemMáquina (IHM).
Podemos definir IHM como sendo qualquer dispositivo que fornece ao
operador um maior controle e um melhor nível de informação sobre a
condição de operação da planta, reduzindo o seu esforço através da
simplificação dos procedimentos operacionais.
5.4.1.1 Teclado
Teclas de controle
• transferência de modo de operação manual/automático;
• ajuste do setpoint ;
• fechamento de loop em cascata.
Teclas de operação
• impressão de relatórios;
• conhecimento de alarmes;
• mudança de telas.
Teclas de manutenção/configuração
• parar/ativar uma estação de controle e aquisição;
• calibração de variáveis durante a manutenção;
• teclas de configuração do sistema.
5.4.4.3 Impressora
Um conjunto
A via de dados inclui todo o hardware e software de regras para
transmissão de
(protocolo) necessários ao transporte dos dados, dados entre dois
dispositivos. O
incluindo a verificação de erros na transmissão protocolo determina
e fornece o meio pelo qual os elementos trocam o tipo de verificação
de erro a ser
informações e comandos. Basicamente, é usado, o método
de compressão
um barramento de comunicação, onde um de dados, se o
dispositivo enviador
microprocessador controla seu uso. A rede de indicará o término do
envio da mensagem
comunicação de dados é uma das áreas mais e como o dispositivo
complexas da tecnologia dos computadores. recebedor indicará
que recebeu a
O aspecto mais relevante desse subsistema é mensagem. Há
uma variedade
o barramento de dados e como as funções de de protocolos
padrões que os
software e hardware controlam este barramento. programadores
podem escolher.
Cada um tem
vantagens e
302 UNIUBE
ERP (Enterprise
• redução de gastos com a montagem de Resource
painéis de controle e projeto; Planning)
• Funções de supervisão
Incluem todas as funções de monitoramento do processo, tais como:
sinóticos animados, gráficos de tendência de variáveis analógicas e
digitais, relatórios em vídeo e impressos etc.
• Funções de operação
Atualmente, os sistemas SCADA substituíram, com vantagem, as funções
da mesa de controle. As funções de operação incluem: ligar e desligar
equipamentos e sequência de equipamentos, operação de malhas PID,
mudança de modo de operação de equipamentos etc.
• Funções de controle
− Controle DDC
Alguns sistemas SCADA possuem uma linguagem de programação que
permite definir diretamente ações de controle, sem depender de um
nível intermediário de controle representado por remotas inteligentes.
Todas as operações de entrada e saída são executadas diretamente
através de cartões de I/O ligados diretamente ao barramento do micro,
ou por remotas mais simples. Os dados são amostrados, um algoritmo de
controle como um controlador PID, por exemplo, é executado, e a saída
é aplicada ao processo, ou seja, ocorre uma ação direta sobre a variável
manipulada. Isto, no entanto, só é possível quando a velocidade do
processo assim o permite. Em alguns casos, requisitos de confiabilidade
tornam desaconselhável este tipo de solução.
− Controle Supervisório
Nesta classe de sistemas, os algoritmos de controle são executados
pela unidade terminal remota (RTU), mas os setpoints para as malhas
de controle são calculados dinamicamente pelo sistema de supervisão
de acordo com o comportamento global do processo. Esta arquitetura
possui maior confiabilidade que os sistemas DDC e traz a vantagem de
atuar sobre um grande número de malhas de controle simultaneamente,
enquanto o operador geralmente só consegue atuar malha a malha com
um sistema convencional.
306 UNIUBE
Base de dados
Telas de Sinóticos
Desenhos estáticos
São desenhos que assumem o papel de fundo ou máscara da tela.
Representam desenhos sem nenhuma mudança de cor, texto etc. A
tela de operação pode ser criada por meio de um software de desenho
que pode ser um programa proprietário, disponível no próprio software,
ou importar arquivos de desenho de softwares como Corel Draw, Paint
Brush, entre outros.
Desenhos dinâmicos
Os desenhos estáticos são complementados com desenhos dinâmicos que
recebem a animação, que pode assumir os tipos: mudança de cor, mudança
de texto, mudança de posição, valor numérico e ajuste de valores.
Tela de alarmes
Tabela alfanumérica contendo os alarmes ativos, seus estados,
reconhecidos ou não, a condição de alarme, crítico ou não, horário de
ativação, reconhecimento e desativação.
Receita (RECIPE)
Receita é um conjunto de valores, podendo assumir um novo conjunto
de setpoints, ou programas, que podem ser enviados rapidamente ao
processo.
Relatórios
Têm por finalidade documentar todas as informações relativas ao
processo, consideradas importantes para posterior análise.
Drivers de comunicação
O driver de comunicação em um supervisório representa um software
que faz a interface de comunicação entre o software de supervisão e o
equipamento a ser conectado, ou seja, o driver compatibiliza a linguagem
entre o supervisor e o equipamento a ser controlado. Os drivers do
software de supervisão trabalham em uma estrutura mestre-escravo,
ou seja: o microcomputador pede uma informação e o equipamento
responde.
310 UNIUBE
IMPORTANTE!
IMPORTANTE!
GESTÃO
Gerenciamento dos Recursos da
Nível 1 Empresa, Vendas, Finanças, Custos
(Nível 5: Empresa)
Dados corporativos
PLANEJAMENTO
Logística
Nível 4 Programação/Planejamento/Controle
de Produção e Suprimentos
(Nível 4: Fábrica)
Dados de produção
Nível 3 OTIMIZAÇÃO
Controle do Processo Produtivo
(Nível 3: Fábrica)
condutores
tipo CLPs, as remotas de aquisição de dados. Nessa que servem de
interconexão entre
rede, pode acontecer que alguns equipamentos dispositivos. (2)
Uma topologia de
de nível 3, como sistemas PIMS e MÊS, possam rede no qual os
sinais enviados
estar interligados também a este barramento. Um por um dispositivo
dos padrões de rede mais utilizados é o Ethernet são recebidos por
todos os demais
100Base-T. dispositivos.
Somente aqueles
dispositivos que
reconhecem
Nessa arquitetura, a rede de informação serve como seu endereço
na informação
elo de comunicação entre as estações clientes transmitida acessam
e os servidores e, através da rede de controle, a informação.
IMPORTANTE!
Servidor (Server)
Computador ou dispositivo em uma rede que gerencia recursos de rede.
Por exemplo, um servidor de arquivos é um computador e um dispositivo
de armazenagem de dados dedicados ao armazenamento de arquivos.
Qualquer usuário, em uma rede, pode armazenar arquivos sobre um
servidor. Um servidor de impressão é um computador que gerencia
uma ou mais impressoras, e um servidor de rede é um computador que
gerencia o tráfego de rede. Um servidor de banco de dados é um sistema
computacional que processa requisições da base de dados. Servidores
são sempre dedicados, significando que eles não realizam outras tarefas
além das tarefas de servidor. Em sistemas operacionais multiprocessados,
entretanto, um único computador pode executar vários programas por vez.
Um servidor, neste caso, pode referenciar ao programa que está gerenciando
recursos ou ao computador inteiro.
320 UNIUBE
Cliente/Servidor (Client/Server)
Arquitetura de processamento de informações e aplicações dentro de
uma rede local (LAN), departamental ou corporativa, que divide a carga
de trabalho entre equipamentos de mesa, ou desktops (“estações de
trabalho”) e um ou mais computadores com mais recursos de processamento
(“servidores”). O princípio dessa arquitetura é o compartilhamento de
capacidade e dispositivos.
Repetidor (Repeater)
O repetidor é um dispositivo que propaga, regenera e amplifica sinais
elétricos em uma conexão de dados, para estender o alcance da
transmissão, sem fazer decisões de roteamento ou de seleção de
pacotes. Ele não é inteligente, apenas copia os dados de uma rede para
outra, fazendo com que as duas redes se comportem logicamente como
uma rede única. São usados, por exemplo, para satisfazer restrições
quanto ao comprimento do cabo.
UNIUBE 321
Ponte (Bridge)
São dispositivos para conectar dois segmentos de rede e realizar
transferência de dados entre eles baseada no campo endereço de destino
do cabeçalho do pacote. A diferença entre um bridge e um roteador é
que o bridge constrói uma tabela na qual identifica os endereços de
destino locais e remotos. Sabendo quais endereços são locais e quais
são remotos, ele passa para a rede remota somente os pacotes remotos
dentre aqueles provenientes da rede local e, para a rede local, somente
os pacotes locais dentre os que vêm da rede remota, reduzindo o tráfego
da rede. Assim, podemos dizer que o Bridge segmenta uma rede local
em subredes com o objetivo de reduzir tráfego ou converter diferentes
padrões de camadas de enlace, Ethernet para Token Ring, por exemplo.
Roteador (Router)
Dispositivo responsável pelo encaminhamento de pacotes de comunicação
em uma rede ou entre redes. Tipicamente, uma empresa, ao se conectar
à Internet, deverá adquirir um roteador para conectar sua rede local (LAN)
ao ponto de presença mais próximo. Os roteadores são usados para
interligar duas redes que possuem a mesma camada de transporte, mas
camadas de rede diferentes. Eles decidem sobre qual caminho o tráfego
de informações (controle e dados) deve seguir.
322 UNIUBE
Comporta (Gateway)
Link entre redes ou dispositivo utilizado para promover a interligação entre
redes e equipamentos de fabricantes diferentes. Quando duas redes não
falam a mesma língua, isto é, não usam os mesmos protocolos, um
gateway é usado para realizar conversação entre estas redes e usado
para dar acesso à rede a um dispositivo não OSI.
Switch
Conceitualmente, é um dispositivo mecânico ou eletrônico que direciona
o fluxo de sinais elétricos ou ópticos de um lado para outro, com relação
a uma chave comutadora liga/desliga. Portanto, os switches são os
dispositivos de mais amplo espectro de utilização, para segmentar a
rede a baixo custo, sem necessidade de roteamento. Sua maior limitação
está em não permitir broadcasting entre segmentos.
Outra topologia que pode ser utilizada é a junção das redes de controle e
informação, formando uma rede única; entretanto, essa topologia possui
algumas limitações. Na rede de controle, o tráfego possui características
diferentes com relação à rede de informação, caracterizando-se por
mensagens curtas e muito frequentes.
Resumo
Referências