Você está na página 1de 73

CIMATEC

CLP Avançado - AB
CIMATEC

CLP Avançado - AB

Salvador
2005
Copyright 2005 por SENAI DR BA. Todos os direitos reservados

Área Tecnológica de Automação Industrial

Elaboração:Jadson Aragão Rezende Filho


Paulo Mânio de Abreu Moreira

Revisão Técnica: Milton Bastos de Souza

Revisão Pedagógica: Maria Célia Calmon Santos

Normalização: Sueli Madalena Costa Negri

Catalogação na fonte (NIT – Núcleo de Informação Tecnológica)


___________________________________________________

SENAI-DR BA. CLP avançado AB. Salvador, 2005.


73p. il. (Rev.00)

1. CLP avançado l. título

CDD 629.8
____________________________________________________

SENAI CIMATEC
Av. Orlando Gomes, 1845 - Piatã
CEP 41650-010 Salvador – Bahia – Brasil
Tel.: (71)3462-9500 Fax. (71)3462-9599
http://www.cimatec.fieb.org.br
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
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
APRESENTAÇÃO

Com o objetivo de apoiar e proporcionar a melhoria contínua do padrão de qualidade


e produtividade da indústria, o SENAI BA desenvolve programas de educação
profissional e superior, além de prestar serviços técnico e tecnológicos. Essas
atividades, com conteúdos tecnológicos, são direcionadas para indústrias nos
diversos segmento, através de programas de educação profissional, consultorias e
informação tecnológica, para profissionais da área industrial ou para pessoas que
desejam profissionalizar-se visando inserir-se no mercado de trabalho.

Este material didático foi preparado para funcionar como instrumento de consulta.
Possui informações que são aplicáveis de forma prática no dia-a-dia do profissional,
e apresenta uma linguagem simples e de fácil assimilação. É um meio que
possibilita, de forma eficiente, o aperfeiçoamento do aluno através do estudo do
conteúdo apresentado no módulo.
1. CONTROLADOR LÓGICO PROGRAMÁVEL SLC 500

1.1. COMPONENTES DO HARDWARE

1.1.1 CARACTERÍSTICAS DA FAMÍLIA SLC 500

Tempo de
Número de Máximo de E/S
Memória do Varredura do Tempo de
Processador. pontos de analógicas
usuário Programa/ varredura de E/S
E/S (local)
Kpalavra

84 total
SLC 500 (1747-L20) 1K instruções (local) 4 8 ms (tip) 2.6 ms (tip)

94 total
SLC 500 (1747-L30) 1K instruções 4 8 ms (tip) 2.6 ms (tip)
(local)

104 total
SLC 500 (1747-L40) 1K instruções 4 8 ms (tip) 2.6 ms (tip)
(local)

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)

4096 in +
SLC 5/02 (1747-L524) 4K instruções 96 4.8 ms (tip) 1.6 ms (tip)
4096 out

4096 in +
SLC 5/03 (1747-L531) 8K palavras 96 1 ms (tip) 0.225 ms (tip)
4096 out

4096 in +
SLC 5/03 (1747-L532) 16K palavras 96 1 ms (tip) 0.225 ms (tip)
4096 out

4096 in +
SLC 5/04 (1747-L541) 16K palavras 96 0.9 ms (tip) 0.225 ms (tip)
4096 out

4096 in +
SLC 5/04 (1747-L542) 32K palavras 96 0.9 ms (tip) 0.225 ms (tip)
4096 out

4096 in +
SLC 5/04 (1747-L543) 64K palavras 96 0.9 ms (tip) 0.225 ms (tip)
4096 out

4096 in +
SLC 5/05 (1747-L551) 16K palavras 96 0.9 ms (tip) 0.225 ms (tip)
4096 out

4096 in +
SLC 5/05 (1747-L552) 32K palavras 96 0.9 ms (tip) 0.225 ms (tip)
4096 out

4096 in +
SLC 5/05 (1747-L553) 64K palavras 96 0.9 ms (tip) 0.225 ms (tip)
4096 out

