2. 8
SUMÁRIO
Apresentação
1. Controlador Lógico Programável (Allen Bradley SLC 500) ............................................... 7
1.1 Componentes do Hardware ................................................................................................. 7
1.1.1 Características da Família SLC 500 ............................................................................ 7
1.1.2 Fontes de Chassis ........................................................................................................ 9
1.1.3 Módulo de Entradas e Saídas ...................................................................................... 10
1.2 Endereçamento ................................................................................................................... 13
1.2.1 Partes de um endereço ................................................................................................. 13
1.2.2. Constantes .................................................................................................................. 13
1.3. Modos de Operação ............................................................................................................ 14
2. Software de Programação ..................................................................................................... 14
2.1 Criação de um projeto ......................................................................................................... 14
2.1.1 Criar tabela de dados ................................................................................................... 15
2.2 Definindo chassis e módulos ............................................................................................... 17
3. Instruções de Controle de Programa...................................................................................... 18
3.1 JMP [ Saltar para rótulo ] e LBL [Rótulo] .......................................................................... 18
3.2 SBR [Subrotina] .................................................................................................................. 20
3.3 JSR [Saltar para Subrotina] ................................................................................................. 20
3.4 RET [Retorno da Subrotina] .............................................................................................. 21
4. Endereçamento Indexado ....................................................................................................... 24
5. Instruções com Máscara.......................................................................................................... 27
5.1 MEQ [Comparação Mascarada] .......................................................................................... 27
5.2 MVM [Mover com Máscara] .............................................................................................. 28
5.3 TOD [ Converter para BCD ] ............................................................................................. 29
5.4 FRD [Converter de BCD para inteiro ] ............................................................................... 30
6. Entradas e Saídas Analógicas ................................................................................................. 33
6.1 Entradas e Saídas Analógicas .............................................................................................. 33
6.2 SCL – Escala ....................................................................................................................... 34
7. Instrução PID ........................................................................................................................... 37
7.1 Conceito de PID .................................................................................................................. 38
7.2 A Equação PID .................................................................................................................... 39
7.3 Tela de Instalação PID ........................................................................................................ 41
7.4 Bloco de Controle PID ........................................................................................................ 43
7.5 Indicadores de Status ........................................................................................................... 44
8. Comunicação em Rede ............................................................................................................ 48
8.1 MSG [Ler/Gravar Mensagem ] ........................................................................................... 48
8.2 SVC [Comunicação de Serviço] ......................................................................................... 50
9. Movimentação de Dados ......................................................................................................... 53
9.1 COP[Copiar Arquivo] ......................................................................................................... 53
9.2 FLL [Preencher Arquivo] .................................................................................................... 54
9.3 BSR [ Deslocar Bit à Direita ] e BSL [Deslocar Bit à Esquerda ] ..................................... 55
9.4 Bits de Status da Palavra de Controle.................................................................................. 56
10. Instruções Matemáticas Avançadas .................................................................................... 57
10.1 SCP [ Escala com Parâmetros ] ......................................................................................... 58
10.2 ABS [ Absoluto ou Módulo] ............................................................................................. 59
10.3 Funções Trigonométricas : Seno, Cosseno e Tangente ..................................................... 60
3. 9
10.4 LN [ Logaritmo Natutal ] E LOG [ Logatrítmo Base 10] ................................................. 61
10.5 XPY [ X elevado à Potência de Y ] ................................................................................... 61
10.6 CPT [ Computar ] .............................................................................................................. 62
ANEXOS
Sistemas Binários ..................................................................................................................... 63
Referências.................................................................................................................................... 73
4. 10
1. CONTROLADOR LÓGICO PROGRAMÁVEL SLC 500
1.1. COMPONENTES DO HARDWARE
1.1.1 CARACTERÍSTICAS DA FAMÍLIA SLC 500
Processador.
Memória do
usuário
Número de
pontos de
E/S
Máximo de E/S
analógicas
(local)
Tempo de
Varredura do
Programa/
Kpalavra
Tempo de
varredura de E/S
SLC 500 (1747-L20) 1K instruções
84 total
(local) 4 8 ms (tip) 2.6 ms (tip)
SLC 500 (1747-L30) 1K instruções
94 total
(local)
4 8 ms (tip) 2.6 ms (tip)
SLC 500 (1747-L40) 1K instruções
104 total
(local)
4 8 ms (tip) 2.6 ms (tip)
SLC 5/01 (1747-L511) 1K instruções 960 (local) 96 8 ms (tip) 2.6 ms (tip)
SLC 5/01 (1747-L514) 4K instruções 960 (local) 96 8 ms (tip) 2.6 ms (tip)
SLC 5/02 (1747-L524) 4K instruções
4096 in +
4096 out
96 4.8 ms (tip) 1.6 ms (tip)
SLC 5/03 (1747-L531) 8K palavras
4096 in +
4096 out
96 1 ms (tip) 0.225 ms (tip)
SLC 5/03 (1747-L532) 16K palavras
4096 in +
4096 out
96 1 ms (tip) 0.225 ms (tip)
SLC 5/04 (1747-L541) 16K palavras
4096 in +
4096 out
96 0.9 ms (tip) 0.225 ms (tip)
SLC 5/04 (1747-L542) 32K palavras
4096 in +
4096 out
96 0.9 ms (tip) 0.225 ms (tip)
SLC 5/04 (1747-L543) 64K palavras
4096 in +
4096 out
96 0.9 ms (tip) 0.225 ms (tip)
SLC 5/05 (1747-L551) 16K palavras
4096 in +
4096 out
96 0.9 ms (tip) 0.225 ms (tip)
SLC 5/05 (1747-L552) 32K palavras
4096 in +
4096 out
96 0.9 ms (tip) 0.225 ms (tip)
SLC 5/05 (1747-L553) 64K palavras
4096 in +
4096 out
96 0.9 ms (tip) 0.225 ms (tip)
5. 11
Processador. Número
Máximo de
Chassis
Número máximo
de módulos de
E/S (local)
Postas de
Comunicação
Memória de
Backup
Bateria para
RAM
Consumo de
corrente da CPU
SLC 500 (1747-L20)
1 2 DH-485
EEPROM ou
UVPROM
Opcional N/A (arq. fixa)
SLC 500 (1747-L30)
1 2 DH-485
EEPROM ou
UVPROM
Opcional N/A (arq. fixa)
SLC 500 (1747-L40)
1 2 DH-485
EEPROM ou
UVPROM
Opcional N/A (arq. fixa)
SLC 5/01 (1747-L511)
3 30 DH-485
EEPROM ou
UVPROM
Opcional
350mA em 5V dc
105mA em 24V dc
SLC 5/01 (1747-L514)
3 30 DH-485
EEPROM ou
UVPROM
Opcional
350mA em 5V dc
105mA em 24V dc
SLC 5/02 (1747-L524)
3 30 DH-485
EEPROM ou
UVPROM
Padrão
350mA em 5V dc
105mA em 24V dc
SLC 5/03 (1747-L531)
3 30
DH-485
RS-232
Flash Padrão
500mA em 5V dc
175mA em 24V dc
SLC 5/03 (1747-L532)
3 30
DH-485
RS-232
Flash Padrão
500mA em 5V dc
175mA em 24V dc
SLC 5/04 (1747-L541)
3 30
DH+
RS-232
Flash Padrão
1.0A em 5V dc
200mA em 24V dc
SLC 5/04 (1747-L542)
3 30
DH+
RS-232
Flash Padrão
1.0A em 5V dc
200mA em 24V dc
SLC 5/04 (1747-L543)
3 30
DH+
RS-232
Flash Padrão
1.0A em 5V dc
200mA em 24V dc
SLC 5/05 (1747-L551)
3 30
Ethernet
RS-232
Flash Padrão
1.0A em 5V dc
200mA em 24V dc
SLC 5/05 (1747-L552)
3 30
Ethernet
RS-232
Flash Padrão
1.0A em 5V dc
200mA em 24V dc
SLC 5/05 (1747-L553)
3 30
Ethernet
RS-232
Flash Padrão
1.0A em 5V dc
200mA em 24V dc
6. 12
1.1.2. FONTES E CHASSIS
Os chassis de SLC 500 e as fontes de alimentação modulares fornecem
flexibilidade na configuração de sistema. Selecionando o chassi, a fonte de
alimentação, e os módulos apropriados do processador central e de E/S, você
pode criar um sistema do controlador projetado especificamente para sua
aplicação.
Quatro tamanhos de chassi estão disponíveis: de 4 slot, de 7 slot, de 10
slot, e de 13 slot.
Cinco fontes de alimentação estão disponíveis para atender as exigências
de potência do seu sistema; três fontes de alimentação de entrada CA e duas de
entrada CC.
Fonte
Tensão de entrada
nominal
Variação da
tensão de entrada
Potência de
entrada
Corrente de Saída Fusível Corrente da fonte
do usuário
1746-P1
120Vca / 220Vca
47-63 Hz
85-132V ca
170-265V ca
42W
2A a 5V cc
0.46A a 24V cc
3A,
250V
0.2A a 24V cc
1746-
P2
120Vca / 220Vca
47-63 Hz
85-132V ca
170-265V ca
70W
5A a 5V cc
0.96A a 24V cc
3A,
250V 0.2A a 24V cc
1746-
P3
24V cc 19.2-28.8V cc 61W
3.6A a 5V cc
0.87A a 24V cc
5A,
250V N/A
1746-
P4 120Vca / 220Vca
47-63 Hz
85-132V ca
170-265V ca
92W
10A a 5V cc
2.88A a 24V cc
não tem
1A a 24V cc
1746-P5 125V cc 90-146V cc 85W
5A a 5V cc
0.96A a 24V cc
não tem
0.2A a 24V cc
7. 13
1.1.3. MÓDULOS DE ENTRADAS E SAÍDAS
1.1.3.1 MÓDULOS DE ENTRADAS DIGITAIS AC
Tipo Tensão de operação Número de Entradas Cat. No. 1746
1. Aplicações
4 -IA4
8 -IA885-132
16 -IA16
Entradas uso geral 120V ac
4 -IM4
8 -IM8
ac
170-265
16 -IM16
Entradas uso geral 220/240V
ac
ac/dc 24 ac/dc Sink (Source Load) 16 -IN16 operação V ac ou V dc
1.1.3.2 MÓDULOS DE ENTRADAS DIGITAIS DC
Tipo Tensão de operação Número de Entradas Cat. No. 1746 Aplicações
4.5--5.5 Source (Sink Load) 16 -IG16 Entradas TTL e BCD
8 -IB8
10--30 Sink (Source Load)
16 -IB16
8 -IV8
16 -IV16
Entradas dc de uso geral
10--30 Source
(Sink Load)
16 -ITV16
10--30 Sink (Source Load) 16 -ITB16
resposta rápida
15--30 Sink (Source Load) 32 -IB32
15--30 Source (Sink Load) 32 -IV32
Entradas dc de uso geral alta
densidade para espaço
limitado de painel
30--55 Sink (Source Load) 16 -IC16 entradas de uso geral 48V dc
dc
90--146 Sink (Source Load) 16 -IH16 entradas de uso geral 125V dc
1.1.3.3 MÓDULOS DE SAÍDAS DIGITAIS AC
Tipo
Tensão de
operação
Corrente Máxima
por Saída
Corrente
Máxima por
Módulo
Número de
Saídas
Número de
Catálogo
1746
Aplicações
1.0A @ 30° C
0.5A @ 60° C
8A @ 30°C
4A @ 60°C
8 -OA8
0.5A @ 30° C
0.25A @ 60° C
8A @ 30°C
4A @ 60°C
16 -OA16
Uso geral 120/240V ac saídas
ac 85--265
2.0A @ 30° C
1.25A @ 55° C
1.0A @ 60° C
9.0A @ 30° C
6.0A @ 60° C
12 -OAP12
saídas 120/240V ac alta
corrente; 6 saídas por comum;
comuns protegidos por fusível
8. 14
1.1.3.4 MÓDULOS DE SAÍDAS DIGITAIS DC
Tipo
Tensão de
operação
Corrente
Máxima por
Saída
Corrente
Máxima
por
Módulo
Número
de
Saídas
Número de
Catálogo 1746-
Aplicações
10--30
Source
2.0A
@ 0 a 60° C
12A @ 0 a
60°C
6 OB6EI
Saídas dc individualmente
isoladas com fusível eletrônico
que rearma automaticamente
10--50
Source
1.0A @ 30° C
0.5A @ 60° C
8A @ 30°C
4A @ 60°C
8 OB8
10--50
Sink
1.0A @ 30° C
0.5A @ 60° C
8A @ 30°C
4A @ 60°C
8 OV8
10--50
Source
0.50A @ 30° C
0.25A @ 60° C
8A @ 30°C
4A @ 60°C
16 OB16
saídas dc de uso geral
10--30
Source
1.00A @ 30° C
0.50A @ 60° C
8A @ 0 a
60°C
16 OB16E
Saídas dc com fusível eletrônico
que rearma automaticamente
10--50
Sink
0.5A @ 30° C
0.25A @ 60° C
8A @ 30°C
4A @ 60°C
16 OV16 saídas dc de uso geral
20.4--26.4
Source
2.0A @ 60° C
8.0A @ 0
to 60°C
8 OBP8 Saída de alta corrente dc source
20.4--26.4
Source
1.5A @ 30° C
1.0A @ 60° C
6.4A @ 0
to 60°C
16 OBP16
Saída de alta corrente dc source,
fusível no comum
20.4--26.4
Sink
1.5A @ 30° C
1.0A @ 60° C
6.4A @ 0
to 60°C
16 OVP16
Saída de alta corrente dc sink,
fusível no comum
5 Sink 0.024A 0.384A 16 OG16 Cargas TTL; display sink-load
5--50
Source
0.5A @ 30° C
0.25A @ 60° C
8.0A @ 0
to 60°C
32 OB32
saídas dc alta densidade baixa
corrente
10--32
Source
0.5A @ 30° C
0.25A @ 60° C
8.0A @ 0
to 60°C
32 OB32E
Saídas dc com fusível eletrônico
que rearma automaticamente
dc
5--50
Sink
0.5A @ 30° C
0.25A @ 60° C
8.0A @ 0
to 60°C
32 OV32
saídas dc alta densidade baixa
corrente
1.1.3.5 MÓDULOS DE SAÍDAS DIGITAIS DE CONTATOS
Tensão de
operação
Corrente
Máxima por
Saída
Corrente
Máxima por
Módulo
Número de
Saídas
Tipo de
Contatos
Número de
Catálogo
1746-
Aplicações
3A @ 120V ac
1.2A @ 24V dc
See 8 OX8
Saídas a contatos de rele
de alta corrente isoladas
individualmente
1.5A @ 120V ac
1.2A @ 24V dc
8A 4 OW4 Saídas a contatos de rele
1.5A @ 120V ac
1.2A @ 24V dc
16A
8A/comum
8 (2 grupos
de 4)
OW8
Saídas a contatos de rele;
4 saídas por comum
5--265 ac
5-125 dc
1.5A @ 120V ac
1.2A @ 24V dc
16A
8A/comum
16 (2 grupos
de 8)
Contatos
de rele
N.A.
OW16
Saídas a contatos de rele;
8 saídas por comum
9. 15
1.1.3.6 MÓDULOS COMBINADOS E/S DIGITAIS
Entradas Saídas
Tensão de
operação
Número de
Entradas
Tensão de
Operação
/Tipo
Corrente Máxima
por saída
Número
de
Saídas
Cat. No.
1746-
Aplicações
2 2 IO4
4 4 IO885-132 ac
6 6 IO12
Combinado de entradas de 120V
ac e saídas a contatos de rele
10-30 dc 6
5-265 V ac
5-125 V dc
contatos NA
de rele
1.5A @ 120V ac
1.2A @ 24V dc
6 IO12DC
Combinado de entradas de 24V
dc e saídas a contatos de rele
1.1.3.7 MÓDULOS DE E/S ANALÓGICOS
Número de Entradas/Saídas Número de Catálogo
Tempo
Atualização
Resolução Máxima (bits)
4 entradas (±10V dc, ±20 mA) 1746-NI4 512µs 16
8 entradas (±10V dc, ±20 mA) 1746-NI8 6ms / 8 canal 16
16 entradas (±20mA, 4--20 mA
0--1mA, or 0--20mA)
1746-NI16I não aplicável 16
16 entradas (±10V dc, 1--5V dc
0--5V dc, or 0--10V dc)
1746-NI16V não aplicável 16
4 saídas (0-20 mA) 1746-NO4I 512µs 14
4 saídas (±10V dc) 1746-NO4V 512µs 14
2 entradas (±10V dc, ±20 mA)
2 saídas (±10V dc)
1746-NIO4V 512µs
16 in
14 out
2 entradas (±10V dc, ±20 mA)
2 saídas (0-20 mA)
1746-NIO4I 512µs
16 in
14 out
2 entradas (diferenciais, 0-10V dc, 0-20 mA)
2 saídas (0-20 mA)
1746-FIO4I
(saídas de corrente)
512µs
12 in
14 out
2 entradas (diferenciais, 0-10V dc, 0-20 mA)
2 saídas (±10V dc)
1746-FIO4V
(saídas de tensão)
512µs
12 in
14 out
10. 16
1.2. ENDEREÇAMENTO
1.2.1 Partes de um Endereço
Os endereços identificam áreas da memória RAM e são compostos de
caracteres alfanuméricos separados por delimitadores. Os delimitadores incluem
o dois pontos, o ponto, e a barra.
Os arquivos de Saída e Entrada possuem elementos de 1 palavra, onde
cada elemento é especificado pelo número de slot e palavra.
Os Temporizadores e Contadores possuem elementos de três palavras.
Os arquivos de Status, Bit e Inteiro possuem elementos de 1 palavra.
Exemplos:
N7:15 é um endereço de elemento, onde o dois pontos separa o Tipo e
o Número do Arquivo (Arquivo Inteiro Núm.7) do elemento. Já que os arquivos
de Inteiro possuem elementos de 1 palavra, o endereço N7:15 aponta para a
palavra número 15 no arquivo de inteiro número 7.
T4:7.ACC é um endereço de palavra, onde o ponto separa o elemento
da palavra dentro do elemento. Já que os arquivos de Temporizador possuem
elementos de 3 palavras, o endereço T4:7.ACC aponta para a palavra de
Acumulador (terceira palavra) no elemento número 7 do arquivo de
Temporizador T4.
B3:64/15 é um endereço de bit, onde a barra separa o bit do elemento.
Já que os arquivos de bits possuem elementos de uma palavra, o endereço
B3:64/15 aponta para o bit Núm. 15 na palavra Núm. 64 no arquivo de Bits B3.
1.2.2. CONSTANTES
Use esse método quando fornecer constantes para parâmetros da
instrução.
Para fornecer uma constante hexadecimal: digite o valor hexadecimal
seguido pela letra H (Hexadecimal).
Para fornecer uma constante binária: digite o valor binário seguido pela
letra B (Binário). Por exemplo: digite 1010111101B, o mostrador exibe o
equivalente hexadecimal (02BDh).
Para fornecer uma constante decimal: digite o valor decimal.
11. 17
1.3. MODOS DE OPERAÇÃO
PROG modo programação Desabilita todas as Saídas
Não executa o programa
REM modo remoto Desabilita todas as Saídas (REM PROG)
Permite que o CLP seja programado
Executa o programa (REM RUN)
RUN modo execução Executa o programa
Não permite que o programa seja alterado
Habilita as Saídas
O modo de operação é selecionado pela Chave rotativa que fica na frente da
CPU.
2. SOFTWARE DE PROGRAMAÇÃO
2.1. CRIAÇÃO DE UM PROJETO
Para criar um Projeto siga os passos seguintes:
1. Selecione Arquivo > Novo.
2. Selecione o tipo de processador. Use a barra de rolagem do lado direito
da caixa de lista para passar através da lista e depois clique no tipo de
processador. Clique em OK.
3.É criado um projeto vazio com um nome de arquivo padrão, e um
diretório árvore para o seu projeto (árvore do projeto) aparece em uma janela
separada. O nome do projeto padrão é tipicamente Sem Título. Você dará um
novo nome ao projeto na hora de salvar o projeto. Do lado direito da árvore do
projeto você verá um arquivo de contatos vazio. Este é o arquivo de programa
principal (LAD 2).
1.1.1.1.1 PROG
1.1.1.1.2 REM
1.1.1.1.3 RUN
12. 18
2.1.1. CRIAR TABELA DE DADOS
1 Clique no ícone de Arquivos de Dados na árvore do projeto com o botão direito do
mouse para acessar o seu menu e selecione Novo.
1
13. 19
2 Digite um número para o arquivo de tabela de dados no campo Arquivo
3 Use a caixa de lista Tipo para selecionar o tipo desejado de arquivo de dados.
4 Digite um Nome e Descrição para o arquivo.
5 Digite o número de Elementos que o arquivo conterá.
6 Indique se o arquivo será Local a um arquivo de programa ou Global a todos
os arquivos de programa no projeto. Se você escolher Local, clique na seta
do lado direito da caixa de lista Para Arquivo: e clique no arquivo ao qual
você deseja que a tabela de dados esteja disponível.
7 Se você estiver usando o controlador SLC 5/03 ou 5/04, clique na proteção
atribuída ao arquivo.
8 Clique em OK
OBS.: Os itens 6 e 7 são geralmente deixados na opção padrão, que já vem
selecionada.
2
3
4
5
6
7
8
14. 20
2.2. DEFINIR CHASSIS E MÓDULOS
1 Clique duas vezes no ícone Configuração de E/S localizado na pasta
Controlador na árvore do projeto.
2 Clique na seta do lado direito da caixa de lista suspensa para Gaveta 1 (Rack 1) e
clique no tipo de gaveta que você utiliza no seu aplicativo. Faça isto para as
Gavetas 2 e 3 também se você utiliza mais de uma gaveta na sua configuração.
3 Clique no módulo na lista do lado direito do diálogo e arraste-o para dentro do
slot onde deseja que resida. O slot até o qual você arrasta o módulo pode estar
vazio ou pode conter um módulo diferente, não faz diferença. Assim que você
colocar um módulo em um slot na sua configuração, o RSLogix 500 aceita a
configuração. Se você substituir um módulo, a substituição é imediatamente
refletida no programa de lógica de contatos. Repita este processo para todos os
módulos (slots) na gaveta.
4 Se você colocar um Módulo Característico de E/S em qualquer um dos slots,
será possível destacar esse módulo na sua configuração de E/S e clicar em
Config. Av. para especificar outras informações exigidas para placas E/S não-
discretas.
15. 21
3. INSTRUÇÕES DE CONTROLE DE PROGRAMA
3.1. JMP [SALTAR PARA RÓTULO] E LBL [RÓTULO]
Exemplo :
JMP faz o processador saltar à frente ou atrás, para a instrução de rótulo (LBL)
correspondente e retomar a execução do programa a partir do rótulo.
LBL é o alvo da instrução JMP com o mesmo número de rótulo. Você deve
programar essa instrução de entrada como a primeira instrução de uma linha. LBL
sempre é avaliada como verdadeira ou 1 lógico. Os números de rótulos são únicos, isto
é, não podem ser repetidos.
Saltar à frente para um rótulo reduz o tempo de varredura do programa ao omitir
um segmento do programa até que seja necessário. Saltar para trás permite que o
controlador execute repetidamente segmentos do programa.
Mais de uma instrução JMP pode saltar para o mesmo rótulo.
Obs. Tenha cuidado ao usar a instrução JMP para saltar para trás 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 instruções JMP/LBL.
PARÂMETROS:
Digite um número decimal para o rótulo, de 0 a 999. Você pode colocar:
• Até 256 rótulos para controladores SLC em cada arquivo de subrotina.
• Até 1000 rótulos para controladores MicroLogix em cada arquivo de
subrotina.
EXEMPLO:
1. Programa Semáforo e Pisca-pisca utilizando JMP e LBL A seleção do
funcionamento como semáforo ou como pisca-pisca é feita através de chaves on-
off
( JMP
)
] LBL
[
17. 23
DESAFIO:
1. Um programa Semáforo e Pisca-pisca utilizando JMP. O semáforo deve funcionar
das 6 às 24 h e o pisca-pisca das 0 às 6 h, automaticamente, a partir do relógio
de tempo real do CLP.
3.2. SBR [SUBROTINA]
Exemplo:
Uma subrotina serve para armazenar seções repetitivas da lógica do programa
que devem ser executadas a partir de diversos pontos dentro de um projeto. Uma
subrotina economiza memória porque você a programa apenas uma vez.
Colocada como a primeira instrução em um arquivo de subrotina, a instrução
SBR identifica o arquivo. Esse é o número do arquivo usado na instrução JSR para
identificar o alvo para onde o programa deve saltar.
Essa instrução não tem bits de controle. Ela sempre é avaliada como verdadeira.
A instrução deve ser programada como a primeira instrução da primeira linha de uma
subrotina. O uso dessa instrução é opcional, porém é recomendado.
AVISO: As saídas controladas de dentro de uma subrotina permanecem no seu
último estado até que a subrotina seja executada novamente.
3.3. JSR [SALTAR PARA SUBROTINA]
Exemplo:
JSR é uma instrução de saída que faz com que o processador salte para o arquivo
alvo da subrotina.
Saltar para Subrotina
Número de Arquivo SBR
U:5
JSR
Subrotina
SBR
18. 24
Você só pode saltar para a primeira instrução em uma subrotina. Cada subrotina
deve ter um número de arquivo exclusivo (decimal, 3-255).
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 níveis.
Processadores 5/02, 5/03, 5/04 e MicroLogix - você pode aninhar subrotinas
em até 8 níveis.
3.4. RET [RETORNO DA SUBROTINA]
Exemplo:
Essa instrução de saída marca o final da execução da subrotina ou o final do
arquivo de subrotina. Ela faz com que o processador retome a execução no arquivo do
programa principal na instrução seguinte à instrução JSR onde ele saiu do programa. Se
a seqüência de subrotinas aninhadas está envolvida, a instrução faz com que o
processador retorne a execução do programa para a subrotina anterior.
Sem uma instrução RET, o comando END (sempre presente na subrotina)
retorna automaticamente a execução do programa para a instrução JSR no seu programa
de contatos que a chamou.
EXEMPLO:
Programa Semáforo e Pisca-pisca utilizando subrotinas JSR, SBR e RET. A seleção do
funcionamento como semáforo ou como pisca-pisca é feita através de chaves on-off
LAD 2 – Arquivo Principal
Retorno
RET
20. 26
DESAFIO:
Crie um programa Semáforo e Pisca-pisca utilizando subrotinas JSR, SBR e RET. O
semáforo deve funcionar das 6 às 24 h e o pisca-pisca das 0 às 6 h,
automaticamente, a partir do relógio de tempo real do CLP.
21. 27
4. ENDEREÇAMENTO INDEXADO
Um endereço indexado é deslocado do endereço indicado na tabela de dados.
A indexação de endereços se aplica a endereços de palavras nos arquivos de dados
de bit e de inteiros assim como às palavras predefinidas e de acumuladores de
temporizadores e contadores, e às palavras de tamanho e posição de elementos de
controle.
O valor de deslocamento é contido na palavra 24 do arquivo de status (S:24). O
número contido em S:24 pode ser positivo ou negativo.
O símbolo do endereço indexado é #. Ao realizar a programação, coloque-o
imediatamente antes do identificador do tipo de arquivo no endereço da palavra. Por
exemplo #N7:2 é um endereço indexado.
AVISO
O símbolo # é também requerido para os endereços nas instruções de arquivo que
também utilizam a palavra S:24 para armazenar um valor de deslocamento. Se você
usar instruções de arquivo no programa assim como endereços indexados, tenha o
cuidado de carregar o valor correto do deslocamento em S:24 antes de utilizar o
endereço indexado que segue à instrução de arquivo. Caso contrário, poderiam ocorrer
operações imprevistas, resultando na possibilidade de ferimentos pessoais e/ou danos ao
equipamento.
As tabelas de dados não são expandidas automaticamente para acomodar endereços
indexados.
Quando você criar o endereço indexado, siga essas instruções:
• Certifique-se de que o valor do índice (positivo ou negativo) não faça com que o
endereço indexado exceda o limite do tipo de arquivo.
• Quando uma instrução usa mais de dois endereços indexados, o processador usa o
mesmo valor de índice para cada endereço indexado.
• Configure a palavra de índice para um valor de deslocamento desejado,
imediatamente antes de habilitar uma instrução que usa um endereço indexado.
22. 28
EXEMPLO:
Programa de Semáforo que varia o tempo da luz verde a cada hora, a partir do relógio
de tempo real do CLP. Valores de tabela de tempo guardados no arquivo de inteiros a
partir de N7:10
23. 29
DESAFIO:
Fazer Programa de Semáforo que varia o tempo das luzes verde, amarela e vermelha
a cada hora, a partir do relógio de tempo real do CLP. Valores de tabela de tempo
guardados no arquivo de inteiros a partir de N7:10, N7:40 e N7:70
24. 30
5. INSTRUÇÕES COM MÁSCARA
5.1. MEQ [COMPARAÇÃO MASCARADA]
Exemplo de Instrução:
Essa instrução condicional compara dados de 16 bits de um endereço de origem
com dados de 16 bits no endereço de referência, através de uma máscara. Se o valores
combinarem, a instrução é verdadeira. Essa instrução permite que partes dos dados
sejam mascarados por uma palavra separada.
PARÂMETROS:
Origem - o endereço do valor que você deseja comparar.
Máscara - o endereço da máscara através da qual a instrução move dados. Você
pode digitar o valor em binário, decimal ou hexadecimal. O RSLogix500 irá fazer as
conversões necessárias e exibir o valor hexadecimal.
Comparar - um valor inteiro ou o endereço da referência.
Se os 16 bits de dados no endereço de origem são iguais aos 16 bits de dados no
endereço de comparação (fora os bits mascarados), a instrução é verdadeira. A
instrução torna-se falsa logo que detecta uma não correspondência.
ENTRADA DE MÁSCARA
Use esse método ao fornecer um parâmetro de máscara como um valor
codificado em vez de um endereço ou um endereço de arquivo.
Para fornecer uma máscara hexadecimal: digite o valor hexadecimal seguido
pela letra H (Hexadecimal).
Mascarada por Igual
Origem C5:5
Máscara 01E0h
Comparar 64
MEQ
25. 31
Para fornecer uma máscara binária: digite o valor binário seguido pela letra B
(Binário). Por exemplo: digite 1010111101B, o mostrador exibe o equivalente
hexadecimal (02BDh).
Para fornecer uma máscara decimal: digite o valor decimal.
OPERAÇÃO DE MÁSCARA
A máscara funciona como um filtro. O padrão de caracteres na máscara
determina quais bits serão comparados entre origem e comparar, e quais bits serão
ignorados (mascarados). Apenas os bits na mesma posição dos bits da máscara que
estão ativados (1) serão comparados.
Exemplo:
Se os valores dos bits na origem são 1111000011110000
e as configurações de bit na máscara são 0000000011111111
e os valores dos bits a comparar são 0001111011110000
então a instrução será verdadeira apesar dos primeiros bits da origem e comparar
serem diferentes.
5.2. MVM [MOVER COM MÁSCARA]
Exemplo
MVM move os dados da origem para o destino, e permite que partes dos dados
de destino sejam filtrados por uma palavra separada. Os dados no endereço de origem
passam através da máscara para o endereço de destino. Enquanto a linha permanecer
verdadeira, a instrução move os mesmos dados a cada varredura.
Mover com Máscara
Origem N7:0
Máscara 01E0h
Destino N7:9
MVM
26. 32
PARÂMETROS:
Origem - endereço dos dados que você deseja mover.
Máscara – filtro através da qual a instrução move dados. A máscara pode ser um
endereço ou uma constante. No caso de constante, pode-se digitar o valor em binário,
decimal ou hexadecimal. O RSLogix500 irá fazer as conversões necessárias e exibir o
valor hexadecimal.
Destino - endereço para onde a instrução move os dados.
A máscara atua como um filtro para o destino. O padrão de caracteres na máscara
determina quais bits serão passados da origem para o destino, e quais bits serão
mascarados. Apenas bits na máscara que são ativados (1) irão passar dados para o
destino.
Por exemplo:
Se antes de mover, o endereço de destino contém 0000000000000000
e os valores de bit na palavra de origem são - 1111000011110000
e os bits no endereço de máscara são - 0000000011111111
após mover, o destino irá conter - 0000000011110000
Note no exemplo, que os bits zero na máscara não passam dados para o destino.
Apenas os bits na máscara que estão ativados (1) passam dados.
5.3. TOD [CONVERTER PARA BCD]
Exemplo:
TOD converte um valor de origem inteira de 16 bits para BCD e envia-o para o
destino.
Se o valor inteiro fornecido for negativo, o sinal é ignorado e a conversão ocorre
como se o número fosse positivo. (Em outras palavras, é usado o valor absoluto do
número para a conversão.)
Para BCD
Origem N7:10
Destino O:12.1
TOD
27. 33
5.4. FRD [CONVERTER DE BCD PARA INTEIRO]
Exemplo:
TOD converte um valor BCD na origem para um inteiro e armazena-o no
destino.
Forneça sempre uma filtragem por lógica de contatos de todos os dispositivos de
entrada BCD antes de executar a instrução FRD. A menor diferença de retardo no filtro
de entrara ponto-a-ponto pode fazer com que a instrução FRD estoure devido à
conversão de um dígito não-BCD.
Converter de BCD
Origem N7:10
Destino N7:55
FRD
28. 34
EXEMPLO:
Programa de Semáforo onde o operador pode alterar o tempo da luz verde, através de
uma chave codificadora (Thumbwheel), simulada através de chaves on-off. Uma
botoeira é usada para habilitar a alteração pela chave codificadora.
29. 35
DESAFIO:
Programa de Semáforo onde o operador pode alterar o tempo das luzes verde, amarela
e vermelha através de uma única chave codificadora (Thumbwheel), simulada através
de chaves on-off.
30. 36
6.VARIÁVEIS ANALÓGICAS
6.1 ENTRADAS E SAÍDAS ANALÓGICAS
Os módulos de entradas e saídas analógicas disponíveis na família SLC 500 são
os seguintes:
Cód. De Catálogo Canais de Entrada por Módulo Canais de Saída por Módulo
1746 - NI4
4 diferenciais, selecionáveis para
tensão ou corrente por canal, não
isolados individualmente.
Não tem
1746 - NIO4I
2 diferenciais, selecionáveis para
tensão ou corrente por canal, não
isolados individualmente.
2 saídas de corrente, não
isoladas individualmente
1746 - NIO4V
2 diferenciais, selecionáveis para
tensão ou corrente por canal, não
isolados individualmente
2 saídas de tensão, não
isoladas individualmente
1746 - NO4I
Não tem 4 saídas de corrente, não
isoladas individualmente
1746 - NO4V
Não tem 4 saídas de tensão, não
isoladas individualmente
As entradas analógicas usam conversores A/D (analógico para digital) que transformam os sinais de corrente ou
tensão em valores inteiros de 16 bits (palavras). Estes valores são lidos pelo programa no endereço correspondente à
entrada analógica.
Faixa de Tensão Corresponde a Faixa de Corrente Corresponde a
-10Vcc a +10Vcc * -32.768 a + 32.767 -20 mA a +20 mA * -16.384 a +16.384
0 a 10Vcc 0 a 32.767 0 a 20 mA 0 a 16.384
0 a 5V cc 0 a 16.384 4 a 20 mA 3.277 a 16.384
1 a 5V cc 3.277 a 16.384
* Valores máximos
As saídas analógicas usam conversores D/A (digital para analógico) que transformam, em sinais de tensão
ou corrente, os valores inteiros de 16 bits (palavras) que são escritos nos endereços correspondentes às
saídas analógicas.
NO4I, NIO4I NO4V, NIO4V
Faixa de Inteiros Corresponde a Faixa de Inteiros Corresponde a
0 a 32.767 0 a 21 mA * -32.768 a +32.764 -10 a +10V CC *
0 a 31.207 0 a 20 mA 0 a 32.764 0 a 10V CC
6.241 a 31.207 4 a 20 mA 0 a 16.384 0 a 5V CC
3.277 a 16.384 1 a 5V CC
* Valores máximos
31. 37
6.2 SCL - Escala
Exemplo:
Essa instrução é utilizada para escalar dados de módulos analógicos e convertê-
los para os limites prescritos pela variável de processo ou outro módulo analógico. Por
exemplo, use SCL para converter um sinal de entrada de 4 a 20 mA para uma variável
de processo PID. Ou use SCL para escalar uma entrada analógica para controlar uma
saída analógica.
Quando as condições da linha são verdadeiras, essa instrução 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.
Você pode usar endereços indexados ou indiretos para os parâmetros de origem
ou destino.
Equações usadas no cálculo do valor a ser colocado no destino:
Destino = (Origem x (taxa / 10.000)) + deslocamento
Onde:
Taxa = 10.000 x k (saída máxima - saída mínima)
(entrada máxima - entrada mínima)
Deslocamento = saída mínima - entrada mínima x taxa
10.000
Parâmetros:
Os valores devem estar entre -32768 e +32767 para os seguintes parâmetros.
Origem - deve ser um endereço de palavra.
Taxa - (ou inclinação) é um valor positivo ou negativo. Pode ser uma constante
de programa ou um endereço de palavra.
Escala
Origem I:9.1
Taxa [/10000] 4000
Deslocamento 100
Destino N7:14
SCL
32. 38
Deslocamento - pode ser uma constante de programa ou um endereço de
palavra.
Destino - É o endereço do resultado da operação.
Obs. Se o resultado da Origem vezes a Taxa, dividido por 10000, é maior que
32767, a SCL instrução estoura, causando um erro 0020 (bit de erro menor) e
coloca 32767 no Destino. Isso ocorre independentemente do deslocamento
corrente. Se isso acontecer, zere o bit S:5/0 com seu programa de contatos antes
do final da varredura atual, ou será declarado um erro principal.
33. 39
EXEMPLO:
Programa para realizar o controle on-off da temperatura de um forno. A medição
de temperatura é realizada através de um transmissor cuja saída é no padrão 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 módulo de entrada e saída
analógica. Este módulo fornece tensões de 0 a 10 V. Portanto, será utilizado o padrão de
tensão da instrumentação de 1 a 5 V (0 a 100%)
34. 40
DESAFIO:
Programa para realizar o controle on-off do nível de um tanque de 1000 m3
. A
medição de nível é realizada através de um transmissor cuja saída é no padrão 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 nível caia até 500 m3
e desliga se o nível
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 módulo de
entrada e saída analógica. Este módulo fornece tensões de 0 a 10 V. Portanto, será
utilizado o padrão de tensão da instrumentação de 1 a 5 V (0 a 100%)
7.INSTRUÇÃO PID
Exemplo:
Essa instrução de saída é usada para controlar variáveis físicas como
temperatura, pressão, nível de líquido ou vazão em malhas de controle de processo.
A instrução PID normalmente controla um malha fechada usando entradas de
um módulo de entrada analógico e fornecendo uma saída para um módulo de saída
analógico como uma resposta a uma variável de processo mantida efetivamente em
determinado Set Point (ponto pré-programado).
A equação PID controla o processo enviando um sinal de saída ao atuador.
Quanto maior o erro entre o Set point e a entrada da PV (variável de processo), maior o
sinal de saída e vice versa. Um valor adicional (feed forward ou polarização) pode ser
adicionado à saída de controle como um patamar. O resultado do cálculo PID (variável
de controle) irá dirigir a variável de processo que você está controlando, para o Set
Point.
PID
Bloco de Controle
N7:9
Variável de Processo
I:9.0
Variável de Controle
N7:11
35. 41
7.1 CONCEITO DE PID
Esse é um exemplo de como opera uma malha PID simples. É um malha de
controle de temperatura básico.
E o diagrama genérico da malha de controle
A equação PID controla o processo enviando um sinal de saída para uma válvula
de controle. Quanto maior o erro entre o Set Point e a entrada da variável de processo,
maior o sinal de saída e vice versa. Um valor adicional (feed-forward ou polarização)
pode ser adicionado à saída de controle como um patamar. O resultado do cálculo PID
(variável de controle) irá dirigir a variável de processo, que você está controlando, para
o Set Point.
36. 42
7.2 A EQUAÇÃO PID
A instrução PID usa o seguinte algoritmo:
¡
¢
£¤¥
++=
dt
dPV
TdEdt
Ti
EKcCV
1
)(
As constantes de Ganho Padrão são:
Termo Símbolo Faixa (Inferior para Superior)
Ganho do
Controlador
Kc 0,1 a 25,5 (sem dimensão)
0,01 a 327,67 (sem dimensão)*
Tempo Integral Ti 25,5 a 0,1 (minutos por repetição)
327,7 a 0,01 (minutos por repetição)*
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 através de um filtro passa-baixas. A
frequência de corte do filtro é 16 vezes maior que a frequência de quebra do termo
derivativo.
Parâmetros
Normalmente, você coloca a instrução PID em uma linha sem lógica
condicional. A saída permanece no seu último valor quando a linha é falsa. O termo
integral também é zerado quando a linha é falsa.
A instrução PID não permite valores de ponto flutuante para nenhum de seus
parâmetros. Logo, se você tentar mover um valor de ponto flutuante para um dos
parâmetros PID (com a instrução MOV, por exemplo), ocorre uma conversão de ponto
flutuante para inteiro.
Bloco de Controle - um arquivo que armazena os dados necessários para operar
a instrução. O comprimento do arquivo é fixo em 23 palavras e deve ser fornecido
como um endereço de arquivo inteiro. Não grave em endereços de bloco de controle
com outras instruções no seu programa. Apenas o set point os seguintes sinalizadores
de instrução 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 limitação de saída) Palavra 0 do Bloco de Controle, bit 3
37. 43
AVISO!
Não altere o estado de nenhum valor de bloco de controle PID a menos
que você entenda completamente sua função e efeitos relacionados em seu
processo. Uma operação inesperada pode resultar em possíveis 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 reutilização acidental dos endereços do bloco de controle
PID por outras instruções no seu programa.
Comprimento do Bloco de Controle - Especifica um arquivo inteiro, por
exemplo N7:0. O comprimento do arquivo é fixo de 23 palavras.
Variável de Processo PV - O endereço de elemento que armazena o valor de
entrada do processo. Esse endereço pode ser o local da palavra de entrada analógica
onde o valor do A/D de entrada é armazenado. Esse valor também pode ser um valor
inteiro se você preferir pré-escalar seu valor de entrada para a faixa 0-16383.
Variável de Controle CV - O endereço de elemento que armazena a saída da
instrução PID. A faixa do valor de saída vai de 0 a 16383, com 16383 sendo 100% do
valor ON. Esse normalmente é um valor inteiro e você pode escalar a faixa de saída
PID para a faixa analógica particular que seu aplicativo requerer.
Tela de Instalação - clique duas vezes no item Tela de Instalação para exibir
uma tela que solicita a você outros parâmetros para completar a programação da
instrução PID.
38. 44
7.3 TELA DE INSTALAÇÃO PID
Ao Clicar Tela de Configuração na instrução PID, aparece um diálogo que
permite a entrada de parâmetros adicionais. Os parâmetros são descritos aqui.
Parâmetro Faixa válida Descrição
Kc Ganho
do
Controlador
0 até +327,67* Este é o ganho proporcional da equação
PID.
Ti Tempo
Integral
0 até +327,67*
minutos
Este é o tempo integral da equação PID.
Td Tempo
Derivativo
0 até +327,67*
minutos
Este é o tempo derivativo da equação PID.
Atualizar
Circuito
0.01 a 10.24
segundos
Este é o intervalo de tempo entre cálculos
PID. O valor é indicado em intervalos de
0,01 segundos. Geralmente, digite um
tempo de atualização de circuito entre cinco
e dez vezes mais rápido que o período
natural de carga. No modo STI, este valor
precisa equivaler ao valor do intervalo de
tempo STI S:30.
Modo
Controle
Selecione
E = SP - PV (Ação
Reversa) ou
E = PV - SP (Ação
Direta)
Ação Reversa causa um aumento no CV de
saída quando o PV de entrada é menor que
o set point SP (por exemplo, em uma
aplicação de aquecimento). Ação direta
causa um aumento no CV de saída quando
o PV de entrada é maior que o set point SP
(por exemplo, em uma aplicação de
resfriamento).
Controle PID Selecione
Auto ou Manual
Auto indica que o PID controla a saída.
Manual indica que o usuário define a saída.
Modo de
Data/Hora
Selecione
Temporizado ou
STI
Com o modo Temporizado selecionado, o
PID atualiza a sua saída a intervalos
especificados no parâmetro de atualização
de circuito. Ao usar o modo temporizado, o
tempo de varredura do seu processador
deve ser pelo menos dez vezes mais rápido
do que o tempo de atualização de circuito
para evitar imprecisões na temporização ou
distúrbios
Com o modo STI selecionado, o PID
atualiza a sua saída a cada varredura da
subrotina STI. Ao selecionar STI, a
instrução PID deve ser programada em uma
sub-rotina de STI de interrupção, e a rotina
STI deve possuir um intervalo de tempo que
equivale à definição do parâmetro de
39. 45
atualização do circuito PID. Defina o
período STI na palavra S:3.0
Limitar
Saída CV
Selecione
Sim ou Não
Selecionar Sim limita a saída aos valores
mínimo e máximo. Selecionar Não não
aplica limites à saída.
Zona Morta
DB
0 até o máximo
escalado, ou entre
0 e 16383 quando
não 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 variável 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
Parâmetro Faixa válida Descrição
Valor de Ref.
SP
1 e 16383, ou
dentro da faixa
válida de
unidades de
engenharia
Set Point ou o ponto de controle desejado
da variável do processo.
Val. Ref.
MÁX (Vmáx)
-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%).
Val. Ref. MÍN
(Vmín)
-32768 até
+32767
Se o Set Point carregar unidades de
engenharia, então este parâmetro
corresponde ao valor do set point em
unidades de engenharia quando a entrada
de controle for 0 (0%).
Variável de
Processo PV
(Não editável, só
para visualização)
Este é o valor da variável de processo (a
entrada analógica) em unidades de
engenharia
Saída
Parâmetro Faixa válida Descrição
Controlar
Saída CV (%)
0 a 100 % Permite alterar a variável de controle de
saída somente se você tiver selecionado o
modo manual.
Saída Mín
(CV%)
1 a 99 %
Se CV cair abaixo deste valor mínimo, o bit
de alarme de limite inferior (LL) de saída
será ativado.
Se Limitar Saída CV for Sim, o valor que
você digitar será a porcentagem mínima de
40. 46
saída que a variável de controle CV atingirá.
Saída Máx.
(CV%)
1 a 99 %
Se CV exceder este valor máximo, o bit de
alarme de limite superior (UL) de saída será
ativado.
Se Limitar Saída CV for Sim, o valor que
você digitar será a porcentagem máxima de
saída que a variável de controle CV atingirá.
Erro de Escala
SE
(Não editável, só
para
visualização)
Este é o erro da equação PID ( E = SP -
PV ou
E = PV - SP ).
Ao usar um processador 5/03 ou 5/04, os
erros escalados acima de 32767 ou abaixo
de -32768 não podem ser representados.
7.4 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 Código 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 Polarização à Frente (bias)
Palavra 7 Set Point Máximo (Smax)
Palavra 8 Set Point Mínimo (Smin)
Palavra 9 Banda morta
Palavra 10 APENAS PARA USO INTERNO - NÃO ALTERE!!
Palavra 11 Saída Máxima
Palavra 12 Saída Mínima
Palavra 13 Atualizar Circuito
Palavra 14 Variável de Processo Escalada
Palavra 15 Erro de Escala SE
Palavra 16 CV% de Saída (0-100%)
Palavra 17 Soma Integral MSW
Palavra 18 Soma Integral LSW
Palavra 19 APENAS PARA USO INTERNO - NÃO ALTERE!!
Palavra 20 APENAS PARA USO INTERNO - NÃO ALTERE!!
Palavra 21 APENAS PARA USO INTERNO - NÃO ALTERE!!
Palavra 22 APENAS PARA USO INTERNO - NÃO ALTERE!!
41. 47
AVISO!
Não altere o estado de nenhum valor de bloco de controle PID a menos que você
entenda completamente sua função e efeitos relacionados em seu processo. Uma
operação inesperada pode resultar em possíveis danos ao equipamento e/ou ferimentos
pessoais.
7.5 INDICADORES DE STATUS
Os seguintes indicadores de status associados com a instrução PID aparecem
como Marcadores do lado direito da tela de Configuração PID. Acesse esta tela ao
clicar Tela de Instalação na instrução PID.
Bits que podem ser ativados ou desativados por instruções 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 operação automática quando 0 e a
operação 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 Saída
Ativado (palavra 0, bit 3)
Este bit deve ser 1 se você optar por limitar a variável
de controle.
Bits configurados pelo usuário
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).
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 não é afetado por esta
seleção
DA Bit de Ação
Derivativa (palavra 0, bit
7)
Quando 1, os cálculos do termo derivativo da
equação do PID são feitos sobre o erro. Quando 0,
os cálculos usam a PV.
Bits que apenas indicam condições da instrução PID
SC Sinalizador de Quando 1 indica que os valores mínimo e máximo do
42. 48
Escala de Set Point
(palavra 0, bit 5)
Set Point não foram especificados
TF Tempo de
Atualização de Circuito
Muito Rápido (palavra
0, bit 6)
Este bit é ativado pelo algoritmo PID se o tempo de
atualização de circuito especificado não puder ser
atingido pelo programa (devido a limitações de
tempo de varredura).
Se este bit estiver ativado, tente corrigir o problema
ao atualizar o seu circuito PID a uma taxa mais lenta
ou ao mover a instrução PID para uma rotina de
interrupção STI. Os ganhos de redefinição e de taxa
estarão errados se a instrução operar com este bit
ativado.
DB Erro de Zona Morta
(palavra 0, bit 8)
Ativado quando a variável de processo está dentro da
faixa da zona morta ao cruzar com 0
UL Alarme de Saída,
Limite Superior (palavra
0, bit 9)
Ativado quando CV de saída de controle calculado
excede o limite superior de CV.
LL Alarme de Saída,
Limite Inferior (palavra
0, bit 10)
Ativado quando CV de saída 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 máximo
escalado ou é menor que o valor mínimo escalado.
PV Variável de
Processo Fora da Faixa
(palavra 0, bit 12)
Ativado quando a variável de processo não escalada
(ou bruta) excede 16383 ou é menor que zero.
DN PID Concluído
(palavra 0, bit 13)
Este bit é ativado em varreduras onde é computado o
algoritmo PID. É computado à taxa de atualização do
circuito.
EN PID Ativado (palavra
0, bit 15)
Este bit é ativado enquanto a linha da instrução PID
estiver ativada
43. 49
EXEMPLO:
Programa para realizar o controle PID da temperatura de uma caldeira. A
medição de temperatura é realizada através de um transmissor cuja saída é no padrão 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 operação do controle entre automático ou manual
através de uma chave on-off. O transmissor e o elemento final de controle são
simulados com o módulo de entrada e saída analógica. Este módulo fornece tensões de
0 a 10 V(entrada analógica) e mede tensões de 0 a 10 V sobre um resistor de 250 Ω
(saída analógica). Portanto, será utilizado o padrão de tensão da instrumentação de 1 a 5
V (0 a 100%).
44. 50
DESAFIO:
No programa exemplo da instrução PID, Acrescentar as instruções para, caso haja
algum problema no transmissor, desligar o aquecimento e soar um alarme. Acrescentar
também as instruções para o operador poder alterar o Set Point através de uma chave
codificadora (Thumbwheel), simulada através de chaves on-off.
45. 51
8.COMUNICAÇÃO EM REDE
8.1 MSG [LER/GRAVAR MENSAGEM]
MSG é uma instrução de saída que transfere dados de um nó para outro na rede
de comunicações DH-485. Quando a instrução é ativada, a transferência de mensagem
fica pendente. A transferência de dados reais acontece no final da varredura.
A instrução pode ser programada para gravar ou ler a mensagem. O dispositivo
alvo pode ser outro processador SLC 500 na rede, ou um dispositivo não SLC 500.
PARÂMETROS
Tipo – fixo em Ponto-a-Ponto. Esse campo não pode ser alterado.
Ler/Gravar - Ler significa que o processador local irá receber dados. Gravar
significa que o processador local irá enviar dados.
Dispositivo Destino - indica o nome do tipo de dispositivo com que o
processador SLC 500 local irá comunicar-se. Ele pode ser 500CPU se o destino for
outro processador SLC, 485CIF se o destino for um dispositivo não SLC em uma rede
DH-485, ou PLC-5 se o dispositivo de destino aceita comandos PLC-5.
Local/Remoto - indica se a mensagem deve ser comunicada por meio de uma
rede DH-485 local, ou a um dispositivo remoto em outra rede através de um ponte.
( EN )
( ER )
( DN )
Ler/Gravar Mensagem
Tipo Ponto-a-Ponto
Ler/Gravar Leitura
Dispositivo Alvo 500CPU
Local/Remoto
Local
Bloco de Controle
N7:20
MSG
46. 52
Bloco de Controle - identifica um endereço de arquivo de inteiros que você
seleciona. É um arquivo de inteiros de 14 palavras que contém os bits de status, o
endereço de arquivo de destino, e outros dados associados à instrução de mensagem.
Comprimento do Bloco de Controle - fixo, 14 elementos. Esse campo não
pode ser alterado.
Tela de Instalação - clique duas vezes nesse campo na instrução para chamar
uma tela de configuração avançada.
TELA DE INSTALAÇÃO
Na caixa “Esta controladora” são colocados os dados do CLP que está sendo
programado.
Comando de Comunicação – indica o tipo de dispositivo e de operação (leitura ou
gravação) selecionada na instrução MSG. Não permite alteração nesta tela.
Endereço da Tabela de Dados – Primeiro endereço do bloco de dados a ser
recebido (Leitura) ou enviado (gravação). Exemplo: B3:1, N7:3
Tamanho em Elementos - o comprimento da mensagem.
Tipos de arquivos comprimento máximo
O, I, S, B, N, A 1 a 103
F 1 a 51
T, C, R 1-34
ST 1-2
Canal - Identifica o canal físico usado para a comunicação da mensagem. O canal é
0 para comunicação através da RS-232 e o canal é 1 para comunicação através da
RS-485.
Na caixa “Disp. de Destino” são colocados os dados do outro CLP, com o qual é
feita a comunicação.
Tempo de Espera Mensagem (Segundos) - duração do temporizador de mensagem.
Este é o tempo máximo entre o envio da mensagem e o recebimento da resposta
correspondente. Caso seja excedido, o Bit de erro é ativado. Um tempo de espera de
0 segundos significa que o temporizador está desativado e a mensagem aguardará
indefinidamente uma resposta. Intervalo válido é de 0 a 255 segundos.
Endereço da Tabela de Dados – Primeiro endereço do bloco de dados no outro
CLP enviando dados (Leitura) ou recebendo dados (gravação).
47. 53
Endereço do Nó Local (decimal) - o número do nó do dispositivo que irá
comunicar-se com o CLP. A faixa válida é de 0 a 31. O equivalente octal também é
mostrado na tela Configuração de Mensagem.
8.2 SVC [Comunicações de Serviço]
Exemplo:
SVC faz com que a varredura de programa seja interrompida para
executar a parte de comunicações de serviço do ciclo operacional (instrução
MSG). Então a varredura retoma na instrução seguinte à instrução SVC.
Quando um canal não é selecionado para ser atendido pela instrução
SVC, esse canal é atendido normalmente no final da varredura.
Comunicações de
Serviço
Canal 0
Sim
SVC
48. 54
EXEMPLO:
Programa para que 4 chaves localizadas em um CLP (transmissor) comandem
quatro lâmpadas localizadas em outro CLP (receptor) ligado em rede com o primeiro.
Importante: Deve-se ativar o bit de Execução Contínua (CO = 1) na tela de
Instalação
TRANSMISSOR :
49. 55
RECEPTOR:
DESAFIO:
Programa para que 4 chaves localizadas em um CLP (local) comandem quatro
lâmpadas localizadas em outro CLP (remoto) ligado em rede com o primeiro. Ao
mesmo tempo, outras 4 chaves no CLP remoto comandam outras 4 lâmpadas no
CLP local.
50. 56
9 MOVIMENTAÇÃO DE DADOS
As instruções de movimentação de dados são instruções de saída, ou seja, só são
executadas quando as condições da linha são verdadeiras.
9.1 COP [Copiar Arquivo]
Exemplo
Quando as condições da linha são verdadeiras para essa instrução de saída, um
arquivo de origem definido pelo usuário é 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 serão transferidas.
Parâmetros
Origem - o endereço do arquivo você deseja copiar. Use o indicador de arquivo
(#) no endereço.
Destino - o endereço inicial onde o arquivo de origem é copiado. Use o
indicador de arquivo (#) no endereço.
Comprimento - o número de elementos no arquivo que você deseja copiar.
Pode ser especificado um comprimento máximo de 128 palavras.
Copiar Arquivo
Origem
#B3:80
Destino
#B3:20
COP
51. 57
9.2 FLL [Preencher Arquivo]
Exemplo:
Essa instrução de saída preenche as palavras de um arquivo com um
valor da origem.
Os elementos são preenchidos em ordem crescente até alcançar o número
de elementos (o comprimento) ou até alcançar o último elemento do arquivo de
destino, o que ocorrer primeiro.
O tipo de arquivo de destino determina o número de palavras por
elemento que a instrução transfere. Por exemplo, se o tipo de arquivo de destino
for contador e o tipo de arquivo de origem for inteiro, três palavras inteiras são
transferidas para cada elemento no arquivo tipo contador.
Nenhuma conversão de dados ocorre se os arquivos de origem e de
destino são de tipos diferentes; use o mesmo tipo de arquivo para os dois.
Parâmetros
Origem - a constante de programa ou endereço do elemento. O indicador de
arquivo (#) não é necessário para um endereço de elemento.
Destino - o endereço do arquivo de destino. A instrução grava sobre quaisquer
dados já armazenados no destino.
Comprimento - o número de elementos no arquivo que você quer preencher.
você pode especificar um comprimento máximo de 128 palavras.
Preencher Arquivo
Origem 80
Destino #C5:0
Comprimento
16
FLL
52. 58
9.3 BSR [Deslocar Bit à Direita] e BSL [Deslocar Bit à
Esquerda]
Exemplo:
Em cada transição desligado-para-ligado na entrada, essa instrução de
saída carrega um bit de dados em um bloco de bits, desloca o bloco para a direita
e descarta o bit final .
Exemplo:
Em cada transição desligado-para-ligado na entrada, essa instrução de
saída 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 instruções é acompanhar garrafas em uma
linha de engarrafamento onde cada bit representa uma garrafa.
( EN )
( DN )
Deslocar Bit à Direita
Arquivo #B3:7
Controle R6:4
Endereço do Bit B3/27
Comprimento
8
BSR
( EN )
( DN )
Deslocar Bit à Esquerda
Arquivo #B3:7
Controle R6:5
Endereço do Bit B3/2
Comprimento
4
BSL
53. 59
Parâmetros
Arquivo - esse é o endereço do bloco de bits que você deseja deslocar. Você
deve usar o indicador de arquivo (#) no endereço do bloco de bits. . Você deve
iniciar o bloco no limite do elemento de 16 bits, por exemplo, use o bit 0 do
elemento Núm1, 2, 3 etc.
Controle - Esse é o endereço exclusivo da estrutura de controle (48 bits, 3
palavras de 16 bits) na área de controle da memória que armazena os bits de
status da instrução, o tamanho do bloco (em número de bits), e o apontador do
bit (atualmente não 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
M
D
N
E
R
U
L
Não Usado
Palavra
1
Tamanho do bloco de bits (número de bits)
Palavra
2
Apontador do Bit (atualmente não em uso)
9.4 Bits de Status da Palavra de Controle
UL (descarregar) – bit de saída do bloco após o deslocamento.
ER (erro) – indica que um erro ocorreu, como um número negativo para o
comprimento ou posição
DN (pronto) – indica que um deslocamento foi realizado.
EN (ativar) – ativado quando a linha de entrada passa de falso para verdadeiro.
Endereço do Bit - o local do bit que será adicionado ao bloco.
Comprimento - o número total de bits a ser deslocado. Podem ser até 2048 para o
SLC e até 1680 para o MicroLogix 1000
54. 60
EXEMPLO:
Programa que detecta e descarta garrafas com a boca ou o fundo quebrados em
uma linha de engarrafamento, utilizado as instruções BSR ou BSL. Os sensores de
garrafa (I:1/5) e de boca de garrafa (I:1/9) são simulados com chaves on-off e o atuador
de descarte é simulado com uma lâmpada.
DESAFIO:
Acrescentar, no programa exemplo de movimentação de dados, as
instruções que realizem a contagem do número de garrafas quebradas, acionando
um alarme quando este número atingir 20 unidades.
10. Instruções Matemáticas avançadas
As instruções matemáticas avançadas são instruções de saída e estão disponíveis
apenas nos processadores mais recentes, como os processadores SLC 5/03 OS302 e
SLC 5/04 OS401
55. 61
10.1 SCP [Escala com Parâmetros]
Exemplo de Instrução
Essa instrução de saída consiste de seis parâmetros. Os parâmetros podem ser
inteiro, ponto flutuante, ou valores de dados imediatos ou endereços contendo valores.
O valor de entrada é escalado para a faixa determinada de saída criando-se um
relacionamento linear entre os valores mínimo e máximo de entrada e os valores
mínimo e máximo de saída. O resultado escalado é colocadoo endereço indicado pelo
parâmetro de saída.
Você pode usar endereços indexados ou indiretos.
Fornecendo Parâmetros
Entrada - Digite um valor para ser escalado. Pode ser um endereço de palavra
ou um endereço de elementos de dados de ponto flutuante.
Entrada Min - Digite um valor mínimo para a entrada (extremo inferior da
faixa). Pode ser um endereço de palavra, uma constante inteira, um elemento de dados
de ponto flutuante ou constante de ponto flutuante.
Entrada Max - Digite um valor máximo para a entrada (extremo superior da
faixa). Pode ser um endereço de palavra, uma constante inteira, um elemento de dados
de ponto flutuante ou constante de ponto flutuante.
Escalado Min - Digite o valor mínimo da saída correspondente ao extremo
inferior da faixa de entrada. O relacionamento da escala é linear. Pode ser um endereço
de palavra, uma constante inteira, um elemento de dados de ponto flutuante ou uma
constante de ponto flutuante.
Escalar com
Parâmetros
Entrada N7:3
Entrada Mín.
500
Entrada Máx.
5000
Escalado Mín.
N7:7
SCP
56. 62
Escalado Max - Digite o valor máximo correspondente ao extremo superior da
faixa de entrada. O relacionamento da escala é linear. Pode ser um endereço de
palavra, uma constante inteira, um elemento de dados de ponto flutuante ou uma
constante de ponto flutuante.
Saída - Digite um endereço para o valor escalado que é retornado após a
instrução ser executada. Esse valor pode ser um endereço de palavra ou um endereço de
elementos de dados de ponto flutuante. Se qualquer tipo de arquivo de ponto flutuante
ou constantes de ponto flutuante forem encontradas nos parâmetros acima, então toda a
instrução é tratada como em ponto flutuante, e todas os valores de dados inteiro
imediatos são convertidos para valores de dados imediatos de ponto flutuante.
10.2 ABS [Absoluto ou Módulo]
Exemplo :
ABS calcula o valor absoluto da origem e coloca o resultado no destino.
Origem pode ser um endereço de palavra, uma constante inteira, elemento de
dados de ponto flutuante ou constante de ponto flutuante.
Destino só pode ser um endereço de palavra ou elemento de dados de ponto
flutuante.
Endereçamento indexado ou indireto podem ser usados em parâmetros de
Origem e Destino.
Valor Absoluto
Origem N7:10
Destino N7:12
ABS
57. 63
10.3. Funções Trigonométricas: Seno, Cosseno e Tangente
Exemplos:
SIN calcula o seno da origem (em radianos) e coloca o resultado (em radianos)
no destino.
COS calcula o cosseno da origem em radianos e coloca o resultado, em radianos,
no destino.
TAN calcula a tangente da origem (em radianos) e coloca o resultado (em
radianos) no destino
Você pode usar endereçamento indexado ou indireto para representar endereços
nessas instruções. A Origem pode ser um valor ou um endereço que contém um valor
Seno
Origem
N7:101
Destino N7:42
SIN
Cosseno
Origem
N7:101
Destino N7:42
COS
Tangente
Origem N7:11
Destino N7:42
TAN
58. 64
10.4. LN [Logaritmo Natural] e LOG [Logaritmo Base 10]
Exemplos:
LN calcula o logaritmo natural da origem e coloca o resultado no endereço de
destino.
LOG calcula o log base 10 da origem e coloca o resultado no endereço de
destino.
O parâmetro Origem deve ser maior que zero; ele pode ser um valor constante
ou o endereço que contém um valor
10.5 XPY [X elevado à Potência de Y]
XPY eleva Origem A à potência da Origem B e coloca o resultado no endereço
de destino.
Origem A e Origem B podem ser constante ou endereços, mas Origem A e
Logaritmo Natural
Origem N7:1
Destino N7:4
LN
Logaritmo Base 10
Origem N7:1
Destino N7:4
LOG
X elevado à Potência de
Y
Origem A C5:5
Origem B 5
XPY
59. 65
Origem B não podem ser ambos constantes. Endereçamento indexado ou
indireto podem ser usados nessa instrução.
10.6. CPT [Computar]
Exemplo
CPT executa a operação de cópia, aritmética, lógica ou de conversão residente
no campo da expressão e envia o resultado para o destino.
Endereçamento indexado ou indireto podem ser usados para representar
endereços nessa instrução. O tempo de execução de uma instrução Computar é maior
que o da operação aritmética e usa mais palavras de instrução.
Parâmetros
Destino - Um endereço que indica onde o resultado da operação de cópia,
aritmética, lógica ou conversão, mostrada na Expressão, será armazenado. O destino
pode ser um endereço de palavra ou o endereço de um elemento de dados de ponto
flutuante.
Expressões - A expressão tem zero ou mais linhas, com até 28 caracteres por
linha, e até 255 caracteres no total. As instruções que podem ser usadas na Expressão
incluem: +, -, *, l (DIV), SQR, - (NEG), NOT, XOR, OR, AND, TOD, FRD, LN, TAN,
ABS, DEG, RAD, SIN, COS, ATN, ASN, ACS, LOG e ** (XPY).
Computar
Destino N7:13
Expressões
SQR((N7:4**2)+(N7:3**2))
CPT
61. 67
SISTEMAS DE NUMERAÇÃO.
Todos nós, quando ouvimos pronunciar a palavra números, automaticamente a
associamos ao sistema decimal com o qual estamos acostumados a operar. Este sistema
está fundamentado em certas regras que são base para qualquer outro.
Vamos, portanto, estudar estas regras e aplicá-las aos sistemas de numeração binária,
octal e hexadecimal. Estes sistemas são utilizados em computadores digitais, circuitos
lógicos em geral e no processamento de informações dos mais variados tipos. O
número decimal 573 pode ser também representado da seguinte forma:
57310 = 500 + 70 + 3 ou 57310 = 5 x 102
+ 7 x 101
+ 3 x 100
Isto nos mostra que um dígito no sistema decimal tem, na realidade, dois significados.
Um, é o valor propriamente dito do dígito, e o outro é o que esta relacionado com a
posição do dígito no número (peso). Por exemplo: o dígito 7 no número acima
representa 7 x 10, ou seja 70, devido a posição que ele ocupa no número. Este
principio é aplicável a qualquer sistema de numeração onde os dígitos possuem "pesos",
determinados pelo seu posicionamento. Sendo assim, um sistema de numeração
genérico pode ser expresso da seguinte maneira:
N = dn. Bn
+...+ d3.B3
+ d2.B2
+ dl.B1
+ d0.B0
Onde:
N = Representação do número na base B
dn = Dígito na posição n
B = Base do sistema utilizado
n = Valor posicional do dígito
·
por exemplo, o número 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 Numeração Binário
O sistema binário utiliza dois dígitos (base 2), para representar qualquer quantidade.
De acordo com a definição de um sistema de numeração qualquer, o número binário
1101 pode ser representado da seguinte forma:
11012 = l x 22
+ l x 22
+ 0 x 21
+ l x 20
62. 68
11012 = 8 + 4 + 0 + l = 1310
Note que os índices foram especificados em notação decimal, o que possibilita a
conversão binária-decimal como descrito acima.
Através do exemplo anterior, podemos notar que a quantidade de dígitos necessários
para representar um número qualquer, no sistema binário, é muito maior quando
comparada ao sistema decimal. A grande vantagem do sistema binário reside no fato de
que, possuindo apenas dois dígitos, estes são 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 implementação de sistemas
digitais mecânicos, eletromecânicos ou eletrônicos.
Em sistemas eletrônicos, o dígito binário (0 ou 1) é chamado de BIT, enquanto que um
conjunto de 8 bits é denominado BYTE.
• Conversão Binário - Decimal
A conversão de um número do sistema binário para o sistema decimal é efetuada
simplesmente adicionando os pesos dos dígitos binários 1, como mostra o exemplo a seguir
a) 1 1 0 1 02 b) 1 1 0 0 1 0 02
Solução:
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
• Conversão Decimal - Binário
Para se converter um número decimal em binário, divide-se sucessivamente o número
decimal por 2 (base do sistema binário), até que o último quociente seja 1. Os restos
obtidos das divisões e o último quociente compõem um número binário equivalente,
como mostra o exemplo a seguir.
Converter os seguintes números decimais em binário.
a) 2310 b) 5210
63. 69
Solução: 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 operação de subtração é efetuada através da
representação de números negativos usando complemento de 2. Por exemplo, a
operação 7 - 5 pode ser representada como sendo 7 + (-5). Observe que, na segunda
representação, a operação efetuada é uma adição de um número positivo com um
negativo.
O complemento de 2 um número binário é obtido adicionando-se l ao complemento de 1
do mesmo. O complemento de 1 é obtido simplesmente invertendo-se os dígitos que
formam o número.
Exemplo:
Calcule o 20
complemento dos seguintes números binários.
a) 1 0 0 12 b) 1 1 0 12
Solução:
a) 1 0 0 1 b) 1 1 0 1
0 1 1 0 → complemento de 1 0 0 1 0 → complemento de 1
+ 1 + 1
0 1 1 1 → complemento de 2 0 0 1 1 → complemento de 2
No exemplo, a o número 910 ( 1 0 0 12 ) tem como complemento de 2: 0 1 1 12.
O complemento de 2 é a representação negativa do número binário, ou seja, -910 é
representado como: 0 1 1 12.
A subtração binária através do segundo complemento, é realizada somando-se o
subtrator com o complemento de 2 do subtraendo, como mostra o exemplo a seguir.
64. 70
Subtraia os seguintes números em binários.
a) 1310 - 710 b) 610 - 910
Solução:
a) 1310 = 1 1 0 12
710 = 0 1 1 12
Calculando o complemento de 2 de 710 ( 0 l l l2 ), temos:
0 1 1 1 logo:
1 0 0 0 → complemento de 1 13 = 1 1 0 1
+ 1 −7 = +1 0 0 1
1 0 0 1 → complemento de 2 6 0 1 1 0
OBSERVAÇÃO:
Sempre que houver carry (vai um) do bit mais significativo, ele deverá ser desprezado.
b) 610 = 0 1 1 02
910 = 1 0 0 12
Calculando o complemento de 2 de 910 ( 1 0 0 12 ), temos:
1 0 0 1
0 1 1 0 → complemento de 1
+ 1
0 1 1 1 → complemento de 2
Se no resultado da soma ( 1 1 0 1 ) não existe carry (vai um), devemos achar o
complemento de 2 deste número e acrescentar o sinal negativo.
1 1 0 1 então:
0 0 1 0 → complemento de 1 6 − 9 = − 3
+ 1 ou seja:
0 0 1 1 → complemento de 2 − 0 0 1 1
OBSERVAÇÃO:
Podemos achar o complemento de 2 de um número binário a partir da seguinte regra:
conservamos o primeiro bit 1 (um) menos significativo e efetuamos o complemento de
1 dos bits mais significativos ( bits da esquerda )
65. 71
Sistema de Numeração Hexadecimal
O sistema hexadecimal, ou sistema de base 16, é largamente utilizado nos
computadores de grande porte, tais como, IBM system 360, IBM system 370, IBM
1130, Honeywell 200, RCA spectra 70, entre outros. Neste sistema são utilizados 16
símbolos para representar cada um dos dígitos hexadecimais, conforme a tabela a
seguir:
NO
DECIMAL DÍGITO HEXADECIMAL NO
BINÁRIO
0 0 0 0 0 0
1 1 0 0 0 1
2 2 0 0 1 0
3 3 0 0 1 1
4 4 0 1 0 0
5 5 0 1 0 1
6 6 0 1 1 0
7 7 0 1 1 1
8 8 1 0 0 0
9 9 1 0 0 1
10 A 1 0 1 0
11 B 1 0 1 1
12 C 1 1 0 0
13 D 1 1 0 1
14 E 1 1 1 0
15 F 1 1 1 1
Note que as letras A, B, C, D, E, F representam dígitos associados às quantidades
10,11,12,13,14 e 15 respectivamente.
• Conversão Hexadecimal - Decimal
Novamente aplicamos para o sistema hexadecimal a definição de um sistema de
numeração qualquer. Assim temos:
N = dn.l6n
+ . . . + d2.162
+ dl.l61
+ d0.l60
Para se efetuar a conversão, basta adicionar os membros da segunda parcela da
igualdade, como ilustra o exemplo a seguir:
66. 72
a ) 2316 b) 3B16
S o l u ç ã o :
a) 2316 = 2 x 161
+ 3 x 160
2316 = 2 x 16 + 3 x 1
2316 = 3510
b) 3B16 = 3 x 161
+ 11 x 160
3B16 = 3 x 16 + 11 x 1
3B16 = 5910
Observe que o dígito hexadecimal "B", no exemplo (b), é equivalente ao número 11
decimal, como mostra a tabela apresentada anteriormente.
• Conversão Decimal - Hexadecimal
A conversão decimal-hexadecimal é efetuada através das divisões sucessivas do número
decimal por 16, como demonstrado no exemplo a seguir.
a) 15210 b) 24910
S o l u ç ã o:
a) l 52
b) 249
l o g o :
a) 15210 = 9816
b) 24910 = F916
67. 73
Números Decimais Codificados em Binário (BCD)
Como já foi discutido anteriormente, os sistemas digitais em geral, trabalham com
números binários. Com o intuito de facilitar a comunicação homem-máquina, foi
desenvolvido um código que representa cada dígito decimal por um conjunto de 4
dígitos binários, como mostra a tabela seguinte:
No
DECIMAL REPRESENTAÇÃO BINÁRIA
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
Este tipo de representação é denominado de código BCD (Binary-Coded
Decimal). Desta maneira, cada dígito decimal é representado por grupo de quatro bits,
como ilustrado a seguir:
52710 = 0101 0010 0111
52710 = 0101001001112
Observe que a conversão decimal-BCD e BCD-decimal é direta, ou seja,
separando-se o dígito BCD em grupos de 4 bits, cada grupo representa um dígito
decimal, como ilustrado a seguir.
a) 29010 b) 63810
S o l u ç ã o :
a) 29010 = 0010 1001 0000
29010 = 0010100100002
b) 63810 = 0110 0011 1000
63810 = 0110001110002
E x e m p l o :
Converter os seguintes números BCD para decimal.
68. 74
a) 1001010000001000 b) 1001101001
S o l u ç ã o :
a) 1001010000001000 = 1001 0100 0000 1000
1001010000001000 = 9 4 0 8
= 9 4 0 810
b) 001001101001 = 0010 0110 1001
001001101001 = 2 6 9
= 2 6 910
70. 76
Referências
ALLEN-BRADLEY . Reference manual
SIMPSON, Colin D. Programmable logic controllers. 1994
BRYAN, Eric A. Programmable controllers.
Disponível em http:// www.plcs.net (tutorial sobre CLP)
Disponivel em http://www.ab.com (ALLEN-BRADLEY)
Disponivel em http:// www.smar.com.br
Disponivel em http:// www.altus.com.br
Disponivel em http:// www.siemens.com
Disponivel em http:// www.modicon.com