2. rea Tecnolgica Mecatrnica CLP SIEMENS SALVADOR 2 0 0 2
3. Copyright 2002 por SENAI CIMATEC. Todos os direitos
reservados. rea Tecnolgica de Mecatrnica Elaborao: Milton Bastos de
Souza Reviso Tcnica: Eduardo Lima II Reviso Pedaggica: Maria Clia
Calmon Santos Normalizao: Maria do Carmo Oliveira Ribeiro Catalogao
na fonte ________________________________________________________
SENAI CIMATEC Centro Integrado de Manufatura e Tecnologia. CLP
SIEMENS. Salvador, 2002. 105.p. il. (Rev.00) I. Sistemas Digitais -
CLP I. Ttulo CDD 621.3
________________________________________________________ SENAI
CIMATEC Av. Orlando Gomes, 1845 - Piat Salvador Bahia Brasil CEP
41650-010 Tel.: (71) 462-9500 Fax. (71) 462-9599
http://www.cimatec.fieb.org.br
4. MENSAGEM DO SENAI CIMATEC O SENAI CIMATEC visa desenvolver
um programa avanado de suporte tecnolgico para suprir as
necessidades de formao de recursos humanos qualificados, prestao de
servios especializados e promoo de pesquisa aplicada nas
tecnologias computacionais integradas da manufatura. Com uma
moderna estrutura laboratorial e um corpo tcnico especializado, o
CIMATEC desenvolve programas de intercmbio tecnolgico com
instituies de ensino e pesquisa, locais e internacionais. Tudo isso
sem desviar a ateno das necessidades da comunidade, atendendo suas
expectativas de formao profissional, suporte tecnolgico e
desenvolvimento, contribuindo para uma constante atualizao da
indstria baiana de manufatura e para a alavancagem do potencial das
empresas existentes ou emergentes no estado.
5. APRESENTAO O curso de Controladores Lgicos Programveis,
objetiva fornecer os subsdios necessrios para que o treinando,
esteja a par do atual estgio tecnolgico da instrumentao, aplicada
ao controle de processos. Este material enfoca aspectos gerais
relacionados ao CLP, com a inteno de ser o mais genrico possvel. No
pretendemos com este curso esgotar o tema, mas indicar o caminho,
para os que iro atuar na manuteno de equipamentos digitais e
projetos de pequenos sistemas de automao utilizando CLPs aplicados
no controle de variveis de processos industriais. Esperamos que os
treinandos tirem o maior proveito deste material, pois, ele uma
sntese do conhecimento de vrios especialistas na rea de Sistemas
Digitais.
6. SUMRIO 1. Histrico dos
CLPs.................................................................................................
8 2. Estrutura Bsica de um
CLP..............................................................................
11 2.2 Entradas
.........................................................................................................................
11 2.2
Sada................................................................................................................................
14 2.3 Unidade Central de Processamento (Central Processing Unit
CPU).......... 16 2.4 O que caracteriza o tamanho do CLP?
..................................................................
17 2.5 Famlia de Hardware para PLCs Siemens
............................................................. 17
2.5.1 Caractersticas das CPUs
....................................................................................................17
3. Introduo a Liguagem
Siemens......................................................................
30 3.1
Ladder.............................................................................................................................
30 3.2
STL...................................................................................................................................
36 4. Instrues avanadas da Siemens
.................................................................
44 4.2 Instrues Matemticas
.............................................................................................
46 4.2.1 Exemplos de Casos para PLCs
Allen-Bradley..................................................................46
4.2.2 Estudo de Casos para PLCs Siemens
...............................................................................49
4.3 Instrues de
Comparao......................................................................................
55 4.3.1 Estudo de Casos para PLCs da
Allen-Bradley..................................................................55
4.3.2 Estudos de Casos para o CLP
Siemens............................................................................59
4.4 Instrues de Controle de
Programa......................................................................
61 4.5 Chamada de Subirrotina
............................................................................................
66 4.5.1 Para PLC
Allen-Bradley......................................................................................................66
4.5.2 Chamada de Subirrotina para PLC
SIEMENS...............................................................67
4.6 SCL Escala
.................................................................................................................
72 4.6.1 Escala para CLP
Allen-bradley.........................................................................................72
4.6.2 Escala em CLP SIEMENS
..................................................................................................74
4.6.3 UNSCALE para CLP SIEMENS
.........................................................................................74
5 INSTRUO
PID..................................................................................................
76 5.1 Conceito de
PID............................................................................................................
76 5.2 A Equao
PID..............................................................................................................
77 5.3 Parmetros para o PID
Allen-Bradley.....................................................................
78 5.4 Tela de Instalao PID
................................................................................................
79 5.5 Bloco de Controle PID
................................................................................................
81 5.6 Indicadores de
Status.................................................................................................
82 5.7 Bloco PID para PLCs
SIEMENS................................................................................
83 6 Movimentao de
Dados......................................................................................
87 6.1 Copiar
Arquivo..............................................................................................................
87 6.1.1 Copiar arquivo CLP Allen-Bradley
..................................................................................87
6.1.2 Copia arquivo Pelo CLP
SIEMENS(FC81)......................................................................88
7. 6.2 Preencher
Arquivo.......................................................................................................
88 6.2.1 Para CLP
Allen-Bradley(FLL)............................................................................................88
6.2.2 Preenchimento para CLP
SIEMENS(SFC21).................................................................89
6.3 Deslocar Bit Direita e Deslocar Bit
Esquerda................................................ 90 6.3.1
Deslocar Bit para o CLP Allen-bradley
..........................................................................90
6.3.2 Desloca Bits para o CLP
SIEMENS.................................................................................91
ANEXO 1
.....................................................................................................................
95 ANEXO 2
...................................................................................................................
104 BIBLIOGRAFIA
.........................................................................................................
105
8. 8 1. Histrico dos CLPs Segundo a NEMA (National Eletrical
Manufactures Association), o Controlador Lgico programvel (CLP)
definido como aparelho eletrnico digital que utiliza uma memria
programvel para o armazenamento interno de instrues especficas,
tais como lgica, sequenciamento, temporizao, contagem e aritmtica,
para controlar, atravs de mdulos de entradas e sadas, vrios tipos
de mquinas e processos. O desenvolvimento dos CLPs comeou em 1968
em resposta a uma requisio da Diviso Hidramtica da General Motors.
Naquela poca, a General Motors passava dias ou semanas alterando
sistemas de controles baseados em rels, sempre que mudava um modelo
de carro ou introduzia modificaes em uma linha de montagem. Para
reduzir o alto custo de instalao decorrente destas alteraes, a
especificao de controle da GM necessitava de um sistema de estado
slido, com a flexibilidade de um computador, mais que pudesse ser
programado e mantido por engenheiros e tcnicos na fbrica. Tambm era
preciso que suportasse o ar poludo, a vibrao, o rudo eltrico e os
extremos de umidade e temperatura encontrados normalmente num
ambiente industrial. Abaixo alguns modelos de CLPs. Os primeiros
CLPs foram instalados em 1969, fazendo sucesso quase imediato.
Funcionando como substitutos de rels, at mesmo estes primeiros CLPs
eram mais confiveis do que os sistemas baseados em rels,
principalmente devido robustez de seus componentes de estado slido
quando comparados s peas mveis dos rels eletromecnicos. Os CLPs
permitiram reduzir os custos de materiais, mo-de- obra, instalao e
localizao de falhas ao reduzir a necessidade de fiao e os erros
associados. Os CLPs ocupavam menos espao do que os contadores,
temporizadores e outros componentes de controle anteriormente
utilizados.
9. 9 E a possibilidade de serem reprogramados permitiu uma
maior flexibilidade para trocar os esquemas de controle. Talvez a
razo principal da aceitao dos CLPs pela industria foi que a
linguagem inicial de programao era baseada nos diagramas de contato
(ladder) e smbolos eltricos usados normalmente pelos eletricistas.
A maior parte do pessoal de fbrica j estava treinada em lgica
ladder, adaptando-a rapidamente nos CLPs. Por que usar um CLP?
Deveramos estar usando um controlador lgico programvel? Nos anos 70
e inicio dos 80, muitos engenheiros, gerentes de fbrica e
projetistas de sistema de controle dedicaram grande parte de seu
tempo a debater esta questo, tentando avaliar a relao
custo-beneficio. Atualmente, aceita-se como regra geral que os CLPs
se tornaram economicamente viveis nos sistemas de controle que
exigem mais de trs rels. Considerando-se o baixo custo dos
micro-CLPs e o fato dos fabricantes colocarem grande nfase na
qualidade e produtividade, a questo do custo deixa praticamente de
existir. Alm das redues nos custos, os CLPs oferecem outros
benefcios de valor agregado: Confiabilidade. Depois de escrito e
depurado, um programa pode ser transferido e armazenado facilmente
em outros CLPs. Isto reduz o tempo de programao, minimiza a depurao
e aumenta a confiabilidade. Como toda a lgica existe na memria do
CLP, no existe qualquer possibilidade de cometer um erro lgico por
conta de um erro de fiao. A nica fiao necessria para o fornecimento
de energia para as entradas e sadas. Flexibilidade. As modificaes
no programa podem ser feitas com pouca digitao. Os OEMs
(fabricantes do equipamento original) podem realizar facilmente as
atualizaes no sistema, bastando enviar um novo programa em vez de
um tcnico. Os usurios finais podem modificar o programa em campo
ou, por outro lado, os OEMs podem evitar que os usurios finais
alterem o programa (o que uma importante caracterstica de
segurana). Funes Avanadas. Os CLPs podem realizar uma grande
variedade de tarefas de controle, desde aes simples e repetitivas
at a manipulao de dados complexos. Com a adoo dos CLPs, abrem-se
muitas alternativas para os projetistas e simplifica-se o trabalho
do pessoal de manuteno. Comunicaes. A comunicao com interfaces de
operao, outros CLPs ou computadores facilita a coleta de dados e o
intercmbio de informaes. Velocidade. Como certas mquinas
automatizadas processam milhares de itens por minuto e como os
objetos so expostos aos sensores durante apenas uma frao de
segundo, muitas aplicaes de automao necessitam da capacidade de
resposta rpida dos CLPs.
10. 10 Diagnstico. A capacidade de localizao de falhas dos
dispositivos de programao e o recurso de diagnstico incorporado no
CLP permitem que os usurios localizem e corrijam rapidamente os
problemas de software e hardware. Outras Caractersticas Hardware
e/ou dispositivo de controle de fcil e rpida programao ou
reprogramao, com a mnima interrupo na produo. Capacidade de operao
em ambiente industrial sem o apoio de equipamentos ou hardware
especficos. Sinalizadores de estado e mdulos tipo plug-in de fcil
manuteno e substituio. Hardware ocupando espao reduzido e
apresentando baixo consumo de energia. Possibilidade de monitorao
do estado e operao do processo ou sistema, atravs da comunicao com
computadores. Compatibilidade com diferentes tipos de sinais de
entrada e sada. Capacidade de alimentar, de forma contnua ou
chaveada, cargas que consomem correntes de at 2 A. Hardware de
controle que permite a expanso dos diversos tipos de mdulos, de
acordo com a necessidade. Custo de compra e instalao competitivo em
relao aos sistemas de controle convencionais. Possibilidade de
expanso da capacidade de memria. Conexo com outros CLPs atravs de
redes de comunicao Aplicaes Tradicionais Seja qual for a aplicao, o
uso do CLP permite aumentar a competitividade. Os processos que
usam CLPs incluem: empacotamento, engarrafamento e enlatamento,
transporte e manuseio de materiais, usinagem, gerao de energia,
sistemas de controle predial e de ar condicionado, sistemas de
segurana, montagem automatizada, linha de pintura e tratamento de
gua. Os CLPs so utilizados nas mais diversas industrias, incluindo
alimentos e bebida, automotiva, qumica, plsticos, papel e celulose,
farmacutica e siderurgia/metalurgia. Basicamente qualquer aplicao
que exija um controle eltrico pode usar um CLP.
11. 11 2. Estrutura Bsica de um CLP A Estrutura bsica de um
controlador programvel adveio do hardware bsico de um computador.
Podemos afirmar que um CLP um computador para aplicaes especficas.
Para entender como funciona um CLP, necessria uma anlise rpida de
seus componentes. Todos os CLPs, dos micros aos grandes CLPs, usam
os mesmos componentes bsicos e esto estruturados de forma similar,
como mostrado na figura abaixo. Os sistemas CLP consistem de : 1.
Entradas 2. Sadas 3. Unidade Central de Processamento (Central
Processing Unit CPU) 4. Memria para o programa e armazenamento de
dados 5. Fornecimento de alimentao 6. Dispositivo de programao 2.2
Entradas Os terminais de entrada conectados no CLP formam a
interface pela qual os dispositivos de campo so conectados ao CLP.
Os sinais recebidos por um mdulo de entrada podem vir de dois tipos
de sensores: Discretos: Chave limite; botoeira; chave de digitadora
(thumbwheel); chave de presso; fotoclula; contato de rel; chave
seletora; teclado.
12. 12 Analgicos: Transdutor de presso; transdutor de
temperatura; clula de carga (strain gage); sensores de vazo;
transdutores de vibrao; transdutores de corrente; transdutores de
vcuo; transdutores de fora. Os sinais eltricos enviados pelos
dispositivos de campo ao CLP so normalmente de 120Vca ou de 24Vcc.
Os circuitos de entrada no CLP recebem esta tenso vinda do campo e
a condicionam de forma que possa ser utilizada pelo CLP. Tal
condicionamento necessrio j que os componentes internos de um CLP
operam a 5Vcc e devem, portanto, estar protegidos de flutuaes de
tenso. Para que os componentes internos fiquem eletricamente
isolados dos terminais de entrada, os CLPs empregam um isolador
ptico que usa a luz para acoplar os sinais de um dispositivo
eltrico a outro. A estrutura interna de um mdulo de entrada pode
ser subdividida em seis blocos principais, como mostrado na figura
abaixo:
13. 13 Tabela onde podemos ver a funo de cada bloco: Parte Funo
Sensores de campo Informar ao controlador programvel as condies do
processo Terminais para conexo dos sensores de campo Permitir a
interligao fsica entre os sensores de campo e o controlador
programvel. Condicionamento e converso do sinal de entrada
Converter os sinais de campo em nveis baixos de tenso, compatveis
com o processador utilizado. Indicadores de estado das entradas
Proporcionar indicao visual do estado funcional das entradas
contidas num mdulo de entrada. Isolao eltrica Proporcionar isolao
eltrica entre os sinais vindos do campo e os sinais do processador.
Interface/multiplexao Informar ao processador o estado de cada
varivel de entrada. Dependendo da natureza do sinal de entrada,
podemos dispor dos seguintes tipos de mdulos de entrada: TIPO
CARACTERSTICAS DIGITAL (AC) 12 Vac; 24 A 48 Vac; 110/127 Vac;
220/240 Vac DIGTAL (DC) 120 Vdc com isolao 12 Vdc; 12 a 24 Vdc com
resposta rpida; 24 a 48 Vdc; 12 a 24 Vdc (lgica negativa) source;
12 a 24 Vdc (lgica positiva) sinking; 48 Vdc source; 48 Vdc sinking
ANALGICO 1 a 5 Vdc; 0 a 10Vdc; -10 a +10Vdc; 4 a 20mA. ESPECIAL TTL
com suprimento; TTL com dreno; 5 a 30 Vdc selecionvel; 5Vdc
contador/ decodificador; 12 a 24Vdc codificador/ contador;
termopar; cdigo ASCII; cdigo Gray; pulsos de alta velocidade.
14. 14 2.2 Sada Os mdulos de sada tambm so considerados como
elementos de interface, pois permitem que o processador se
comunique com o meio externo. A estrutura interna de um mdulo de
sada pode ser subdividida em sete blocos principais, relacionados a
seguir: Tabela onde podemos ver a funo de cada bloco: Parte Funo
Interface/Demultiplexao Recebe os sinais vindos do processador
direcionando-os para as respectivas sadas. Memorizador de sinal
Armazena os sinais que j foram multiplexados pelo bloco anterior.
Isolao eltrica Proporciona isolao eltrica entre os sinais vindos do
processador e os dispositivos de campo. Indicadores de estado de
sadas .Proporciona indicao visual do estado funcional das sadas
contidas num mdulo de sada Estgio de Potncia Transforma os sinais
lgicos de baixa potncia vindos do processador em sinais de potncia,
capazes de operar os diversos tipos de dispositivos de campo
Terminais para conexo dos dispositivos de campo Permite a conexo
fsica entre CLP e os dispositivos de campo. Dispositivos de campo
Consiste em dispositivos eletromecnicos que atuam no
processo/equipamento, em funo dos sinais de controle enviados pelo
CP.
15. 15 Dependendo da natureza dos dispositivos de campo e do
tipo de sinal de controle necessrio para comand-los, podemos dispor
dos seguintes tipos de mdulos de sada: TIPO CARACTERSTICAS Digital
(AC) 12Vac; 24 a 48Vac; 120Vac; 220/240Vac; 120Vac com isolao.
Digital (DC) 12 a 60Vdc; 12 a 24Vdc com resposta rpida; 24 a 48Vdc;
12 a 24Vdc com suprimento; 12 a 24Vdc com dreno; 48Vdc com
suprimento; 48Vdc com dreno. Analgico 1 a 5Vdc; 0 a 10Vdc; -10 a
+10Vdc; 4 a 20mA. Especial TTL com suprimento; TTL com dreno; 5 a
30Vdc selecionvel; contato NA; contato NF; sada em ASCII;
servo-motor; motor de passo. Os circuitos de sada funcionam de
maneira similar aos circuitos de entrada: os sinais emitidos pela
CPU passam por uma barreira de isolamento antes de energizar os
circuitos de sada. Os CLPs utilizam vrios circuitos de sada para
energizar seus terminais de sada: rels, transistores e triacs.
Rels. Os Rels podem ser usados com alimentao alternada ou contnua.
Os rels eletromagnticos de CLPs tradicionais aceitam correntes de
at alguns ampres. Os rels suportam de forma melhor os picos de
tenso porque contm uma camada de ar entre seus contatos que elimina
a possibilidade de ocorrncia de fuga. No entanto, so
comparativamente lentos e sujeitos a desgaste com o tempo.
Transistores. Os transistores chaveiam corrente contnua, so
silenciosos e no contm peas mveis sujeitas a desgaste. Os
transistores so rpidos e podem reduzir o tempo de resposta, mas
suportam cargas de, no mximo, 0,5A. Certos tipos especiais de
transistores, os FETs (Transistores de Efeito de Campo) podem
aceitar cargas maiores, normalmente de 1A. Triacs. Os triacs
chaveiam exclusivamente corrente alternada. Como os transistores,
as sadas triacs so silenciosas, no tem peas mveis sujeitas a
desgaste, so rpidas e transportam cargas de at 5A. Obs. As sadas de
estado slido (triacs e transistor) podem ser danificadas e
destrudas em caso de sobre tenso ou sobrecarga.
16. 16 Os mdulos de sada podem acionar os seguintes tipos de
dispositivos de sada: Discretos: Controladores de motores,
indicadores de painel, contator, vlvula solenide, display, bobina
de rel, sistemas de alarme e segurana, sirena. Analgicos:
Acionadores AC, vlvula de controle, acionadores DC. 2.3 Unidade
Central de Processamento (Central Processing Unit CPU) A CPU,
formada por um microprocessador e um sistema de memria, o principal
componente do CLP. A CPU l as entradas, executa a lgica segundo as
instrues do programa de aplicao, realiza clculos e controla as
sadas, respectivamente. Os usurios de CLPs trabalham com duas reas
da CPU: Arquivo de Programas e Arquivo de Dados. Os Arquivos de
Programa contm o programa de aplicao do usurio, os arquivos de
sub-rotina e as rotinas de falha. Os Arquivos de Dados armazenam
dados associados com o programa, tais como status (condio) de
entrada e sada, valores predefinidos e acumulados de
contadores/temporizadores e outras constantes e variveis. Juntas,
estas duas reas so chamadas de memria de aplicao ou memria do
usurio. Veja a figura abaixo: O 0 Sada MEMRIA I 1 Entrada S 2
Status B 3 Binrio 0 Sistema ARQUIVO DE DADOS T 4 Temporizador 1
Reservad a C 5 Contador 2 ladder ARQUIVO DE PROGRAMA R 6 Controle 3
ladder N 7 Inteiro 4 Ladder F 8 Ponto Flutuante 225 Ladder X 225
Ainda dentro da CPU encontra-se um programa executvel ou Memria do
Sistema que direciona e realiza as atividades de operao, tais como
a execuo do programa do usurio e a coordenao de varreduras das
entradas e atualizaes das sadas. A memria do sistema, programada
pelo fabricante, no pode ser acessada pelo usurio.
17. 17 2.4 O que caracteriza o tamanho do CLP? Vrios critrios
so utilizados para classificar um CLP como micro, pequeno, mdio ou
grande, entre eles: funcionalidade, nmero de entradas e sadas,
custo e dimenses fsicas. Os CLPs podem ser de Estrutura Fixa ou
Estrutura Modular. Estrutura Fixa. So unidades que j incluem o
processador, a fonte de alimentao e as E/S reunidas em um s bloco.
Estrutura Modular. aquele que tem componentes separados, porm
interligados e podem ser expandidos com o acrscimo de mais mdulos
de E/S no chassi. 2.5 Famlia de Hardware para PLCs Siemens 2.5.1
Caractersticas das CPUs O SIMATIC S7 consiste dos seguintes tipos
de PLCs, classificados de acordo a suas performance: SIMATIC S7-200
um PLC compacto MicroPLC, usados para aplicaes que tenham
baixssimas performances. SIMATIC S7-300 um minecontrolador modular
designado para aplicaes de mdia performance. SIMATIC S7-400
designado para aplicaes de media para auta performance.
18. 18 Caractersticas das CPUs Siemens CPU S7-300 Descrio MLFB
CPU CPU 313, 12KB, mx.256 I/O; 0.6s 6ES7313-1AD03-0AB0 Standard CPU
314, 24KB, mx. 1024 I/O; 0.3s 6ES7314-1AE04-0AB0 CPU 315, 48KB, mx.
1024 I/O; 0.3s 6ES7315-1AF03-0AB0 CPU 315-2 DP, 64KB, mx. 8192
I/O,incl DP; 0.3s 6ES7315-2AF03-0AB0 CPU 316-2DP, 128KB, mx. 16384
I/O, incl DP M/S; 0.3s 6ES7316-2AG00-0AB0 CPU 318-2DP, 512KB, mx.
65536 I/O, MPI 12 Mbits/s; incl DP M/S; 0.1s
6ES7318-2AJ00-0AB0
19. 19 CPU CPU 312, 16KB, mx.256 I/O; 0.2s Carto MMC requerido
6ES7312-1AD10-0AB0 Standard CPU 314, 48KB, mx.1024 I/O; 0.1s Carto
MMC requerido 6ES7314-1AF10-0AB0 Nova Gerao CPU 315-2 DP, 128KB,
mx. 1024 I/O,incl DP; 0.1s Carto MMC requerido 6ES7315-2AG10-0AB0
CPU CPU312C, 16KB, 10ED, 6SD, 2 cnt (10kHz), 0.2 s Carto MMC
requerido 6ES7312-5BD00-0AB0 Compacta CPU313C, 32KB, 24ED, 16SD,
4+1EA,2SA, 3cnt(30kHz), 0.1s Carto MMC requerido 6ES7313-5BE00-0AB0
CPU313C-2 PtP, 32KB, 16ED,16SD,3cnt(30k Hz), PtP, 0.1s Carto MMC
requerido 6ES7313-6BE00-0AB0 CPU313C-2 DP, 32KB, 16ED,16SD,3cnt(30k
Hz), DP, 0.1s Carto MMC requerido 6ES7313-6CE00-0AB0 CPU314C-2 PtP,
48KB, 24ED, 16SD, 4+1 EA, 2SA, 4 cnt. (60kHz), PtP, 0.1s Carto MMC
requerido 6ES7314-6BF00-0AB0 CPU314C-2DP, 48KB, 24ED, 16SD, 4+1EA,
2SA, 4 cnt. (60kHz), DP, 0.1s Carto MMC requerido
6ES7314-6CF00-0AB0 CPU Fail- Safe CPU 315F-2DP; 128KB. Carto MMC
requerido 6ES7315-6FF00-0AB0 MMC Micro carto de memria 64 kbytes
Ver Nota ***** 6ES7953-8LF00-0AA0 Micro carto de memria 128 kbytes
Ver Nota ***** 6ES7953-8LG00-0AA0 Micro carto de memria 512 kbytes
Ver Nota ***** 6ES7953-8LJ00-0AA0 Micro carto de memria 2 Mbytes
Ver Nota ***** 6ES7953-8LL00-0AA0 Micro carto de memria 4 Mbytes
Ver Nota ***** 6ES7953-8LM00-0AA0
20. 20
21. 21 Fontes e Chassis Os chassis e as fontes de alimentao
modulares fornecem flexibilidade na configurao de sistema.
Selecionando o chassi, a fonte de alimentao, e os mdulos
apropriados do processador central e de E/S, voc pode criar um
sistema do controlador projetado especificamente para sua aplicao.
Quatro fontes de alimentao esto disponveis para atender as
exigncias de potncia do seu sistema; trs fontes de alimentao de
entrada CA e uma de entrada CC. S7-300 BG Descrio MLFB TRILHOS
TRILHO 160mm 6ES7390-1AB60-0AA0 TRILHO 482mm 6ES7390-1AE80-0AA0
TRILHO 530mm 6ES7390-1AF30-0AA0 TRILHO 830mm 6ES7390-1AJ30-0AA0
TRILHO 2000 mm 6ES7390-1BC00-0AA0 PS 307 Fonte de Alimentao -
AC120/230V;DC24V;2A 6ES7307-1BA00-0AA0 Fonte de Alimentao -
AC120/230V;DC24V;5A 6ES7307-1EA00-0AA0 Fonte de Alimentao -
AC120/230V;DC24V;10A 6ES7307-1KA00-0AA0 PS 305 Fonte de Alimentao -
24DC/48/60/110V ; 24DCV ; 2A 6ES7305-1BA80-0AA0
22. 22 MDULOS DE ENTRADAS E SADAS Mdulos de Entradas e Sadas
Digitais so: S7-300 Descrio MLFB SM Ent. Digital 16 x 24Vdc,
isolada NEW! 6ES7321-1BH02-0AA0 DIGITAL Ent. Digital 16 x 24Vdc,
isolada, leitura Neg. 6ES7321-1BH50-0AA0 Ent. Digital 32 x 24 Vdc
6ES7321-1BL00-0AA0 Ent. Digital 16 x 120/230 Vac 6ES7321-1FH00-0AA0
Ent. Digital 32 x 120 Vac 6ES7321-1EL00-0AA0 Ent. Digital 8 x
120/230Vac 6ES7321-1FF01-0AA0 Ent. Digital 8 x 120/230Vac; pontos
isolados um a um 6ES7321-1FF10-0AA0 Ent. Digital 16 x 24 Vdc,
capac. interrupo e diagnose 6ES7321-7BH00-0AB0 Ent. Digital 16 x 24
Vdc, p/ larga faixa de temp. 6ES7321-1BH82-0AA0 Ent. Digital 16 x
48 - 125 Vdc p/ larga faixa de temp. 6ES7321-1CH80-0AA0 Ent.
Digital 32 x 24 Vdc p/ larga faixa de temperatura
6ES7321-1BL80-0AA0 Sada Digital 8 x 24Vdc, 2A 6ES7322-1BF01-0AA0
Sada Digital 16 x 24Vdc; 0,5 A 6ES7322-1BH01-0AA0 Sada Digital 32 x
24 Vdc; 0,5 A 6ES7322-1BL00-0AA0 Sada Digital 16 x 120 Vac; 0,5 A
6ES7322-1FH00-0AA0 Sada Digital 32 x 120 Vac; 1 A; isolada (larg.
dupla) 6ES7322-1EL00-0AA0 Sada Digital 8 x 120 /230 Vac; 1 A
6ES7322-1FF01-0AA0 Sada Digital 8 x Rele; 24Vdc/230Vac;2A
6ES7322-1HF01-0AA0 Sada Digital 8 x Rele; 24Vdc/230Vac;5A verif.
conector 6ES7322-1HF10-0AA0 Sada Digital 8 x Rele; 24Vdc/230Vac;5A
p/ carga indutiva verif. conector 6ES7322-5HF00-0AB0 Sada Digital
16 x Rele; 24Vdc/230Vac; 2A 6ES7322-1HH01-0AA0 Sada Digital 8 x 24
Vdc; 5A ou 230 Vac,5A para larga faixa de temp. 6ES7322-1HF80-0AA0
Sada Digital 8 x 48-125V, 1.5A para larga faixa de temp.
6ES7322-1CF80-0AA0 Sada Digital 8 x 120 Vac; 2 A; pontos isolados
um a um 6ES7322-5FF00-0AB0
23. 23 Sada Digital 8 x 24Vdc; 0,5A; capac. diagnose
6ES7322-8BF00-0AB0 Ent. Dig. 8 x 24Vdc + Sada Dig. 8 x 24 Vdc; 0,5A
6ES7323-1BH01-0AA0 Ent. Dig. 16 x 24Vdc + Sada Dig. 16 x 24 Vdc;
0,5A 6ES7323-1BL00-0AA0 Mdulos de Entradas e Sadas Analgicos SM
Ent. Analgica 8 x 13 bits; I/U;PT100 6ES7331-1KF00- 0AB0 ANALGICO
Ent. Analgica 8 x 12/14+S bits; I/U;PT100,Ni100;Th ermo 4 Ent. p/
resist. 6ES7331-7KF02- 0AB0 Ent. Analgica 2 x 12/14+S bits; I/U;
PT100; Ni100; Thermo 1 Ent. p/ resist. 6ES7331-7KB02- 0AB0 Ent.
Analgica 2 x 12/14+S bits; I/U; PT100; Ni100; Thermo; para larga
faixa de temp. 1 Ent. p/ resist. 6ES7331-7KB82- 0AB0 Ent. Analgica
8 x 16 bits; I/U; isolada 6ES7331-7NF00- 0AB0 Ent. Analgica 4/8 x
16 bits; I/U; isolada 6ES7331-7NF10- 0AB0 Ent. Analgica 2 x HART
0/4-20 mA p/ IM153-2 6ES7331-7TB00- 0AB0 Ent. Analgica 8 x 16 bits
, PT100/200/1000 NI100/120/200/500/ 1000 6ES7331-7PF00- 0AB0 Ent.
Analgica 8 x 16 bits Thermopar Tipo B, E, J, K, L, N, R, S, T.
6ES7331-7PF10- 0AB0 Sada Analgica 2 x 12+S Bits; I/U 6ES7332-5HB01-
0AB0 Sada Analgica 2 x 11+S Bits; I/U; para larga faixa de temp.
6ES7332-5HB81- 0AB0 Sada Analgica 2 x 0-20 mA HART 6ES7332-5TB00-
0AB0 Sada Analgica 4 x 11+S Bits; I/U 6ES7332-5HD01- 0AB0 Sada
Analgica 8 x 6ES7332-5HF00-
24. 24 11+S Bits; I/U 0AB0 Sada Analgica 4 x 15 Bits; I/U;
isolada 6ES7332-7ND00- 0AB0 Ent. Analog. 4x 8 Bits; I/U + Sada
Analog. 2 x 8 Bits; U/I 6ES7334-0CE01- 0AA0 Ent. Analog. 4 x 12
Bits + Sada Analog. 2 x 12 Bits; 0-10V / PT100 2 EA p/ PT100
6ES7334-0KE00- 0AB0 Ent + Sai Analog 4AI, 2AO, 12 bits 0- 10V PT100
6ES7334-0KE80- 0AB0 Ent + Sai Analog 4I, 14 bits/4O, 11 ou 12 bits
6ES7335-7HG01- 0AB0 EXERCCIO Observe o cdigo de cada placa do CLP e
levante as caractersticas das placas a partir das tabelas das
pginas anteriores. Fonte Cdigo de catlogo: Tenso de entrada
nominal: Variao da tenso de entrada: Potncia de entrada: Corrente
de Sada: Fusvel: Corrente da fonte do usurio: Placa CPU Cdigo de
catlogo: Memria do usurio: Nmero de pontos de E/S: Mximo de E/S
analgicas (local): Tempo de Varredura do Programa / Kpalavra: Tempo
de varredura de E/S: Nmero Mximo de Chassis: Nmero mximo de mdulos
de E/S (local): Portas de Comunicao:
25. 25 Memria de Backup: Bateria para RAM: Consumo de corrente
da CPU: Placa 1 Cdigo de catlogo: Entrada ou sada: Digital ou
analgica: Nmero de entradas/sadas: Tipo AC ou DC: Tenso de operao:
Aplicaes:
26. 26 Placa 2 Cdigo de catlogo: Entrada ou sada: Digital ou
analgica: Nmero de entradas/sadas: Tenso de operao: Corrente Mxima
por Sada: Corrente Mxima por Mdulo: Tipo de Contatos: Aplicaes:
Placa 3 Cdigo de catlogo: Entrada ou sada: Digital ou analgica:
Nmero de entradas/sadas: Faixa de tenso/corrente de operao: Tempo
de atualizao: Resoluo mxima (bits): * Pacotes de Configurao
fornecidos juntamente com as placas. ** Necessrio o uso de
ferramentas de configurao (veja em SW) *** Cabos RS232C. Ver
Manuais e Acessrios **** Pacote de configurao disponvel com o
firmware, verifique em "S7-300 / outros" *****p/ CPU31X Nova Gerao,
CPU31XC, IM151
27. 27 Endereamento Bits, Bytes e Palavras Bit: Dgito Binrio
(BInary digiT) a menor quantidade de informao possvel. Tem dois
estados: 0 e 1. 0 (zero) corresponde a desligado, desativado, off,
aberto, apagado. Byte: Conjunto de 8 bits, que corresponde a 1
caractere: 1 letra, 1 nmero ou 1 smbolo grfico: < > , . : ? /
{ } [ ] + = - _ * & % $ # @ ! Palavra: Nmero de bits que podem
ser manipulados simultaneamente por um sistema. Na famlia SLC 500,
a palavra de 16 bits. Numerao das Placas / Slots Os Slots so
numerados da esquerda para direita, contando a partir de um. O slot
1 reservado para a fonte de alimentao, o slot dois para CPU e o 3
para o carto de comunicao. Os outros Slots so usados para cartes de
I/O. Caso haja mais de um rack, a numerao continua a partir do
ltimo slot do rack anterior. As placas assumem o nmero do slot onde
esto encaixadas.
28. 28 Endereamento de Entradas e Sadas Q125.0 Nmero da entrada
ou sada Nmero do Byte surgerido pelo programa S7. Tipo: I = entrada
Q = Sada Este exemplo mostra o endereo de uma sada digital
(on-off), a sada 0 da Byte 125. Caso a sada (ou entrada) fosse
analgica o endereo fica estabelecido da seguinte forma PQBX
(endereo do Byte), PQWX (para dois Bytes, X o endereo do primeiro
Byte) e PQDX (para quatro Bytes, X o endereo do primeiro Byte). O
mesmo procedimento feito para endereamento de entrada fsica (I) e
memria(M). Assim, substitui a letra Q pelas letras I e M quando
estiver referenciando a entradas fsicas e endereos de memria
respectivamente. Endereamento de Bits e Palavras Os endereos
identificam reas da memria RAM e so compostos de caracteres
alfanumricos separados por delimitadores. O ponto para acessar
bits. Exemplos: M100.7 um endereo de elemento, onde o ponto separa
o endereo do Byte de memria (100) do oitavo bit. MW100 enderea uma
posio de memria de 16 bits, onde 100 equivale ao primeiro bytes da
palavra (Word). 1.2.2. Constantes Use esse mtodo quando fornecer
constantes para parmetros da instruo. Para fornecer uma constante
hexadecimal: digite o valor hexadecimal seguido pela letra H
(Hexadecimal). Para fornecer uma constante binria: digite o valor
binrio seguido pela letra B (Binrio). Por exemplo: digite
1010111101B, o mostrador exibe o equivalente hexadecimal (02BDh).
Para fornecer uma constante decimal: digite o valor decimal.
29. 29 Diagrarma de pinagem para a CPU S7-314 IFM Diagrarma de
Pinagem da CPU 314 IFM Modos de Operao RumP modo programao Permite
alterao no programa que est sendo executado pelo CLP. Stop modo
remoto Desabilita todas as Sadas. No permite execuo de programas
residentes na CPU. RUN modo execuo Executa o programa. No permite
que o programa seja alterado. Habilita as Sadas. MRES Limpa as
Mmorias Limpa as memrias de usurios do CLP e faz o reset de falha
(deve ser pressionado durante 3 segundos aproximadamente).
30. 30 O modo de operao selecionado pela chave rotativa que
fica na frente da CPU. 2.6 Linguagens de Programaao de CLPs A norma
IEC 1131 visa normatizar os controladores lgicos programveis (CLP).
Essa norma composta de 5 partes: 1. Informaes gerais e
caractersticas dos CLPs. 2. Equipamentos eltricos e mecnicos
requeridos. 3. Linguagens de programao de CLPs. 4. Guia de auxlio
ao usurio no projeto de sistemas de automao. 5. Comunicao entre
CLPs de diferentes fabricantes. Neste material so mostrados os
aspectos bsicos do diagrama de contatos, ou diagrama escada (mais
comumente chamado de diagrama Ladder), por ser a linguagem de
programao de CLPs mais difundida no meio tcnico. mostrada tambm a
linguagem STL, de propriedade da SIEMENS, que, apesar de no seguir
a norma, a linguagem implementada que mais se aproxima do IL,
normatizada pela IEC 1131-3 (IEC, 1992). O STL foi escolhido para
ser utilizado neste trabalho por ser uma linguagem texto,
permitindo, assim, a gerao automtica do programa para o compilador
do CLP a partir de uma ferramenta computacional. J o Ladder, apesar
de no permitir tal gerao, segue a padronizao da norma IEC 1131-3.
3. Introduo a Liguagem Siemens 3.1 Ladder Um degrau do diagrama
Ladder (SIEMENS 1966a) composto por duas partes: a primeira, sempre
esquerda, representa uma expresso lgica. A segunda, direita, pode
representar um sinal de sada, uma memria ou um comando especial. Os
sinais de entrada e a leitura dos flags internos so representados
por duas barras paralelas, indicando contato eltrico caso o sinal
seja verdadeiro, ver figura abaixo. PRORunPRUS Stop Run MRes
31. 31 Sinal de entrada no diagrama Ladder. Duas barras
paralelas cortadas em diagonal representam a lgica inversa do sinal
Sinal de entrada inversa no diagrama Ladder. A lgica e representada
por dois sinais em srie, ou seja, caso um dos sinais seja falso, o
circuito aberto, tornando falso o sinal de sada. A figura abaixo
mostra a lgica e. Lgica e no diagrama Ladder. A lgica ou
representada por dois sinais em paralelo. Caso um dos sinais seja
verdadeiro, o circuito fechado, tornando verdadeiro o sinal de
sada. A figura abaixo mostra a lgica ou.
32. 32 Lgica ou no diagrama Ladder. Os sinais de sada e a
escrita nos textit{flags} internos so representados por dois
parnteses na parte direita do degrau. Caso haja sinal no circuito
(circuito fechado, ou lgica de entrada verdadeira) escrito o valor
verdadeiro na sada, caso contrrio escrito o valor falso. Nesse
caso, sempre ser escrito algum valor na varivel de sada. Atribuio
de valor a um sinal de sada em diagrama Ladder. Pode ser desejado,
porm, alterar o valor da sada apenas se a lgica de entrada for
verdadeira. Nesse caso, so utilizadas instrues de set e reset. A
instruo de set escreve o valor verdadeiro na sada se a lgica de
entrada for verdadeira. A instruo de reset escreve o valor falso na
sada se a lgica de entrada for verdadeira. A figura abaixo mostra a
representao das duas instrues. Instrues de set e reset A instruo
NOT inverte o valor lgico em um ponto do circuito. A figura abaixo
mostra a lgica
33. 33 Instruo NOT em diagrama Ladder.} Variveis ou instrues de
sada diferentes com lgicas de entrada iguais podem ser agrupadas em
paralelo em um mesmo degrau. A figura abaixo mostra a representao
da lgica: Representao da instruo NOT em LADER da equao acima.
Exemplo - representao em Ladder da lgica da equao Funes especiais
de comparao variam de fabricante para fabricante, porm so sempre
utilizadas na parte esquerda do degrau Ladder. Na figura tem-se
a
34. 34 comparao de dois inteiros. Caso o resultado seja
verdadeiro, o circuito fechado, caso contrrio o circuito aberto.
IN1 Igual IN2 IN1 Diferente IN2 IN1>IN2 Funo de comparao de
inteiros no diagrama Ladder. Da mesma maneira, os temporizadores
variam conforme o fabricante, mas tambm so utilizados na parte
esquerda do degrau. Porm, por possuirem uma entrada de habilitao,
nunca so o primeiro elemento do degrau, participando sempre de uma
lgica textbf{e}. Existem vrios tipos de temporizadores, dos quais o
mais utilizado o temporizador com retardo na ligao. Quando o sinal
aplicado na sua entrada verdadeiro, inicia-se a contagem do tempo.
No momento em que essa contagem atinge o valor pr-determinado, o
circuito fechado e o sinal de sada passa a ser verdadeiro, s
voltando a ser falso quando o sinal de entrada se torna falso. A
figura abaixo mostra a representao de um temporizador de 3 segundos
em diagrama Ladder, tendo como sinal de habilitao a entrada E e
como sada S. Logo aps ao diagrama LADDER mostramos tambm o grfico
relacionando os sinais de entrada e de sada para esse
temporizador.
35. 35 Temporizador no diagrama Ladder. Entrada X sada para um
temporizador com retardo na ligao. Operaes matemticas podem ser
realizadas utilizando instrues como ADD (adio) e SUB (subtrao).
Essas instrues so executadas somente quando o sinal em sua entrada
de habilitao for verdadeiro, e so utilizadas na parte direita do
degrau. Devem ser fornecidos dois valores constantes ou variveis
sobre os quais ser realizada a operao, e uma varivel na qual ser
armazenado o resultado. A instruo ADD na figura abaixo mostra a
soma da varivel J com a Constante 2, sendo o valor armazenado em
K.
36. 36 Instruo de soma em diagrama Ladder. 3.2 STL O
STL-Statement List uma linguagem texto para programao de CLPs,
desenvolvida pela SIEMENS. Essa linguagem prxima da IL- Instruction
List, padronizada pela norma IEC 1131-3, se diferenciando
basicamente pela sintaxe dos comandos. Segundo o prprio fabricante,
devido grande difuso da linguagem STL e posio de liderana no
mercado de CLPs, foi dada, no desenvolvimento das verses recentes,
prioridade compatibilidade com verses anteriores do prprio STL. Na
verdade, no existe ainda implementada nenhuma linguagem de
programao totalmente equivalente IL. Aqui apresentada a sintaxe
utilizada pela linguagem STL por ter sido utilizada para validao do
procedimento. Em STL, o resultado de uma operao lgica (Result of
Logic Operation) armazenado em um flag interno chamado RLO. Toda
operao subsequente realizada com o RLO. Por exemplo, a operao A B
(AND B) equivalente a Comparando-se com o diagrama Ladder, o RLO
equivalente tenso nos contatos aps cada elemento do circuito. O RLO
pode, ento, ativar ou desativar um sinal de sada, ou servir de
sinal de habilitao para uma instruo como um temporizador. O termo
first check (primeira contagem) indica que est sendo executada a
primeira instruo de uma lgica. Isso significa que uma nova operao
lgica se iniciou, e que o resultado (RLO) da operao lgica anterior
no ser executado. Isso torna sem importncia qual instruo (por
exemplo, e ou ou) est sendo executada como primeira instruo de uma
lgica escrita em STL.
37. 37 As operaes e e ou so feitas, respectivamente, pelas
instrues A e 0, que tm como argumento o nome da varivel. O valor do
RLO armazenado em uma varivel lgica (sada ou flag interno) atravs
da instruo "=". A figura abaixo mostra como pode ser escrita em STL
a operao Note que a primeira instruo tanto pode ser 0 B quanto AB.
Instrues ou e e em STL. As instrues "AN" e "ON" fazem,
respectivamente, as operaes e e ou com os valores inversos de seus
argumentos. A figura abaixo mostra a operao Instrues ou(valor
inverso) e e em STL. Instrues ou(inverso) e e em STL.
38. 38 As instrues de set e reset so representadas pelas letras
"S" e "R". A figura abaixo mostra essas instrues. Instrues de set e
reset em STL. Assim como em Ladder, variveis ou instrues de sada
diferentes com lgicas de entrada iguais podem ser agrupadas em um
mesmo bloco, utilizando o mesmo valor do RLO (veja exemplo).
Representao em STL a lgica da equao abaixo. A figura mostra a
representao da lgica da equao, mostrada em Ladder no exemplo acima
A instruo "NOT" inverte o valor do RLO. A figura abaixo mostra a
lgica
39. 39 Em instrues de comparao, utilizado o conceito de pilha,
em que os valores a serem comparados so armazenados na pilha atravs
da instruo "L" e, em seguida comparados atravs da instruo
apropriada. Na figura abaixo comparam- se dois inteiros e
armazena-se o resultado lgico da operao na sada "S". Instruo NOT em
STL Funo de comparao de inteiros em STL. Nos casos em que o
resultado da comparao deve passar por uma operao lgica, utilizado o
conceito de pilha de RLOs. A abertura de um parntese aps instrues
de operao de bits (ex. A(, O(, AN(, ON( etc) grava o valor atual do
RLO na pilha, inicia um novo RLO, executa as instrues seguintes e,
quando o parnteses fechado, executada a operao lgica entre o RLO
atual e o RLO da pilha. (Veja o exemplo). A figura mostra a
representao da lgica da equao, em que o flag "F" ativado se a
entrada "E" for verdadeira e o inteiro "J" for maior ou igual a
"2".
40. 40 Exemplo - representao em STL da lgica da equao acima
Cada tipo de temporizador possui uma instruo diferente, sendo "SD"
a instruo do temporizador com retardo na ligao. Essa instruo
continua (ou inicia) a contagem de tempo se o RLO for verdadeiro.
Antes da instruo "SD" necessrio armazenar na pilha (instruo "L") o
tempo associado ao temporizador. A figura mostra a representao de
um temporizador de 3 segundos em STL, tendo como sinal de habilitao
a entrada "E" e como sada "S". Observe-se que o valor do tempo
obedece ao formato ``"S5T#"'' seguido do valor propriamente dito.
Operaes matemticas como soma e subtrao so sempre executadas entre
os dois ltimos valores armazenados na pilha. O resultado da operao
armazenado na pilha, e pode ser transferido para uma varivel atravs
da instruo "T". A figura mostra a soma da varivel "J" com a
constante "2", sendo o valor armazenado em "K".
41. 41 Instruo de soma em STL.} Pode-se desejar executar uma
operao matemtica apenas se uma dada condio lgica for satisfeita.
Como as instrues "L" e "T" no so influenciadas pelo valor do RLO,
necessrio se utilizar uma instruo de salto condicional ("JNB"
saltar se RLO=falso) que provoca o desvio do fluxo do programa para
a instruo seguinte instruo verb"T", que deve ser identificada por
um {label}. Caso essa seja a ltima instruo de um bloco, salta-se
para a instruo "NOP 0" (no operation) que deve ser inserida aps a
instruo "T". A figura mostra um programa STL que, caso o valor da
entrada "E" seja verdadeiro, soma a varivel "J" com a constante "2"
e armazena o resultado em "K". Soma condicional em STL. 3.3 Traduo
entre as linguagens Todo programa escrito em Ladder pode ser
traduzido para STL. Contudo, por ser mais flexvel, nem sempre
possvel se traduzir um programa de STL para Ladder. Quando um
programa STL pode ser traduzido para Ladder e escrito em uma certa
formatao, o ambiente de programao STEP7 da SIEMENS capaz de fazer a
converso automaticamente. Porm isso geralmente torna o programa
maior e de execuo mais lenta.
42. 42 So mostrados, a seguir, alguns exemplos de programas em
Ladder e sua traduo para STL na forma otimizada e na forma que
permita sua converso para Ladder pelo STEP7. A figura abaixo mostra
os programas para a lgica da equao Equao Programas em Ladder e STL
O resultado da operao temporariamente armazenado no L0.0, que
utilizado em seguida para definir o valor de S1 e S2. A instruo BLD
102 no
43. 43 tem funo alguma, servindo simplesmente para possibilitar
a traduo do programa para Ladder. - Traduo de programa de Ladder
para STL.
44. 44 - Traduo de programa de Ladder para STL. Para que o
STEP7 traduza o programa para Ladder, necessrio que cada bloco de
operaes matemticas seja identificado por um label. 4. Instrues
avanadas da Siemens 4.1 Contador Crescente S_CU Com um flanco de
impulso positivo na entrada S, o contador setado com o valor da
entrada PV. Iniciando com 0 ou PV, o contador conta crescentemente
a cada vez que existe um flanco de impulso positivo na entrada CU.
A sada Q sempre 1, enquanto o valor de CV no for igual a 0. se
houver um flanco de impulso positivo na entrada R o contador
resetado, isto , o contador setado com o valor 0.
45. 45 Exemplo de um contador S_CU Contador decrescente S_CD
Com um flanco de impulso positivo na entrada S, o contador setado
com o valor da entrada SC. Iniciando com 0 ou SC, o contador conta
decrescentemente a cada vez que existir um flanco de impulso
positivo na entrada CD. A sada Q sempre 1, enquanto o valor CV no
for igual a 0. Se houver um flanco de impulso positivo na entrada R
o contador resetado, isto , o contador setado com o valor 0.
Exemplo de contador S_CD
46. 46 Up / Down Counter S_CUD Combinao de contadores crescente
e decrescente Exemplo de contador S_CUD 4.2 Instrues Matemticas
4.2.1 Exemplos de Casos para PLCs Allen-Bradley As Instrues
Matemticas consideram um par de valores e realizam a operao
desejada. O resultado colocado em uma localizao separada.
47. 47 Parmetros das Instrues Origem Endereos dos valores em
que a operao matemtica ser executada. Podem ser endereos de palavra
ou constantes de programa. Se a instruo tiver dois operandos
Origem, no possvel introduzir constantes de programa nos dois
operandos. Dest Endereo destino referente ao resultado da operao.
Adio (ADD) Adiciona o valor Origem A ao valor Origem B e armazena o
resultado no destino. A figura a seguir apresenta o formato da
instruo Subtrao (SUB) A instruo SUB subtrai o valor Origem B do
valor Origem A e armazena o resultado no destino (Dest). A figura a
seguir apresenta o formato da instruo Adicionar Origem A C5:5.ACC
Origem B 35 Dest N7:33 ADD Subtrair Origem A N7:10 Origem B 19 Dest
N7:33 SUB
48. 48 Multiplicao (MUL) A instruo MUL multiplica o valor
origem A pelo valor origem B e armazena o resultado no destino
(Dest). A figura a seguir apresenta o formato da instruo Diviso
(DIV) A instruo DIV divide o valor origem A pelo valor origem B e
armazena o resultado arredondado no destino (Dest). A figura a
seguir apresenta o formato da instruo Raiz Quadrada (SQR) Calcula a
raiz quadrada do valor Origem e coloca o inteiro resultante no
destino Dest. A figura a seguir apresenta o formato da instruo
Multiplicar Origem A T4:7.PRE Origem B 50 Dest N7:39 MUL Dividir
Origem A T4:21.ACC Origem B N7:73 Dest N7:39 DIV Raiz quadrada
Origem C5:10.ACC Dest N7:76 SQR
49. 49 Zeramento (CLR) Zera todos os bits de uma palavra A
figura a seguir apresenta o formato da instruo 4.2.2 Estudo de
Casos para PLCs Siemens EN = Habilita entrada. A instruo ser
executada se e somente se o RLO verdadeiro (RLO=1). ENO = Habilita
sada. A sada Enable output tem o mesmo estado de sinal que EN
(EN=ENO), a menos que tenha havido um erro durante a converso. Por
exemplo, a instruo DIV_I fornece ENO=0 quando se faz uma diviso por
zero. IN1 = Entrada 1 1. valor aritmtico da instruo IN2 = Entrada 2
2. valor aritmtico da instruo OUT = Sada - Resultado da operao
aritmtica Adio ADD_I Soma inteiros Adio de Inteiros ADD_DI Soma
inteiros duplos Limpar Dest N7:90 CLR
50. 50 Adio de inteiros duplos ADD_R Soam nmeros reais Adio de
Reais Subtrao SUB_I Subtrai inteiros Subtrao de Inteiros SUB_DI
Subtrai inteiros duplos Subtrao de Inteiros duplos SUB_R Subtrai
nmeros reais
51. 51 Subtrao de Reais Multiplicao MUL_I Multiplica Inteiros
Multiplicao de Inteiros MUL_DI Multiplica inteiros duplos
Multiplicao de Reais Duplos MUL_R Multiplica nmeros reais
52. 52 Multiplicao de Reais Diviso DIV_I Divide inteiros Diviso
de Inteiros DIV_DI Divide inteiros duplos Diviso de Duplo Inteiros
DIV_R Divide nmeros reais Diviso de Reais ABS_R Quando a entrada EN
e verdadeira, o processador pega o valor da posio de memria IN e
extrai o seu valor absoluto e armazena na posio OUT. A sada ENO
reproduz a mesma condio existente em ENO.
53. 53 Valor Absoluto SQR_R Eleva o valor armazenado em IN ao
quadrado e guarda na posio apontada por OUT. O quadrado de um Nmero
SQRT_R Extrai a raiz quadrada do valor armazenado em IN e guarda na
posio apontada por OUT. Raiz Quadrada. LN_R Determina o logaritmo
Neperiano do valor armazenado na posio de memria apontada em IN e
salva na posio de memria apontada por OUT. Logaritmo Neperiano.
EXP_R Calcula a exponencial de Neper do valor armazenado na posio
de memria apontada por IN e salva o resultado na posio apontada por
OUT.
54. 54 Funo Seno SIN_R Calcula o seno do valor armazenado na
posio de memria apontada por IN e salva o resultado na posio
apontada por OUT. Funo Cosseno COS_R Calcula o Cosseno do valor
armazenado na posio de memria apontada por IN e salva o resultado
na posio apontada por OUT. Funo Tangente TAN_R Calcula a Tangente
do valor armazenado na posio de memria apontada por IN e salva o
resultado na posio apontada por OUT. Arco Seno ASIN_R Calcula o
arco cujo seno o valor armazenado na posio de memria apontada por
IN e salva o resultado na posio apontada por OUT.
55. 55 Arco Cosseno ACOS_R Calcula o arco cujo cosseno o valor
armazenado na posio de memria apontada por IN e salva o resultado
na posio apontada por OUT. Arco Tangente ATAN_R Calcula o arco cujo
a tangente o valor armazenado na posio de memria apontada por IN e
salva o resultado na posio apontada por OUT. 4.3 Instrues de
Comparao 4.3.1 Estudo de Casos para PLCs da Allen-Bradley As
instrues de Comparao so usadas para testar pares de valores de
forma a condicionar a continuidade lgica de uma linha. Igual a
(EQU) Testa se dois valores so iguais. Se a Origem A e Origem B so
iguais, a lgica da linha verdadeira. Origem A deve ser um endereo.
Origem B pode ser uma constante do programa ou um endereo. A figura
a seguir apresenta o formato da instruo Igual a Origem A C5:1.ACC
Origem B 17 EQU
56. 56 Diferente (NEQ) Testa se o primeiro valor no igual ao
segundo. Se Origem A e Origem B so diferentes, a lgica da linha
verdadeira. Origem A deve ser um endereo. Origem B pode ser uma
constante do programa ou um endereo. A figura a seguir apresenta o
formato da instruo NEQ Menor que (LES) Testa se o primeiro valor
menor que o segundo. Se a Origem A menor que o valor da Origem B a
lgica da linha verdadeira. Origem A deve ser um endereo. Origem B
pode ser uma constante do programa ou um endereo. A figura a seguir
apresenta o formato da instruo Menor ou igual a (LEQ) Testa se o
primeiro valor menor ou igual ao segundo. Se o valor da Origem A
menor ou igual Origem B, a lgica da linha verdadeira. Origem A deve
ser um endereo. Origem B pode ser uma constante do programa ou um
endereo. A figura a seguir apresenta o formato da instruo No Igual
a Origem A 5:25.PRE Origem B 37 NEQ Menor que (A
57. 57 Maior que (GRT) Testa se o primeiro valor maior que o
segundo. Se o valor da Origem A maior que o valor da Origem B, a
lgica da linha verdadeira. Origem A deve ser um endereo. Origem B
pode ser uma constante do programa ou um endereo. A figura a seguir
apresenta o formato da instruo Maior ou igual a (GEQ) Testa se o
primeiro valor maior ou igual ao segundo. Se o valor da Origem A
maior ou igual ao valor da Origem B, a lgica da linha verdadeira.
Origem A deve ser um endereo. Origem B pode ser uma constante do
programa ou um endereo. A figura a seguir apresenta o formato da
instruo Maior que ou igual a (A>=B) Origem A N7:10 Origem B 12
GEQ Maior que (A>B) Origem A 4:19.ACC Origem B N7:12 GRT Menor
que ou Igual a (A IN2 Maior ou igual a(I para inteira, D para
inteiro duplo e R para reais) A instruo maior ou igual a habilita a
sada IN1 IN2 MOVE _ A instruo MOVE movimenta um Byte(8 bits),
Word(16 bits) ou DWord(32 bits) da posio apontada por IN para uma
outra apontada por OUT. Isto ocorre quando a entrada EN se encontra
habilitada. 61. 61 Smbolo da Instruo MOVE 4.4 Instrues de Controle
de Programa 4.4.1 Para CLP ALLEN-Bradley JMP [Saltar para Rtulo] e
LBL [Rtulo] Exemplo : JMP faz o processador saltar frente ou atrs
para a instruo de rtulo (LBL) correspondente e retomar a execuo do
programa a partir do rtulo. LBL o alvo da instruo JMP com o mesmo
nmero de rtulo. Voc deve programar essa instruo de entrada como a
primeira instruo de uma linha. LBL sempre avaliada como verdadeira
ou 1 lgico. Os nmeros de rtulos so nicos, isto , no podem ser
repetidos. Saltar frente para um rtulo reduz o tempo de varredura
do programa ao omitir um segmento do programa at que seja
necessrio. Saltar para trs permite que o controlador execute
repetidamente segmentos do programa. Mais de uma instruo JMP pode
saltar para o mesmo rtulo. Obs. Tenha cuidado ao usar a instruo JMP
para saltar para trs ou fazer loops em seu programa. Se voc fizer
loops muito demorados, o temporizador de controle pode exceder o
limite de tempo e causar uma falha no processador. Use um contador,
temporizador, ou registro de varredura do programa (S:3, bits 0-7)
para limitar o tempo gasto dentro de loops com instrues JMP/LBL.
PARMETROS: Digite um nmero decimal para o rtulo, de 0 a 999. Voc
pode colocar: ( JMP ) ] LBL 62. 62 At 256 rtulos para controladores
SLC em cada arquivo de subrotina. At 1000 rtulos para controladores
MicroLogix em cada arquivo de subrotina. 63. 63 EXEMPLO: 1.
Programa Semforo e Pisca-pisca utilizando JMP e LABEL A seleo do
funcionamento como semforo ou como pisca-pisca feita atravs de
chaves on- off 64. 64 4.4.2 Para CLP SIEMENS JUMP(Jump Within the
Block When 1) Pula para um determinado Rtulo(Label) quando o mesmo
executado. Quando inexiste condio para a sua execuo esta instruo
chamada de incondicional. Quando ele executado aps o programa
atender uma determinada condio, esta instruo chamada de Jump
condicional. Exemplo: 1- Jump Incondicional O CLP vai para a posio
CAS1 quando executa a Network 1. Ele no executar nenhuma Network
entre o Jump e o rtulo. 2- Jump Condicional Quando a condio I0.0
for verdadeira o CLP ir pular todas as linhas entre o Jump e o
rtulo(CAS1), executando as linhas subsequentes. 65. 65 JMPN(Jump if
Not)- Corresponde a negao do JMP. Esta instruo executa um pulo para
o Rtulo se a condio de entrada for falsa. Exemplo JMPN: Pula para o
rtulo aps quando a condio I0.0 for falsa Label(Rtulo) Identificador
da posio que ocorrer JMP. Para a colocao do nome do rtulo devemos
iniciar sempre com um caractere aphabtico. Smbolo do Label DESAFIO:
Crie um programa semforo e pisca-pisca utilizando JMP. O semforo
deve funcionar das 6 s 24 h e o pisca-pisca das 0 s 6 h,
automaticamente, a partir do relgio de tempo real do CLP. 66. 66
4.5 Chamada de Subirrotina 4.5.1 Para PLC Allen-Bradley SBR
[Subrotina] Exemplo: Uma subrotina serve para armazenar sees
repetitivas da lgica do programa que devem ser executadas a partir
de diversos pontos dentro de um projeto. Uma subrotina economiza
memria porque voc a programa apenas uma vez. Colocada como a
primeira instruo em um arquivo de subrotina, a instruo SBR
identifica o arquivo. Esse o nmero do arquivo usado na instruo JSR
para identificar o alvo para onde o programa deve saltar. Essa
instruo no tem bits de controle. Ela sempre avaliada como
verdadeira. A instruo deve ser programada como a primeira instruo
da primeira linha de uma subrotina. O uso dessa instruo opcional,
porm recomendado. AVISO: As sadas controladas de dentro de uma
subrotina permanecem no seu ltimo estado at que a subrotina seja
executada novamente. Salto para uma Subirrotina JSR [Saltar para
Subrotina] Exemplo: JSR uma instruo de sada que faz com que o
processador salte para o arquivo alvo da subrotina. Voc s pode
saltar para a primeira instruo em uma subrotina. Cada subrotina
deve ter um nmero de arquivo exclusivo (decimal, 3-255). Saltar
para Subrotina Nmero de Arquivo SBR U:5 JSR Subrotina SBR 67. 67
Aninhar subrotinas permite direcionar o fluxo do programa, do
programa principal para uma subrotina e da para outra subrotina. As
seguintes regras aplicam-se quando aninhar subrotinas:
Processadores Fixo e 5/01 - voc pode aninhar subrotinas at 4 nveis.
Processadores 5/02, 5/03, 5/04 e MicroLogix - voc pode aninhar
subrotinas em at 8 nveis. RET [Retorno da Subrotina] Exemplo: Essa
instruo de sada marca o final da execuo da subrotina ou o final do
arquivo de subrotina. Ela faz com que o processador retome a execuo
no arquivo do programa principal na instruo seguinte instruo JSR
onde ele saiu do programa. Se a seqncia de subrotinas aninhadas est
envolvida, a instruo faz com que o processador retorne a execuo do
programa para a subrotina anterior. Sem uma instruo RET, o comando
END (sempre presente na subrotina) retorna automaticamente a execuo
do programa para a instruo JSR no seu programa de contatos que a
chamou. 4.5.2 Chamada de Subirrotina para PLC SIEMENS Para chamada
de subirrotina O PLC da SIEMENS utiliza o Comando CALL_XX, onde XX
est representando o programa chamado. Por exemplo: CALL : Sem
parmetro, chama uma funo. CALL_FB : Chama um bloco de Funes( FB )
CALL_FC : Chama uma Funo(FC) CALL_SFB : Chama um sistema de FB
CALL_SFC: Chama um sistema de FC Call Sem Parmetros- Com a instruo
Call FC/SFC sem parmetros podemos chamar uma Funo ou um Sistema de
Funes que no vem com parmetros. Na seo de codificao de uma funo
(FC), voc na pode especificar qualquer parmetro do typo de Bloco_FC
como endereo para uma chamada condicional. Voc pode, contudo, um
parmetro do tipo Bloco_FC como o endereo de um bloco de funes (FB).
Ao executar esta instruo ocorrero as seguintes aes: Retorno RET 68.
68 O Endereo para retorno ao programa principal aps a execuo da
subirrotina ser salvo. Os dados so salvos. rea para armazenar os
dados locais da FC ou SFC. Smbolo da instruo sem Parmetro. CALL_FB
(Call FB Como Box) O smbolo depende da FB (se tem e quantos
parmetros existem). EN, ENO e o nome ou nmero da funo. Descrio
CALL_FB ou CALL_FC so executadas quando o estado do sinal EN 1
Smbolos Onde Teremos os seguintes Parmetros: 69. 69 EXEMPLO:
Programa Semforo e Pisca-pisca utilizando subrotinas JSR, SBR e
RET. A seleo do funcionamento como semforo ou como pisca-pisca
feita atravs de chaves on- off LAD 2 Arquivo Pricipal LAD 3
PISCA-PISCA 70. 70 LAD 4 SEMFORO 71. 71 DESAFIO: Crie um programa
Semforo e Pisca-pisca utilizando subrotinas a instruo Call e RET. O
semforo deve funcionar das 6 s 24 h e o pisca-pisca das 0 s 6 h,
automaticamente, a partir do relgio de tempo real do CLP. 72. 72
4.6 SCL Escala 4.6.1 Escala para CLP Allen-bradley Exemplo: Essa
instruo utilizada para escalar dados de mdulos analgicos e
convert-los para os limites prescritos pela varivel de processo ou
outro mdulo analgico. Por exemplo, use SCL para converter um sinal
de entrada de 4 a 20 mA para uma varivel de processo PID. Ou use
SCL para escalar uma entrada analgica para controlar uma sada
analgica. Quando as condies da linha so verdadeiras, essa instruo
multiplica a origem por uma taxa especificada e depois divide por
10000. O resultado arredondado adicionado a um valor de
deslocamento e colocado no destino. Equaes usadas no clculo do
valor a ser colocado no destino: Destino = (Origem x (taxa /
10.000)) + deslocamento Onde: Taxa = 10.000 x k (sada mxima - sada
mnima) (entrada mxima - entrada mnima) Deslocamento = sada mnima -
entrada mnima x taxa 10.000 Parmetros: Os valores devem estar entre
-32768 e +32767 para os seguintes parmetros. Origem - deve ser um
endereo de palavra. Taxa - (ou inclinao) um valor positivo ou
negativo. Pode ser uma constante de programa ou um endereo de
palavra. Deslocamento - pode ser uma constante de programa ou um
endereo de palavra. Destino - o endereo do resultado da operao.
Escala Origem I:9.1 Taxa [/10000] 4000 Deslocamento 100 Destino
N7:14 SCL 73. 73 EXEMPLO: Programa para realizar o controle on-off
da temperatura de um forno. A medio de temperatura realizada atravs
de um transmissor cuja sada no padro 4 a 20 mA (zero vivo). Este
transmissor calibrado para a faixa de 0 a 400o C (0 a 100%). O
aquecimento liga caso a temperatura caia at 300 o C e desliga se a
temperatura subir at 350 o C. Caso haja algum problema no
transmissor, o aquecimento desativado e um alarme acionado. O
transmissor simulado com o mdulo de entrada e sada analgica. Este
mdulo fornece tenses de 0 a 10 V. Portanto, ser utilizado o padro
de tenso da instrumentao de 1 a 5 V (0 a 100%) 74. 74 4.6.2 Escala
em CLP SIEMENS A funo SCALE leva um nmero inteiro(IN) e converte
para uma unidade de engenharia localizada entre um limite
inferior(Lo) e um limite superior(Hi). O resultado desta operao
escrito na sada OUT e usa a seguinte equao: LOLIMLOLIMHILIM KK
KINFLOAT OUT + = )(* 12 )1)(( [ As constants K1 e k2 so valores
baseadas nas seguites condies: 1 Bipolar k1=-27648.0 e k2=+27648.0.
2 - UNIPOLAR: K1 = 0.0 and K2 = +27648.0 Smbolo do SCALE 4.6.3
UNSCALE para CLP SIEMENS A funo UNSCALE leva um nmero real de
entrada (IN) em unidade de engenharia entre um limite
inferior(LoLIM) e um limite superior(HiLIM) e converte ele para
inteiro. Da seguinte forma. ( ) ( ) 1)12(*)( KKK LOLIMHILIM LOLIMIN
OUT + = Onde : 1 - BIPOLAR: A sada inteira estar entre 27648 e
27648, portanto, K1 = 27648.0 and K2 = +27648.0 2 - UNIPOLAR: A
sada inteira estar entre 0 e 27648, contudo, K1 = 0.0 e K2 =
+27648.0 75. 75 Smbolo do UNSCALE Crie um programa para realizar o
controle on-off do nvel de um tanque de 1000 m3 . A medio de nvel
realizada atravs de um transmissor cuja sada no padro 4 a 20 mA
(zero vivo). Este transmissor calibrado para a faixa de 0 a 1000 m3
(0 a 100%). A bomba que enche o tanque liga caso o nvel caia at 500
m3 e desliga se o nvel subir at 900 m3 . Caso haja algum problema
no transmissor, a bomba deve ser desativada e um alarme deve ser
acionado. O transmissor simulado com o mdulo de entrada e sada
analgica. Este mdulo fornece tenses de 0 a 10 V. Portanto, ser
utilizado o padro de tenso da instrumentao de 1 a 5 V (0 a 100%)
76. 76 5 INSTRUO PID Exemplo: Essa instruo de sada usada para
controlar variveis fsicas como temperatura, presso, nvel de lquido
ou vazo em malhas de controle de processo. A instruo PID
normalmente controla um malha fechada usando entradas de um mdulo
de entrada analgico e fornecendo uma sada para um mdulo de sada
analgico como uma resposta a uma varivel de processo mantida
efetivamente em determinado Set Point (ponto pr-programado). A
equao PID controla o processo enviando um sinal de sada ao atuador.
Quanto maior o erro entre o Set point e a entrada da PV (varivel de
processo), maior o sinal de sada e vice versa. Um valor adicional
(feed forward ou polarizao) pode ser adicionado sada de controle
como um patamar. O resultado do clculo PID (varivel de controle) ir
dirigir a varivel de processo que voc est controlando, para o Set
Point. 5.1 Conceito de PID Esse um exemplo de como opera uma malha
PID simples. um malha de controle de temperatura bsico. PID Bloco
de Controle N7:9 Varivel de Processo I:9.0 Varivel de Controle
N7:11 Comprimento do Bloco de Controle 23 Tela de Configurao 77. 77
E o diagrama genrico da malha de controle A equao PID controla o
processo enviando um sinal de sada para uma vlvula de controle.
Quanto maior o erro entre o Set Point e a entrada da varivel de
processo, maior o sinal de sada e vice versa. Um valor adicional
(feed-forward ou polarizao) pode ser adicionado sada de controle
como um patamar. O resultado do clculo PID (varivel de controle) ir
dirigir a varivel de processo, que voc est controlando, para o Set
Point. 5.2 A Equao PID A instruo PID usa o seguinte algoritmo: ++=
dt dPV TdEdt Ti EKcCV 1 )( 78. 78 As constantes de Ganho Padro so:
Termo Smbol o Faixa (Inferior para Superior) Ganho do Controlador
Kc 0,1 a 25,5 (sem dimenso) 0,01 a 327,67 (sem dimenso)* Tempo
Integral Ti 25,5 a 0,1 (minutos por repetio) 327,7 a 0,01 (minutos
por repetio)* Tempo Derivativo Td 0,01 a 2,55 (minutos) 0,01 a
327,67 (minutos)* * Aplica-se a faixas PID do 5/03 e 5/04 quando o
bit Redefinir Ganho (RG) ativado. O termo derivativo suaviza o
sinal atravs de um filtro passa-baixas. A frequncia de corte do
filtro 16 vezes maior que a frequncia de corte do termo derivativo.
5.3 Parmetros para o PID Allen-Bradley Normalmente, voc coloca a
instruo PID em uma linha sem lgica condicional. A sada permanece no
seu ltimo valor quando a linha falsa. O termo integral tambm zerado
quando a linha falsa. A instruo PID no permite valores de ponto
flutuante para nenhum de seus parmetros. Logo, se voc tentar mover
um valor de ponto flutuante para um dos parmetros PID (com a
instruo MOV, por exemplo), ocorre uma converso de ponto flutuante
para inteiro. Bloco de Controle - um arquivo que armazena os dados
necessrios para operar a instruo. O comprimento do arquivo fixo em
23 palavras e deve ser fornecido como um endereo de arquivo
inteiro. No grave em endereos de bloco de controle com outras
instrues no seu programa. Apenas o set point os seguintes
sinalizadores de instruo PID podem ser ativados ou zerados por seu
programa de contatos: SP (Set Point) Palavra 2 do Bloco de Controle
TM (bit de modo temporizado) Palavra 0 do Bloco de Controle, bit 0
AM (bit auto/manual) Palavra 0 do Bloco de Controle, bit 1 CM (bit
modo de controle) Palavra 0 do Bloco de Controle, bit 2 OL (bit
ativar limitao de sada) Palavra 0 do Bloco de Controle, bit 3 79.
79 AVISO! No altere o estado de nenhum valor de bloco de controle
PID a menos que voc entenda completamente sua funo e efeitos
relacionados em seu processo. Uma operao inesperada pode resultar
em possveis danos ao equipamento e/ou ferimentos pessoais. Dica:
Use um arquivo de dados exclusivo para seu bloco de controle PID
(N9:0, por exemplo). Isso evita reutilizao acidental dos endereos
do bloco de controle PID por outras instrues no seu programa.
Comprimento do Bloco de Controle - Especifica um arquivo inteiro,
por exemplo N7:0. O comprimento do arquivo fixo de 23 palavras.
Varivel de Processo PV - O endereo de elemento que armazena o valor
de entrada do processo. Esse endereo pode ser o local da palavra de
entrada analgica onde o valor do A/D de entrada armazenado. Esse
valor tambm pode ser um valor inteiro se voc preferir pr-escalar
seu valor de entrada para a faixa 0- 16383. Varivel de Controle CV
- O endereo de elemento que armazena a sada da instruo PID. A faixa
do valor de sada vai de 0 a 16383, com 16383 sendo 100% do valor
ON. Esse normalmente um valor inteiro e voc pode escalar a faixa de
sada PID para a faixa analgica particular que seu aplicativo
requerer. Tela de Instalao - clique duas vezes no item Tela de
Instalao para exibir uma tela que solicita a voc outros parmetros
para completar a programao da instruo PID. 5.4 Tela de Instalao PID
Ao Clicar Tela de Configurao na instruo PID, aparece um dilogo que
permite a entrada de parmetros adicionais. Os parmetros so
descritos aqui. Parmetro Faixa vlida Descrio Kc Ganho do
Controlador 0 at +327,67* Este o ganho proporcional da equao PID.
Ti Tempo Integral 0 at +327,67* minutos Este o tempo integral da
equao PID. Td Tempo Derivativo 0 at +327,67* minutos Este o tempo
derivativo da equao PID. Atualizar Circuito 0.01 a 10.24 segundos
Este o intervalo de tempo entre clculos PID. O valor indicado em
intervalos de 0,01 segundos. Geralmente, digite um tempo de
atualizao de circuito entre cinco e dez vezes mais rpido que o
perodo natural de carga. No modo STI, este valor precisa equivaler
ao valor do intervalo de tempo STI S:30. Modo Selecione E = SP - PV
(Ao Ao Reversa causa um aumento no CV de sada quando o PV de
entrada menor que 80. 80 Controle Reversa) ou E = PV - SP (Ao
Direta) o set point SP (por exemplo, em uma aplicao de
aquecimento). Ao direta causa um aumento no CV de sada quando o PV
de entrada maior que o set point SP (por exemplo, em uma aplicao de
resfriamento). Controle PID Selecione Auto ou Manual Auto indica
que o PID controla a sada. Manual indica que o usurio define a
sada. Modo de Data/Hora Selecione Temporizado ou STI Com o modo
Temporizado selecionado, o PID atualiza a sua sada a intervalos
especificados no parmetro de atualizao de circuito. Ao usar o modo
temporizado, o tempo de varredura do seu processador deve ser pelo
menos dez vezes mais rpido do que o tempo de atualizao de circuito
para evitar imprecises na temporizao ou distrbios Com o modo STI
selecionado, o PID atualiza a sua sada a cada varredura da
subrotina STI. Ao selecionar STI, a instruo PID deve ser programada
em uma sub-rotina de STI de interrupo, e a rotina STI deve possuir
um intervalo de tempo que equivale definio do parmetro de atualizao
do circuito PID. Defina o perodo STI na palavra S:3.0 Limitar Sada
CV Selecione Sim ou No Selecionar Sim limita a sada aos valores
mnimo e mximo. Selecionar No no aplica limites sada. Zona Morta DB
0 at o mximo escalado, ou entre 0 e 16383 quando no existe escala.
A zona morta se estende acima e abaixo do set point especificado
por voc. A zona morta s tem efeito depois que a varivel de processo
PV cruza o Set Point. * Nota: O bit RG deve ser ativado para
aceitar valores acima de 25,5 quando utilizar processadores 5/03 e
5/04. Entradas Parmetro Faixa vlida Descrio Valor de Ref. SP 1 e
16383, ou dentro da faixa vlida de unidades de engenharia Set Point
ou o ponto de controle desejado da varivel do processo. Val. Ref.
MX (Vmx) -32768 at +32767 Se o Set Point carregar unidades de
engenharia, isto corresponde ao valor do Set Point em unidades de
engenharia quando a entrada de controle for 16383 (100%). 81. 81
Val. Ref. MN (Vmn) -32768 at +32767 Se o Set Point carregar
unidades de engenharia, ento este parmetro corresponde ao valor do
set point em unidades de engenharia quando a entrada de controle
for 0 (0%). Varivel de Processo PV (No editvel, s para visualizao)
Este o valor da varivel de processo (a entrada analgica) em
unidades de engenharia Sada Parmetro Faixa vlida Descrio Controlar
Sada CV (%) 0 a 100 % Permite alterar a varivel de controle de sada
somente se voc tiver selecionado o modo manual. Sada Mn (CV%) 1 a
99 % Se CV cair abaixo deste valor mnimo, o bit de alarme de limite
inferior (LL) de sada ser ativado. Se Limitar Sada CV for Sim, o
valor que voc digitar ser a porcentagem mnima de sada que a varivel
de controle CV atingir. Sada Mx. (CV%) 1 a 99 % Se CV exceder este
valor mximo, o bit de alarme de limite superior (UL) de sada ser
ativado. Se Limitar Sada CV for Sim, o valor que voc digitar ser a
porcentagem mxima de sada que a varivel de controle CV atingir.
Erro de Escala SE (No editvel, s para visualizao) Este o erro da
equao PID ( E = SP - PV ou E = PV - SP ). 5.5 Bloco de Controle PID
Formato do Bloco de Controle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Palavra 0 E N D N P V S P LL UL D B D A TF S C R G O L C M A M TM
Palavra 1 Sub Cdigo de Erro PID (MSB) Palavra 2 Ponto Pr-programado
SP Set Point Palavra 3 Ganho Kc Palavra 4 Tempo Integral Ti Palavra
5 Tempo Derivativo Td Palavra 6 Polarizao Frente (bias) 82. 82
Palavra 7 Set Point Mximo (Smax) Palavra 8 Set Point Mnimo (Smin)
Palavra 9 Banda morta Palavra 10 APENAS PARA USO INTERNO - NO
ALTERE!! Palavra 11 Sada Mxima Palavra 12 Sada Mnima Palavra 13
Atualizar Circuito Palavra 14 Varivel de Processo Escalada Palavra
15 Erro de Escala SE Palavra 16 CV% de Sada (0-100%) Palavra 17
Soma Integral MSW Palavra 18 Soma Integral LSW Palavra 19 APENAS
PARA USO INTERNO - NO ALTERE!! Palavra 20 APENAS PARA USO INTERNO -
NO ALTERE!! Palavra 21 APENAS PARA USO INTERNO - NO ALTERE!!
Palavra 22 APENAS PARA USO INTERNO - NO ALTERE!! AVISO! No altere o
estado de nenhum valor de bloco de controle PID a menos que voc
entenda completamente sua funo e efeitos relacionados em seu
processo. Uma operao inesperada pode resultar em possveis danos ao
equipamento e/ou ferimentos pessoais. 5.6 Indicadores de Status Os
seguintes indicadores de status associados com a instruo PID
aparecem como Marcadores do lado direito da tela de Configurao PID.
Acesse esta tela ao clicar Tela de Instalao na instruo PID. Bits
que podem ser ativados ou desativados por instrues no programa de
contatos. TM Bit de Modo de Data/Hora (palavra 0, bit 0) Especifica
o modo PID. 1 para o modo TEMPORIZADO e 0 para o modo STI. AM Bit
Auto/Manual (palavra 0, bit 1) Especifica a operao automtica quando
0 e a operao manual quando 1. CM Bit de Modo de Controle (palavra
0, bit 2) Este bit 0 se o controle for E=SP-PV. 1 se o controle for
E=PV-SP. OL Bit de Limitar Sada Ativado (palavra 0, bit 3) Este bit
deve ser 1 se voc optar por limitar a varivel de controle. Bits
configurados pelo usurio RG Bit Redefinir Ganho (palavra 0, bit 4)
Quando 1, este bit faz com que o valor de Ti e Kc sejam aumentados
por um fator de 10 (o multiplicador de Kc e Ti muda para 0,01). 83.
83 Quando 0, este bit permite que Ti e Kc usem as mesmas faixas do
PID do 5/02 (multiplicador de Ti e Kc de 0,1). Note que o
Multiplicador de Td no afetado por esta seleo DA Bit de Ao
Derivativa (palavra 0, bit 7) Quando 1, os clculos do termo
derivativo da equao do PID so feitos sobre o erro. Quando 0, os
clculos usam a PV. Bits que apenas indicam condies da instruo PID
SC Sinalizador de Escala de Set Point (palavra 0, bit 5) Quando 1
indica que os valores mnimo e mximo do Set Point no foram
especificados TF Tempo de Atualizao de Circuito Muito Rpido
(palavra 0, bit 6) Este bit ativado pelo algoritmo PID se o tempo
de atualizao de circuito especificado no puder ser atingido pelo
programa (devido a limitaes de tempo de varredura). DB Erro de Zona
Morta (palavra 0, bit 8) Ativado quando a varivel de processo est
dentro da faixa da zona morta ao cruzar com 0 UL Alarme de Sada,
Limite Superior (palavra 0, bit 9) Ativado quando CV de sada de
controle calculado excede o limite superior de CV. LL Alarme de
Sada, Limite Inferior (palavra 0, bit 10) Ativado quando CV de sada
de controle calculado menor que o limite inferior de CV. SP Set
point Fora da Faixa (palavra 0, bit 11) Ativado quando o set point
excede o valor mximo escalado ou menor que o valor mnimo escalado.
PV Varivel de Processo Fora da Faixa (palavra 0, bit 12) Ativado
quando a varivel de processo no escalada (ou bruta) excede 16383 ou
menor que zero. DN PID Concludo (palavra 0, bit 13) Este bit
ativado em varreduras onde computado o algoritmo PID. computado
taxa de atualizao do circuito. EN PID Ativado (palavra 0, bit 15)
Este bit ativado enquanto a linha da instruo PID estiver ativada
5.7 Bloco PID para PLCs SIEMENS. O SFB41/FB41 Cont_C usado no CLP
SIMATIC S7 para controlar processo com variveis de entrada e sadas
contnuas. Este controlador pode ser parametrizado facilmente atravs
da farrementa disponvel no pacote Simatic Step7 chamado de Assign
PID Control Parameter. Descrio Considerando que as funes no
setpoint e desvio de processo, este PID implementa um controlador
PID completo com variveis manipuladas de sada e as opes de
manipulaes das variveis manualmente. Abaixo faremos uma breve
descrio de algumas sub-funes: 84. 84 Desvio do SetPoint o setpoint
uma varivel de entrada formatada como ponto flutuante na entrada
SP_INT. Desvio da varivel de Processo - A varivel do processo pode
ser entrada no perifrico no formato de ponto flutuante. O bloco
CRP_IN um bloco que converte esta varivel para o formato de -100% a
+100%. a PV_NORM normaliza a sada de CRP_IN. Sinal de Erro a
diferena entre o setpoint e a varivel do processo. Para suprimir
pequenos distrbios aplicado a um supressor de rudo chamado de
DEADBAND. Se o parmetro DEADB_W=0, o DEADBAND desligado. Algoritmo
PID - A ao integral (INT) e derivativa (DIF) so conectadas em
paralelo e pode ser ativada e podem ser ativadas e desativadas
individualmente. Isto permite configurarmos este elemento com as
aes P, PI, PD e PID. As condies Integral ou derivativa pura so
tambm possveis. tambm possvel configurar este elemento para
trabalhar no modo manual. Neste modo a varivel manipulada e
corrigida manualmente . A parte integral e ajustada internamente
LMN_I-LMN_P-DISV e a parte derivativa para 0. isto significa que no
haver alterao brusca na sada do controlador quando passarmos para o
modo automtico. Valores Manipulados podem ser limitados usando a
funo LMNLIMIT. Bits de sinalizao indicam quando o limite excedido.
LMN_FAC default 1 e LMN_OFF default 0. O valor de manipulado tambm
disponvelno formato do perifrico. O CPR_OUT converte o valor
limitado para um valor do perifrico. Inicializao Este bloco PID
possui uma rotina de inicializao que roda quando o parmetro COM_RST
est em 1. na inicializao , o integrador ajustado para o valor
inicial I_ITVAL. Todas as outras sadas so ajustadas para os seus
valores default. Abaixo apresentamos o diagrama em bloco deste PID,
85. 85 86. 86 EXEMPLO: Programa para realizar o controle PID da
temperatura de uma caldeira. A medio de temperatura realizada
atravs de um transmissor cuja sada no padro 4 a 20 mA (zero vivo).
Este transmissor calibrado para a faixa de 0 a 100o C (0 a 100%). O
operador pode selecionar o modo de operao do controle entre
automtico ou manual atravs de uma chave on-off. O transmissor e o
elemento final de controle so simulados com o mdulo de entrada e
sada analgica. Este mdulo fornece tenses de 0 a 10 V(entrada
analgica) e mede tenses de 0 a 10 V sobre um resistor de 250 (sada
analgica). Portanto, ser utilizado o padro de tenso da instrumentao
de 1 a 5 V (0 a 100%). 87. 87 DESAFIO: No programa exemplo da
instruo PID, acrescente as instrues para, caso haja algum problema
no transmissor, desligar o aquecimento e soar um alarme. Acrescente
tambm as instrues para o operador possa alterar o Set Point atravs
de uma chave codificadora (Thumbwheel), simulada atravs de chaves
on-off. 6 Movimentao de Dados As instrues de movimentao de dados so
instrues de sada, ou seja, s so executadas quando as condies da
linha so verdadeiras. 6.1 Copiar Arquivo 6.1.1 Copiar arquivo CLP
Allen-Bradley Exemplo Quando as condies da linha so verdadeiras
para essa instruo de sada, um arquivo de origem definido pelo
usurio copiado para um arquivo destino. Os elementos de origem e
destino podem ser de um tipo diferente, mas o tipo de arquivo de
destino determina quantas palavras de dados sero transferidas.
Parmetros Origem - o endereo do arquivo voc deseja copiar. Use o
indicador de arquivo (#) no endereo. Destino - o endereo inicial
onde o arquivo de origem copiado. Use o indicador de arquivo (#) no
endereo. Comprimento - o nmero de elementos no arquivo que voc
deseja copiar. Pode ser especificado um comprimento mximo de 128
palavras. Copiar Arquivo Origem #B3:80 Destino #B3:20 Comprimento
23 COP 88. 88 6.1.2 Copia arquivo Pelo CLP SIEMENS(FC81). A funo
IBLKMOV usada para mover um bloco de dados consistindo de bytes,
palavra(W), inteiros(I), palavras duplas(DW) ou Duplo inteiro(DI)
de um bloco origem para um bloco destino. O nmero de elementos para
ser movido determinado belo comprimento (LENGTH) e o tamanho do
arquivo determinado pelo tipo de dado. O (S_DATA) e o (D_DATA)
apontam para o local de inicio do movimento da origem e destino dos
dados. 6.2 Preencher Arquivo 6.2.1 Para CLP Allen-Bradley(FLL)
Exemplo: Essa instruo de sada preenche as palavras de um arquivo
com um valor da origem. Os elementos so preenchidos em ordem
crescente at alcanar o nmero de elementos (o comprimento) ou at
alcanar o ltimo elemento do arquivo de destino, o que ocorrer
primeiro. Preencher Arquivo Origem 80 Destino #C5:0 Comprimento 16
FLL 89. 89 O tipo de arquivo de destino determina o nmero de
palavras por elemento que a instruo transfere. Por exemplo, se o
tipo de arquivo de destino for contador e o tipo de arquivo de
origem for inteiro, trs palavras inteiras so transferidas para cada
elemento no arquivo tipo contador. Nenhuma converso de dados ocorre
se os arquivos de origem e de destino so de tipos diferentes; use o
mesmo tipo de arquivo para os dois. Parmetros: Origem - a constante
de programa ou endereo do elemento. O indicador de arquivo (#) no
necessrio para um endereo de elemento. Destino - o endereo do
arquivo de destino. A instruo grava sobre quaisquer dados j
armazenados no destino. Comprimento - o nmero de elementos no
arquivo que voc quer preencher. voc pode especificar um comprimento
mximo de 128 palavras. 6.2.2 Preenchimento para CLP SIEMENS(SFC21)
Com esta instruo voc pega um determinado contedo e colo em outro at
que a memria destino esteja completamente Cheia. Exemplo de um
comando FILL 90. 90 6.3 Deslocar Bit Direita e Deslocar Bit
Esquerda 6.3.1 Deslocar Bit para o CLP Allen-bradley Exemplo: Em
cada transio desligado-para-ligado na entrada, essa instruo de sada
carrega um bit de dados em um bloco de bits, desloca o bloco para a
direita e descarta o bit final . Exemplo: Em cada transio
desligado-para-ligado na entrada, essa instruo de sada carrega um
bit de dados em um bloco de bits, desloca o bloco para a esquerda e
descarta o bit final . Um exemplo do uso dessas instrues acompanhar
garrafas em uma linha de engarrafamento onde cada bit representa
uma garrafa. ( EN ) ( DN ) Deslocar Bit Direita Arquivo #B3:7
Controle R6:4 Endereo do Bit B3/27 Comprimento 8 BSR ( EN ) ( DN )
Deslocar Bit Esquerda Arquivo #B3:7 Controle R6:5 Endereo do Bit
B3/2 Comprimento 4 BSL 91. 91 Parmetros Arquivo - esse o endereo do
bloco de bits que voc deseja deslocar. Voc deve usar o indicador de
arquivo (#) no endereo do bloco de bits. . Voc deve iniciar o bloco
no limite do elemento de 16 bits, por exemplo, use o bit 0 do
elemento Nm1, 2, 3 etc. Controle - Esse o endereo exclusivo da
estrutura de controle (48 bits, 3 palavras de 16 bits) na rea de
controle da memria que armazena os bits de status da instruo, o
tamanho do bloco (em nmero de bits), e o apontador do bit
(atualmente no em uso). O elemento de controle: 15 14 13 12 11 10 9
8 7 6 5 4 3 2 1 0 Palavra 0 E N D N E R U L No Usado Palavra 1
Tamanho do bloco de bits (nmero de bits) Palavra 2 Apontador do Bit
(atualmente no em uso) Bits de Status da Palavra de Controle UL
(descarregar) bit de sada do bloco aps o deslocamento. ER (erro)
indica que um erro ocorreu, como um nmero negativo para o
comprimento ou posio DN (pronto) indica que um deslocamento foi
realizado. EN (ativar) ativado quando a linha de entrada passa de
falso para verdadeiro. Endereo do Bit - o local do bit que ser
adicionado ao bloco. Comprimento - o nmero total de bits a ser
deslocado. Podem ser at 2048 para o SLC e at 1680 para o MicroLogix
1000 6.3.2 Desloca Bits para o CLP SIEMENS Voc pode usar a instruo
Shift para mover o contedo da entrada IN bit a bit para direita ou
esquerda. Deslocar n bits para a esquerda multiplica o contedo de
IN por 2 elevado a n ( )n IN 2* deslocar n bits para a direita
significa dividir o contedo de IN por 2 elevado a n n IN 2 Por
exemplo, se voc desloca o equivalente a 3 em binrio, para esquerda
de 3 bits,voc obtm o equivalente a 24 em decimal. Si voc desloca o
equivalente a 16 92. 92 em binrio, 2 bits para direita , voc obtm o
equivalente a 4 em decimal. O nmero que voc coloca a entrada N
indica o nmero de bits a ser deslocado. A posio que ficar vaga aps
o deslocamento preenchido com o bit que representar o sinal do
nmero(0 para positivo ou 1 para negativo). O valor do ltimo bit
deslocado armazenado dentro do bit CC1 na palavra de status. O bit
CCO e o OV da palavra de status levado para 0. voc pode o usar a
instruo de JUMP para avaliar o bit CC1. As seguintes instrues de
SHIFT esto disponveis: SHR_I : Desloca um nmero inteiro para
direita. SHR_DI : Desloca um inteiro duplo para direita. SHL_W :
Desloca para esquerda uma palavra. SHR_W : Desloca para direita uma
palavra. SHL_DW : Desloca para esquerda uma palavra dupla. SHR_DW :
Desloca uma palavra Dupla para direita. Smbolos para a instruo
Shift Exemplo de um Deslocamento para Direita 93. 93 EXEMPLO:
Programa que detecta e descarta garrafas com a boca ou o fundo
quebrados em uma linha de engarrafamento, utilizado as instrues BSR
ou BSL. Os sensores de garrafa (I:1/5) e de boca de garrafa (I:1/9)
so simulados com chaves on-off e o atuador de descarte simulado com
uma lmpada. 94. 94 DESAFIO: Acrescente, no programa exemplo de
movimentao de dados, as instrues que realizem a contagem do nmero
de garrafas quebradas, acionando um alarme quando este nmero
atingir 20 unidades. 95. 95 ANEXO 1 96. 96 SISTEMAS DE NUMERAO.
Todos ns, quando ouvimos pronunciar a palavra nmeros,
automaticamente a associamos ao sistema decimal com o qual estamos
acostumados a operar. Este sistema est fundamentado em certas
regras que so bases para qualquer outro. Vamos, portanto, estudar
estas regras e aplic-las aos sistemas de numerao binria, octal e
hexadecimal. Estes sistemas so utilizados em computadores digitais,
circuitos lgicos em geral e no processamento de informaes dos mais
variados tipos. O nmero decimal 573 pode ser tambm representado da
seguinte forma: 57310 = 500 + 70 + 3 ou 57310 = 5 x 102 + 7 x 101 +
3 x 100 Isto nos mostra que um dgito no sistema decimal tem, na
realidade, dois significados. Um, o valor propriamente dito do
dgito, e o outro o que esta relacionado com a posio do dgito no
nmero (peso). Por exemplo: o dgito 7 no nmero acima representa 7 x
10, ou seja 70, devido a posio que ele ocupa no nmero. Este
principio aplicvel a qualquer sistema de numerao onde os dgitos
possuem "pesos", determinados pelo seu posicionamento. Sendo assim,
um sistema de numerao genrico pode ser expresso da seguinte
maneira: N = dn. Bn +...+ d3.B3 + d2.B2 + dl.B1 + d0.B0 Onde: N =
Representao do nmero na base B dn = Dgito na posio n B = Base do
sistema utilizado n = Valor posicional do dgito por exemplo, o
nmero 1587 no sistema decimal representado como: N = d3.B3 + d2.B2
+ dl.B1 + d0.B0 158710 = 1.103 + 5.102 + 8.101 + 7.100 Sistema de
Numerao Binrio O sistema binrio utiliza dois dgitos (base 2), para
representar qualquer quantidade. De acordo com a definio de um
sistema de numerao qualquer, o nmero binrio 1101 pode ser
representado da seguinte forma: 11012 = l x 22 + l x 22 + 0 x 21 +
l x 20 97. 97 11012 = 8 + 4 + 0 + l = 1310 Note que os ndices foram
especificados em notao decimal, o que possibilita a converso
binria-decimal como descrito acima. Atravs do exemplo anterior,
podemos notar que a quantidade de dgitos necessrios para
representar um nmero qualquer, no sistema binrio, muito maior
quando comparada ao sistema decimal. A grande vantagem do sistema
binrio reside no fato de que, possuindo apenas dois dgitos, estes
so facilmente representados por uma chave aberta e uma chave
fechada ou, um rel ativado e um rel desativado, ou, um transistor
saturado e um transistor cortado; o que torna simples a implementao
de sistemas digitais mecnicos, eletromecnicos ou eletrnicos. Em
sistemas eletrnicos, o dgito binrio (0 ou 1) chamado de BIT,
enquanto que um conjunto de 8 bits denominado BYTE. Converso Binrio
- Decimal A converso de um nmero do sistema binrio para o sistema
decimal efetuada simplesmente adicionando os pesos dos dgitos
binrios 1, como mostra o exemplo a seguir a) 1 1 0 1 02 b) 1 1 0 0
1 0 02 Soluo: a) 1 1 0 1 02 = 1.24 + 1.23 + 0.22 + 1.21 + 0.20 1 1
0 1 02 = 16 + 8 + 0 + 2 + 0 1 1 0 1 02 = 2610 b) 1 1 0 0 1 0 02 =
1.26 + 1.25 + 0.24 + 0.23 + 1.22 + 0.21 + 0.20 1 1 0 0 1 0 02 = 64
+ 32 + 0 + 0 + 4 + 0 + 0 1 1 0 0 1 0 02 = 10010 Converso Decimal -
Binrio Para se converter um nmero decimal em binrio, divide-se
sucessivamente o nmero decimal por 2 (base do sistema binrio), at
que o ltimo quociente seja 1. Os restos obtidos das divises e o
ltimo quociente compem um nmero binrio equivalente, como mostra o
exemplo a seguir. Converter os seguintes nmeros decimais em binrio.
a) 2310 b) 5210 98. 98 Soluo: logo: a) 23 2310 = 1 0 1 1 12 b) 52
5210 = 1 1 0 1 0 02 Complemento de 2 Na maioria dos sistemas
digitais, a operao de subtrao efetuada atravs da representao de
nmeros negativos usando complemento de 2. Por exemplo, a operao 7 -
5 pode ser representada como sendo 7 + (-5). Observe que, na
segunda representao, a operao efetuada uma adio de um nmero
positivo com um negativo. O complemento de 2 um nmero binrio obtido
adicionando-se l ao complemento de 1 do mesmo. O complemento de 1
obtido simplesmente invertendo-se os dgitos que formam o nmero.
Exemplo: Calcule o 20 complemento dos seguintes nmeros binrios. a)
1 0 0 12 b) 1 1 0 12 S