7
Processador. Número Número máximo
Postas de Memória de Bateria para Consumo de
Máximo de de módulos de
Comunicação Backup RAM corrente da CPU
Chassis E/S (local)
SLC 500 (1747-L20) EEPROM ou
1 2 DH-485 Opcional N/A (arq. fixa)
UVPROM
SLC 500 (1747-L30) EEPROM ou
1 2 DH-485 Opcional N/A (arq. fixa)
UVPROM
SLC 500 (1747-L40) EEPROM ou
1 2 DH-485 Opcional N/A (arq. fixa)
UVPROM
SLC 5/01 (1747-L511) EEPROM ou 350mA em 5V dc
3 30 DH-485 Opcional
UVPROM 105mA em 24V dc
SLC 5/01 (1747-L514) EEPROM ou 350mA em 5V dc
3 30 DH-485 Opcional
UVPROM 105mA em 24V dc
SLC 5/02 (1747-L524) EEPROM ou 350mA em 5V dc
3 30 DH-485 Padrão
UVPROM 105mA em 24V dc
SLC 5/03 (1747-L531) DH-485 500mA em 5V dc
3 30 Flash Padrão
RS-232 175mA em 24V dc
SLC 5/03 (1747-L532) DH-485 500mA em 5V dc
3 30 Flash Padrão
RS-232 175mA em 24V dc
SLC 5/04 (1747-L541) DH+ 1.0A em 5V dc
3 30 Flash Padrão
RS-232 200mA em 24V dc
SLC 5/04 (1747-L542) DH+ 1.0A em 5V dc
3 30 Flash Padrão
RS-232 200mA em 24V dc
SLC 5/04 (1747-L543) DH+ 1.0A em 5V dc
3 30 Flash Padrão
RS-232 200mA em 24V dc
SLC 5/05 (1747-L551) Ethernet 1.0A em 5V dc
3 30 Flash Padrão
RS-232 200mA em 24V dc
SLC 5/05 (1747-L552) Ethernet 1.0A em 5V dc
3 30 Flash Padrão
RS-232 200mA em 24V dc
SLC 5/05 (1747-L553) Ethernet 1.0A em 5V dc
3 30 Flash Padrão
RS-232 200mA em 24V dc

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

Tensão de entrada Variação da Potência de Corrente de Saída Fusível Corrente da fonte


Fonte nominal tensão de entrada entrada do usuário

120Vca / 220Vca 85-132V ca 2A a 5V cc 3A,


1746-P1 47-63 Hz 170-265V ca
42W
0.46A a 24V cc 250V
0.2A a 24V cc

1746- 120Vca / 220Vca 85-132V ca 5A a 5V cc 3A,


70W 0.96A a 24V cc 250V 0.2A a 24V cc
P2 47-63 Hz 170-265V ca

1746- 3.6A a 5V cc 5A,


24V cc 19.2-28.8V cc 61W 0.87A a 24V cc 250V N/A
P3

1746- 10A a 5V cc não tem


120Vca / 220Vca 85-132V ca 2.88A a 24V cc
P4 92W 1A a 24V cc
47-63 Hz 170-265V ca

5A a 5V cc não tem
1746-P5 125V cc 90-146V cc 85W 0.2A a 24V cc
0.96A a 24V cc

9
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
85-132 8 -IA8 Entradas uso geral 120V ac
16 -IA16
ac
4 -IM4
Entradas uso geral 220/240V
170-265 8 -IM8
ac
16 -IM16
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
Entradas dc de uso geral
8 -IV8
10--30 Source
16 -IV16
(Sink Load)
dc 16 -ITV16
resposta rápida
10--30 Sink (Source Load) 16 -ITB16
15--30 Sink (Source Load) 32 -IB32 Entradas dc de uso geral alta
densidade para espaço
15--30 Source (Sink Load) 32 -IV32 limitado de painel
30--55 Sink (Source Load) 16 -IC16 entradas de uso geral 48V 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

Corrente Número de
Tensão de Corrente Máxima Número de
Tipo Máxima por Catálogo Aplicações
operação por Saída Saídas
Módulo 1746
1.0A @ 30° C 8A @ 30°C
8 -OA8
0.5A @ 60° C 4A @ 60°C
Uso geral 120/240V ac saídas
0.5A @ 30° C 8A @ 30°C
16 -OA16
ac 85--265 0.25A @ 60° C 4A @ 60°C
2.0A @ 30° C saídas 120/240V ac alta
9.0A @ 30° C
1.25A @ 55° C 12 -OAP12 corrente; 6 saídas por comum;
6.0A @ 60° C
1.0A @ 60° C comuns protegidos por fusível

