Você está na página 1de 336

Automação industrial I

Marcelo Lucas

Florisvaldo Cardozo Bomfim Junior


© 2018 by Universidade de Uberaba

Todos os direitos reservados. Nenhuma parte desta publicação poderá ser


reproduzida ou transmitida de qualquer modo ou por qualquer outro meio, eletrônico
ou mecânico, incluindo fotocópia, gravação ou qualquer outro tipo de sistema de
armazenamento e transmissão de informação, sem prévia autorização, por escrito,
da Universidade de Uberaba.

Universidade de Uberaba

Reitor
Marcelo Palmério

Pró-Reitor de Educação a Distância


Fernando César Marra e Silva

Coordenação de Graduação a Distância


Sílvia Denise dos Santos Bisinotto

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

Catalogação elaborada pelo Setor de Referência da Biblioteca Central UNIUBE

Lucas, Marcelo.
L962a Automação industrial I / Marcelo Lucas, Florisvaldo
Cardozo Bomfim Junior – Uberaba: Universidade de Uberaba,
2017.
336 p. : il.

Programa de Educação a Distância – Universidade de Uberaba.


Inclui bibliografia.
ISBN 978-85-7777-668-9

1. Controladores programáveis. 2. Automação. I. Universidade


de Uberaba. Programa de Educação a Distância. II. Título.

CDD 629.895
Sobre os autores
Marcelo Lucas

Mestrado em Engenharia Elétrica pela Escola de Engenharia de São Carlos


(EESC/USP). Especialização em Sistemas de Telecomunicações pela
Universidade de Uberaba (Uniube). Aperfeiçoamento em Processamento
na Indústria Sucroalcooleira pelas Faculdades Associadas de Uberaba
(FAZU). Graduação em Engenharia Elétrica pelo Instituto Nacional de
Telecomunicações (Inatel). Coordenador do curso de Especialização em
Sistemas Elétricos de Potência da Universidade de Uberaba (Uniube).
Gestor do curso de Engenharia Elétrica da Universidade de Uberaba
(Uniube). Professor do curso de Engenharia Elétrica da Universidade de
Uberaba (Uniube). Consultor técnico da empresa SIC – Sistemas Inteligentes
de Controle Ltda.

Florisvaldo Cardozo Bomfim Junior

Mestre em Engenharia Elétrica na área de Inteligência Artificial pela


Universidade Federal de Uberlândia (UFU), Especialista em Geração de
Energia pela Faculdade Associadas de Uberaba (FAZU) e Bacharel em
Engenharia Elétrica e de Computação, ambos com ênfase em Automação
Industrial pela Universidade de Uberaba (Uniube). Professor titular da
Universidade de Uberaba (Uniube), nas áreas de Inteligência Artificial,
Automação Industrial, Sistema de Controle, Projetos Elétricos e Análise de
Circuitos.
Sumário
Apresentação........................................................................................IX

Capítulo 1 Automação e controladores lógicos programáveis............... 1


1.1 A evolução do controle de processos industriais.......................................................2
1.1.1 Evolução histórica da automatização de controle industriais...........................3
1.2 Tipos de variáveis de processo...............................................................................11
1.2.1 Processo contínuo.........................................................................................12
1.2.1 Processo discreto...........................................................................................12
1.3 Sistema de controle.................................................................................................13
1.4 Áreas de aplicação dos controladores programáveis.............................................23
1.5 Controlador lógico programável versus painel de relés..........................................24
1.6 Computador industrial versus controlador programável.........................................25
1.7 Perspectivas futuras................................................................................................27
1.8 Principais elementos em acionamentos elétricos...................................................56

Capítulo 2 Estudo do padrão IEC 611131-1 aplicado à programação


dos controladores programáveis: linguagens textuais....... 59
2.1 Especificação do CLP..............................................................................................64
2.2 Comunicação...........................................................................................................66
2.3 Métodos de troca de dados.....................................................................................72
2.4 Linguagens de programação...................................................................................79
2.5 Técnicas de programação.......................................................................................81
2.6 Norma ou padrão IEC 61131-3................................................................................83
2.6.1 Elementos comuns.........................................................................................86
2.6.2 Unidades organizacionais de programas......................................................95
2.7 Linguagens de programação definidas pela IEC 61131-3....................................105

Capítulo 3 Estudo padrão IEC 61131-1 aplicado à programação dos


controladores programáveis: linguagens gráficas............ 133
3.1 Diagrama de blocos funcionais (Function Block Diagram FBD)...........................134
3.2 Diagrama de Contatos (Ladder Diagram – LD)....................................................160
3.2.1 Layout de diagramas ladder........................................................................183

Capítulo 4 Estudo de controladores industriais.................................. 213


4.1 Controlador de PID e suas Combinações.............................................................216
4.2 Ações Básicas de Controle....................................................................................216
4.3 Modos de controle.................................................................................................217
4.4 Ação de controle on-off (liga-desliga) sem histerese............................................217
4.5 Ação de controle on-off de duas posições com histere........................................218
4.6 Ação Proporcional – P...........................................................................................220
4.6.1 Banda Porporcional......................................................................................222
4.6.2 Erro de offset................................................................................................224
4.7 Ação Integral – I.....................................................................................................226
4.7.1 Saturação da ação integral (Reset windup)................................................228
4.8 Controlador Derivativo – D....................................................................................228
4.9 Controlador Proporcional + Integral – PI...............................................................230
4.10 Controlador Proporcional + Derivativo – PD.......................................................231
4.11 Controlador Proporcional + integral + derivativo – PID.......................................232
4.12 Estruturas de controladores PIDs industriais......................................................234
4.12.1 PID com estrutura de blocos mista............................................................235
4.12.2 Expressão Analítica....................................................................................235
4.12.3 PID com estrutura de blocos paralela diagrama de blocos.......................236
4.12.4 PID com estrutura de blocos série.............................................................237
4.13 Controladores digitais..........................................................................................238
4.14 Variações Estruturais em Função da Alteração do SP.......................................239
4.15 Técnicas projeto e Sintonia de Controladores PID.............................................240
4.15.1 Sintonia por tentativa e erro.......................................................................241
4.15.2 Métodos de Ziegler-Nichols (continuius cycling method)..........................242
4.15.3 Método baseado em modelos...................................................................244
4.15.4 Método de Ziegler e Nichols (Process Reaction Curve Method)...................246
4.15.5 Método Semiempírico Cohen e Coon (C-C).............................................247
4.15.6 Projeto baseado no critério da integral do erro.........................................251
4.15.7 Parâmetros Sugeridos para Projeto..........................................................253
4.15.8 Método da síntese direta...........................................................................256
4.15.9 Controlador Baseado no Tempo de Decaimento Finito.............................258
4.15.10 Processos com tempo morto...................................................................259
4.15.11 Projeto de Controle Baseado no Método IMC.........................................262
4.16 Determinação do tipo de algortimo de controle..................................................267
4.16.1 Para processos estáveis............................................................................267
4.16.2 Para processos instáveis...........................................................................267
4.17 Conclusões..........................................................................................................267

Capítulo 5 Visão geral dos sistemas de supervisão e controle.......... 271


5.1 Evolução dos sistemas de controle.......................................................................275
5.2 Classificação dos sistemas de controle quanto a operação.................................276
5.2.1 Controle local...............................................................................................280
5.2.2 Controle centralizado...................................................................................280
5.2.3 Controle distribuído......................................................................................286
5.3 Tipos sistemas de controle digital – dcs................................................................287
5.3.1 Sistema de aquisição de dados (das – data acquisition system)................288
5.3.2 Controle de setpoint (SPC – Setpoint Control)...........................................289
5.4 Controle Digital Direto (DDC Direct Digital Control)..............................................291
5.4.1 Sistemas Digitais de Controle Distribuído (SDCS – Distributed Control
Digital System).............................................................................................293
5.4.2 Subsistema de aquisição de dados e controle............................................296
5.4.3 Subsistema de monitoração e operação.....................................................297
5.4.4 Estação de operação...................................................................................298
5.4.5 Subsistema de supervisão e otimização.....................................................300
5.4.6 Subsistema de comunicação.......................................................................301
5.4.7 Sistemas de supervisão, controle e aquisição de dados............................302
5.5 Principais aplicativos do software de supervisão..................................................306
5.6 Tipos de processamento........................................................................................311
5.7 Tipos de estações..................................................................................................311
5.8 Automação industrial: estratégias e considerações importante............................313
5.8.1 A evolução da automação...........................................................................315
5.8.2 Arquiteturas típicas de sistemas de automação.........................................316
5.8.3 Rede de informação....................................................................................318
5.8.4 Rede de controle.........................................................................................319
5.9 Equipamento de integração de redes...................................................................320
5.10 Arquitetura de rede única.....................................................................................322
5.11 Redes proprietárias..............................................................................................323
Apresentação
Prezado(a) aluno(a)

Você esta recebendo o livro referente à disciplina Automação Industrial I,


do curso de Engenharia Elétrica, na modalidade de estudos a distância.
Os capítulos abordados serão os seguintes:

• Capítulo 1: Automação e controladores lógicos programáveis.


• Capítulo 2: Estudo do padrão IEC 611311 aplicado à programação
dos controladores programáveis: linguagens textuais.
• Capítulo 3: Estudo do padrão IEC 611311 aplicado à programação
dos controladores programáveis: linguagens gráficas.
• Capítulo 4: Estudo de controladores industriais.
• Capítulo 5: Visão geral dos sistemas de supervisão e controle.

No primeiro capítulo, “Automação e controladores lógicos programáveis”,


você entrará em contato com situações-problema contextualizadas,
envolvidas no projeto de sistemas de controle discreto. Ser-lhe-ão
apresentadas a aplicação dos principais dispositivos utilizados na
automação, além do estado da arte em que se encontra tal segmento.

O segundo capítulo abordará os conceitos da linguagem de programação


textual de Controladores Lógicos Programáveis (CLP). O desempenho
dessas linguagens é equivalente ao desempenho da linguagem ladder e
assemelha-se muito com as linguagens de programação utilizadas nas
programações de softwares e aplicativos. Em nossos estudos, iremos
trabalhar com a linguagem texto estruturado, semelhante à linguagem
de programação Pascal.
X UNIUBE

No terceiro capítulo, contemplaremos as linguagens de programação


gráfica dos CLP: diagrama de contatos (Ladder); diagrama de blocos
funcionais e cartas de funções sequenciais. Cada uma dessas linguagens
possui sua particularidade, sendo que alguns recursos são exclusivos
dentro de cada uma. É interessante o conhecimento de todas, pois
podemos nos deparar com qualquer uma delas no âmbito industrial.

No quarto capítulo, serão abordados os conceitos sobre controladores


industriais, mais especificamente o controlador Promocional, Integral e
Devivarivo (PID). Inicialmente será feita uma breva descrição da ações
básicas de integral e da ação derivativa, além da combinação entre elas.
Num segundo momento, serão tratadas as estruturas implementadas
nesses controladores, com foco na equações que definem seu
comportamento. Finalmente, serão abordadas as técnicas de sintonia
desses elementos de controle e dos critérios de desempenho.

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.

Como já é de seu conhecimento, nós, da equipe didático-pedagógica,


estamos sempre empenhados na produção do material, com a intenção
de que os seus objetivos sejam integralmente alcançados, esperando
de você o envolvimento necessário para o sucesso em seus estudos,
ampliando, gradativamente, os conhecimentos necessários à sua formação
de engenheiro eletricista.

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.

De modo geral, esperamos que este trabalho contribua de forma


significativa para seu enriquecimento referente ao conhecimento
e aplicação dos principais dispositivos utilizados na automação,
além de expor o estado da arte em que se encontra tal segmento.
2 UNIUBE

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

1.1 A evolução do controle de processos industriais

A competitividade dos mercados mundiais imposta pela globalização


tem obrigado as empresas a uma constante busca pela melhoria na
qualidade e produtividade. Isto leva a uma busca incessante por soluções
tecnológicas para melhorar qualitativamente e quantitativamente os
processos produtivos. Para atender a estas necessidades de aumento de
produtividade, flexibilidade e redução de custos, as organizações estão
se reorganizando. Por outro lado, é necessário que os equipamentos
tenham condições de se adequarem rapidamente às alterações de
configurações exigidas para produzirem diversos modelos de produtos,
com pequenas alterações entre si. E, neste contexto, a automação surge
como uma das principais soluções.

Na atualidade, tornou-se parte da rotina industrial o emprego de


máquinas automáticas que substituem a força muscular do homem e,
ainda, possuem a capacidade de decidir e corrigir seus erros. Nesse
sentido, podemos afirmar que a automação industrial é parte integrante
do cotidiano de nossa sociedade.
UNIUBE 3

Mas o que vem a ser automação industrial?

De forma bem simples, podemos conceituá-la como um conjunto de


dispositivos eletro/eletrônicos e mecânicos que controlam seu próprio
funcionamento, quase sem a intervenção humana.

Veja bem, a automação é diferente de mecanização. A mecanização


consiste simplesmente no uso de máquinas para realizar um trabalho,
substituindo assim o esforço físico do homem. Já a automação possibilita
executar o trabalho por meio de máquinas controladas automaticamente.

Quando observamos um processo de fabricação Controlador

percebemos que este possui um fluxo de material, Dispositivo


responsável pelo
energia ou ambos. O fluxo de material ou energia acionamento
é manipulado sob o comando de um controlador, dos atuadores,
segundo uma
cujo objetivo é manter a variável de processo em ação previamente
determinada pelo
um valor desejado; este valor é chamado de ponto usuário do sistema
de controle.
de ajuste ou setpoint.

1.1.1 Evolução histórica da automatização de controle industriais

A necessidade de controlar um processo fabril é muito antiga. Existe


desde a Revolução Industrial quando o homem passou a manufaturar
bens para atender as suas necessidades. Da manufatura, nasce a ideia
da sistematização dos procedimentos envolvidos na produção de bens
e serviços. Surge, então, o conceito de processo manufaturado em que
os procedimentos são ordenados e podem ser agrupados em etapas ou
fases distintas.

A automação só ganhou destaque na sociedade quando o sistema de


produção agrário e artesanal transformou-se em industrial, a partir da
segunda metade do século XVIII, inicialmente na Inglaterra.
4 UNIUBE

Os sistemas inteiramente automáticos surgiram no início do século XX.


Entretanto, bem antes disso foram inventados dispositivos simples e
semiautomáticos. Inicialmente, a principal característica do processo
de manufatura era que o homem era o responsável pelo controle e
pela execução de todos os procedimentos envolvidos no processo. O
problema estava na baixa produtividade e na característica da qualidade
estar fortemente dependente do ser humano.

Com o surgimento da máquina a vapor, começa a


Controle
automático surgir a ideia de se usar máquinas para executar
É quando etapas do sistema produtivo. Entretanto, as
uma parte, ou
a totalidade, primeiras máquinas a vapor não tinham elementos
das funções
do operador é
de controle automático. Eram ainda dependentes
realizada por um do homem para o controle de suas ações, mas já
equipamento
sem interferência representavam um avanço em termos de força e
humana.
velocidade em relação ao ser humano.

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

fluxo normal de vapor normal fluxo restrito de vapor

Figura 1: Máquina de vapor de Watt.


UNIUBE 5

SAIBA MAIS

James Watt

Inventor da moderna máquina a vapor, que possibilitou a revolução industrial,


James Watt foi mundialmente reconhecido quando seu nome foi dado à
unidade de potência de energia (watt).

James Watt nasceu em Greenock, Escócia, em 19 de janeiro de 1736. Aos


19 anos, foi para Londres fazer aprendizado de mecânico especializado
na construção de instrumentos, mas em menos de um ano regressou à
Escócia, por motivos de saúde. Por não possuir o certificado de aprendiz,
teve dificuldades em montar uma oficina em Glasgow. Em 1757, no entanto,
conseguiu ser escolhido para fabricar e reparar instrumentos matemáticos
da Universidade de Glasgow.
(Fonte: http://pessoal.educacional.com.br/up/50280001/2756140/t1324.asp
em 27/02/2009.)

Condições e características do Estado Regulador:

• uma sociedade nacional ordena em bases capitalistas, isto é, em que as


principais riquezas sejam produzidas como bens privados dos proprietários
dos meios de produção, por meio da força de trabalho de outros homens,
contratados para produzir mercadorias (bens e serviços) e gerar lucros para
os proprietários. Ao conjunto dos elementos envolvidos nesse processo,
e não só às riquezas produzidas, chamamos de capital e, aos seus
proprietários, que dominam todo o processo, chamamos de capitalistas.
Trata-se, pois, de uma sociedade desigualmente dividida pela propriedade
e não apenas pelo trabalho, isto é, dividida entre capital e trabalho.
• um Estado que exerça a sua jurisdição política sobre o território e a
sociedade de uma nação com a finalidade de garantir esta ordem social,
especialmente as suas condições de existência (capital e trabalho).
• o desenvolvimento de um forte movimento ético-político contrario a esta
ordem social e política, marcadas pela luta de classes.
• o desenvolvimento de teorias e estratégias sociopolíticas reformadoras
do capitalismo e do Estado.
• a produção de um excedente econômico crescente e que possa ser
socialmente redistribuído sem ameaçar a ordem capitalista.
6 UNIUBE

Com o advento da eletricidade, surgem os controles


Microprocessador
elétricos e eletrônicos que são mais versáteis e
Também chamado
de processador dinâmicos que os controles mecânicos. Com o
ou chip. Pastilha
geralmente de advento dos microprocessadores, o comando
silício gravada com
microcircuitos, numérico (CN) evoluiu para o Comando Numérico
contendo milhões
de transistores. É
Computadorizado (CNC).
o “coração” de um
computador.
Uma das primeiras máquinas-ferramentas que
se conhece é o Torno de abrir roscas, inventado
em 1568, pelo engenheiro francês Jacques Benson. Mesmo sendo
primitivo, abria roscas com razoável precisão. A máquina-ferramenta foi
aprimorada até a concepção do comando numérico (CN). As máquinas
comandadas numericamente viabilizam a fabricação de peças com
geometria complexa por meio do recurso de programação eletrônica
das sequências de usinagem.

Simultaneamente às máquinas de controle numérico, foram desenvolvidos


os robôs, que possuem o mesmo princípio de controle das máquinas-
ferramentas CNC, mas sua estrutura mecânica é bastante diferente.

Nos anos 1950, surge a ideia da computação gráfica interativa: forma de


entrada de dados por meio de símbolos gráficos com respostas em tempo
real. No MIT (Instituto Tecnológico de Massachusetts) foram produzidas
figuras simples por meio da interface de tubo de raios catódicos (idêntico
ao tubo de imagem de um televisor) com um computador. Em 1959, a
GM começou a explorar a computação gráfica no processo de fabricação
de seus automóveis.

A década de 1960 foi o período mais crítico das pesquisas na área de


computação gráfica interativa. Naquela época, uma grande inovação
tecnológica foi o desenvolvimento do sistema sketchpad, que tornou possível
UNIUBE 7

criar desenhos e alterações de objetos de maneira


CAD
interativa, utilizando como interface o computador.
Do inglês Computer
No início dessa década, o termo CAD começou Aided Design ou
“Projeto Auxiliado
a ser utilizado para indicar os sistemas gráficos por Computador”)
orientados para projetos.

Na década de 1970 , as pesquisas desenvolvidas na década anterior


começaram a dar resultados. Setores governamentais e industriais
passaram a reconhecer a importância da computação gráfica como forma
de aumentar a produtividade.

Na década de 80, as pesquisas visaram à integração e/ou automatização


dos diversos elementos de projeto e manufatura com o objetivo de criar
a fábrica do futuro. O foco das pesquisas foi expandir os sistemas CAD/
CAM (Projeto e Manufatura Auxiliados por Computador). Nesse período
também surgiu o modelamento geométrico tridimensional com mais
aplicações de engenharia (CAE – Engenharia Auxiliada por Computador).
Alguns exemplos dessas aplicações são a análise e simulação de
mecanismos, o projeto e análise de injeção de moldes e a aplicação do
método dos elementos finitos.

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

No início de sec. XXI, assistimos o conceito de integração total do


ambiente produtivo com o uso dos sistemas de comunicação de dados
(interconexão de redes coorporativas e industriais) e novas técnicas de
gerenciamento se disseminar rapidamente. O CIM (Manufatura Integrada
por Computador) é uma realidade dentro de alguns setores, por exemplo,
o automobilístico e foi dessa forma que a automação dos processos de
fabricação adquiriu a dimensão e importância dos dias atuais.

• 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:

• melhora da qualidade do produto;


• melhora da produtividade;
• necessidades de economia do processo;
• atender a questões ambientais;
• garantir a proteção do processo;
• garantir a segurança da planta.

De uma forma geral, podemos dizer que qualquer operação ou conjunto


de operações que produza um resultado final desejado é considerado
como processo. Geralmente, o processo consiste na modificação
das matérias-primas, colocadas em sua entrada, nos produtos finais,
obtidos em sua saída, por meio do suprimento de energia, durante um
determinado período de tempo.
UNIUBE 9

Em princípio, qualquer grandeza física pode ser controlada, isto é, pode


ter seu valor intencionalmente alterado. Obviamente, há limitações
práticas; uma das inevitáveis é a restrição da energia de que dispomos
para afetar os fenômenos: por exemplo, a maioria das variáveis
climatológicas pode ser medida, mas não controlada, por causa da ordem
de grandeza da energia envolvida.

Observamos que grande parte dos sistemas Controle por


realimentação
modernos de controle, como os utilizados na
indústria automobilística, química, papel e celulose, É quando um
equipamento,
petroquímica, açúcar e etanol dentre outras, é dito automático,
age sobre o
extremamente complexa e requer muitos ciclos de elemento de
controle (atuador),
realimentação. baseando-se
em informações
medidas, através
Vamos relembrar alguns conceitos básicos de de sensores,
da variável
sistema de controle! controlada.

De uma forma geral, cada sistema de controle é composto de cinco


elementos básicos (ver Figura 2):

• acionamento: provê o sistema de energia para atingir determinado


objetivo. É o caso dos motores elétricos, pistões hidráulicos etc.;
• sensoriamento: mede o desempenho do sistema de automação
ou uma propriedade particular de algum de seus componentes.
Exemplos: termopares para medição de temperatura e encoders
para medição de velocidade;
• controle ou comando: utiliza a informação dos sensores para
regular o acionamento. Por exemplo, para manter o nível de água
num reservatório, usamos um controlador de fluxo que abre ou fecha
uma válvula, de acordo com o consumo. Mesmo um robô requer um
controlador, para acionar o motor elétrico que o movimenta;
• comparador ou elemento de decisão: compara os valores
medidos com valores preestabelecidos e toma a decisão de quando
atuar no sistema. Como exemplos, podemos citar os termostatos e
os programas de computadores;
10 UNIUBE

• programas: contêm informações de processo e permitem controlar


as interações entre os diversos componentes.

Programa
Comparador + (algoritmo de controle)

Controlador

Sensores Atuadores

Processo

Figura 2: Elementos básicos de um sistema de controle.

Entretanto, a maior parte dos processos industriais envolve mais do


que simplesmente regular a variável controlada. A exigência de controle
significa que alguma variável tende a variar de modo contínuo devido a
influências externas. Mas, há muitos processos na indústria em que não
é uma variável que deve ser controlada, mas uma sequência de eventos.
Esta sequência de eventos tipicamente leva à produção de algum produto
por meio de um conjunto de matérias-primas. Por exemplo, no processo
para fazer torradeiras, existe a entrada de vários metais e plásticos e,
com saída, temos as torradeiras.

O processo pode ser classificado de quatro formas quando observamos


o tempo e o tipo de operação envolvido, ou seja:

• contínuo;
• batelada;
• discreto;
• fabricação de itens.
UNIUBE 11

1.2 Tipos de variáveis de processo

As variáveis podem ser definidas como a representação de informações


em forma de um valor ou uma curva de valores de uma grandeza física.
Assim, se a grandeza for a corrente elétrica, teremos um sinal elétrico; se
for a pressão de um fluido, temos os sinais pneumáticos ou hidráulicos
e, se for a luminosidade, teremos um sinal óptico.

As variáveis de processo podem ser classificadas quanto à forma, como


as informações são representadas. Vejamos esta classificação:

• Sinal analógico
Sinal analógico é aquele que representa de forma contínua uma
determinada faixa de valores da grandeza física (Figura 3).

Exemplo: pressão, temperatura, força etc..

v Sinal Analógico

0 t

Figura 3: Sinal analógico.

• 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

Exemplos: Embora as grandezas físicas não correspondam a este


comportamento, podemos ter algumas situações como a presença ou
não de um objeto em determinado local, ou um botão pressionado ou
não, desligado ou ligado.

v
Sinal Digital

1 0 1 0 1 1 1

0 t
Figura 4: Sinal digital.

1.2.1 Processo contínuo

O processo é contínuo quando a matéria-prima entra num lado do sistema


e o produto final sai do outro lado continuamente. Nesta aplicação, o
termo continuamente significa um período de tempo relativamente longo,
medido em horas, em dias e até em meses, dependendo do processo.

As paradas totais dos processos se realizam em intervalos de um ano ou


mais. O processo contínuo pode levar até vários dias para entrar em regime
estável e permanente de produção. Temos como exemplo a maioria das
indústrias petroquímicas e siderúrgicas que possuem processos contínuos.

1.2.2 Processo discreto

O termo estado discreto expressa que cada evento na sequência pode


ser descrito pela especificação da condição de todas as unidades de
operação do processo. Um conjunto particular de condições é descrito
como um estado discreto de todo sistema. Tais descrições dessas
condições são apresentadas com expressões, tais como:
• válvula A está aberta;
• válvula B está fechada;
UNIUBE 13

• esteira C está ligada;


• chave limite S1 está ligada.

• Sistema de comando e de controle


Em automação de processos industriais podem ocorrer duas formas
básicas: sistema de comando e sistema de controle.

• 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

Figura 5: Diagrama de blocos de típico de um sistema de comando.

1.3 Sistema de controle

Consiste num sistema de malha fechada, isto é, além do fluxo de


informação no sentido direto (da entrada para a saída), existe outro no
sentido contrário (da saída para a entrada), chamada realimentação
(Feedback), sendo seu diagrama de blocos visto na Figura 6, a seguir:

Condição Processo ou
Controlador Atuador Acionamento
desejada máquina

Condição
atual
(sensores)

Realimentação

Figura 6: Diagrama de blocos de um sistema de controle realimentado.


14 UNIUBE

Controlador lógico programável

Mesmo antes do surgimento da eletrônica digital, os projetistas de


comando elaboravam circuitos digitais como contatos programáveis.
O programa era armazenado em plugues multipinos e as instruções
codificadas por meio de ligações elétricas entre os pinos destes plugues.
Esses programas eram muito limitados, e, sua principal função era a
seleção das operações das máquinas e/ou processos. Desta forma, além
de uma operacionalidade muito baixa, existiam outros problemas:

• alto consumo de energia;


• difícil manutenção;
• modificações de comandos dificultados e onerosos com muitas
alterações na fiação ocasionando número de horas paradas;
• além das dificuldades em manter documentação atualizada dos
esquemas de comando modificado.

Com o aparecimento dos circuitos digitais e


Controlador
Lógico microprocessados, o controlador lógico programável
Programável
(CLP) tem revolucionado os comandos e controles
Equipamento que industriais a partir da década de 1970. Este
realiza o controle equipamento foi batizado nos Estados Unidos como
sob o comando
de um programa PLC (Programable Logic Control), em português
aplicativo escrito
em linguagem de CLP (Controlador Lógico Programável) e este
relés e blocos.
É composto termo foi registrado pela Allen Bradley (fabricante
basicamente
de Unidade de de CLPs).
Processamento,
Memória, e
dispositivos de
entradas e saídas.
UNIUBE 15

CLP
E1
E2 Interfaces S1
S2

Módulos de CPU Módulos


Entrada de Saída

Memórias
En Sn

S A

Planta (Processo, máquina, linha de


fabricação ou montagem, etc.)
S A

S A

Figura 7: Diagrama ilustrando de forma conceitual a aplicação de um PLC.

Os PLCs possuem muitas definições. Porém, podemos dizer que os


controladores de lógica programáveis, também chamados de controladores
programáveis ou PLCs, pertencem a família dos computadores de estado
sólido e utilizam circuitos integrados em vez de dispositivos de eletromecânica
para implementar suas funções de intertravamento e controle. Eles são
capazes de armazenar e executar instruções lógicas, sequenciamento,
temporização, contagem, processamento aritmético, manipulação de
dados e comunicação, com o objetivo de controlar máquinas e processos
industriais. Ou ainda, podemos dizer de forma simples que PLCs (ver
Figura ) são computadores industriais com arquitetura especialmente
projetada, composta por uma unidade central de processamento e seus
circuitos de interface com dispositivos de campo (conexão das entradas
e saída com o mundo real). (Figura 8).
16 UNIUBE

SAIBA MAIS

Segundo a ABNT (Associação Brasileira de Normas Técnicas), PCL é


um equipamento eletrônico digital com hardware e software compatíveis
com aplicações industriais. De acordo com a NEMA (National Electrical
Manufactures Association), É um dispositivo eletrônico digital que utiliza
uma memória programável para armazenar internamente instruções e
para implementar funções específicas, tais como lógica, sequenciamento,
temporização, contagem e aritmética, controlando, por meio de módulos de
entradas e saídas, vários tipos de máquinas ou processos.

O CLP possui uma arquitetura modular composta de fonte, CPU e


módulos de entrada e saída, além de módulos para comunicação em
rede. O controlador monitora o estado inicial e final dos dispositivos
conectados aos terminais de entrada e, de acordo com o programa,
controla os dispositivos conectados aos terminais de saída.

Devido à evolução tecnológica, tanto de hardware quanto de software


aliados a uma tendência crescente de apresentarem baixo custo, muita
inteligência, facilidade de uso e massificação das aplicações, a utilização
deste equipamento não será apenas nos processos, mas também
nos produtos. Será fácil encontrá-lo em diversos produtos, tais como,
eletrodomésticos, eletrônicos, residências e veículos.

• 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

As vantagens dos controladores lógicos programáveis em relação aos


sistemas convencionais são:

• ocupam menos espaço;


• requerem menor potência elétrica;
• podem ser reutilizados;
• são programáveis, permitindo alterar os parâmetros de controle;
• possuem maior confiabilidade;
• de manutenção é mais fácil;
• oferece maior flexibilidade;
• permitem interface de comunicação com outros CLPs e computadores
de controle;
• permitem maior rapidez na elaboração do projeto do sistema.

Figura 8: Arquitetura básica de um CLP.


18 UNIUBE

Basicamente, um controlador programável apresenta as seguintes


características:

• hardware e/ou dispositivo de controle de fácil e rápida programação


ou reprogramação, com a mínima interrupção da produção;
• construção robusta e capacidade de operação em ambiente industrial;
• sinalizadores de estado e módulos tipo plug-in de fácil manutenção
e substituição;
• hardware ocupando espaço reduzido e apresentando baixo consumo
de energia;
• possibilidade de monitoração do estado e operação do processo ou
sistema, através da comunicação com computadores;
• compatibilidade com diferentes tipos de sinais de entrada e saída;
• capacidade de alimentar, de forma contínua ou chaveada, cargas
que consomem correntes de até 2 A;
• hardware de controle que permite a expansão dos diversos tipos de
módulos, de acordo com a necessidade;
• custo de compra e instalação competitivo em relação aos sistemas
de controle convencionais;
• projeto modular com possibilidade de expansão da capacidade de
memória;
• conexão com outros CLPs através de rede de comunicação.

• 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

Vejamos o que foi feito para resolver esta dificuldade!

Foi preparada uma especificação das necessidades existentes em


muitas aplicações baseadas nos circuitos a relés, tanto da indústria
automobilística como de toda a indústria de manufatura. Nascia, assim,
um equipamento bastante versátil e de fácil utilização, que vem se
aprimorando constantemente, diversificando cada vez mais os setores
industriais e suas aplicações, o que justifica hoje um mercado mundial
estimado em 4 bilhões de dólares anuais.
Hardware

Desde seu aparecimento até hoje, muita coisa evoluiu Componentes físicos

nos controladores lógicos. Esta evolução está ligada Software


diretamente ao desenvolvimento tecnológico da Programas de
computador. Em
informática, principalmente em termos de software nosso contexto, é
e de hardware. igual ao programa de
controle

Os primeiros CLPs tinham pouca capacidade e suas aplicações se


limitavam a máquinas e processos que requeriam operações repetitivas.
A partir de 1970, com o advento das unidades de processamento ou
processador, esses equipamentos começaram a ser programados.

IMPORTANTE!

Nesse contexto, as alterações em programas não implicavam mais em


modificações nos circuitos e fiações, mas sim na mudança de dados contidos
em elementos de armazenamento (memórias).

Inovações no hardware e software adicionaram maior flexibilidade aos CLPs


por meio do aumento da capacidade de memória, entradas/saídas remotas,
controle analógico e de posicionamento, comunicação etc. A expansão de
memória fez com que os controladores não ficassem mais restritos à lógica
e sequenciamento, mas à aquisição e manipulação de dados.
20 UNIUBE

Muitos avanços têm ocorrido na tecnologia dos CLPs e consequentemente


versões cada vez mais aperfeiçoadas têm surgido no mercado, tanto em
hardware como em software. Alguns desses avanços mais recentes no
hardware dos CLPs estão listados, a seguir:

• obtenção de tempos de scan cada vez menores, processamento


mais rápido, com a utilização de novos microprocessadores;
• surgimento de CLPs pequenos e de baixo custo que podem substituir
vários relés eletromecânicos;
• desenvolvimento de sistemas de I/O de alta densidade que possibilita
interfaces menores e de baixo custo;
• desenvolvimento de interfaces de I/O inteligentes, baseadas em
microprocessadores que ampliam o processamento distribuído.
Interfaces típicas incluem PID, rede, CANbus, fieldbus, comunicação
serial, controle de posição, computador host e linguagens modulares
como, por exemplo, a linguagem BASIC e Pascal;
• desenvolvimento de interfaces especiais que permitem conectar
alguns dispositivos (incluindo termopares, células de carga, e
entradas de resposta rápida) diretamente ao controlador;
• avanços das IHMs melhorando a interface do operador;
• e documentação agora é parte integrante do sistema.

Por outro lado, todo este avanço provocou um aumento no custo do


hardware desses dispositivos e deu origem ao conceito de família de
controladores. Estas famílias consistem em linhas de produto que vão
desde controladores de pequeno porte (microcontroladores) com
poucos pontos de I/O (cerca de 32 pontos), até CLPs de grande porte
(cerca de 8000 pontos de I/O e vários kB de memória). Os membros da
mesma família usam sistemas de I/O comuns, periféricos programáveis
e podem conectar-se via rede de comunicação. Veja que o conceito de
família é um importante redutor de custos para os projetistas de sistemas
automatizados.
UNIUBE 21

Acompanhando os avanços de hardware, o software também evoluiu


muito. Vejamos esta evolução nos CLPs:

• incorporação de ferramentas de programação orientada a objeto e a


criação de várias linguagens de programação (padrão IEC 1131-3);
• incorporação de instruções poderosas aos CLPs de pequeno porte
estendendo assim a área de aplicação deste controladores;
• utilização de linguagens de alto nível, como BASIC e C, em
alguns módulos de famílias de controladores possibilitando maior
flexibilidade de programação na comunicação com dispositivos
periféricos e manipulação de dados;
Lógica Ladder
• implementação de instruções avançadas na
forma de blocos funcionais acrescentadas ao Linguagem de
programação mais
conjunto de instruções ladder com objetivo utilizada em PLCs
de aumentar a capacidade de processamento para controlar
processos
através de programação simples com comandos industriais.
ladder;
• ampliação do sistema de diagnósticos que, além de verificar o
mau funcionamento do controlador, executa também o diagnóstico
(avaliação falhas e mau funcionamento) do processo;
• inserção de cálculo com flutuante-ponto. Isso tornou possível a
execução de cálculos complexos em aplicações de controle que
requerem calibração e balanceamento e computação estatística;
• simplificação e melhoria das instruções de manutenção e manipulação
de dados necessárias em aplicações de controle avançado e aquisição
de dados onde ocorre armazenamento, busca e recuperação de
grandes volumes de dados.

SINTETIZANDO...

No início, o processamento era realizado utilizando-se de componentes


discretos; no entanto, com a evolução da microinformática, sobreveio um
grande salto tecnológico através da utilização de microprocessadores e
microcontroladores de última geração, técnicas de processamento paralelo,
inteligência artificial, redes de comunicação, fieldbus etc.
22 UNIUBE

Quanto à tecnologia envolvida na programação desses dispositivos,


no início não havia nenhuma padronização sobre o funcionamento ou
linguagens de programação entre os fabricantes, apesar da grande
maioria utilizar as mesmas normas construtivas. Porém, pelo menos em
relação ao software aplicativo, os controladores programáveis podem
se tornar compatíveis entre si com a adoção da norma IEC 1131­3.
Esta norma prevê a padronização da linguagem de programação e sua
portabilidade. Recentemente, está sendo incorporada pelos controladores
programáveis a tecnologia fieldbus (barramento de campo) como
barramento de campo, que surge como uma proposta de padronização
de sinais no nível de chão de fábrica.

A proposta do barramento de campo é diminuir


Atuador
sensivelmente o número de condutores usados para
Dispositivo
responsável por interligar os sistemas de controle aos sensores e
agir na variável
manipulada do atuadores, além de distribuir a inteligência por todo
processo ao qual processo.
está se aplicando a
automação. Podem
ser magnéticos,
hidráulicos, Os atuais CLPs já podem ser considerados
pneumáticos,
elétricos, ou de sistemas de controle maduros, que oferecem uma
acionamento misto.
capacidade de processamento muito maior do que
Sensor seu projeto original. Eles possuem capacidade de
Dispositivo utilizado comunicação com outros sistemas de controle,
para converter uma
grandeza física fornecendo relatórios de produção, diagnóstico
em outra grandeza
física mensurável. de falhas (controlador e processo) dentre outras
São utilizados
nas máquinas facilidades. Estas características fizeram com
(equipamentos) que os CLPs contribuíssem de forma significativa
para monitorar e
indicar as condições para atender às atuais necessidades de melhoria
do processo.
na qualidade e aumento de produtividade da
empresas. Apesar da sofisticação dos CLPs, eles
ainda detêm a simplicidade e a facilidade de operação proposta em seu
projeto original.
UNIUBE 23

Vejamos no Quadro 1, a seguir, a evolução das aplicações dos CLPs:

Quadro 1: Evolução das aplicações dos CLPs

Evolução das aplicações dos CLPs

1969 a 1971 Substituir a lógica via relés

Substituir contadores e temporizadores

Operações aritméticas
1971 a 1976
Impressão de documentação/relatórios

Controle em malha fechada (PID)

Comunicação entre CLPs


1976 a 1981
Controle de posicionamento

Redes com periféricos


1981 a 1985
Unidades Remotas Redundância de CPUs

Interface Homem-Máquina (IHM)


1985 a atual
Sistemas de supervisão

1.4 Áreas de aplicação dos controladores programáveis

Aplicação em quase todos os setores industriais envolvendo:

• 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:

• controle: PID industrial;


• sequenciamento: definição da sequência de operações em linhas
de fabricação e montagem;
• intertravamento: uma ação y só pode ser executada se a ação x foi
concluída;
• supervisão/monitoração: visualização do andamento do processo,
intervenção do operador.

Aplicações usuais:

• máquinas-ferramenta: intertravamento e sequenciamento das


operações; controle de posição dos eixos, torque, velocidade de
avanço, aceleração e outras;
• controlador PID: controle de posição, rotação, velocidade, temperatura,
pressão, vazão, força, potência e outras;
• sequenciamento/intertravamento: linhas de produção e montagem
automatizadas.

1.5 Controlador lógico programável versus painel de relés

CLPs ou painéis de relés?

No início, provavelmente, esta foi a principal questão a ser respondida


pelos engenheiros de sistemas, controle, projetistas etc. De um modo
geral, podemos afirmar que o aumento da qualidade e produtividade
aliada à redução de curtos não pode ser alcançado sem a utilização
de equipamento eletrônico no controle de processos. Com o crescente
desenvolvimento de novos produtos e aumento da competição entre os
fabricantes, o custo do CLP tem caído de forma significativa, a ponto de
que a comparação entre CLP e painel de relé, no ponto de vista de custo,
não ser mais adequada. A aplicabilidade ou não dos CLPs deve, agora,
ser avaliada observando outros fatores.
UNIUBE 25

Os requisitos listados a seguir, seguramente, levam à escolha do CLP


em detrimento dos relés:

• necessidade de flexibilidade de mudanças na lógica de controle;


• necessidade de alta confiabilidade;
• espaço físico disponível pequeno;
• expansão de entradas e saídas;
• modificação rápida;
• lógicas similares em várias máquinas;
• comunicação com computadores em níveis superiores.

Ainda que os sistemas eletromecânicos, em pequenas e até médias


aplicações, possa apresentar um menor custo inicialmente, esta vantagem
poderá desaparecer totalmente se considerarmos a relação custo/benefício
proporcionada pelo CLP ao longo do tempo.

A implementação da lógica, utilizando relés, dificulta a manutenção e diminui


a flexibilidade com relação a mudanças no sistema. A lógica é realizada por
fios e qualquer modificação nessa lógica exige uma conexão adequada dos
fios, envolvendo operações com os contatos NA e NF dos relés.

1.6 Computador industrial versus controlador programável

A arquitetura de um CLP é fundamentalmente a mesma que um


computador de uso geral. Entretanto, existem algumas características
importantes que diferem o CLP dos computadores. Podemos dizer que
todos os CLPs são computadores por definição, mas nem todos os
computadores são CLPs.

PARADA OBRIGATÓRIA

A diferença está nos métodos de programação, operação, considerações


ambientais e manutenção.
26 UNIUBE

No Quadro 2, a seguir, temos uma comparação entre PCs industriais e


CLPs nos quais podem ser vistos os pontos fortes e os pontos fracos dos
computadores industriais.

Quadro 2: Comparação do Microcomputador Industrial com CLPs

Pontos fortes do PC industrial Pontos fracos do PC industrial


Interface Gráfica Confiabilidade do Sistema Operacional
Tempo de Programação Confiabilidade do Microcomputador
Não utilizar Hardware Proprietário Velocidade de Atualização de I/O (Rack)
Arquitetura Aberta Eventuais Bugs de Software
Várias Linguagens de Programação
Facilidade de efetuar cálculos complexos

Os CLPs foram especificamente projetados para operar em ambientes


industriais. Um CLP pode atuar em áreas com quantidades substanciais
de ruídos elétricos, interferências eletromagnéticas, vibrações mecânicas,
temperaturas elevadas e condições de umidade adversas. Uma
especificação típica de CLP inclui temperaturas na faixa de 0 a 60 ºC
e umidade relativa de 5 a 95%. A segunda distinção dos CLP´s é que
o hardware e o software foram projetados para serem operados por
técnicos não especializados (nível exigido para a manutenção e operação
de computadores).

IMPORTANTE!

Usualmente, a manutenção é feita pela simples troca de módulos e existem


softwares que auxiliam na localização de defeitos. As interfaces de hardware
para conexão dos dispositivos de campo estão prontas para uso e são
facilmente intercambiáveis (estrutura modular). A programação é geralmente
feita em uma linguagem parecida com os diagramas de relés.
UNIUBE 27

O software residente, desenvolvido pelo fabricante, e que determina


o modo de funcionamento do controlador também caracteriza uma
diferença fundamental. Este software realiza funções de acesso ao
hardware, diagnósticos, comunicações e determina o funcionamento do
controlador em um modo de operação dedicado (ciclo de varredura) e
totalmente transparente ao usuário.

1.7 Perspectivas futuras

No futuro, os CLPs dependerão não somente do desenvolvimento de


novos produtos, mas também da capacidade de interconexão com outros
sistemas de controle e gestão de fábrica. Não há nenhuma dúvida que
os CLPs terão um papel significativo na concepção da fábrica do futuro.
Atualmente, os CLPs já estão sendo integrados, através das redes
de comunicação, a sistemas CIM, CNCs, robôs, sistemas CAD/CAM,
computador pessoal, sistemas de gestão da informação dentre outros.

Novos avanços tornarão as interfaces com o operador mais amigáveis,


por exemplo, IHMs e GUIs com módulos de voz. Novas interfaces que
permitam a comunicação com outros equipamentos, tanto hardware
quanto software, e que suportem técnicas de inteligência artificial, tais
como, sistemas de I/O com lógica fuzzy, têm sido desenvolvidas. Novas
instruções têm sido criadas com o objetivo de aumentar a inteligência
dos sistemas de controle, por exemplo, instruções com capacidade de
aprendizado e tomada de decisão utilizando base de conhecimento.

O avanço na tecnologia de informação possibilitará melhores conexões


entre os diversos tipos de equipamento através da padronização da
comunicação por meio do uso redes.
28 UNIUBE

A utilização dos conceitos de sistemas flexíveis de manufatura (FMS)


determinará a filosofia de controle do futuro. As estratégias de controle
terão sua inteligência distribuída em vez de centralizada. Os super CLPs
serão utilizados em aplicações que necessitem de cálculos complexos,
comunicação em rede e supervisão de CLPs de pequeno porte e
processos.

Arquitetura dos CLPs

O CLP é um equipamento de estado sólido que


Transmissor
pode ser programado para executar tarefas que
Dispositivo que
condiciona o sinal controlam dispositivos, máquinas e operações
recebido de um
transdutor, colocando de processos, por meio da implementação de
numa forma
satisfatória, para funções específicas como lógica de controle,
ser enviado a outro
ponto com menor sequenciamento, controle de tempo, operações
perda possível da
informação.
aritméticas, controle estatístico, controle de malha,
transmissão de dados.

Os CLPs são projetados e construídos para operarem em ambientes


severos, portanto devem resistir a altas temperaturas, ruídos elétricos,
poluição atmosférica, ambientes únicos. Sua capacidade quanto
ao número de entradas e saídas, memória, conjunto de instruções,
velocidade de processamento, conectividade, flexibilidade, IHM, varia
conforme o fabricante e o modelo.

A Figura 9, a seguir, ilustra a arquitetura básica de um CLP genérico


composto de CPU, memória, cartões de entrada e de saída, interface
homem/máquina, fonte e canal de comunicação, controlando uma planta
industrial genérica.
UNIUBE 29

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

Figura 9: Arquitetura básica de um controlador lógico programável.

Processador

É responsável pelo gerenciamento e funcionamento total do sistema,


tais como:
Protocolo

• controle dos barramentos de endereços, dados Regras de


procedimentos
e controle; e formatos
convencionais
• processamento dos programas (firmware e que, mediante
aplicação do usuário); sinais de controle,
permitem o
• varredura das entradas e saídas; estabelecimento
de uma conexão
• programação de memórias externas; com transmissão
de dados e a
• verifica a integridade de todo o sistema recuperação
de erros entre
(diagnóstico): watch-dog, bateria, checksum; equipamentos.
• troca de dados com as interfaces de comunicação:
implementação de diversos tipos de protocolos;
• modo de operação: em execução (run) e parado (stop);

Em geral, as características mais comuns dos processadores são:

• microprocessadores ou microcontroladores de 8 ou 16 bits (INTEL


80xx, MOTOROLA 68xx, PIC 16xx);
• endereçamento de memória de até 1 MByte;
• velocidades de CLOCK, variando de 4 a 30 Mhz;
• manipulação de dados decimais, octais e hexadecimais.
30 UNIUBE

Cartões de entradas

Também chamados de módulos de entrada, os cartões de entradas são


responsáveis pela interface entre os sensores localizados no campo e
a lógica de controle do CLP. Estes módulos são constituídos de cartões
eletrônicos, cada qual com capacidade para receber em certo número
de variáveis.

Há uma variedade muito grande de cartões para atender às mais


variadas aplicações existentes nos ambientes industriais. Entretanto, os
dispositivos que determinam forma do sinal a ser lida pelos cartões de
entrada são do tipo:

Elemento discreto

Trabalha com dois níveis definidos. Recebem sinais dos sensores


(tensões usuais de comando – 24VCC,110/220 VCA), que passam por
um condicionamento elétrico e são convertidos para sinais digitais nível
TTL, geralmente, e enviados para a CPU em termos de níveis lógicos 0
e 1 (ver figuras 10 e 11).

BOTÃO
CHAVE
PRESSOSTATO
FLUXOSTATO
TERMOSTATO CARTÃO DE
ENTRADAS CPU
FIM DE CURSO
DISCRETAS
TECLADO
CHAVE BCD
FOTO CÉLULA
OUTROS

Figura 10: Cartão de entrada discreta.


UNIUBE 31

CAMPO CAMPO
ENTRADA 1 ENTRADA 1

ENTRADA 2
PSH Sensor indutivo 2 fios

fonte Fonte C.A.


COMUM COMUM

(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

Trabalha dentro de uma faixa de valores. Recebem sinais dos sensores,


usualmente 4 a 20 mA, passa por conversores A/D, são transformados em
sinais digitais e enviados para a CPU norma de uma sequência de bits (8
bits, 16 bits, 32 bits dependendo do processador) (ver figuras12 e 13).

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

OUTROS Figura 13: Cartão de


IA entrada analógica.
32 UNIUBE

Unidade de leitura de temperatura

A maioria dos fabricantes de CLPs implementam, em seus dispositivos,


módulos específicos para leitura de temperatura em que o transdutor
utilizado é do tipo PT100 ou Termopar. A operação desta interface é similar
à entrada analógica com exceção de que os sinais dos termopares são
de pequena amplitude. Estes sinais de pequena amplitude são filtrados,
amplificados e digitalizados por um conversor, e então enviados para o
processador e disponibilizados para a utilização no programa de usuário.

Tratamento de sinal de entrada

Em função da diversidade de sinais que podem ser lidos pelo CLP,


faz-se necessário o condicionamento desses sinais conforme suas
características elétricas, isto é, um cartão de entrada discreta que recebe
sinal alternado difere-se do tratamento de um cartão digital que recebe
sinal contínuo e assim nos demais tipos de sinais.

Na Figura 14, a seguir, é mostrado um diagrama onde estão inseridos


os principais componentes de um cartão de entrada discreta de tensão
AC, onde:

• B.C. (Bornes de conexão): permite a interligação entre o sensor e


o cartão, geralmente se utiliza sistema “plug-in”;
• C.C. (Conversor e Condicionador): converte em DC o sinal AC,
e rebaixa o nível de tensão até atingir valores compatíveis com o
restante do circuito;
• I.E. (Indicador de Estado): proporcionar indicação visual do estado
funcional das entradas;
• I.El. (Isolação Elétrica): proporcionar isolação elétrica entre os sinais
vindos e que serão entregues ao processador;
• I.M. (Interface/Multiplexação): informar ao processador o estado de
cada variável de entrada.
UNIUBE 33

Elementos Discretos

B.C. C.C. I.E. I.E.L I.M. UCP

Figura 14: Tratamento do sinal de entrada discreta.

Cartões de saída

Também chamados de módulos de saída, os cartões de saída têm como


função fazer o interfaceamento entre o CLP e os elementos atuadores.
Os sinais digitais, provenientes da CPU, passam por um condicionamento
elétrico e são convertidos para sinais elétricos, pneumáticos (dependendo
do tipo de cartão).

Estes módulos são constituídos de cartões eletrônicos, com capacidade


de enviar sinal para os atuadores, resultante do processamento da lógica
de controle. Os cartões de saída irão atuar basicamente em dois tipos:

Atuadores discretos: podem assumir dois estados definidos. Dependendo


do tipo de elemento de comando (corrente das saídas), temos as
seguintes saídas (ver Figura 15):

VÁLVULA SOLENÓIDE
CONTADOR
SINALIZADOR
CARTÃO RELÉ
CPU DE SAÍDAS SIRENE
DISCRETAS DISPLAY
OUTROS

Figura 15: Cartão de saída discreta.


34 UNIUBE

• saída a TRANSÍSTOR que possibilita comutações mais rápidas, mas


sendo somente aplicada a cargas de tensão contínua;
• saída a TRIAC, possui maior vida útil que o tipo a contato seco, mas
só pode acionar cargas de tensão alternada;
• saída a CONTATO SECO possibilita o acionamento de cargas
alimentadas por tensão contínua e alternada.

IMPORTANTE!

Observe que a ligação dos cartões de saída é relativamente simples,


depende apenas do tipo do cartão escolhido.

A seguir na Figura 16, podemos visualizar os diagramas de ligação para


alguns tipos de cartão.
CAMPO CAMPO
carga saída 1 carga
saída 1
fonte

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.

Atuadores analógicos: Trabalham dentro de uma faixa de valores.


A saída analógica em corrente ou tensão é aplicada diretamente no
dispositivo em questão, conforme pode ser visto na Figura 17, a seguir.

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

Tratamento de sinal de saída

Existe uma diversidade de cartões de saída que se adaptam à grande


variedade de atuadores existentes. Portanto, o sinal de saída produzido
conforme a lógica de controle deve ser condicionado para atender o tipo
acionamento do atuador.

Na Figura 18, a seguir, é mostrado um diagrama onde estão inseridos os


principais componentes de um cartão de saída discreta de corrente CC:

• I.M. (Interface/Multiplexação): interpreta os sinais vindos da


UCP através do barramento de dados, para os pontos de saída,
correspondente a cada cartão;
• M.S. (Memorizador de Sinal): armazena os sinais que já foram
multiplexados pelo bloco anterior;
• I.E. (Isolação Elétrica): proporciona isolação elétrica entre os sinais
vindos do processador e os dispositivos de campo;
• E.S. (Estágio de Saída): transforma os sinais lógicos de baixa potência
em sinais capazes de operar os diversos tipos de dispositivos de campo;
• B.L. (Bornes de Ligação): permite a ligação entre o cartão e o
elemento atuador, e utiliza também o sistema “plug-in”.

Bit
Byte

Word (ou registro)


Figura 18: Estrutura de registro.
Fonte: Acervo do autor.

Memórias

O sistema de memória é responsável por armazenar todas as instruções


e os dados necessários para executá-las. É de vital importância no
processamento de um CLP.
36 UNIUBE

Existem diferentes tipos de sistemas de memória e a escolha do tipo


de memória depende do tipo de informação armazenada e da forma
como a informação será processada pela CPU. De forma bem simples,
a memória do CLP pode ser vista como uma matriz bidimensional de
células unitárias de armazenamento, cada uma das quais armazena
uma única informação na forma de “1” ou “0”. Um bit é, então, a menor
unidade de estrutura de memória.

Vamos compreendê-lo!

O bit é considerado ON se a informação armazenada


Bit
é 1 e OFF se a informação armazenada é zero.
Menor unidade de
informação. Portanto, um bit é suficiente para armazenar o estado
Byte de chaves, botoeiras, fim de cursos, motores e outros
Unidade de dispositivos externos que podem ser conectados ao
informação CLP. Às vezes, é necessário que o CLP manuseie
composta por oito
bits. mais do que um bit. Por exemplo, é muito mais
Word eficiente manipular um grupo de bits quando se
Unidade de deseja transferir dados para ou da memória. Um
informação
composta por 16 grupo de 8 bits manipulado simultaneamente é
bits ou 2 Bytes. chamado de byte, e um grupo de 16 bits é chamado
de word. A Figura 19 ilustra os conceitos abordados.

UCP I.M. M.S. I.E.L E.S. B.L.

Figura 19: Tratamento do sinal de saída discreta.

Organização da memória

Basicamente, o sistema de memória é dividido em três partes: memória


do sistema; tabela de dados e memória da aplicação.
UNIUBE 37

Os dados armazenados na memória são chamados palavras de memória,


que são formadas sempre com o mesmo número de bits. A capacidade
de memória do CLP é definida em função do número de palavras de
memória previstas para o sistema.

Memória do sistema

A memória do sistema tem como objetivo o armazenamento do firmware


(sistema operacional) responsável por todo funcionamento do CLP. O
firmware é um conjunto de programas armazenados permanentemente
na memória do controlador com a finalidade de controlar e supervisionar
as atividades do sistema, tais como: controle do ciclo de varredura;
comunicação como os dispositivos periféricos; diagnósticos etc.

Tabela de dados

A tabela de dados é uma memória do tipo RAM e utilizada para armazenar


qualquer dado associado com o controle do sistema, tais como:

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.

Ela também define o endereçamento dos diversos tipos de dados que o


controlador pode acessar e manipular. A estrutura da memória que define
a tabela de dados pode ser da seguinte forma:

• estados: informações do tipo ON/OFF representado por 1s e 0s;


• bobinas internas: que representam saídas que não estão
disponíveis externamente no CLP, e, portanto, não podem acionar
dispositivos conectados aos cartões de saída;
• números ou códigos: informações representadas por um grupo de
bits (byte ou word).
38 UNIUBE

Vejamos, a seguir, a divisão da tabela de dados:

• Tabela Imagem das Entradas – TIE (bit)

A tabela imagem das entradas armazena o estado das entradas


discretas do CLP. Isto significa que para cada entrada discreta existe
um bit correspondente na tabela imagem das entradas. Se a entrada
estiver energizada (ON), o bit correspondente na tabela imagem é 1. Se
a entrada estiver desenergizada (OFF), o bit correspondente na tabela
imagem será 0. Durante o início do ciclo de varredura, a tabela imagem
das entradas é atualizada para refletir o estado corrente do dispositivo.

• Tabela Imagem das Saídas – TIS (bit)

A tabela imagem das saídas armazena o estado das saídas externas


conectadas ao CP. Durante a execução do programa do usuário, quando
o processador interpreta e executa a lógica programada, esta tabela
imagem é atualizada. De forma similar, para cada ponto de saída externo
ao CP deve existir um ponto correspondente nesta tabela imagem.

• Bobinas internas (bit)

Bobinas internas, também chamadas de bobinas lógicas ou saídas


internas, têm o objetivo de fazer os intertravamentos e armazenamentos
de estados lógicos internos no programa do usuário.

Diferentemente das saídas externas, as bobinas internas não possuem


um ponto físico correspondente no sistema de saídas do CLP.
UNIUBE 39

• Registros (byte ou palavra)


Registro

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.

A CPU efetuará a leitura das instruções contidas, nesta área, a fim de


executar o programa do usuário, de acordo com os procedimentos
predeterminados pelo sistema operacional. As memórias destinadas à
aplicação podem ser do tipo: RAM; RAM/EPROM e RAM/EEPROM.

Fonte de alimentação

A fonte de alimentação tem normalmente as seguintes funções básicas:

1) converter a tensão da rede elétrica (110 ou 220 VCA) para a tensão de


alimentação dos circuitos eletrônicos, (+ 5VCC para o microprocessador,
memórias e circuitos auxiliares e +/- 12 VCC para a comunicação com
o programador ou computador);
2) manter a carga da bateria, nos sistemas que utilizam relógio em
tempo real e memória do tipo RAM;
3) fornecer tensão para alimentação das entradas e saídas (12 ou 24 VCC).
40 UNIUBE

Bateria

As baterias são usadas nos CLPs para manter o circuito do relógio


em tempo real, reter parâmetros ou programas (em memórias do tipo
RAM), mesmo em caso de corte de energia, guardar configurações de
equipamentos etc. Normalmente são utilizadas baterias recarregáveis
do tipo Ni-Ca ou Li. Neste caso, incorporam-se circuitos carregadores.

Circuitos auxiliares

São circuitos responsáveis para atuar em casos de falha do CLP. Alguns


deles são:

• POWER ON RESET: quando se energiza um equipamento


eletrônico digital, não é possível prever o estado lógico dos circuitos
internos. Para que não ocorra um acionamento indevido de uma
saída, circunstância que poderia causar acidente, existe um circuito
encarregado de desligar as saídas no instante em que se energiza
o equipamento. Assim que o microprocessador assume o controle
do equipamento esse circuito é desabilitado;
• POWER–DOWN: o caso inverso ocorre quando um equipamento
é subitamente desenergizado. O conteúdo das memórias pode
ser perdido. Existe um circuito responsável por monitorar a tensão
de alimentação, e em caso do valor desta cair abaixo de um limite
predeterminado, o circuito é acionado interrompendo o processamento
para avisar o microprocessador e armazenar o conteúdo das memórias
em tempo hábil;
• WATCH–DOG–TIMER: para garantir, no caso de falha do
microprocessador, que o programa não entre em loop, o que seria um
desastre, existe um circuito denominado “Cão de Guarda“, que deve
ser acionado em intervalos de tempo predeterminados. Caso não seja
acionado, ele assume o controle do circuito sinalizando falha geral do
sistema.
UNIUBE 41

Princípio de funcionamento

Podemos dividir o processamento da CPU da seguinte forma, conforme


a execução do programa do usuário:

• Processamento cíclico

É a forma mais comum de execução do programa nos CLPs e que


caracteriza o seu funcionamento. O controlador trabalha executando uma
sequência de tarefas definidas e controladas pelo programa monitor.
Esta forma de processamento acontece em ciclo, chamado de Ciclo de
Varredura ou Scan, que consiste em:

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);

Execução da lógica programada pelo usuário: aqui, a CPU


consulta a TIE, executa a aplicação do usuário e, de posse dos
resultados do estado das saídas que estão relacionadas aos cartões
de entrada, atualiza a área de memória identificada com Tabela
Imagem das Saídas (TIS). Os resultados lógicos que possuem saídas
internas serão armazenados na área correspondente. Devemos
observar que durante esta fase não é feita nenhuma referência a
pontos externos (I/O), a CPU opera com informações obtidas da
memória;

Atualização das saídas externas: na fase de atualização de saídas,


a CPU executa uma varredura na tabela TIS e atualiza as saídas
externas, endereçando o Sistema de I/O para atualizar o estado
dos dispositivos externos de acordo com o resultado da lógica
programada pelo usuário.
42 UNIUBE

A seguir, o ciclo é reiniciado e a operação continua enquanto se mantém


o controlador no modo de execução (Run) conforme pode ser visto na
Figura 20.

Varredura das E/S Início do Programa do Usuário


0,5 mS/128 E/S

Fim do Programa
do Usuário

Varredura do Programa do Usuário

0,6 mS – 15 mS / 1 k instr. booleans

Figura 20: Processamento cíclico – ciclo de varredura.

Um dado importante da CPU é o seu tempo de ciclo, ou seja, o tempo


gasto para a execução de uma varredura. O tempo de ciclo varia de
controlador para controlador e depende de muitos fatores (tamanho da
palavra, clock, instruções programadas, etc.). O fabricante especifica este
tempo baseado na quantidade de instruções, normalmente instruções
booleanas, e quantidade de I/O. Qualquer outra função programada
aumenta este tempo de varredura, portanto, o tempo de ciclo está
relacionado com o tamanho do programa do usuário (em média, 10 ms
a cada 1.000 instruções).

PARADA PARA REFLEXÃO

Este processo de varredura pode ser inadequado para entradas rápidas,


isto é, entradas com frequência acima de 10 Hz. Neste caso, o que deve
ser feito?
UNIUBE 43

Devemos utilizar de funções especiais do CLP para interromper a


varredura do programa e atualizar o estado de uma entrada ou de uma
saída imediatamente. Este processo é realizado por software e também
está limitado à execução do programa do usuário. Em aplicações de alta
velocidade, tais como em sensores eletrônicos por pulsos, é aconselhável
o uso de módulos específicos (contadores de alta velocidade). (Figura 21)

Figura 21: Ciclo de Operação de um CLP.

• Processamento por interrupção

Certas ocorrências no processo controlado não podem, algumas vezes,


aguardar o ciclo completo de execução do programa. Neste caso, ao
reconhecer uma ocorrência deste tipo, a UCP interrompe o ciclo normal
de programa e executa outro programa chamado de rotina de interrupção.
44 UNIUBE

Esta interrupção pode ocorrer a qualquer instante da execução do


ciclo de programa. Ao finalizar esta situação, o programa voltará a ser
executado do ponto onde ocorreu a interrupção (Figura 22).

Início

Fim

Interrupção

Rotina de interrupção

Ciclo normal de programa

Figura 22: Processamento por interrupção.

Uma interrupção pode ser necessária, por exemplo, numa situação de


emergência em que procedimentos referentes a esta situação devem
ser adotados.

• Processamento comandado por tempo


Da mesma forma que determinadas execuções não podem ser dependentes
do ciclo normal de programa, algumas devem ser executadas a certos
intervalos de tempo, às vezes muito curtos, na ordem de 10 ms.

Este tipo de processamento também pode ser encarado como um tipo


de interrupção, porém ocorre a intervalos regulares de tempo dentro do
ciclo normal de programa.

• Processamento por evento


Este é processado em eventos específicos, tais como no retorno de
energia, falha na bateria e estouro do tempo de supervisão do ciclo da
CPU. Neste último, como visto anteriormente, temos o Watch Dog Time
(WD), que normalmente ocorre como procedimento ao se detectar uma
condição de estouro de tempo de ciclo da CPU, parando o processamento
numa condição de falha e indicando ao operador através de sinal visual
e, às vezes, sonoro.
UNIUBE 45
SINTETIZANDO...

Ao ser energizado, estando o CLP no estado de execução, este executa a


rotina de inicialização do sistema, cujos passos são os seguintes:

• teste de escrita/leitura da memória RAM;


• limpeza das memórias imagens de entrada e saída;
• teste de executabilidade do programa de usuário;
• execução de rotinas de inicializaçã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

LEITURA DAS ENTRADAS E ATUALIZAÇÃO


DE MEMÓRIA IMAGEM DE ESTRADAS

PROCESSAMENTO DE
INSTRUÇÕES DE USUÁRIO

ATUALIZAÇÃO DAS SAÍDAS


REFERIDAS A MEMÓRIA IMAGEM

Tempo
de
Não
Varredura
OK
Sim

STOP
PARADA DO SISTEMA

Figura 23: Fluxograma de funcionamento de um CLP.


46 UNIUBE

Modos de operação de um CLP

De uma forma geral, podemos visualizar o estado operacional do CLP


por meio do frontal do controlador através de LEDs de sinalização. Estas
funções normalmente são encontradas independentemente da arquitetura
física do controlador, isto é, se em forma modular ou compacta. A Figura
24 ilustra um diagrama típico de um processador, mostrando as funções
e conectores para conexão de dispositivos de programação, I/O e
energização do CLP.

O estado operacional do controlador pode ser definido através de chaves


no próprio frontal ou através do software de programação.

Pode-se colocar o CLP em modo de execução (LED "RUN" aceso) por


meio de um comando do programador, e uma vez neste estado o CLP
executará o programa de usuário sob o comando do programa Executivo.
Por outro lado, pode-se colocar o CLP no modo de programação (LED
"PROG" aceso), o que habilita o controlador a receber o programa do
usuário. Os outros LEDs de sinalização indicam a alimentação (PWR),
comunicação ativa (COM) e bateria baixa (BAT).

PWR
RUN
FUS PRG
COM
BAT
CP
XYZ/ZZ

PRO

I/O
110 VAC 24 VDC

Figura 24: Sinalização dos estados operacionais do CLP (Frontal).


UNIUBE 47

Comunicação serial

É a mais comumente utilizada para a maioria dos periféricos e é feita


utilizando-se simples cabos de par traçado. Os padrões mais utilizados
são o RS 232C, loop de corrente 20mA, e o RS-422/RS-485 em alguns
casos.

• RS-232C: este padrão define basicamente as características dos


sinais elétricos, bem como os detalhes mecânicos (pinagem) da
interface.
• É empregada para velocidades de transmissão de até 20k bauds
(bits/seg) e distância máxima de 15 metros. (Com a utilização dos
modems esta distância pode ser ampliada).
• RS-422/RS-485: é uma versão melhorada do padrão RS-232C. Ela
possibilita, principalmente, o emprego de velocidade de transmissão
de até 100k bauds para distância de até 1200m, podendo alcançar
velocidades da ordem de Mbauds para distâncias menores.
• LOOP DE CORRENTE 20mA: a interface de loop de corrente é
idêntica a RS-232C e, evidentemente, como é baseada em níveis
de corrente em vez de tensão, possibilita o emprego em distâncias
bem maiores. Muitos CLPs oferecem ambos os padrões, RS-232C
e loop de corrente.

Arquitetura da rede CLP para sistemas scada

De acordo com a conexão dos módulos I/O,


CLP, IHM e a estação de programação, a
arquitetura de comunicação entre esses
dispositivos pode ser classificada em: local;
I/O remotos e rede industrial. (Figura 25).

Figura 25: Conexão local de dispositivos


usando CLP modular ou compacto.
48 UNIUBE

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.

Na Figura 26, temos módulos de I/O montados localmente em um CLP


modular e a comunicação é do tipo ponto a ponto.

A instalação de um sistema automático com o uso de I/O locais demanda


um gasto considerável de cabeamento, borneiras, caixas de passagem,
bandejas, projeto e mão de obra para a instalação. Os blocos I/O remotos
(ver Figura 26) possibilitam uma redução substancial dos gastos de
implementação, visto que os sinais não serão conduzidos para o rack
do CLP e, sim, para pontos de I/O que ficarão localizados fisicamente
no campo.

Figura 26: Módulo de I/O remoto.

Estes módulos de I/O, também conhecidos como remotos, são


independentes e configuráveis. Interligados entre si através de um
barramento de campo proprietário ou de padrão aberto. Nesta arquitetura
(Figura 27 (a)), existe a necessidade de cartões de interface para
conexão entre os racks remotos e o rack central.
UNIUBE 49

Um barramento, como o mostrado na Figura 27 (b), permite melhorar o


controle de I/O através do uso de blocos de comunicação no programa da
aplicação. Este barramento também pode ser usado integralmente para
o controle de I/O conectados a vários dispositivos, sem a necessidade
de comunicação adicional; pode, ainda, ser dedicado à comunicação
da CPU, com múltiplas CPUs e sem dispositivos de I/O. Sistemas mais
complexos também podem ser desenvolvidos, com CPUs duplas e uma
ou mais CPUs adicionais, para a monitoração de dados.

Figura 27: (a) Arquitetura local de CLP com I/O remotos ou distribuídos – (b) Arquitetura de rede
de CLPs.

Módulos de I/O montados localmente. Normalmente, a comunicação dos


CLPs com o sistema de supervisão é do tipo mestre-escravo ou polling.

Classificação geral dos CLPs

Podemos ressaltar que, com a popularização dos microcontroladores


e a redução dos custos de desenvolvimento e produção, houve uma
avalanche no mercado de tipos e modelos de CLPs, os quais podemos
dividir em:

• μ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

• CLPs de Médio Porte


São CLPs com uma capacidade de I/O de até 256 pontos, digitais e
analógicos, podendo serem formados por um módulo básico, que
pode ser expandido. Costumam permitir até 2048 (2 Kbyte) passos de
memória, que podem ser interna ou externa, ou podem ser totalmente
modulares.

• CLPs de Grande Porte


Os CLPs de grande porte se caracterizam por uma construção modular,
constituída por uma Fonte de alimentação, CPU principal, CPUs
auxiliares, CPUs Dedicadas, módulos de I/O digitais e Analógicos,
Módulos de I/O especializados, Módulos de Redes Locais ou Remotas,
que são agrupados de acordo com a necessidade e complexidade da
automação. Permitem a utilização de até 8192 (4 Kbyte) pontos de I/O.
São montados em um bastidor (ou Rack) que permite um cabeamento
estruturado.

Dispositivos de entrada: transdutores, sensores

Transdutor é um dispositivo que recebe um sinal de entrada na forma


de uma grandeza física e fornece um sinal de saída da mesma espécie
ou diferente. Em geral, os transdutores transformam a informação da
grandeza física, que corresponde ao sinal de entrada, em um sinal
elétrico de saída. Por exemplo, um transdutor de pressão transforma a
força exercida pela pressão numa tensão elétrica proporcional à pressão.

O sensor é a parte sensitiva do transdutor a qual, na maioria das vezes,


se completa com um circuito eletrônico para a geração do sinal elétrico
que depende do nível de energia da grandeza física que afeta o sensor.
UNIUBE 51
IMPORTANTE!

É comum em automação o uso do termo sensor e transdutor para se referir


à mesma coisa, portanto, podemos dizer que sensor é um dispositivo que
altera seu comportamento sob a ação de uma grandeza física, podendo
fornecer diretamente ou indiretamente um sinal que indicará esta grandeza.

Entretanto, os dispositivos de entrada, principalmente os transdutores,


têm seu alcance limitado a algumas dezenas de metros. Isto ocorre
devido ao fio que transporta o sinal do sensor ou transdutor possuir
resistência e indutância não desprezível, podendo interferir na grandeza
medida. Outro fato importante é que ruídos podem ser captados ao longo
do percurso e afetar a precisão da informação obtida pelo dispositivo
de sensoriamento. Nesses casos, é necessária a utilização de um
dispositivo específico para transmitir o sinal medido a longas distâncias,
esse dispositivo é chamado transmissor. Portanto, o transmissor é um
equipamento que recebe o sinal de um transdutor ou sensor e modifica
as características de um sinal de referência (4-20 mA, 0-5 V, etc.)
proporcionalmente ao sinal do transdutor ou sensor. Na Figura 28, vemos
uma ilustração desse dispositivo.

Transdutor

Sinal Modulado

Referência
(Ex: 4-20mA)

Figura 28: Dispositivo transmissor de sinal.


52 UNIUBE

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 mais usados na INDÚSTRIA

Existe uma série de transdutores disponíveis no


Servossistema (ou
servomecanismo) mercado; eles variam conforme a grandeza medida,
É um sistema
precisão e região de operação. A classificação
de controle mais comum é a por tipo de grandeza medida.
realimentado
cujo objetivo é Assim, temos, principalmente, os transdutores
controlar alguma
posição mecânica, de temperatura; os fotoelétricos; de posição
velocidade ou
aceleração. (servomecanismos); de tensão mecânica ou
extensômetros; de pressão e de vazão.

Vejamos com detalhes os principais transdutores:

• 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

Existem vários tipos de transdutores de temperatura, que podem, de


forma geral, serem agrupados em quatro grupos:

1) termopares: produzem uma tensão entre seus terminais proporcional


à temperatura entre a junção fria e quente;
2) termistores: podem ser do tipo NTC e PTC. NTC (Negative
Temperature Coeficient): sensor cuja resistência varia inversamente
proporcional à temperatura. PTC (Positive Temperature Coeficient):
sensor cuja resistência é proporcional à temperatura, sendo sua
faixa de atuação restrita;
3) termoresistências ou RTDs: são sensores em que sua resistência
varia com a temperatura;
4) semicondutores.

• Transdutores de luz (fotoelétricos)

Além de seu uso em fotometria (incluindo analisadores de radiações e


químicos), há a parte dos sistemas de controle de luminosidade, como os
relés fotoelétricos de iluminação pública e sensores indiretos de outras
grandezas, como velocidade e posição (fim de curso).

• 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.

Os sensores se dividem em posição linear ou angular. Também se


dividem entre sensores de passagem, que indicam que foi atingida uma
posição no movimento, os detectores de fim de curso e contadores, e
sensores de posição que indicam a posição atual de uma peça, usados
em medição e posicionamento. São muito utilizados no posicionamento
de servomecanismos e por CNCs. São de vários tipos, mas os mais
comuns são:

• Encoder: converte movimento angular em sinal elétrico;


– Incremental: fornece apenas a informação do deslocamento
angular;
– Absoluto: fornece a posição absoluta do seu eixo.
– Encoder Incremental: sistema onde, de um lado, existe um disco
com janela; a intervalos regulares, é iluminado por uma fonte de
luz. Do outro lado do disco, fica um elemento fotossensível. Ao
girar, alternam-se as áreas com janela e sem janela, gerando no
elemento fotossensível uma sequência de pulsos. A contagem
dos pulsos permite a avaliação do deslocamento angular, tal qual
ocorre no mouse do computador.
• Régua ótica: converte movimento linear em sinal elétrico;
• Resolver: converte movimento angular em sinal elétrico;
• LVDT: converte movimento linear em sinal elétrico;
• Capacitivo: utilizado para medida de posição de até alguns
milímetros, bastante utilizado em medida de vibrações relativas;
• Indutivos: bastante utilizado para medida de pequenas distâncias,
baseado nas correntes de Eddy induzidas numa superfície condutora,
quando linhas de fluxo magnético interceptam com a superfície
condutora.
UNIUBE 55

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

Tacogerador: é um pequeno gerador elétrico de CC, com campo fornecido


por imã. A tensão gerada, pela Lei de Faraday é proporcional à velocidade
com que o fluxo magnético é cortado pelo enrolamento do rotor. Assim, o
Tacogerador é um transdutor mecânico elétrico linear.

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 tensão mecânica ou extensômetros


Extensômetros: dispositivos muito utilizados pela indústria para fins de
medição de tensões mecânicas e medições de peso (carga).

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

Sensor com interruptor de lâminas: como o anterior, mas usando este


interruptor acionado pelo imã.

Sensores fim de curso magnético: quando se aplica um campo magnético


num condutor, as cargas elétricas se distribuem de modo que as positivas
ficam de um lado e as negativas do lado oposto da borda do condutor.

Reed-Switch: sensor cuja aproximação de um imã ou solenóide (campo


magnético) em que as duas lâminas se encostam, fechando os contatos
externos.

Dispositivos de saída: atuadores


Os atuadores são os dispositivos responsáveis pela realização de
trabalho no processo ao qual está se aplicando a automação. Podem ser
magnéticos, hidráulicos, pneumáticos, elétricos, ou de acionamento misto. E,
também, serem contínuos ou discretos, dependendo da forma de atuação.
Basicamente, os principais atuadores em uso na automação são:

• eletroválvulas e cilindros;
• servomotores;
• servomotores dc ou cc;
• servomotores ac ou ca;
• motores de passo;
• motores lineares.

1.8 Principais elementos em acionamentos elétricos

• Botoeira ou botão de comando


Quando necessitamos acionar uma máquina (motor), a primeira coisa
em que pensamos é como ligá-la. O elemento de comando (chave)
utilizado para essa função é a botoeira. A diferença entre uma botoeira
e um interruptor residencial comum é que, no caso da botoeira, há o
UNIUBE 57

retorno para a posição de repouso através de uma mola, situação que


não ocorre com o interruptor de luz. O entendimento deste conceito é
fundamental para compreender o porquê da existência de um selo no
circuito de comando.

• 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.

Os relés mais simples constituem-se de uma carcaça com cinco terminais.


Os terminais (1) e (2) correspondem a bobina de excitação. O terminal (3) é o
de entrada, e os terminais (4) e (5) correspondem aos contatos normalmente
fechados (NF) e normalmente abertos (NA), respectivamente.

• 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

Os estudos deste capítulo contemplaram o controle automático,


demonstrando como identificar as suas vantagens e as suas aplicações
de modo simplificado como aparece o controle digital direto, supervisório
e distribuído a computador, identificando características de cada um.
58 UNIUBE

Referências

BRYAN, L. A. & BRYAN, E.A. Programmable controllers: theory and implementation,


2nd ed.,United States of America: Industrial Text Company, 1997.

FRANCHI, Claiton Moro e CAMARGO, Valter Luís Arlindo de. Controladores lógicos
programáveis – sistemas discretos. 2. ed. São Paulo: Érica, 2008.

GEORGINI, Marcelo. Automação aplicada – descrição e implementação de


sistemas seqüenciais com Plcs. 8. ed. São Paulo: Érica, 2004.

MICHEL, G. Programmable logic controllers – architecture and aplications. John


Wiley & Sons Ltd. England, 1990.

MIYAGI, P. E. Controle programável – fundamentos do controle de sistemas


a eventos discretos. Ed. Blucher, 1996.

MORAES, C. C. e CASTRUCCI, P. L. Engenharia da automação industrial. Rio


de Janeiro: LTC Editora, 2001.

PRUDENTE, Francesco. Automação Industrial – PlC: Teoria e Aplicações. Rio de


Janeiro: LTC Editora, 2007.

SILVEIRA, Paulo Rogério da e SANTOS, Winderson E. dos. Automação e controle


discreto. 7. ed. São Paulo: Érica, 2008.

WEBB, J. W. Programmable logic controllers, principles and applications. Prentice


Hall, New Jersey, 1995.
Estudo do padrão
Capítulo IEC 611131-1 aplicado
2 à programação dos
controladores programáveis:
linguagens textuais
Marcelo Lucas

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.

Com o sucesso de uso de CLP’s na indústria, a demanda por novas


funções e maior capacidade aumentou consideravelmente. Os
equipamentos cresceram em poder de processamento, número
de entradas e saídas (I/O) e novas funções. Anteriormente, esses
controladores usavam a lógica discreta e só eram utilizados na
indústria, pois seus custos tornavam inviáveis outras aplicações.

Atualmente, existe uma forte tendência na utilização de pequenos


controladores programáveis, controlando processos locais e
comunicando-se com outros controladores e com sistemas
supervisórios. Assim, é possível descentralizar o controle industrial,
evitando que uma pane interrompa toda a planta. Muitas máquinas
60 UNIUBE

já possuem pequenos CLP’s para controlá-las. Além disso, diversos


sensores industriais já utilizam microprocessadores junto ao sensor,
para conformar o sinal de saída que ainda pode ser de 4 a 20 mA ou
comunicação serial 485, por exemplo. Com a diminuição de custos
dos CLP’s, estes passaram a ser utilizados em outros campos, como
na automação predial, no controle de iluminação, alarme, ambiente,
ventilação, temperatura e umidade etc.

Hoje em dia, existe uma preocupação em padronizar protocolos


de comunicação para os CLP’s, de modo a proporcionar que o
equipamento de um fabricante “converse” com o equipamento de
outro fabricante, não só CLP’s, mas, também, Controladores de
Processos, Sistemas Supervisórios, Redes Internas de Comunicação
etc., proporcionando uma integração a fim de facilitar a automação,
gerenciamento e desenvolvimento de plantas industriais mais
flexíveis e normalizadas, fruto da chamada globalização. Existe uma
fundação mundial para o estabelecimento de normas e protocolos
de comunicação.

Algumas das principais características de um controlador


programável são:

• 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

Entre os inúmeros tipos de indústrias que, hoje, aplicam Controladores


Programáveis, podemos destacar:

• automotiva;
• transformadora de plástico;
• produção de açúcar e álcool;
• cerâmica;
• petroquímica;
• embalagem;
• bebidas;
• papel, etc.

Para facilitar a programação dos CLP’s, diversas linguagens de


programação foram sendo desenvolvidas durante o tempo. Essas
linguagens de programação constituem-se em um conjunto de
símbolos, comandos, blocos etc., com regras de sintaxe. Todos os
fabricantes possuem um ambiente de programação que permite o
desenvolvimento de uma aplicação de controle baseada em uma
ou mais linguagens de programação disponível. Esse aplicativo é
uma poderosa ferramenta de desenvolvimento, documentação e
manutenção de aplicações de controle, executada normalmente
em ambiente Windows™.

Normalmente, os softwares de programação são compostos de,


uma forma geral, pelos seguintes componentes:

• Documentação: composta por um editor de textos, que


permite gerar a documentação do projeto, a partir de itens
como: projeto, principal e subrotinas.
• Configuração de hardware: aqui, você tem acesso a todos os
parâmetros e objetos da configuração do CLP, englobando
desde as placas de expansão do CLP até as telas de IHM.
62 UNIUBE

• Configuração da IHM: possibilita o acesso às ferramentas


para criar, excluir e configurar telas, funções de teclas e
alarmes da IHM.
• Comentários de operandos: possibilita fazer uma breve
descrição de cada um dos registros/ EI’s do projeto, facilitando
uma posterior análise.
• Programas e sub-rotinas: a pasta “programas” armazena
o programa principal e sub-rotinas. A pasta “sub-rotinas”
armazena todas as sub-rotinas do projeto. Os programas e
sub-rotinas são tratados como entidades independentes, em
janelas independentes.
• Supervisão: permite supervisionar todos os operandos, ou
seja, a partir dessa tabela, o usuário terá acesso ao valor/
status da variável supervisionada. Esse recurso permite
também uma supervisão por meio de um gráfico das variáveis
do processo/ máquina, sendo que pode-se criar várias janelas
de supervisão com nomes diferentes.

Objetivos

Ao final dos estudos propostos, esperamos que você seja capaz de:

• proporcionar conhecimento teórico e prático dos conceitos


e padronizações internacionais para desenvolvimento de
aplicativos para CLP’s;
• conhecer as vantagens de utilização da norma IEC 611313;
fornecer os conhecimentos básicos da Padronização
Internacional de Linguagens;
• compreender os conceitos básicos das linguagens textuais
Lista de Instrução (IL) e Texto Estruturado (ST).
UNIUBE 63

Neste capítulo, você encontrará o conteúdo básico sobre a


programação dos controladores programáveis, além das principais
características da norma IEC 611313, que trata da padronização
das linguagens de programação para esses dispositivos.

Inicialmente, será feita uma breve abordagem sobre Especificação


dos Controladores Programáveis. Em seguida, trataremos das
redes de comunicação, assunto de grande importância quando se
trata de CLP’s, e finalizaremos nossos estudos das Linguagens
de Programação, previstos na norma IEC. As linguagens, aqui,
abordadas serão: a Lista de Instruções e o Texto Estruturado, que
são classificados como textuais. As gráficas serão abordadas
posteriormente, finalizando, assim, nosso estudo sobre Automação
dos Processos Discretos.

Bom trabalho a todos e que os objetivos dessas atividades sejam


alcançados.

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

2.1 Especificação do CLP

Antes de iniciar a programação, temos que definir as características e


especificações do CLP. A seguir, será apresentada o Quadro 1 contendo
as principais características que são levadas em consideração quando
se deseja especificar algum tipo de CLP.

Quadro 1: Especificações básicas para a maioria dos CLP’s

TABELA DE ESPECIFICAÇÕES

Modelo

Fabricante

CARACTERÍSTICAS GERAIS

Descrição Especificação

Tensão de alimentação nominal

Falta momentânea de energia permissível

Isolação Óptica

Temperatura de Armazenagem

Temperatura de Operação

Umidade

Vibração

Imunidade a ruído

Imunidade à descarga eletrostática

Indicadores LED

Método de Programação

Conjunto de Instruções

Interface Homem-máquina

Proteção contra queda de energia

Interface de Comunicação

Tempo de varredura
UNIUBE 65

CARTÕES DIGITAIS OU ANALÓGICOS


Descrição Númeromáximodepontos Modelo
Módulos no Bastidor
Entrada Analógica
Saída Analógica
Canal de Temperatura
Entrada Digital
Saída Digital
Canal de Contagem Rápida (100 kHz)
Canal de Contagem Rápida (3 kHz)
Canal de Contagem Rápida (2 kHz)
Módulos Slaves

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

Visto que existem diversos fabricantes, outras informações que se


fizerem necessárias deverão se complementar. Com essas informações
e baseado nos módulos existentes em cada família de controladores,
podemos selecionar o CLP e a configuração que atende a nossa
necessidade com a melhor relação custo/ benefício.

2.2 Comunicação

Uma dos requisitos básicos aos CLP’s, no momento de sua idealização,


é a capacidade de comunicar-se com outros dispositivos conectados
em rede. Entretanto, para fazer com que equipamentos diferentes se
UNIUBE 67

comuniquem entre si e troquem informações essenciais ao controle e à


gestão dos processos industriais, é necessária padronização tanto a nível
físico quanto a nível lógico.

Com relação ao nível físico, vários padrões foram desenvolvidos, sendo


RS232 e RS485 os mais usuais. RS é uma abreviação de Recommended
Standard, ela descreve a padronização de uma interface comum para
comunicação de dados entre equipamentos, criados pela Eletronic
Industries Association (EIA).

Os padrões RS232 e RS485 definem características mecânicas, elétricas,


funcionais e procedurais para ativar, manter e desativar conexões físicas
que se destinam a transmitir bits entre dois dispositivos.

• Características mecânicas: definem o tamanho e a forma dos


conectores, pinos, cabos etc., que compõem um circuito de transmissão.
• Características elétricas: especificam os valores dos sinais elétricos
(níveis de voltagem e corrente) usados para representar bits, o
tempo entre mudanças desses valores, etc. Determinam também
as taxas de transmissão e distâncias que podem ser atingidas.
• Características procedurais: especificam combinações e sequências
de sinais que devem ocorrer para que uma interface do nível físico
cumpra o seu papel de receber e transmitir bits.

Canais de comunicação

Um canal de comunicação é o meio onde a informação é transmitida.


Podemos classificar os canais de comunicação da seguinte forma:

• canal simplex: canal no qual a direção de transmissão é inalterada,


ou seja, a transmissão é feita num só sentido.
• canal halfduplex: é um canal físico simples no qual a direção pode
ser revertida. As mensagens podem fluir nas duas direções, mas
nunca ao mesmo tempo.
68 UNIUBE

• canal fullduplex: permite que mensagens sejam trocadas


simultaneamente em ambas as direções. Pode ser visto como dois
canais simplex, um canal direto e um canal reverso.

Taxa de transmissão

Podemos dizer que a taxa de transmissão refere-se à velocidade com que


os dados são transmitidos através de um canal e é medida em sinalizações
de linha por segundo. Na norma EIA, ocorre uma transição de sinal por bit e
a taxa de transmissão e a taxa de bit (bit rate) são idênticas.

Outro conceito importante é o da eficiência do canal de comunicação


que é definido como sendo o número de bits de informação utilizável
(dados) enviados através do canal por segundo. Ele não inclui bits de
sincronismo, formatação e detecção de erro, que podem ser adicionados
à informação antes da mensagem ser transmitida. Os quadros 2 e 3, a
seguir, mostram as especificações dos padrões RS-232 e RS-485.

Quadro 2: Especificações da Comunicação Serial RS232

Comunicação Serial RS-232

Tipo de Rede Ponto a ponto


Distância Máxima 15m
Máxima Taxa de Transmissão 20kbps
nível lógico 0 (+5V à +15V)
Nível Elétrico
nível lógico 1 (5V à 15V)
DB25 (por norma)
Conectores
DB9 (usual)
fullduplex (podendo ser utilizado como um canal
Canal de comunicação
halfduplex)
UNIUBE 69

Quadro 3: Especificações da Comunicação Serial RS-485

Comunicação Serial RS-485

Tipo de Rede multiponto (até 32 transmissores ou receptores)

Distância Máxima Distância Máxima 1200m

Máxima Taxa de Transmissão 10 Mbps

Conectores não definido

Canal de comunicação half-duplex

Tipologias de rede

Os tipos de comunicação dos dados entre os CLP’s ou entre Terminal


de Programação/ Supervisão e CLP devem ser definidos. Existem
CLP’s que se comunicam em redes abertas, tipo de rede utilizada por
diferentes fabricantes ou redes proprietárias que consiste no tipo de rede
do fabricante do CLP.

• REDES DO TIPO ORIGEM-DESTINO


Nesses tipos de configurações, os dados são transmitidos/recebidos do
nó fonte para um destino específico. A ação sincronizada entre os nós
é muito difícil, uma vez que os dados chegam aos nós em momentos
diferentes, ocorrendo o desperdício de recursos em função da repetição
dos mesmos dados quando apenas o destino é diferente.

• 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

A troca de dados pode ser do tipo cíclica, ou seja, dispositivos produzem


dados a uma taxa configurada pelo usuário. Em uma rede produtor-
consumidor, as mensagens são identificadas pelo conteúdo e não pelo
origem/destino. O cabeçalho da mensagem diz “esta é a mensagem 75”.
Os dispositivos que precisam destes dados “consomem” a mensagem.
Esta nova tecnologia de redes permite que os dados síncronos (I/O)
sejam adquiridos em intervalos específicos e que dados não síncronos
como “upLoads”, “down-Loads” configuração, programação sejam
transferidos em intervalos não programados. Estes dois tipos de tráfego
são suportados pela rede sem que um tipo venha interferir sobre o outro.

Veja, na Figura 1, a seguir, um exemplo de rede produtor-consumidor.

Figura 1: Rede produtor-consumidor.


Fonte: (MICROSIS RIOEQUIPAMENTOS & SERVIÇOS LTDA. Curso de Controlador Lógico
Programável SLC500).

• COMUNICAÇÃO MASTER-SLAVE (MESTRE-ESCRAVO)


Nesse tipo de topologia, a estação mestre é fi xa e somente ela é capaz
de iniciar as mensagens. Dispositivos escravos trocam dados apenas
com o mestre. Um mestre e múltiplos escravos.
UNIUBE 71

Veja na Figura 2, a seguir, um exemplo de comunicação master-slave.

Figura 2: Comunicação masterslave.


Fonte: (MICROSIS RIO-EQUIPAMENTOS & SERVIÇOS LTDA. Curso de Controlador Lógico
Programável – SLC500).

• COMUNICAÇÃO MULTIMESTRE
Pode-se ter mais de um mestre e cada mestre tem o seu próprio conjunto
de escravos.

Veja na Figura 3, a seguir, um exemplo de comunicação multimestre.

Figura 3: Comunicação multimestre.


Fonte: (MICROSIS RIOEQUIPAMENTOS & SERVIÇOS LTDA. Curso de Controlador Lógico
Programável – SLC500).

• 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

Veja na figura 4, a seguir, um exemplo de estação em que ocorre


comunicação peer to peer.

Figura 4: Comunicação peer to peer.


Fonte: (MICROSIS RIOEQUIPAMENTOS & SERVIÇOS LTDA. Curso de Controlador Lógico
Programável SLC500).

• 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.

2.3 Métodos de troca de dados

Cíclica

Veja na Figura 5, a seguir, que nesse tipo de método, os dispositivos


produzem dados a uma taxa configurada pelo usuário. Essa transferência
cíclica é eficiente devido ao fato de que os dados são transferidos numa
taxa adequada ao dispositivo/aplicação. Com isso, recursos podem ser
preservados para dispositivos com alta variação e melhor determinismo,
compatível com Mestre/escravo, Multimestre, Peer-to-peer e Multicast.
UNIUBE 73

a cada 1000ms

a cada a cada
5ms 2000ms

Figura 5: Troca de dados do tipo cíclica.


Fonte: (MICROSIS RIO-EQUIPAMENTOS & SERVIÇOS LTDA. Curso
de Controlador Lógico Programável – SLC500).

Mudança de estado

Nesse tipo de troca de dados, os dispositivos produzem dados apenas


quando têm seu estado alterado. Um sinal, em segundo plano, é
transmitido ciclicamente para confirmar que o dispositivo está operando
normalmente. A mudança de estado é eficiente, devido ao fato de
que se reduz significativamente o tráfego da rede e recursos não são
desperdiçados, processando-se dados antigos (Figura 6).

Figura 6: Troca de dados por mudança de estado.


Fonte: (MICROSIS RIOEQUIPAMENTOS & SERVIÇOS LTDA. Curso de Controlador Lógico
Programável – SLC500).
74 UNIUBE

Polling

O polling é um sinal enviado na rede quando os dispositivos recebem


dados (normalmente, saídas) e, imediatamente, enviam seus dados
(normalmente, entradas). É utilizado em sistemas Mestre/escravo e
Multimestre.

A Figura 7, a seguir, ilustra uma troca de dados por polling

Figura 7: Troca de dados por polling.


Fonte: (MICROSIS RIOEQUIPAMENTOS & SERVIÇOS LTDA. Curso de Controlador Lógico
Programável – SLC500).

Protocolos de comunicação

Podemos conceituar protocolo de comunicação como sendo um conjunto


de regras, requisitos e procedimentos que devem ser obedecidos para
que se possa transmitir uma informação em uma rede de comunicação
de dados digital, de forma que os dispositivos possam se comunicar. É o
idioma utilizado na rede, ou seja, o dispositivo transmissor necessita ser
compreendido pelo receptor e cada fabricante tem seus próprios padrões.
Existem protocolos que definem desde as características físicas de
interligações entre dispositivos, até como deve ocorrer o gerenciamento
das mensagens (Figura 8).
UNIUBE 75

Figura 8: Níveis de rede.


Fonte: (RIBEIRO, 1999).

No nível de planta, temos a supervisão e gerenciamento de todo processo


que, normalmente, ocorre por meio de um software de supervisão. De
uma forma resumida, as ações associadas a este nível são:

• supervisão;
• comando;
• planejamento;
• banco de dados.

Podemos citar como exemplo desse nível as redes Profinet, Ethernet/IP


e Fieldbus Foundation HSE. Agora, no nível de controle, é permitido o
controle sobre as ações do nível de campo em função das definições e
comandos dados pelo nível da planta. De uma forma resumida, as ações
associadas a esse nível são:

• controle em tempo real;


• segurança;
• interface.
76 UNIUBE

Como exemplo desse nível, temos as redes Profi bus FMS, Modbus,
APR03M e Controlnet.

Finalmente, no nível de campo, as redes que fazem parte desse nível


constituem a base na hierarquia da comunicação industrial. A partir
desse nível, torna-se possível a aquisição e atuação direta dos dados
de chão de fábrica como valor de pressão, status de um motor, ligamento
e desligamento de uma válvula etc. De uma forma resumida, as ações
associadas a esse nível são:

• aquisição das variáveis;


• atuação sobre equipamentos.

Podemos citar como exemplo desse nível, as redes Profibus DP e PA,


AS-Interface, Interbus, Devicenet, APR03M e Fieldbus Foundation H1 .

Veja, a seguir, no Quadro 4, as características principais entre os níveis


de rede.

Quadro 4: Comparação entre os níveis de rede

Característica Planta Controle Campo Sensor


Tamanho da
Mbytes Kbytes bytes Bits
Mensagem
Micro
Tempo de Resposta Segundos 5 a 100 ms ms
segundos
Sem
Distância Máxima Km Km 100 m
Limitação
Redundância Sim Sim Sim Não
Áreas Classificadas Não Não Sim Sim
Elétrico/ Elétrico/ Elétrico/ Elétrico/
Meio Físico
Óptico Óptico Óptico Óptico

Cobertura Geográfica Grande Grande Média Pequena


UNIUBE 77

No Quadro 5, a seguir, é feita uma relação das principais diferenças entre


alguns dos principais protocolos existentes.

Quadro 5: Tabela ilustrativa das diferenças entre diversos protocolos de comunicação

Características APR03M Profibus DP Devicenet Ethernet


Desenvolvedor Atos Profibus ODVA ODVA
Velocidade 2 Mbit/s 12 Mbit/s 500 kbit/s 100 Mbit/s
Modo de Produtor/ Produtor/ Servidor/
Origem/Destino
Comunicação Consumidor Consumidor cliente

200m
1900m (10 Km 500 m
Distância máxima (RS-485)km 100 m
com repetidor) (125kb)
(fibra óptica)

Nº. De nós sem 400 por


32 32 62
repetidores segmento

Gerenciamento Multimestre NA: colisão


Multimestre Multimestre
da rede Mestre-escravo CSMA/CD

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

Troca a quente Sim Sim Sim Sim


78 UNIUBE

Descrição de alguns protocolos

DF1: protocolo proprietário usado para comunicação ponto a ponto


(conexão direta) ou remota, por meio de modens. Consideramse dois tipos:

• DF1FULL-DUPLEX: a transmissão se dá nas duas direções, recebe-


se e transmite-se simultaneamente.
• DF1 HALF-DUPLEX: a transmissão se dá em ambos os sentidos,
porém não simultaneamente.

DH485: Rede “Token Pass” com topologia em barramento, de comprimento


de cabo até 1.219 metros, com Baud rate: 1200, 2400, 9600, 19.200.
Possibilidade de até 32 dispositivos. Exclusiva para CLP’s da família SLC500,
Micrologix e dispositivos Homem-máquina e softwares de supervisão.
REMOTE I/O: rede de entradas, saídas e dispositivos físicos remotos.
A quantidade de dispositivos acoplados depende da CPU utilizada. A
extensão máxima dos cabos depende da velocidade de transmissão e
pode ir até 3000 metros. Presente nos processadores PLC5 e cartão
Scanner do SLC500.
DH +: rede proprietária da Allen Bradley, de maior desempenho, possui
uma maior quantidade de drivers para comunicação. Possui uma taxa
de comunicação de 57,6 Kbps, comprimento do cabo da rede até 3.000
metros e do cabo da rede secundária 30 metros. Pode-se ter até 64
estações na rede. Presente em todos os CLP’s família 5 e SLC500-5/04.
CONTROL NET: este tipo de protocolo garante a opção de meio físico
redundante. É uma rede baseada no modelo “Produtor/Consumidor”,
posssui taxa de 5 Mbps, conexão por cabo coaxial até 99 estações
na rede, distância de 3 Km no tronco principal, usando repetidores
pode-se estender em até 30Km e, até 500m, no secundário, é uma rede
determinística na qual podem-se ter dados de I/O e dados entre CPU’s
trafegando na mesma rede.
UNIUBE 79

DEVICE NET: é uma rede complementar aberta de dispositivos de


campo, com possibilidade de cada Scanner poder endereçar até 63
estações, com distância de até 500m, com velocidade de 125K baud.
Possui possibilidade de interligação de diferentes fornecedores, suporta
comunicação produtor/ consumidor. Os dados de I/O e configuração
trafegam no mesmo meio físico sem interferências. Nesse modelo,
podem trafegar dados a todos que necessitam, ao mesmo tempo.
Baseada no protocolo CAN (Controller Area Network), desenvolvido
pela Bosch para indústria automobilística, o que garante a sua robustez
em ambientes ruidosos. Pode-se fazer a remoção de nós sem afetar a
integridade da rede, possui sinal e alimentação de 24 VCC no mesmo
cabo. Cabo de rede constituído por dois pares trançados: um par “sinal”
e um par “alimentação”, de até 8 A com blindagem.
ETHERNET: rede local de comunicação de dados local com taxa de
comunicação de 10Mbit/s presente nos controladores da família 5: 5/20E,
5/40E, 5/80E e SLC500 5/05. Essa rede possui grande versatilidade
(inúmeros fabricantes a acessam), grande estabilidade e velocidade de
processamento dos dados. Com uma rede Ethernet, você tem recursos
de rede quase ilimitados, pois pode maximizar a comunicação entre a
grande variedade de equipamentos oferecidos por vários fornecedores.

2.4 Linguagem de programação

Para que seja executado algum tipo de tarefa usando-se dispositivos


microprocessados, é necessário o desenvolvimento de uma sequência
de ações, logicamente encadeada, que instrua o dispositivo a realizar
as funções desejadas. Para efetuar a comunicação entre o usuário e o
dispositivo, é necessária a utilização de uma linguagem de programação.

A linguagem de programação é uma ferramenta necessária para


gerar o programa que vai coordenar e sequenciar as operações que o
microprocessador deve executar.
80 UNIUBE

Podemos classificar basicamente as linguagens de programação em:

• linguagem de baixo nível;


• linguagem de alto nível.

Linguagem de baixo nível

• 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.

Linguagem de alto nível

É a linguagem mais próxima da linguagem utilizada na comunicação


humana. Quando um microcomputador utiliza uma linguagem de alto
nível, é necessária a utilização de compiladores ou interpretadores para
traduzirem este programa para a linguagem de máquina.

As linguagens compiladas ou interpretadas possuem com vantagem um


menor tempo na elaboração dos programas, não sendo necessários
grandes conhecimentos sobre a arquitetura do microprocessador. Como
desvantagem, necessitam de tempo de processamento maior do que em
sistemas desenvolvidos em linguagens de baixo nível.
UNIUBE 81

Exemplos de linguagens de alto nível:

• Pascal;
• C;
• Fortran;
• Cobol;
• Etc..

2.5 Técnicas de programação

Existem diversas técnicas e métodos que foram desenvolvidos com


objetivo de auxiliar a criação de programas. Algumas delas podem ser
perfeitamente aplicadas à programação, em geral.

A seguir, tem-se uma abordagem bem superficial sobre alguns conceitos


e técnicas que poderão facilitar o desenvolvimento futuro de rotinas
usando alguma linguagem especificada pelo padrão IEC 611313, que
será visto, a seguir.

Modularização: consiste na quebra do problema principal em problemas


menores, as chamadas subrotinas, cada uma delas com uma função
específica. Assim, fica mais fácil para quem desenvolve o programa
entendê-lo e alterá-lo, quando necessário. Outra grande vantagem da
modularização é a possibilidade de reaproveitar as rotinas desenvolvidas
para um programa em outro, ou seja, podemos construir nossas
bibliotecas de funções. Algumas rotinas como estatística e aquecimento
são praticamente idênticas em qualquer programa e podem ser
adaptadas facilmente quando usadas como rotinas isoladas. A estrutura
de subrotinas é montada utilizando-se das instruções CALL, RET e JMP,
dentre outras, dependendo da linguagem.
82 UNIUBE

Estruturação: um programa, quando bem organizado, é mais simples


de ser analisado por qualquer pessoa, um dos principais conceitos que
contribuem para isso é a estruturação. Podemos dizer, de forma simplifi
cada, que um programa estruturado é aquele que não possui instrução de
salto incondicional (JUMP), uma vez que essa instrução provoca desvios
incondicionais no programa dificultando, assim, seu entendimento. Uma
questão a ressaltar, no entanto, é que a instrução de subrotina, que
também é uma instrução de salto, não desestrutura o programa, pois,
ao término da subrotina, a execução do programa continua a partir do
ponto onde havia ocorrido o desvio.

Fluxogramas: uma das maneiras de se representar a lógica de um


programa ou rotina. Eles consistem em blocos funcionais representando
determinadas tarefas que, quando ligados juntos, formam a lógica do
programa.

Diagrama de tempos e eventos: o diagrama de tempos e eventos é uma


representação, num diagrama temporal das entradas, sinais auxiliares e
das respectivas saídas que eles geram. É como se pudéssemos filmar as
saídas a cada instante e, depois, colocar esse filme sobre uma folha de
papel, onde analisaríamos todos os seus valores a cada instante. Para
montar o diagrama de tempos e eventos, criamos linhas que representam
cada uma das saídas de nosso processo e, então, colocamos sobre
esta linha as entradas e suas combinações e indicamos o valor de cada
saída. Os estados auxiliares são montados observando-se as entradas
e as saídas a cada instante.

Tabela de eventos e estados: aqui, o processo é dividido em etapas,


monta-se, então, uma tabela em que cada etapa é uma linha e cada entrada,
saída ou estado auxiliar é uma coluna. Assim, pode-se determinar para cada
combinação de entradas o valor das saídas.
UNIUBE 83
IMPORTANTE!

A escolha de como desenvolver uma rotina baseada numa descrição


genérica, normalmente, leva a mais de uma solução. As linguagens que
serão, aqui, tratadas servirão de base para o desenvolvimento de aplicações
para CLP’s. No entanto, queremos destacar que a prática vai mostrar ao
desenvolvedor quando devemos usar cada uma das técnicas apresentadas.

2.6 Norma ou padrão IEC 611313

A adoção do padrão IEC 611313 (International Electrotechinal Commitee),


pela indústria, se deve, basicamente, à crescente complexidade das
aplicações e às crescentes exigências na automatização. Os impactos
nos projetos de automação podem ser minimizados quando utilizamos a
norma IEC 611313. Utilizando uma linguagem de programação padrão,
consegue-se diminuir o impacto do ciclo de vida do software, incluindo
a análise das exigências, projeto, programação, teste (validação),
instalação, operação e manutenção no custo total da aplicação. Podemos
observar, ainda, que o trabalho de manutenção do software aplicativo,
inclusive as atualizações, é geralmente de duas a quatro vezes maior,
quando comparado ao trabalho da programação inicial.

O padrão IEC 611313 combinado com a capacidade, cada vez mais


crescente, das novas arquiteturas dos processadores, possibilitam a
integração de todo controlador em um único dispositivo embutido. As
aplicações de controle podem ser executadas de forma distribuída e
independentemente do lugar onde estão concentrados os controladores.
Para as aplicações mais complexas, não é mais necessária a codificação
de milhares de linhas de programas em um único controlador. Isso
aumenta o desempenho, melhora a confiabilidade e simplifica os
programas.
84 UNIUBE

O IEC 611313 possibilita a utilização de múltiplas linguagens dentro de


um programa de controle. O programador pode escolher a linguagem
mais adequada para uma determinada tarefa em particular, possibilitando
um grande aumento na sua produtividade. Com uma interface de
programação unificada e completamente independente da plataforma de
hardware, os custos de manutenção e treinamento podem ser reduzidos
drasticamente.

A norma IEC 611313 constituiu o primeiro passo rumo à padronização


das linguagens de programação aplicadas à automação industrial. Assim,
pode-se dizer que ela é muito mais que um padrão para programação de
CLP’s, mas, sim, uma metodologia universal para a definição de linguagens
para automação, em geral. Em função de existir uma necessidade mundial,
esta é uma norma independente de qualquer empresa. A família IEC 61131
está dividida em 5 partes, a saber:

• Parte 1 – General Overview


• Parte 2 – Hardware
• Parte 3 – Programming Languages
• Parte 4 – User Guidelines
• Parte 5 – Communication

Outras três partes estão em fase de elaboração:

Parte 6 – Comunicação via Fieldbus


Parte 7 – Programação utilizando Lógica Fuzzy
Parte 8 – Guia para Implementação das Linguagens

A parte de número 3 trata das linguagens de programação, que podem


ser subdivididas em duas partes. Veja a figura 9:

• Elementos Comuns (Common Elements)


• Linguagens de programação (Programming Languages)
UNIUBE 85

Norma IEC 61131-3

Elementos Comuns

Linguagens de Programação

Figura 9: Estrutura das linguagens de programação definidas


pela IEC 61131-1.

A seguir, apresentamos o resumo das principais características e


conceitos da norma IEC 611313:

• implementa o conceito de base de dados com declaração de


variáveis e alocação dinâmica;
• trabalha com tipagem de dados;
• estruturação, modularização, reutilização e portabilidade de software;
• possibilita programar, orientado a objetos;
• processamento multitarefa;
• possui um grupo de cinco linguagens de programação que é definida
em função da aplicação.

A norma IEC 61131-3 proporciona ao programador, por meio dos conceitos


e das linguagens de programação, as seguintes vantagens:

• criação de bibliotecas e, consequentemente, a reutilização de código;


• produção de aplicações mais consistentes, portanto, com menor
ocorrência de erros;
• maior simplicidade do programa de controle;
• total atendimento dos requisitos, tanto para controle de processos
discretos quanto contínuos;
86 UNIUBE

• maior otimização da CPU do controlador;


• facilidade de manutenção e treinamento;
• melhor estruturação da base de dados possibilitando um melhor
compartilhamento dos dados;
• redução do esforço de engenharia para programação, testes e
comissionamento.

2.6.1 Elementos comuns

Podemos dizer que um programa de computador é um conjunto de


instruções escritas, em linguagem de programação, colocada numa forma
compreensível para o dispositivo programável. Basicamente, um programa
interage com dois tipos de objetos: dados e conjunto de instruções.

Os dados são as informações que desejamos manipular. O conjunto


de instruções é a descrição da forma como devemos manipular esses
dados. De uma forma geral, os elementos básicos definidos pela norma
IEC para as linguagens de programação sã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 é:

• primeiro caracter tem que ser letra de A a Z;


• não é permitido o uso do caracter underline _ repetidos;
• não é permitido o uso de espaço;
• podem ter qualquer tamanho, mas apenas os seis primeiros caracteres
são considerados para unicidade.
UNIUBE 87

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.

• TIPOS DE DADOS DERIVADOS


Um tipo de dado derivado é criado usando as palavras reservadas TYPE
e END_TYPE como construtores de tipos.

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!

O compilador assegura que somente os valores que estiverem dentro da


faixa definida sejam atribuídos às variáveis daquele tipo.

• 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

Variáveis locais: são variáveis limitadas ao módulo nas quais são


declaradas (escopo local). Assim, é possível a reutilização em outras
partes sem nenhum conflito, eliminando outra fonte de erros muito
comum, os dados corrompidos pelo programa.
90 UNIUBE

Exemplo

VAR
VELOCIDADE_MEDIA: REAL;
INIBE: BOOL;
END_VAR

Variáveis de entrada: são as variáveis utilizadas como parâmetro


de entrada de uma POU. Servem como interface na passagem de
parâmetros de fora para dentro do módulo.

Exemplo

VAR_INPUT
SetPoint: REAL;
Max_Count: SINT;
END_VAR

Variáveis de saída: são as variáveis utilizadas como parâmetro de


saída de uma POU. Também servem como interface na passagem de
parâmetros de dentro para fora do módulo. São requeridas por programas
e blocos de função, mas não por funções.

Exemplo

VAR_OUTPUT
Message: STRING(10);
Status: BOOL;
END_VAR

Variáveis de entrada/saída: são as variáveis que agem tanto como


entrada ou saída, podem ser modificadas em uma POU.
UNIUBE 91

Exemplo

TYPE
MODO_DO_DISPOSITIVO: (INICIALIZANDO, EXECUTANDO,
STANDBY, FALHA):= STANDBY;
END_TYPE

VAR_IN_OUT
AUTO: MODO_DO_DISPOSITIVO;
END_VAR

Variáveis globais: se for necessário o acesso ao conteúdo da variável


em outros módulos (unidades organizacionais de programa), esta deve
ser declarada como VAR_GLOBAL e dizemos que seu escopo é global.
Qualquer variável, definida como local ou global, pode ser inicializada na
partida a quente e a frio do sistema, de forma a se garantir a inicialização
da aplicação com valores corretos. Podem ser configuradas no nível de
configuração, resource ou programa e acessadas por POU’s por meio
de uma declaração de variável externa.

Exemplo

VAR_GLOBAL
Velocidade_Linha: REAL;
Numero_Job: INT;
END_VAR

Variável externa: são declaradas dentro de POU’s e propiciam acesso a


variáveis globais definidas no nível de configuração, resource ou programa.

Exemplo

VAR_EXTERNAL
Velocidade_Linha: REAL;
Numero_Job: INT;
END_VAR
92 UNIUBE

Variáveis de representação direta: são variáveis que possibilitam


acessar diretamente as posições de memória dos CLP’s. Para essas
variáveis, o identificador começa com %, sinal de porcentagem, seguido
de duas letras. Em um CLP, a memória é dividida logicamente em três
blocos. A primeira letra indica em qual região estará a informação a ser
acessada, conforme descrito, a seguir:

• I Input: armazena os valores analógicos e discretos dos módulos


de entrada;
• Q Output: armazena os valores a serem escritos nos dispositivos
de saída;
• M Memória interna: utilizada para armazenamento intermediário.

A segunda letra representa o tipo de dado a ser armazenado, ou seja,


define o espaço que será ocupado pela informação. Ela é interpretada
da seguinte forma:

• X Bit
• B Byte (8 bits)
• W Word (16 bits)
• D Double word (32 bits)
• L Long word (64 bits)

Os demais dígitos representam a posição de memória e estabelecem uma


hierarquia quando o endereço é constituído por números separados por
pontos. O significado de cada campo é dependente de implementação.
Por exemplo:

Exemplo

%I100 (* Memória de entrada bit 100 *)


%IX100 (* Memória de entrada bit 100 *)
%IW122 (* Memória de entrada palavra 122 *)
%IW10.1.21 (* Poderia representar: Rack 10, Módulo 1, canal 21 *)
%QL100 (* Memória de saída long word 100 *)
%MW132 (* Posição de memória 132 *)
UNIUBE 93

• 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

(* Define velocidade inicial e relação entre engrenagens como constantes *)


VAR CONSTANT
StartUp_Speed: REAL := 12.3; (* m/s *)
GearRatio: SINT := 12;
END_VAR

IMPORTANTE!

Vejamos, agora, alguns exemplos para fixarmos os conceitos.

Exemplo 1

Crie um tipo para enumerar os estados de um equipamento de controle.

Resolução:

TYPE STATUS_DO_MOTOR:
(OPERAÇÃO, DESLIGADO, MANUTENÇÃO, FALHA);
END_TYPE
94 UNIUBE

Exemplo 2

Defina uma estrutura para conter todos os parâmetros de um:

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

Crie uma estrutura que represente parâmetros de motor com os seguintes


parâmetros:

• corrente do motor do tipo real;


• velocidade do motor do tipo inteiro, podendo variar de 0 a 5000
RPM;
• status do motor do tipo enumerado, podendo assumir os seguintes
valores on, off, maintenance ou fail,
• alarme do tipo lógico, podendo assumir os valores verdadeiro ou
falso;
• sentido do motor do tipo enumerado, podendo assumir os valores
hora, anti;
• temperatura do tipo real inicializado com 23 ºC.

Atividade 2

Usando a estrutura da atividade anterior, declare:

• uma variável de entrada para armazenar e manipular as informações


de cinco motores de três áreas da empresa;
• três variáveis de saída para armazenar e manipular as informações
de cinco motores de cada uma das três áreas da empresa;
• uma variável de entrada e saída do tipo inteiro, podendo variar de 1
a 3, indicando a área;
• uma variável de entrada e saída do tipo inteiro, podendo variar de 1
a 5, indicando o motor.

2.6.2 Unidades organizacionais de programas

O padrão IEC 611313 se refere às funções, blocos funcionais e


programas com Unidades de Organização de Programas (POU’s).
96 UNIUBE

Funções

Podemos definir função como sendo um módulo que possui ou não


parâmetros de entradas, que executa uma sequência de instruções, que
gera um valor como saída e que pode ser reutilizado em outros pontos
do programa ou em outros programas.

Existem dois tipos de funções, as funções predefinidas e as funções


definidas pelos usuários.

Funções predefinidas são funções que já fazem parte da linguagem, por


exemplo, ADD(ition), ABS (absolute), SQRT, SINus e COSinus. Já as
funções criadas pelo usuário, e uma vez definidas, podem ser usadas
inúmeras vezes.

Exemplo

FUNCTION AVE_REAL:REAL
VAR_INPUT
INPUT1, INPUT2: REAL;
END_VAR

AVE_REAL:= (INPUT1 + INPUT2) / 2;


END_FUNCTION

Blocos Funcionais – FB’s

Podemos dizer que os blocos funcionais são verdadeiras caixas-pretas


e representam uma determinada função de controle especializada (veja
a Figura 10, a seguir).

Estes possuem dados e algoritmo próprios onde os estados passados


são preservados, o que os diferenciam das funções, ou seja, possuem
memória própria. Os FB’s possuem também uma interface bem definida
UNIUBE 97

e escondem sua codificação, assim como as funções, não é necessário


sabermos como foram construídos, mas, sim, como se comportam.

Dessa forma, os FB’s proporcionam uma separação clara entre diferentes


níveis de programadores e equipes de manutenção. São usados na
implementação de algoritmos PID, contadores, geradores de função,
filtros etc. Os FB’s possuem as seguintes variáveis:

• de entrada;
• de saída;
• internas ou temporárias.

A utilização de blocos de função possui as seguintes características:

• possibilita a persistência de dados;


• apenas as variáveis de entrada e saída de um bloco de função são
acessíveis externamente;
• uma instância de FB só é chamada de uma sequência de blocos
conectados ou por um programa em texto estruturado ou lista de
instrução;
• uma instância de bloco de função pode ser acessada por outro FB
ou por um diagrama Ladder.

A norma IEC 11313 define uma série de blocos de função padrões. Um


controlador PID usando uma malha de controle é um ótimo exemplo de
bloco funcional. Uma vez caracterizado, ele pode ser utilizado diversas
vezes, no mesmo programa, em diferentes programas ou, mesmo, em
outros projetos, tornando alta sua reutilização.

ENTRADAS ALGORITMO SAÍDAS

Figura 10: Representação de um bloco funcional com suas entradas e saídas.


98 UNIUBE

Programas

Podemos definir um programa como sendo uma sequência, logicamente


encadeada, de funções e blocos funcionais e pode ser escrito em
qualquer uma das linguagens de programação definidas pela IEC. O
programa é o maior bloco de POU, pode ser declarada no nível de
resource e conter instâncias de blocos de função, mas não de outros
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

Declarando instâncias de programas

Os programas também podem ser declarados em RESOURCES.

Exemplo

RESOURCE Res1 ON Proc_386


PROGRAM Line1: Fermentador;
PROGRAM CT1, CT2: COUNT1;
END_RESOURCE

Podemos ter, também, como interface entre o programa e as variáveis


declaradas fora do programa, a declaração de parâmetros de entrada e
saída no cabeçalho do programa.

Exemplo

PROGRAM Line1: Fermentador (Codigo_Reagente := A1, Esteriliza : = A2,


Periodo_Fermentacao := FTIME, Producao => AJ_43, Status => KX56);

Resources

Resources são unidades de processamento capazes de executar


programas IEC.

RESOURCE ResourceName ON Processador


< Declarações de variáveis Globais >
< Caminhos de acesso >
< Declaração de variáveis >
< Declaração de Programas >
< Definição de Tasks >
END_RESOURCE
100 UNIUBE

Tasks

Tasks ou tarefas é um mecanismo de escalonamento que executa


periodicamente ou em resposta a mudança de estado de alguma variável
booleana. A cada task podemos atribuir um período de execução e uma
prioridade. 0 é a maior prioridade possível.

Na prática, um programa de CLP deve poder ser executado a diferentes


velocidades, dependendo das necessidades temporais de cada processo
controlado. 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. Já as funções de intertravamento de segurança de uma
máquina ferramenta devem ser executadas a cada 5 m/s.

Task NomeDaTask < (parâmetro = valor, …)>

Escalonamento preemptivo e não preemptivo

• Escalonamento não preemptivo


Nesse tipo de escalonamento, uma task sempre completa seu
processamento, uma vez iniciado. Quando a task termina, a task de maior
prioridade à espera do processador é escalonada. Caso haja empate na
prioridade, a task que está esperando há mais tempo é escalonada. Após
a sua execução, uma task só será escalonada, quando o seu período de
execução se esgotar.

O intervalo entre a execução de tasks pode variar muito nesse tipo de


escalonamento. Uma task que demore um pouco mais em um loop irá
atrasar todas as demais tasks. Isso torna impossível prever com exatidão
quando uma determinada task será executada e caracteriza o sistema
como não determinístico.
UNIUBE 101

• 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.

Embora a norma não especifique como, os sistemas devem oferecer


maneiras de dizer quando não será possível cumprir uma designação
de períodos e prioridades e se possível ajudar o programador a otimizar
a designação de prioridades.

Exemplos

Task FASTINTERLOCKS(
INTERVAL:= t#30ms, PRIORITY := 0);
Task LOG_Task (SINGLE:= LogFlag, PRIORITY := 3);
Task CONTROL_Task (INTERVAL:= t#500ms, PRIORITY :=1);

Associando programas e blocos de função a tasks

Programas e blocos de funções são associados a tasks por meio da


palavra-chave WITH:

PROGRAM logger1 WITH LOG_Task: log();

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

Uma configuration define o software para um CLP completo e irá incluir


no mínimo um resource. A configuration depende da configuração de
hardware do CLP e do tipo de CPU empregado. A configuration inclui:

• recursos de processamento: CPU’s;


• endereços de memória para entradas e saídas;
• capacidades do sistema (número máximo de tasks e velocidades
de execução).

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

RESOURCE Res1 ON Proc_386


VAR_GLOBAL
ALARM_FLAG: BOOL;
END_VAR

Task IO_SCAN_Task (INTERVAL:= t#100ms, PRIORITY:= 0);


Task CONTROL_Task (INTERVAL:= t#200ms, PRIORITY := 1);
Task PROG_Task (INTERVAL:= t#400ms, PRIORITY := 2);

PROGRAM turbine1 WITH PROG_Task: turbine(speed_setpoint


:= G_speed_setpoint,
runUp_time:= g_runUp_Time, speed_pv:= %ID200,
UNIUBE 103

actuator_output => %QW310,


loop1 WITH CONTROL_Task, ramp1 WITH CONTROL_Task ,
io_scanner1 WITH
IO_SCAN_Task );
END_RESOURCE

RESOURCE Res2 ON Proc_8044


Task LOG_Task (SINGLE:= G_Log_Event, INTERVAL := T#0ms);
PROGRAM logger1 WITH LOG_Task: log (data => G_LOG_DATA);
PROGRAM diagnose1: diagnostics;
END_RESOURCE

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

Configuração, recursos e tarefas

Para melhor entendimento, vamos observar o modelo de software, como


definido pela norma (veja a Figura 11, a seguir):
Configuration
Resource Resource

Task Task FB
Task Task
Function
Block

Program Program Program Program


FB FB FB FB

Execution
contras path Figura 11: Relação
entre configuração,
Acess path recursos e tarefas.
104 UNIUBE

No nível mais alto, o software deve resolver um problema particular de


controle que pode ser formulado como uma Configuração (Configuration).
Uma configuração é específica para um sistema de controle particular,
incluindo a disposição do hardware, recursos de processamento,
endereçamento de memória para I/O e demais capacidades do sistema.

Dentro da configuração, pode-se definir um ou mais recursos (Resources).


Pode-se entender um recurso como um elemento com capacidade de
processamento dos programas IEC.

Dentro de um recurso, uma ou mais tarefas (Tasks) podem ser definidas.


Tarefas controlam a execução de um conjunto de programas ou blocos
funcionais. Essas podem ser executadas periodicamente ou quando
da ocorrência de um evento específico, tal como a mudança de uma
variável.

Programas (Programs) são constituídos de um número de diferentes


elementos escritos usando qualquer uma das linguagens definidas
pela IEC. Tipicamente, um programa consiste de uma rede de Funções
(Functions) e Blocos Funcionais (Function Blocks), os quais são capazes
de trocar dados. Funções e Blocos Funcionais são os blocos básicos de
construção, contendo uma estrutura de dados e um algoritmo.

Vamos fazer uma comparação com um CLP convencional: este contém um


recurso, executando uma tarefa, controlando um programa, processando
de forma cíclica. A IEC 61131-3 acrescenta muito mais capacidade,
tornando-o aberto para o futuro. Um futuro que inclui multiprocessamento
e programas disparados por eventos. Este futuro não está longe: basta
olhar para os sistemas distribuídos ou sistemas de controle de tempo real.
A IEC 61131-3 é apropriada para uma ampla faixa de aplicações, sem
a necessidade de se aprender linguagens de programação adicionais.
UNIUBE 105

2.7 Linguagens de programação definidas pela IEC 61131-3

O IEC é responsável pela padronização das linguagens de programação.


Isso significa que suas sintaxes e semânticas foram definidas, eliminando
a chance de dialetos. Uma vez aprendidas, é possível o uso de uma
variedade de sistemas baseados nessa norma. A norma IEC 61131-3
(IEC, 2003) define cinco linguagens básicas de programação de CLP’s:

• Lista de Instruções (Instruction List IL)


• Texto Estruturado (Structure Text ST)
• Diagrama de Contatos (Ladder Diagram LD)
• Diagrama de Blocos Funcionais (Function Block Diagram FBD)
• Cartas de Funções Sequenciais (Sequential Function Chart SFC)

A norma IEC classifica as linguagens de programação em duas categorias,


textuais (Lista de Instruções e Texto Estruturado) e gráficas (Diagrama
Ladder e Diagrama de Blocos Funcionais). Veja a Figura 12, a seguir:

Structured Text (ST)


Texto Estruturado
Textuais
Instruction List (IL)
Lista de Instruções
Function Block Diagram (FBD)
Diagrama de Blocos Funcionais
Ladder Diagram (DL)
Gráficas
Diagrama de Contato
Sequential Function Charts (SFC)
Cartas de Funções Sequenciais

SFC

ST IL FBD DL

Textuais Gráficas

Figura 12: Classificação das linguagens LD, FBD, IL e ST segundo norma IEC.
106 UNIUBE

Todas as quatro linguagens são interligadas, elas proporcionam uma


plataforma comum, com uma ligação com a experiência existente. Nesse
sentido, elas também funcionam como uma ferramenta de comunicação,
integrando pessoas de diferentes formações.

Quanto à carta de funções sequenciais, a norma IEC 61131-3 não considera


a SFC como uma linguagem de programação propriamente dita, mas, sim,
como uma linguagem de alto nível para estruturar e organizar blocos de
programa tipicamente sequencial. Como expresso na mesma norma, as
definições encontradas, aqui, sobre SFC são derivadas do GRAFCET, cuja
norma de referência é a IEC 60848 (IEC, 1999).

A norma ISA 5.2 (ISA, 1992) estabelece símbolos utilizados na


confecção de diagramas lógicos binários para representar operações
de processos. Tais símbolos não são exatamente padronizados como
símbolos da linguagem FBD da norma IEC 61131-3, mas, a maioria
possui equivalente direto dentro da mesma. As linguagens ST, IL, FBD
e LD podem ser usadas dentro de blocos de ação e em transições para
construir Sequential Function Charts. Exemplos dessas linguagens são
mostradas na Figura 13, a seguir.

%IX23.5 EmStop Motor FlipFlop


S SR
Button %IW3 >= VarOut
S1 Q1
N
%MW3 Varln
R

Ladder Diagram Function Block Diagram

LD %IX23.5
FlipFlop ( S1: = (%IW3 > = %MW3),
ORN Button
ANDN EmStop R: = Varln);
S Motor VarOut: = FlipFlop.Q1;

Instruction List Structure Text

Figura 13: Exemplo das linguagens de programação LD, FBD, IL e ST.


Fonte: IEC 61131-3: Programming Industrial Automation Systems – Concepts and Programming
Languages, Requirements for Programming Systems, Aids to DecisionMaking Tools.
UNIUBE 107

No exemplo anterior, os blocos de programa LD e IL e FBD e ST são


equivalentes, respectivamente.

Lista de instruções (Instruction List IL)

A Lista de Instruções é a proposta europeia para programação de CLP’s.


É uma linguagem textual, de baixo nível, usada para codificar blocos
de programas do tipo funções, blocos de funções e programas. Nas
Cartas de Funções Sequenciais (SFC), ela é utilizada para expressar o
comportamento, ações e transições. Além de linguagem textual de baixo
nível, ela é muito semelhante ao assembly, sendo ideal para solução
de problemas simples e pequenos, para os quais sejam necessárias
poucas quebras no fluxo de execução do programa. Se comparada com a
linguagem de texto estruturado, ela possui como diferencial a capacidade
de ser mais fácil sua codificação, sendo a linguagem preferida por
pequenos programadores de CLP’s.

Em função de sua semelhança como o assembly, é considerada por


muitos programadores como a linguagem para a qual todas as demais
linguagens devem ser traduzidas. Entretanto, tal fato não é uma regra
prevista na norma IEC. Outros programadores, no entanto, a enxergam
como a linguagem que preferencialmente é utilizada em pequenos CLP’s
e enxergam no texto estruturado a linguagem base para desenvolvimento
quando se opta por uma linguagem textual. Quanto à estrutura da
linguagem, cada instrução ocupa uma linha, isto é:

Instrução = Operador + Operandos (* comentário *)

Cada instrução utiliza ou altera o valor de um único registrador


denominado registro de resultado ou acumulador. Por ser uma linguagem
muito simplificada, com poucos comandos, no desenvolvimento dos
programas, normalmente se escreve muitas linhas de código e, com
isso, o programa tende a tornar-se muito grande. Assim, a utilização
108 UNIUBE

de comentários é essencial para proporcionar uma maior legibilidade


ao código desenvolvido, característica muito necessária na etapa de
manutenção.

Exemplo

Label Operador Operando Comentário


LD Velocidade (* Carregue Velocidade e *)
GT 1000 (* Teste se é maior que 1000 *)
JMPCN VOLTS_OK
LD Volts (* Jump se não é *)
SUB 10 (* Carregue Volts *)
ST Volts (* Retirar 10 *)
(* Armazenar em Volts *)

LD 1 (* Carregue 1 e armazene *)
ST %Q75 (* na saída 75 *)

O trecho de código em Texto Estruturado, a seguir, equivale às linhas de


código, anterior:

IF Velocidade > 1000 THEN


Volts:= Volts 10;
END_IF;
%Q75 = 1;

Semântica das instruções

Instruções gerais

A instrução Operador Operando equivale a:

Acumulador:= Acumulador (Operador) Operando


UNIUBE 109

Exemplo

SUB 10 (* Acumulador:= Acumulador 10*)


A instrução LD Operando (instrução Load) equivale a:
Acumulador:= Operando

Exemplo

LD Velocidade (* Acumulador:= Velocidade *)


A instrução ST Operando (instrução Store) equivale a:
Operando:= Acumulador

Exemplo

ST VOLTS (* VOLTS:= Acumulador *)

Execução adiada

Algumas instruções permitem o uso do modificador parênteses “(“. Esse


modificador possibilita que resultados intermediários sejam obtidos sem
alteração do acumulador. O efeito é o mesmo de se usar parênteses em
expressões aritméticas normais e em expressões booleanas.

Exemplo

Operador Operando Comentário


LD A (* Carregue A *)
ADD B (* Adicione A e B *)
MUL( A (* Mantenha o resultado no acumulador *)
SUB B (* Adie até (AB) ser calculado *)
) (* agora multiplique por (AB) *)

Quando o primeiro parênteses, depois de MUL, é alcançado, o


resultado de A + B é mantido no acumulador principal e A é carregado
110 UNIUBE

num acumulador temporário. A operação de MUL será adiada até que


o fecha parênteses seja alcançado. SUB B produz A – B que é mantido
no acumulador temporário. ‘)’ é alcançado e o valor do acumulador
temporário é multiplicado pelo valor do acumulador principal.

Esse programa é equivalente a:

resultado := (A + B) * (A B)

Devemos ressaltar que não existe precedência operadora com os


operadores IL. O exemplo, a seguir, realiza a operação resultado:= X +
(B * (C + D)).

Exemplo

Operador Operando Comentário


LD X (* Carregue X *)
ADD( B (* Adie ADD, carregue B *)
MUL( C (* Adie MUL, carregue C *)
ADD D (* Some D *)
) (* multiplique acumulador *)
) (* agora some X ao resultado de B*(C+D) *)

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

N – Nega um valor booleano.


C – Denota jump condicional e só pode ser utilizado com a instrução JMP
UNIUBE 111

Exemplo

Operador Operando Comentário


LD %lX10 (* Carregue entrada 10 *)
ANDN Switch1 (* AND NOT Switch1 *)
JMPC Label1 (* Salta para o endereço Label1 se não é verdadeiro*)

Operadores básicos (Quadros 6 e 7).

Quadro 6: Lista de operadores básicos


Operador Modificador Operando Comentário
LD N Qualquer 1
Carrega operando no acumulador
ST N Qualquer 1
Armazena acumulador no operando
S BOOL Seta operando para TRUE
R BOOL Reseta operando para False
AND N,( BOOL AND booleano
& N,( BOOL equivalente a AND
OR N,( BOOL OR booleano
XOR N,( BOOL OU exclusivo
ADD ( Qualquer 1
Adição
SUB ( Qualquer 1
Subtração
MUL ( Qualquer 1
Multiplicação
DIV ( Qualquer 1 Divisão

1 Pode representar qualquer tipo simples: SINTY, INT, DATE_AND_TIME, REAL, etc.

Quadro 7: Lista de operadores comparativos e de desvio (JUMP)

Operador Modificador Operando Comentário


GT ) Qualquer Comparação maior que
GE ( Qualquer Comparação maior ou igual
EQ ( Qualquer Comparação igual
NE ( Qualquer Comparação diferente
LE ( Qualquer Comparação menor ou igual
LT ( Qualquer Comparação menor
JMP C,N Label Salta para label
CAL C,N Nome Chamada de bloco de função
RET C,N Retorno de função ou bloco de função
) Execute o último operador adiado
112 UNIUBE

Os operadores que possuem dois modificadores podem ser usados com


ambos, conforme mostrado no Quadro 8, a seguir:

Quadro 8: Operadores que possuem dois modifi cadores

Operador Semântica
AND AND booleano
AND( AND adiado
ANDN( Adia a execução e inverte o resultado (NAND adiado)
ANDN Função NAND

Chamada de funções e blocos de funções

Existem três diferentes formatos de chamada de funções e FB’s utilizando


IL, conforme descrito a seguir.

O primeiro caso acontece quando usamos uma lista de parâmetros de


entrada no cabeçalho da função.

Exemplo

CAL LOOP1(SP:= 300.0, PV := %IW20)

No segundo caso, quando carregando os parâmetros de entradas antes


da chamada da função.

Exemplo

LD 300.0
ST LOOP1.SP
LD %IW20
ST LOOP1.PV
CAL LOOP1
UNIUBE 113

Finalmente, no terceiro caso, quando usamos operadores como parâmetros


de entrada. Entretanto, apenas alguns blocos de funções permitem chamada
direta por meio de instruções especiais em IL.

Exemplo

Biestável ST (Set/reset) e bloco de contagem up/down (CTU)

S1 Latch1 (* Seta instância do bloco de função SR *)


LD 10 (* Acumulador = 10 *)
PV CTU1 (* Copia 10 no parâmetro PV do contador CTU1 *)
CU CTU1 (* Chama contador up/down habilitado para contar *)

Quadro 9: Operadores de blocos de função


Operador Tipo de bloco de função Comentário
S, R1 Biestável RS Seta e Reseta o biestável RS
S1, R Biestável SR Seta e Reseta o biestável SR
R_Trig, detector de borda de Entrada de clock do bloco lógico
CLK
subida detector de borda de subida
F_Trig, detector de borda de Entrada de clock do bloco lógico
CLK
descida detector de borda de descida
Parâmetros de controle para o bloco
de controle CTU contador incremental:
CU, R, PV CTU, contador incremental
CU incrementa, R Reset e PV Carrega
contador
Parâmetros de controle para o bloco
de controle CTD contador decremental:
CD, LD, PV CTU, contador decremental
CD incrementa, LD Carrega e PV
Carrega contagem mínima
CU, CD, R, Parâmetros de controle para o bloco
CTUD, contador universal
LD, PV de controle CTUD contador universal
Parâmetros de controle para o timer de
TP, temporizador de pulso pulso: IN inicia temporização, PT seta
o tempo de pulso
Parâmetros de controle para o timer de
TON, temporizador de atraso
IN, PT atraso de subida: IN inicia temporização,
de subida
PT seta o tempo de pulso
Parâmetros de controle para o
TOF, temporizador de atraso
timer de atraso de descida: IN inicia
de descida
temporização, PT seta o tempo de pulso
114 UNIUBE

A seguir, listamos algumas desvantagens apresentadas pelo padrão IL:

• não descreve o comportamento da máquina virtual que executará


a linguagem;
• não esclarece como dados de tipos diferentes são armazenados no
acumulador;
• armazenamento de dados do tipo estruturado, matriz e vetor pelo
acumulador não é defi nido;
• não mostra como erros de runtime são tratados pelo compilador;
• provavelmente, o padrão será revisto.

Quanto à portabilidade entre IL e outras linguagens IEC, a tradução de


outras linguagens para IL é mais fácil que de IL para outras linguagens.

Exemplo 3

Converta o FBD, a seguir Figura 14, em IL.

TEMP
%IW1
AND
S1

AL1 Q1 Start
SR
OR
AL2 R

Reset

Figura 14: FBD a ser convertido.


UNIUBE 115

Resolução

Operador Operando Comentário


LD AL1 (* Carrege o acumulador com AL1 *)
OR AL2 (* Acc = Acc OR AL2 *)
AND TEMP (* Acc = Acc AND SW1 *)
AND %IW100 (* Acc = Acc AND entrada 1 *)
ST StartSR.S1 (* Seta entrada de StartSR *)
LD Reset (* Carrega valor de Reset *)
ST StartSR.R (* Armazena na entrada Reset *)
CAL StartSR (* Chama bloco de função StartSR
LD StartSR.Q1 *)
ST Start (* Carrega saída Q1 *)
(* e armazena em Start *)

Definindo funções e blocos de funções

A linguagem IL pode ser usada para definir funções e bloco de funções,


isto é, podemos utilizá-la internamente na codificação dos blocos
funcionais e funções. Quando a usamos na implementação de uma
função, o valor a ser retornado é o último valor carregado no acumulador.

Exemplo 4

Vamos usar o exemplo anterior e criar uma função:

Resolução

FUNCTION EXEMPLO: BOOL


(* Variáveis de entrada *)
VAR_INPUT
AL1: BOOL;
AL1: BOOL;
TEMP: INT;
RESET: BOOL;
END_VAR
(* Corpo da função em IL *)
116 UNIUBE

LD AL1 (* Carrege o acumulador com AL1 *)


OR AL2 (* Acc = Acc OR AL2 *)
AND TEMP (* Acc = Acc AND SW1 *)
AND %IW100 (* Acc = Acc AND entrada 1 *)
ST StartSR.S1 (* Seta entrada de StartSR *)
LD Reset (* Carrega valor de Reset *)
ST StartSR.R (* Armazena na entrada Reset *)
CAL StartSR (* Chama bloco de função StartSR *)
LD StartSR.Q1 (* Carrega saída Q1 *)
END_FUNCTION

Chamadas para a função criada, anteriormente.

CAL EXEMPLO(AL1:= 1, AL2:= 0, TEMP:=120)

ou

LD 1
ST EXEMPLO.AL1
LD 0
ST EXEMPLO.AL2
LD 120
ST EXEMPLO.TEMP
CAL LOOP1

Atividade 3

Construa uma função que determine a distância de deslocamento entre


dois furos em uma superfície plana, sendo os parâmetros de entrada
as coordenadas dos furos e a distância máxima admissível. A saída da
função deseja saber se a distância calculada é menor que a distância
máxima admissível e a distância calculada.
UNIUBE 117

x1, y1

D
y1 – y2

x2, y2
x1 – x2

REAL x1

REAL x2 BOOL

REAL y1

REAL y2 REAL

REAL MAX

Para calcularmos a distância entre dois pontos, utilizamos a seguinte


fórmula:

( X 1 − X 2 ) + (Y 1 − Y 2 )
2 2
D=

Texto estruturado (Structure Text ST)

Linguagem de alto nível muito poderosa, o texto estruturado tem suas


origens nas linguagens de programação Ada, Pascal e “C”. Possui todos
os elementos presentes nas mais modernas linguagens de programação
da atualidade, incluindo estruturas condicionais tipo IFTHENELSE e
CASE OF, e estruturas de laços FOR, WHILE e REPEAT.

Como nas linguagens de origem, essas estruturas também podem ser


aninhadas. Essa linguagem é excelente para a definição de blocos
funcionais complexos, os quais podem ser usados em qualquer outra
linguagem IEC.
118 UNIUBE

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

A norma também permite duas formas para o desenvolvimento de


programas: top-down e bottom-up. É possível especificar toda uma
aplicação dividindo-a de cima para baixo, em partes menores, declarando
as variáveis, e assim por diante. Ou pode-se começar de baixo, a partir
de funções e blocos funcionais derivados, por exemplo. Em ambos
os casos, o ambiente de desenvolvimento irá auxiliá-lo durante todo o
processo. Veja a Figura 15, a seguir:

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

Como na IL, é uma linguagem usada na construção de funções, blocos


de funções e programas. Nas Cartas de Funções Sequenciais (SFC),
também é utilizada para expressar o comportamento, ações e transições.

Semântica das instruções

Atribuição

X:= Y; (*O comando de atribuição copia o valor de Y em X *)

As operações de atribuição devem ser executadas entre variáveis do


mesmo tipo.

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

Alarm1.TimeOn:= RTC1.CDT; (* Parâmetro de saída de um bloco de função *)


Alarm2:= Alarm1; (* Variável Multi elemento *)
(* Valor de uma expressão complexa é atribuído a único elemento de um array *)
Profi le[3]:= 10.3 + SQRT((Rate + 2.0) * (A1/2.3));

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.

Quadro 10: Lista de operadores básicos

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);

Chamada de blocos de função


Podemos chamar um FB por meio de seu nome, tendo como parâmetros
valores válidos para os parâmetros de entrada.

Forma Geral
InstanciaBlocoFunc(ParamEntrada1 := Expressão1, ParamEntrada2 :=
Expressão2,

Quanto aos parâmetros de entrada, temos que se algumas entradas não


forem definidas na chamada do FB e o bloco estiver sendo chamado
pela primeira vez, o valor a ser definido será o valor default desses
parâmetros. Se o bloco já tiver sido chamado anteriormente, o último
valor da entrada será assumido (Figura 16).
Exemplo

PID
REAL SP

REAL PV MV REAL

Modo de
BOOL
controle

Figura 16: Bloco PID simples.


122 UNIUBE

Loop1 é uma instância do bloco de funções SimpleControl, que


corresponde a um controlador PID. Os modos de operação são:
AUTO e MANUAL.

(* Primeira invocação *)
Loop1(PV:= Input1.Out + Offset, SP:= 100.0);

O valor default para Modo é assumido como AUTO.

(* Invocação Posterior *)
Loop1(PV:= Input.Out + Offset, Modo:= MANUAL);

SP não é definido, o último valor utilizado é assumido: 100.00.

Seria desejável definir valores para os parâmetros de entrada dos


blocos de função antes da invocação do bloco.

Loop1.Mode:= MANUAL;

Esta construção NÃO é definida no padrão e, portanto, NÃO é


PORTÁVEL.

Os valores de saída de instâncias de blocos de função são sempre


disponíveis:

Exemplo

Vazão := Loop1.MV;

Comandos condicionais

• IFTHENELSE
UNIUBE 123

As variações do comando condicional IFTHENELSE são:

IF <expressão booleana> THEN


<comandos>
END_IF;

IF <expressão booleana> THEN


<comandos>
ELSE
<comandos>
END_IF;
IF <expressão booleana> THEN
<comandos>
ELSIF <expressão booleana>
<comandos>
ELSE
<comandos>
END_IF;

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

IF ExisteChama > THEN


IF TamanhoChama > 4.0
Fuel:= 100.0;
ELSE
Fuel:= 350.0;
END_IF
ELSE
Fuel:= 1000.0;
END_IF;
IF A > B THEN
D:= 1;
ELSEIF A= B + 2
D:= 2;
ELSEIF A = B – 3
D:= 3;
ELSE
D:= 0;
END_IF

CASE

A sintaxe do comando CASE é:

CASE <expressão inteira> OF


< valor de seletor inteiro> : < comandos>
< valor de seletor inteiro> : < comandos>
< valor de seletor inteiro> : < comandos>
ELSE
<comandos>
END_CASE;
UNIUBE 125

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 é:

FOR <inicializa variável de iteração>


TO <valor final da expressão>
BY <expressão incremental> DO
<comandos>
END_FOR;

Alguns comentários a respeito do comando FOR..DO:

• a expressão precedida por BY é opcional. Se BY for omitido, a


variável de incremento será incrementada de 1;
• nunca utilizar a variável de incremento fora do loop;
• os comandos dentro do laço não podem alterar os valores das
variáveis de incremento e final.
126 UNIUBE

Exemplo

FOR I:=100 TO 1 BY –1 DO
Canal[I].status:= ON;
END_FOR;

FOR T:= NumTanques 1 TO TanqueMax * 2 DO


NumTanque:= T; volume(tanque:= T);
END_FOR

WHILE WHILE..DO

Sua sintaxe é:

WHILE <Expressão booleana> DO


<comandos…>
END_WHILE

Exemplo

WHILE Value < (ValorMax 10.0) DO


MovePonte();
Valor:= Valor + Ponte.Posicao;
END_WHILE

REPEAT REPEAT..UNTIL UNTIL

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

A instrução EXIT só pode ser utilizada dentro das instruções de repetição


e tem como objetivo interromper o loop.

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

O comando RETURN só dever ser utilizado dentro de funções e blocos


de função. Seu objetivo é interromper a execução da função ou bloco
de função.
128 UNIUBE

Exemplo

FUNCTION_BLOCK TEST_POWER
VAR_INPUT
Corrente, Tensao1, Tensao2, Tensao3: REAL;
END_VAR
VAR_OUTPUT
Sobretensao: BOOL;
END_VAR

IF Tensao1 * Corrente > 100 THEN


Sobretensao:= TRUE; RETURN;
END_IF;
IF Tensao2*(Corrente+10.0) > 100 THEN
Sobretensão:= TRUE; RETURN;
END_IF;
IF Tensao3*(Corrente+20.0) > 100 THEN
Sobretensao := TRUE;
END_IF;
END_FUNCTION_BLOCK;

Dependências de implementação

Algumas limitações de ordem prática podem existir em algumas


implementações tais como:

• Tamanho das expressões


• Tamanho dos comandos
• Tamanho dos comentários
• Número de opções em instruções CASE
UNIUBE 129

Exemplo

Escreva o código necessário para calcular as raízes da equação do


segundo grau.

Resolução:

Delta:= b*b –4* a*c;


IF Delta > 0.0 THEN
RaizDelta: = SQRT(Delta);
X_Root1:= (b + RaizDelta) / 2*a;
X_Root2:= (– b – RaizDelta) / 2*a;
ELSE
msg:= ‘Raízes Imaginárias’;
END_IF;

Exemplo

Todos os sinais provenientes de sensores podem sofrer oscilações


indesejadas durante as transições. Essas oscilações devem ser removidas
por meio de um circuito especial para efetuar o debounce do sinal. Para
eliminá-las, o circuito de debounce deve apenas considerar estável um sinal
que tenha o mesmo valor por n ciclos sucessivos.
Debouncing

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

VAR_OUTPUT OUT: BOOL; (* Valor Default = 0 *)


ET_OFF: TIME; (* Valor Default = t#0s *)
END_VAR
VAR DB_ON: TON; (** Variáveis internas **)
DB_OFF: TON; (** e instâncias de blocos funcionais **)
DB_FF: SR;

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

Escreva o código necessário para calcular a Média, o Máximo e o Mínimo


de um conjunto de valores (32) aquisitados por um CLP, a partir da
entrada 130.

Atividade 5

Construa um programa para inverter uma string dado, utilizando a


declaração de variáveis, a seguir:
UNIUBE 131

Resumo

Chegamos ao final de mais uma etapa de estudos. Neste roteiro,


iniciamos nossos estudos falando um pouco sobre especificação dos
CLPs. Em seguida, vimos os conceitos básicos de comunicação de
dados, tão importante no estudo de controladores programáveis. Fizemos
uma pequena introdução em linguagem de programação e iniciamos os
estudos da norma IEC 611313, que trata da padronização das linguagens
utilizadas na programação CLP’s. Abordamos os elementos comuns a
todas as linguagens e finalizamos com o estudo das linguagens textuais
definidas no padrão IEC, Lista de Instruções e Texto Estruturado.

No próximo capítulo, iremos abordar as linguagens gráficas.

A todos, bons estudos e que tenham um ótimo aproveitamento dos


conteúdos aqui tratados.

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 e Moro; CAMARGO, Valter Luís Arlindo de. Controladores lógicos
programáveis: sistemas discretos. 2. ed. São Paulo: Érica, 2008.

GEORGINI, Marcelo. Automação aplicada: descrição e implementação de sistemas


sequenciais com Plcs. 8. ed. São Paulo: Érica, 2004.

JOHN, KarlHeinzr; TIEGELKAMP, Michael. IEC 611313: Programming Industrial


Automation Systems Concepts and Programming Languages, Requirements
for Programming Systems, Aids to DecisionMaking Tools. SpringerVerlag
Berlin Heidelberg: New York, 1995.

LEWIS, R.W. Programming industrial control systems using IEC 11313. Institution
of Electrical Engineers, 1998.
132 UNIUBE

MICHEL, G. Programmable logic controllers: Architecture and Aplications. John Wiley


& Sons Ltd. England, 1990.

MIYAGI, P. E. Controle programável: Fundamentos do Controle de Sistemas a Eventos


Discretos. São Paulo: Blucher, 1996.

MORAES, C. C; CASTRUCCI, P. L. Engenharia da automação Industrial. Rio de


Janeiro: LTC, 2001.

PRUDENTE, Francesco. Automação industrial – Plc: teoria e aplicações. Rio de


Janeiro: LTC, 2007.

RIBEIRO, Marco Antônio. Automação industrial. 4. ed. Salvador: Tek Treinamento &
Consultoria Ltda, 1999.

SILVEIRA, Paulo Rogério da; SANTOS, Winderson E. dos. Automação e controle


discreto. 7. ed. São Paulo: Érica, 2008.

WEBB, J. W. Programmable logic controllers, principles and applications. Prentice


Hall, New Jersey, 1995.
Capítulo
Estudo padrão IEC 61131-1
aplicado à programação dos
3
controladores programáveis:
linguagens gráficas
Marcelo Lucas

Introdução
Caro(a) aluno(a),

Com a finalidade de completar os estudos sobre a norma IEC


611313, esse capítulo apresenta, de forma sintetizada, os conceitos
fundamentais acerca das linguagens de programação gráfica,
descrevendo suas características fundamentais.

Pretendemos que você, compreenda as vantagens na utilização


do padrão IEC na programação dos controladores programáveis
aplicados na automação de sistemas. Orientamos que, ao ler o
conteúdo proposto, 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.

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:

• construir o conhecimento teórico e prático dos conceitos


e padronizações internacionais para desenvolvimento de
aplicativos para CLPs;
• compreender os conceitos básicos das linguagens gráficas:
Diagrama de Blocos Funcionais (FBD), Diagrama de Contatos
(LD) e Cartas de Funções Sequenciais (SFC);
• apresentar soluções para problemas corriqueiros, utilizando
Controladores Lógicos Programáveis.

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

3.1 Diagrama de blocos funcionais (Function Block Diagram


FBD)

O diagrama de blocos funcionais é muito usado na indústria de processos,


e expressa o comportamento de funções, blocos funcionais e programas
como um conjunto de blocos gráficos interligados, como nos diagramas
de circuitos eletrônicos. O FBD é utilizado, também, na construção
de funções, blocos de funções e programas. As Cartas de Funções
Sequenciais (SFC) são utilizadas para expressar o comportamento, as
ações e transições.

O diagrama de blocos funcionais representa o modelo do sistema na


forma do fluxo de sinais entre módulos de processamento e, ainda, se
parece com um sistema, em relação ao fluxo de sinais entre elementos
de processamento (Figura 1).
UNIUBE 135

Declaração de variáveis

• Lista dos parâmetros de entrada


• Variáveis locais
• Lista dos Parâmetros de saída

CÓDIGO

(ST, FBD, LD, IL, SFC)

(a) (b)

Figura 1: (a) Definição do tipo bloco de função (b) Instâncias de blocos de função.

Os blocos tratam de todas as variáveis internas e de saída de cada ciclo


(scan) e possuem persistência de dados, isto é, os valores dos dados são
mantidos entre dois scans. Se for utilizado o atributo RETAIN na definição
das variáveis locais, seus valores serão mantidos mesmo em caso de
falta de energia no CLP (Figura 2).

Notação:

Parâmetro de Parâmetro de
entrada Tipo de bloco funcional saída

DELAY

BOOL RUN

REAL XIN XOUT REAL

INT N

Tipo do parâmetro
de saída
Tipo do parâmetro
de entrada
Figura 2: Notação de bloco funcional.
136 UNIUBE

A especificação da norma IEC estabelece que apenas os parâmetros


de entrada e de saída de um bloco funcional podem ser acessados
externamente, ou seja, as variáveis locais não são acessíveis. Um bloco
de função só será executado quando este fizer parte de uma rede de
blocos conectados, formando uma POU ou quando o bloco é chamado
por um programa em ST ou IL. Instâncias de um bloco de função podem
ser utilizadas na definição de outros blocos ou programas, mas não na
definição do seu mesmo tipo. Quando esses blocos são declarados como
globais através de VAR_GLOBAL, eles se tornam acessíveis em qualquer
parte de um recurso ou configuração. É possível passar uma instância
de bloco de função como entrada para outro programa, bloco de função
ou função. Os parâmetros de saída de um bloco de função podem ser
acessados por meio da notação: DELAY.XOUT.

Elementos gráficos

Os blocos funcionais e suas conexões podem ser representados de


forma totalmente gráfica ou semigráfica. Veja o Quadro 1, a seguir.

Quadro 1: Representação dos blocos funcionais na forma gráfica e semigráfica

Representação dos blocos funcionais na forma gráfica e semigráfica

Entidade gráfica Forma semigráfica Forma gráfica

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
+ + +

+ +

Blocos com conexões

+ +

LOAD_JOB> LOAD JOB>


Conectores
>LOAD_JOB> > LOAD JOB

Fluxo de sinal

Os sinais se propagam das saídas de blocos de função para as entradas


de outras funções ou blocos de função. Tipos de dados diferentes são
representados por linhas da mesma espessura. Entretanto, é permitido
usar linhas de cores diferentes para tipos de dados diferentes (Figura
3 e 4).
138 UNIUBE

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

Figura 3: Representação do fluxo de sinal.

Negação de sinais booleanos


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

Bomba1
Chave1
MotorBomba
ChaveBomba
16 NumBomba Pos Inibe Status NOT P1_Sp

ADD
X3 OR

NOT Trip
TEST1 NOT

VA12

Figura 4: Representação da negação de sinais booleanos.

Realimentação

A norma IEC prevê que um sinal de saída de um bloco pode ser


realimentado na entrada de um bloco precedente. O padrão não
estabelece qual bloco de uma malha será avaliado primeiro. Como a
ordem pode variar entre as implementações feitas pelos fabricantes, pode
haver diferenças de comportamento entre diferentes compiladores com
diferentes resultados finais (Figura 5).
UNIUBE 139

Malha1 Carga1
Controlador Simulador

PV Saída Vazão Nível

200.0 SP Error Modelo

SEG_ORDEM
>=
ERRO_ALVO
0.15

Figura 5: Representação da negação de sinais booleanos.

Não existe limite definido pelo padrão quanto ao número de FBDs e sua
complexidade.

Controle de execução dos blocos de função

A ordem de execução das tarefas segue o fluxo natural do diagrama. Por


exemplo, na figura anterior, o bloco >= é executado após o bloco Loop1.
É possível executar a seletiva dos blocos de função, usando a entrada
booleana EN (enable). Se EN é TRUE, o bloco é executado resultando
numa saída, caso contrário não é executado. A saída ENO (enable
output) é uma saída booleana que indica que uma função completou
a sua execução. Esta saída pode ser ligada às entradas EN de outros
blocos conforme visto, a seguir na Figura 6:
140 UNIUBE

:> AND
AdicioneAcido AND EN ENO EN ENO
pH_Alto
VelocBomba

100.0 VelocMotor

Velocidade

Offset

Figura 6: Representação do fluxo de sinal.

Analisando o diagrama da Figura 6, vemos que quando pH_Alto for TRUE


e AdicioneAcido também for TRUE, o Bloco “:=” será ativado e o valor 100
será carregado em VelocMotor. Em seguida, o bloco ADD será ativado,
e, Velocidade e Offset serão somados para produzir VelocBomba. Uma
situação muito importante que devemos observar é que, quando ocorrer
algum tipo de erro no processamento do bloco, por exemplo, divisão por
zero, ENO assumirá FALSE como resultado. Logo, ENO é utilizado para
verificar se o processamento do bloco aconteceu de forma correta. Por
outro lado, se EN é FALSE, o padrão não especifica qual será o valor da
saída do bloco, ficando a cargo do fabricante.

Instruções de salto (jumps) e rótulos (labels)

Instruções de salto existem na linguagem de blocos funcionais, mas sua


utilização não é recomendada para toda linguagem estruturada. Portanto,
também é possível rotular um trecho de uma rede FBD com um label
e, consequentemente, pular de um trecho de uma rede FBD para este
label. O padrão não esclarece o que acontece na avaliação do resto da
rede de FBD, após a execução de um salto. A Figura 7, a seguir, ilustra
a implementação de saltos em redes de FBD.
UNIUBE 141

Jump

NívelGas >=
ALARME_GAS
0.15

100.0
< GAS_OK
0.02

Label

ALARME_DE_GAS:

ENABLE AND
SIRENE
MX12

Figura 7: Implementação de instruções de salto.

Avaliação de rede de FDB

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

Figura 8: Sentido de avaliação de uma rede de blocos de


função.

Portabilidade entre ST e FBD

Quanto à portabilidade, observamos que nem todos os recursos de uma


linguagem IEC611313 podem ser traduzidos para outras linguagens.
Apenas um núcleo de funções básicas é portável.

Exemplo

Traduzir o diagrama representado na Figura 9, a seguir, para texto


estruturado.

Malha1 Carga1
Controlador Simulador

PV Saída Vazão Nível

200.0 SP Error Modelo

SEG_ORDEM
>=
ERRO_ALVO
0.15

Figura 9: Diagrama de blocos de função.


UNIUBE 143

Resolução

VAR
Malha1: Controlador;
Carga1: Simulador;
END_VAR

(* Invoque os blocos de função com conexão entre parâmetros *)


Malha1(PV:= Carga1.Nível, SP:=200.0);
Carga1(Vazão:= Malha1.Saída, Modelo:= SEG_ORDEM);
ERRO_ALTO:= Malha1.Error >= 0.15;

As dificuldades na tradução FBD para ST estão no fato de que as funções


que controlam sua execução explicitamente por meio do uso de EN e
ENO não podem ser representadas em texto estruturado. Não existe
sintaxe para endereçar a saída ENO. Agora, quanto à tradução ST para
FDB, a difi culdade ocorre no mapeamento das estruturas IF..THEN,
CASE, FOR, WHILE, REPEAT e acessar elementos em um array da
forma como visto, a seguir:

FOR I:= 1 TO 100 DO


rate[I]:= 100;
END_FOR;

Construindo bloco de funções

Podemos encapsular código em IL, ST, FDB e LD dando origem a


novas funções. Dessa forma, é possível criar e compartilhar bibliotecas
de funções, diminuindo significativamente o tempo necessário ao
desenvolvimento e teste das aplicações. Como as funções que compõem
a biblioteca já foram previamente testadas, a possibilidade da ocorrência
de erros diminui bastante, aumentando, assim, a confiabilidade da
aplicação.
144 UNIUBE

Veja um exemplo de construção de bloco de funções encapsulando


FBDs:

Bloco de função

DAMPER

BOOL ReqOpen DemandOpen BOOL

BOOL ReqClose DemandClose BOOL

BOOL OpenLS Discrepancy BOOL

BOOL CloseLS

BOOL MoveTimeOut

FBDS
Posição
RS
REQOpen S Q DemandOpen

REQClose R1 NOT DemandClose

AND OR
OpenLS IN Q Discrepancy

DemandClose PT
AND
CloseLS
IN

Move TimeOut
Discrepancy
PT

Funcionamento

• O damper possui duas posições, aberto e fechado. Os fins de curso


OpenLS e Close LS denotam a posição real do damper.
• O biestável RS memoriza o pedido para abrir ou fechar.
• As saídas DemandClose e DemandOpen ligam os atuadores, que
movem o damper para a posição desejada.
UNIUBE 145

• Se, após o comando, a posição final não é alcançada, um bit de erro


é alimentado na entrada de um temporizador. Se após um tempo
suficiente para o atuador funcionar, dado por MoveTimeOut, o fim de
curso não tiver sido atingido, o bit de discrepância é ativado.

Veja, agora, a construção de bloco de funções encapsulando ST:

Bloco de função
Parâmetro Parâmetro
de entrada Tipo de bloco funcional de saída

DELAY

BOOL RUN

REAL XIN XOUT REAL

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_OUTPUT (* Parâmetros de saída *)


XOUT: REAL; (* Saída com atraso *)
END_VAR
146 UNIUBE

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

• DELAY estabelece um atraso de N amostras da entrada XIN para


a saída XOUT.
• Será usado um buffer circular como memória intermediária.
• Cada vez que o bloco executar, um ponto será introduzido no bufffer.
• O valor de saída é obtido buscando uma amostra no buffer N
posições atrás do ponto de entrada.
• O atraso será proporcional ao tempo de scan.
UNIUBE 147

O vetor X armazena o último valor da entrada antes de iniciar a execução.


Este valor aparecerá na saída até que novos valores, N casas à frente,
estejam disponíveis.

0 N 127

XIN XIN XIN XIN XIN XIN XIN XIN XIN XIN XIN XIN

IXOUT IXIN

Blocos de função padrões

A seguir, apresentamos alguns blocos de função mais comuns:

• Biestáveis

Biestável RS

SR OR
S1 Q1
BOOL S1 Q1 BOOL
AND
R
BOOL R

Q1

A entrada Set(S) é dominante.

RS AND
R1 Q1
BOOL S Q1 BOOL
OR
S
BOOL R1

Q1

A entrada Reset (R1) é dominante.


148 UNIUBE

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

Detector de borda de subida


FUNCTION_BLOCK R_TRIG
F_TRIG VAR_INPUT
CLK: BOOL;
END_VAR
BOOL CLK Q BOOL VAR_OUTPUT
Q: BOOL;
END_VAR
VAR
M: BOOL := 0;
END_VAR
CLK Q := CLK AND NOT M;
M := CLK;
END_FUNCTION_BLOCK
Q

A saída permanece em 1 durante um scan

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

A saída permanece em 1 durante um scan


UNIUBE 149

Vejamos sua aplicação!

Os blocos de detecção de borda podem detectar bordas durante a


ocorrência ou recuperação de falha de alimentação, dependendo da
implementação, e se o valor de M é mantido em memória retentiva.

ATRIBUTO SENSÍVEL À BORDA


FUNCTION_BLOCK EDGE_TRIG
EDGE_CHECK VAR_INPUT
CLK1: BOOL R_EDGE;
BOOL CLK2: BOOL F_EDGE;
CLK1
OUT BOOL END_VAR
VAR_OUTPUT
BOOL CLK2 OUT: BOOL;
END_VAR
OUT := CLK1 OR CLK2;
END_FUNCTION_BLOCK
CLK1

CLK2

OUT

Vejamos sua aplicação!

R_EDGE e F_EDGE podem ser usados como atributos de variável de


entrada booleana em blocos de função ou programas. Um bloco de
função apropriado será então associado à entrada.

• 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.

Temporizador de atraso na descida

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

REA L TIME CLOCK

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.

• Operações matemáticas avançadas

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

TIME CYCLE CYCLE – Tempo de ciclo bloco


AUTO – Automático/Manual

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

(* Algoritmo PID expresso em FBD *)


PV .
ERROR
SP

INTEGRAL

AUTO RUN Q

R1 XOUT ITERM_XOUT>

TR
. XIN

X0

CYCLE
X0 .
ERROR
DERIVATE

RUN XOUT DTERM_XOUT>

XIN

MODO Mux CYCLE CYCLE

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

EPS XIN2 EPS XIN1

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.

Ratio monitor FUNCTION_BLOCK RATIO_MONITOR


VAR_INPUT
RADIO_MONITOR
PV1, PV2: REAL; (* Variáveis de processo
REAL PV1 ALARM BOOL *)
REAL PV2 TOTAL_ERR BOOL
RATIO: REAL; (* Razão entre PV1 e PV2
*)
REAL RATIO TIMON: TIME; (* Tempo antes de Alarme
TIME TIMON ser ativado *)
TIMOFF: TIME; (* Tempo que alarme
TIME TIMOFF
permanece ativo *)
REAL TOLERANCE TOLERANCE: REAL; (* Erro absoluto
aceitável *)
BOOL RESET
RESET: BOOL; (* 1 zera erro total *)
TIME CYCLE CYCLE: TIME; (* Tempo de scan do bloco
*)
UNIUBE 159

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

Todos os sinais provenientes de sensores podem sofrer oscilações


indesejadas durante as transições. Essas oscilações devem ser
removidas por meio de um circuito especial para efetuar o debounce do
sinal. Para eliminá-las, o circuito de debounce deve apenas considerar
estável um sinal que tenha o mesmo valor por n ciclos sucessivos.
Construa um bloco funcional contendo uma rotina de debouncing ao se
ler uma tecla usando internamente FBs na solução do problema. Em
seguida, faça a representação da função na forma de bloco.

3.2 Diagrama de Contatos (Ladder Diagram – LD)

Diagrama Ladder tem sua origem nos EUA. É baseada na representação


gráfica da Lógica de Relés. Também conhecida como:

• Diagrama de relés;
• Diagrama escada;
• Diagrama “ladder”.

Esta forma gráfica de apresentação está muito próxima à normalmente


usada em diagramas elétricos.

O diagrama ladder utiliza lógica de relé, com contatos (ou chaves) e


bobinas, e por isso é a linguagem de programação de CLP mais simples
de ser assimilada por quem já tenha conhecimento de circuitos de
comando elétrico.

Compõe-se de vários circuitos dispostos horizontalmente, com a bobina


na extremidade direita, alimentados por duas barras verticais laterais.
Por esse formato é que recebe o nome de ladder que significa escada,
em inglês. Cada uma das linhas horizontais é uma sentença lógica
onde os contatos são as entradas das sentenças, as bobinas são as
UNIUBE 161

saídas e a associação dos contatos é a lógica. No ladder, cada operando


(nome genérico dos contatos e bobinas no ladder) é identificado com um
endereço da memória à qual se associa no CLP. Esse endereço aparece
no ladder com um nome simbólico, para facilitar a programação, e é
arbitrariamente escolhido pelo fabricante, como os exemplos vistos no
Quadro 2, a seguir.

Quadro 2: Alguns CLPs X endereçamento

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...

%E0.0 %S2.0 %A0.0 %M0 %


ALTUS PICOLLO a a %M %M a a ______ M0
%E... %S... %A... %M... PARA CADA

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

A lógica de diagrama de contatos (ladder) consiste numa técnica usada


para representar circuitos lógicos através de relés. Inicialmente estes
diagramas eram utilizados na documentação dos projetos dos armários
de relés, anterior à existência dos CLPs.
162 UNIUBE

Notação

Uma linha vertical à esquerda representa um barramento energizado.


Outra linha paralela à direita representa uma barra de terra. Os elementos
constituídos por contatos normalmente abertos, contatos normalmente
fechados e bobinas, são dispostos na horizontal formando malhas
seriais ou paralelas. A corrente elétrica sempre fluida da esquerda para
a direita. O diagrama final se parece com uma escada em que as laterais
são as linhas de alimentação e os degraus representam a lógica, daí o
nome diagrama escada. Nesse diagrama, cada contato NA ou NF, está
associado ao estado de uma variável lógica, isto é, falso ou verdadeiro
(Figura 10).
Barramento Barramento
energizado de terra
chave1 alarme motor

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.

O bloco de programa em ST, a seguir, corresponde ao diagrama ladder


representado na Figura 10:

motor := (Chave1 OR chave2) AND alarme;

Cada linha lógica associada a uma bobina é denominada ladder rung


ou degrau. Observando a figura anterior, temos que, se a variável
associada a um contato normalmente aberto (NA) está em TRUE, então
UNIUBE 163

o contato estará ativo e se fechará deixando fluir a energia. Se a variável


associada a um contato normalmente aberto (NA) está em FALSE, então
o contato estará aberto e o circuito será interrompido.

Se a variável associada a um contato normalmente fechado (NF) está em


TRUE, então o contato estará ativo e se abrirá, interrompendo o circuito.
Caso contrário, o contato ficará fechado e a energia fluirá.

Quando todos os contatos de uma linha horizontal estão fechados, então


a corrente fluirá até a bobina que é o último elemento da linha ou degrau.
A bobina será energizada e os contatos a ela associados, passarão para
os seus estados ativos, aberto ou fechado, dependendo da natureza
destes contatos (NF ou NA).

Quadro 3: Funcionamento de contatos da lógica ladder

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

Quadro 4: Funcionamento de contatos da lógica ladder

CONTATOS
Borne de entrada Variável associada
NA NF

Ativa
Energizado 1 Fechado Aberto
True

Passiva
Desenergizado 0 Aberto Fechado
False

SIMBOLOGIA

ENTIDADE GRÁFICA FORMA SEMIGRÁFICA FORMA GRÁFICA

Linhas horizontais
(fluxo de potência)

Interconexão entre linhas


+
horizontais e verticais +

Conexão com a barra de


alimentação esquerda +

Conexão com a barra de


alimentação direita +

LOAD_JOB> LOAD JOB


Conectores
>LOAD_JOB> LOAD JOB
UNIUBE 165

CONTATOS

Contato NA

Contato NF

Contato sensível à borda de subida P

Contato sensível à borda de descida N

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

Bobina Retentiva (com memória). Estado é mantido


em caso de falha de alimentação do CLP (M)

Bobina Set Retentiva (com memória) (SM)


Bobina Reset Retentiva (com memória) (RM)
Bobina sensível à borda de subida. Vai para 1
durante um scan, se o fluxo de potência vai de 0 ( P)
para 1
Bobina sensível à borda de descida. Vai para 1
durante um scan, se o fluxo de potência vai de 1 ( N)
para 0
166 UNIUBE

As bobinas com retenção são utilizadas para salvar o estado de variáveis


que precisam ser recuperadas após o retorno de falha de alimentação.
Por exemplo, o CLP precisa se lembrar dos modos de operação
correntes, e quaisquer outras variáveis que denotem estado. Use VAR_
RETAIN para definir variáveis associadas com bobinas retentivas.

Exemplo

Mostrar o funcionamento da bobina sensível à borda de subida –(P)–


conforme o LD mostrado, a seguir:

Switch

Switch Trigger
t
P
Trigger

t
Scan

Resolução

Quando a chave Switch for ativada, a bobina Trigger é acionada,


permanecendo assim por um período de scan, conforme visto no
diagrama de temporização anterior. Basicamente, a lógica de relés é
ideal para representar circuitos combinacionais, onde as duas operações
básicas são as operações AND e OR.

Realimentação em diagramas ladder

Em ladder, é possível fazer a realimentação da saída para a entrada da


linha de programação conforme visto na figura, a seguir. O contato NA
VENT funciona como selo, mantendo o motor ligado.
UNIUBE 167

LIGA PERMISSÃO PARE VENT

VENT

Figura 11: Selo em ladder.

O endereço do selo (VENT) é o mesmo da bobina de saída (VENT), e


é isso que caracteriza a realimentação. Na programação ladder, todas
as entradas associadas a contatos são avaliadas antes da execução do
rung (degrau de programa).

Formas de ligação (operações booleana) dos contatos em ladder

Ligação em série (operação and)

1:0/0 |:1/1 B3:1/15 0:1/15


000 L
Liga Desliga Status Lâmpada

001 END

Expressão lógica Lâmpada := Liga AND NOT Desliga AND Status

Ligação em paralelo (operação or)

|:0/0 0:1/15

000 L
Liga Lâmpada
|:1/1

Desliga
B3:1/15

Status

001 END

Expressão lógica Lâmpada := Liga OR NOT Desliga OR Status


168 UNIUBE

associação “and + or”

|:1/1 |:0/0 |:3/15 0:1/15

000 L
Desliga Liga Fim de curso 1 Motor
|:3/14 |:3/13

Fim de curso 2 Sensor de Temperatura


0:1/15

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

Construa o diagrama de contatos correspondente ao circuito, a seguir:

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 )

|:0/0 |:1/1 |:1/2 0:1/0


000
B C D A
|:0/0

B
|:0/0

001 END

Atividade 2

Dado o circuito lógico, a seguir, escreva um programa equivalente para


CLP em linguagem ladder.

E1

E2
S1

E3

S2
E4

Temporizadores e contadores

temporizadorcrescente temporizador decrescente

TON EN: TOF


Timer on delay Timer of delay
EN:

Timer: Timer:
Time Base:
DN: Time Base: DN:
Preset: Preset:
Accum Accum
170 UNIUBE

temporizadorretentivo temporizador crescente

RTO EN: CTU


Retentive timer on Count Up:
CU:
Counter:
Timer: DN: Preset:
Time Base: Accum: DN:
Preset:
Accum:

Contadordecrescente Rearmedetemporizador/Contador

CTU
Count Down:
CU
RES
Counter:
Preset:
Accum: DN:

Parâmetros das instruções

• ACC: acumulador de tempo ou contagem.


• Preset: valor pré-selecionado de tempo ou contagem.
• DN: Bit executado é desenergizado quando o valor acumulado é
igual ao valor pré-selecionado e energizado quando a condição da
linha se torna verdadeira.
• EN: Bit de habilitação é energizado quando a condição da linha é
verdadeira. Caso contrário, esse bit é desenergizado.
• TT: Bit de temporizado é energizado quando a condição da linha é
falsa e o valor acumulado é inferior ao valor pré-selecionado. Esse
bit é desenergizado quando a condição for verdadeira ou quando o
bit de executado for desenergizado.
UNIUBE 171

Instruções de comparação
Igual a (EQU) Diferente (NEQ)

EQU NEQ
EQUAL NOT EQUAL
SOURCE A: SOURCE A:
SOURCE B: SOURCE B:

Menor que (LES) Menor ou igual a (LEG)

LES LEQ
LESS THAM LESS THAM OR EQL
SOURCE A: SOURCE A:
SOURCE B: SOURCE B:

Maior que (GRT) Maior ou igual a (GEQ)

GRT GEQ
GREATER THAM GRTR THAN OR EQL
SOURCE A: SOURCE A:
SOURCE B: SOURCE B:

Igual mascarada (MEQ) Teste limite (LIM)

MEG LIM
MASKED EQUAL
LIMIT TEST
SOURCE A: LOW LIM:
SOURCE B: TEST:
COMPARE HIGHLIM:

Parâmetros das instruções


• Source: endereço(s) do(s) valor(res) em que a operação matemática
será executada; pode ser endereço(s) de palavra ou constante(s)
de programa. Se a instrução tiver dois operandos Source, não é
possível introduzir constantes de programas nos dois operandos.
• Dest: endereço destino referente ao resultado da operação.
172 UNIUBE

Bits de estado aritméticos

Depois que uma instrução for executada, os bits de estado aritméticos


(C, V, Z e S) do arquivo de estado são atualizados:

• 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.

Parâmetros da instrução MEQ

Os parâmetros da instrução MEQ são os seguintes:

• Source: endereço fonte do valor que se deseja comparar.


• Mask: endereço da máscara através da qual a instrução movimenta
os dados ou um valor hexadecimal.
• Compare: valor inteiro ou endereço de referência para a comparação.

Se os 16 bits de dados de um endereço fonte forem iguais aos 16 bits de


dados do endereço de referência (exceto os bits mascarados), a instrução
é verdadeira. Os bits da palavra de máscara iguais a 0 mascaram os
dados, já os bits iguais a 1 permitem que seja realizada a comparação.

Parâmetros da instrução LIM

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

• se o parâmetro Test for uma constante do programa, tanto o Low


Limit como o High Limit devem ter endereços de palavra;
• se o parâmetro Test for um endereço de palavra, o Low Limit e o
High Limit podem ser constantes de programa ou um endereço de
palavra.

Estado verdadeiro/ Falso da instrução

• Se o Low Limit (limite inferior) possuir um valor menor que High


Limit (limite superior), a instrução será verdadeira quando o valor
estiver entre os limites ou for igual a um dos limites. Se o valor de
Test estiver fora dos limites, a instrução será falsa.
• Se o Low Limit possui um valor maior que o High Limit, a instrução
será falsa quando o valor do parâmetroTest estiver entre os limites.
Se o valor de Test for igual a um dos limites ou estiver fora dos
limites, a instrução será verdadeira.

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:

Limpar Raiz quadrada

SQR
CLR SQUARE ROAT:
DEST: SOURCE
DEST:

Parâmetros das instruções

• Source: endereço(s) do(s) valor(es) em que a operação matemática


será executada; pode ser endereço(s) de palavra ou constante(s)
de programa. Se a instrução tiver dois operandos Source, não é
possível introduzir constantes de programas nos dois operandos.
• Dest: endereço destino referente ao resultado da operação.

Bits de estado aritméticos

• Depois que uma instrução for executada, os bits de estado


aritméticos (C, V, Z e S) do arquivo de estado são atualizados.

Decodificação (DCD)

Este bloco depende da implementação do fabricante.


UNIUBE 175

INSTRUÇÕES LÓGICAS E DE MOVIMENTAÇÃO

Movimentação (MOV) Movimento com máscara (MVM)

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:

OU Exclusivo (XOR) Complementação (NOT)

XOR
BITWISE EXCLUSIVE OR NOT

SOURCE A SOURCE

SOURCE B: DEST:

DEST:

Parâmetros das instruções

• Source: este é o endereço fonte referente ao valor onde a operação


lógica ou de movimentação é executada. Pode ser um endereço de
palavra ou uma constante de programa. Se a instrução tiver dois
operandos fonte, não é possível introduzir constantes de programa
nos dois operandos.
• Dest: este é o endereço destino referente ao resultado da operação
lógica ou de movimentação. Deve ser um endereço de palavra.
176 UNIUBE

Bits de estado aritméticos

Depois que uma instrução for executada, os bits de estado aritméticos


(C, V, Z e S) do arquivo de estado são atualizados:

• 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.

Bit de erro de Overflow

Bit de falha de advertência energizado na detecção de um overflow ou


divisão por 0. Se este bit estiver energizado na execução da declaração
de fim de programa (END) ou uma instrução TND, uma falha grave será
indicada.

Registrador matemático

As instruções lógicas e de movimentação não afetam o registrador


matemático.
INSTRUÇÕES DE DESLOCAMENTO DE BIT

Deslocamento de bit à esquerda Deslocamento de bit à direita

BSL BSR
EN EN
BIT SHIFT LEFT BIT SHIFT RIGHT
FILE FILE
DN DN
CONTROL CONTROL
BIT ADRESS: BIT ADRESS:
LENGHT LENGHT
UNIUBE 177

Parâmetros das instruções

• File: é o endereço da série de bits que se deseja manipular. Deve-se


utilizar o símbolo indicador de arquivo # no endereço da série de bits.
• Control: é o endereço da instrução e o elemento de controle que
armazena o byte de estado da mesma, o tamanho da série (em
número de bits) e o apontador de bit.

Elemento de controle da instrução de deslocamentos de bit

15 13 11 10 00
EN DN ER UL NÃO UTILIZADO

Atenção!

O endereço de controle não deve ser utilizado para nenhuma outra


instrução, pois pode ocorrer operação imprevista de máquina, resultando
em possíveis avarias aos equipamentos e/ou danos pessoais. O byte de
estado indica o estado da instrução, conforme o seguinte:

• EN (bit 15): Bit de habilitação. É energizado na transição da linha de


falsa para verdadeira e indica que a instrução foi habilitada.
• DN (bit 13): Bit de executado. Quando energizado, indica que a série
de bits deslocou uma posição.
• ER (bit 11): Bit de erro. Quando energizado, indica que a instrução
detectou um erro, tal como inserção de um número negativo para o
comprimento ou posição. Quando este bit estiver energizado, deve-
se evitar a utilização do bit de saída.
• UL (bit 10): Bit de descarga. Armazena o estado do bit retirado
da série cada vez que a instrução é habilitada. Depois de cada
deslocamento de bit, quando a condição de entrada passa a falsa,
esse bit é resetado. Os bits de habilitação (EN 15), executado (DN
178 UNIUBE

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.

Uso de blocos de função em diagramas ladder

Conforme vimos anteriormente, existe uma integração entre as


linguagens definidas na norma IEC 611313, portanto, podemos utilizar
um FB num programa feito em LD, conforme visto na figura 12 e 13, a
seguir. O contato SW1 é do tipo sensível à borda de subida, e é utilizado
no esquema, a seguir, para ativar e desativar o bloco MOTOR_CONT e
percebemos que as variáveis START e STOP são do tipo BOOL.

INHIB_2 MTR_2
MOTOR_CONT
SW1

P SWART MOTOR

SW1
P STOP

FORWARD

2300.0 MAX SPEED SPD_2

BATCHCNT CYCLE

Figura 12: Integração entre Ladder e Bloco Funcional.


UNIUBE 179

Controlando a avaliação dos blocos de função


COMPLETE
CHECK MAX GT
P
P EN ENO EN ENO
COOL
TEMP1
TEMP2
TEMP2

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

Em ladder, também existe a possibilidade de saltarmos de forma


incondicional para outro ponto do programa, mas é importante ter muito
cuidado quando se fizer uso desse recurso. Essa instrução diminui a
legibilidade do código que está sendo implementado. A figura 14 e 15, a
seguir, mostra a implementação.

LIGA
BORBULHA
OXIGÊNIO

BORBULHA:
BORB_EN BORBULHADOR

Figura 14: Instruções de salto e rótulos.


180 UNIUBE

Regras de avaliação do ladder

Figura 15: Sentido de avaliação de uma rede de blocos de


função.

A figura anterior ilustra o problema da avaliação da linguagem ladder .


Podemos resumir a avaliação do ladder da seguinte forma:

REGRA GERAL LADDER

Nenhum elemento de uma rede será


avaliado até que o estado de todas
Nenhum degrau de um diagrama
as entradas tenham sido avaliadas.
ladder, função ou bloco de função,
1 Nenhum degrau de um diagrama
será avaliado a menos que todas as
ladder, função ou bloco de função,
entradas tenham sido avaliadas.
será avaliado a menos que todas as
entradas tenham sido avaliadas.

A avaliação de um elemento de uma


rede só será completada, quando
os estados de todas as suas saídas A saída de um bloco de função só
tiverem sido avaliados. A saída estará disponível, quando todas as
de um bloco de função só estará saídas tiverem sido avaliadas. Uma
2
disponível, quando todas as saídas bobina só mudará de estado após
tiverem sido avaliadas. Uma bobina todos os caminhos do ladder terem
só mudará de estado após todos sido avaliados.
os caminhos do ladder terem sido
avaliados.
UNIUBE 181

A avaliação de uma rede só estará Todas as saídas de todas as funções,


completa quando todas as saídas blocos de funções e bobinas ladder
3
de seus elementos tiverem sido devem ser atualizados antes que uma
avaliadas. rede LD seja considerada completa.
Quando dados são transferidos
de uma rede para outra, todos os
valores provenientes da primeira
rede devem ter sido produzidos
4 pela mesma avaliação da rede. A
segunda rede não deve iniciar sua
avaliação enquanto todos os valores
provenientes da primeira rede não
estiverem disponíveis.

Equivalência entre IL, ST, FBD e LD

Dependendo da aplicação, e consequentemente dos requisitos


envolvidos, a equivalência entre as linguagens da norma IEC 611311
não é uma tarefa tão simples. Veremos, a seguir, alguns exemplos que
ilustram essa afirmativa.

Exemplo

Lista de instrução Texto estruturado


LD A1
OR A3
AND A2
AND A3
OR (C1 X1:= ((A1 OR A3) AND A2 AND
AND (C2 A3) OR (C1 AND C2)
)
)
ST X1
182 UNIUBE

Diagrama de blocos funcionais Diagrama ladder

A1 A2 A3 X1
A2 AND
A3
OR
A1 OR X1 A3
B1

C1 C2
C1 AND
C2

Podemos perceber que a tradução, quando o problema se resume a lógica


booleana simples, é feita de forma relativamente fácil principalmente entre
as linguagens ST, FBD e LD.

Diagrama de blocos funcionais Diagrama ladder

R TRIG MAX GT COMPLETE


CHECK MAX GT
CHECK CLK Q EN ENO EN ENO COMPLETE
P
P EN ENO EN ENO
COOL COOL
TEMP1
TEMP1
TEMP2
TEMP2
TEMP3
TEMP3

1000.0 1000.0

Na tradução entre IL e ST em LD e vice-versa, encontramos grandes


dificuldades principalmente na referência aos elementos dos vetores e
estruturas, e, também, em função do mapeamento dos comandos:

• IF..
• THEN
• CASE
• FOR
• WHILE
• REPEAT
UNIUBE 183

3.2.1 Layout de diagramas ladder

O uso de diagrama ladder é indicado para a representação de lógicas


booleanas simples, mas não é indicado para cálculos; controle em malha
fechada e sequenciamento de operações. Algumas limitações, tais como
número de blocos de função, número de contatos em um degrau, número
de degraus etc. dependem da implementação e não são tratadas no
padrão IEC 61131-3.

Atividade 3

Sistema de monitoração de incêndio

Um sistema de detecção de incêndio possui três sensores: FD1, FD2


e FD3. O alarme só dispara, se, pelo menos, dois sensores acusarem
fogo. Um botão manual também pode ser usado para disparar o alarme
de incêndio. Uma chave manual serve para desligar o alarme depois que
os sensores voltam ao normal. Se for feita uma tentativa de desligar o
sistema de alarme com os sensores ativados, o alarme continua. Um led
indica que, pelo menos, um dos sensores está atuado. Isto pode significar
um fogo localizado perto do detetor ou um detetor defeituoso. Desenvolva
um programa Ladder para ser usado num CLP para automatizar o
sistema descrito.

MAN1
FD1
Limpa Alarme
FD3
LED Alarme Incêndio

FD2
ALARME
184 UNIUBE

Cartas de funções sequenciais (Sequential Function Chart SFC)

O SFC descreve graficamente o comportamento sequencial de um


programa de controle. É derivado das redes de Petri e da norma IEC
848 (Preparation of function charts for control system) baseada no Grafcet
(Graphe Fonctionnel de Command Etape Transition), com as alterações
necessárias para converter a representação de uma documentação
padrão para um conjunto de elementos de controle de execução. O
SFC estrutura a organização interna do programa e ajuda a decompor o
problema de controle em partes gerenciáveis, enquanto mantém a sua
visão geral.

O SFC consiste de passos, interligados com blocos de ações e transições.


Uma transição é associada com uma condição, a qual, quando verdadeira,
causa a desativação do passo anterior à mesma e a ativação do passo
seguinte. Os passos são ligados a blocos de ações,
Cada passo
representa um desempenhando uma determinada ação de controle.
estado particular Cada elemento pode ser programado em qualquer
do sistema sendo
controlado linguagem IEC, incluindo o próprio SFC (Figura 16).

Step 1 N FILL

Transition 1

Step 2 S Empty

Transition 2

Step 3

Figura 16: Exemplo de um trecho SFC.

A norma IEC 61131-3 introduziu pequenas modificações no padrão IEC


848 visando acoplar esta quinta linguagem às demais linguagens da
suite 11313.
UNIUBE 185

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.

Devido à sua estrutura geral, o SFC funciona também como uma


ferramenta de comunicação, integrando pessoas de diferentes formações,
departamentos e países. Portanto, a linguagem SFC é utilizada para:

• descrever o comportamento sequencial de um sistema;


• como linguagem de estruturação das ações de um programa
segundo um modelo top-down. Este particionamento do problema
traz ganhos de performance porque apenas o código relativo aos
passos ativos é executado;
• para descrever o comportamento baixo nível de um processo
sequencial;
• para representar as fases de um processo de batelada;
• para representar um processo de comunicação de dados etc.

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

Caminhos convergentes e divergentes

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

Chave Liga = 0 Chave Liga = 1

Stop

Sequências simultâneas

Descrição:
Start
1. Divergência AND
Chave Liga = 1
2. Convergência AND
Fill 1
Tran1

Stir TempCks Monitor

Tran2 Tran3

Drain PressCks

2
UNIUBE 187

Utiliza-se a estrutura de divergência AND para iniciar ações que serão


realizadas em paralelo, e convergência AND para ficar em estado de
espera até que todas as tarefas estejam concluídas.

Etapa

Uma etapa representa um estado parcial do sistema que deve ter um


nome, ou número, único na aplicação só podendo aparecer uma única
vez em uma SFC. Os nomes das etapas e transições são locais a uma
POU (bloco de função ou programa) onde a SFC é definida. Existem dois
tipos de etapas:

1. etapas normais: são exibidos em caixas retangulares com o nome


da etapa no centro;
2. etapa inicial: possui barras verticais nas laterais do retângulo. Todo
SFC deve ter um etapa inicial e esta deve ser única.

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 INATIVA

EtapaNome
ETAPA ATIVA

EtapaNome ETAPA INICIAL


188 UNIUBE

Estados das etapas

Para cada estado de uma etapa, há duas variáveis associadas:


Flag de estado ativo: É uma variável booleana que só está ativa quando
uma etapa em particular está ativa.
Sintaxe: <EtapaNome>.X

Exemplo

Para ilustrar a utilização de flag de estado ativo, no SFC anterior podemos


definir Tran3 em linguagem ST como sendo:

Drain.X = 1

A transição da etapa TempCks para a etapa PressCks só ocorrerá


quando o estado Drain for ativado.

Esta flag pode ser conectada diretamente a uma saída booleana:

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

Esta variável é útil para se determinar por quanto tempo um determinado


estado está ativo.

Chave Liga = 1 O SFC ficará no estado Fill durante 10


minutos.
Fill
Outra função desta variável poderia ser
Fill.T > T#10m a de diagnóstico, pois podemos avaliar
por quanto tempo cada estado de uma
Stir sequência ficou ativo.

Ação

Uma ação é sempre associada a uma etapa e só pode ser executada


quando a etapa estiver ativada. A execução de uma ação pode estar
condicionada a uma função lógica de variáveis de entrada do CLP
ou ao estado ativo ou inativo de outras etapas (ETAPAn.X=1) e estar
usualmente relacionada à ativação ou desativação de saídas do CLP.
Uma etapa pode não ter nenhuma ação associada.

Estas ações é que realizarão o trabalho de modificar o meio ambiente


produzindo trabalho. Cada ação pode ser descrita utilizando-se uma das
quatro linguagens IEC 1131 (ST, FBD, LD ou IL) e tem um nome que deve
ser único em cada POU. As ações são representadas num retângulo
contendo três campos. O primeiro campo à esquerda é o qualificador
da ação. O qualificador determina quando a ação será executada. Uma
caixa de ação pode ter opcionalmente uma variável de indicação. A
variável de indicação indica o nome de uma variável que é modificada
dentro do corpo da ação e que indica que a ação foi completada. No SFC
ao lado, a ação PrompOperator irá indicar através de StartSwitch que a
função foi completada.
190 UNIUBE

Etapa – ação Ação

EtapaNome Acender lâmpada

Ação

Qualificador da Ação Ação Variável de Indicação

SFC
Start N PrompOperator ChaveLiga

ChaveLiga = 1

Fill P OpenValves

N StartPump
Tran1
MainPump := ON;
Pump1 := ON;

Ações complexas podem ser criadas fora do SFC, usando-se as


linguagens LD, FBD, IL ou ST:

Ação definida por meio de LD Ação definida por meio de FBD


Pump_Control Stir_Control

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

Ação definida por meio de ST Ação definida por meio de IL

ACTION OpenValves: ACTION AddX2:


IF BatchType = ÄBO_100” THEN LD 1
ValveAB:= OPEN; SST TankX2.Enable
ELSE LD 100
ValveAC:= OPEN; ST TankX2.ShotLevel
END_IF; CAL TankX2
BrainValve:= CLOSE; S X2_added
Vent:= OPEN; END_ACTION
END_ACTION

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.

Ação definida por meio de SFC

Usando SFC, podemos descrever


Dosagem
ações complexas. Uma das variáveis
de indicação de uma ação em SFC
pode também ser usada como
Dose1 N AddX1 variável de indicação da ação do
nível mais alto. Para uma ação ser
Dose.T>T#2m capaz de executar o seu próprio
SFC, ela deve ser configurada para
AdjustPh N AddAcid
executar continuamente durante um
período suficiente para permitir que
pHBal<=0.7
seu SFC seja completado.
Dose3 N AddX2 Rdy

Uso de ações em linguagens gráficas

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

Usando blocos de ação em diagramas de ladder

%IX10 Enable AllShut

N ShutDrain V1

Em LD, a ação é ativada quando existe um fluxo de potência dentro do


bloco de ação.

Exemplo

Usando blocos de ação em diagramas de blocos de função

%IX10 AND
N ShutDrain V1 AllShut
Enable

Em FBD, a ação é ativada quando sua entrada booleana é TRUE.

Qualificadores de ações

Qualificadores de ações Descrição


Nenhum Não armazenado, o mesmo que N

Não armazenado, executa enquanto a etapa associada


N
estiver ativa

R Reseta uma ação armazenada

Armazena uma ação ativa, isto é, armazenada. A ação


S continuará a ser executada até um qualificador R ser
encontrado

Ação limitada no tempo, termina após um período


L
estipulado

Ação adiada no tempo, começa após um período de


D
tempo
UNIUBE 193

Uma ação pulsada que só é executada uma única vez,


P quando a etapa é ativada e uma vez quando a etapa
é desativada

Armazenada e com atraso de tempo. A ação é ativada


SD após um tempo estipulado mesmo que a etapa
associada for desativada antes do tempo de atraso

A ação é atrasada no tempo e armazenada. Se a


DS etapa associada é desativada antes do período de
atraso, a ação não é armazenada

Armazenada e limitada no tempo. A ação é iniciada e


SL
executada por um período de tempo

Observação

• Uma ação é dita armazenada quando continua após a desativação


do estado, até que um qualificador R seja encontrado.
• Deve-se tomar cuidado com ações armazenadas que comecem
muito tempo após seus estados terem sido desativados porque isto
leva a programas confusos e de difícil depuração.

N – Ação não armazenada

StepA.X
StepA N Action1

Action1
T1

T1

A ação é executada continuamente enquanto o StepA está ativo, isto é


enquanto a flag StepA.X = 1. A ação é executada uma última vez, quando
a etapa é desativada.
194 UNIUBE

Set e Reset

Step1.X
Step1 S Action1

T1
S1

Action1

StepN.X
StepN R Action1

TN
TN

A ação executa continuamente enquanto o StepA está ativo, isto é


enquanto a flag StepA.X = 1. A ação é executada uma última vez, quando
a etapa é desativada.

L – Ação limitada no tempo

Step1.X
L
Step1 Action1 T1
T#4s

T1
Action1

4s

Step1.X

T1

Action1

4s

A ação é executada durante o tempo estipulado a partir do instante de


ativação do estado. Se o estado é desativado antes que o tempo haja
expirado, a ação interrompe sua execução. A ação é executada uma
última vez quando a etapa é desativada ou após o tempo haver expirado.
UNIUBE 195

D – Ação com atraso de tempo

Step1.X
Step1 D
Action1 T1
T#4s

T1 Action1

4s

Step1.X

T1

Action1

A ação é executada após um atraso de tempo estipulado, a partir do


instante de ativação do estado. Se o estado é desativado antes que o
tempo tenha atraso tenha expirado, a ação não é executada. A ação é
executada uma última vez, quando a etapa é desativada, somente se
tiver sido executada.

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

SD Ação armazenada e adiada

Step1.X
Step1 SD
Action1
T#4s
StepN.X
T1

Action1

4s

StepN R Action1 Step1.X

TN
StepN.X

Quando Step1 se torna ativo, a ação é armazenada, mas só começa


a executar após o tempo ter se expirado. Independente da duração do
Step1, a ação será executada até ser cancelada por uma ação com
qualificador R referenciando a mesma ação (Action1). A ação não será
executada se uma ação com qualificador R for executada antes do tempo
de atraso expirar. A ação executa ainda uma última vez.

DS Ação adiada e armazenada

Step1.X

Step1 DS Action1
T#4s StepN.X

T1
Action1

4s
Step1.X
StepN R Action1
StepN.X
TN
Action1

4s
UNIUBE 197

No começo do Step1, o tempo de atraso começa a ser computado. Após


o tempo ter expirado, a ação é armazenada e começa a ser executada. A
continua a ser executada até ser novamente referenciada por uma ação
com o qualificador R. Se o Step1 for desativado antes do tempo expirar,
a ação não será armazenada e não será executada.

SL Ação armazenada e limitada no tempo

Step1.X

Step1 SL
Action1 StepN.X
T#4s

T1
Action1

4s

Step1.X

StepN R Action1

StepN.X
TN

Action1

Quando o estado Step1 se torna ativo, a ação é armazenada e começa


a ser executada. Ela será executada até que o tempo T se esgote,
independentemente do estado de Step1 e mais uma vez. Se a ação for
desarmada por uma ação com qualificador R, antes do tempo se expirar,
a ação será interrompida.

O bloco de funções controle de ação

Trata-se de um bloco de função conceitual definido no padrão IEC como


meio de descrever o comportamento da ação. Cada ação é controlada
por uma instância deste bloco. A saída do bloco de controle de ação
é chamada Q. A ação associada ao bloco é executada, enquanto Q é
198 UNIUBE

verdadeiro. Todos os comandos da ação ou rede devem ser executados


mais uma vez na borda de descida de Q, ou seja, as ações são executadas
uma vez a mais.

Exemplos

1) Suponha uma ação qualificada com o qualificador P e definida em ST:

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.

2) Contar o número de vezes que um motor é acionado:

MotoOn P CountUp

TR1 CTU (CU:=CountUp.Q);

A ação CountUp é executada duas vezes. O contador,


entretanto só é incrementado na subida de CU.

Execução de um SFC

Redes SFC podem ser usadas para descrever o comportamento de uma


POU ou de ações. Cada POU está associada a uma task. A task executa
periodicamente os elementos de uma POU. A SFC associada à POU será
avaliada toda vez que a POU for executada. Uma SFC associada a uma
ação será executada toda vez que a ação for executada.
UNIUBE 199

Regras de avaliação de um SFC


1) A etapa inicial estará ativa quando a POU a executa, após a
inicialização do sistema. Quaisquer ações associadas com o passo
inicial serão executadas.
2) No início de cada avaliação, o conjunto de etapas ativas é determinado.
Todas as transições associadas com as etapas ativas serão avaliadas.
3) As ações que terminaram sua execução na última avaliação são
executadas mais uma vez.
4) Todas as ações ativas são executadas.
5) Todas as etapas ativas que precedem transições avaliadas como
verdadeiras são desativadas e os seus estados sucessivos são
ativados.
6) Todas as ações tendo uma condição de habilitação que acabaram de
ser desativadas, são marcadas como inativas, por exemplo, uma ação
com o qualificador de limite de tempo L, quando o período de tempo
é esgotado.

Regras de evolução de um SFC


O padrão IEC 11313 define um número de restrições na maneira como
redes SFC são projetadas e interpretadas para que o resultado final seja
livre de ambiguidade.

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

5) Quando mais do que uma condição de transição é verdadeira ao mesmo


tempo, o tempo de ativação e desativação das etapas associados deve
ser considerado nulo. O projetista não deve considerar as diferenças de
tempo de transições simultâneas (condição de corrida).
6. A condição de transição de uma etapa não é avaliada até que todo o
comportamento resultante da etapa ativa tenha se propagado através
da POU. Por exemplo, se uma etapa foi ativada com a sua condição
de saída sempre TRUE, todas as ações serão executadas uma vez
antes do estado se tornar desativado.

Evolução de caminhos divergentes

Quando existem duas ou mais transições a partir da mesma etapa, existe


ambiguidade sobre qual o caminho a ser seguido. Mesmo que várias
transições estejam ativas simultaneamente, somente um caminho é
selecionado. O caminho selecionado é determinado pela precedência
da transição.

Step1
1 Step1

2 1

Tr1 * Tr2 Tr1 * Tr2

Step2 Step3 Step2 Step3

O default seria a avaliação da esquerda para a direita. Se as transições


Tr1 e Tr2 forem ambas verdadeiras, a transição será feita para o Step2. A
transição pela prioridade default é indicada no diagrama por um asterisco
colocado sobre o centro dos ramos divergentes.

Caso desejemos outra ordem de precedência, devemos indicar a ordem


desejada numerando os ramos divergentes e colocando o asterisco na
junção.
UNIUBE 201

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

Podemos utilizar um caminho divergente quando desejamos saltar uma


seção de uma sequência. O caminho divergente não conterá etapas e
serve apenas para saltar sobre o caminho alternativo.

LineStart LineRdy

TrNextPack
OilPress < 3.0 OilPress > 3.0

StartOil Label

Oil = 1 (*Open*) LB1=1

OilPump Glue

Pump=0 (*On*) GL1=1

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

Pump1 Pump2 MainGen

TrGo

OnLine SelecAuto

A convergência simultânea serve para sincronizar as subsequências. As


sequências devem se encontrar na convergência AND. Quando TrGo é
disparado, as duas sequências de saída são ativadas.

Projeto Top down

Geralmente SFCs são utilizados para estabelecer a arquitetura de um


sistema complexo. Primeiro, os estados do sistema são identificados.
Depois, cada estado do sistema é modelado por meio de uma etapa
do SFC principal. Por exemplo, se estivermos modelando um forno
de reaquecimento de lingotes em uma siderúrgica, cada estado de
funcionamento do forno é modelado como uma Etapa do SFC (Figura 5):

Quadro 5: Representação dos estados de um forno

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

Cada estado poderia ser subdividido novamente em subestados. Por


exemplo, o estado TRATAMENTO poderia ser dividido em APLICA_
RAMPA_TEMP, MANTEM_TEMP etc. Esta nova sequência pode estar
contida dentro de outro SFC, por sua vez contido numa caixa de ação ou
o SFC pode ser encapsulado em um bloco de função.

Depois de definidos os estados, deve-se identificar quando as transições


entre estados devem acontecer. Transições estão ligadas a eventos
de operação (intervenções do operador) ou de processo. O SFC
permite um enfoque top down, em que o comportamento do sistema é
refinado sistematicamente, gerando SFCs cada vez mais detalhados do
comportamento do sistema.

CARREGAMENTO APLICA_RAMPA_TEMP

MANTEM_TEMP
PRONTO

TRATAMENTO Ação PEFIL_TEMP

Bom estilo de programação

• Use nomes significativos para etapas, transições e ações sempre


que possível.
• Tente manter cada SFC pequeno e focado no principal comportamento,
sendo considerado o nível hierárquico, sendo analisado. Todo
comportamento detalhado deve estar contido dentro dos blocos de
ação e cobertos por SFCs de níveis inferiores.
• Tente reduzir as interações entre sequências simultâneas ao mínimo
possível.
• Evite que ações associadas às etapas de duas sequências diferentes
e simultâneas manipulem as mesmas variáveis, por exemplo,
parâmetros de entrada para blocos de função. Cuidado deve ser
204 UNIUBE

tomado quando uma ação contém uma subsequência ou pode ser


paralisada em um estado intermediário por uma sequência de nível
superior. A sequência de alto nível deve assegurar que todas as
operações incompletas sejam finalizadas de forma adequada.

Escopo de nomes dentro de redes SFC

Todos os nomes de estados, transições, conectores de transição e ações


devem ser únicos dentro de uma POU, por exemplo, bloco de função que
contém a rede SFC. O escopo de um nome usado em um SFC dentro
de um bloco de função é o bloco de função. Elementos de SFC dentro
de um bloco de ação pertencem ao mesmo escopo que as variáveis
externas do SFC.

SFC em modo texto

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

TRANSITION FROM Start TO Fill:


StartSwitch = 1; // Transição: Neste caso uma transição simples do estado
Start para Fill
END_TRANSITION

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

Action_StartUp(L, T#2m, Ready);


Action_Stop(P, Stopped);

A transição TrGo colocada na forma canônica se torna:

TRANSITION FROM (Pump1, Pump2, MainGen) TO (OnLine, SelectAuto)


:= TrGo EQ 1;
END_TRANSITION

Pump1 Pump2 MainGen

TrGo

OnLine SelecAuto

Transições e Receptividades
1

Contato C1 fechado (C1)


Transições indicam a possibilidade de
evolução entre etapas e cada transição 2

é associada a uma condição lógica 1


chamada receptividade, descrita ao lado Contato C1 fechado e C2 aberto
(C1.C2)
do símbolo da transição.
2

A receptividade, em geral, é uma função associada ao estado das


entradas do CLP. Se a transição deve ocorrer sempre, então devemos
associar a ela uma receptividade TRUE.
206 UNIUBE

Exemplo

Diversas maneiras de se representar uma transição.

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

Enable %IX4 Raise


Quando um degrau permite a passagem de
potência, a condição de transição se torna
Sw1 Stop
verdadeira.

Diagrama de blocos de função

Qualquer FBD que produza um MotorCheck


resultado booleano pode ser ligado Mancal1 Vibration PreCheck
a uma transição. No exemplo ao Tanque1 Fuel Go
lado, o bloco MotroCheck irá fazer Gas1 Pressure
Power
GO = 1 se os valores de vibração,
combustível e pressão estiverem dentro de seus limites operacionais.

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

Transição definida usando ST

A expressão deve retornar um valor booleano. Note que o símbolo de


atribuição:= é necessário para indicar que o valor é atribuído para a
condição de transição.

TRANSITION Trans1:
:= AB1 AND CX3 OR CX5 AND (TX3 >= 100.2);
END_TRANSITION

Transição definida usando FBD TRANSITION TransGo:

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

A bobina deve ter o mesmo nome da transição. Quando a bobina é


energizada, a condição de transição é verdadeira.
TRANSITION TRANS21:

%IX2 EX10 FDIR21 Trans21

END_TRANSITION
208 UNIUBE

Transição definida usando IL

O último valor no acumulador corresponde ao valor a ser retornado. A


operação deve retornar sempre um valor booleano. Se o valor for 1, o
resultado será verdadeiro.

TRANSITION Trans21:
LD %IX21
AND EX10
AND FDIR21
END_TRANSITION

Atividade 4

Um robô (AGV) deve transportar pallets do porto A ao porto B conforme


a figura, a seguir:

Em que:

Sinais de Entrada: (Sensores)


• PA: Pallet em A
• PB: Pallet em B
• FC: Fim de carregamento do Pallet
• A: AGV no porto A
• B: AGV no porto B
UNIUBE 209

Sinais de Saída: (Atuadores)

• D: AGV se desloca para a Direita


• E: AGV se desloca para a Esquerda
• F: Freia AGV
• CP: Carrega Pallet no AGV
• DP: Descarrega Pallet do AGV
• RP: Remove Pallet (Robô)

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.

Muitos ambientes de programação IEC atuais oferecem tudo esperado


para os modernos ambientes: uso do mouse, menus, telas gráficas,
suporte para múltiplas janelas, uso de hipertexto, verificação durante a
programação etc..

Fique atento!!!
Pois estas são características não definidas pela norma: é um ponto onde
os fabricantes podem se diferenciar.

Na figura anterior, as quatro linguagens descrevem a mesma lógica de


programa.
210 UNIUBE

A escolha da linguagem de programação depende do(a):

• formação do programador;
• problema a resolver;
• nível da descrição do problema;
• estrutura do sistema de controle;
• interface com outras pessoas/departamentos.

Todas as quatro linguagens são interligadas: elas proporcionam uma


plataforma comum, com uma ligação com a experiência existente. Neste
sentido, elas também funcionam como uma ferramenta de comunicação,
integrando pessoas de diferentes formações.

Espero que os conceitos desenvolvidos contribuam para o entendimento


desse componente tão importante na sua formação profissional. Continuem
com essa determinação, que é natural de quem já chegou até aqui.

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.

GEORGINI, Marcelo. Automação aplicada: descrição e implementação de sistemas


sequenciais com PLCs. 8. ed. São Paulo: Érica, 2004.

JOHN, KarlHeinzr; TIEGELKAMP, Michael. IEC 61131-3: Programming Industrial


Automation Systems – Concepts and Programming Languages, Requirements
for Programming Systems, Aids to DecisionMaking Tools. SpringerVerlag
Berlin Heidelberg: New York, 1995.

LEWIS, R.W. Programming industrial control systems using IEC 1131-3. Institution of
Electrical Engineers, 1998.

MICHEL, G. Programmable logic controllers: architecture and aplications. John Wiley;


Sons Ltd. England, 1990.

MIYAGI, P. E. Controle programável: fundamentos do controle de sistemas a eventos


discretos. Ed. Blucher, 1996.

MORAES, C. C; CASTRUCCI, P. L. Engenharia da automação industrial. Rio de


Janeiro: LTC Editora, 2001.

PRUDENTE, Francesco. Automação industrial PLC: teoria e aplicações. Rio de Janeiro:


LTC, 2001.

RIBEIRO, Marco Antônio. Automação industrial. 4. ed. Salvador: Tek Treinamento


& Consultoria Ltda, 1999.

SILVEIRA, Paulo Rogério da; SANTOS, Winderson E. dos. Automação e controle


discreto. 7. ed. São Paulo: Érica, 2008.
Capítulo
Estudos de controladores
industriais
4

Marcelo Lucas
Florisvaldo Cardozo Bomfim Junior

Introdução
Caro(a) aluno(a).

Estamos iniciando uma nova etapa, e é chegada a hora de você


receber mais este capítulo de estudos. A finalidade deste capítulo
é apresentar as técnicas de sintonia dos controladores industriais,
mais especificamente aqueles que utilizam o método PID de
controle, ou seja, proporcional, integral e derivativo. Este capítulo
trata da seleção apropriada do controlador para uma planta em
um sistema de controle em malha fechada e da determinação dos
parâmetros de controle, de forma conveniente.

De modo geral, esperamos que este trabalho possa contribuir


de forma significativa para seu desenvolvimento profissional e
acadêmico, além de mostrar o estado da arte de tal segmento.

Quando os futuros historiadores escreverem sobre a história da


engenharia de controle do século vinte, certamente citarão que os
controladores PID foram os mais populares desta época. Milhares
de engenheiros de controle e instrumentistas espalhados pelo
mundo inteiro estão convivendo diariamente com tais controladores
em seus ambientes de trabalho.
214 UNIUBE

De acordo com uma pesquisa realizada em 1977, de cada 37


controladores analógicos industriais existentes, cerca de 30 eram
do tipo de PID. Nos dias atuais, estima-se que mais de 90% das
malhas de controle existentes têm os controladores PID como seu
elemento de controle.

Estima-se ainda que tais controladores permaneçam dominantes


por muito tempo, por causa de sua notável eficiência, simplicidade
de implantação e larga aplicabilidade. Embora tais controladores
já estivessem comercialmente disponíveis desde os anos trinta,
somente nas últimas décadas houve um interesse maior em aplicá-
los no controle dos processos das plantas industriais. Inicialmente,
esses controladores eram pneumáticos e ganharam aceitação
industrial durante os anos quarenta.

Já, os controladores eletrônicos entraram no mercado nos anos


cinquenta. Durante os últimos trinta anos, um grande esforço tem
sido dispensado estudando-se métodos e técnicas de projeto para
tais controladores. Centenas de trabalhos de pesquisa, várias
teses e livros foram escritos sobre o assunto durante este período.

Apesar dos avanços obtidos e de sua popularidade, o projeto dos


controladores PID ainda é um grande desafio para engenheiros
e pesquisadores. Desde os anos quarenta, alguns métodos para
sintonia desses controladores em ambiente mono e multivariável
foram propostos; no entanto, todos esses métodos apresentam
algum tipo de limitação na sua aplicação prática.

O objetivo deste capítulo é discutir alguns conceitos básicos sobre


o projeto dos controladores PID para sistemas monovariáveis,
fazendo-se uma revisão dos principais métodos e técnicas de
projeto existentes. Os conceitos apresentados são de fundamental
importância para o entendimento dos métodos mais avançados a
respeito da análise e do projeto de sistemas de controle.

Bom trabalho a todos, e que os objetivos desses estudos sejam


alcançados.
UNIUBE 215

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

4.1 Controlador PID e suas Combinações

Em um processo industrial, é fundamental, para o seu bom desempenho,


a seleção correta da estratégia de controle, do tipo de controlador usado
na malha de controle e, também, da determinação conveniente dos
parâmetros deste controlador.

A relação entre entrada e saída do controlador é conhecida como lei de


controle e são três as formas básicas para o controle clássico: proporcional,
integral e derivativa. Contudo, em alguns casos, é necessário melhorar
o desempenho do processo com a introdução de elementos adicionais
chamados de compensadores.

4.2 Ações Básicas de Controle

O controlador é uma das peças fundamentais de um sistema de


completo controle. Como visto anteriormente, o tipo de controlador mais
utilizado é denominado PID (Proporcional – Integral – Derivativo). Este
tipo de controlador possui um bom desempenho, desde que o sistema
a controlar seja conhecido, bem comportado (linear e invariante no
tempo) e que os parâmetros do controlador sejam bem ajustados. A sua
principal limitação, derivada do procedimento de ajuste, é ser sensível
às diferentes condições de funcionamento. Nesta situação, a utilização
de um controlador adaptativo com ganhos variáveis é vantajosa.
Existem 4 tipos de ações básicas de controle que podem ser utilizados
isoladamente, ou associados entre si, e dois modos de acionamento do
controlador. Iniciaremos definindo estes dois modos para, em seguida,
estudar cada tipo de ação e suas associações principais.
UNIUBE 217

4.3 Modos de controle

O sinal de saída do controlador depende da diferença entre a variável


de processo (PV) e o valor desejado (SP). Dessa forma, dependendo
do resultado desta diferença, a saída do controlador pode aumentar ou
diminuir. Com base nisso, o controlador pode ser designado a trabalhar
de dois modos distintos, chamados de “ação direta” e “ação reversa”.

4.4 Ação de controle on-off (liga-desliga) sem histerese

Os controladores do tipo liga-desliga são os mais


Ação direta
simples e também mais baratos, sendo, por isso,
Dizemos que um
muito utilizados, tanto em sistemas de controle controlador está
funcionando na
industrial como em aplicações domésticas. Como ação direta quando
o próprio nome indica, esses controladores um aumento
na variável do
permitem somente duas posições para o processo, em
relação ao valor
elemento final de controle, ou seja: totalmente desejado, provoca
um aumento no seu
aberto ou totalmente fechado. Assim, a variável sinal de saída.
manipulada é rapidamente mudada para o valor Ação reversa
máximo, ou para o valor mínimo, dependendo Dizemos que um
da variável controlada ser maior, ou menor que controlador está
funcionando na
o valor desejado. Por esse motivo, o controle “ação reversa”
quando um
com este tipo de ação fica restrito a processos aumento na variável
do processo, em
que permitam variabilidade em torno do valor relação ao valor
desejado. desejado, provoca
um decréscimo no
seu sinal de saída.

Exemplo

Seja o sistema de controle de nível mostrado na Figura 1. Neste sistema,


para se efetuar o controle de nível, utiliza-se um flutuador para abrir
e fechar o contato (S), que aciona a bobina de uma válvula do tipo
solenóide. Quando energizado, o solenóide permite a passagem da
218 UNIUBE

vazão máxima e, estando desenergizado, bloqueia totalmente o fluxo


do líquido para o tanque. Assim, este sistema efetua o controle estando
sempre em uma das posições extremas, ou seja, totalmente aberto, ou
totalmente fechado.

Solenóide

S 127 V
Q
Alimentação

C h

QO

Figura 1: Sistema ON-OFF de controle de nível de líquido.


Fonte: Acervo dos autores.

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.

4.5 Ação de Controle on-off de duas posições com histere

Em alguns casos, o intervalo diferencial é proveniente de atritos e de


perdas de movimento não intencionalmente introduzidos no sistema.
Entretanto, normalmente ele é introduzido com a intenção de evitar uma
operação de liga-desliga mais frequente, o que certamente afetaria na
vida útil do sistema. A Figura 2, mostra por meio do gráfico, o que vem a
ser este intervalo entre as ações liga – desliga.
UNIUBE 219

Valor desejado

ON

Intervalo entre ações

OFF

– 0 +
Desvio
Figura 2: Intervalo entre as ações de liga-desliga.
Fonte: Acervo dos autores.

O fato deste controle levar a variável manipulada sempre a uma das


suas posições extremas faz com que a variável controlada oscile
continuamente em torno do valor desejado. Esta oscilação varia em
frequência e amplitude em função do intervalo entre as ações e também
em função da variação da carga. Com isto, o valor médio da grandeza
sob controle será sempre diferente do valor desejado, provocando o
aparecimento de um desvio residual denominado erro de “offset”,
conforme visto na Figura 3, a seguir:

“Off-set”

Variável Valor desejado


controlada
Valor médio
ON ON ON
Variável
OFF OFF
manipulada

Figura 3: Erro de Offset.


Fonte: Acervo dos autores.

Basicamente, todo controlador do tipo ON-OFF apresenta as seguintes


características:
• a correção independe da intensidade do desvio;
• possui ganho infinito;
220 UNIUBE

• provoca oscilações no processo;


• apresenta erro de offset.

Dessa forma, o controle de duas posições é simples e econômico, sendo,


portanto, largamente utilizado nos dias atuais. Principalmente o controle
de temperatura nos fornos elétricos pequenos, fornos de secagem etc,
são realizados, em sua maioria, por este método. No entanto, apresenta
certas desvantagens por provocar oscilações e “offset” e, principalmente,
quando o sistema apresenta tempo morto muito grande, os resultados
de controle por estes controles simples tornam-se acentuadamente
inadequados. Assim, quando não é possível utilizar este tipo de controle,
recorre-se a métodos mais complexos.

4.6 Controlador Proporcional

O modo de controle proporcional é, normalmente, parte integrante dos


sistemas de controle industrial. Ele responde imediatamente quando
detecta um erro e começa sua ação corretiva.

No controle proporcional, a saída do controlador é diretamente proporcional


à sua entrada (sinal de erro). Esquematicamente, é do tipo mostrado na
Figura 4.
rsp(t) e(t) m(t)
+
_
CONTROLADOR

Cm(t)

Figura 4: Diagrama de blocos do controlador.


Fonte: Acervo dos autores.

Com base no diagrama de blocos da figura anterior, a saída do controlador


é dada por:

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
=

O erro do bloco detector de erro é:

E ( s ) = rsp ( s ) – Cm ( s ) Equação 3

Em que

M(s): Saída do controlador


KC: Ganho proporcional
PO: Bias do controlador (valor da saída m(t) quando e(t) = 0)
E(s): Erro
CM(s): Valor medido da variável controlada.

AÇÃO PROPORCIONAL (P)


2
erro
MV
1.8

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

A ação proporcional apresenta uma relação matemática proporcional


entre o sinal de saída do controlador e o erro (offset). Portanto, para
cada valor de erro, temos um único valor de saída em correspondência. A
função de transferência do controlador proporcional é da seguinte forma:

M (s)
C (s)
G= = K C Equação 4
E (s)

4.6.1 Banda Proporcional

Alguns controladores, especialmente os modelos mais antigos, trabalham


com o conceito de banda proporcional fixa em vez do ganho do
controlador. Neste caso, a banda proporcional PB é definida como “a
porcentagem de erro, resultante de uma variação em 100% na saída
do controlador”, isto é, a porcentagem da faixa de variação da variável
controlada necessária para que a saída do controlador passe do seu
valor mínimo para o seu valor máximo. Assim, a Equação 4 também
pode ser escrita como:

M ( s ) 100
C (s)
G= =
E ( s ) PB Equação 5

Isto corresponde a:

∆CMÁX 100 100


=PB 100 = =
∆M MÁX ∆M MÁX K C Equação 6
∆CMÁX

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

Figura 6: Banda proporcional.


Fonte: Acervo dos autores.

Numericamente, uma grande variação da PB representa uma pequena


variação do ganho do controlador.
Ps
% psi
15
0%
100
50%

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%

Figura 7: Gráfico de variação da PB.


Fonte: Acervo dos autores.
224 UNIUBE

Observe que se a banda proporcional for de 50%, para se obter uma


variação total de saída será somente necessário que o offset varie de
50%. Por outro lado, se a banda proporcional for superior a 100%, a
saída, teoricamente, nunca irá variar totalmente, mesmo que o offset varie
toda a faixa (100%). Caso o valor do erro ultrapasse a faixa da banda
proporcional, o sinal de saída saturará em 0 ou 100%, dependendo do
sinal de erro. O valor de Po é normalmente escolhido em 59% da faixa
de saída, pois desta forma o controlador terá condição de corrigir erros
tanto acima como abaixo do set-point.

4.6.2 Erro de offset

Para muitas pessoas, o erro de offset não é bem compreensível. Se os


controladores servem para manter a variável controlada no set-point, por
que ocorre o offset?

A razão é que quando o erro é zero, a saída do controlador proporcional é


Po, valor que foi ajustado manualmente. Novas variações no sinal de erro
serão acompanhadas por variações no sinal de saída que visam manter
o erro nulo. Isto funciona para uma determinada condição de carga,
que assume o sinal de saída Po como posição de repouso. Com uma
mudança de carga ou set-point, as características de controle mudam,
fazendo com que a posição de repouso também mude. Entretanto, o
controlador continua a trabalhar em torno de Po, ignorando tais mudanças
nas características do sistema. Assim, o controlador manterá a saída do
sistema diferente do set-point real, gerando então o erro de offset.

Para solucionar este problema, seria preciso reposicionar manualmente


Po para o ponto de equilíbrio equivalente às novas condições de carga ou
set-point. Este reposicionamento manual é chamado de “reset” manual.
Assim, a desvantagem da ação proporcional é a incapacidade de eliminar
o erro de offset após uma alteração do set-point ou de uma perturbação.
UNIUBE 225

Variação
de Carga
(distúrbio) tempo

“Offset”
Variável
Controlada Valor desejado
tempo
Variável
Controlada

Figura 8: Resultado do controle pela ação proporcional.


Fonte: Acervo dos autores.

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.

Basicamente, todo controlador do tipo proporcional apresenta as


seguintes características:

• correção proporcional ao desvio;


• existência de uma realimentação negativa;
• deixa erro de offset após uma variação de carga.

Vimos que com a introdução da ação proporcional, conseguimos melhorar


as inconvenientes oscilações provocadas pelo controle “ON-OFF”. No
entanto, esta ação não consegue manter o sistema em equilíbrio sem
provocar o aparecimento do erro de offset, caso haja variação na carga,
226 UNIUBE

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.

Assim, sistemas de controle apenas com ação proporcional somente


devem ser empregados em processos onde grandes variações de carga
são improváveis, e que permitam pequenas incidências de erros de
offset, ou em processos com valores pequenos de tempo morto. Neste
último caso, a banda proporcional pode ser bem pequena (alto ganho) a
qual reduz o erro de offset.

4.7 Controlador Integral

Conforme apresentado anteriormente, a ação de controle proporcional


tem a desvantagem de apresentar erro de offset para variações de
carga. Uma forma de se diminuir esse problema e, na maioria dos casos,
eliminá-lo, é o uso conjugado da ação proporcional mais a ação integral,
apresentada nesta seção. Esta ação calcula o valor da integral do erro
de offset a todo o instante. Como, na maioria das vezes, o erro de offset
assume valores ora positivos, ora negativos, o valor da integral se
mantém sempre em torno do valor que é necessário para que se elimine
o referido erro.

Com o controle integral, a saída do controlador é proporcional à integral


do sinal de erro no tempo.

t
m(t ) K i ∫ e(t )dt + P0 Equação 8
=
0
UNIUBE 227

Em que

Ki Constante integral ou reset


Ti Tempo integral (reset time)

1
Ki = Equação 9
Ti

O tempo integral é o tempo em que o modo integral demora em igualar-se


a ação proporcional e reset é o número de vezes por unidade de tempo
que a ação proporcional é duplicada (normalmente medida em repetições
por minuto). Logo, a saída, em qualquer instante, é proporcional ao
acúmulo dos efeitos do erro, em instantes anteriores. Quanto maior Τi,
menor a ação integral.

AÇÃO INTEGRAL (P)


10
erro
MV
9

6
MV e Erro

0
0 1 2 3 4 5 6 7 8 9 10

tempo

Figura 9: Saída do modo de controle integral em função do erro.


Fonte: Acervo dos autores.
228 UNIUBE

A função de transferência da ação integral é dada pela equação 10.

M (s) Ki 1 Equação 10
GC (=
s) = =
E (s) s Ti s

Em geral, a ação integral não é utilizada isoladamente, mas em conjunto


com a ação proporcional, vista anteriormente, e, também, em conjunto
com a ação derivativa que será apresentada na próxima seção.

4.7.1 Saturação da ação integral (Reset windup)

Uma desvantagem da ação integral é um fenômeno chamado de


saturação (Reset windup). Quando no sistema, por algum motivo, persistir
erro na entrada, o termo integral se tornará muito grande, podendo
saturar a saída.

No entanto, logo que o erro mudar de sinal, a ação integral começará


a diminuir; porém, como a saída do controlador estava saturada num
valor superior ao limite, durante certo tempo a saída permanecerá nesta
condição de saturação, impedindo a correção desse erro. Este fenômeno
pode gerar uma sobre-elevação perigosa de variável controlada.

Os controladores comerciais contêm um dispositivo de antissaturação


(antireset windup). Esta facilidade reduz a saturação da ação integral,
paralisando temporariamente o seu cálculo, toda vez que a saída saturar, e
voltando ao normal, quando o controlador sair dessa condição.

4.8 Controlador Derivativo

Observou-se que a ampla vantagem da ação integral é a eliminação


do erro de offset na grande maioria dos casos. Entretanto, essa ação
somente se torna efetiva quando ocorre o aparecimento do erro. Por
UNIUBE 229

outro lado, através da ação derivativa, obtém-se uma ação preventiva,


medindo-se a taxa de variação do erro de offset, muito antes que ele
atinja valores significativos.

Na ação de controle derivativa, a saída do controlador é proporcional à


taxa de variação do erro, no tempo.

de(t )
m(t ) K d
= + P0 Equação 11
dt

Em que

Kd: Ganho derivativo

Td = Kd: Tempo derivativo

No modo derivativo, logo que o erro aparece, a saída do controlador


pode tornar-se grande, pois a saída é proporcional à variação do erro e
não ao seu valor. Na ação derivativa pura, existe uma insensibilidade a
erros constantes ou à variação lenta, e, consequentemente, não é usada
isoladamente, mas sim, combinada com outras formas de controle.

x 1013 AÇÃO DERIVATIVA (D) AÇÃO DERIVATIVA (D)


8 10
erro erro
MV MV
9
7

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)

4.9 Controlador Proporcional+Integral – PI

A redução na estabilidade relativa resultante do controle integral pode


ser resolvida, até certo ponto, pela combinação das ações de controle
proporcional e integral, ou seja, o controlador PI.

t
KC
Ti ∫0
m(t ) =
K C e(t ) + e(t )dt + P0 Equação 13

Em que

KC: Ganho proporcional


Ti: Tempo integral
AÇÃO PROPORCIONAL + INTEGRAL (PI)
10
erro
MV
9

6
MV e Erro

0
0 1 2 3 4 5 6 7 8 9 10
tempo

Figura 11: Saída do modo de controle PI em função do erro.


Fonte: Acervo dos autores.
UNIUBE 231

Função de Transferência

 1  K C (Ti s + 1)
GC ( s ) = K C 1 + = Equação 14
 Ti S  Ti s

Neste modo de controle, a ação integral elimina o erro de offset


provocado pela ação de controle proporcional, mas, com prejuízo à
estabilidade inerente à ação de controle proporcional, e ainda tendo como
desvantagem a necessidade de dois parâmetros de ajuste, tornando mais
difícil a sintonia deste controlador.

4.10 Controlador Proporcional+Derivativo – PD

No modo de controle proporcional + derivativo, a saída do controlador


tem a seguinte forma:

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

KC: Ganho proporcional


Tempo derivativo é o número de correções da ação (como fração
Td:
da ação proporcional) por unidade de tempo.

4.11 Controlador Proporcional + integral + derivativo – PID

A ação derivativa tem efeito estabilizante no processo, pois a velocidade


na variação do erro antecipa o seu comportamento. Porém, se o sinal
de erro for muito ruidoso, o efeito da ação derivativa é contraproducente,
pois amplifica este ruído. A função de transferência de um controlador
PID tem a seguinte forma:

M (s) Ki
Gc ( s ) = = KC + + K d s Equação 17
E (s) s

Outra forma equivalente pode ser obtida como


 1 
Gc ( s )= K C 1 + + Td s  Equação 18
 Ti s 
Embora as funções de transferência dadas na Equação 17 e Equação
18 sejam muito populares, elas não são equações práticas. A parcela
derivativa causa um aumento no ganho em função de um aumento na
frequência. Isto nos dá uma função de transferência para o controlador
irrealizável na prática. Os controladores PID práticos limitam este ganho
em altas frequências, fazendo do elemento de saída um bloco de
primeira ordem, ou seja, um filtro passa-baixas. A constante de tempo
desse filtro normalmente é fixada por, aproximadamente, um décimo do
termo derivativo. Consequentemente, a função de transferência de um
controlador de PID prático é dada por:
UNIUBE 233

 1  1 

Gc ( s )= K C 1 + + Td s    Equação 19
 Ti s   a Td s + 1 

Em que α <<<< 1 (normalmente 0,01 < α < 0,1)

ou
 1   T s +1 
G= ( s ) K C 1 +   d 
c Equação 20
 Ti s   a Td s + 1 

Em que α < 1 (normalmente 0,05 < α < 0,2).

O objetivo, ao se projetar um controlador PID, é determinar uma combinação


de ganhos (KC, Ki, Kd) ou (KC, Ti, Td) para as estruturas anteriores,
conhecendo um determinado conjunto de especificações de desempenho
do sistema em malha fechada. Estes ganhos serão calculados de tal sorte
que a resposta transitória, a rejeição a perturbações e as especificações
do erro de regime permanente sejam próximas dos valores especificados
para o sistema. Além disso, um desempenho robusto também deveria ser
assegurado. Na prática, não é possível alcançar todos estes objetivos.
Por exemplo, se o controlador é ajustado para prover um transitório
melhor (por exemplo: mínimo overshoot com um tempo de acomodação
mínimo) para uma mudança de set-point, resultará normalmente numa
resposta lenta para perturbações. Por outro lado, se fizermos o sistema
de controle robusto, escolhendo valores mais conservativos para os
ganhos do controlador, esta poderá resultar em respostas mais lentas
para mudanças de carga e de set-point. Vários pesquisadores tentaram
superar tais dificuldades propondo novas técnicas de projeto para
controladores PID. Como resultado para todos esses esforços, vários
métodos para projeto de controladores PID single-loop e multi-loop são
disponíveis hoje nas literaturas.
234 UNIUBE

4.12 Estruturas de controladores PIDs industriais

Como passar dos anos e a evolução dos dispositivos eletrônicos,


os equipamentos de controle passaram por uma grande evolução
tecnológica. Todavia, o algoritmo PID aplicado no controle realimentado
continua a ser bastante empregado, apresentando, ainda, fôlego para ser
utilizado por um longo tempo. Dessa forma, dependendo da época, os
algoritmos foram sendo alterados de acordo com a tecnologia disponível,
buscando sempre uma redução dos custos, isto é, os controladores
pneumáticos utilizavam um algoritmo, os analógicos outros e os digitais
normalmente oferecem todos, para que o usuário faça a sua escolha
conforme a aplicação.

Assim, os algoritmos PIDs são classificados pela estrutura construtiva de


seu diagrama de blocos da seguinte forma:

• estrutura mista ou não interativa, normalmente encontrada nos


controladores pneumáticos;
• estrutura série ou interativa, normalmente encontrada nos
controladores analógicos;
• estrutura paralela, completamente não interativa, comumente
encontrada nos controladores digitais.

As equações e os diagramas de blocos de cada estrutura serão mostrados


a seguir, onde todas as ações atuam sobre o erro. Estas estruturas são
recomendadas para controle de relação ou para controle escravo de uma
cascata, mas possuem alguma restrição quando se exige frequentes
alterações de SP.
UNIUBE 235

4.12.1 PID com estrutura de blocos mista

Diagrama de Blocos

SP Erro Saída para MV


P

PV D

Figura 13: Diagrama da Estrutura Mista do algoritmo PID.


Fonte: Acervo dos autores.

4.12.2 Expressão Analítica

 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

4.16 PID com estrutura de blocos paralela – diagrama de blocos

Diagrama de Blocos

SP Erro Saída para MV


I

PV
D

Figura 14: Diagrama da Estrutura Paralela do algoritmo PID.


Fonte: Acervo dos autores.

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 

A estrutura anterior é normalmente referenciada como PID ideal, pois


nenhuma ação provê interferência em outra. É o melhor algoritmo de
controle para sintonia de seus parâmetros pelo método de tentativa e
erro que veremos a seguir.
UNIUBE 237

4.12.4 PID com estrutura de blocos série

Diagrama de Blocos

Saída para MV
SP Erro
P I D

PV

Figura 15: Diagrama da Estrutura Série do algoritmo PID.


Fonte: Acervo dos autores.

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  

Esse controlador é chamado PID interativo, já que os parâmetros das


ações Integral e Derivativa interferem na ação proporcional e vice-versa.
Esta estrutura foi muito utilizada nos controladores analógicos por permitir
a redução de amplificadores operacionais e circuitos periféricos na placa
de circuito eletrônico. É um algoritmo que apresenta maior dificuldade em
sua sintonia por tentativa e erro.
238 UNIUBE

É útil observar que não importa o algoritmo utilizado, a equação de controle


é sempre a mesma. Por exemplo, se um projeto de controlador definiu que
1
a equação de controle é dada por M(s) =  2 + + 0,1⋅ s  ⋅ E(s) , então, para
s  
cada estrutura será necessário adequar os valores do ganho proporcional,
tempo de reset e derivativo, para que o equipamento execute sempre
a mesma expressão de controle, independente da estrutura utilizada,
conforme pode ser visto na Tabela 1, a seguir.

Tabela 1: Adequação dos parâmetros KC, Ti e TD

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

Fonte: Acervo dos autores.

4.13 Controladores digitais

Os controladores digitais ainda oferecem uma gama de modificações


importantes no uso industrial. As ações derivativa e proporcional, por
exemplo, podem ser aplicadas sobre o erro ou apenas sobre a PV
em função da operação da planta. O ganho proporcional pode não
ser constante, mas pode variar em função da alteração do ponto de
operação da PV. A ação derivativa pode ter o ganho transitório ajustado
para evitar grandes impactos no processo em caso de erros maiores.
Assim, embora o algoritmo de controle PID continue sendo o mesmo
desde os controladores pneumáticos, é notório que a partir dos sistemas
microprocessados, graças a facilidades da programação, houve grande
evolução e melhor adaptação ao uso industrial. Em seguida, apresentam-
se algumas variações encontradas nos controladores de uso industrial.
UNIUBE 239

4.14 Variações Estruturais em Função da Alteração do SP

PI.D: Nessa configuração, as ações proporcionais (P) e integrais (I) atuam


sobre o erro e a ação derivativa (D) sobre a Variável de Processo (PV).
Desta forma, o sinal de saída acompanha as mudanças de set-point,
segundo as ações Proporcional e Integral, mas não dá uma variação
indesejável devido à ação Derivativa, por outro lado, se houver algum
distúrbio na PV, as três ações atuarão. É o mais recomendado para a
maioria das aplicações com set-point ajustável pelo operador.

Controlador PI.D paralelo

1 dPV(t)
S(t) = k p ⋅ e(t) +
TR ∫ e(t) ⋅ dt + TD
dt Equação 28

Controlador PI.D misto

 1 dPV(t) 
TR ∫
S(t)
= k p e(t) + e(t) ⋅ dt + TD  Equação 29
 dt 

Controlador PI.D série

  T  1 dPV(t) 
TR ∫
S(t)
= k p  1 + D  ⋅ e(t) + e(t) ⋅ dt + TD  Equação 30
  TR  dt 

I.PD: Neste tipo, somente a Integral atua sobre o erro. Mudanças no


set-point provocam a variação no sinal de saída de maneira suave. É
recomendado para processos que não podem ter variações bruscas
na MV, em função da mudança de set-point. É o caso de processos de
aquecimento com ganho muito alto ou com grandes constantes de tempo.

Controlador I.PD paralelo

1 dPV(t)
S(t) = k p ⋅ PV(t) +
TR ∫ e(t) ⋅ dt + TD
dt
Equação 31
240 UNIUBE

Controlador I.PD misto

 1 dPV(t) 
S(t) k p  PV(t) +
=
 TR ∫ e(t) ⋅ dt + TD
dt 
 Equação 32

Controlador I.PD série

  T  1 dPV(t) 
TR ∫
S(t)
= k p  1 + D  ⋅ PV(t) + e(t) ⋅ dt + TD  Equação 33
  TR  dt 

4.15 Técnicas, Projeto e Sintonia de Controladores PID

A função do controle realimentado é assegurar que o sistema em malha


fechada tenha resposta desejável na dinâmica e no estado-estacionário.
É desejável que um sistema em malha fechada satisfaça os seguintes
critérios de performance:

• estabilidade em malha fechada;


• efeito das perturbações minimizadas;
• respostas rápidas e não oscilatórias;
• eliminação de offset;
• evitar ações de controle excessivas.

O sistema de controle deve ser robusto, isto é, insensível a mudanças


no processo e a erros de modelo.

Em geral, as especificações de desempenho dos sistemas de controle não


devem ser mais restritivas do que o necessário para desempenhar a tarefa.

Há vários métodos para se projetar um controlador. Estes métodos são


baseados nos modelos do processo. Nesta seção, faremos uma pequena
revisão de alguns métodos para projeto de controladores PID aplicados
a sistemas lineares SISO.
UNIUBE 241

4.15.1 Sintonia por tentativa e erro

Certamente, o método de sintonia atualmente mais empregado em


sistemas de automação industrial, e, provavelmente, o maior responsável
pelo desempenho pobre das malhas de controle nos processos industriais
é o método de tentativa e erro.

Este método de sintonia consiste em ajustar os parâmetros Kp, Ti e Td de


forma intuitiva, procurando sempre o melhor desempenho do controlador.
Apesar de que alguns bons resultados podem ser obtidos quando a
equipe responsável possui grande experiência na operação da planta
por manter as malhas operando de forma otimizada, através da sintonia
dos controladores, podemos observar que quando os controladores são
ajustados através desse método, o que de fato ocorre é a dissintonia,
tentando reduzir a variabilidade das malhas de controle.

O resultado disso é que o sistema realmente não oscila, no entanto, o


mesmo não é capaz de acompanhar de forma adequada as alterações
de set-point ou mudança de carga. Uma forma mais coerente de utilizar
o método de tentativa e erro seria a aplicação, também, de outro método
de sintonia, de forma a melhorar empiricamente o comportamento do
sistema. Dessa forma, é preciso conhecer como a alteração dos ganhos
influi na resposta do dispositivo de controle. A seguir, serão mostradas
algumas considerações que devem ser observadas quando utilizamos o
método de sintonia por tentativa e erro (SEBORG et al, 1989):

• aumentando-se Kp, o controlador ficará mais sensível ao erro,


de forma que responderá mais rapidamente para tentar zerar
este erro. No entanto, isto poderá causar oscilações na PV e MV
correspondentes. Oscilações frequentes em MV causam desgaste
excessivo do atuador;
• diminuindo-se Kp, as oscilações em PV e MV são reduzidas, mas
o sistema torna-se mais lento para correção do erro. Deve-se ter,
então, um compromisso entre a velocidade da resposta desejada
para a variável controlada e a redução das oscilações de PV e MV.
242 UNIUBE

• devido ao erro de regime permanente, que pode estar presente para


controladores apenas proporcionais, deve-se utilizar ação integral no
controlador para garantir a convergência de PV para SP. Uma ação
integral fraca (Ti grande) corrige o erro muito lentamente, ao passo
que uma ação integral forte (Ti pequeno) pode tornar o sistema
rápido, mas oscilatório, diminuindo sua margem de estabilidade;
• quando se utiliza ação de controle integral, deve-se ter o cuidado
de prevenir a ocorrência de saturação na saída do controlador,
conhecida como “Reset Windup”. Para evitar o problema, é
necessário incorporar mecanismos limitadores da ação integral
(“anti-windup”), além de se utilizar parâmetros de sintonia mais
conservativos;
• ação de controle derivativa pode ser utilizada de forma a compensar
os efeitos desestabilizadores da ação integral e, desta forma,
reduzir as oscilações em PV que podem se manifestar na forma
de “overshoots” e “undershoots”. A ação derivativa tem um efeito
antecipatório na medida em que prevê o comportamento do sistema
baseado na sua tendência e, desta forma, diminui o tempo de
acomodação do sistema;
• a ação derivativa tem a característica de amplificar os sinais de alta
frequência, o que pode ser atenuado pela implementação de pré-
filtragem do sinal medido (PV). No entanto, a ação derivativa não
deve ser utilizada em sistemas de controle de vazão, por exemplo,
pois estes sistemas respondem muito rapidamente e as medições
de vazão geralmente apresentam muito ruído.

4.15.2 Métodos de Ziegler-Nichols (continuous cycling method)

Os métodos de sintonia de Ziegler-Nichols (Z-N) são os métodos


heurísticos, para projeto de controladores, mais populares, usados em
controle de processo para determinar os parâmetros de um controlador
PID. Embora estes métodos já existam há mais de 40 anos, inicialmente
aplicados em controladores analógicos, eles ainda são adequados para
os modernos sistemas de controle digitais.
UNIUBE 243

Foi no ano de 1942 que o primeiro método de Ziegler e Nichols foi


publicado, sendo conhecido como continuous cycling method. Neste
método, o ganho do controlador Kp é aumentado até que se obtenham
oscilações contínuas no ponto de operação do conjunto controlador-
processo, determinando assim o ganho crítico KU do sistema, ou seja, o
ganho em que o sistema oscila permanentemente. Sendo TU o período
das oscilações correspondente à KU, então os parâmetros do controlador
PID podem ser calculados usando a Tabela 2, sugerida por Ziegler e
Nichols, a seguir.

Tabela 2: Regras de sintonia Z-N (Continuous Cycling Method)

Controlador Parâmetros

KC Ti Td

P 0,5K U --- ---

1
PI 0, 45K U ΤU ---
1, 2

1
PID 0,6K U 0,5ΤU ΤU
8
Fonte: Acervo dos autores.

O método de Ziegler-Nichols em malha fechada pode ser empregado


em sistemas cuja dinâmica seja desconhecida, não sendo necessária a
determinação a priori de funções de transferência para estes sistemas.
O método foi desenvolvido para um “overshoot” médio de 25 %, o que
não impede que este varie entre 10% e 60%. A redução do “overshoot”,
no entanto, pode ser conseguida através de uma sintonia fina, usando
tentativa e erro, dos parâmetros do controlador, após a aplicação do
método.
244 UNIUBE

4.15.3 Método baseado em modelos

O método de Ziegler-Nichols, proposto anteriormente, pode ser de difícil


aplicação em malhas de controle com grandes constantes de tempo,
devido ao fato do tempo gasto em se obter os parâmetros de sintonia do
controlador. Outra questão que devemos considerar é que a aplicação
desse método leva o sistema à beira da instabilidade, o que pode ser
extremamente perigoso em alguns casos.

Assim, a aplicação de métodos baseados em modelos FOPDT seria


indicada, pois a obtenção dos parâmetros através desses métodos é
mais rápida e garante melhores resultados quando os sistemas são bem
modelados. Os processos que não possuem integradores nem polos
ressonantes, geralmente, podem ser aproximados por modelos FOPDT
dados pela Equação 34, em que K é o ganho do sistema, θ é o atraso de
transporte ou tempo morto e τ é a constante de tempo dominante, C(s)
representa a saída do sistema (PV) e R(s) a entrada da planta ou a saída
do controlador (MV).

Kpe –q s
Gp ( s ) =
τ s +1 Equação 34
(Com tempo morto ou FOPDT)

Vários métodos de sintonia para controladores PID propostos nas


literaturas usam o modelo FOPDT para determinar os parâmetros do
controlador. Este modelo, apesar de sua simplicidade e imprecisão, é
satisfatório para sintonizar boa parte dos controladores PID utilizados na
indústria. Dessa forma, a obtenção do modelo FOPDT do processo é o
primeiro passo a ser executado quando desejamos fazer a sintonia do
dispositivo de controle.
UNIUBE 245

Através desta resposta, pode-se determinar o modelo através de inspeção


direta do gráfico gerado pelo comportamento da variável controlada (PV)
no tempo. O ganho K é definido pela relação entre a variação em PV
causada pela manipulação de MV em regime permanente. O tempo morto
θ pode ser obtido através da tangente traçada no ponto de inflexão da
curva de resposta ao degrau, sendo que θ será o tempo entre a aplicação
do degrau na MV e a interseção da tangente com o eixo do tempo.

A constante de tempo τ é determinada como o tempo necessário para


PV atingir 63,2 % de seu valor em regime permanente, descontando-se
o tempo morto do sistema. Após a obtenção do modelo inicial, podemos
comparar os dados reais medidos na planta com a resposta deste
modelo, e fazer os ajustes finos que forem necessários.

1.5

0.5 kp

0
q T

0 5 10 15 20

tempo (s)

Figura 16: Resposta ao Degrau de um Modelo de FOPTD em Malha Aberta.


Fonte: Acervo dos autores.

Este método de identificação é muito empregado devido à sua simplicidade


e aplicabilidade em muitos processos industriais reais.
246 UNIUBE

4.15.4 Método de Ziegler e Nichols (Process Reaction Curve


Method)

Num segundo trabalho, que foi publicado em 1943, Ziegler e Nichols


propuseram um método alternativo, comumente conhecido como process
reaction curve method. Aqui, a resposta ao degrau da planta em malha
aberta é medida, sendo normalmente da forma como mostrado na Figura
16 anterior.

Esta resposta pode ser aproximada pela resposta ao degrau unitário de


um modelo de primeira ordem com tempo morto (FOPTD) determinado
pela Equação 34. Então, usam-se as regras de Ziegler e Nichols como
mostrado na Tabela 3.

Tabela 3: Regras de sintonia Z-N (Process Reaction Curve Method)

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

Fonte: Acervo dos autores.

Existem duas grandes desvantagens nos métodos de Z-N. Uma é


a necessidade de levar o sistema ao limite de estabilidade (resposta
de malha fechada oscilatória). A outra está no fato de tal método ser
totalmente baseado no ganho e na frequência no qual o sistema não
compensado oscilaria numa malha de realimentação proporcional,
consequentemente pode não ser válido para processos nos quais
UNIUBE 247

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.

4.15.5 Método Semiempírico Cohen e Coon (C-C)

Em 1953, Cohen e Coon desenvolveram relações para o projeto de


sistemas do tipo FOPTD, vistos na Equação 34, anteriormente, para
obter respostas de malha, fechados com relação de decaimento de
¼. A principal vantagem deste método é sua simplicidade em que se
observa também que as respostas obtidas são muito oscilatórias, e essa
característica constitui sua principal desvantagem.

Procedimento de teste

Seja o seguinte sistema do controle mostrado

Entrada Controlador Processo Saída


R(s) M(S) C(s)
+_ Gc(s) Gp(s)

Retroação

Figura 17: Sistema de controle: situação de exemplo.


Fonte: Acervo dos autores.
248 UNIUBE

colocar o controlador em manual

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.

A função de transferência em malha aberta é dada por:

R(s)
= G (s)
C (s)

Aplicar um degrau na saída (∆M)

DM C

t t
Figura 19: Sistema de controle: situação de exemplo.
Fonte: Acervo dos autores.

Observar a resposta do processo e aproximar o modelo a um processo


de 1a ordem com tempo morto:

k p e −qs
Gp (s) = Equação 35
τp s + 1
UNIUBE 249

A aproximação do modelo pode ser feita da seguinte forma:

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

S – ponto de inflexão do processo

Calcular os parâmetros do controlador de acordo com a Tabela 4, a seguir:

Tabela 4: Parâmetros do controlador com base no modelo Cohen-Coon

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

O método de Cohen-Coon pode ser utilizado como estimativa inicial dos


parâmetros do controlador. Se a aproximação da curva de reação do
processo não for bem ajustada, a sintonia também não será boa. Note
que Kc é maior para o controlador P do que o PI, e Kc é maior para o
controlador PID devido à ação estabilizante da ação derivativa.
 q
O coeficiente  a =  é conhecido como Razão de Controlabilidade.
 τp 

Quanto maior α, maior a dificuldade de controle, ou seja, o sistema tende
a oscilar.

Para um controlador PI, o valor do ganho do controlador é dado por:



1  a
= kc  0,9 +  Equação 36
k pa  12 

Reordenando os parâmetros, temos:

1 a
kckp
=  0,9 +  Equação 37
a 12 

0,9
k c=
kp + 0, 083 Equação 38
a

Em que: k c k p é chamado de Ganho da Malha.

Graficamente, podemos representar conforme visto na figura a seguir:


10
kckp
8

0
0 1 2 3 4 a 5
Figura 21: Ganho de malha.
Fonte: Acervo dos autores.
UNIUBE 251

4.15.6 Projeto baseado no critério da integral do erro

Uma poderosa aproximação para desenvolver relações para o projeto de


controlador PID está baseado em um índice de performance que indica a
qualidade da resposta de malha fechada do sistema. Estes índices são
obtidos pela ponderação de toda a resposta temporal.

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.

Alguns dos critérios de desempenho mais populares são:

• Integral do Valor Absoluto do Erro (IAE);


• Integral do Erro Quadrado (ISE);
• Integral do Erro Absoluto Quadrado Multiplicado pelo Tempo (ITAE);
• e Integral do Erro Absoluto Pesado pelo tempo ((ITAE).

O ajuste ótimo do sistema é obtido através da minimização destas integrais.


Os diferentes critérios, casos (servo, regulador), pontos de operação e
modelos, levam a ajustes diferentes para os parâmetros do controlador.
252 UNIUBE

EXPLICANDO MELHOR

Resumidamente...

Integral do Erro Absoluto (IAE – Integral of Absolute Error)


Este critério pondera os módulos dos erros, sendo útil quando os erros são
pequenos (|e| < 1 ).

IAE = ∫ e ( t ) dt
0

Ysp

Integral do Quadrado do Erro ISE (Integral Square Error)


Este critério pondera os erros ao quadrado, e é útil quando os erros são
grandes ( |e| >1 ).

ISE = ∫ e ( t ) dt
2
0

Integral do Erro Absoluto Multiplicado pelo Tempo (ITAE – Integral of Time


Weighted Absolute Error)
Este critério pondera os módulos dos erros, penalizando os erros que
persistem com o tempo, sendo mais útil quando os sistemas tendem a ter
offset.

ITAE = ∫ t e ( t ) dt
0

Integral do Erro ao Quadrado Multiplicado pelo Tempo (ITSE – Integral of


Time Weighted Square Error)
Este critério pondera os erros quadráticos, penalizando os erros que
persistem com o tempo. Este critério é mais seletivo do que o ISE.

ITSE = ∫ t e ( t ) dt
2
0
UNIUBE 253

Veremos, a seguir, a metodologia para utilização dos critérios anteriores:

a) para um determinado caso e sistema, calcular o erro [e(t)] como função


de KC, Ti, Td;
b) aplicar o critério integral escolhido durante o intervalo de tempo, tal
que a resposta tenha se estabilizado. É obtida, assim, uma função dos
parâmetros (ex: ISE (KC, Ti, Td));
c) aplicar o critério de otimização da hipersuperfície, onde o vale mais
profundo é dado por:

Minimizar ISE
k c , τ I , τd

d) o ponto de mínimo é determinado usando algum método de otimização.

∂ ISE
=0
∂ kc

∂ ISE
=0
∂ τI

∂ ISE
=0
∂ τd

4.15.7 Parâmetros Sugeridos para Projeto

Na Universidade de Lousiana, após diversos estudos, surgiu uma fórmula


para determinar os parâmetros do controlador PID, baseada no modelo
de 1ª ordem com tempo morto.

k p e −q s
Gp (s) = Equação 39
τps + 1


q
a= Equação 40
τp
254 UNIUBE

Caso regulador (Distúrbio ≠ 0, Set-point = 0)

Parâmetros Coef. ISE IAE ITAE

Controlador Proporcional (P) G c ( s ) = k c

a1 1.411 0.902 0.490


k p k c = a1a b1
b1 – 0.917 – 0.985 – 1.084

 1 
( s ) k c 1 + 
Controlador Proporcional-Integral (PI) G c=
 τIs 

a1 1.305 0.984 0.859


k p k c= a1a b1
b1 – 0.959 – 0.985 – 0.977

τi 1 b2 a2 0.492 0.608 0.674


= a
τp a 2 b2 0.739 0.707 0.680

 1 
( s ) k c  1 + + τd s 
Controlador Proporcional-Integral-Derivativo (PID) G c =
 τIs 

a1 1.495 1.435 1.357


k p k c= a1a b1
b1 – 0.945 – 0.921 – 0.947

τi 1 b2 a2 1.101 0.878 0.842


= a
τp a 2 b2 0.771 0.749 0.738

τd a3 0.560 0.482 0.381


= a 3 a b3
τp b3 0.1006 1.137 0.995
UNIUBE 255

Caso servo (Set-point ≠ 0, Distúrbio = 0)

Parâmetros Coef. IAE ITAE

 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

Estas relações têm algumas considerações empíricas que limitam a


sua aplicabilidade a 0.1 < α < 0.258 para o critério IAE e 0.1 < α <
0.378 para o critério ITAE. Um pouco fora desta faixa, o desempenho
também pode ser aceitável. Dentre esses critérios, foi observado que o
ITAE provê melhores respostas quando comparado a outros critérios. Um
256 UNIUBE

poderoso método foi desenvolvido por Nishikawa e introduz o conceito


de um fator (peso ISE) como índice de desempenho minimizado para
obter os ajustes ótimos de controladores PID. Esse fator de peso é uma
função exponencial no tempo. Tal método é muito útil no sentido de que
é aplicável a vários tipos de processos, como:

• processos autorregulados;
• processos não autorregulados
• e os processos com grande tempo morto.

4.15.8 Método da síntese direta

Seja a malha de controle por realimentação típica mostrada na Figura 23,


a seguir. No método SD, dada a resposta em malha fechada desejada
 C(s) 
G(s) =   , devemos determinar a função de transferência GC(s) que
 R(s)  d
gere essa resposta.

Entrada Controlador Processo Saída


R(s) M(S) C(s)
+ _ Gc(s) Gp(s)

Retroação

Figura 23: Esquema de uma malha típica de controle por realimentação.


Fonte: Acervo dos autores.

No caso da figura anterior, a função de transferência que descreve o


comportamento da malha fechada é:

C(s) G C (s)G P (s)


G(s)
= = Equação 41
R(s) 1 + G C (s)G P (s)
UNIUBE 257

A equação de síntese é obtida calculando-se a função de transferência


do controlador GC(s):

 C(s) 
1  R(s) 
GC =   Equação 42
G P (s) 1 − C(s) 
 R(s) 

Caso se disponha de um modelo dinâmico da planta GP(s) e da resposta


 C(s) 
desejada em malha fechada G(s) =   , podemos obter a função
 R(s)  d
de transferência do controlador. Ao especificar a resposta desejada
 C(s) 
G(s) =   , devemos tomar cuidado para assegurar que o controlador
 R(s)  d
resultante seja fisicamente realizável. Isto significa que ele não pode
conter termos com tempo morto positivo (avanço puro) ou termos puros
de diferenciação (mais zeros que polos na função de transferência) e que
o ganho seja finito G C < ∞ .

Idealmente, gostaríamos que a variável controlada acompanhasse a


alteração de Set-point instantaneamente sem erro. Esta situação é
conhecida como controle perfeito.

C (s) = R (s)
Equação 43

ou

C (s)
G(s)
= = 1
R(s) Equação 44

Substituindo na Equação 42, temos:


1  1 
Gc (s) =   → Gc (s) =

G P (s)  1 − 1 
258 UNIUBE

Infelizmente, o controle perfeito é impossível de se obter na prática,


pois o controlador necessitaria de ser ajustado com um ganho infinito.
Entretanto, o controlador perfeito pode ser aproximado pela seguinte
expressão:

kc
Gc (s) = Equação 45
GP

Em que KC é o ganho do controlador.

Substituindo a Equação 45 na Equação 42, temos:

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)

Assim, o controle perfeito é obtido fazendo o limite de k C → ∞ ou


C(s)
= 1.
R(s)

4.15.9 Controlador Baseado no Tempo de Decaimento Finito

Uma consideração mais prática é considerar uma função de transferência


realística em malha fechada.

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.6 Tempo finito de decaimento

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.

Substituindo G p na Equação 42, temos:

 1 
1  τs + 1 
Gc (s) =  
G P (s) 1 − 1 
 τs + 1 
1 1
Gc (s) =
G P (s) τcs

4.15.10 Processos com tempo morto

Se a função de transferência do processo contém um tempo morto q ,


é razoável desejar uma função de transferência em malha fechada da
forma:

e −qcs
G (s) = Equação 47
τc s + 1

Em que qc e τ c são parâmetros de projeto e qc ≥ q , porque a variável


controlada não pode responder a alteração no set-point num tempo
menor do que q .
260 UNIUBE

Substituindo G na Equação 42, temos:

 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:

e −qcs = 1 − qcs Equação 50

Substituindo na equação anterior, 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 

Portanto, de forma resumida, podemos concluir que a resposta normalmente


especificada para a malha fechada é dada por:

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

Em que τd e θd são parâmetros de projeto. O tempo morto θd deve ser maior


ou igual ao tempo morto do processo θ, porque a variável controlada
não pode responder a uma mudança no valor de referência em um
tempo inferior a θ. Com relação a τd, quanto maior o seu valor, mais
conservativo será o ajuste gerado. Perceba que o ganho da malha em
regime estacionário é unitário, assegurando a ausência de erro de regime
permanente. Portanto, a proposta é gerar algoritmos de controle com
estrutura PID. Suponha, então, um controlador PID na forma padrão
como mostra a Equação 48, ou seja:

 1 
G=
C (s) K C 1 + + Τd s  Equação 55
 Τi s 

Para os modelos aproximados, mostrados na tabela de processos, os


seguintes controladores GC(s) podem ser obtidos; no entanto, não se
pode empregar o método SD para projetar controladores PID em que os
processos modelados são do tipo 2ª ordem subamortecidos, pois, nesse
caso, resultarão em valores complexos para τ1, τ2, Τi e Τd.

Tabela 5: Parâmetros de Controladores PID gerados através do método da síntese direta

Modelo Considerado do Parâmetros do controlador PID


processo GP(S) KC Ti Td
KP τ
G P (s) = τ 0
τs + 1 K P τd
K P −q.s τ
G P (s) = e τ 0
τs + 1 K P τd
τ1 + τ2 τ1 ∗ τ2
G (s) τ1 + τ2
( τ1s + 1) + ( τ2s + 1) K P τd τ1 + τ2
KP τ1 + τ2 τ1 ∗ τ2
G P (s) = e−q.s τ +τ
( τ1s + 1) + ( τ2s + 1) K P ( τd + q ) 1 2 τ1 + τ2
Fonte: Acervo dos autores.
262 UNIUBE

Para se obter uma resposta em malha fechada com 5% de sobressinal,


usando controlador PI, devemos ter aproximadamente τd = θ.

4.15.11 Projeto de Controle Baseado no Método IMC

Como no método SD, o IMC é baseado em um modelo assumido do


processo. No entanto, o método IMC tem duas vantagens adicionais
importantes:

• considera explicitamente as incertezas no modelo;


• permite ao projetista balancear desempenho e robustez do sistema
de controle para mudanças no processo e erros na modelagem.

Seja o diagrama de blocos da Figura 25, a seguir:

D(s)

Entrada Controlador Processo Saída


R(s) E M(s) + C(s)
+ +
_ _ Gc(s) Gc(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.

Denotando a função de transferência do modelo do processo por GM,


podemos subtrair e adicionar o efeito da entrada M no sinal de medição
CM, gerando um arranjo semelhante ao da malha fechada sem a
presença dos blocos com GM. A Figura 25 pode ser redesenhada na
forma da Figura 26, a seguir.
UNIUBE 263

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.

Os diagramas de blocos das Figuras 25 e 26 se tornam equivalentes,


quando:

G *C
GC =
1 + G *C G M Equação 56

Dessa forma, o controlador IMC GC* pode ser colocado na forma


convencional por realimentação. O efeito do caminho paralelo ao
processo realizado pelo modelo é subtrair o efeito da variável manipulada
da saída do processo. Caso se assuma que o modelo seja perfeito, isto é,
GM = GP, então o sinal de realimentação é igual apenas à influência das
perturbações e não é afetado pela ação da variável manipulada. Dessa
forma, o sistema se torna de malha aberta e os problemas usuais de
estabilidade associados com a realimentação desaparecem. O sistema é
estável se e somente se o processo e o controlador IMC forem estáveis.
Além disso, o controlador IMC se comporta como se fosse um controlador
por pré-alimentação (feedforward), ele pode cancelar a influência de
perturbações não medidas, pois, o sinal de realimentação representa
essa influência.

Se o modelo não representa perfeitamente o comportamento dinâmico


do processo, então o sinal de realimentação expressa tanto a influência
de perturbações não medidas quanto o efeito do erro no modelo.
O erro no modelo gera a realimentação no sentido exato da palavra
264 UNIUBE

e conduz a possíveis problemas de estabilidade. O modelo pode ser


obtido de diversas formas, por exemplo, experimentalmente através do
conhecimento do operador, mas, na prática, nunca é perfeito. Além disso,
o comportamento do próprio processo é variável com o tempo e essas
alterações são raramente consideradas nos modelos. É muito desejável
que o controlador seja insensível a esse tipo de incerteza no modelo, isto
é, que o controlador seja robusto. Para tornar o controlador IMC robusto,
empregamos um filtro.

O método IMC, em geral, não permite a estabilidade de um processo


instável em malha aberta (processo não autorregulado), de forma que
nessa situação, o processo tem primeiro que ser estabilizado através de
um controlador convencional por realimentação para depois se usar o
IMC.

O próximo passo é selecionar o melhor G *C . Para tanto, da Figura 25


podemos extrair a seguinte relação:

G *C (s)G P (s) 1 − G *C (s).G M (s)


C(s) R(s) + D(s) Equação 57
1 + G (s) [ G P (s) − G M (s) ]
*
C 1 + G *C (s) [ G P (s) − G M (s) ]

Supondo que se tenha um modelo perfeito do processo, a Equação 57


se reduz a:

=C(s) G*C (s).G P (s).R(s) + 1 − G*C (s).G M (s)  D(s) Equação 58

Da Equação 58, verificamos que para obter o “controle perfeito” devemos


* 1
fazer G C = . Mas como G *C deve ser estável e realizável fisicamente,
GM
introduzimos a seguinte fatoração para G *C .

G M = G M + .G M −
Equação 59
UNIUBE 265

Em que GM + contém todos os atrasos puros (pois sua inversão exigiria


um preditor) e todos os zeros no semiplano direito (sua inversão geraria
um controlador instável). Sob essas considerações, resulta que:

1
G*C = Equação 60
G M−

Para tornar o sistema robusto, adicionamos um filtro. Dessa forma, a


estrutura IMC completa é mostrada na Figura 27, a seguir:
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 27: Diagrama de blocos contendo a estrutura completa do controlador IMC.


Fonte: Acervo dos autores.

A ideia do filtro é tornar a estrutura IMC menos sensível a imprecisões no


modelo. No caso de se supor um modelo exato, tal filtro poderia também
compensar certos tipos de dinâmica das perturbações. A forma proposta
do filtro é a seguinte:
1
f (s) = Equação 61
(1 + τd .s )
r

Em que τd determina a velocidade da resposta em malha fechada,


devendo ser selecionado pelo projetista, e r é um número inteiro positivo
escolhido de forma que GC* seja uma função de transferência cujo
denominador seja, pelo menos, da mesma ordem do numerador ou,
se a ação derivativa for permitida, r pode ser escolhido de forma que o
numerador exceda a ordem do denominador de 1. O controlador IMC é
definido por:

f
G*C = Equação 62
G M−
266 UNIUBE

O controlador G *C inclui o inverso de G M − e não o inverso do modelo


completo do processo G M . Se G M tivesse sido empregado, o controlador
poderia conter um termo preditivo e +q.s caso G M + contivesse um zero
no semiplano direito.

Assim, empregando a fatoração proposta, o controlador G *C resultante


é fisicamente realizável e estável. Substituindo G *C na Equação 56,
chegamos finalmente ao controlador por realimentação G C , projetado
pelo método IMC.

Em geral, o método IMC não resulta em controladores PID, nem para


G C e nem para G *C . No entanto, podemos observar que a técnica IMC,
com aproximações, pode ser usada para gerar controladores G C com
estrutura PID para uma grande variedade de modelos de processos,
conforme mostrado na Tabela 6, a seguir:

Tabela 6: Parâmetros de controladores PID gerados através do método IMC

Modelo considerado do Parâmetros do controlador PID


processo GP(S) KC Ti Td

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

4.16 Determinação do tipo de algoritmo de controle

4.16.1 Para Processos estáveis

De acordo com o valor da relação constante de tempo e tempo morto


(τ/θ), define-se o tipo de algoritmo mais adequado ao controle.

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.16.2 Para processos instáveis

De acordo com o valor do produto K.θ, define-se o tipo de algoritmo mais


adequado ao controle, em que K é a constante de integração do processo
e θ é o tempo morto.

0.05 0.1 0.2 0.5


K.q
Controle Controle Controle PI Controle Malha múltipla
Liga/Desliga P Puro PID ou Algoritmo
especial

4.17 Conclusão

Os métodos de sintonia estudados são de fácil aplicação e cada método


apresenta suas vantagens e desvantagens. O método de sintonia
baseado em tentativa e erro geralmente apresenta os piores resultados,
gerando PVs e MVs bastante oscilatórias. O método de Ziegler-Nichols
em malha fechada é bastante apropriado para resolver muitos dos
problemas de sintonia das indústrias reais, por ser de fácil aplicação,
relativamente rápido e poder ser aplicado em uma grande variedade de
268 UNIUBE

processos. Além disso, não é necessário o conhecimento da função de


transferência do sistema. No entanto, este método gera, frequentemente,
resultados com grande overshoot, e é necessário o ajuste fino dos
parâmetros obtidos.

Os métodos de sintonia baseados no modelo FOPDT do sistema apresentam


as seguintes vantagens:

• um único teste é necessário para determinação da função de


transferência do sistema;
• não requer ajustes por tentativa e erro. Isto torna sua aplicação mais
rápida;
• os parâmetros do controlador são facilmente calculados através de
regras já estabelecida;
• obtendo-se um bom modelo para o sistema, ótimos resultados
podem ser obtidos, com pequeno overshoot, baixa atividade de MV
e reduzido tempo de acomodação.
Porém, apresentam as seguintes desvantagens:

• o teste é feito em malha aberta o que, eventualmente, não pode ser


feito em sistemas reais;
• pode ser difícil determinar os parâmetros do sistema através do
gráfico da resposta ao degrau, principalmente na presença de ruído;
• o método não é recomendado para sistema que sejam oscilatório
em malha aberta.

Dentre os métodos baseados no modelo FOPDT do sistema, o método


de sintonia ITSE apresentou bons resultados.

O método de síntese direta se destaca pela sua flexibilidade em se projetar


o sistema para uma resposta em malha fechada desejada. No entanto,
este é o método que necessita de mais informações sobre o processo a
ser controlado. Deve-se ter um bom modelo para o sistema para se atingir
resultados satisfatórios com este método. Além disso, deve-se ter uma
boa ideia do que é possível exigir do sistema em termos de desempenho.

Assim, chegamos ao final de mais uma etapa de estudos.


UNIUBE 269

Resumo

O capítulo descreve as principais características dos controladores


industriais, compreendendo as ações de controle proporcional, integral
e derivativo, sendo capaz de projetar controladores PID, endendendo as
suas características dos processos industriais.
Capítulo
Visão geral dos sistemas
de supervisão e controle
5

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.

Neste contexto, é notório que novas tecnologias são exigidas


no ambiente industrial e, com o avanço da tecnologia da
informação, é cada vez maior o emprego da informatização dos
sistemas de controle e supervisão dos
processos industriais, em que mudanças TI (Tecnologia da
Informação)
conceituais e de projeto são cada vez
o termo designa
mais frequentes. Com o desenvolvimento o conjunto
e o emprego crescente de unidades de de recursos
tecnológicos e
processamento de informação, as funções computacionais
para gestão da
de aquisição de dados, controle e gestão informação. A TI
é fundamentada
dos processos industriais estão sendo nos seguintes
componentes:
cada vez mais distribuídos ao longo da hardware, software,
planta, mais próximos dos locais onde são telecomunicações e
gestão de dados e
necessárias, surgindo, assim, o conceito informações.

de arquiteturas distribuídas, ou sistemas


de controle hierárquico distribuído.
272 UNIUBE

Essa estrutura, arquitetura de automação, caracteriza-se por uma


gestão global e integrada da informação, pela redução de estoque
a níveis mínimos, pela inserção de máquinas cada vez mais
especializadas (CNC, Robôs, AGV´s), pela redução da mão de
obra desqualificada, pelo emprego de modernos conceitos como
JIT (“Just inTime”) e TQM (“Total Quality Management”) e,
ainda, por uma utilização muito mais intensiva dos equipamentos.

A grande maioria dos exemplos de aplicação destas tecnologias está


destacada na integração de vários sistemas, projetados de modo a
executar a função que se destina, permitindo a intercambiabilidade,
interoperabilidade e a expansividade destes sistemas, influindo nos
custos e nos modos de gestão e manutenção.

Dentro dessa nova ótica coorporativa, é que os Sistemas de


Supervisão e Controle (SSCs) passaram a ser essenciais para a
grande maioria dos sistemas de automação.

O SSC foi criado com o intuito de prover uma interface amigável


(geralmente gráfica) para os operadores do processo, permitindo
aos mesmos realizar as seguintes funções:

• monitorar variáveis do processo em tempo real (temperatura,


pressão, nível, dentre outras);
• diagnosticar falhas ou condições indevidas por meio de alarmes
e eventos; ajustar parâmetros do processo (setpoints);
• enviar comandos para o sistema.

O crescente nível de automatismo dos processos produtivos, em


que os sistemas de automação passaram a operar em vários
níveis e em diferentes setores de uma planta industrial, fez com
que diferentes tecnologias de controle e automação fossem
criadas e, consequentemente, novas necessidades originadas. A
UNIUBE 273

integração dos dados entre os processos e os SSCs, de modo a


permitir maior controle sobre equipamentos, dados do processo,
monitoração e gerenciamento destes sistemas, passou a ser de
fundamental importância para a boa gestão dos processos fabris
tendo proporcionado:

• maior rentabilidade;
• maior segurança;
• maior qualidade;
• e empresa mais competitiva.

O conjunto total das funções a serem executadas por um sistema


de controle distribuído tem diferentes exigências quanto ao nível
da rapidez de atuação e da importância estratégica dessa mesma
atuação. Assim, podemos definir uma arquitetura básica quanto à
organização das ações a serem executadas. Essas ações surgem
agrupadas em vários níveis hierárquicos, havendo características
funcionais e temporais bem específicas a cada nível.

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

5.1 Evolução dos sistemas de controle

A quase totalidade das plantas industriais precisa de algum elemento


controlador para garantir sua operação em segurança e com rentabilidade.

Quando observamos uma planta industrial, podemos admitir em seu nível


mais baixo, na hierarquia de automação, ser constituída basicamente de
um motor elétrico acionando um ventilador para controlar a temperatura
de uma sala. Por outro lado, uma planta pode ser reator nuclear para
produção de energia para milhares de pessoas. Apesar do tamanho e
complexidade, todo sistema de controle pode ser dividido em três partes,
com funções bem definidas, os transdutores, os controladores e os
atuadores (Figura 1).

Tradutores Atuadores

Planta

Entradas Controlador Saídas

Parâmetros Estados

Figura 1: Componentes de um sistema de controle industrial.


Fonte: Acervo dos Autores.

O controlador faz a leitura, em tempo real, das variáveis de processo


(variável que desejamos controlar ou monitorar) por meio de um
sistema de aquisição de dados (DAS) conectado aos transdutores (ou
sensores).
276 UNIUBE

Os transdutores são dispositivos que convertem as grandezas físicas


do processo em sinais fáceis de serem manipulados pelo controlador,
normalmente sinais elétricos, os quais são transmitidos aos controladores.
Transdutores digitais medem variáveis com dois estados distintos,
tais como ligado/desligado ou alto/baixo, enquanto os transdutores
analógicos medem variáveis com uma faixa contínua, tais como
pressão, temperatura, vazão ou nível. Com base nos valores medidos,
o controlador processa algoritmos de controle que determinam os
valores das saídas. Os sinais elétricos das saídas atuam nas variáveis
manipuladas do processo por meio dos atuadores.

Muitos atuadores geram movimentos, como válvulas, motores, bombas,


e outros utilizam energia elétrica e pneumática. O operador interage com
o controlador por meio dos parâmetros de controle. Alguns controladores
podem mostrar o estado do processo por meio de um display ou tela.

5.2 Classificação dos sistemas de controle quanto à operação

A evolução do controle industrial tem sido


Microcontrolador
fortemente influenciada pela tecnologia dos
É um chip altamente
microcontroladores, que está tornando a integrado o qual
inclui, num único
inteligência do controle de processos totalmente chip, todas ou a maior
parte dos elementos
distribuída. Mesmo antes da revolução da necessários a um
eletrônica, o controle automático de processos controlador. Ele
pode ser definido
contínuos já era distribuído. A diferença como uma solução
“de um único chip”.
fundamental é que estes não tinham um Tipicamente, inclui:
CPU, RAM, EPROM/
funcionamento integrado, muito pelo contrário, PROM/ROM, I/O
e controladores
funcionavam de forma desorganizada por de interrupções
meio de um conjunto de malhas de controle para interfaces
paralelas e seriais.
independentes. Por ser voltado
para aplicações
específicas de
controle, seu custo é
relativamente baixo.
UNIUBE 277

As primeiras aplicações do computador no


Um microcontrolador
controle de processos foram forçosamente típico tem instruções
de manipulação
centralizadas devido a seu alto custo, mas de bits, acesso
com o surgimento dos PCs, o custo dos fácil e direto a I/O
(entradas e saídas)
sistemas supervisão e controle têm caído e processamento
eficiente de
vertiginosamente, fazendo com que a tendência interrupções.
atual seja a integração total do sistema,
permitindo um controle hierarquizado por meio
de níveis de controle.

Os primeiros sistemas de controle nasceram durante a revolução


industrial, no final do século XIX. As funções de controle eram executadas
por meio de engenhosos dispositivos mecânicos, os quais automatizavam
algumas tarefas críticas e repetitivas das linhas de montagem da época.
Estes dispositivos eram desenvolvidos exclusivamente para cada tarefa
e, devido à natureza mecânica dos componentes, possuíam pequena
vida útil e necessitavam de manutenção constante.

Nos anos 20, os dispositivos mecânicos foram substituídos pelos


relés e contatores. A lógica a relés viabilizou o desenvolvimento de
funções de controle mais complexas e sofisticadas. Desde então, os
relés têm sido empregados em um grande número de aplicações em
todo o mundo. Os relés se mostraram como uma solução de baixo custo,
utilizados especialmente na automação de pequenas máquinas com número
limitado de transdutores e atuadores. Na indústria moderna, a lógica a
relés é raramente adotada para o desenvolvimento de novos projetos de
automação, mas ainda é empregado em um grande número de sistemas
antigos.

Com o advento do circuito integrado (CI), houve o surgimento de uma


nova geração de sistemas de controle. Quando comparados aos relés,
os CIs baseados nas tecnologias TTL ou CMOS são extremamente
menores, muito mais rápidos e possuem uma vida útil muito maior.
278 UNIUBE

Nos sistemas que empregam relés e CIs, a lógica, ou algoritmo de


controle, é definida permanentemente pela interligação física entre os
elementos do sistema. Uma característica desses sistemas quanto à
lógica de controle é sua facilidade de implementação, no entanto, existe
uma grande dificuldade e demora quando se deseja modificar sua
funcionalidade.

No início dos anos 70, os primeiros computadores comerciais começaram


a ser utilizados como controladores em sistemas de controle de grande
porte. Devido ao fato do computador ser programável, este proporciona
uma grande vantagem em comparação com a lógica por interligação
elétrica, utilizada em sistemas com relés e CIs.

No início, os computadores (mainframes)


Mainframe
eram grandes, caros, de difícil programação
e muito sensíveis à utilização em ambientes Computador de grande
porte, normalmente
agressivos, muitas vezes encontrados no utilizado para o
processamento de
chão de fábrica das plantas industriais. A partir grandes volumes de
dados e transações
de uma necessidade existente na indústria eletrônicas, como
ocorre nos bancos e
automobilística norteamericana, surgiu o companhias aéreas.
Programmable Logic Controller (PLC), ou Com o tempo, os
fabricantes atualizaram
Controlador Lógico Programável (CLP). O muitas de suas
características básicas,
CLP é um computador dedicado e projetado reduzindo seu tamanho
e seus requisitos de
para trabalhar no ambiente industrial. Os instalação (antigamente
precisavam de salas
transdutores e atuadores são ligados a especiais inteiras) e
robustos cartões de I/O. Quando comparado com o surgimento do
conceito de cliente/
a um computador pessoal (PC), os primeiros servidor, seus sistemas
operacionais foram
CLPs apresentavam um conjunto restrito de atualizados para que
pudessem cumprir a
instruções, normalmente, apenas condições função de grandes
servidores em redes
lógicas e não possuíam entradas analógicas, corporativas.
podendo ser empregados apenas em
aplicações de controle discreto.
UNIUBE 279

Hoje em dia, os controladores industriais


Cliente/Servidor
necessitam manipular, em um mesmo processo, (Client/Server)
tanto dados discretos quanto dados analógicos Arquitetura de
processamento
existentes em suas malhas de controle. Estes de informações e
sistemas são normalmente chamados de aplicações dentro de
uma rede local (LAN)
Programmable Controllers, ou Controladores departamental ou
corporativa que divide a
Programáveis, por não serem limitados a carga de trabalho entre
equipamentos de mesa,
operações com condições lógicas. As atuais ou desktops (“estações
de trabalho”) e um ou
funções de controle existentes em uma planta mais computadores
industrial são normalmente distribuídas entre um com mais recursos
de processamento
número de controladores programáveis, os quais (“servidores”).

são montados próximos aos equipamentos a


serem controlados. Os diferentes controladores são usualmente conectados
via rede local (LAN) a um computador central com objetivo de supervisão, o
qual gerencia os alarmes, receitas e relatórios.

IMPORTANTE!

Atualmente, o operador exerce um papel importante na indústria moderna.


O principal objetivo das empresas hoje, até por questões de sobrevivência,
é o aumento da rentabilidade, e isto faz com que o operador tenha que atuar
frequentemente nas funções de controle para melhorar o desempenho da
planta.

Como o preço dos computadores industriais caiu dramaticamente nos


últimos anos, o custo de desenvolvimento e manutenção de software
tem se tornado o fator predominante dos sistemas de automação.
Com a finalidade de melhorar a qualidade e viabilizar a reutilização de
programas, existe cada vez mais pessoas trabalhando com sistemas
orientados a objetos. Nestes sistemas, os elementos reais de processo
como motores, válvulas e controladores PID são programados através
de objetos de software armazenados em bibliotecas. Estes objetos são
devidamente testados e possuem interfaces de dados padronizadas.
280 UNIUBE

O controle automático de processos, basicamente desde seus primórdios,


atravessou algumas modalidades de como o operador atua no processo.
A seguir, apresentamos um resumo histórico dessas fases.

5.2.1 Controle local

O controlador era colocado no campo próximo ao processo a ser


controlado. A utilização de um registrador gráfico era essencial, pois
permitia ao operador conhecer o comportamento do processo durante
sua ausência, bem como estimar a sua eficiência pela comparação com
outros dados também registrados em outros pontos da planta. Embora
possuíssem razoável complexidade (sofisticação), os controladores desta
época não solucionavam três grandes dificuldades:

• os elementos das malhas de controle, consequentemente as


informações do processo, encontravam-se dispersos ao longo da
planta industrial;
• os sistemas multivariáveis dependiam de diversas pontos de
medições (maior eficiência do processo);
• o ajuste dos controladores exigia deslocamentos constantes dos
operadores até a área.

Em função das dificuldades mencionadas anteriormente, esse modo de


controle foi ultrapassado, porém cabe salientar que ainda hoje podemos
encontrar malhas de controle operando dessa forma.

5.2.2 Controle centralizado

Em função das restrições apresentadas pelo controle local e o


desenvolvimento dos transmissores, foi possível levar os sinais da
variável de processo até uma sala de controle central.
UNIUBE 281

No sistema de controle centralizado, os sinais das variáveis de processo


a serem controladas, indicadas, registradas etc., são transmitidos até a
sala de controle e agrupados em um painel central onde se encontram
instalados os dispositivos de controle e registro, facilitando, assim, o
acesso do operador. É neste local que se realiza todo o processamento
necessário ao controle do sistema. Após o processamento das entradas,
os sinais de correção retornam ao campo para atuar nos elementos finais
de controle.

Apesar de ser uma evolução tecnológica, a utilização de instrumentação


pneumática nos sistemas centralizados representou um fator negativo
para o controle de processos, pois teve um aumento significativo no
tempo de resposta. Isso acontece devido ao fato de se ter um aumento
considerável na distância entre sensorcontrolador e controladoratuador.
Esse inconveniente limitava essas distâncias em, aproximadamente, 50
metros, sem prejuízo significativo para a malha de controle.

Com o advento da instrumentação eletrônica, essa limitação foi ultrapassada,


visto que a velocidade de propagação dos sinais eletrônicos é muito
rápida, sendo, então, a distância entre campo e sala de controle quase
desprezível, no que se refere ao tempo de resposta.

Entretanto, essa característica que ainda está presente nos dias


atuais, possui uma restrição considerável. Numa unidade fabril, não
existe somente uma sala de controle, mas várias. Cada uma concentra
informações sobre determinada área da planta industrial. Para essa
modalidade de controle, percebemos que não há uma integração de
todas as informações das variáveis da planta industrial.

A não existência de uma sala de controle única se deve a vários fatores,


tais como, técnicos, custos, mas, principalmente, os operacionais. Os
fatores técnicos se baseiam, mesmo com a utilização de instrumentação
eletrônica em que as respostas são praticamente nulas, na grande
282 UNIUBE

distância que os sinais elétricos percorrem nos diversos pontos da fábrica


até a chegada na sala de controle. Isso poderá gerar a deterioração
desses sinais devido a ruídos induzidos, resistência e capacitâncias
elevadas nos cabos utilizados na transmissão de sinais etc.

Outro fator preponderante é o custo de implantação de uma sala de


controle. Quanto maior as distâncias envolvidas nas instalações desse
tipo, maiores serão também os gastos com materiais, equipamentos e
mão de obra.

Do ponto de vista operacional, apesar das salas de controle possuírem


apenas controladores, indicadores e registradores, o tamanho dos
painéis de controle tende a ter um aumento significativo, o que dificulta
imensamente o trabalho do operador, podendo o mesmo incorrer
em erros de operação devido a atuação num controlador errado, por
exemplo, devido ao alinhamento dos instrumentos, isto é, montados um
ao lado do outro.

Uma tentativa de contornar esse inconveniente, foi o uso de painéis


gráficos, em que os instrumentos eram inseridos diretamente num painel
sinótico da planta. Isso era excelente do ponto de vista operacional, pois
o operador, ao atuar num controlador pelo sinótico, já percebia suas
consequências no processo.

A grande desvantagem desse sistema, no entanto, é o enorme espaço


ocupado por painéis desse tipo, tornando inviável sua utilização em
processos de grande porte.

Com a intenção de minimizar mais ainda o espaço ocupado pelo painel


gráfico, surgiu o painel semigráfico, onde, na parte superior, estava
localizado o sinótico do processo e, na parte inferior, a instrumentação.
UNIUBE 283

Com o surgimento dos instrumentos microprocessados, o problema


da ocupação de espaço foi atenuado, visto que, com a instrumentação
convencional, cada instrumento tinha uma função específica.

Exemplo

Numa malha de controle e totalização de vazão convencional, cujo


princípio de medição do transmissor está baseado no diferencial de
pressão (Δp), teríamos no painel de controle os seguintes instrumentos:
extrator de raiz quadrada; controlador de vazão; estação automanual
totalizador de vazão.

Hoje em dia, com a instrumentação digital, um mesmo dispositivo


executa diversas funções na malha de controle, pois a funcionalidade
do instrumento não é mais implementada por meio do hardware como
nos dispositivos analógicos, mas, sim, via software, ou seja, através
da programação do dispositivo. Essa característica, muito importante
do ponto de vista tecnológico, possibilitou uma redução significativa
da quantidade de equipamentos instalados no painel de controle,
maximizando, assim, a questão do espaço físico. Por outro lado, isso
fez com que houvesse uma concentração muito grande das informações
num mesmo equipamento, mas a Interface Homem Máquina (IHM) ainda
permanecia muito limitada, com poucas informações, o que dificulta a
operação da malha de controle. Esta situação faz com que o operador
tenha que ter sua atenção redobrada, pois, agora, um único instrumento
pode controlar várias malhas, ou seja, antes o operador poderia se
enganar na atuação do instrumento, mas, agora, ele pode errar em
ajustes específicos do mesmo dispositivo.
Outro ponto muito importante é que, quando observamos
a instrumentação discreta, dois inconvenientes podem
ser destacados. Primeiramente, podemos ressaltar a
grande complexidade dos processos que necessitam de
integração; isso tornava as soluções de automação mais
complexas, e, em segundo lugar, o fato da existência de
uma IHM com poucos recursos dificultava a operação dos
processos por parte dos operadores.
284 UNIUBE

Tradicionalmente, os sistemas de controle


GPIB (General
Purpose Interface centralizados com barramentos paralelos são os
Bus)
favoritos em aplicações onde é exigida uma alta
Também conhecido eficiência de processamento. Um sistema baseado
como barramento
IEEE488, foi em diversos computadores é o mais adequado para
originalmente
desenvolvido pela atender a esta solicitação de eficiência. A arquitetura
HewlettPackard e
depois se tornou centralizada foi proposta de forma a manter os
um padrão IEEE
para conexão de
dispositivos juntos em uma única sala de controle.
vários instrumentos Neste sistema, vários computadores compartilham
a computadores
destinados à um barramento comum. Existem várias soluções
aquisição de
dados e controle. para os barramentos paralelos; UME, FUTUREBUS,
Dados podem
ser transferidos S100 e MULTIBUS II, são as soluções comerciais
a 200.000 bytes
por segundo e a mais utilizadas.
distâncias de 2
metros.
O barramento S100, muito utilizado na década de
IEEE (Institute
of Electrical 80, principalmente na Europa, foi substituído pelo
and Electronics
Engineers) GPIB 488 (general purpose interface bus, da
Pronunciado como I IEEE). Este sistema de controle consiste de um
– três – E. Fundado controle principal (Master) e controladores escravos
em 1884, o IEEE é
uma organização (Slaves) como mostrado na Figura 2, a seguir:
composta de
engenheiros,
cientistas e CONTROLADOR
estudantes. O IEEE MESTRE
é bem conhecida
por desenvolver
padrões para a
indústria eletrônica
e de computadores. BARRAMENTO DE COMUNICAÇÃO PARALELO

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

Neste tipo de solução, a primeira providência é separar as tarefas


que são praticamente independentes, isto é, aquelas que necessitam,
relativamente, de pouca conectividade. Na arquitetura MASTER/SLAVE
o controlador MASTER cuida do sistema global de controle, enquanto o
SLAVE opera a nível de atuação.

O sistema global de controle inclui tarefas como comunicação com os


níveis superiores, interpretação de comandos, operações de sincronização,
coordenação de movimentos e cálculos. No nível de atuação, as tarefas são
de controle de malha fechada, processamento de sinais, aquisição de dados
e manipulação de eventos predeterminados.

É possível que a implementação de um sistema de controle, baseado em


vários computadores centralizados, não se dê através da configuração
Master/Slave, apesar de continuar espacialmente centralizado. Um
sistema deste tipo consiste de computadores com prioridades iguais
como mostra a Figura 3. De acordo com alguns autores, a implementação
do software neste tipo de arquitetura é definido como sendo um sistema
a multiprocessador ou um sistema distribuído.

BARRAMENTO DE COMUNICAÇÃO PARALELO

CONTROLADOR CONTROLADOR CONTROLADOR


ESCRAVO ESCRAVO ESCRAVO

CANAIS DIGITAIS E
ANALÓGICOS
APLICAÇÃO

Figura 3: Controladores com múltiplos computadores centralizados com prioridades iguais.


Fonte: Adaptado de Almeida e Albuquerque (2003).
286 UNIUBE

Computadores com prioridades iguais tomam conta, juntos, do sistema


global de controle. As tarefas do sistema global de controle são divididas
em subtarefas e divididas entre os computadores do controle. A troca
dinâmica das subtarefas entre os computadores também é possível. Isso
é feito, por exemplo, para equalizar a carga de processamento. Nestes
sistemas de transferência de informações, são permitidas trocas entre
todas as tarefas e subtarefas, portanto entre todos os computadores.

5.2.3 Controle distribuído

Um tipo de sistema de controle distribuído é mostrado na Figura 4. Este


sistema de controle é caracterizado pelo fato dos transdutores, atuadores
e controladores estarem espacialmente distribuídos pelo campo, próximo
ao processo a ser controlado. A ideia principal é usar uma rede de
comunicação serial para conectar as partes e, portanto, minimizar os
problemas das fiações, principalmente em grandes instalações.

Devido aos inconvenientes do sistema de controle centralizado, aqui


não é mais necessário a centralização dos controladores numa sala
de controle central. A principal característica do controle distribuído é a
distribuição da inteligência do controle e a integração entre os sistemas
espalhados no campo, mantendo-os totalmente interativos.

A IHM também passa a ser um ponto forte do sistema distribuído,


porque a base do sistema distribuído é computacional, oferecendo
recursos gráficos de apresentação ao operador, facilitando
enormemente a operação.
UNIUBE 287

CONTROLADOR
ESCRAVO

COMUNICAÇÃO SERIAL REDE

TRANSDUTOR ATUADOR

CANAIS DIGITAIS
E ANALÓGICOS
APLICAÇÃO

Figura 4: Sistema de controle distribuído em que o controlador, sensores e atuadores fazem


parte da rede.
Fonte: Adaptado de Almeida e Albuquerque (2003).

5.3 Tipos sistemas de controle digital – DCS

Inicialmente, os sistemas de controle eram totalmente baseados em


controladores com malha única de realimentação (SingleLoop Controllers).
A partir do desenvolvimento da microeletrônica, os microprocessadores
(microcontroladores) começaram a ser inseridos nos sistemas de controle,
surgindo várias opções de topologia e equipamentos (ver Figura 5).

Figura 5: Ilustração de um sistema DCS.


Fonte: Adaptado de Almeida e Albuquerque (2003).
288 UNIUBE

5.3.1 Sistema de aquisição de dados (DAS – Data Acquisition


System)

Como já foi dito anteriormente, é necessária a medição das variáveis de


processo para se poder executar uma tarefa de controle, portanto, uma
das primeiras aplicações dos computadores em processos foi a aquisição
ou coleta de dados analógicos e discretos do processo.

Um sistema de aquisição de dados é composto fundamentalmente por


um computador padrão PC, placa de aquisição e software de aquisição.
Após a etapa de aquisição, os dados são tratados (condicionados) e
enviados para o processamento do algoritmo de controle e/ou posterior
gerenciamento do processo.

Os sinais analógicos e/ou discretos são aquisitados por placas acopladas


nos slots de expansão do PC, onde o sinal recebe uma série de tratamentos
até estar em condições de ser lido pela CPU do computador. Estando o sinal
disponível na memória do micro, o software DAS instalado no computador
oferece os recursos:

• coleta de dados do processo periodicamente;


• valores das variáveis de processo em unidades de engenharia;
• variáveis calculadas em função de outras variáveis;
• determinação por meio de cálculos do desempenho dos equipamentos
e processos;
• relatórios de produção e cálculos de rendimento de produtos;
• geração de mensagens de alerta para o operador;
• banco de dados com dados históricos;
• cálculos estatísticos.
UNIUBE 289

A estrutura de um sistema DAS aplicado ao processo pode ser visto a


seguir (Figura 6):

Figura 6: Sistema de Aquisição de dados (DAS).


Fonte: Acervo do autor.

Um sistema de aquisição de dados é formado por um PC industrial,


uma impressora, uma placa de aquisição de dados e um software de
configuração e operação do sistema.

5.3.2 Controle de setpoint (SPC – Setpoint Control)

No sistema SPC, o computador possui as mesmas funções de um


sistema DAS. Além disso, utiliza o resultado de cálculos para o controle
de processos batelada, controlando a sequência de operações de
abertura e fechamento de válvulas, e em processos contínuos no ajuste
de o setpoint das malhas dos controladores convencionais.

Os sistemas SPC para controle contínuo podem operar em malha aberta


ou fechada, sendo que, no primeiro caso, o sistema opera em manual.
Em ambos os casos, o computador determina os melhores valores
para os setpoints, utilizando-se de modelos matemáticos e teoria de
otimização. No primeiro caso, ele apenas informa aos operadores o valor
ótimo a ser ajustado por meio de relatórios e, no segundo, manipula
diretamente os setpoints dos controladores. Na Figura 7, podemos ver a
estrutura SPC para o controle de ajuste de setpoint.
290 UNIUBE

Na ocorrência de falhas do SPC, e quando a aplicação deste sistema


é em controle de processos contínuos, pode-se dotar o controlador de
características que mantêm os ajustes em valores seguros, como pode
ser visto a seguir:

• circuito de memória de setpoint para armazenamentos do último


valor de setpoint recebido;
• sinal para detecção da falha no computador;
• dispositivo de chaveamento de comando pelo computador para
comando
• pelo controlador;
• opções de retomada do setpoint em caso de falha do computador
• considerando o seu retorno:
• ao último valor da variável;
• ao último valor do setpoint do computador;
• ao último valor lido da variável e, em seguida, para um valor
preestabelecido.

Analisando uma estrutura SPC, percebe-se a utilização da estrutura DAS,


o fechamento da malha, apenas para a parametrização de ajustes. Pode
ser visto na Figura 7, a seguir, uma estrutura SPC.

Figura 7: Sistema SPC.


Fonte: Acervo do autor.
UNIUBE 291

5.4 Controle Digital Direto (DDC – Direct Digital Control)

Nos anos 60, os sistemas baseados em minis e grandes computadores


digitais, os chamados Controles Digitais Diretos (DDC – Direct Digital
Controller), eram os mais utilizados e que, atualmente, estão praticamente
extintos. Um sistema DDC possui as mesmas características operacionais
que os sistemas DAS. Além disso, o computador atua diretamente sobre
os elementos finais de controle, contornando os controladores analógicos
convencionais. Neste caso, os algoritmos de controle estão armazenados
na memória do computador, o que permite uma extensa gama de funções
de transferência além do tradicional PID. Na Figura 8, a seguir, um
sistema DDC é utilizado para controlar quatro malhas.

PROCESSO

DAC DAC DAC DAC


MULTIPLEXADOR Latch Latch Latch Latch

DEMULTIPLEXADOR
ADC

COMPUTADOR

IMPRESSORA MONITORES ARM. DE MASSA CONT. DE OPERAÇÃO INTERFACE DE REDE

Figura 8: Sistema DDC.


Fonte: Acervo do autor.

Inicialmente, esperou-se que os investimentos necessários à implantação


dos sistemas DDC pudessem ser justificados pela simples substituição
da instrumentação convencional. No entanto, foi constatado que, apesar
292 UNIUBE

da elevada disponibilidade do computador, sempre haveria a possibilidade


de falhas, e os operadores relutavam em operar sem uma instrumentação
analógica de backup, já que o mau funcionamento do computador poderia
causar a perda simultânea de todo o controle do processo.

Como uma solução para os problemas de falha do computador em


sistemas DDC, os fornecedores de instrumentos lançaram no mercado
as estações de backup (computador-manual).

Num evento de falha do computador, ou caso ele seja posto fora de


serviço por qualquer outro motivo, a estação memoriza o último valor de
saída calculado, e o elemento final de controle permanece na sua última
posição anterior à falha ou desconexão do computador. Caso o tempo
em que o computador esteja fora seja prolongado, a estação pode ser
chaveada para o modo de controle manual, e o sinal de saída pode ser
manipulado diretamente pelo operador.

A redundância, também, poderia contemplar um sistema mais complexo,


permitindo um sistema de backup analógico ou digital, como visto na
Figura 9, a seguir.

Figura 9: Redundância de DDC.


Fonte: Acervo do autor.
UNIUBE 293

5.4.1 Sistemas Digitais de Controle Distribuído (SDCS –


Distributed Control Digital System)

Os SDCDs começaram a ser utilizados no controle dos processos industriais,


no decorrer dos anos 70. Durante os anos 80, vários projetistas adotaram
este sistema como solução para sistemas de automação e, durante os
anos 90, com o desenvolvimento na eficiência dos computadores, CLPs,
sensores, atuadores e sistemas de comunicação, os sistemas SDCDs se
tornaram uma realidade na automação de processos.

Essa realidade não diz respeito somente aos processos industriais,


mas de praticamente todos os segmentos da automação, como:
processos não industriais (sistemas de água e esgoto, energia elétrica e
telecomunicações); automação predial (controle de utilidades, detecção
e alarme de incêndio, controle de acesso).

O SDCD é um misto entre os controladores Single Loop e o DDC; como


visto anteriormente, este último implementa um grande número de malhas
em um único computador que centraliza todas as informações e funções
de controle. Esta centralização das informações, verificadas nos sistemas
DDC, ocasionou a concentração total das responsabilidades de operação
num único equipamento. Como objetivo de acabar com este inconveniente,
foi proposta, então, uma nova filosofia de distribuição das funções de
controle de alto desempenho e alta confiabilidade. Este fato só se tornou
possível com o advento dos microprocessadores de baixo custo.

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

Os sistemas com múltiplos computadores têm se desenvolvido rapidamente


nos últimos anos. Estes sistemas são definidos como subsistemas com
mais de um computador com interação on-line. Desta forma, algumas
subcategorias são definidas:

• sistema multiprocessado que inclui as subclasses dos sistemas


compostos por multiprocessadores e sistemas distribuídos;
• sistemas com múltiplos processadores controlados por gerenciamento
único, com a capacidade de executar uma mesma tarefa compartilhada
dinamicamente;
• sistemas com múltiplos processadores, porém cada processador
tem o seu próprio gerenciamento (programa aplicativo) e realiza
funções especiais.

Existem, pelo menos, três razões básicas para usar o processamento


distribuído e paralelo (múltiplos computadores) em sistema de controle
em tempo real:

1) tempo de resposta necessário em alguns processamentos não podem


ser alcançados com um único processador;
2) múltiplas cópias dos componentes dos sistemas levam a uma maior
flexibilidade e redundância;
3) algumas aplicações são, por natureza, geograficamente distribuídas.

Os atuais SDCDs implementam as malhas de


BUS
controle em pequenos grupos, cada grupo com
1) Um ou mais
condutores que servem o seu próprio processamento (controlador).
de interconexão entre
dispositivos. 2) Uma Os controladores são, então, conectados via
topologia de rede no
qual os sinais enviados
barramento de comunicação de dados (Data
por um dispositivo Highway – BUS) que, em alguns casos, podem
são recebidos por
todos os demais ser duplicados para aumentar a confiabilidade.
dispositivos. Somente
aqueles dispositivos Nesta arquitetura, as informações disponibilizadas
que reconhecem seu
endereço na informação são concentradas em uma única sala de controle
transmitida acessam a
informação.
e supervisão, embora possam existir várias salas
de controle distribuídas ao longo da planta. Outra
UNIUBE 295

característica importante dessa arquitetura é que os controladores podem


ser colocados juntamente com o processo, ficando assim distribuídos.
Ressaltamos que, neste sistema, existe uma liberdade total quanto ao
local de instalação dos equipamentos, isto é, os equipamentos podem ser
colocados onde a instalação for menos onerosa.

Portanto, os SDCDs são uma série de controladores dedicados,


altamente modularizados e interligados por uma rede de comunicação
digital. As funções executadas por um SDCD podem ser estruturadas de
maneira hierárquica, sendo definidos diversos níveis de atividades. Estes
níveis são identificados de forma a permitir a realização das funções de
controle integrado, tirando proveito das características de distribuição
de módulos autônomos e com a finalidade de diminuir a complexidade
das funções implementadas por um determinado nível. É exatamente
esta divisão hierárquica responsável em grande parte, pelo alto grau de
modularidade e expansibilidade dos SDCDs.

Podemos identificar cinco níveis de atividades presentes em um SDCD:

• Nível 0 – Aquisição e atuação de dados;


• Nível 1 – Regulação de malha única e funções de intertravamento;
• Nível 2 – Regulação de malhas múltiplas e funções de controle de
sequência de eventos;
• Nível 3 – Otimização;
• Nível 4 – Sistema de gerenciamento de informações.

Estas atividades no SDCD são agrupadas em quatro subsistemas de


acordo com suas características funcionais. Na Figura 10, a seguir,
podem ser vistos os quatro subsistemas.
296 UNIUBE

Figura 10: Subsistemas de um SDCD.


Fonte: Acervo dos autores.

Subsistemas de um SDCD

• Subsistema de aquisição de dados e controle


• Subsistema de monitoração e operação
• Subsistema de supervisão e otimização
• Subsistema de comunicação

5.4.2 Subsistema de aquisição de dados e controle

Está diretamente ligado ao processo. É formado por um conjunto de


controladores cuja principal finalidade é a realização das funções de
controle, que são exercidas pelas estações de controle local (ECL,
níveis 0, 1 e 2). Como função secundária, ele é capaz de executar as
tarefas de aquisição de dados disponibilizando-os aos níveis superiores.
UNIUBE 297

Cada um destes controladores é implementado por meio de processadores


com finalidades especiais, localizados remotamente, que recebem
informações de entradas digitais e/ou analógicas, processam estes sinais e
geram os sinais de controle, discretos ou analógicos, que são enviados aos
atuadores espalhados no campo. Estes sistemas podem ser compostos
por vários controladores instalados em um rack, formando uma unidade
de controle local.

Uma estação de controle também pode ser composta por um controlador


Multiloop ou Controlador Lógico Programável (CLP) de um outro fabricante
diferente do fabricante do SDCD, desde que o fabricante do SDCD possua
um protocolo aberto, ou seja, seu sistema seja aberto. Nesta situação, o
controlador Multiloop ou o Controlador Lógico Programável (CLP) a ser
conectado no SDCD deve ter uma interface com a rede de comunicação,
sendo a partir daí considerado como um elemento do SDCD.

5.4.3 Subsistema de monitoração e operação

É 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.

São características normalmente existentes num subsistema de operação


e monitoração:

• fornecer ao operador um conjunto de informações sobre o estado de


operação da planta, através de um número de estações de operação
suficiente para atender todas às variáveis de interesse do processo;
298 UNIUBE

• fornecer ao operador, em tempo hábil, informações num formato que


evidencie a ocorrência de condições excepcionais de operação;
• permitir que variáveis de processo sejam agrupadas de maneira que
o operador possa realizar uma análise comparativa entre variáveis
constituintes de cada grupo;
• permitir ao operador a visualização de informações em detalhe
crescente, dependendo do quanto ele precisa saber ou do quanto ele
precisa mudar para corrigir as falhas do processo;
• possibilitar o uso simultâneo de várias estações de operação para
que todas as funções disponíveis possam ser utilizadas em todas
as estações de operação e estas possam ser instaladas em locais
diferentes;
• encapsular procedimentos de operação de forma que seja mais segura
e veloz a resposta do operador à ocorrência de uma irregularidade na
planta. Encapsulamento consiste basicamente da utilização de teclas
funcionais que quando pressionadas, determinam toda uma sequência
de operações pré-programadas.

Os principais elementos da IHM com suas respectivas funções e


particularidades são as seguintes.

5.4.4 Estação de operação

Parte do SDCD onde se encontra a IHM. É constituída por um console


de operação composto basicamente por terminais de vídeo, teclados e
impressora.

5.4.1.1 Teclado

O operador, por meio deste controle, pode comandar mudanças de


setpoint, escolher o tipo de tela e outros dados da malha controle.
Alguns sistemas usam um teclado como máquina de escrever onde as
várias teclas são classificadas e codificadas e desempenham funções
específicas no controle do processo.
UNIUBE 299

Outros sistemas utilizam um arranjo diferente, onde grupos separados de


teclas são arranjados de acordo com sua função. Podem ser codificadas
e coloridas para proporcionar maior facilidade de reconhecimento pelo
operador. Alguns sistemas podem ser encontrados com três tipos de
classificações de teclas:

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.2 Terminal de vídeo

Outro elemento importante da console de operação ou IHM é o terminal


de vídeo que apresenta no formato de telas todas as informações
fundamentais para o sistema. Por se tratar de um sistema com
configuração totalmente aberta, a engenharia de produção é que define
a melhor apresentação do sistema no formato de telas.

5.4.4.3 Impressora

Por intermédio da impressora, a IHM fornece o recurso de emissão de


relatórios que podem se apresentar normalmente nos formatos:
300 UNIUBE

• Momentâneo: emitido a pedido do operador.


• Evento: emitido na ocorrência de um evento pré-configurado.
• Periódicos: emitidos periodicamente, conforme o período pré-
configurado.

Alguns terminais de vídeo também são utilizados


Touch Screen
como entrada de dados, ficando assim um vídeo
São os monitores conjugado que recebe o nome de touch screen
sensíveis ao toque.
São muito usados (toque de tela).
em caixas de
banco, quiosques
multimídia,
computadores de
mão, e vários outros
equipamentos. 5.4.5 Subsistema de supervisão e otimização
Estes monitores são
compostos de um
monitor CRT ou LCD Local onde são realizadas as funções de otimização
comum e de uma
película sensível e gerenciamento de informações (níveis 3 e 4).
ao toque. Além de
serem ligados na Seu principal componente é um computador que
placa de vídeo, denominamos de computador hospedeiro (host).
estes monitores são
ligados também
em uma das portas
seriais do micro, Nos sistemas distribuídos básicos (sem host) um
bastando instalar o
software adequado subconjunto das funções do host é espalhado
para que os toques
na tela substituam pelo sistema, através da distribuição de
os cliques do mouse. microprocessadores em cada terminal de
O funcionamento
da camada sensível operação. Isto é, o host é dividido pelas várias
ao toque é bem
interessante, partes integrantes do sistema, exceto algumas
baseando-se no uso
do infravermelho. A funções, tais como otimização. O host ocupa um
tela é formada por
vários emissores nível hierárquico superior aos controladores e
e receptores, que estação de operação.
comunicam-se
continuamente, tanto
na horizontal quanto
na vertical. Ao tocar Dentre as tarefas associadas ao host, podemos
a tela, interrompe-se
a comunicação entre citar a realização dos cálculos necessários para
alguns, fazendo com
que a posição do se atingir a um ou mais objetivos de otimização
toque seja percebida. da planta ou de consumo de energia e analisar
o desempenho da planta ou equipamentos. Com
UNIUBE 301

exceção desta última atividade, todas as demais


LAN (Local Area
funções podem já estar presentes no subsistema Network)
de monitoração e operação. Neste caso, o Rede Local. Sistema
subsistema de supervisão e otimização alocará que conecta
uma série de
mais recursos para os programas de aplicação computadores – até
mesmo máquinas de
do usuário, tais como alguns relatórios especiais, tipos diferentes entre
si, rodando sistemas
balanços de massa energia, otimizações. operacionais
diversos – e
periféricos a curta
distância. Em uma
5.4.6 Subsistema de comunicação LAN, pode-se usar
os mesmos arquivos
e compartilhar
impressoras e
Para que seja possível a realização de um scanners, entre
controle integrado, é necessário que exista uma outros recursos.
Nas aplicações mais
infraestrutura de comunicação entre os diversos convencionais, toda
a estrutura de uma
subsistemas. Este subsistema será responsável LAN limita-se a um
mesmo edifício, mas
pela conexão dos diversos módulos autônomos é possível ampliar
sua área de atuação
do sistema. Este subsistema é uma rede local de a até 10 quilômetros.
comunicação (LAN).
Protocolo

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

Em alguns sistemas, a função de controlar o


desvantagens
particulares; por barramento de dados é executada pelo próprio
exemplo, alguns
são mais simples equipamento de comunicação acoplado a este
que outros, alguns barramento. Por outro lado, em sistemas mais
são mais confiáveis,
e outros são mais sofisticados, um microprocessador dedicado
rápidos. Do ponto
de vista do usuário, é utilizado, sendo usualmente chamado de
só interessa os
aspectos referentes Unidade de Controle de Telecomunicações (TCU)
aos protocolos,
se o computador
ou ainda Gerenciador de Tráfego do Barramento
ou dispositivo de Dados.
deve suportar o
protocolo correto,
se ele desejar
a comunicação 5.4.7 Sistemas de supervisão controle e
com outros
computadores. aquisição de dados
O protocolo pode
ser implementado
tanto em hardware O termo SCADA (Supervisory Control And Data
como em software.
Acquisition), na automação, refere-se a sistemas
SCADA
(Supervisory de supervisão, controle e aquisição de dados
Control And Data
Acquisition) compostos por um ou mais computadores,
Termo que se refere
monitorando e controlando um processo.
aos sistemas de Inicialmente, os sistemas SCADA possibilitavam
controle, envolvendo
a aquisição dos informar periodicamente o estado do processo
dados dos sensores
em locais remotos e industrial, monitorando os sinais representativos
o envio ao sistema
computacional das medidas e estados dos dispositivos, por meio
que gerencia e
controla o sistema.
de um painel de lâmpadas e indicadores, sem
qualquer interface operacional com o operador.

Como visto anteriormente, com a evolução tecnológica, os computadores


assumiram um papel importante de gestão, aquisição e tratamento dos
dados do processo, tornando possível a sua visualização em IHMs e a
geração de comandos para desempenhar funções complexas de controle.

Podemos definir um sistema de controle e aquisição de dados como um


conjunto de recursos representados por estações de operação, que são
compostas por microcomputadores, instrumentos de aquisição e/ou controle
UNIUBE 303

e um software de supervisão. Tem como objetivo fornecer informações sobre


o processo de forma numérica e gráfica, iniciar e interromper os diversos
processos de uma planta industrial, armazenar as ocorrências geradas
pelos dispositivos e pelo operador, emitir relatórios, realizar cálculos, controle
estatístico dentre outras funções.

Devemos entender como controle supervisório a função de monitoração,


somada à capacidade dos operadores alterarem os setpoints e outras
variáveis de processo por uso do microcomputador, como ligar/desligar
bombas, abrir/fechar válvulas, gerar relatórios de alarmes e históricos etc.
A função de controle representa a capacidade de realizar algoritmos de
controle, controlando processos industriais.

Atualmente, os sistemas SCADA utilizam tecnologias de computação e


comunicação para o monitoramento e controle dos processos industriais,
efetuando a aquisição de dados em ambientes complexos, eventualmente
espalhados geograficamente, e a respectiva apresentação de modo
amigável para o operador, com a utilização de interfaces Homem-Máquina.

Estes sistemas estão presentes em aplicações cada vez mais diversificadas,


podendo estar presentes em diversas áreas, tais como a indústria de
celulose, a indústria petrolífera, a indústria têxtil, a indústria metalúrgica, a
indústria automobilística, a indústria eletrônica, entre outras.

Hoje em dia, os sistemas SCADA são extremamente importantes no


processo de gestão das empresas, fato pelo qual deixaram de ser vistos
como meras ferramentas operacionais, ou de engenharia, e passaram a
ser considerados como uma importante fonte de informação.

Num ambiente industrial cada vez mais complexo e competitivo, os fatores


relacionados com a disponibilidade e segurança da informação assumem
elevada relevância, tornando-se necessário garantir que a informação
esteja disponível e segura quando necessária, independentemente da
304 UNIUBE

localização geográfica. Torna-se, portanto, necessário implementar


mecanismos de acessibilidade, mecanismos de segurança e mecanismos
de tolerância a falhas.

Os sistemas SCADA melhoram a eficiência do processo de supervisão e


controle, disponibilizando, em tempo hábil, o estado atual do sistema, através
de um conjunto de históricos, gráficos e relatórios, de modo a permitir a
tomada de decisões operacionais apropriadas, quer automaticamente, quer
por iniciativa do operador.

O emprego de sistemas SCADA possibilita a identificação de um conjunto


de vantagens se eles forem comparados aos painéis convencionais:

ERP (Enterprise
• redução de gastos com a montagem de Resource
painéis de controle e projeto; Planning)

• redução de custos da aquisição de instrumentos Significa


planejamento
de painel, pois, no sistema SCADA, são virtuais; de recursos
• eliminação de custos com peças de reposição, organizacionais.
Sistema integrado
pois os sistemas são instrumentos virtuais; de informação que
serve todos os
• redução de espaço necessário para a sala departamentos de
de controle; uma organização.
Implica o uso de
• dados disponíveis em formato eletrônico, um pacote de
softwares, que pode
facilitando a geração de relatórios e integração incluir softwares
com sistemas ERP (Enterprise Resource que gerenciam
informações para
Planning) ou SIGE (Sistemas Integrados de o departamento de
Gestão Empresarial); compras, recursos
humanos, compras,
• praticidade da operação, pois os instrumentos contabilidade,
transporte,
são apresentados ao operador em um almoxarifado entre
simples clique do dispositivo apontador. outros.

Por outro lado, esta tecnologia exige a utilização de mão de obra


capacitada para desenvolver e interagir com as IHMs. Hoje, os principais
sistemas SCADA oferecem três funções básicas:
UNIUBE 305

• 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

Geralmente, é utilizada uma interface tipo sistema especialista para


definição das regras de controle a nível de supervisão. Este tipo de
estratégia é muito utilizado para controle avançado na área mineral em
que é comum o modelamento matemático da planta.

5.5 Principais aplicativos do software de supervisão

Um sistema de supervisão é composto de vários aplicativos.

Base de dados

A parte central do software de supervisão é a base de dados, onde


são definidas todas as variáveis que serão utilizadas no software de
supervisão, ficando esta com a função de concentrar e conectar todos
os aplicativos disponíveis no software de supervisão.

Telas de Sinóticos

As telas de sinóticos (Figura 11), são desenhos gráficos que representam


o processo a ser controlado, podendo assumir o formato de um desenho,
fluxograma, foto digitalizada ou imagem em tempo real. Os sinóticos
podem receber características adicionais que possibilitem um melhor
atendimento dos mesmos, tais como: janelas para ligar e desligar
dispositivos, faceplate de controlador etc.

As telas de sinótico podem assumir vários formatos, sendo o desenvolvimento


de telas muito particular para cada sistema e para cada configurador.
Mesmo considerando a personalização, algumas formatações são
utilizadas.
UNIUBE 307

Figura 11: Tela de sinótico.


Fonte: Startup, 2009.

Como exemplo, temos uma tela de sinótico que permite a visualização


geral do processo. Esta tela mostra, de forma bastante simplificada, uma
visão geral do processo, arranjada de forma que o operador identifique
facilmente as condições de operação geral do sistema.

Existem diferentes estilos e maneiras de representar as informações


nestas telas, ficando a critério da engenharia de projetos e operação
quais informações devem ser apresentadas.

Um outro exemplo de tela de sinótico é a tela de instrumentos representada


normalmente por um grupo de controladores, indicadores, permitindo ao
operador verificar, com mais detalhe, uma seção da planta que precisa de
mais atenção, mostrando mais informações dos instrumentos no vídeo.
O operador poderá então monitorar e manipular valores de setpoint,
transferência automática manual, saída para válvula, entradas e saídas digitais.
308 UNIUBE

Os sinóticos são compostos normalmente de desenhos estáticos e


dinâmicos.

Vejamos com detalhes:

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 tendência em tempo real


Representa o registro de variáveis em um período de tempo reduzido,
permitindo a análise nas últimas horas, sendo a informação substituída
na sequência por uma outra informação, ficando o conteúdo em memória
RAM.

Tela de tendência histórica


Mostra a tendência das variáveis de processo ao longo de períodos
maiores, tais como horas, dias e meses. São apresentados os valores
médios nos períodos em questão e o gráfico não é atualizado no
tempo. Normalmente, dispõe de um cursor (linha vertical) que pode ser
movimentado pela tela, fornecendo os pontos de interseção do cursor
com as curvas das variáveis em unidades de engenharia da variável
naquele ponto.
UNIUBE 309

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.

Condições de alarmes também podem ser visualizados nas telas de


situação geral, e individual. Quaisquer métodos poderão ser utilizados
para notificar o operador da ocorrência de alarmes, como por exemplo:
sinais sonoros, simbologia diferenciada, alteração de cores da tela, etc.

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.

Controle estatístico de processos


O Controle Estatístico de Processos (CEP) permite uma análise estatística
do processo monitorado, podendo obter gráfico de média, dispersão,
histograma.

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

Estes drivers possuem uma tarefa de “polling”,


ODBC (Open
DataBase que é um programa que fica solicitando a cada
Connectivity)
dispositivo conectado a informação necessária
É um padrão para naquele momento e colocando esta informação
método de acesso
a base de dados na base do sistema. O driver é necessário
desenvolvido
pela Microsoft quando se conecta o software de supervisão a
Corporation. A
vantagem do um equipamento digital, ou a um outro software
ODBC é tornar
possível o acesso
aplicativo. A seguir, temos alguns drivers que são
a qualquer dado de normalmente utilizados.
qualquer aplicação,
a despeito de
qual sistema de
Gerenciamento DDE (Dynamic Data Exchange)
da Base de Dados
(DBMS) está A DDE deve ser encarada como uma área de
manipulando os
dados. ODBC
memória comum a mais de um programa. Assim,
permite isto um ambiente multitarefa com dois programas
pela inserção
de uma camada abertos simultaneamente, por exemplo, a
intermediária,
chamada driver do planilha Excel e o processador de textos Word,
banco de dados,
entre uma aplicação com duas variáveis especificadas em cada um
e o DBMS. O
propósito desta
dos programas podem compartilhar uma mesma
camada é traduzir área de memória de forma a possuir o mesmo
as consultas dos
dados da aplicação conteúdo.
em comandos
que o DBMS
entende. Para isto
ser possível, a Interface ODBC
aplicação e o DBMS
devem ser ODBC
Open Database Connectivity (ODBC) é uma
compatível, isto é, interface estratégica da Microsoft para acessar
deve ser capaz de
suportar comandos dados em um ambiente heterogêneo de sistemas
ODBC e o DBMS
deve ser capaz gerenciadores de bancos de dados relacionais
de respondê-los.
Desde a versão 2.0, ou não. O ODBC oferece uma interface universal
o padrão suporta
SAG SQL.
para acesso de bancos de dados tanto em
computadores pessoais como minicomputadores
ou mainframes .
UNIUBE 311

5.6 Tipos de processamento

A execução das atividades realizadas em um software de supervisão


pode ser centralizada ou descentralizada, pode ser realizada em função
do tempo ou por exceção. A seguir, temos o descritivo das possibilidades
apresentadas:

• Processamento centralizado: trabalha com apenas uma estação


(stand-alone), para executar as funções solicitadas;
• Processamento distribuído: sistema que trabalha com várias
estações distribuídas, em que cada nó consegue comunicar-se com
todos os outros nós da rede, e as tarefas locais são realizadas no
próprio nó;
• Processamento por tempo: pode-se executar qualquer combinação
de processamento baseado por tempo, isto é, pode se misturar os
intervalos de tempo (segundo, minutos e hora) para a aquisição e
cálculos de dados. Desta forma, é possível equilibrar os recursos
do sistema entre dados que precisam ser adquiridos rapidamente e
dados que podem ser adquiridos com intervalos mais longos;
• Processamento por exceção: processamento que ocorre a partir
de elementos-chave. Este evento pode ser, por exemplo, a alteração
de um dado, mensagem não solicitada do hardware do processo,
ação do operador, execução de um aplicativo. O processamento
por exceção é essencial para aplicativos que monitoram um número
significativo de entradas e saídas e, desta forma, os dados serão
enviados somente quando mudarem de valor. Alguns sistemas
podem executar simultaneamente processamento baseado em
tempo (polling) e por exceção.

5.7 Tipos de estações

Um sistema de supervisão e controle pode ser estruturado para trabalhar


com uma ou mais estações.
312 UNIUBE

Quando temos somente uma estação, é realizado por esta a aquisição


de dados e a supervisão do processo. Por outro lado, quando o sistema é
composto de mais de uma estação, pode ser colocado também estações
que fazem simplesmente a supervisão do processo compartilhando assim
o sistema de aquisição de dados. Portanto, temos os seguintes tipos de
estações:

• Nó SCADA: É responsável pela aquisição e envio de dados ao


processo, constituindo uma ponte de informação entre o supervisório
e o instrumento digital supervisionado;
• Nó vista ou nó operação: É responsável pela monitoração, não
tendo comunicação direta com o processo, dependendo do nó
SCADA para efetuar esta comunicação. É neste nó que o operador
controla o processo, podendo interferir no estado de válvulas,
bombas, setpoints etc.

Figura 12: Tipos de estação.


Fonte: Acervo dos autores.
UNIUBE 313

5.8 Automação industrial: estratégias e considerações importantes

De forma geral, podemos definir automação como sendo qualquer sistema


apoiado em computadores, que substitui o trabalho humano, tendo em vista
soluções rápidas e econômicas para atingir os complexos objetivos das
indústrias e dos serviços. A automação implica na implantação de sistemas
interligados e assistidos por redes de comunicação, compreendendo
sistemas supervisórios e interfaces homem máquina que possam auxiliar
operadores no exercício da supervisão e análise dos problemas que,
porventura, venham a ocorrer. A automação, na indústria, decorre de uma
série de necessidades. Dentre elas, podemos citar:

• maiores níveis de qualidade de conformação e flexibilidade;


• menores custos de trabalho;
• menores custos de capital;
• maior qualidade das informações;
• melhor planejamento da produção.

Posteriormente, o controle manual passou a ser executado por máquinas,


substituindo, assim, o trabalho humano. Em seguida, surgiu o controle em
malha fechada, nascendo, assim, o controle automático que evoluiu do
controle PID convencional, passando pelo controle adaptativo, indutivo,
heurístico, criativo e, finalmente, o controle expert, que utiliza conceitos
de inteligência artificial.

Paralelamente, a instrumentação necessária para executar os mais


variados tipos de estratégias de controle e projetos de automação
também evoluiu. No início, os primeiros instrumentos possuíam tecnologia
analógica que faziam a medição de uma única variável; e um dispositivo
controlador, de forma centralizada ou distribuída, fazia o processamento
dos dados.
314 UNIUBE

IMPORTANTE!

Atualmente, com o surgimento da instrumentação inteligente, os sistemas


de medição são usados para avaliar a variável de medição e, paralelamente,
executam quase todos os processamentos das informações por meio de
técnicas digitais.

Nos dias atuais, a informação passou a ser o ponto fundamental na


definição das estratégias de mercado da grande maioria das empresas
pelo mundo afora, tanto para as que trabalham diretamente com
informática, como, também, para as do setor industrial que estão sendo
afetadas pelos grandes avanços nas tecnologias de comunicação de
dados. A integração entre os vários níveis da pirâmide de automação, seja
entre equipamentos ou sistemas de controle, tem-se tornado essencial
para atingir o aumento de eficiência, flexibilidade e confiabilidade dos
sistemas produtivos.

Como em outros setores – telecomunicações, por exemplo – os sistemas


de comunicação de dados no setor industrial tiveram início de forma
simples, utilizando padrões de conexões do tipo serial RS-232 e RS-485.
Entretanto, à medida que o tempo foi passando, os fabricantes foram
criando sistemas cada vez mais complexos com o desenvolvimento
tecnológico dos protocolos, softwares e hardwares dedicados à transmissão
e controle de dados.

As redes industriais são a base para a implementação dos sistemas


distribuídos, nos quais os diversos elementos trabalham de forma simultânea,
a fim de supervisionar e controlar um determinado processo. Nos sistemas
distribuídos, os sensores, atuadores, CLPs, CNCs, PCs etc., necessitam
estar interligados e trocando informações de forma rápida e precisa. Quando
olhamos para o chão de fábrica, vemos que esse ambiente geralmente se
apresenta de forma hostil. Dessa forma, os dispositivos e equipamentos
interligados a uma rede industrial devem ser confiáveis, rápidos e robustos.
UNIUBE 315

5.8.1 A evolução da automação

Até o início da década de 60, os sistemas de automação eram baseados em


relés eletromecânicos. Com o avanço da microeletrônica microprocessada,
aliado ao aumento da necessidade de se tratar um maior volume de
informações, os painéis sinópticos foram substituídos por sistemas de
supervisão implementados nesses computadores pessoais de uso industrial.

Com a utilização do PC interligado em rede, todas as operações relacionadas


com a função de produções puderam ser incorporadas, satisfazendo as
necessidades de integração entre as áreas de produção e controle de
processo aos meios corporativos de informação.

Com o aumento crescente das necessidades de integração dos dados da


empresa, de uma forma geral, nascem os softwares ERP com a finalidade
de auxiliar no planejamento de recursos empresariais. Em paralelo, há o
desenvolvimento dos sistemas SCADA e dos CLPs, possibilitando uma
maior integração dos processos.

Na instrumentação, nasce o protocolo HART, utilizando o mesmo


cabeamento de 4 a 20 ma. A partir daí, surgem as diversas redes
industriais tentando se estabelecer como padrão. Algumas se firmam e
existem até hoje, tais como: Profibus; Fieldbus Foundation; Devicenet;
ASI; Interbus e Modbus.

Nesse momento, a ethernet invade os instrumentos de campo, mas ainda


há limitações, como a falta de determinismo. No entanto, com o aumento
da velocidade de processamento dos computadores e da velocidade de
comunicação das redes TCP/IP, foi possível resolver o problema da falta
de determinismo.

IMPORTANTE!

Hoje, a taxa de transmissão nas redes industriais chega facilmente a 100


MB, mais que o dobro de qualquer barramento de campo existente na época.
316 UNIUBE

A utilização do controle baseado em PC torna o


Protocolo
protocolo TCP/IP fundamental em automação
É um conjunto
de regras para
industrial e gera uma total integração do chão de
transmissão de fábrica com os diversos sistemas existentes.
dados entre dois
dispositivos. O
protocolo determina
o tipo de verifi 5.8.2 Arquiteturas típicas de sistemas de
cação de erro a ser
usado, o método automação
de compressão
de dados, se
o dispositivo Quando desejamos propor uma solução em um
transmissor indicará
o término do envio projeto de automação, a primeira coisa em que
da mensagem e devemos pensar é esboçar a arquitetura do sistema
como o dispositivo
recebedor indicará em questão, organizando seus elementos básicos,
que recebeu a
mensagem. Há remotas de aquisição de dados, CLPs, instrumentos,
uma variedade
de protocolos sistema de supervisão etc., conectados a redes de
padrões que os
programadores comunicação de dados adequadas. As soluções
podem escolher. irão depender das limitações de cada projeto em
Cada um tem
vantagens e particular. Ao iniciarmos um novo projeto, inúmeros
desvantagens
particulares; por são os pontos que devem ser observados. Dentre
exemplo, alguns
são mais simples, eles, podemos definir um check list.
outros mais
confiáveis e outros
são mais rápidos. • Identificar o número de áreas de processo a serem
automatizadas.
Arquitetura de
rede • Definir as distâncias entre as áreas envolvidas.
• Definir ou verificar layout da instalação industrial.
Estrutura de
um sistema de • Definir se haverá uma sala de supervisão e
comunicação que controle centralizada ou apenas células de controle
inclui o hardware,
o software , os locais.
métodos de acesso, • Decidir sobre a necessidade de sistema de backup.
os protocolos e o
método de controle. E, se necessário, a que nível?
• Verificar as condições ambientais.
• Analisar a existência de campo magnético intenso nas proximidades e,
consequentemente, interferência eletromagnética.
• O cliente tem acesso às novas tecnologias de redes de campo para
instrumentação, sensores e acionamentos.
• Verificar se existe a necessidade de acesso fora da planta por meio do uso
da internet ou intranet, da área industrial.
UNIUBE 317

• Verificar quais seriam as necessidades dos dispositivos, em relação à


taxa de transmissão de dados.
• Verificar a capacidade de expansão dos módulos prevista para os
próximos anos.
• Identificar a existência da preferência por sistemas abertos ou sistemas
proprietários.

As respostas a todas essas questões irão proporcionar a escolha da


arquitetura mais adequada às necessidades e disponibilidades do cliente,
determinando o sucesso do sistema proposto em termos de alcançar os
seus objetivos de desempenho, modularidade, expansibilidade etc.

A automação industrial exige a realização de muitas funções. A Figura


13, a seguir, representa a chamada Pirâmide da Automação, com os
diferentes níveis de automação encontrados em uma planta industrial.
Na base da pirâmide, estão frequentemente envolvidos os controladores
e a instrumentação. No topo da pirâmide, a característica marcante é a
informatização ligada ao setor corporativo da empresa.

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)

Dados de tempo real.


SUPERVISÃO
(Redes industriais)
Nível 2 Sistema de Supervisão IHM
(Nível 2: Setor)

ERP = ENTERPRISE RESOURCE PLANNING


INSTRUMENTAÇÃO MES = MANUFACTURING EXECUTION SYSTEM
CLP’s, Inversores, Sensores SCADA = SISTEMA DE CONTROLE E AQUISIÇÃO DE DADOS
Nível 1 Atuadores, Motores e Máquinas CLP = CONTROLADOR LÓGICO PROGRAMÁVEL
(Nível 1: Chão de Fábrica)

Figura 13: Pirâmide de automação.


Fonte: Acervo dos autores.

A partir da figura anterior, podemos fazer uma breve descrição de cada


nível:
318 UNIUBE

Nível 1: é o nível de máquinas, dispositivos (chão de fábrica), em que a automação


é realizada pelo CLP.
Exemplo: linha de montagem.

Nível 2: sua característica é ter algum tipo de supervisão associado ao processo.


Exemplo: sala de supervisão.

Nível 3: permite o controle do processo produtivo da planta; normalmente sendo


constituído por bancos de dados com informações dos índices de qualidade da produção,
relatórios e estatísticas de processo, índices de produtividade, algoritmos de otimização
da operação produtiva.
Exemplo: controle de qualidade.

Nível 4: é o nível responsável pela programação e planejamento da produção,


realizando o controle e a logística dos suprimentos.
Exemplo: controle de suprimentos e controle de estoque.

Nível 5: é o nível responsável pela administração dos recursos da empresa, em que se


encontram os softwares de gestão de vendas e gestão financeira; também é onde se
realizam a decisão e o gerenciamento de todo o sistema.

5.8.3 Rede de informação

É o nível mais alto dentro da pirâmide de automação.


Backbone
Em grandes corporações, é comum a escolha
A parte de uma rede
de comunicações de um backbone de alta capacidade para
projetada para
suportar tráfegos
interligação dos sistemas ERP(Enterprise Resource
elevados. Provê Planning),Supply Chain (Gerenciamento da cadeia
conectividade entre
LANs e WANs. de suprimentos), e EPS (Enterprise Production
Geralmente,
emprega meios de Systems). Este link pode ser implementado usando
transmissão mais
rápidos e distâncias uma rede ATM ou GigaEthernet. Uma solução
mais longas.
alternativa que vem ganhado espaço junto ao
segmento industrial, devido à sua simplicidade
e baixo custo, é a rede ethernet 100-BaseT, utilizando, como meio de
transmissão, cabo par trançado nível 5.
UNIUBE 319

5.8.4 Rede de controle

A rede de controle é responsável pela interconexão


Barramento
dos sistemas SCADA do nível 2 aos sistemas de
nível 1, representados pelos dispositivos de controle Um ou mais
(1)

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.

comunicam-se com os controladores programáveis.

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.

É importante isolar o tráfego da rede de controle do tráfego da rede de


informação por meio de equipamentos de rede, para aumentar o nível
de segurança. O equipamento mais usado para essa função é o switch
Ethernet, cujo padrão mais utilizado é o 100Base-T. Além de evitar os
problemas de divisão de banda, típico da arquitetura barramento, o
switch segmenta a rede. O switch assegura a criação de uma rede de
Servidores Ethernet livre de colisões. Esta nova concepção de rede é
denominada de rede Ethernet Industrial.

5.9 Equipamentos de integração de redes

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

Distribuidores de conexão (Hubs)


Servem para conectar os equipamentos que compõem uma LAN. Os
equipamentos interligados a um hub pertencem a um mesmo segmento
de rede, isto é, os usuários do hub dividem a largura da banda. Se
tivermos 10 usuários em um segmento de 100Mbps,
RJ-45
cada usuário usufruirá, em média, de 10Mbps de
Conector de rede
banda de passagem. Cada hub possui de 4 a 24 ethernet com 8
pinos.
portas 10Base-T com conectores RJ-45..

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.

5.10 Arquitetura de rede única

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.

Já, na rede de informação, o tráfego geralmente é constituído por arquivos


maiores transmitidos com baixa frequência. Outro fator importante são os
requisitos de performance e segurança que também são diferentes nas duas
redes. Embora este tipo de topologia seja muito utilizado, a topologia anterior
é mais recomendada por segmentar cada tipo de tráfego.
UNIUBE 323

5.11 Redes proprietárias

Apesar da rede Ethernet ser hoje a preferida da área industrial, muitas


redes proprietárias de concepções mais antigas são ainda muito usadas.
Por exemplo, a rede DH+ (Data Highway plus) da Rockwell.

Esperamos que este texto tenha proporcionado condições para você


ter a visão geral dos sistemas de supervisão e controle. Releia-o outras
vezes, preparando-se para a realização das atividades.

Resumo

O capítulo pretende descrever um sistema de supervisão e controle


básico, demonstrando a importância dos SSC. Identifica as principais
características dos sistemas de supervisão e controle, distinguindo os
tipos de controle (local, centralizado, distribuído).

Referências

DÍGITRO TECNOLOGIA. Disponível em: <http://www.digitro.com/pt/>. Acesso em:


abr. 2009.

STARTUP. Disponível em: <http://www.startup.eng.br/imagens/ Tela_Biritiba_Sinotico.


jpg>. Acesso em: abr. 2009.

UOL. Disponível em: <http://m.albernaz.sites.uol.com.br/eletricidade_arquivo/nuclear


4.jpg>. Acesso em: mar. 2009.
Anotações
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
__________________________________________________________
_________________________________________________________
_________________________________________________________
__________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
__________________________________________________________
_________________________________________________________
_________________________________________________________
__________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________

Você também pode gostar