clp avancado ab

70
7 CLP Avançado - AB

Upload: ricardo-akerman

Post on 08-Jan-2017

60 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Clp avancado ab

7

CLP Avançado - AB

Page 2: Clp avancado ab

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

Page 3: Clp avancado ab

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

Page 4: Clp avancado ab

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)

Page 5: Clp avancado ab

11

Processador. Número

Máximo de Chassis

Número máximo de módulos de

E/S (local)

Postas de Comunicação

Memór ia de Backup

Bater ia 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

Page 6: Clp avancado ab

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

Page 7: Clp avancado ab

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 -IA8 85-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

Page 8: Clp avancado ab

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

Page 9: Clp avancado ab

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 IO8 85-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

Page 10: Clp avancado ab

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.

Page 11: Clp avancado ab

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

Page 12: Clp avancado ab

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

Page 13: Clp avancado ab

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

Page 14: Clp avancado ab

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.

Page 15: Clp avancado ab

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 [

Page 16: Clp avancado ab

22

Page 17: Clp avancado ab

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 par tir 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

Page 18: Clp avancado ab

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

Page 19: Clp avancado ab

25

LAD 3 – SEMÁFORO

LAD 4 – PICAPISCA

Page 20: Clp avancado ab

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 par tir do relógio de tempo real do CLP.

Page 21: Clp avancado ab

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.

Page 22: Clp avancado ab

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

Page 23: Clp avancado ab

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

Page 24: Clp avancado ab

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

Page 25: Clp avancado ab

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 or igem 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 or igem 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 or igem 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

Page 26: Clp avancado ab

32

PARÂMETROS:

Or igem - 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

Page 27: Clp avancado ab

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

Page 28: Clp avancado ab

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.

Page 29: Clp avancado ab

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.

Page 30: Clp avancado ab

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

Page 31: Clp avancado ab

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

Page 32: Clp avancado ab

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.

Page 33: Clp avancado ab

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 400oC (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%)

Page 34: Clp avancado ab

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

Page 35: Clp avancado ab

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.

Page 36: Clp avancado ab

42

7.2 A EQUAÇÃO PID

A instrução PID usa o seguinte algoritmo:

++=

dt

dPVTdEdt

TiEKcCV

1)(

As constantes de Ganho Padrão são: Termo Símbolo Faixa (Infer ior para Super ior) 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

Page 37: Clp avancado ab

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.

Compr imento do Bloco de Controle - Especifica um arquivo inteiro, por

exemplo N7:0. O comprimento do arquivo é fixo de 23 palavras.

Var iá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.

Var iá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.

Page 38: Clp avancado ab

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

Page 39: Clp avancado ab

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

Page 40: Clp avancado ab

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 PV

SP

LL UL DB

DA

TF SC

RG

OL

CM

AM

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!!

Page 41: Clp avancado ab

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

Page 42: Clp avancado ab

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

Page 43: Clp avancado ab

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

Page 44: Clp avancado ab

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.

Page 45: Clp avancado ab

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

Page 46: Clp avancado ab

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.

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

Page 47: Clp avancado ab

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

Page 48: Clp avancado ab

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 :

Page 49: Clp avancado ab

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.

Page 50: Clp avancado ab

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.

Compr imento - 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

Page 51: Clp avancado ab

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.

Compr imento - 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

Page 52: Clp avancado ab

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

Page 53: Clp avancado ab

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 EM

DN

ER

UL

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.

Compr imento - o número total de bits a ser deslocado. Podem ser até 2048 para o

SLC e até 1680 para o MicroLogix 1000

Page 54: Clp avancado ab

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

Page 55: Clp avancado ab

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

Page 56: Clp avancado ab

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

Page 57: Clp avancado ab

63

10.3. Funções Tr igonométr icas: 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

Page 58: Clp avancado ab

64

10.4. LN [Logar itmo Natural] e LOG [Logar itmo 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

Page 59: Clp avancado ab

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

Page 60: Clp avancado ab

66

ANEXO 1

Page 61: Clp avancado ab

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ár io 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

Page 62: Clp avancado ab

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ár io - 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ár io 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

Page 63: Clp avancado ab

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.

Page 64: Clp avancado ab

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 )

Page 65: Clp avancado ab

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:

Page 66: Clp avancado ab

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

Page 67: Clp avancado ab

73

Números Decimais Codificados em Binár io (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.

Page 68: Clp avancado ab

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

Page 69: Clp avancado ab

75

ANEXO 2

Page 70: Clp avancado ab

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