10
1.1.3.4 MÓDULOS DE SAÍDAS DIGITAIS DC
Corrente
Corrente Número
Tensão de Máxima Número de
Tipo Máxima por de Aplicações
operação por Catálogo 1746-
Saída Saídas
Módulo
Saídas dc individualmente
10--30 2.0A 12A @ 0 a
6 OB6EI isoladas com fusível eletrônico
Source @ 0 a 60° C 60°C
que rearma automaticamente
10--50 1.0A @ 30° C 8A @ 30°C
8 OB8
Source 0.5A @ 60° C 4A @ 60°C
10--50 1.0A @ 30° C 8A @ 30°C
8 OV8 saídas dc de uso geral
Sink 0.5A @ 60° C 4A @ 60°C
10--50 0.50A @ 30° C 8A @ 30°C
16 OB16
Source 0.25A @ 60° C 4A @ 60°C
10--30 1.00A @ 30° C 8A @ 0 a Saídas dc com fusível eletrônico
16 OB16E
Source 0.50A @ 60° C 60°C que rearma automaticamente
10--50 0.5A @ 30° C 8A @ 30°C
16 OV16 saídas dc de uso geral
Sink 0.25A @ 60° C 4A @ 60°C
dc
20.4--26.4 8.0A @ 0
2.0A @ 60° C 8 OBP8 Saída de alta corrente dc source
Source to 60°C
20.4--26.4 1.5A @ 30° C 6.4A @ 0 Saída de alta corrente dc source,
16 OBP16
Source 1.0A @ 60° C to 60°C fusível no comum
20.4--26.4 1.5A @ 30° C 6.4A @ 0 Saída de alta corrente dc sink,
16 OVP16
Sink 1.0A @ 60° C to 60°C fusível no comum
5 Sink 0.024A 0.384A 16 OG16 Cargas TTL; display sink-load
5--50 0.5A @ 30° C 8.0A @ 0 saídas dc alta densidade baixa
32 OB32
Source 0.25A @ 60° C to 60°C corrente
10--32 0.5A @ 30° C 8.0A @ 0 Saídas dc com fusível eletrônico
32 OB32E
Source 0.25A @ 60° C to 60°C que rearma automaticamente
5--50 0.5A @ 30° C 8.0A @ 0 saídas dc alta densidade baixa
32 OV32
Sink 0.25A @ 60° C to 60°C corrente

1.1.3.5 MÓDULOS DE SAÍDAS DIGITAIS DE CONTATOS

Corrente Corrente Número de


Tensão de Número de Tipo de
Máxima por Máxima por Catálogo Aplicações
operação Saídas Contatos
Saída Módulo 1746-
Saídas a contatos de rele
3A @ 120V ac
See 8 OX8 de alta corrente isoladas
1.2A @ 24V dc
individualmente
1.5A @ 120V ac Contatos
5--265 ac 8A 4 OW4 Saídas a contatos de rele
1.2A @ 24V dc de rele
5-125 dc
1.5A @ 120V ac 16A 8 (2 grupos N.A. Saídas a contatos de rele;
OW8
1.2A @ 24V dc 8A/comum de 4) 4 saídas por comum
1.5A @ 120V ac 16A 16 (2 grupos Saídas a contatos de rele;
OW16
1.2A @ 24V dc 8A/comum de 8) 8 saídas por comum

11
1.1.3.6 MÓDULOS COMBINADOS E/S DIGITAIS
Entradas Saídas
Tensão de Número Cat. No.
Tensão de Número de Corrente Máxima Aplicações
Operação de 1746-
operação Entradas por saída
/Tipo Saídas
2 2 IO4
5-265 V ac Combinado de entradas de 120V
85-132 ac 4 4 IO8
5-125 V dc 1.5A @ 120V ac ac e saídas a contatos de rele
6 contatos NA 1.2A @ 24V dc 6 IO12
de rele Combinado de entradas de 24V
10-30 dc 6 6 IO12DC
dc e saídas a contatos de rele

1.1.3.7 MÓDULOS DE E/S ANALÓGICOS

Tempo
Número de Entradas/Saídas Número de Catálogo Resolução Máxima (bits)
Atualização
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
1746-NI16I não aplicável 16
0--1mA, or 0--20mA)
16 entradas (±10V dc, 1--5V dc
1746-NI16V não aplicável 16
0--5V dc, or 0--10V dc)
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) 16 in
1746-NIO4V 512µs
2 saídas (±10V dc) 14 out
2 entradas (±10V dc, ±20 mA) 16 in
1746-NIO4I 512µs
2 saídas (0-20 mA) 14 out
2 entradas (diferenciais, 0-10V dc, 0-20 mA) 1746-FIO4I 12 in
512µs
2 saídas (0-20 mA) (saídas de corrente) 14 out
2 entradas (diferenciais, 0-10V dc, 0-20 mA) 1746-FIO4V 12 in
512µs
2 saídas (±10V dc) (saídas de tensão) 14 out

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

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

1.1.1.1.2 REM

1.1.1.1.1 RUN
1.1.1.1.3 PROG

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

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

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

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

17
3. INSTRUÇÕES DE CONTROLE DE PROGRAMA

3.1. JMP [SALTAR PARA RÓTULO] E LBL [RÓTULO]

Exemplo :

( JMP
)

] LBL
[

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

18
19
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:

SBR
Subrotina

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
Saltar para Subrotina
Número de Arquivo SBR
U:5

JSR é uma instrução de saída que faz com que o processador salte para o arquivo
alvo da subrotina.

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

RET
Retorno

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

21
LAD 3 – SEMÁFORO

LAD 4 – PICAPISCA

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

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

24
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

25
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

26
5. INSTRUÇÕES COM MÁSCARA
5.1. MEQ [COMPARAÇÃO MASCARADA]

Exemplo de Instrução:
MEQ
Mascarada por Igual

Origem C5:5

Máscara 01E0h

Comparar 64

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

27
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
Mover com Máscara

Origem N7:0

Máscara 01E0h

Destino N7:9

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.

28
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
Para BCD

Origem N7:10

Destino O:12.1

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

29
5.4. FRD [CONVERTER DE BCD PARA INTEIRO]

Exemplo:
FRD
Converter de BCD

Origem N7:10

Destino N7:55

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.

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

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

32
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
4 diferenciais, selecionáveis para Não tem
1746 - NI4 tensão ou corrente por canal, não
isolados individualmente.
2 diferenciais, selecionáveis para 2 saídas de corrente, não
1746 - NIO4I tensão ou corrente por canal, não isoladas individualmente
isolados individualmente.
2 diferenciais, selecionáveis para 2 saídas de tensão, não
1746 - NIO4V tensão ou corrente por canal, não isoladas individualmente
isolados individualmente
Não tem 4 saídas de corrente, não
1746 - NO4I isoladas individualmente

Não tem 4 saídas de tensão, não


1746 - NO4V 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

33
6.2 SCL - Escala
Exemplo:

SCL
Escala

Origem I:9.1

Taxa [/10000] 4000

Deslocamento 100

Destino N7:14

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.

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

35
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 400 oC (0 a 100%). O
aquecimento liga caso a temperatura caia até 300 oC e desliga se a temperatura subir até
350 oC. 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%)

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

PID

Bloco de Controle
N7:9

Variável de Processo
I:9.0

Variável de Controle
N7:11

Comprimento do Bloco de Controle


23
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
Tela dede controle de processo.
Configuração
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.

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

38
7.2 A EQUAÇÃO PID
A instrução PID usa o seguinte algoritmo:

 1 dPV 
CV  Kc ( E )   Edt  Td
 Ti dt 

As constantes de Ganho Padrão são:

Termo Símbolo Faixa (Inferior para Superior)


Ganho do Kc 0,1 a 25,5 (sem dimensão)
Controlador 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 Td 0,01 a 2,55 (minutos)
Derivativo 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

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

40
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 0 até +327,67* Este é o ganho proporcional da equação
do PID.
Controlador
Ti Tempo 0 até +327,67* Este é o tempo integral da equação PID.
Integral minutos
Td Tempo 0 até +327,67* Este é o tempo derivativo da equação PID.
Derivativo minutos
Atualizar 0.01 a 10.24 Este é o intervalo de tempo entre cálculos
Circuito segundos 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.
Selecione Ação Reversa causa um aumento no CV de
Modo E = SP - PV (Ação saída quando o PV de entrada é menor que
Controle Reversa) ou o set point SP (por exemplo, em uma
E = PV - SP (Ação aplicação de aquecimento). Ação direta
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 indica que o PID controla a saída.
Auto ou Manual Manual indica que o usuário define a saída.
Com o modo Temporizado selecionado, o
Modo de Selecione PID atualiza a sua saída a intervalos
Data/Hora Temporizado ou especificados no parâmetro de atualização
STI 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

41
atualização do circuito PID. Defina o
período STI na palavra S:3.0
Limitar Selecione Selecionar Sim limita a saída aos valores
Saída CV Sim ou Não mínimo e máximo. Selecionar Não não
aplica limites à saída.
Zona Morta 0 até o máximo A zona morta se estende acima e abaixo do
DB escalado, ou entre set point especificado por você. A zona
0 e 16383 quando morta só tem efeito depois que a variável de
não existe escala. 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


1 e 16383, ou Set Point ou o ponto de controle desejado
Valor de Ref. dentro da faixa da variável do processo.
SP válida de
unidades de
engenharia
Se o Set Point carregar unidades de
Val. Ref. -32768 até engenharia, isto corresponde ao valor do
MÁX (Vmáx) +32767 Set Point em unidades de engenharia
quando a entrada de controle for 16383
(100%).
Se o Set Point carregar unidades de
Val. Ref. MÍN -32768 até engenharia, então este parâmetro
(Vmín) +32767 corresponde ao valor do set point em
unidades de engenharia quando a entrada
de controle for 0 (0%).
Variável de (Não editável, só Este é o valor da variável de processo (a
Processo PV para visualização) entrada analógica) em unidades de
engenharia

Saída

Parâmetro Faixa válida Descrição


Controlar 0 a 100 % Permite alterar a variável de controle de
Saída CV (%) saída somente se você tiver selecionado o
modo manual.
Se CV cair abaixo deste valor mínimo, o bit
Saída Mín 1 a 99 % de alarme de limite inferior (LL) de saída
(CV%) será ativado.

Se Limitar Saída CV for Sim, o valor que


você digitar será a porcentagem mínima de

42
saída que a variável de controle CV atingirá.

Se CV exceder este valor máximo, o bit de


Saída Máx. 1 a 99 % alarme de limite superior (UL) de saída será
(CV%) 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á.

Este é o erro da equação PID ( E = SP -


Erro de Escala (Não editável, só PV ou
SE para E = PV - SP ).
visualização) 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 D P S LL UL D D TF S R O C A TM
N N V P B A C G L M M
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!!

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.

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 Especifica o modo PID. É 1 para o modo


Data/Hora (palavra 0, bit TEMPORIZADO e 0 para o modo STI.
0)
AM Bit Auto/Manual Especifica a operação automática quando 0 e a
(palavra 0, bit 1) operação manual quando 1.
CM Bit de Modo de Este bit é 0 se o controle for E=SP-PV. É 1 se o
Controle (palavra 0, bit controle for E=PV-SP.
2)
OL Bit de Limitar Saída Este bit deve ser 1 se você optar por limitar a variável
Ativado (palavra 0, bit 3) de controle.

Bits configurados pelo usuário

RG Bit Redefinir Ganho Quando 1, este bit faz com que o valor de Ti e Kc
(palavra 0, bit 4) 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 Quando 1, os cálculos do termo derivativo da
Derivativa (palavra 0, bit equação do PID são feitos sobre o erro. Quando 0,
7) 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

44
Escala de Set Point Set Point não foram especificados
(palavra 0, bit 5)
TF Tempo de Este bit é ativado pelo algoritmo PID se o tempo de
Atualização de Circuito atualização de circuito especificado não puder ser
Muito Rápido (palavra atingido pelo programa (devido a limitações de
0, bit 6) 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 Ativado quando a variável de processo está dentro da
(palavra 0, bit 8) faixa da zona morta ao cruzar com 0
UL Alarme de Saída, Ativado quando CV de saída de controle calculado
Limite Superior (palavra excede o limite superior de CV.
0, bit 9)
LL Alarme de Saída, Ativado quando CV de saída de controle calculado é
Limite Inferior (palavra menor que o limite inferior de CV.
0, bit 10)
SP Set point Fora da Ativado quando o set point excede o valor máximo
Faixa (palavra 0, bit 11) escalado ou é menor que o valor mínimo escalado.
PV Variável de Ativado quando a variável de processo não escalada
Processo Fora da Faixa (ou bruta) excede 16383 ou é menor que zero.
(palavra 0, bit 12)
DN PID Concluído Este bit é ativado em varreduras onde é computado o
(palavra 0, bit 13) algoritmo PID. É computado à taxa de atualização do
circuito.
EN PID Ativado (palavra Este bit é ativado enquanto a linha da instrução PID
0, bit 15) estiver ativada

45
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 100oC (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%).

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

47
8.COMUNICAÇÃO EM REDE

8.1 MSG [LER/GRAVAR MENSAGEM]

MSG
Ler/Gravar Mensagem ( EN )

Tipo Ponto-a-Ponto
( DN )
Ler/Gravar Leitura

Dispositivo Alvo 500CPU


( ER )
Local/Remoto
Local

Bloco de Controle
N7:20

Comprimento do Bloco de Controle


14
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 éTela ativada,
de a transferência de mensagem
fica pendente. A transferência de dados reais acontece no final da varredura.
Configuração
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.

48
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).

49
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
Comunicações de
Serviço

Canal 0
Sim

Canal 1 Não

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.

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

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

52
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
COP
Copiar Arquivo

Origem
#B3:80

Destino
#B3:20

Comprimento
Quando as condições da23linha 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.

53
9.2 FLL [Preencher Arquivo]

Exemplo:

FLL
Preencher Arquivo

Origem 80

Destino #C5:0

Comprimento
16

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.

54
9.3 BSR [Deslocar Bit à Direita] e BSL [Deslocar Bit à
Esquerda]

Exemplo:

BSR
Deslocar Bit à Direita
( EN )
Arquivo #B3:7
( DN )
Controle R6:4

Endereço do Bit B3/27

Comprimento
8

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:

BSL
Deslocar Bit à Esquerda
( EN )
Arquivo #B3:7
( DN )
Controle R6:5

Endereço do Bit B3/2

Comprimento
4

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.

55
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 E D E U Não Usado
0 M N R L
Palavra Tamanho do bloco de bits (número de bits)
1
Palavra Apontador do Bit (atualmente não em uso)
2

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

56
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

57
10.1 SCP [Escala com Parâmetros]

Exemplo de Instrução

SCP
Escalar com
Parâmetros

Entrada N7:3

Entrada Mín.
500

Entrada Máx.
5000

Escalado Mín.
N7:7

Escalado Máx. N7:8


Essa instrução de saída consiste de seis parâmetros. Os parâmetros podem ser
inteiro, ponto flutuante, ou valores de dados
Saída imediatos ou endereços contendo valores.
O:9.0
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.

58
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
Valor Absoluto

Origem N7:10

Destino N7:12

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.

59
10.3. Funções Trigonométricas: Seno, Cosseno e Tangente

Exemplos:
SIN
Seno

Origem
N7:101

Destino N7:42

SIN calcula o seno da origem (em radianos) e coloca o resultado (em radianos)
no destino.
COS
Cosseno

Origem
N7:101

Destino N7:42

COS calcula o cosseno da origem em radianos e coloca o resultado, em radianos,


no destino.

TAN
Tangente

Origem N7:11

Destino N7:42

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

60
10.4. LN [Logaritmo Natural] e LOG [Logaritmo Base 10]

Exemplos:
LN
Logaritmo Natural

Origem N7:1

Destino N7:4

LN calcula o logaritmo natural da origem e coloca o resultado no endereço de


destino.

LOG
Logaritmo Base 10

Origem N7:1

Destino N7:4

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
X elevado à Potência de
Y

Origem A C5:5

Origem B 5

Destino N7:33
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

61
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
Computar

Destino N7:13

Expressões
SQR((N7:4**2)+(N7:3**2))

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

62
ANEXO 1

63
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

64
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

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

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

0111 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 0110

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:

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

1101 então:
0 0 1 0  complemento de 1 69 = 3
 1 ou seja:
0 0 1 1  complemento de 2 0011

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 )

67
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 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111

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:

68
a ) 2316 b) 3B16

Soluçã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

logo:

a) 15210 = 9816

b) 24910 = F916

69
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

Solução:
a) 29010 = 0010 1001 0000
29010 = 0010100100002
b) 63810 = 0110 0011 1000
63810 = 0110001110002

Exemplo:

Converter os seguintes números BCD para decimal.

70
a) 1001010000001000 b) 1001101001

Soluçã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

71
ANEXO 2

72
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

73

Você também pode gostar